@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,700;1,400&family=Poppins:wght@600;700&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#d97706;--color-primary-light:#f59e0b;--color-secondary:#059669;--color-accent:#f97316;--color-info:#3b82f6;--color-sage:#6b7280;--color-bg:#fffbf7;--color-surface:#fff7f0;--surface-elevated:#fff0e6;--color-border:#e5d4c1;--color-border-strong:#d4c4b0;--color-text-primary:#1f2937;--color-text-secondary:#6b7280;--color-text-muted:#9ca3af;--color-text-body:#4b5563;--color-positive:#f59e0b;--color-neutral:#9ca3af;--color-caution:#ef4444;--color-on-primary:#fff;--shadow-sm:0 1px 3px #1f29370f;--shadow-md:0 4px 14px #d9770614;--shadow-lg:0 12px 28px #1f29371a;--shadow-card-hover:0 8px 24px #d9770624;--font-display:"Poppins", sans-serif;--font-body:"Outfit", sans-serif;--font-accent:"Playfair Display", serif;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:20px;--spacing-xl:24px;--spacing-2xl:32px;--floating-nav-clearance:calc(88px + env(safe-area-inset-bottom,0px));--ease-out:cubic-bezier(.34, 1.56, .64, 1);--ease-in-out:cubic-bezier(.43, .13, .23, .96);--duration-fast:.15s;--duration-normal:.22s;--duration-entrance:.38s;--b:var(--color-bg);--b1:var(--color-surface);--b2:var(--surface-elevated);--b3:var(--color-border);--b4:var(--color-border-strong);--accent:var(--color-primary);--gold:var(--color-primary);--w:var(--color-text-primary);--w2:var(--color-text-body);--dim:var(--color-text-secondary);--dim2:var(--color-text-muted);--suc:var(--color-secondary);--err:var(--color-caution)}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text-body);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.6}input,select,textarea,button{font-family:var(--font-body)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-surface)}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:3px}.display,.serif{font-family:var(--font-display)}.accent-serif{font-family:var(--font-accent)}.italic{font-style:italic}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,Cascadia Code,monospace}h1,.h1{font-family:var(--font-display);letter-spacing:-.5px;color:var(--color-primary);font-size:clamp(28px,5vw,36px);font-weight:700;line-height:1.2}h2,.h2{font-family:var(--font-display);letter-spacing:-.25px;color:var(--color-text-primary);font-size:clamp(22px,4vw,28px);font-weight:600;line-height:1.25}h3,.h3{font-family:var(--font-body);color:var(--color-text-primary);font-size:18px;font-weight:600}.label-ui{letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-secondary);font-size:12px;font-weight:600}.quote{font-family:var(--font-accent);color:var(--color-text-body);font-size:16px;font-style:italic;line-height:1.65}.inp{background:var(--color-surface);border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);transition:border-color var(--duration-fast), box-shadow var(--duration-fast);border-radius:8px;outline:none;padding:11px 14px;font-size:14px}.inp:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #d9770626}.inp::placeholder{color:var(--color-text-muted)}.inp option{background:var(--color-surface)}textarea.inp{resize:vertical;min-height:72px;line-height:1.6}.password-inp-wrap{width:100%;position:relative}.password-inp{padding-right:3.5rem}.password-inp-toggle{color:var(--color-text-secondary);font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-radius:0 8px 8px 0;padding:0 12px;font-size:11px;font-weight:600;position:absolute;top:0;bottom:0;right:0}.password-inp-toggle:hover{color:var(--color-primary)}.password-inp-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.btn{font-family:var(--font-body);cursor:pointer;transition:transform .12s ease-out, background var(--duration-fast), box-shadow var(--duration-fast), border-color var(--duration-fast);border:none;border-radius:8px;justify-content:center;align-items:center;gap:7px;font-weight:600;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn--primary{background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-md);padding:12px 26px;font-size:14px}.btn--primary:hover:not(:disabled){box-shadow:var(--shadow-card-hover);background:#b45309}.btn--secondary{background:var(--color-secondary);color:var(--color-on-primary);padding:12px 26px;font-size:14px}.btn--outline{color:var(--color-text-secondary);border:1px solid var(--color-border-strong);background:0 0;padding:12px 26px;font-size:14px}.btn--outline:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:#d977060f}.btn--sm{padding:7px 16px;font-size:12px}.btn--full{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.stab{cursor:pointer;transition:all var(--duration-fast);color:var(--color-text-secondary);-webkit-user-select:none;user-select:none;border-left:3px solid #0000;border-radius:8px;align-items:center;gap:10px;margin-bottom:2px;padding:9px 12px;font-size:13px;display:flex}.stab:hover{color:var(--color-text-primary);background:var(--surface-elevated)}.stab.on{color:var(--color-primary);border-left-color:var(--color-primary);background:#d9770614;font-weight:600}.stab-icon{text-align:center;flex-shrink:0;width:14px;font-size:11px;line-height:1}.mobile-menu-btn{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:10px;display:flex}.mobile-menu-icon{flex-direction:column;justify-content:space-between;width:18px;height:14px;display:flex}.mobile-menu-icon span{background:var(--color-text-primary);border-radius:1px;width:100%;height:2px;transition:transform .2s,opacity .2s;display:block}.mobile-menu-icon.open span:first-child{transform:translateY(6px)rotate(45deg)}.mobile-menu-icon.open span:nth-child(2){opacity:0}.mobile-menu-icon.open span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.link-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:12px;text-decoration:underline}.link-btn:hover{color:var(--color-primary)}.link-btn:disabled{cursor:default;opacity:.6}.trow{transition:background var(--duration-fast)}.trow:hover{background:var(--surface-elevated)}.card{background:var(--color-surface);border:1px solid var(--color-border);transition:transform var(--duration-normal), box-shadow var(--duration-normal), border-color var(--duration-normal);border-radius:12px}.card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px);border-color:var(--color-primary-light)!important}.card-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.cm-surface-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px}.pill{letter-spacing:.03em;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.handmade-badge{color:var(--color-primary);background:#d9770614;border:2px dashed #d9770680;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600;line-height:1.3;display:inline-block;transform:rotate(-1.5deg)}.handmade-badge--alt{color:var(--color-secondary);background:#05966914;border-color:#05966973;transform:rotate(1.2deg)}.handmade-badge--coral{color:var(--color-accent);background:#f9731614;border-color:#f9731673;transform:rotate(.8deg)}.product-image-wrap{background:var(--surface-elevated);border-radius:10px;position:relative;overflow:hidden}.product-image-wrap img{object-fit:cover;width:100%;height:100%;transition:transform var(--duration-normal);display:block}.product-image-wrap:after{content:"";pointer-events:none;background:linear-gradient(135deg,#d977060d,#f973160d);position:absolute;inset:0}.card:hover .product-image-wrap img{transform:scale(1.05)}.pulse-dot{background:var(--color-accent);border-radius:50%;flex-shrink:0;width:8px;height:8px}.pulse-dot--live{animation:2s cubic-bezier(.4,0,.6,1) infinite communityPulse;box-shadow:0 0 #f9731680}@keyframes communityPulse{0%,to{opacity:1;box-shadow:0 0 #f9731673}50%{opacity:.85;box-shadow:0 0 0 6px #f9731600}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade{animation:fadeUp var(--duration-entrance) var(--ease-in-out) forwards}@keyframes fadeUpStagger{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.stagger-in>*{animation:fadeUpStagger var(--duration-entrance) var(--ease-in-out) backwards}.stagger-in>:first-child{animation-delay:0s}.stagger-in>:nth-child(2){animation-delay:40ms}.stagger-in>:nth-child(3){animation-delay:80ms}.stagger-in>:nth-child(4){animation-delay:.12s}.stagger-in>:nth-child(5){animation-delay:.16s}.stagger-in>:nth-child(6){animation-delay:.2s}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.modal-enter{animation:modalSlideUp .4s var(--ease-out) forwards}@keyframes celebratePop{0%{opacity:0;transform:scale(.6)}50%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.celebrate-pop{animation:celebratePop .45s var(--ease-out) forwards}@keyframes confettiFall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(80px)rotate(360deg)}}.blink{animation:1.8s infinite communityPulse}@keyframes skeletonShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--color-surface) 25%, var(--surface-elevated) 50%, var(--color-surface) 75%);background-size:200% 100%;border-radius:8px;animation:1.4s ease-in-out infinite skeletonShimmer}.skeleton--text{height:14px;margin-bottom:8px}.skeleton--title{width:60%;height:22px;margin-bottom:12px}.skeleton--card{border-radius:12px;height:160px}.divider{background:var(--color-border);height:1px;margin:22px 0}.step-line{background:var(--color-border);border-radius:1px;flex:1;height:2px;margin:0 6px 14px}.step-line.done{background:var(--color-primary)}.cm-page{background:var(--color-bg);min-height:100vh;color:var(--color-text-body)}.cm-page--centered{padding:var(--spacing-xl);justify-content:center;align-items:center;display:flex}.cm-page-inner{width:100%;max-width:820px}.route-viewport{min-height:100vh}.floating-bottom-nav{z-index:180;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);background:#fff7f0f2;border-radius:999px;gap:4px;max-width:calc(100vw - 24px);padding:8px 12px;display:none;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.floating-bottom-nav__item{cursor:pointer;color:var(--color-text-secondary);font-family:var(--font-body);transition:background var(--duration-fast), color var(--duration-fast), transform .12s ease-out;background:0 0;border:none;border-radius:999px;flex-direction:column;align-items:center;gap:2px;min-width:56px;padding:8px 14px;font-size:10px;font-weight:600;text-decoration:none;display:flex}.floating-bottom-nav__item:active{transform:scale(.96)}.floating-bottom-nav__item:hover{color:var(--color-primary);background:#d9770614}.floating-bottom-nav__item.on{color:var(--color-on-primary);background:var(--color-primary)}.floating-bottom-nav__item.on:hover{color:var(--color-on-primary);background:#b45309}.floating-bottom-nav__icon{font-size:18px;line-height:1}.app-toast{box-shadow:var(--shadow-lg)!important;border-radius:10px!important}@media (width<=768px){.sidebar{display:none}.page-content{margin-left:0!important;padding:72px 16px 24px!important}.floating-bottom-nav{display:flex}.route-viewport--nav>*{box-sizing:border-box;padding-bottom:var(--floating-nav-clearance)!important}.stat-grid{grid-template-columns:repeat(2,1fr)!important}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.card-grid,.form-grid{grid-template-columns:1fr!important}.mobile-topbar{display:flex!important}.sidebar-desktop{top:0;transform:translate(-100%)}}@media (width>=769px){.sidebar-desktop{transform:none!important}.mobile-topbar{display:none!important}}@media (width<=480px){.stat-grid{grid-template-columns:1fr 1fr!important}}@media (width<=768px){.page-content,.page-content *{max-width:100vw}table{min-width:unset!important;font-size:12px!important}[style*="padding: 32"]{padding:16px!important}input,select,textarea{font-size:16px!important}}.how-it-works-backdrop{z-index:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:16px;padding-bottom:max(16px, env(safe-area-inset-bottom,0px));background:#1f293773;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.how-it-works-panel{background:var(--color-surface);border:1px solid var(--color-border);width:100%;max-width:440px;max-height:min(92vh,640px);box-shadow:var(--shadow-lg);border-radius:16px 16px 12px 12px;padding:24px 22px 20px;position:relative;overflow-y:auto}.how-it-works-minimize{border:1px solid var(--color-border);background:var(--color-bg);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:border-color var(--duration-fast), color var(--duration-fast), transform .12s ease-out;border-radius:999px;font-size:18px;line-height:1;position:absolute;top:12px;right:12px}.how-it-works-minimize:hover{border-color:var(--color-primary);color:var(--color-primary)}.how-it-works-minimize:active{transform:scale(.96)}.how-it-works-panel__badges{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.how-it-works-panel__eyebrow{color:var(--color-primary);margin-bottom:6px}.how-it-works-panel__title{color:var(--color-text-primary);margin-bottom:10px;padding-right:28px;font-size:22px;line-height:1.25}.how-it-works-panel__hook{color:var(--color-text-secondary);margin-bottom:18px;font-size:14px;line-height:1.55}.how-it-works-steps{flex-direction:column;gap:14px;margin:0 0 20px;padding:0;list-style:none;display:flex}.how-it-works-step{align-items:flex-start;gap:12px;display:flex}.how-it-works-step__n{background:var(--color-primary);width:28px;height:28px;color:var(--color-on-primary);font-size:13px;font-weight:700;font-family:var(--font-display);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.how-it-works-step__title{color:var(--color-text-primary);font-size:14px;font-weight:600;font-family:var(--font-body);margin-bottom:4px}.how-it-works-step__body{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.5}.how-it-works-ctas{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.how-it-works-skip{text-align:center;width:100%;font-size:12px;display:block}@media (width>=769px){.how-it-works-backdrop{align-items:center;padding:24px}.how-it-works-panel{border-radius:16px;max-height:min(88vh,600px)}}.home-fab-stack{z-index:190;pointer-events:none;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:24px;right:16px}.home-fab-stack>*{pointer-events:auto}.home-fab{border:1px solid var(--color-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-md);cursor:pointer;font-family:var(--font-body);color:var(--color-text-primary);transition:border-color var(--duration-fast), transform .12s ease-out, box-shadow var(--duration-fast);background:#fff7f0f5;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-size:12px;font-weight:600;display:inline-flex}.home-fab:active{transform:scale(.96)}.home-fab:hover{border-color:var(--color-primary);box-shadow:var(--shadow-card-hover)}.home-fab--how{color:var(--color-primary);border-color:#d9770673}.home-fab--top .home-fab__icon{color:var(--color-primary);font-size:16px}.home-fab__icon{background:#d977061f;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;font-weight:700;display:flex}.home-fab__label{white-space:nowrap}@media (width<=768px){.home-fab-stack{bottom:var(--floating-nav-clearance)}.home-fab__label{display:none}.home-fab{padding:12px}.home-fab--how:after{content:none}}.home-portal-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:12px;display:grid}.home-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:12px;display:flex}.home-action-btn{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;letter-spacing:.02em;transition:border-color var(--duration-fast), color var(--duration-fast), background var(--duration-fast), transform .12s ease-out;border-radius:8px;padding:8px 16px;font-family:inherit;font-size:12px}.home-action-btn:active{transform:scale(.98)}.home-action-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.home-action-btn--primary{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.home-action-btn--primary:hover{color:var(--color-on-primary);background:#b45309;border-color:#b45309}.signin-role-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.admin-signin-page{background:var(--color-bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.admin-signin-card{width:100%;max-width:400px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:28px;display:flex}.h-scroll-row{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;gap:12px;padding-bottom:4px;display:flex;overflow-x:auto}.h-scroll-row>*{scroll-snap-align:start;flex-shrink:0}.empty-state{text-align:center;color:var(--color-text-secondary);padding:48px 24px}.empty-state__title{font-family:var(--font-display);color:var(--color-text-primary);margin-bottom:8px;font-size:20px}.empty-state__body{max-width:360px;margin:0 auto;font-size:14px;line-height:1.6}@media (width<=768px){.home-portal-grid{grid-template-columns:1fr}.home-actions{flex-direction:column;align-items:stretch}.home-action-btn{text-align:center;width:100%}.signin-role-grid{grid-template-columns:1fr}.page-head{flex-direction:column;align-items:flex-start}.app-toast{max-width:none!important;left:16px!important;right:16px!important}}@media (width<=480px){.home-portal-grid .card{padding:20px!important}}
