:root{--sand-50:#fffaf2;--sand-100:#fff4e4;--sand-200:#ffe7cb;--sand-300:#f8d6ac;--ink:#23022e;--ink-soft:#5b4a62;--ink-faint:#948a99;--brand:#d71919;--brand-deep:#9c0f13;--brand-soft:#fff0ec;--brand-mid:#ffc7b8;--coral:#f04f0f;--coral-soft:#ffe6d5;--gold:#f8ce35;--gold-soft:#fff6d2;--amber:#f8a501;--amber-soft:#fff0d3;--teal:#5b6b8a;--teal-soft:#e7ebf3;--danger:#b00d12;--surface:#ffffff;--surface-2:#fffaf2;--border:#f2e6d8;--border-strong:#e0cbb2;--font-sans:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:var(--font-sans);--font-brand:"Caveat Brush","Poppins",cursive;--text-xs:0.75rem;--text-sm:0.8125rem;--text-base:0.9375rem;--text-lg:1.0625rem;--text-xl:1.375rem;--text-2xl:clamp(1.6rem,1rem + 1.8vw,2.25rem);--text-3xl:clamp(2rem,1rem + 3vw,3rem);--radius-sm:8px;--radius:14px;--radius-lg:22px;--shadow-sm:0 4px 14px rgba(35,2,46,0.05);--shadow:0 10px 26px rgba(35,2,46,0.08);--shadow-lg:0 20px 44px rgba(35,2,46,0.14);--duration:220ms;--ease:cubic-bezier(0.22,1,0.36,1);--sidebar-w:250px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--ink);background:#fffaf2;background-image:radial-gradient(340px 340px at calc(100% - 160px) -60px,rgba(248,206,53,.22),transparent 70%),radial-gradient(300px 300px at calc(100% + 40px) 40px,rgba(240,79,15,.14),transparent 70%),radial-gradient(280px 280px at 160px 300px,rgba(215,25,25,.08),transparent 70%);background-attachment:fixed;-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;color:var(--ink)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:4px;padding:22px 16px;background:linear-gradient(180deg,#a8111a,#46060a);color:#fff1ec;overflow-y:auto;box-shadow:inset -1px 0 0 rgba(0,0,0,.35)}.brand-mark{display:flex;align-items:center;gap:12px;padding:8px 10px 20px}.brand-mark .glyph{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:radial-gradient(circle at 34% 30%,#f8a501,var(--brand-deep));color:var(--gold);font-size:22px;box-shadow:0 6px 16px rgba(0,0,0,.4),inset 0 0 0 1.5px rgba(248,206,53,.65)}.brand-mark .brand-name{font-family:var(--font-brand);font-size:1.05rem;font-weight:600;color:#fff;line-height:1.1}.brand-mark .brand-sub{font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:#ffd84d}.nav-group-label{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,216,77,.8);font-weight:600;padding:16px 12px 8px}.nav-link{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:11px;color:rgba(255,255,255,.88);font-size:var(--text-sm);font-weight:500;transition:background var(--duration) var(--ease),color var(--duration) var(--ease)}.nav-link .icon{font-size:1.05rem;width:20px;text-align:center}.nav-link:hover{background:rgba(255,255,255,.14);color:#fff}.nav-link.active{background:rgba(0,0,0,.3);color:#ffd84d;box-shadow:inset 4px 0 0 var(--gold),0 2px 10px rgba(0,0,0,.25);font-weight:600}.sidebar-footer{margin-top:auto;padding-top:16px}.session-card{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;background:rgba(0,0,0,.25);font-size:var(--text-sm)}.session-card .avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(140deg,var(--gold),var(--coral));color:#fff;font-weight:700;font-size:.8rem}.session-card .who{line-height:1.2;overflow:hidden}.session-card .who strong{display:block;color:#fff;font-weight:600;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.session-card .who span{color:rgba(255,255,255,.7);font-size:.7rem}.back-to-site-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;margin-bottom:10px;border-radius:10px;background:rgba(248,206,53,.16);color:#ffd84d;font-size:var(--text-sm);font-weight:600;transition:background var(--duration) var(--ease),color var(--duration) var(--ease)}.back-to-site-btn:hover{background:rgba(248,206,53,.3);color:#fff0b8}.logout-btn{margin-top:10px;width:100%;padding:9px;border:1px solid rgba(255,255,255,.3);border-radius:10px;background:transparent;color:rgba(255,255,255,.9);font-size:var(--text-sm);transition:background var(--duration) var(--ease)}.logout-btn:hover{background:rgba(255,255,255,.16);color:#fff}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;justify-content:space-between;gap:16px;padding:max(18px,env(safe-area-inset-top)) 32px 18px;background:oklch(98% .008 95/.82);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.topbar,.topbar-left{display:flex;align-items:center}.topbar-left{gap:14px;min-width:0}.topbar .page-title{font-size:var(--text-xl)}.topbar .page-sub{font-size:var(--text-sm);color:var(--ink-soft)}.menu-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:40px;height:40px;flex-shrink:0;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface)}.menu-toggle span{display:block;width:18px;height:2px;border-radius:2px;background:var(--brand-deep)}.sidebar-close{display:none;margin-left:auto;width:32px;height:32px;align-items:center;justify-content:center;border:none;border-radius:8px;background:rgba(255,255,255,.1);color:#fff;font-size:1rem}.sidebar-backdrop{display:none}.content{padding:28px 32px 64px;display:flex;flex-direction:column;gap:24px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:22px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.card-title{font-size:var(--text-lg);font-family:var(--font-display)}.card-note{font-size:var(--text-xs);color:var(--ink-faint)}.grid{display:grid;grid-gap:18px;gap:18px}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.cols-2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.split-70-30{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr)}@media (max-width:1080px){.split-70-30{grid-template-columns:minmax(0,1fr)}}.kpi{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 22px;box-shadow:var(--shadow-sm);transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.kpi:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.kpi:after{content:"";position:absolute;inset:0 0 auto auto;width:90px;height:90px;background:radial-gradient(circle at 70% 30%,var(--accent,var(--brand-soft)),transparent 70%);opacity:.5}.kpi .kpi-label{display:flex;align-items:center;gap:8px;font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}.kpi{container-type:inline-size}.kpi .kpi-value{margin-top:12px;font-family:var(--font-sans);font-size:clamp(1.05rem,11cqi,1.95rem);font-weight:600;letter-spacing:-.02em;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@supports not (container-type:inline-size){.kpi .kpi-value{font-size:clamp(1.35rem,.95rem + .9vw,1.7rem)}}.kpi .kpi-foot{margin-top:6px;font-size:var(--text-sm);color:var(--ink-soft)}.kpi .dot{width:9px;height:9px;border-radius:50%;background:var(--accent,var(--brand))}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:var(--text-xs);font-weight:600;background:var(--brand-soft);color:var(--brand-deep)}.badge.coral{background:var(--coral-soft);color:oklch(45% .14 34)}.badge.gold{background:var(--gold-soft);color:oklch(45% .1 80)}.badge.teal{background:var(--teal-soft);color:oklch(42% .1 220)}.badge.muted{background:var(--sand-200);color:var(--ink-soft)}.trend{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-sm);font-weight:600}.trend.up{color:var(--brand)}.trend.down{color:var(--danger)}.status{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:600;padding:3px 10px;border-radius:999px}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.status.active{color:var(--brand);background:var(--brand-soft)}.status.onboarding{color:oklch(52% .12 80);background:var(--gold-soft)}.status.paused{color:var(--ink-soft);background:var(--sand-200)}.status.pending{color:oklch(52% .12 80);background:var(--gold-soft)}.status.confirmed{color:var(--teal);background:var(--teal-soft)}.status.delivered,.status.growing{color:var(--brand);background:var(--brand-soft)}.status.steady{color:var(--teal);background:var(--teal-soft)}.status.declining{color:oklch(52% .14 45);background:var(--coral-soft)}.status.dormant{color:var(--ink-soft);background:var(--sand-200)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:12px;border:1px solid transparent;font-size:var(--text-sm);font-weight:600;transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease),background var(--duration) var(--ease)}.btn-primary{background:linear-gradient(180deg,#e02222,#b31217);color:#fffaf2;box-shadow:0 5px 0 #8a0d11,0 12px 22px rgba(138,13,17,.3)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 7px 0 #8a0d11,0 18px 28px rgba(138,13,17,.4)}.btn-primary:active{transform:translateY(3px);box-shadow:0 2px 0 #8a0d11,0 8px 14px rgba(138,13,17,.3)}.btn-ghost{background:var(--surface);border-color:var(--border-strong);color:var(--brand)}.btn-ghost:hover{background:#fff4e4;border-color:var(--brand)}.btn-coral{background:linear-gradient(180deg,#f8a501,#f04f0f);color:#fff;box-shadow:0 5px 0 #c23c08,0 12px 22px rgba(240,79,15,.3)}.btn-coral:hover{transform:translateY(-2px);box-shadow:0 7px 0 #c23c08,0 18px 28px rgba(240,79,15,.4)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:var(--text-sm)}table.data th{text-align:left;font-weight:600;font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);padding:10px 14px;white-space:nowrap}table.data td,table.data th{border-bottom:1px solid var(--border)}table.data td{padding:12px 14px;vertical-align:middle}table.data tr:last-child td{border-bottom:none}table.data tbody tr{transition:background var(--duration) var(--ease)}table.data tbody tr:hover{background:var(--surface-2)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.num,.text-right{text-align:right}.vendor-cell{display:flex;align-items:center;gap:12px}.vendor-cell .v-avatar{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:1rem;background:var(--brand-soft);color:var(--brand-deep);flex-shrink:0;overflow:hidden;padding:3px}.vendor-cell .v-avatar img{mix-blend-mode:multiply}.vendor-cell .v-name{font-weight:600;color:var(--ink)}.vendor-cell .v-sub{font-size:var(--text-xs);color:var(--ink-faint)}.mini-bar{height:6px;border-radius:4px;background:var(--sand-200);overflow:hidden;min-width:80px}.mini-bar>span{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--brand),var(--teal))}.goal-strip{display:grid;grid-template-columns:1.6fr 1fr;grid-gap:24px;gap:24px;align-items:center;padding:18px 24px;border-radius:var(--radius-lg);color:#fff;background:radial-gradient(120% 140% at 100% 0,rgba(248,165,1,.45),transparent 60%),linear-gradient(140deg,var(--brand-deep),#5c060c);box-shadow:var(--shadow-sm);transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.goal-strip:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.goal-strip .eyebrow{color:var(--gold)}.goal-strip-copy p{margin:6px 0 0;font-size:var(--text-base);line-height:1.45;color:rgba(255,255,255,.9)}.goal-strip-nums{display:flex;align-items:baseline;gap:7px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.goal-strip-nums strong{font-size:1.5rem;font-weight:600;letter-spacing:-.02em}.goal-strip-nums span{font-size:var(--text-sm);color:rgba(255,255,255,.7)}.goal-strip .meter{height:8px;border-radius:6px;background:rgba(255,255,255,.2);overflow:hidden;margin:8px 0 6px}.goal-strip .meter>span{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--gold),var(--coral))}.goal-strip-foot{font-size:var(--text-xs);color:rgba(255,255,255,.7)}@media (max-width:720px){.goal-strip{grid-template-columns:1fr;gap:16px}}.goal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.goal-list li{display:flex;gap:14px;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid var(--border)}.goal-list li:last-child{padding-bottom:0;border-bottom:none}.goal-rank{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-deep);font-size:var(--text-xs);font-weight:700}.goal-body{display:flex;flex-direction:column;gap:6px}.goal-body strong{font-weight:600;line-height:1.3}.goal-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.goal-owner{font-size:var(--text-xs);color:var(--ink-faint)}.goal-detail{font-size:var(--text-sm);color:var(--ink-soft);line-height:1.5}.mini-stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:12px;gap:12px}.mini-stat{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);transition:border-color var(--duration) var(--ease),background var(--duration) var(--ease)}.mini-stat:hover{border-color:var(--border-strong);background:var(--surface)}.mini-stat-value{font-size:1.35rem;font-weight:600;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mini-stat-value.coral{color:var(--coral)}.mini-stat-value.muted{color:var(--ink)}.mini-stat-label{font-size:var(--text-xs);color:var(--ink-faint)}.quick-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px}.quick-link{display:flex;align-items:center;gap:10px;padding:13px 16px;border:1px solid var(--border);border-radius:var(--radius);font-weight:500;background:var(--surface);transition:border-color var(--duration) var(--ease),transform var(--duration) var(--ease)}.quick-link:hover{border-color:var(--brand-mid);transform:translateY(-2px)}.quick-link .ql-icon{font-size:1.25rem}.map-card{padding:0;overflow:hidden;position:relative}.map-shell{height:460px;width:100%}.leaflet-container{height:100%;width:100%;background:var(--teal-soft);font-family:var(--font-sans)}.map-legend{position:absolute;left:16px;bottom:16px;z-index:500;background:oklch(100% 0 0/.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow);font-size:var(--text-xs)}.map-legend .row{display:flex;align-items:center;gap:8px;margin-top:6px}.map-legend .swatch{width:12px;height:12px;border-radius:4px}.map-pin-popup{font-family:var(--font-sans)}.map-pin-popup h4{font-size:.95rem;margin-bottom:2px}.map-pin-popup .pp-region{font-size:.72rem;color:var(--ink-faint);margin-bottom:8px}.map-pin-popup .pp-stat{display:flex;justify-content:space-between;gap:18px;font-size:.78rem;padding:2px 0}.map-pin-popup .pp-stat b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:18px;gap:18px}.product-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.product-thumb{position:relative;height:120px;display:grid;place-items:center;font-size:3rem;background:linear-gradient(140deg,var(--brand-soft),var(--gold-soft));overflow:hidden}.product-thumb img{position:absolute;inset:0;margin:auto;width:auto;height:auto;max-width:calc(100% - 20px);max-height:calc(100% - 20px);mix-blend-mode:multiply}.product-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1 1}.product-body .p-name{font-weight:600;font-family:var(--font-display);font-size:.98rem;line-height:1.25}.product-body .p-desc{font-size:var(--text-xs);color:var(--ink-soft);flex:1 1}.price-row{display:flex;align-items:baseline;justify-content:space-between;margin-top:4px}.price-row .p-price{font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--brand-deep)}.margin-tag,.price-row .p-unit{font-size:var(--text-xs);color:var(--ink-faint)}.stepper{display:inline-flex;align-items:center;border:1px solid var(--border-strong);border-radius:10px;overflow:hidden}.stepper button{width:32px;height:34px;border:none;background:var(--surface);font-size:1.1rem;color:var(--ink-soft);transition:background var(--duration) var(--ease)}.stepper button:hover{background:var(--sand-100)}.stepper input{width:44px;height:34px;border:none;text-align:center;font-size:var(--text-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--surface);color:var(--ink)}.stepper input:focus{outline:none}.cart-summary{position:-webkit-sticky;position:sticky;top:92px}.cart-line{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.cart-line .cl-emoji{font-size:1.4rem;display:grid;place-items:center;width:30px;height:30px;flex-shrink:0}.cart-line .cl-emoji img{mix-blend-mode:multiply}.cart-line .cl-name{font-size:var(--text-sm);font-weight:600;flex:1 1}.cart-line .cl-meta{font-size:var(--text-xs);color:var(--ink-faint)}.cart-total{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0 4px;font-family:var(--font-display)}.cart-total .amount{font-size:1.4rem;font-weight:600;color:var(--brand-deep)}.field{margin-bottom:14px}.field label{display:block;font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px}.input,.select{width:100%;padding:12px 14px;border:1px solid var(--border-strong);border-radius:11px;font-size:var(--text-sm);font-family:inherit;background:var(--surface);color:var(--ink)}.input:focus,.select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.hint{font-size:var(--text-xs);color:var(--ink-faint);margin-top:14px}.chart-legend{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:14px}.chart-legend .item{display:flex;align-items:center;gap:7px;font-size:var(--text-xs);color:var(--ink-soft)}.chart-legend .swatch{width:11px;height:11px;border-radius:3px}.section-title{display:flex;align-items:baseline;gap:12px}.section-title h2{font-size:var(--text-2xl)}.eyebrow{font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--brand);font-weight:700}.empty{text-align:center;padding:40px 20px;color:var(--ink-faint);font-size:var(--text-sm)}.detail-hero{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.detail-hero .big-avatar{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;font-size:1.8rem;background:linear-gradient(140deg,var(--brand-soft),var(--gold-soft))}@media (max-width:1024px){.app-shell{grid-template-columns:1fr}.menu-toggle,.sidebar-close{display:flex}.sidebar{position:fixed;top:0;left:0;z-index:2010;width:min(300px,84vw);height:100dvh;transform:translateX(-100%);transition:transform var(--duration) var(--ease);box-shadow:var(--shadow-lg)}.sidebar.open{transform:translateX(0)}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:2000;background:oklch(20% .02 165/.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.content,.topbar{padding-left:18px;padding-right:18px}}@media (max-width:540px){.topbar{padding-top:max(14px,env(safe-area-inset-top));padding-bottom:14px;gap:10px}.topbar .page-title{font-size:var(--text-lg)}.topbar .page-sub{display:none}.content{padding-top:20px;gap:18px}}.utility-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spacer{flex:1 1}.filter-chip{padding:7px 14px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);font-size:var(--text-sm);font-weight:500;color:var(--ink-soft);transition:all var(--duration) var(--ease)}.filter-chip:hover{border-color:var(--brand);color:var(--brand-deep)}.filter-chip.active{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff}.shop{max-width:1180px;margin:0 auto;padding:0 24px 80px}.shop-nav{position:-webkit-sticky;position:sticky;top:0;z-index:30;justify-content:space-between;padding:16px 24px;background:oklch(98% .008 95/.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);margin-bottom:0}.shop-nav,.shop-nav .brand{display:flex;align-items:center}.shop-nav .brand{gap:10px;font-family:var(--font-display);font-weight:600;font-size:1.05rem}.shop-nav .brand .glyph{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(140deg,var(--brand),var(--brand-deep));font-size:18px}.shop-cart-btn{position:relative;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;background:var(--brand-deep);color:#fff;font-weight:600;font-size:var(--text-sm)}.shop-cart-btn .count{background:var(--gold);color:var(--brand-deep);border-radius:999px;min-width:20px;height:20px;display:grid;place-items:center;font-size:.7rem;font-weight:700;padding:0 5px}.shop-hero{border-radius:var(--radius-lg);padding:56px 40px;margin:24px 0 32px;color:#fff;background:radial-gradient(120% 120% at 90% 10%,oklch(60% .12 150/.55),transparent 55%),linear-gradient(150deg,var(--brand-deep),oklch(30% .07 172));position:relative;overflow:hidden}.shop-hero h1{color:#fff;font-size:var(--text-3xl);max-width:620px;line-height:1.05}.shop-hero p{color:oklch(92% .03 150/.85);max-width:520px;margin-top:14px;font-size:1.05rem}.shop-hero .pills{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.shop-hero .pill{background:oklch(100% 0 0/.12);border:1px solid oklch(100% 0 0/.2);border-radius:999px;padding:7px 14px;font-size:.8rem}.shop-section-title{font-family:var(--font-display);font-size:var(--text-2xl);margin:8px 0 18px}.shop-add-btn{width:100%;padding:11px;border:none;border-radius:11px;background:var(--brand);color:#fff;font-weight:600;font-size:var(--text-sm);transition:background var(--duration) var(--ease),transform var(--duration) var(--ease)}.shop-add-btn:hover{background:var(--brand-deep);transform:translateY(-1px)}.pay-method{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1.5px solid var(--border-strong);border-radius:12px;cursor:pointer;transition:border-color var(--duration) var(--ease),background var(--duration) var(--ease)}.pay-method.active{border-color:var(--brand);background:var(--brand-soft)}.pay-method .pm-icon{font-size:1.5rem}.pay-method .pm-title{font-weight:600;font-size:var(--text-sm)}.pay-method .pm-sub{font-size:var(--text-xs);color:var(--ink-faint)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.doc-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:12px;gap:12px}.doc-card{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:border-color var(--duration) var(--ease),transform var(--duration) var(--ease)}.doc-card:hover{border-color:var(--brand-mid);transform:translateY(-2px)}.doc-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.doc-card-number{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.doc-card-client{font-size:var(--text-sm);color:var(--ink-soft)}.doc-card-bottom{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-top:8px;border-top:1px solid var(--border)}.doc-card-total{font-size:1.1rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.doc-card-date{font-size:var(--text-xs);color:var(--ink-faint)}.doc-head{display:flex;flex-direction:column;gap:18px}.doc-head-main{justify-content:space-between;flex-wrap:wrap}.doc-head-main,.doc-number{display:flex;align-items:center;gap:12px}.doc-number h2{font-size:var(--text-xl);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.doc-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:14px;gap:14px}.doc-fields .field{margin:0}.doc-fields .field>span{display:block;margin-bottom:6px;font-size:var(--text-xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint)}.doc-notes{width:100%;resize:vertical;font-family:inherit;line-height:1.5}.line-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column}.line-row{display:grid;grid-template-columns:auto 1fr auto auto auto auto;align-items:center;grid-gap:12px;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.line-row:last-child{border-bottom:none}.line-emoji{font-size:1.3rem;display:grid;place-items:center;width:34px;height:34px;flex-shrink:0}.line-emoji img{mix-blend-mode:multiply}.line-name{display:flex;flex-direction:column;min-width:0}.line-name strong{font-weight:600;font-size:var(--text-sm)}.line-name span{font-size:var(--text-xs);color:var(--ink-faint)}.line-qty input{width:46px}.line-qty-static{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.line-price input{width:92px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.line-total{min-width:96px;text-align:right;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.line-remove{border:none;background:none;color:var(--ink-faint);font-size:.9rem;padding:6px;border-radius:8px;transition:color var(--duration) var(--ease),background var(--duration) var(--ease)}.line-remove:hover{color:var(--coral);background:var(--coral-soft)}.line-add{display:flex;flex-direction:column;gap:10px}.line-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:8px;gap:8px;max-height:260px;overflow-y:auto}.line-pick{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);font-family:inherit;font-size:var(--text-sm);text-align:left;transition:border-color var(--duration) var(--ease)}.line-pick:hover{border-color:var(--brand)}.line-pick-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-pick-price{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink-faint);font-size:var(--text-xs)}.totals{margin:0;display:flex;flex-direction:column;gap:8px}.totals>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.totals dt{color:var(--ink-soft);font-size:var(--text-sm)}.totals dd{margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500}.totals-grand{margin-top:6px;padding-top:12px;border-top:1px solid var(--border)}.totals-grand dt{font-size:var(--text-base);font-weight:600;color:var(--ink)}.totals-grand dd{font-size:1.35rem;font-weight:600;color:var(--brand-deep)}.doc-actions{position:-webkit-sticky;position:sticky;bottom:0;z-index:30;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow)}.print-page{max-width:820px;margin:0 auto;padding:24px 18px 60px}.print-msg{padding:48px;text-align:center;color:var(--ink-faint)}.print-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.doc-sheet{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:40px}.ds-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:24px;border-bottom:2px solid var(--brand)}.ds-brand{font-size:1.3rem;font-weight:600;color:var(--brand-deep)}.ds-brand-sub{font-size:var(--text-xs);color:var(--ink-faint);margin-top:4px}.ds-meta{text-align:right}.ds-type{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}.ds-number{font-size:1.2rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ds-status{font-size:var(--text-xs);color:var(--brand)}.ds-parties{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px;padding:24px 0}.ds-parties h4{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:8px}.ds-parties p{margin:0;line-height:1.7}.ds-parties p,.ds-table{font-size:var(--text-sm)}.ds-table{width:100%;border-collapse:collapse;margin-top:8px}.ds-table th{text-align:left;font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);padding:10px 0;border-bottom:1px solid var(--border-strong)}.ds-table td{padding:11px 0;border-bottom:1px solid var(--border)}.ds-table .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ds-totals{margin-left:auto;width:min(300px,100%);padding-top:16px;display:flex;flex-direction:column;gap:8px;font-size:var(--text-sm)}.ds-totals>div{display:flex;justify-content:space-between;gap:16px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ds-grand{margin-top:6px;padding-top:12px;border-top:2px solid var(--brand);font-size:1.05rem;font-weight:600;color:var(--brand-deep)}.ds-notes{margin-top:32px;padding-top:20px;border-top:1px solid var(--border)}.ds-notes h4{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:8px}.ds-notes p{margin:0;font-size:var(--text-sm);line-height:1.6;white-space:pre-wrap}.ds-foot{margin-top:36px;padding-top:16px;border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--ink-faint);text-align:center}@media (max-width:640px){.doc-list{grid-template-columns:1fr}.line-row{grid-template-columns:auto 1fr auto;grid-template-areas:"emoji name remove" "qty   price total";row-gap:10px}.line-emoji{grid-area:emoji}.line-name{grid-area:name}.line-remove{grid-area:remove}.line-qty,.line-qty-static{grid-area:qty}.line-price{grid-area:price}.line-total{grid-area:total}.line-price input{width:100%}.line-picker{grid-template-columns:1fr}.doc-actions{bottom:calc(64px + env(safe-area-inset-bottom));padding:12px}.doc-actions .btn{flex:1 1 auto}.doc-sheet{padding:22px}.ds-head,.ds-parties{grid-template-columns:1fr;flex-direction:column;gap:16px}.ds-meta{text-align:left}}@media print{.bottom-nav,.print-toolbar{display:none!important}.print-page{padding:0;max-width:none}.doc-sheet{border:none;padding:0}@page{size:A4;margin:16mm}}.count-intro p{margin:0;color:var(--ink-soft);font-size:var(--text-sm);line-height:1.6}.order-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:14px;gap:14px}.order-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.order-card.picked{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-mid),var(--shadow-sm)}.oc-photo{position:relative;display:grid;place-items:center;width:100%;height:130px;border-radius:var(--radius);background:linear-gradient(140deg,var(--brand-soft),var(--gold-soft));overflow:hidden;--thumb-emoji-size:3.6rem}.oc-photo img{position:absolute;inset:0;margin:auto;width:auto;height:auto;max-width:calc(100% - 20px);max-height:calc(100% - 20px);mix-blend-mode:multiply}.oc-name{font-weight:600;text-align:center;line-height:1.25}.oc-price{font-size:var(--text-sm);color:var(--ink-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.oc-stepper{display:flex;align-items:center;gap:10px;width:100%;margin-top:2px}.oc-stepper button{flex:1 1;min-height:52px;border:none;border-radius:var(--radius);background:var(--brand);color:#fff;font-size:1.6rem;line-height:1;font-weight:600;transition:background var(--duration) var(--ease),transform var(--duration) var(--ease)}.oc-stepper button:active{transform:scale(.96)}.oc-stepper button:disabled{background:var(--border);color:var(--ink-faint)}.oc-qty{min-width:46px;text-align:center;font-size:1.6rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.oc-refill{width:100%;padding:9px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-2);font-family:inherit;font-size:var(--text-sm);font-weight:500;color:var(--brand-deep)}.oc-refill:hover{border-color:var(--brand)}.oc-setpar{display:flex;align-items:center;gap:8px;width:100%;font-size:var(--text-xs);color:var(--ink-faint)}.oc-setpar input{width:62px;padding:7px 8px;text-align:center}.count-total{display:flex;flex-direction:column;line-height:1.2}.count-total strong{font-size:1.2rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.count-total span{font-size:var(--text-xs);color:var(--ink-faint)}.confirm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.confirm-list li{display:flex;align-items:baseline;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}.confirm-list li:last-child{border-bottom:none}.cf-qty{min-width:40px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--brand-deep)}.cf-name{flex:1 1;display:flex;flex-direction:column}.cf-count{font-size:var(--text-xs);color:var(--ink-faint)}.cf-amount{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.signer-chips{display:flex;gap:8px;flex-wrap:wrap}.sig-wrap{border:1.5px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-2);overflow:hidden}.sig-canvas{display:block;width:100%;touch-action:none;cursor:crosshair}.sig-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-top:1px solid var(--border);background:var(--surface)}.sig-hint{font-size:var(--text-xs);color:var(--ink-faint)}.sig-proof{max-width:320px;width:100%;border-bottom:2px solid var(--ink)}.notice-offline{background:var(--gold-soft);border-color:var(--border-strong);font-size:var(--text-sm);color:var(--ink-soft);line-height:1.6}@media (max-width:640px){.order-grid{grid-template-columns:1fr 1fr;gap:10px}.order-card{padding:10px;gap:6px}.oc-photo{height:96px}.oc-name{font-size:var(--text-sm)}.oc-stepper button{min-height:48px;font-size:1.4rem}.oc-qty{font-size:1.35rem;min-width:34px}}.acct-head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:0;border:none;background:none;font-family:inherit;text-align:left}.acct-name{display:block;font-size:var(--text-lg);font-weight:600}.acct-sub{display:block;font-size:var(--text-xs);color:var(--ink-faint);margin-top:2px}.acct-chevron{width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--brand-soft);color:var(--brand-deep);font-size:1.1rem;font-weight:600}.acct-body{margin-top:18px;display:flex;flex-direction:column;gap:14px}.contact-group{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.cg-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--surface-2);border-bottom:1px solid var(--border)}.cg-title{display:flex;flex-direction:column;font-weight:600;font-size:var(--text-sm)}.cg-note{font-size:var(--text-xs);font-weight:400;color:var(--ink-faint)}.contact-row{border-bottom:1px solid var(--border)}.contact-row:last-child{border-bottom:none}.cr-summary{display:flex;align-items:center;gap:10px;padding:10px 12px}.cr-identity{flex:1 1;min-width:0;display:flex;flex-direction:column;padding:0;border:none;background:none;font-family:inherit;text-align:left}.cr-identity strong{font-size:var(--text-sm);font-weight:600}.cr-identity span{font-size:var(--text-xs);color:var(--ink-faint)}.cr-actions{display:flex;gap:6px}.cr-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);font-size:1rem}.cr-icon:hover{border-color:var(--brand)}.cr-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px;padding:0 12px 14px}.cr-form .field>span{display:block;margin-bottom:5px;font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint)}.cr-form-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px}.product-search{max-width:200px}.prow,.ptable-head{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr .9fr 1.1fr;grid-gap:12px;gap:12px;align-items:center}.ptable-head{padding:0 0 10px;font-size:var(--text-xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint)}.prow,.ptable-head{border-bottom:1px solid var(--border)}.prow{padding:12px 0}.prow:last-child{border-bottom:none}.prow-product{display:flex;align-items:center;gap:10px;min-width:0}.prow-thumb{position:relative;width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--brand-soft);overflow:hidden}.prow-thumb img{position:absolute;inset:0;margin:auto;width:auto;height:auto;max-width:calc(100% - 6px);max-height:calc(100% - 6px);mix-blend-mode:multiply}.prow-name{display:flex;flex-direction:column;min-width:0}.prow-name strong{font-size:var(--text-sm);font-weight:600;line-height:1.25}.prow-name span{font-size:var(--text-xs);color:var(--ink-faint)}.prow-cell{display:flex;flex-direction:column;gap:3px;min-width:0}.prow-label{display:none;font-size:.62rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint)}.prow-input{width:100%;padding:8px 10px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--text-sm)}.prow-empty{font-size:var(--text-xs);color:var(--ink-faint)}.margin-good{color:var(--brand)}.margin-good,.margin-low{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.margin-low{color:var(--coral)}.prow-sold-value{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.prow-bar{height:5px;background:var(--border);overflow:hidden}.prow-bar,.prow-bar>span{display:block;border-radius:3px}.prow-bar>span{height:100%;background:var(--brand)}@media (max-width:860px){.ptable-head{display:none}.prow{grid-template-columns:1fr 1fr 1fr;gap:10px;padding:14px 0}.prow-product{grid-column:1/-1}.prow-label{display:block}.product-search{max-width:140px}}.bottom-nav{display:none}@media (max-width:1024px){.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:2200;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;align-items:stretch;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -6px 20px rgba(35,2,46,.07)}.bn-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:56px;padding:8px 4px;border:none;background:none;font-family:inherit;font-size:.66rem;font-weight:500;letter-spacing:.01em;color:var(--ink-faint);transition:color var(--duration) var(--ease)}.bn-tab .bn-icon{font-size:1.15rem;line-height:1}.bn-tab.active{color:var(--brand-deep);font-weight:600}.bn-tab.active .bn-icon{transform:translateY(-1px)}.menu-toggle{display:none}.content{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.sidebar{padding-bottom:calc(24px + env(safe-area-inset-bottom))}}@media (max-width:640px){.kpi-row{grid-template-columns:1fr 1fr;gap:12px}.kpi{padding:14px 15px;border-radius:var(--radius)}.kpi .kpi-value{margin-top:8px;font-size:clamp(.95rem,11cqi,1.15rem);letter-spacing:-.03em}.kpi .kpi-label{font-size:.65rem;letter-spacing:.04em}.kpi .kpi-foot{margin-top:4px;font-size:.7rem;line-height:1.35}.card{padding:16px;border-radius:var(--radius)}.card-head{margin-bottom:14px}.content{gap:14px}.content,.topbar{padding-left:14px;padding-right:14px}.mini-stat-row,.quick-links{grid-template-columns:1fr 1fr;gap:10px}.mini-stat-value{font-size:1.15rem}.goal-strip{padding:16px}.goal-strip-copy p{font-size:var(--text-sm)}.table-wrap{margin:0 -16px;padding:0 16px;-webkit-overflow-scrolling:touch}.filter-chip{padding:8px 14px}.utility-row.scroll-x{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.content>*>.utility-row.scroll-x:only-child,.content>.utility-row.scroll-x{margin-inline:-14px;padding-inline:14px}.utility-row.scroll-x::-webkit-scrollbar{display:none}.utility-row.scroll-x>*{flex:none}.btn{min-height:44px}.map-shell{height:320px}.map-legend{left:8px;bottom:8px;padding:8px 10px;font-size:.68rem;display:flex;flex-wrap:wrap;gap:4px 12px;max-width:calc(100% - 16px)}.map-legend .row{gap:5px;margin-top:0}.topbar{flex-direction:column;align-items:stretch;gap:12px}.topbar .page-title{font-size:var(--text-lg)}.topbar .utility-row{width:100%}.topbar .utility-row .btn{flex:1 1 auto;justify-content:center}}@media print{.btn,.sidebar,.topbar,.utility-row{display:none!important}}.magic-box{margin-bottom:18px}.magic-box .field>span{display:block;margin-bottom:6px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.magic-box .field>span,.magic-divider{font-size:var(--text-xs);color:var(--ink-faint)}.magic-divider{display:flex;align-items:center;gap:12px;margin:18px 0 4px}.magic-divider:after,.magic-divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.sync-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:var(--text-xs);font-weight:600;white-space:nowrap}.sync-ok{background:var(--brand-soft);color:var(--brand-deep)}.sync-working{background:var(--gold-soft);color:#8a5a05}.sync-error{background:var(--coral-soft);color:var(--coral)}.sync-demo{background:var(--surface-2);color:var(--ink-faint);border:1px solid var(--border)}.sync-signin{background:var(--brand);color:#fff}.prow-expand{grid-column:1/-1;display:flex;justify-content:flex-end;padding-top:4px}.prow-edit-btn{border:none;background:none;font-family:inherit;font-size:var(--text-xs);font-weight:600;color:var(--brand);cursor:pointer}.pdetail{grid-column:1/-1;display:grid;grid-gap:12px;gap:12px;padding:14px;margin-top:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.pdetail .field>span{display:block;margin-bottom:5px;font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint)}.pdetail textarea{width:100%;resize:vertical;font-family:inherit;line-height:1.5}.crow,.ctable-head{display:grid;grid-template-columns:1.3fr 1fr 1.6fr 1fr 1fr 1.3fr auto;grid-gap:10px;gap:10px;align-items:center}.ctable-head{padding:0 0 10px;font-size:var(--text-xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint)}.crow,.ctable-head{border-bottom:1px solid var(--border)}.crow{padding:10px 0}.crow:last-child{border-bottom:none}.ccell{display:flex;flex-direction:column;min-width:0}.ccell .input,.ccell .select{padding:8px 10px;font-size:var(--text-sm)}.ccell-where{flex-direction:column;gap:6px}.ccell-actions{flex-direction:row;align-items:center;gap:8px}.wa-btn{display:inline-flex;align-items:center;gap:5px;padding:8px 12px;border-radius:var(--radius-sm);background:#25d366;color:#fff;font-size:var(--text-xs);font-weight:600;white-space:nowrap}.wa-btn:hover{filter:brightness(.95)}.wa-btn-off{background:var(--surface-2);color:var(--ink-faint);border:1px solid var(--border);cursor:default}.crow-remove{border:none;background:none;color:var(--ink-faint);font-size:.9rem;padding:8px;border-radius:8px}.crow-remove:hover{color:var(--coral);background:var(--coral-soft)}.crow-warn{grid-column:1/-1;font-size:var(--text-xs);color:var(--coral)}@media (max-width:860px){.ctable-head{display:none}.crow{grid-template-columns:1fr 1fr;gap:10px;padding:16px 0}.ccell{gap:4px}.ccell:before{content:attr(data-label);font-size:.62rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}.ccell-actions,.ccell-where{grid-column:1/-1}.ccell-actions{justify-content:space-between}.ccell-actions:before{content:none}.wa-btn{flex:1 1;justify-content:center;padding:11px}}.crm-toolbar{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.crm-search{flex:1 1;min-width:180px}.crm-filter{max-width:220px}.crm-head{padding:0 4px 10px;font-size:var(--text-xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint)}.crm-head,.crm-row{display:grid;grid-template-columns:2.2fr 1.6fr 1.4fr auto;grid-gap:12px;gap:12px;border-bottom:1px solid var(--border)}.crm-row{align-items:center;padding:12px 4px;transition:background var(--duration) var(--ease)}.crm-row.editing,.crm-row:hover{background:var(--surface-2)}.crm-row.editing{border-radius:var(--radius)}.crm-contact{display:flex;align-items:center;gap:12px;min-width:0}.crm-avatar{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:var(--text-sm);font-weight:700}.crm-identity{display:flex;flex-direction:column;min-width:0}.crm-identity strong{font-weight:600}.crm-identity span,.crm-identity strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crm-identity span{font-size:var(--text-xs);color:var(--ink-faint)}.crm-where{display:flex;flex-direction:column;min-width:0}.crm-account{font-size:var(--text-sm);font-weight:500}.crm-branch{font-size:var(--text-xs);color:var(--ink-faint)}.crm-phone{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.crm-phone-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--brand);font-weight:500}.crm-phone-empty{font-size:var(--text-xs);color:var(--ink-faint)}.crm-tag{font-size:.62rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:var(--gold-soft);color:#8a5a05}.crm-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end}.crm-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--border);background:var(--surface);font-size:.95rem;cursor:pointer}.crm-icon:hover{border-color:var(--brand-mid)}.crm-icon-wa{background:#fff2e6;border-color:#ffd0ac}.crm-icon-sm{width:32px;height:32px;font-size:.85rem}.crm-edit{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px;padding:14px 4px 6px;margin-top:8px;border-top:1px dashed var(--border-strong)}.crm-edit .ccard-field{display:flex;flex-direction:column;gap:5px}.crm-edit .ccard-field>span{font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint)}.crm-notes{grid-column:1/-1}.crm-notes textarea{width:100%;resize:vertical;font-family:inherit}.crm-edit-foot{grid-column:1/-1;justify-content:space-between;gap:12px;flex-wrap:wrap}.cr-primary,.crm-edit-foot{display:flex;align-items:center}.cr-primary{gap:8px;font-size:var(--text-sm);color:var(--ink-soft)}@media (max-width:780px){.crm-head{display:none}.crm-row{grid-template-columns:1fr auto;row-gap:10px}.crm-contact{grid-column:1}.crm-actions{grid-column:2;grid-row:1}.crm-phone,.crm-where{grid-column:1/-1}.crm-phone:before,.crm-where:before{content:attr(data-label);font-size:.6rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-weight:600;margin-right:6px}}.pipe-board{display:grid;grid-template-columns:repeat(6,minmax(200px,1fr));grid-gap:12px;gap:12px;overflow-x:auto;padding-bottom:8px}.pipe-col{display:flex;flex-direction:column;gap:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:12px;min-width:0}.pipe-col-head{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}.pipe-count{min-width:22px;height:22px;padding:0 6px;display:grid;place-items:center;border-radius:999px;background:var(--brand-soft);color:var(--brand-deep);font-size:.7rem}.pipe-col-body{display:flex;flex-direction:column;gap:10px}.pipe-empty{text-align:center;color:var(--ink-faint);font-size:var(--text-sm);margin:6px 0}.pipe-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-sm)}.pipe-card.editing{border-color:var(--brand-mid)}.pipe-card-head{display:flex;align-items:center;gap:8px;border:none;background:none;padding:0;font-family:inherit;text-align:left;cursor:pointer;min-width:0}.pipe-card-title{display:flex;flex-direction:column;min-width:0}.pipe-card-title strong{font-size:var(--text-sm);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pipe-card-title span{font-size:var(--text-xs);color:var(--ink-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pipe-stage{padding:7px 9px;font-size:var(--text-xs);width:100%}.pipe-wa{justify-content:center;padding:8px}.pipe-edit{display:flex;flex-direction:column;gap:10px;padding-top:8px;border-top:1px dashed var(--border-strong)}.pipe-edit .ccard-field{display:flex;flex-direction:column;gap:4px}.pipe-edit .ccard-field>span{font-size:.62rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint)}.pipe-edit textarea{width:100%;resize:vertical;font-family:inherit}.pipe-delete{align-self:flex-start}.pipe-col.drag-over{border-color:var(--brand);background:var(--brand-soft)}.pipe-col-name{display:flex;align-items:center;gap:7px}.pipe-dot{width:9px;height:9px;border-radius:50%;flex:none}.pipe-col-value{font-size:var(--text-xs);color:var(--brand);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:-4px}.lead-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-sm);cursor:-webkit-grab;cursor:grab;transition:box-shadow var(--duration) var(--ease),border-color var(--duration) var(--ease)}.lead-card:hover{box-shadow:var(--shadow);border-color:var(--brand-mid)}.lead-card.dragging{opacity:.5}.lead-card-main{display:flex;align-items:center;gap:10px;border:none;background:none;padding:0;font-family:inherit;text-align:left;cursor:pointer;min-width:0}.lead-card-info{display:flex;flex-direction:column;min-width:0}.lead-card-info strong{font-size:var(--text-sm);font-weight:600}.lead-card-info span,.lead-card-info strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lead-card-info span{font-size:var(--text-xs);color:var(--ink-faint)}.lead-card-foot{display:flex;align-items:center;gap:8px}.lead-stage-select{flex:1 1;min-width:0;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);font-family:inherit;font-size:var(--text-xs);font-weight:600;cursor:pointer}.lead-wa{flex:none;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#fff2e6;border:1px solid #ffd0ac;font-size:1rem}.drawer-overlay{position:fixed;inset:0;z-index:3000;background:rgba(20,30,24,.4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade-in var(--duration) var(--ease)}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:3001;width:min(440px,100%);background:var(--surface);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:slide-in var(--duration) var(--ease)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in{0%{transform:translateX(100%)}to{transform:translateX(0)}}.drawer-head{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border)}.drawer-head-title{flex:1 1;min-width:0;display:flex;flex-direction:column}.drawer-head-title strong{font-size:var(--text-lg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-head-title span{font-size:var(--text-xs);color:var(--ink-faint)}.drawer-close{flex:none;width:36px;height:36px;border:1px solid var(--border);border-radius:50%;background:var(--surface);font-size:.9rem;cursor:pointer}.drawer-close:hover{background:var(--surface-2)}.drawer-body{flex:1 1;overflow-y:auto;padding:18px 20px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}.drawer-wa{width:100%;background:#25d366}.drawer-wa:hover{filter:brightness(.96)}.drawer-field{display:flex;flex-direction:column;gap:6px}.drawer-field>span{font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint)}.drawer-notes{resize:vertical;font-family:inherit;line-height:1.5}.drawer-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;padding-top:14px;border-top:1px solid var(--border)}.drawer-added{font-size:var(--text-xs);color:var(--ink-faint)}@media (max-width:820px){.pipe-board{grid-template-columns:1fr;overflow-x:visible}.pipe-col{background:var(--surface)}}.login-simple{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(500px 400px at 50% -10%,rgba(248,165,1,.2),transparent 70%),radial-gradient(400px 400px at 100% 110%,rgba(199,161,106,.14),transparent 70%)}.login-box{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:36px 28px 30px;display:flex;flex-direction:column;align-items:center;text-align:center}.login-logo{width:92px;height:92px;border-radius:24px;object-fit:contain;box-shadow:var(--shadow)}.login-logo-fallback{display:grid;place-items:center;font-size:44px;background:linear-gradient(140deg,var(--brand-soft),var(--gold-soft))}.login-name{margin-top:18px;font-size:var(--text-xl);font-weight:600;color:var(--ink)}.login-sub{margin:4px 0 0;font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}.login-field{width:100%;display:flex;flex-direction:column;gap:6px;margin-top:16px;text-align:left}.login-field>span{font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint)}.login-field .input{min-height:48px;font-size:var(--text-base)}.login-btn{width:100%;margin-top:22px;min-height:50px;font-size:var(--text-base)}.login-hint{margin:14px 0 0;font-size:var(--text-sm);color:var(--ink-faint)}.login-error{color:var(--coral);font-weight:500}.badge-hot{background:var(--brand);color:#fff}.followup-card{border-left:4px solid var(--brand)}.followup-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.followup-list li{display:flex;align-items:center;gap:8px;border-top:1px solid var(--border)}.followup-list li:first-child{border-top:0}.followup-row{flex:1 1;display:flex;align-items:center;gap:10px;padding:12px 4px;background:none;border:0;text-align:left;color:inherit;border-radius:var(--radius-sm);transition:background var(--duration) var(--ease)}.followup-row:hover{background:var(--sand-100)}.followup-who{display:flex;flex-direction:column;min-width:0}.followup-who strong{font-size:var(--text-base)}.followup-who span{font-size:var(--text-xs);color:var(--ink-faint)}.followup-when{margin-left:auto;font-size:var(--text-xs);font-weight:600;color:var(--coral);white-space:nowrap}.followup-when.is-overdue{color:var(--brand)}.lead-followup{display:inline-flex;align-items:center;gap:5px;margin-top:4px;font-size:var(--text-xs);font-weight:600;color:var(--ink-faint)}.lead-followup.is-overdue{color:var(--brand)}.lead-followup.is-today{color:var(--coral)}.followup-block{display:flex;flex-direction:column;gap:10px;padding:14px;margin-bottom:18px;border-radius:var(--radius);background:var(--sand-100);border:1px solid var(--border);border-left:4px solid var(--ink-faint)}.followup-block.is-overdue{border-left-color:var(--brand);background:var(--brand-soft)}.followup-block.is-today{border-left-color:var(--coral);background:var(--coral-soft)}.followup-block-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:var(--text-sm);font-weight:600}.followup-last{font-size:var(--text-xs);font-weight:400;color:var(--ink-faint)}.followup-snooze{display:flex;flex-wrap:wrap;gap:6px}.btn-sm{padding:5px 10px;font-size:var(--text-xs)}.followup-log{width:100%}@media (display-mode:standalone){.sidebar{padding-top:max(22px,env(safe-area-inset-top))}}@media (pointer:coarse){.bn-tab,.btn,.followup-row,.lead-card-main,.nav-link,.quick-link{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.bn-tab,.kpi-value,.qty-stepper{-webkit-user-select:none;-moz-user-select:none;user-select:none}}.install-prompt{position:fixed;left:12px;right:12px;bottom:calc(74px + env(safe-area-inset-bottom));z-index:2400;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);animation:install-rise var(--duration) var(--ease)}@keyframes install-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.install-prompt{animation:none}}.install-icon{font-size:1.5rem;line-height:1}.install-copy{flex:1 1;display:flex;flex-direction:column;min-width:0}.install-copy strong{font-size:var(--text-sm)}.install-copy span{font-size:var(--text-xs);color:var(--ink-soft)}.install-close{border:0;background:none;color:var(--ink-faint);font-size:1rem;padding:4px;line-height:1}@media (min-width:1025px){.install-prompt{display:none}}.offline-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 24px;text-align:center}.offline-icon{font-size:3rem}.offline-screen h1{font-size:var(--text-xl)}.offline-screen p{max-width:34ch;color:var(--ink-soft);margin:0}.offline-reassure{font-size:var(--text-sm);color:var(--ink-faint)}@media (max-width:640px){.topbar{flex-direction:row;flex-wrap:wrap;align-items:center;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:12px;gap:8px 10px}.topbar-left{flex:1 1 60%;min-width:0}.topbar .utility-row{flex:0 1 auto;width:auto;gap:8px;margin-left:auto}.topbar .utility-row:empty{display:none}.topbar .utility-row:has(.btn){flex:1 1 100%;margin-left:0}.topbar .utility-row:has(.btn) .btn{flex:1 1 auto;justify-content:center}.topbar .page-sub{font-size:var(--text-xs)}}@media (max-width:820px),(pointer:coarse){.input,.select,input[type=date],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],select,textarea,textarea.input{font-size:16px}.input,.select{padding:12px 14px;min-height:48px}.crm-icon,.crm-icon-sm{width:44px;height:44px;font-size:1.05rem}.oc-stepper button,.stepper button{min-width:46px;min-height:46px;font-size:1.15rem}.oc-stepper input,.stepper input{min-height:46px;font-size:16px}.drawer-close,.install-close,.lead-wa,.prow-edit-btn,.sidebar-close{min-width:44px;min-height:44px;display:inline-grid;place-items:center}.back-to-site-btn,.btn,.logout-btn{min-height:46px}.btn.btn-sm{min-height:38px}.filter-chip{min-height:42px;padding-inline:16px}table.data td,table.data th{padding-top:12px;padding-bottom:12px}}@media (max-width:520px){.crm-row{grid-template-columns:1fr}.crm-actions,.crm-contact,.crm-phone,.crm-where{grid-column:1/-1}.crm-actions{grid-row:auto;justify-content:flex-start;gap:10px;padding-top:2px}.crm-contact strong,.crm-name{white-space:normal;overflow-wrap:anywhere}}.section-title h2.section-h2{font-size:var(--text-xl)}@media (max-width:640px){.card-title,.section-head h2,.section-title h2,.section-title h2.section-h2{font-size:var(--text-lg);line-height:1.25}.section-head{align-items:baseline;gap:8px}.section-head .card-note,.section-head span{font-size:var(--text-xs)}.map-legend{position:static;display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:10px;padding:10px 12px;-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--surface)}.map-legend .row{margin-top:0}.leaflet-container .leaflet-control-attribution{font-size:9px;padding:0 4px}}.connect-status{border-left:4px solid var(--ink-faint)}.connect-status.is-ok{border-left-color:var(--brand)}.connect-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:14px;gap:14px;margin:4px 0 0}.connect-facts dt{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}.connect-facts dd{margin:4px 0 0;font-weight:600}.connect-warn{display:block;margin-top:4px;font-weight:400;font-size:var(--text-sm);color:var(--brand)}.connect-msg{margin:0;color:var(--ink-soft)}.connect-hint,.connect-lead{color:var(--ink-soft);font-size:var(--text-sm)}.connect-hint{color:var(--ink-faint)}.connect-code{margin:10px 0;padding:12px 14px;border-radius:var(--radius-sm);background:var(--ink);color:var(--sand-100);font-size:var(--text-sm);overflow-x:auto}.connect-list{margin:8px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:8px;font-size:var(--text-sm);color:var(--ink-soft)}.connect-lead code,.connect-list code{background:var(--sand-100);border:1px solid var(--border);border-radius:6px;padding:1px 6px;font-size:.82em}.connect-run{display:flex;gap:10px;align-items:center;margin:12px 0;flex-wrap:wrap}.connect-run .input{flex:1 1 220px}.connect-result{margin-top:8px}.connect-foot{text-align:center;color:var(--ink-faint);font-size:var(--text-xs);margin-top:6px}.sample-banner{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;border-radius:var(--radius);background:var(--gold-soft);border:1px solid #f0d98a;color:#6b4e05;font-size:var(--text-sm)}.sample-banner p{margin:0;flex:1 1;min-width:0}.sample-banner a{color:var(--brand-deep);font-weight:600;text-decoration:underline}.sample-banner-tag{flex:none;padding:3px 9px;border-radius:999px;background:var(--brand);color:#fff;font-size:var(--text-xs);font-weight:700;letter-spacing:.03em;text-transform:uppercase}.sample-banner-close{flex:none;border:0;background:none;color:inherit;opacity:.6;font-size:.9rem;line-height:1;padding:4px}.sample-banner-close:hover{opacity:1}@media (max-width:640px){.sample-banner{flex-wrap:wrap;gap:8px}.sample-banner p{flex:1 1 100%;order:3}}.cost-lead{color:var(--ink-soft);font-size:var(--text-sm);margin-top:0}.cost-dot{flex:none;width:10px;height:10px;border-radius:3px}.cost-suggestions{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:10px;gap:10px;margin:14px 0}.cost-suggestion{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-align:left;transition:border-color var(--duration) var(--ease)}.cost-suggestion:hover{border-color:var(--brand-mid)}.cost-suggestion>span:nth-child(2){flex:1 1;display:flex;flex-direction:column;min-width:0}.cost-suggestion strong{font-size:var(--text-sm)}.cost-suggestion span span{font-size:var(--text-xs);color:var(--ink-faint)}.cost-suggestion-add{flex:none;color:var(--brand);font-weight:700;font-size:1.1rem}.cost-bars{display:flex;flex-direction:column;gap:10px}.cost-bar-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,2fr) auto;align-items:center;grid-gap:12px;gap:12px;font-size:var(--text-sm)}.cost-bar-label{display:flex;align-items:center;gap:8px;min-width:0}.cost-tag{font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);border:1px solid var(--border);border-radius:999px;padding:1px 6px}.cost-bar-track{height:10px;border-radius:999px;background:var(--sand-100);overflow:hidden}.cost-bar-track span{display:block;height:100%;border-radius:999px}.cost-bar-value{font-weight:600;white-space:nowrap}.cost-list{display:flex;flex-direction:column;gap:8px}.cost-row{display:grid;grid-template-columns:auto minmax(0,2fr) minmax(0,1fr) 90px 110px auto;align-items:center;grid-gap:8px;gap:8px}.cost-row .input,.cost-row .select{padding:9px 10px}.cost-amount{text-align:right}.cost-remove{border:0;background:none;color:var(--ink-faint);padding:6px;line-height:1}.cost-remove:hover{color:var(--danger)}@media (max-width:860px){.cost-row{grid-template-columns:auto 1fr auto;grid-template-areas:"dot label remove" "cat cat   cat" "month amount amount";row-gap:8px}.cost-row>.cost-dot{grid-area:dot}.cost-label{grid-area:label}.cost-cat{grid-area:cat}.cost-month{grid-area:month}.cost-amount{grid-area:amount}.cost-remove{grid-area:remove}.cost-bar-row{grid-template-columns:1fr auto}.cost-bar-track{grid-column:1/-1;order:3}}.import-report{margin-top:10px}.import-ok{margin:0;color:var(--brand);font-weight:600;font-size:var(--text-sm)}.import-problems{margin:8px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:var(--text-xs);color:var(--ink-soft)}.mt-list{margin-top:12px}.mt-row{display:grid;grid-template-columns:auto minmax(0,2fr) 96px 96px auto 92px auto;align-items:center;grid-gap:8px;gap:8px}.mt-row .input,.mt-row .select{padding:9px 10px}.mt-amount{text-align:right}.mt-recurring{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--ink-soft);white-space:nowrap}.mt-recurring input{width:17px;height:17px;accent-color:var(--brand)}.mt-awg{font-size:var(--text-xs);color:var(--ink-faint);text-align:right;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:860px){.mt-row{grid-template-columns:auto 1fr auto;grid-template-areas:"dot label remove" "cur amount awg" "rec rec    rec";row-gap:8px}.mt-row>.cost-dot{grid-area:dot}.mt-label{grid-area:label}.mt-cur{grid-area:cur}.mt-amount{grid-area:amount}.mt-awg{grid-area:awg;align-self:center}.mt-recurring{grid-area:rec}.mt-row .cost-remove{grid-area:remove}}.vendor-search{flex:1 1 220px;min-width:160px;max-width:320px}.show-all-btn{width:100%;margin-top:10px}.ship-best{border-left:4px solid var(--brand)}.ship-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:14px;gap:14px}.ship-carriers{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:16px;gap:16px}.ship-carrier{border:1px solid var(--border);border-radius:var(--radius);padding:14px;background:var(--surface-2)}.ship-carrier-head{display:flex;flex-direction:column;margin-bottom:10px}.ship-carrier-head span{font-size:var(--text-xs);color:var(--ink-faint)}.ship-band{display:grid;grid-template-columns:1fr 96px;align-items:center;grid-gap:8px;gap:8px;margin-top:6px;font-size:var(--text-sm)}.ship-band .input{padding:7px 9px;text-align:right}.ship-row-best{background:var(--brand-soft)}.ship-row-best td{font-weight:600}.mission-actions{display:flex;gap:8px;flex-wrap:wrap}.mission-editor{display:flex;flex-direction:column;gap:8px}.mission-editor .input,.mission-editor .select{padding:8px 10px;font-size:var(--text-sm)}.mission-editor-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}@media (max-width:520px){.mission-editor-row{grid-template-columns:1fr}}@media print{.bottom-nav,.no-print,.sidebar,.sidebar-backdrop,.topbar{display:none!important}.app-shell,.content,.main{display:block!important;padding:0!important;margin:0!important;background:#fff!important}.card{box-shadow:none!important;border:1px solid #e5e5e5!important}.card,.doc-head,.kpi,tr{page-break-inside:avoid;break-inside:avoid}a[href]:after{content:""}}.print-sheet{max-width:820px;margin:0 auto;background:var(--surface);padding:32px;border-radius:var(--radius)}@media print{.print-sheet{max-width:none;padding:0;border-radius:0}}.filter-bar .input,.filter-bar .select{font-size:.8rem;padding:7px 10px;min-width:0}@media (max-width:640px){.filter-bar .select{flex:0 0 auto}}.auth{position:relative;min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--sand-50,#fffaf2);overflow:hidden}.auth-glow{position:absolute;inset:-25%;pointer-events:none;background:radial-gradient(640px 460px at 20% 16%,rgba(248,165,1,.3),transparent 62%),radial-gradient(580px 420px at 80% 80%,rgba(215,25,25,.26),transparent 60%),radial-gradient(460px 340px at 64% 10%,rgba(248,206,53,.2),transparent 58%);filter:blur(14px)}.auth-card{position:relative;z-index:1;width:min(420px,100%);display:flex;flex-direction:column;gap:0;padding:38px 34px 30px;border-radius:24px;background:rgba(255,255,255,.94);border:1px solid var(--border,#f2e6d8);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 28px 70px rgba(35,2,46,.16),0 2px 6px rgba(35,2,46,.05);text-align:center}.auth-logo{height:76px;width:auto;margin:0 auto 20px;display:block}.auth-card h1{margin:0;font-size:1.55rem;font-weight:600;letter-spacing:-.015em;color:var(--ink,#23022e)}.auth-sub{margin:6px 0 26px;font-size:.84rem;color:var(--ink-soft,#5b4a62)}.auth-field{display:block;text-align:left}.auth-field span{display:block;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint,#948a99);margin-bottom:8px}.auth-field input{width:100%;padding:15px 16px;border-radius:14px;border:1.5px solid var(--border,#f2e6d8);background:var(--sand-50,#fffaf2);color:var(--ink,#23022e);font-size:16px;font-family:inherit;transition:border-color .14s ease,box-shadow .14s ease}.auth-field input::placeholder{color:var(--ink-faint,#948a99)}.auth-field input:focus{outline:none;border-color:var(--brand,#d71919);box-shadow:0 0 0 4px rgba(215,25,25,.13)}.auth-go{width:100%;margin-top:18px;padding:15px;border:none;border-radius:999px;background:linear-gradient(135deg,var(--brand,#d71919),var(--brand-deep,#9c0f13));color:#fff;font-family:inherit;font-size:.98rem;font-weight:600;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,opacity .14s ease;box-shadow:0 10px 24px rgba(156,15,19,.28)}.auth-go:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 30px rgba(156,15,19,.34)}.auth-go:focus-visible{outline:3px solid var(--brand,#d71919);outline-offset:3px}.auth-go:disabled{opacity:.45;cursor:default;box-shadow:none}.auth-err{margin:14px 0 0;font-size:.84rem;font-weight:500;color:var(--danger,#b00d12)}.auth-foot{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--border,#f2e6d8);font-size:.78rem;color:var(--ink-faint,#948a99)}.auth-foot a{color:var(--brand,#d71919);font-weight:500}@media (prefers-reduced-motion:reduce){.auth-go{transition:none}.auth-go:hover:not(:disabled){transform:none}}