:root{--ink:#25222b;--muted:#77727f;--line:#e9e5e8;--paper:#f7f5f3;--white:#fff;--plum:#4b294f;--plum-2:#6d416f;--coral:#e87767;--coral-light:#fce7e2;--mint:#dff1e9;--gold:#f6e9bd;--lilac:#ece2f0;--shadow:0 12px 34px rgba(45,31,48,.07)}
*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;background:var(--paper);font-size:14px}button,input,textarea,select{font:inherit}button,a{transition:.2s ease}button{cursor:pointer}.hidden{display:none!important}
.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:#fff;border-right:1px solid var(--line);padding:28px 18px 22px;display:flex;flex-direction:column;z-index:20}.brand{height:45px;display:flex;align-items:center;gap:11px;font-family:"Fraunces",serif;font-weight:700;font-size:20px;color:var(--plum);padding-left:8px}.brand-mark{display:grid;place-items:center;width:37px;height:37px;border-radius:13px;color:#fff;background:linear-gradient(145deg,var(--plum),#8a547e);box-shadow:0 5px 15px rgba(75,41,79,.25);font-size:22px}.sidebar nav{display:flex;flex-direction:column;gap:7px;margin-top:44px}.nav-item{border:0;background:transparent;color:#736d78;text-align:left;border-radius:12px;padding:13px 14px;display:flex;align-items:center;gap:13px;font-weight:600}.nav-item:hover{background:#f6f1f5;color:var(--plum)}.nav-item.active{background:#f1e9f0;color:var(--plum)}.nav-icon{font-size:18px;width:20px;text-align:center}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding:20px 9px 0}.connection-dot{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted);margin-bottom:12px}.connection-dot i{width:9px;height:9px;border-radius:50%;background:#aaa}.connection-dot.connected i{background:#4eb77d;box-shadow:0 0 0 4px #e1f4e9}.quiet{background:transparent;border:0;padding:4px 0;color:var(--plum);font-weight:600}.shop-floor-link{display:block;text-decoration:none;margin-bottom:8px}
.main{margin-left:238px;min-height:100vh;padding:0 42px 50px}.topbar{height:113px;display:flex;align-items:center;gap:16px}.topbar h1{font-family:"Fraunces",serif;font-size:31px;line-height:1;margin:4px 0 0}.today{margin:0;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.11em;font-weight:600}.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.sync-time{font-size:12px;color:var(--muted);margin-right:6px}.button{border-radius:11px;border:0;text-decoration:none;padding:11px 17px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.55;cursor:wait;transform:none}.button.primary{background:var(--plum);color:#fff;box-shadow:0 6px 16px rgba(75,41,79,.18)}.button.primary:hover{background:#5c3461}.button.secondary{background:#fff;color:var(--plum);border:1px solid var(--line)}.button.danger{background:#8e3340;color:#fff}.button.wide{width:100%;margin-top:8px}.icon-button{border:0;background:#fff;width:40px;height:40px;border-radius:10px}.menu-button{display:none}
.view{display:none}.view.active{display:block}.hero-card{position:relative;overflow:hidden;min-height:190px;background:linear-gradient(118deg,#4b294f,#754268);border-radius:22px;padding:38px 45px;color:#fff;display:flex;align-items:center;box-shadow:var(--shadow)}.hero-card:before,.hero-card:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%}.hero-card:before{width:270px;height:270px;right:105px;top:-120px}.hero-card:after{width:190px;height:190px;right:20px;bottom:-120px}.hero-card h2{font-family:"Fraunces",serif;font-size:31px;margin:9px 0 6px}.hero-card p{margin:0;color:#dfcedd}.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:800;color:var(--coral);text-transform:uppercase}.eyebrow.light{color:#efb6ae}.hero-emblem{margin-left:auto;margin-right:30px;width:115px;height:115px;display:grid;place-items:center;text-align:center;border-radius:50%;background:var(--coral);border:7px solid rgba(255,255,255,.15);outline:1px dashed rgba(255,255,255,.6);outline-offset:-13px;transform:rotate(-5deg);font-family:"Fraunces",serif;font-size:18px;line-height:1.05;z-index:2}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:19px 0}.metric-card{background:#fff;border-radius:16px;padding:21px 19px;display:flex;gap:15px;align-items:center;border:1px solid #eee9ec;box-shadow:0 5px 20px rgba(45,31,48,.035)}.metric-icon{flex:0 0 44px;height:44px;border-radius:13px;display:grid;place-items:center;font-weight:800;font-size:18px}.metric-icon.coral{background:var(--coral-light);color:#d96355}.metric-icon.lilac{background:var(--lilac);color:#7d5480}.metric-icon.mint{background:var(--mint);color:#357c63}.metric-icon.gold{background:var(--gold);color:#987729}.metric-card span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.metric-card strong{font-family:"Fraunces",serif;font-size:25px}.metric-card small{display:block;color:#9a949c;margin-top:3px;font-size:10px}.metric-card small b{color:var(--coral)}
.overview-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 5px 20px rgba(45,31,48,.035)}.chart-panel,.pulse-panel{padding:24px 26px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start}.panel h3{font-family:"Fraunces",serif;font-size:20px;margin:5px 0 0}.legend{font-size:10px;color:var(--muted)}.legend i{display:inline-block;width:8px;height:8px;border-radius:3px;background:var(--coral);margin-right:5px}.bar-chart{height:176px;display:flex;align-items:flex-end;gap:4px;margin-top:22px;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to bottom,#fff 0,#fff 43px,#f0ecef 44px)}.bar{flex:1;min-width:2px;max-width:18px;background:linear-gradient(to top,var(--coral),#f2a093);border-radius:5px 5px 0 0;position:relative;transition:.2s}.bar:hover{filter:brightness(.94)}.bar:hover:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--ink);color:#fff;padding:5px 7px;border-radius:6px;font-size:9px;z-index:2}.chart-axis{display:flex;justify-content:space-between;color:#a09aa2;font-size:9px;margin-top:7px}.empty-mini{margin:auto;color:#aaa}.pulse-panel{display:flex;flex-direction:column}.signal{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);color:var(--muted)}.signal strong{font-family:"Fraunces",serif;color:var(--ink);font-size:21px}.text-button{border:0;background:transparent;color:var(--plum);font-weight:700;text-align:left;padding:20px 0 0;margin-top:auto}
.setup-panel{background:#fff8ea;border:1px solid #f0dfbb;border-radius:16px;padding:20px 24px;display:flex;align-items:center;gap:20px;margin-bottom:20px}.setup-panel h2{font-family:"Fraunces",serif;margin:4px 0}.setup-panel p{color:var(--muted);margin:0}.setup-panel .button{margin-left:auto}.setup-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:#f1641e;color:#fff;font:700 26px "Fraunces",serif}
.section-tools{display:flex;gap:10px;margin:3px 0 16px}.section-tools select,.search-wrap{background:#fff;border:1px solid var(--line);border-radius:11px;height:43px}.section-tools select{padding:0 34px 0 13px;color:#625d66}.search-wrap{display:flex;align-items:center;gap:8px;padding:0 13px;flex:1;max-width:520px}.search-wrap span{font-size:18px;color:#999}.search-wrap input{border:0;outline:0;width:100%;background:transparent}.table-panel{overflow:hidden}.table-panel table{width:100%;border-collapse:collapse}.table-panel th{background:#fbfaf9;text-align:left;padding:13px 17px;color:#928c94;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.table-panel td{padding:13px 17px;border-top:1px solid var(--line);vertical-align:middle}.listing-cell{display:flex;align-items:center;gap:12px;min-width:270px}.listing-thumb{width:50px;height:42px;border-radius:8px;object-fit:cover;background:#eee}.listing-thumb.placeholder{display:grid;place-items:center;color:#999}.listing-cell strong{display:block;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.listing-cell small{color:#9b959d}.badge{display:inline-block;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:700;text-transform:capitalize}.badge.active,.badge.shipped,.badge.success{background:#e2f4ea;color:#347859}.badge.draft{background:#f4ead1;color:#836624}.badge.inactive,.badge.expired,.badge.canceled,.badge.failed{background:#f7e4e4;color:#945052}.badge.open{background:#eee4f2;color:#704a76}.row-action{border:1px solid var(--line);background:#fff;color:var(--plum);border-radius:8px;padding:7px 10px;font-weight:700}.row-action:hover{background:#f5eff5}.empty-state{text-align:center;padding:50px;color:var(--muted)}
.settings-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:18px}.settings-card{padding:27px 30px}.settings-card>p{margin-bottom:24px}.settings-card form,.login-form{display:flex;flex-direction:column;gap:15px}.settings-card label,.login-form label,.modal-card label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:700;color:#5f5962}.settings-card input,.settings-card textarea,.login-form input,.modal-card input,.modal-card textarea{border:1px solid #ded9dd;border-radius:10px;padding:11px 12px;outline:none;background:#fdfcfc;color:var(--ink)}.settings-card input:focus,.settings-card textarea:focus,.login-form input:focus,.modal-card input:focus{border-color:#9d739c;box-shadow:0 0 0 3px #f1e8f1}.settings-card .button{align-self:flex-start}.muted{color:var(--muted)}.safety-card{padding:24px;margin-bottom:16px}.safety-icon{width:38px;height:38px;border-radius:12px;background:var(--mint);color:#347859;display:grid;place-items:center;font-weight:900}.safety-icon.warning{background:var(--gold);color:#8c6b1d}.safety-card p{color:var(--muted);line-height:1.55}.safety-card h3{font-size:18px}
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:rgba(26,18,28,.52);backdrop-filter:blur(3px)}.modal-card{position:relative;background:#fff;border-radius:20px;width:min(680px,96vw);max-height:90vh;overflow:auto;padding:29px;box-shadow:0 25px 80px rgba(0,0,0,.25)}.modal-close{position:absolute;top:14px;right:16px;border:0;background:#f3eff2;width:32px;height:32px;border-radius:50%;font-size:20px}.modal-card h2{font-family:"Fraunces",serif;margin:6px 0 5px}.modal-card .modal-sub{color:var(--muted);margin:0 0 22px}.modal-form{display:flex;flex-direction:column;gap:14px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:10px}.inventory-table{width:100%;border-collapse:collapse;margin:14px 0}.inventory-table th,.inventory-table td{text-align:left;border-bottom:1px solid var(--line);padding:9px 6px}.inventory-table input{width:90px;padding:8px}.warning-box{background:#fff7e5;border:1px solid #efd99e;color:#725b1d;padding:12px 14px;border-radius:10px;font-size:11px;line-height:1.45}.toast{position:fixed;right:25px;bottom:25px;background:var(--ink);color:#fff;padding:13px 17px;border-radius:11px;box-shadow:var(--shadow);z-index:150;opacity:0;transform:translateY(12px);pointer-events:none}.toast.show{opacity:1;transform:none}.toast.error{background:#8e3340}
.login-body{background:#f1edf0;min-height:100vh;display:grid;place-items:center;padding:30px}.login-shell{width:min(1000px,100%);min-height:610px;display:grid;grid-template-columns:1.1fr .9fr;background:#fff;border-radius:25px;overflow:hidden;box-shadow:0 30px 90px rgba(54,35,56,.16)}.login-art{position:relative;overflow:hidden;background:linear-gradient(145deg,#412445,#754268);color:#fff;padding:42px}.brand-light{color:#fff;padding:0}.brand-light .brand-mark{background:rgba(255,255,255,.17);border:1px solid rgba(255,255,255,.2)}.login-copy{position:absolute;z-index:2;left:55px;right:50px;top:50%;transform:translateY(-44%)}.login-copy h1{font:700 54px/1.03 "Fraunces",serif;margin:14px 0 20px}.login-copy p{color:#ddcbdc;font-size:16px;line-height:1.6;max-width:380px}.shape{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.12)}.shape-one{width:410px;height:410px;right:-180px;top:-110px}.shape-two{width:240px;height:240px;left:-100px;bottom:-80px;background:rgba(232,119,103,.12)}.login-panel{display:grid;place-items:center;padding:45px}.login-form{width:100%;max-width:330px}.login-form h2{font:700 32px "Fraunces",serif;margin:9px 0 -7px}.login-form .muted{margin:0 0 10px}.login-form input{padding:13px}.login-foot{text-align:center;color:#a19ba3;font-size:10px}.alert{border-radius:9px;padding:10px 12px}.alert.danger{background:#f8e7e7;color:#8b3742}.mobile-brand{display:none}
@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}.main{padding-left:26px;padding-right:26px}.sync-time{display:none}.table-panel{overflow-x:auto}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none;box-shadow:15px 0 50px rgba(0,0,0,.15)}.main{margin-left:0;padding:0 16px 35px}.topbar{height:95px}.menu-button{display:block}.topbar h1{font-size:25px}.top-actions .button{padding:10px}.top-actions .button span+*{display:none}#etsyConnect{position:fixed;right:14px;bottom:14px;z-index:10}.hero-card{padding:28px;min-height:170px}.hero-card h2{font-size:25px}.hero-emblem{display:none}.metric-grid{grid-template-columns:1fr 1fr}.metric-card{padding:16px 13px;gap:10px}.metric-icon{width:36px;height:36px;flex-basis:36px}.metric-card strong{font-size:21px}.overview-grid,.settings-grid{grid-template-columns:1fr}.section-tools{flex-wrap:wrap}.search-wrap{max-width:none;flex-basis:100%}.setup-panel{align-items:flex-start;flex-wrap:wrap}.setup-panel .button{margin-left:0}.login-shell{grid-template-columns:1fr;min-height:0}.login-art{display:none}.login-panel{padding:36px 25px}.mobile-brand{display:flex;margin-bottom:20px;padding:0}.table-panel{border-radius:12px}.chart-panel,.pulse-panel{padding:20px}.modal-card{padding:24px 18px}.inventory-table{font-size:11px}}
@media(max-width:430px){.metric-grid{grid-template-columns:1fr}.top-actions #syncButton{font-size:0}.top-actions #syncButton span{font-size:16px}.top-actions #syncButton:after{content:"Sync";font-size:13px}.login-body{padding:14px}}

/* Drill-through dashboard */
.nav-group-label{padding:0 14px 7px;color:#aaa3ab;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.nav-group-label.manage-label{margin-top:22px}.sidebar nav{margin-top:34px}
.drill-card{position:relative;cursor:pointer;padding-right:32px}.drill-card:hover,.drill-card:focus-visible{border-color:#ceb9cc;transform:translateY(-2px);box-shadow:0 12px 28px rgba(75,41,79,.09);outline:none}.drill-arrow{position:absolute;right:14px;color:#b19aaf;font-style:normal;opacity:0;transform:translateX(-4px);transition:.2s}.drill-card:hover .drill-arrow,.drill-card:focus-visible .drill-arrow{opacity:1;transform:none}.inline-drill{border:0;background:transparent;padding:0;color:inherit;font-size:inherit;text-align:left}.inline-drill:hover{text-decoration:underline;color:var(--plum)}
.drill-signal{width:100%;background:transparent;border:0;text-align:left}.drill-signal i{color:#b6a5b5;font-style:normal;opacity:0;transition:.2s}.drill-signal:hover,.drill-signal:focus-visible{color:var(--plum);outline:none}.drill-signal:hover i,.drill-signal:focus-visible i{opacity:1}.drill-signal strong{margin-left:auto;margin-right:10px}
.chart-subtitle{font-size:11px;color:var(--muted);margin:5px 0 0}.chart-toggle{display:flex;padding:3px;background:#f4f0f3;border-radius:10px}.chart-toggle button{border:0;background:transparent;color:var(--muted);padding:7px 10px;border-radius:8px;font-size:10px;font-weight:700}.chart-toggle button.active{background:#fff;color:var(--plum);box-shadow:0 2px 8px rgba(45,31,48,.08)}.chart-summary{display:flex;align-items:baseline;gap:10px;margin:20px 0 10px;padding-left:52px}.chart-summary strong{font:700 25px "Fraunces",serif}.chart-summary span{font-size:10px;color:var(--muted)}.chart-shell{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px}.chart-y-axis{height:210px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;color:#9f98a1;font-size:9px;padding:1px 0 2px}.chart-shell .bar-chart{height:210px;margin-top:0;gap:3px}.bar-column{position:relative;display:flex;align-items:flex-end;justify-content:center;flex:1;min-width:3px;height:100%;padding:0;border:0;background:transparent}.bar-fill{display:block;width:100%;max-width:18px;min-height:2px;background:var(--coral);border:1px solid #d96f61;border-bottom:0;border-radius:5px 5px 0 0;transition:height .25s ease,background .2s}.bar-column:hover .bar-fill,.bar-column:focus-visible .bar-fill{background:#c95d50}.bar-column:focus-visible{outline:2px solid var(--plum);outline-offset:2px;border-radius:4px}.bar-column:hover:after,.bar-column:focus-visible:after{content:attr(data-tip);position:absolute;bottom:calc(var(--tip-height, 0%) + 8px);left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--ink);color:#fff;padding:6px 8px;border-radius:6px;font-size:9px;z-index:5;pointer-events:none}.chart-axis{margin-left:52px}.chart-axis span{flex:1;text-align:center}.chart-axis span:first-child{text-align:left}.chart-axis span:last-child{text-align:right}
.filter-chip{display:inline-flex;align-items:center;gap:8px;background:#f1e8f0;color:var(--plum);border:1px solid #e3d5e1;border-radius:999px;padding:7px 8px 7px 12px;margin:-5px 0 13px;font-size:11px;font-weight:700}.filter-chip button{display:grid;place-items:center;width:20px;height:20px;border:0;border-radius:50%;background:#fff;color:var(--plum)}
.clickable-row{cursor:pointer;transition:.15s}.clickable-row:hover{background:#fcf8fb}.clickable-row:focus-visible{outline:2px solid #9d739c;outline-offset:-2px}.cell-drill,.order-link{border:0;background:transparent;color:inherit;padding:2px 0;font-weight:inherit}.cell-drill:hover,.order-link:hover{text-decoration:underline;color:var(--plum)}.order-link{font-weight:800;color:var(--plum)}
.favorite-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.favorite-stat{min-width:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;text-align:left;box-shadow:0 5px 20px rgba(45,31,48,.035)}.favorite-stat:hover,.favorite-stat:focus-visible{border-color:#ceb9cc;transform:translateY(-2px);outline:none}.favorite-stat:disabled{cursor:default;transform:none;opacity:.7}.favorite-stat span,.favorite-stat small{display:block;color:var(--muted);font-size:10px}.favorite-stat strong{display:block;font:700 25px "Fraunces",serif;margin:7px 0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.favorite-stat small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.favorites-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:18px;margin-bottom:18px}.favorite-leaderboard-panel,.favorite-note{padding:24px 26px}.favorite-leaderboard{display:flex;flex-direction:column;gap:7px;margin-top:20px}.favorite-bar-row{display:grid;grid-template-columns:22px minmax(120px,1.2fr) minmax(120px,2fr) 42px;align-items:center;gap:9px;border:0;background:transparent;padding:6px;border-radius:8px;text-align:left}.favorite-bar-row:hover,.favorite-bar-row:focus-visible{background:#faf5f9;outline:none}.favorite-rank{color:#aaa;font-size:10px}.favorite-bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.favorite-track{height:10px;background:#f0eaef;border-radius:999px;overflow:hidden}.favorite-track i{display:block;height:100%;background:var(--coral);border-radius:inherit}.favorite-bar-row strong{text-align:right;font-family:"Fraunces",serif}.favorite-note p{color:var(--muted);line-height:1.6}.favorite-definition{margin-top:25px;padding:16px;background:#faf7f9;border-radius:12px}.favorite-definition span,.favorite-definition small{display:block;color:var(--muted);font-size:10px}.favorite-definition strong{display:block;margin:5px 0}.favorite-tools{scroll-margin-top:15px}
.modal-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:18px 0}.modal-metrics>div{background:#faf7f9;border:1px solid var(--line);border-radius:11px;padding:12px}.modal-metrics span,.modal-metrics small{display:block;color:var(--muted);font-size:9px}.modal-metrics strong{display:block;font:700 18px "Fraunces",serif;margin-top:4px}.modal-card select{border:1px solid #ded9dd;border-radius:10px;padding:11px 12px;outline:none;background:#fdfcfc;color:var(--ink)}.order-modal-title{display:flex;align-items:center;gap:12px}.order-modal-title h2{margin-right:auto}.order-items-table{width:100%;border-collapse:collapse;margin:18px 0}.order-items-table th{text-align:left;background:#fbfaf9;color:#928c94;font-size:9px;letter-spacing:.08em;text-transform:uppercase;padding:9px}.order-items-table td{border-top:1px solid var(--line);padding:10px 9px}.order-items-table th:not(:first-child),.order-items-table td:not(:first-child){text-align:right}.order-item-link{border:0;background:transparent;color:var(--plum);font-weight:700;padding:0;text-align:left}.order-item-link:hover{text-decoration:underline}.order-items-table small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.order-detail-grid{display:grid;grid-template-columns:1fr 240px;gap:25px;margin-top:20px}.order-detail-grid p{color:var(--muted);line-height:1.55}.order-totals>div{display:flex;justify-content:space-between;padding:6px 0;color:var(--muted)}.order-totals .grand-total{border-top:1px solid var(--line);margin-top:7px;padding-top:12px;color:var(--ink);font-size:15px}.order-totals .grand-total strong{font-family:"Fraunces",serif;font-size:20px}
@media(max-width:1050px){.favorite-summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.nav-group-label{padding-left:14px}.chart-summary{padding-left:0;flex-wrap:wrap}.chart-shell{grid-template-columns:36px minmax(0,1fr)}.chart-axis{margin-left:44px}.favorites-grid{grid-template-columns:1fr}.favorite-bar-row{grid-template-columns:20px minmax(90px,1fr) minmax(80px,1.4fr) 36px}.modal-metrics{grid-template-columns:repeat(2,1fr)}.order-detail-grid{grid-template-columns:1fr}.favorite-summary-grid{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.favorite-summary-grid{grid-template-columns:1fr}.chart-toggle{margin-top:8px}.chart-panel .panel-heading{display:block}.favorite-bar-row{grid-template-columns:18px minmax(90px,1fr) 34px}.favorite-track{display:none}}
.bar-column:hover:after,.bar-column:focus-visible:after{top:6px;bottom:auto}

/* Make-to-order production workspace */
.production-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:14px;margin-bottom:17px}.production-stat{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;text-align:left;box-shadow:0 5px 20px rgba(45,31,48,.035)}.production-stat:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#9b7b9b}.production-stat.review:before{background:#d1983d}.production-stat.overdue:before,.production-stat.blocked:before{background:#b95757}.production-stat.ready-pack:before{background:#3f8b69}.production-stat:hover,.production-stat:focus-visible{transform:translateY(-2px);border-color:#cdb9cb;outline:none}.production-stat span,.production-stat small{display:block;color:var(--muted);font-size:10px}.production-stat strong{display:block;font:700 26px "Fraunces",serif;margin:6px 0 4px}.production-alert{display:flex;align-items:center;gap:9px;background:#fff1e6;border:1px solid #eac7a8;color:#74492e;border-radius:12px;padding:11px 14px;margin-bottom:14px}.production-alert strong{font:700 20px "Fraunces",serif}.production-alert button{margin-left:auto;border:0;background:transparent;color:#74492e;font-weight:800}.production-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:15px}.production-tabs{display:flex;gap:4px;background:#ebe6e9;padding:4px;border-radius:12px}.production-tabs button{border:0;background:transparent;color:var(--muted);padding:9px 13px;border-radius:9px;font-weight:700;font-size:11px}.production-tabs button.active{background:#fff;color:var(--plum);box-shadow:0 2px 8px rgba(45,31,48,.08)}.production-toolbar>.button{margin-left:auto}.production-pane{display:none}.production-pane.active{display:block}.production-filters{align-items:center}.production-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(255px,1fr);gap:13px;overflow-x:auto;padding:1px 1px 16px;scrollbar-color:#cbbec9 transparent}.kanban-column{background:#eee9ec;border:1px solid #e5dfe3;border-radius:15px;min-height:440px;overflow:hidden}.kanban-column>header{display:flex;align-items:center;gap:8px;background:#f8f6f7;border-bottom:1px solid #e2dcdf;padding:13px}.kanban-column>header strong{font-size:11px}.kanban-column>header b{margin-left:auto;display:grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:#fff;color:var(--muted);font-size:10px}.kanban-cards{padding:9px;display:flex;flex-direction:column;gap:8px}.kanban-empty{text-align:center;color:#aaa;font-size:10px;padding:28px 8px}.production-job-card{position:relative;width:100%;background:#fff;border:1px solid #e5dfe3;border-radius:12px;padding:13px;text-align:left;box-shadow:0 3px 10px rgba(45,31,48,.04)}.production-job-card:hover,.production-job-card:focus-visible{border-color:#bfa7bd;transform:translateY(-1px);outline:none}.production-job-card.overdue{border-left:4px solid #bd5959}.production-job-card.unmapped{background:#fffbf0}.job-card-top,.job-card-foot{display:flex;justify-content:space-between;align-items:center}.job-card-top b{color:var(--plum);font-size:9px;letter-spacing:.06em}.job-card-top small,.job-card-foot{color:var(--muted);font-size:9px}.job-title{display:block;font-size:12px;line-height:1.35;margin:10px 0 3px}.job-variation{display:block;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-tags{display:flex;flex-wrap:wrap;gap:4px;margin:9px 0}.job-tags i,.priority-badge{display:inline-block;border-radius:999px;padding:4px 7px;background:#eee9ed;color:#665d67;font-size:8px;font-style:normal;font-weight:800;text-transform:capitalize}.job-tags .unmapped-tag{background:#fff0c9;color:#805e16}.job-tags .overdue-tag{background:#f7dfdf;color:#8b4040}.job-tags .priority.high,.priority-badge.high{background:#f3e2c8;color:#80591d}.job-tags .priority.rush,.priority-badge.rush{background:#f4dada;color:#8d3535}.priority-badge.low{background:#edf0f1;color:#657177}.priority-badge.normal{background:#eee9ed;color:#665d67}.job-progress,.table-progress{display:block;height:6px;border-radius:999px;background:#ede8eb;overflow:hidden}.job-progress i,.table-progress i{display:block;height:100%;background:#7b537a;border-radius:inherit}.job-progress-label{display:block;color:var(--muted);font-size:8px;margin:4px 0 10px}.job-blocked{display:block;background:#fae5e5;color:#8c3f3f;border-radius:7px;padding:6px;margin-bottom:8px;font-size:9px}.production-status-dot{display:inline-block;flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:#a9a4aa}.production-status-dot.needs_review{background:#d49a3f}.production-status-dot.ready{background:#7b6a91}.production-status-dot.in_production{background:#4579a2}.production-status-dot.quality_check{background:#a66b92}.production-status-dot.ready_to_pack,.production-status-dot.complete{background:#3f8b69}.production-status-dot.blocked,.production-status-dot.canceled{background:#b95757}.production-badge{display:inline-block;border-radius:999px;padding:5px 9px;background:#ede8ec;color:#665d67;font-size:9px;font-weight:800}.production-badge.needs_review{background:#fff0c9;color:#805e16}.production-badge.in_production{background:#e1edf5;color:#376681}.production-badge.quality_check{background:#f0e2eb;color:#7c4d6b}.production-badge.ready_to_pack,.production-badge.complete{background:#e2f4ea;color:#347859}.production-badge.blocked,.production-badge.canceled{background:#f7e4e4;color:#945052}.production-link{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--plum);font-size:10px;font-weight:800;padding:0}.production-link:hover{text-decoration:underline}.table-sub{display:block;color:var(--muted);font-size:9px;margin-top:3px}.danger-text{color:#a34646!important}.overdue-row{background:#fffafa}.unmapped-row{background:#fffcf3}.mapping-intro{display:flex;align-items:center;gap:25px;padding:23px 26px;margin-bottom:15px}.mapping-intro h3{margin:5px 0}.mapping-intro p{color:var(--muted);margin:6px 0 0}.mapping-key{margin-left:auto;min-width:230px;background:#faf6f9;border-radius:12px;padding:14px}.mapping-key span,.mapping-key small{display:block;color:var(--muted);font-size:9px}.mapping-key strong{display:block;margin:5px 0}.job-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:17px 0}.job-detail-grid>div{background:#faf7f9;border:1px solid var(--line);border-radius:10px;padding:11px}.job-detail-grid span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em}.job-detail-grid strong{display:block;margin-top:5px;font-size:11px}.personalization-box,.mapping-warning{background:#fff8e8;border:1px solid #ecd8a9;border-radius:10px;padding:12px 14px;margin:14px 0}.personalization-box p{margin:5px 0 0;white-space:pre-wrap}.mapping-warning{color:#725b1d;font-size:10px;line-height:1.45}.status-history{border-top:1px solid var(--line);margin-top:25px;padding-top:18px}.status-history>div{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid #f0ecef}.status-history>div>i{margin-top:4px}.status-history span strong,.status-history span small{display:block}.status-history span small{color:var(--muted);font-size:9px;margin-top:3px}.work-order-progress{display:flex;align-items:center;gap:15px;background:#faf7f9;border-radius:11px;padding:12px 14px;margin:15px 0}.work-order-progress>span{white-space:nowrap;color:var(--muted);font-size:10px}.work-order-progress>span strong{color:var(--ink)}.work-order-progress>i{display:block;flex:1;height:7px;background:#e9e3e7;border-radius:999px;overflow:hidden}.work-order-progress>i>b{display:block;height:100%;background:#6c496d}.work-order-jobs{display:flex;flex-direction:column;gap:7px}.work-order-jobs button{display:grid;grid-template-columns:10px minmax(0,1fr) auto 12px;align-items:center;gap:9px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px;text-align:left}.work-order-jobs button:hover{background:#faf6f9;border-color:#cfbdcc}.work-order-jobs span strong,.work-order-jobs span small{display:block}.work-order-jobs span small{color:var(--muted);font-size:9px;margin-top:3px}.work-order-jobs>button>b{font-size:10px}.work-order-jobs>button>i{font-style:normal;color:#ad9bab}.work-order-form{margin-top:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:1200px){.production-summary-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.production-summary-grid{grid-template-columns:1fr 1fr}.production-toolbar{align-items:flex-start;flex-wrap:wrap}.production-tabs{width:100%;overflow-x:auto}.production-tabs button{white-space:nowrap}.production-toolbar>.button{margin-left:0}.production-board{grid-auto-columns:82vw}.mapping-intro{display:block}.mapping-key{margin:15px 0 0;min-width:0}.job-detail-grid{grid-template-columns:1fr 1fr}.form-row{grid-template-columns:1fr}}
@media(max-width:430px){.production-summary-grid{grid-template-columns:1fr}.production-alert{align-items:flex-start;flex-wrap:wrap}.production-alert button{margin-left:0}.job-detail-grid{grid-template-columns:1fr}}

/* Finished-goods inventory and build-for-stock workflow */
.production-stat.inventory:before{background:#3c8e86}.production-stat.inventory.reserved:before{background:#54779c}.production-stat.inventory.recommended:before{background:#7a5a91}.production-stat.inventory.active{border-color:#9bc8c2;background:#f7fcfb}.job-tags .stock-build-tag{background:#dff1ed;color:#34746c}.badge.internal{background:#dff1ed;color:#34746c}.stock-source{font-weight:800;color:#34746c}.inventory-intro{display:flex;align-items:center;gap:25px;padding:23px 26px;margin-bottom:15px}.inventory-intro h3{margin:5px 0}.inventory-intro p{color:var(--muted);line-height:1.5;margin:6px 0 0;max-width:690px}.inventory-formula{margin-left:auto;min-width:310px;background:#f3f8f7;border:1px solid #dcebe8;border-radius:12px;padding:14px}.inventory-formula span,.inventory-formula small{display:block;color:var(--muted);font-size:9px}.inventory-formula strong{display:block;margin:5px 0;color:#315f59}.inventory-table-panel table{min-width:1080px}.inventory-shortage-row{background:#fff9f6}.recommended-quantity{display:inline-grid;place-items:center;min-width:38px;height:30px;padding:0 9px;border-radius:999px;background:#ede5f1;color:var(--plum);font:700 15px "Fraunces",serif}.inventory-actions{display:flex;gap:5px}.secondary-action{color:#5f5962}.inventory-metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:17px 0}.inventory-metric-grid>div{background:#faf7f9;border:1px solid var(--line);border-radius:10px;padding:12px}.inventory-metric-grid span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em}.inventory-metric-grid strong{display:block;margin-top:5px;font:700 20px "Fraunces",serif}.recommended-pill{display:inline-flex;align-items:center;border-radius:999px;background:#ede5f1;color:var(--plum);padding:6px 10px;font-size:9px;font-weight:800}.inventory-equation{background:#f3f8f7;border:1px solid #dcebe8;border-radius:10px;padding:12px 14px;margin:12px 0}.inventory-equation span,.inventory-equation strong{display:block}.inventory-equation span{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em}.inventory-equation strong{color:#315f59;margin-top:5px;font-size:11px}.inventory-detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0}.inventory-mapping-list,.inventory-job-list{display:flex;flex-direction:column;gap:7px;margin-top:9px}.inventory-mapping-list>div{padding:9px 10px;border:1px solid var(--line);border-radius:9px}.inventory-mapping-list span,.inventory-mapping-list small{display:block}.inventory-mapping-list small{color:var(--muted);font-size:9px;margin-top:3px}.inventory-job-list button{display:grid;grid-template-columns:9px minmax(0,1fr) 12px;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;text-align:left}.inventory-job-list button:hover{background:#faf6f9}.inventory-job-list strong,.inventory-job-list small{display:block}.inventory-job-list small{color:var(--muted);font-size:8px;margin-top:3px}.inventory-job-list i{font-style:normal;color:#ad9bab}.inventory-adjustment-form{border-top:1px solid var(--line);padding-top:20px}.inventory-adjustment-form .form-row{grid-template-columns:1.15fr 1fr 1fr}.inventory-ledger{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.ledger-row{display:grid;grid-template-columns:minmax(125px,.7fr) 1.3fr;gap:6px 12px;padding:10px 0;border-bottom:1px solid #f0ecef}.ledger-event{text-transform:capitalize;font-weight:800;font-size:10px}.ledger-deltas{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}.ledger-deltas b{border-radius:999px;background:#eee9ed;color:#665d67;padding:3px 7px;font-size:8px}.ledger-deltas b.positive{background:#e2f4ea;color:#347859}.ledger-deltas b.negative{background:#f7e4e4;color:#945052}.ledger-row small{grid-column:1/-1;color:var(--muted);font-size:8px}.stock-build-capacity{background:#f3f8f7;border:1px solid #dcebe8;border-radius:11px;padding:14px;margin-bottom:18px}.stock-build-capacity span,.stock-build-capacity small{display:block;color:var(--muted);font-size:9px}.stock-build-capacity strong{display:block;font:700 22px "Fraunces",serif;margin:4px 0;color:#315f59}
@media(max-width:900px){.inventory-intro{display:block}.inventory-formula{margin:15px 0 0;min-width:0}.inventory-detail-columns{grid-template-columns:1fr}.inventory-adjustment-form .form-row{grid-template-columns:1fr}}
@media(max-width:600px){.inventory-metric-grid{grid-template-columns:1fr 1fr}.ledger-row{grid-template-columns:1fr}.ledger-deltas{justify-content:flex-start}.ledger-row small{grid-column:auto}.inventory-actions{flex-direction:column}}

/* Listing-first physical inventory */
.listing-stock-value{text-align:left}.listing-stock-value strong,.listing-stock-value small{display:block}.listing-stock-value small{color:var(--muted);font-size:8px;margin-top:2px}.listing-modal-metrics{grid-template-columns:repeat(3,1fr)}.listing-modal-actions{flex-wrap:wrap}.stock-build-button{background:#f0f8f6!important;border-color:#cfe4df!important;color:#326e66!important}.listing-build-callout{display:flex;align-items:center;gap:10px;background:#edf8f5;border:1px solid #cae4dd;border-radius:11px;padding:12px 14px;margin:12px 0}.listing-build-callout strong{color:#316b63}.listing-build-callout span{color:var(--muted);font-size:10px}.listing-inventory-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.listing-inventory-legend>div{background:#faf7f9;border:1px solid var(--line);border-radius:10px;padding:11px}.listing-inventory-legend span,.listing-inventory-legend strong,.listing-inventory-legend small{display:block}.listing-inventory-legend span{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em}.listing-inventory-legend strong{margin:4px 0;font-size:10px}.listing-inventory-legend small{color:var(--muted);font-size:8px;line-height:1.35}.listing-inventory-table-wrap{overflow-x:auto;margin:14px 0;border:1px solid var(--line);border-radius:11px}.live-listing-inventory-table{min-width:1120px;margin:0}.live-listing-inventory-table th{background:#fbfaf9;color:#928c94;font-size:8px;letter-spacing:.07em;text-transform:uppercase}.live-listing-inventory-table td>strong,.live-listing-inventory-table td>small{display:block}.live-listing-inventory-table td>small{color:var(--muted);font-size:8px;margin-top:3px}.physical-stock-value{font:700 18px "Fraunces",serif;color:#315f59}.listing-inventory-actions{display:flex;gap:5px}.setup-production-action{white-space:nowrap;background:#f0f8f6;border-color:#cfe4df;color:#326e66}
@media(max-width:760px){.listing-modal-metrics{grid-template-columns:1fr 1fr}.listing-inventory-legend{grid-template-columns:1fr}.listing-build-callout{align-items:flex-start;flex-direction:column}}

/* Packing and fulfillment */
.production-stat.packed:before{background:#356f83}.production-status-dot.packed{background:#356f83}.production-badge.packed{background:#dfeef3;color:#2f6577}.packing-admin-summary{display:flex;flex-direction:column;gap:5px;background:#eef6f8;border:1px solid #d3e6eb;border-radius:11px;padding:13px 15px;margin:15px 0}.packing-admin-summary strong{color:#2f6577}.packing-admin-summary small{color:var(--muted);font-size:9px}

/* Version 10 · Fulfillment Control Center */
.fulfillment-hero{display:flex;align-items:center;gap:24px;min-height:142px;padding:28px 32px;border-radius:20px;color:#fff;background:linear-gradient(120deg,#402244,#704064 70%,#8b536f);box-shadow:var(--shadow);position:relative;overflow:hidden}.fulfillment-hero:after{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(255,255,255,.14);border-radius:50%;right:-70px;top:-120px}.fulfillment-hero h2{font:700 28px "Fraunces",serif;margin:7px 0}.fulfillment-hero p{margin:0;color:#e4d4e2}.fulfillment-hero-status{margin-left:auto;min-width:185px;padding:15px 18px;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(255,255,255,.09);z-index:1}.fulfillment-hero-status span,.fulfillment-hero-status strong{display:block}.fulfillment-hero-status span{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#e8cde1}.fulfillment-hero-status strong{font-size:12px;margin-top:6px}
.fulfillment-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.fulfillment-summary-grid>button{min-width:0;text-align:left;border:1px solid var(--line);border-radius:14px;background:#fff;padding:17px 18px;box-shadow:0 4px 16px rgba(45,31,48,.035)}.fulfillment-summary-grid>button:hover,.fulfillment-summary-grid>button:focus-visible{border-color:#cdb9cb;transform:translateY(-2px);outline:none}.fulfillment-summary-grid span,.fulfillment-summary-grid small,.fulfillment-summary-grid strong{display:block}.fulfillment-summary-grid span{font-size:10px;color:var(--muted)}.fulfillment-summary-grid strong{font:700 25px "Fraunces",serif;margin:5px 0}.fulfillment-summary-grid small{font-size:9px;color:#9b949d}.fulfillment-summary-grid .attention{background:#fff9ea;border-color:#ebd8a7}.fulfillment-summary-grid .danger{background:#fff4f3;border-color:#edcbc7}
.fulfillment-workflow{display:flex;align-items:center;gap:6px;padding:10px 14px;margin-bottom:14px;overflow-x:auto}.fulfillment-workflow>button{flex:1;min-width:130px;display:grid;grid-template-columns:25px minmax(60px,1fr) auto;align-items:center;gap:7px;border:0;background:transparent;padding:10px;border-radius:10px;text-align:left}.fulfillment-workflow>button:hover{background:#f6f1f5}.fulfillment-workflow>button span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#efe7ee;color:var(--plum);font-size:9px;font-weight:800}.fulfillment-workflow>button b{font-size:10px}.fulfillment-workflow>button strong{font:700 17px "Fraunces",serif}.fulfillment-workflow>i{color:#b9afb8;font-style:normal}
.fulfillment-toolbar{display:flex;gap:9px;align-items:center;margin:10px 0}.fulfillment-toolbar .search-wrap{height:43px;max-width:none}.fulfillment-toolbar select{height:43px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:0 34px 0 13px;color:#625d66}.fulfillment-quick-filters{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 15px}.fulfillment-quick-filters button{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);padding:8px 13px;font-size:10px;font-weight:700}.fulfillment-quick-filters button.active,.fulfillment-quick-filters button:hover{background:#efe6ee;border-color:#d9c8d6;color:var(--plum)}
.fulfillment-order-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fulfillment-order-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-left:5px solid #98769a;border-radius:16px;background:#fff;padding:18px;text-align:left;box-shadow:0 5px 20px rgba(45,31,48,.035)}.fulfillment-order-card:hover,.fulfillment-order-card:focus-visible{transform:translateY(-2px);box-shadow:0 12px 30px rgba(45,31,48,.09);outline:none}.fulfillment-order-card.stage-needs_review,.fulfillment-order-card.stage-blocked,.fulfillment-order-card.stage-shipped_incomplete{border-left-color:#b54e5a}.fulfillment-order-card.stage-ready_to_pack{border-left-color:#3f8b70}.fulfillment-order-card.stage-partially_packed{border-left-color:#b88634}.fulfillment-order-card.stage-packed{border-left-color:#3b778d}.fulfillment-order-card.has-exception{background:linear-gradient(90deg,#fffaf8,#fff 30%)}.fulfillment-card-head,.fulfillment-card-meta,.fulfillment-card-item,.fulfillment-card-progress,.fulfillment-next{display:flex;align-items:center}.fulfillment-card-head{justify-content:space-between;gap:12px}.fulfillment-card-head>span b,.fulfillment-card-head>span small{display:block}.fulfillment-card-head>span b{font-size:13px;color:var(--plum)}.fulfillment-card-head>span small{font-size:10px;color:var(--muted);margin-top:3px}.fulfillment-stage{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;background:#eee7ef;color:#67466b;font-size:9px;font-weight:800;font-style:normal;white-space:nowrap}.fulfillment-stage.ready_to_pack{background:#e2f3eb;color:#34765e}.fulfillment-stage.partially_packed{background:#fff0d5;color:#86601f}.fulfillment-stage.packed{background:#dfedf2;color:#2e6578}.fulfillment-stage.blocked,.fulfillment-stage.needs_review,.fulfillment-stage.shipped_incomplete{background:#f8e1e3;color:#93434d}.fulfillment-stage.shipped{background:#e2f4ea;color:#347859}.fulfillment-stage.canceled{background:#eee;color:#777}.fulfillment-card-meta{gap:7px;flex-wrap:wrap;margin:13px 0}.fulfillment-card-meta>b{font-size:9px;color:var(--muted)}.fulfillment-card-meta>b.overdue{color:#a93b47}.fulfillment-card-meta>b.today{color:#9a6a1d}.fulfillment-card-meta .priority-badge{font-size:8px}.fulfillment-exception-chip{border-radius:999px;padding:4px 7px;font-size:8px;font-weight:800}.fulfillment-exception-chip.danger{background:#f9e0e2;color:#93434d}.fulfillment-exception-chip.warning{background:#fff0d4;color:#86601f}.fulfillment-exception-chip.info{background:#e2eef2;color:#2e6578}.fulfillment-card-items{display:flex;flex-direction:column;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px 0}.fulfillment-card-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:9px;padding:6px 0}.fulfillment-card-item>i{display:grid;place-items:center;width:38px;height:34px;border-radius:7px;background:#f0ecef;color:var(--plum);overflow:hidden;font-style:normal}.fulfillment-card-item img{width:100%;height:100%;object-fit:cover}.fulfillment-card-item span b,.fulfillment-card-item span small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fulfillment-card-item span b{font-size:10px}.fulfillment-card-item span small{font-size:8px;color:var(--muted);margin-top:3px}.fulfillment-card-item>em{font-style:normal;font-size:8px;color:var(--muted);max-width:110px;text-align:right}.fulfillment-card-progress{gap:13px;margin:12px 0}.fulfillment-card-progress>span{min-width:145px}.fulfillment-card-progress>span b,.fulfillment-card-progress>span small{display:block}.fulfillment-card-progress>span b{font-size:9px}.fulfillment-card-progress>span small{font-size:8px;color:var(--muted);margin-top:3px}.fulfillment-card-progress>i{height:8px;flex:1;background:#eee8ed;border-radius:999px;overflow:hidden}.fulfillment-card-progress>i b{display:block;height:100%;background:linear-gradient(90deg,#765276,#4a8b76);border-radius:inherit}.fulfillment-next{gap:10px;background:#f8f5f7;border-radius:10px;padding:10px 11px}.fulfillment-next small{font-size:8px;color:var(--muted)}.fulfillment-next strong{font-size:9px;flex:1}.fulfillment-next i{font-size:9px;color:var(--plum);font-style:normal;font-weight:800}
.fulfillment-detail-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:17px 0}.fulfillment-detail-metrics>div{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fbfaf9}.fulfillment-detail-metrics span,.fulfillment-detail-metrics strong{display:block}.fulfillment-detail-metrics span{font-size:8px;color:var(--muted);text-transform:uppercase}.fulfillment-detail-metrics strong{font:700 18px "Fraunces",serif;margin-top:5px;text-transform:capitalize}.fulfillment-exception-list{display:grid;gap:7px;margin:13px 0}.fulfillment-exception{border:1px solid;border-radius:10px;padding:11px 13px}.fulfillment-exception strong,.fulfillment-exception span{display:block}.fulfillment-exception strong{font-size:10px}.fulfillment-exception span{font-size:9px;margin-top:4px}.fulfillment-exception.danger{background:#fff1f1;border-color:#edc8c8;color:#8e3d47}.fulfillment-exception.warning{background:#fff8e7;border-color:#ead5a3;color:#77591b}.fulfillment-exception.info{background:#edf7fa;border-color:#c9e1e8;color:#315f6e}.fulfillment-detail-items{margin:20px 0}.fulfillment-detail-items>button{display:grid;grid-template-columns:12px minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 3px;text-align:left}.fulfillment-detail-items>button:hover{background:#fbf7fa}.fulfillment-detail-items span strong,.fulfillment-detail-items span small{display:block}.fulfillment-detail-items span strong{font-size:11px}.fulfillment-detail-items span small{font-size:9px;color:var(--muted);margin-top:3px}.fulfillment-detail-items>button>b{font-size:10px}.fulfillment-detail-items>button>em{font-size:8px;color:var(--muted);font-style:normal}.fulfillment-modal-actions{flex-wrap:wrap}.fulfillment-timeline{margin-top:24px;border-top:1px solid var(--line);padding-top:19px}.fulfillment-timeline>div{display:grid;grid-template-columns:12px minmax(0,1fr);gap:10px;padding:10px 2px}.timeline-dot{width:9px;height:9px;border-radius:50%;background:#8f6b90;margin-top:4px}.timeline-dot.packed{background:#3d7b8d}.timeline-dot.etsy_shipped{background:#3b8a67}.fulfillment-timeline strong,.fulfillment-timeline small{display:block}.fulfillment-timeline strong{font-size:10px}.fulfillment-timeline small{font-size:8px;color:var(--muted);margin-top:3px}.fulfillment-timeline p{font-size:9px;color:#6e6870;margin:4px 0 0}
@media(max-width:1100px){.fulfillment-summary-grid{grid-template-columns:repeat(2,1fr)}.fulfillment-order-grid{grid-template-columns:1fr}}
@media(max-width:760px){.fulfillment-hero{align-items:flex-start;flex-direction:column;padding:23px}.fulfillment-hero-status{margin-left:0;width:100%}.fulfillment-summary-grid{grid-template-columns:1fr 1fr}.fulfillment-workflow{align-items:stretch}.fulfillment-workflow>i{display:none}.fulfillment-toolbar{align-items:stretch;flex-wrap:wrap}.fulfillment-toolbar .search-wrap{flex-basis:100%}.fulfillment-toolbar select{flex:1}.fulfillment-detail-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.fulfillment-summary-grid{grid-template-columns:1fr}.fulfillment-card-head{align-items:flex-start;flex-direction:column}.fulfillment-card-item{grid-template-columns:38px minmax(0,1fr)}.fulfillment-card-item>em{grid-column:2;text-align:left}.fulfillment-card-progress{align-items:stretch;flex-direction:column}.fulfillment-detail-metrics{grid-template-columns:1fr 1fr}}

/* Version 11 · raw materials and product recipes */
.materials-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:15px}.material-stat{min-height:112px;border:1px solid var(--line);border-radius:15px;background:#fff;padding:16px;text-align:left;box-shadow:0 4px 16px rgba(45,31,48,.035)}button.material-stat{cursor:pointer}.material-stat:hover{border-color:#bfa9bb;transform:translateY(-1px)}.material-stat span,.material-stat strong,.material-stat small{display:block}.material-stat span{font-size:10px;color:var(--muted);font-weight:750}.material-stat strong{font:800 28px Georgia,serif;margin:9px 0 5px}.material-stat small{color:var(--muted);font-size:9px;line-height:1.35}.material-stat.danger{background:#fff5f5;border-color:#edc9cc}.material-stat.warning{background:#fffaf0;border-color:#ead8ad}.material-intro{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px;margin-bottom:24px}.material-intro h3{margin:5px 0}.material-intro p{color:var(--muted);margin:0;max-width:650px}.materials-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:25px 0 10px}.materials-toolbar h2{font:800 23px Georgia,serif;margin:0}.materials-toolbar p{color:var(--muted);font-size:10px;margin:4px 0 0}.recipe-toolbar{margin-top:34px}.material-low-row{background:#fffdf7}.capacity-constraint{display:inline-block;border-radius:999px;padding:5px 8px;background:#edf3f2;color:#477068;font-size:9px;font-weight:800;text-transform:capitalize}.capacity-constraint.materials{background:#fff0df;color:#8d5e20}.capacity-constraint.missing_bom{background:#f7e5e7;color:#8b434c}.bom-rows{display:grid;gap:10px;margin:16px 0}.bom-row{display:grid;grid-template-columns:2fr 1fr .7fr 42px;align-items:end;gap:9px;border:1px solid var(--line);border-radius:12px;padding:12px;background:#faf8f9}.bom-row label{margin:0}.bom-remove{width:42px;height:42px;border:0;border-radius:10px;background:#f2e4e6;color:#913e49;font-size:21px}.split-actions{display:flex;flex-wrap:wrap}.split-actions .button.primary{margin-left:auto}.danger-button{color:#8d3d47!important}.material-adjustment-form{margin-top:22px;border-top:1px solid var(--line);padding-top:20px}
@media(max-width:1300px){.materials-summary-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.materials-summary-grid{grid-template-columns:repeat(2,1fr)}.material-intro{align-items:flex-start;flex-direction:column}.bom-row{grid-template-columns:1fr 1fr}.bom-row label:first-child{grid-column:1/-1}.bom-remove{align-self:end}}

/* Version 12 · production scheduling and work centers */
.app-version{display:inline-flex;margin-left:7px;border-radius:999px;background:#efe8ef;color:var(--plum);padding:3px 7px;font-size:8px;font-weight:900;letter-spacing:.05em;vertical-align:middle}.scheduling-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px;margin-bottom:18px;background:linear-gradient(135deg,#fff 0%,#f4edf3 100%)}.scheduling-hero h2{font:800 29px Georgia,serif;margin:5px 0}.scheduling-hero p{max-width:680px;margin:0;color:var(--muted)}.scheduling-hero-actions{display:flex;gap:9px;flex-wrap:wrap}.scheduling-summary-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;margin-bottom:18px}.schedule-stat{min-height:105px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px;text-align:left;cursor:pointer}.schedule-stat:hover{border-color:#bda8b9;transform:translateY(-1px)}.schedule-stat span,.schedule-stat strong,.schedule-stat small{display:block}.schedule-stat span{font-size:9px;color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.04em}.schedule-stat strong{font:800 25px Georgia,serif;margin:8px 0 5px}.schedule-stat small{font-size:8px;color:var(--muted);line-height:1.4}.schedule-stat.running{background:#eef8f3;border-color:#c8e5d5}.schedule-stat.risk{background:#fff4f4;border-color:#edc8cc}.schedule-stat.warning{background:#fff9ec;border-color:#ead7ad}.schedule-pane{display:none}.schedule-pane.active{display:block}.schedule-risk-row{background:#fff7f7}.schedule-readiness,.schedule-state{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:850;text-transform:uppercase;white-space:nowrap}.schedule-readiness.ready{background:#e5f3eb;color:#3f725a}.schedule-readiness.shortage,.schedule-state.paused,.schedule-state.unscheduled{background:#fff0df;color:#8d5e20}.schedule-readiness.routing{background:#f4e4e8;color:#8a4452}.schedule-state.running{background:#dff2e8;color:#346d52}.schedule-state.scheduled{background:#e8edf8;color:#466088}.schedule-state.complete{background:#e5f1f2;color:#3c6c73}.scheduled-window{display:block;font-size:9px;color:var(--muted);margin-top:4px}.work-center-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.work-center-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:18px;box-shadow:0 4px 16px rgba(45,31,48,.035)}.work-center-card.offline,.work-center-card.maintenance{background:#f8f6f7}.work-center-head{display:flex;align-items:flex-start;gap:12px}.work-center-head>span{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;background:#eee7ed;color:var(--plum);font-size:20px}.work-center-head div{min-width:0;flex:1}.work-center-head strong,.work-center-head small{display:block}.work-center-head small{margin-top:4px;color:var(--muted);font-size:9px;text-transform:capitalize}.work-center-head em{border-radius:999px;padding:5px 8px;background:#e7f4ed;color:#3e7358;font-size:8px;font-weight:850;font-style:normal;text-transform:uppercase}.work-center-card.maintenance .work-center-head em,.work-center-card.offline .work-center-head em{background:#eee8eb;color:#725e69}.work-center-current{border-radius:12px;background:#f8f5f7;margin:15px 0;padding:13px}.work-center-current span,.work-center-current strong,.work-center-current small{display:block}.work-center-current span{font-size:8px;color:var(--muted);font-weight:850;text-transform:uppercase}.work-center-current strong{font-size:11px;margin:6px 0}.work-center-current small{font-size:9px;color:var(--muted)}.work-center-load{display:grid;grid-template-columns:1fr 1fr;gap:8px}.work-center-load div{border:1px solid var(--line);border-radius:10px;padding:10px}.work-center-load span,.work-center-load strong{display:block}.work-center-load span{font-size:8px;color:var(--muted)}.work-center-load strong{margin-top:4px}.work-center-util{height:7px;border-radius:999px;background:#ece8eb;margin:13px 0 6px;overflow:hidden}.work-center-util i{display:block;height:100%;border-radius:inherit;background:var(--green)}.work-center-footer{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:8px}.routing-intro{color:var(--muted);font-size:10px;margin:0 0 14px}.routing-preview,.schedule-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:15px 0}.routing-preview div,.schedule-detail-grid div{border:1px solid var(--line);border-radius:11px;padding:11px}.routing-preview span,.routing-preview strong,.schedule-detail-grid span,.schedule-detail-grid strong{display:block}.routing-preview span,.schedule-detail-grid span{font-size:8px;color:var(--muted);text-transform:uppercase}.routing-preview strong,.schedule-detail-grid strong{margin-top:5px;font-size:11px}
@media(max-width:1400px){.scheduling-summary-grid{grid-template-columns:repeat(4,1fr)}.work-center-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.scheduling-hero{align-items:flex-start;flex-direction:column}.scheduling-hero-actions{width:100%}.scheduling-hero-actions button{flex:1}.scheduling-summary-grid{grid-template-columns:repeat(2,1fr)}.work-center-grid{grid-template-columns:1fr}.routing-preview,.schedule-detail-grid{grid-template-columns:1fr}}
.work-center-head>i{display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;border-radius:12px;background:#eee7ed;color:var(--plum);font-size:20px;font-style:normal}.work-center-head>span{display:block;width:auto;height:auto;min-width:0;flex:1;border-radius:0;background:transparent;color:inherit;font-size:inherit;text-align:left}.work-center-load{grid-template-columns:repeat(3,1fr);margin-top:10px}.work-center-load>span{border:1px solid var(--line);border-radius:10px;padding:9px;text-align:center;font-size:8px;color:var(--muted)}.work-center-load b{display:block;color:var(--ink);font-size:10px;margin-bottom:3px}.work-center-footer>i{font-style:normal;color:var(--plum);font-weight:850}.work-center-card.running{border-color:#c7dfd1;background:#f8fcfa}.work-center-card.running .work-center-head em{background:#e0f1e7;color:#397157}
.work-center-card{display:block;width:100%;text-align:left;cursor:pointer;color:var(--ink)}.schedule-stat.danger{background:#fff4f4;border-color:#edc8cc}.schedule-readiness.danger{background:#f7e5e7;color:#8b434c}.schedule-readiness.unknown{background:#f0edf0;color:#746a73}.routing-preview{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:11px;background:#faf8f9;padding:12px}.routing-preview strong{margin:0}.scheduled-window{border:1px solid var(--line);border-radius:11px;background:#faf8f9;padding:13px;margin:12px 0}.scheduled-window span,.scheduled-window strong,.scheduled-window small{display:block}.scheduled-window span{font-size:8px;color:var(--muted);text-transform:uppercase}.scheduled-window strong{margin:6px 0 3px}.scheduled-window small{color:var(--muted);font-size:9px}

/* Version 13 · filament identity, spool counts, and weight/length recipes */
.materials-summary-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.filament-settings,.opening-stock,.filament-count-form{border:1px solid #d8cfda;border-radius:14px;background:#faf7fb;padding:16px;margin:16px 0}.filament-settings-title,.filament-count-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:13px}.filament-settings-title>span{font-size:9px;font-weight:900;letter-spacing:.08em;color:var(--plum)}.filament-settings-title>small,.filament-count-heading>small{max-width:330px;color:var(--muted);font-size:9px;text-align:right;line-height:1.4}.filament-conversion-preview{border:1px solid #d8d0d7;border-radius:11px;background:#fff;padding:11px}.filament-conversion-preview span,.filament-conversion-preview strong,.filament-conversion-preview small{display:block}.filament-conversion-preview span{font-size:8px;color:var(--muted);text-transform:uppercase}.filament-conversion-preview strong{font:800 19px Georgia,serif;margin:5px 0}.filament-conversion-preview small{font-size:8px;color:var(--muted)}.opening-stock>.eyebrow{display:block;margin-bottom:12px}.field-label{display:block;font-size:10px;font-weight:800;color:var(--muted);margin-top:7px}.filament-partial-rows{display:grid;gap:8px;margin:12px 0}.filament-partial-row{display:grid;grid-template-columns:1fr 1fr 42px;align-items:end;gap:9px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:10px}.filament-partial-row label{margin:0}.filament-partial-row>button{width:42px;height:42px;border:0;border-radius:9px;background:#f3e5e7;color:#943e49;font-size:21px}.filament-count-heading h3{font:800 20px Georgia,serif;margin:5px 0 0}.filament-count-total{display:flex;align-items:center;justify-content:space-between;border-radius:11px;background:#e7f3ed;color:#3e6f58;padding:13px;margin:13px 0}.filament-count-total span{font-size:9px;font-weight:800;text-transform:uppercase}.filament-count-total strong{font:800 20px Georgia,serif}.filament-bom-row{grid-template-columns:1.6fr 1.1fr 1fr .65fr 42px}.filament-bom-row small{display:block;color:var(--muted);font-size:8px;margin-top:4px}
@media(max-width:1450px){.materials-summary-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){.filament-bom-row{grid-template-columns:1fr 1fr}.filament-bom-row label:first-child{grid-column:1/-1}.filament-settings-title,.filament-count-heading{align-items:flex-start;flex-direction:column}.filament-settings-title>small,.filament-count-heading>small{text-align:left}.materials-summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.filament-partial-row{grid-template-columns:1fr}.filament-partial-row>button{width:100%}}

/* Version 14 · sales intelligence, period trends, and product drill-through */
.sidebar nav{overflow-y:auto;min-height:0;padding-right:2px}.chart-explore-link{display:block;margin:8px 2px 0 auto;border:0;background:transparent;color:var(--plum);font-size:9px;font-weight:800}.chart-explore-link:hover{text-decoration:underline}
.sales-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:27px 30px;margin-bottom:17px;background:linear-gradient(135deg,#fff 0%,#f5edf3 100%)}.sales-hero h2{font:800 29px Georgia,serif;margin:6px 0}.sales-hero p{margin:0;color:var(--muted);line-height:1.45}.sales-period-control{display:flex;flex-direction:column;gap:7px;min-width:190px;color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.sales-period-control select,.sales-section-heading select{height:43px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);padding:0 36px 0 13px;text-transform:none;font-weight:700;letter-spacing:0}
.sales-metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:17px}.sales-stat{position:relative;min-height:119px;border:1px solid var(--line);border-radius:15px;background:#fff;padding:17px;text-align:left;box-shadow:0 4px 16px rgba(45,31,48,.035)}.sales-stat:after{content:"→";position:absolute;right:14px;top:14px;color:#b5a7b4;font-weight:800}.sales-stat:hover,.sales-stat:focus-visible{border-color:#bda6b9;transform:translateY(-2px);outline:none;box-shadow:0 10px 24px rgba(45,31,48,.08)}.sales-stat.emphasis{background:linear-gradient(145deg,#4b294f,#704064);color:#fff;border-color:transparent}.sales-stat span,.sales-stat strong,.sales-stat small{display:block}.sales-stat span{font-size:9px;color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.04em}.sales-stat strong{font:800 26px Georgia,serif;margin:10px 0 6px}.sales-stat small{font-size:8px;color:var(--muted);line-height:1.35}.sales-stat.emphasis span,.sales-stat.emphasis small{color:#dfcfdd}.sales-stat.emphasis:after{color:#d7bfd2}
.sales-dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(285px,.8fr);gap:17px}.sales-trend-panel,.sales-insight-panel{padding:24px 26px}.sales-trend-panel .chart-toggle{flex-wrap:wrap}.sales-chart-summary{display:flex;align-items:baseline;gap:11px;margin:20px 0 6px}.sales-chart-summary strong{font:800 25px Georgia,serif}.sales-chart-summary span{font-size:9px;color:var(--muted)}.sales-chart-scroll{overflow-x:auto;overflow-y:hidden;padding-bottom:4px}.sales-trend-chart{min-height:300px;display:grid;place-items:center}.sales-trend-chart svg{display:block;height:300px;overflow:visible}.sales-grid-line{stroke:#ece7eb;stroke-width:1}.sales-axis-text{fill:#918a93;font-size:9px;font-family:Inter,"Segoe UI",Arial,sans-serif}.sales-axis-text.x-label{font-size:8px}.sales-area{fill:rgba(232,119,103,.14)}.sales-line{fill:none;stroke:var(--coral);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.sales-point{cursor:pointer}.sales-point-target{fill:transparent}.sales-point-dot{fill:#fff;stroke:var(--coral);stroke-width:3;vector-effect:non-scaling-stroke}.sales-point.has-value .sales-point-dot{fill:var(--coral)}.sales-point:hover .sales-point-dot,.sales-point:focus .sales-point-dot{r:8;fill:var(--plum);stroke:var(--plum)}.sales-point:focus{outline:none}
.sales-insight-panel{display:flex;flex-direction:column}.sales-highlight{position:relative;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:17px 24px 17px 0;text-align:left}.sales-highlight:hover{background:#fbf8fa}.sales-highlight span,.sales-highlight strong,.sales-highlight small{display:block}.sales-highlight span{font-size:8px;color:var(--muted);text-transform:uppercase;font-weight:850}.sales-highlight strong{font:800 22px Georgia,serif;margin:6px 0}.sales-highlight small{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sales-highlight i{position:absolute;right:3px;top:50%;font-style:normal;color:var(--plum)}.sales-highlight:disabled{cursor:default;opacity:.65}.sales-definition{border-radius:11px;background:#faf7f9;padding:12px 13px;margin-top:11px}.sales-definition span{font-size:8px;color:var(--plum);font-weight:900;text-transform:uppercase}.sales-definition p{font-size:8px;color:var(--muted);line-height:1.45;margin:5px 0 0}
.sales-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin:32px 2px 13px}.sales-section-heading h2{font:800 24px Georgia,serif;margin:5px 0 2px}.sales-section-heading p{margin:0;color:var(--muted);font-size:9px}.sales-section-heading>label{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase}.sales-section-heading select{min-width:170px}.period-detail-heading{margin-top:34px}.sales-table-panel table{min-width:970px}.sales-rank{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#f0e9ef;color:var(--plum);font-weight:900}.sales-product-cell{min-width:330px}.sales-product-link{display:block;max-width:360px;border:0;background:transparent;padding:0;color:var(--ink);font-weight:800;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sales-product-link:hover{color:var(--plum);text-decoration:underline}.sales-share{display:flex;align-items:center;gap:8px;min-width:125px}.sales-share>span{width:74px;height:7px;border-radius:999px;background:#eee9ed;overflow:hidden}.sales-share i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--coral),#c65e71)}.sales-share b{font-size:8px;color:var(--muted)}.sales-zero-row{color:#aaa;background:#fcfbfb}.sales-zero-row strong{color:#888}
@media(max-width:1350px){.sales-metric-grid{grid-template-columns:repeat(3,1fr)}.sales-dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr)}}
@media(max-width:950px){.sales-dashboard-grid{grid-template-columns:1fr}.sales-insight-panel{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sales-insight-panel .panel-heading{grid-column:1/-1}.sales-highlight{border:1px solid var(--line);border-radius:11px;padding-left:12px}.sales-definition{margin-top:0}}
@media(max-width:760px){.sales-hero{align-items:flex-start;flex-direction:column;padding:23px}.sales-period-control{width:100%}.sales-metric-grid{grid-template-columns:1fr 1fr}.sales-trend-panel,.sales-insight-panel{padding:19px}.sales-trend-panel .panel-heading{display:block}.sales-trend-panel .chart-toggle{margin-top:12px;width:max-content}.sales-section-heading{align-items:flex-start;flex-direction:column}.sales-section-heading>label{width:100%;justify-content:space-between}.sales-section-heading select{flex:1}.sales-product-cell{min-width:270px}}
@media(max-width:460px){.sales-metric-grid{grid-template-columns:1fr}.sales-insight-panel{grid-template-columns:1fr}.sales-insight-panel .panel-heading{grid-column:auto}.sales-chart-summary{align-items:flex-start;flex-direction:column}}

/* Version 15 · estimated profitability, cost coverage, and pricing simulation */
.profit-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:27px 30px;margin-bottom:14px;background:linear-gradient(135deg,#fff 0%,#eef6f2 100%)}.profit-hero h2{font:800 29px Georgia,serif;margin:6px 0}.profit-hero p{margin:0;color:var(--muted)}.profit-hero-actions{display:flex;align-items:flex-end;gap:10px}.profit-hero-actions label{display:flex;flex-direction:column;gap:7px;min-width:180px;color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase}.profit-hero-actions select,.profit-section-controls select{height:43px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:0 36px 0 13px;color:var(--ink);font-weight:700;text-transform:none}.profit-alert{display:flex;align-items:center;gap:18px;border:1px solid #e5c787;border-radius:13px;background:#fff8e8;color:#74551c;padding:13px 16px;margin-bottom:14px}.profit-alert div{flex:1}.profit-alert strong,.profit-alert span{display:block}.profit-alert strong{font-size:11px}.profit-alert span{font-size:9px;margin-top:3px}.profit-alert .button{padding:8px 12px;color:#75571e;background:#fffaf0}
.profit-metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;margin-bottom:16px}.profit-stat{position:relative;min-height:116px;border:1px solid var(--line);border-radius:15px;background:#fff;padding:16px;text-align:left;box-shadow:0 4px 16px rgba(45,31,48,.035)}.profit-stat:after{content:"→";position:absolute;right:12px;top:12px;color:#b2a6b1}.profit-stat:hover,.profit-stat:focus-visible{border-color:#bba8b9;transform:translateY(-2px);outline:none}.profit-stat span,.profit-stat strong,.profit-stat small{display:block}.profit-stat span{font-size:8px;color:var(--muted);text-transform:uppercase;font-weight:850;letter-spacing:.04em}.profit-stat strong{font:800 24px Georgia,serif;margin:10px 0 5px}.profit-stat small{font-size:8px;color:var(--muted);line-height:1.35}.profit-stat.primary{background:linear-gradient(145deg,#315f59,#4a8377);color:#fff;border-color:transparent}.profit-stat.primary span,.profit-stat.primary small{color:#d6ebe5}.profit-stat.primary:after{color:#d6ebe5}.profit-stat.danger{background:#fff7f7;border-color:#ecd1d3}.positive{color:#2f7d5b!important}.negative{color:#aa3e4b!important}.neutral{color:var(--muted)!important}
.profit-dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(285px,.8fr);gap:16px}.profit-trend-panel,.profit-cost-panel{padding:24px 26px}.profit-legend{display:flex;align-items:center;gap:11px;flex-wrap:wrap}.profit-legend span{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:8px;font-weight:800}.profit-legend span:before{content:"";width:14px;height:3px;border-radius:99px;background:#755478}.profit-legend .cost:before{background:#d09358}.profit-legend .profit:before{background:#37806a}.profit-chart-summary{display:flex;align-items:baseline;gap:10px;margin:20px 0 4px}.profit-chart-summary strong{font:800 24px Georgia,serif}.profit-chart-summary span{font-size:9px;color:var(--muted)}.profit-chart-scroll{overflow-x:auto;overflow-y:hidden}.profit-trend-chart{min-height:310px;display:grid;place-items:center}.profit-trend-chart svg{height:310px;display:block}.profit-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.profit-line.revenue{stroke:#755478}.profit-line.cost{stroke:#d09358}.profit-line.profit{stroke:#37806a}.profit-dot{stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}.profit-dot.revenue{fill:#755478}.profit-dot.cost{fill:#d09358}.profit-dot.profit{fill:#37806a}.profit-zero-line{stroke:#c9c1c7;stroke-width:1.5;stroke-dasharray:5 4}.profit-bucket{cursor:pointer}.profit-bucket-target{fill:transparent}.profit-bucket:hover .profit-bucket-target,.profit-bucket:focus .profit-bucket-target{fill:rgba(75,41,79,.04)}.profit-bucket:focus{outline:none}
.profit-cost-panel{display:flex;flex-direction:column}.profit-cost-breakdown{display:grid;gap:10px;margin:18px 0}.profit-cost-row>span{display:flex;align-items:center;justify-content:space-between;font-size:9px}.profit-cost-row>span b{font-weight:750}.profit-cost-row>span strong{font-size:9px}.profit-cost-row>i{display:block;height:7px;border-radius:999px;background:#eee9ed;margin-top:5px;overflow:hidden}.profit-cost-row>i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d09358,#e5b178)}.compact-empty{padding:25px 5px}.profit-highlight{position:relative;width:100%;border:0;border-top:1px solid var(--line);background:transparent;padding:14px 22px 14px 0;text-align:left}.profit-highlight:hover{background:#fbfaf9}.profit-highlight span,.profit-highlight strong,.profit-highlight small{display:block}.profit-highlight span{font-size:8px;color:var(--muted);text-transform:uppercase}.profit-highlight strong{font:800 19px Georgia,serif;margin:5px 0}.profit-highlight small{font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profit-highlight i{position:absolute;right:2px;top:50%;color:var(--plum);font-style:normal}.profit-highlight:disabled{opacity:.55;cursor:default}
.profit-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:32px 2px 13px}.profit-section-heading h2{font:800 24px Georgia,serif;margin:5px 0 2px}.profit-section-heading p{font-size:9px;color:var(--muted);margin:0}.profit-section-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:1}.profit-section-controls .search-wrap{height:43px;max-width:300px}.profit-table-panel table{min-width:1180px}.profit-product-cell{min-width:290px}.profit-value{white-space:nowrap}.profit-margin,.cost-coverage{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:850;white-space:nowrap}.profit-margin.positive,.cost-coverage.complete{background:#e2f4ea;color:#347859!important}.profit-margin.negative,.cost-coverage.incomplete{background:#f8e3e5;color:#93434d!important}.profit-margin.neutral{background:#eee9ed}.profit-row-actions{display:flex;gap:5px}.profit-row-actions .primary-action{background:#f0e8ef}.profit-incomplete-row{background:#fffaf3}.profit-footnote{margin:16px 4px 0;color:var(--muted);font-size:8px;line-height:1.5}
.profit-profile-auto{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.profit-profile-auto>div{border:1px solid var(--line);border-radius:10px;background:#faf8f9;padding:11px}.profit-profile-auto span,.profit-profile-auto strong{display:block}.profit-profile-auto span{font-size:8px;color:var(--muted);text-transform:uppercase}.profit-profile-auto strong{font-size:10px;margin-top:5px}.pricing-input-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:18px 0}.pricing-result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.pricing-result-grid>div,.profit-order-summary>div{border:1px solid var(--line);border-radius:11px;background:#faf8f9;padding:12px}.pricing-result-grid>div.primary,.profit-order-summary>div.primary{background:#edf7f3;border-color:#cfe4db}.pricing-result-grid span,.pricing-result-grid strong,.profit-order-summary span,.profit-order-summary strong{display:block}.pricing-result-grid span,.profit-order-summary span{font-size:8px;color:var(--muted);text-transform:uppercase}.pricing-result-grid strong,.profit-order-summary strong{font:800 18px Georgia,serif;margin-top:5px}.pricing-target{border-radius:12px;background:#f1eaf1;padding:14px;margin:13px 0}.pricing-target span,.pricing-target strong,.pricing-target small{display:block}.pricing-target span{font-size:8px;color:var(--muted);text-transform:uppercase}.pricing-target strong{font:800 22px Georgia,serif;color:var(--plum);margin:5px 0}.pricing-target small{font-size:8px;color:var(--muted)}.pricing-cost-detail,.profit-order-costs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.pricing-cost-detail span,.profit-order-costs span{display:flex;justify-content:space-between;gap:7px;border:1px solid var(--line);border-radius:8px;padding:8px;font-size:8px}.pricing-cost-detail b,.profit-order-costs b{color:var(--muted)}.profit-order-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:17px 0}
@media(max-width:1450px){.profit-metric-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1100px){.profit-dashboard-grid{grid-template-columns:1fr}.profit-section-heading{align-items:flex-start;flex-direction:column}.profit-section-controls{width:100%;justify-content:flex-start;flex-wrap:wrap}.profit-section-controls .search-wrap{max-width:none;flex:1;min-width:250px}}
@media(max-width:760px){.profit-hero{align-items:flex-start;flex-direction:column;padding:23px}.profit-hero-actions{width:100%;align-items:stretch;flex-direction:column}.profit-hero-actions label{width:100%}.profit-metric-grid{grid-template-columns:1fr 1fr}.profit-trend-panel,.profit-cost-panel{padding:19px}.profit-trend-panel .panel-heading{display:block}.profit-legend{margin-top:10px}.profit-section-controls{align-items:stretch;flex-direction:column}.profit-section-controls .search-wrap{min-width:0;width:100%}.profit-section-controls select{width:100%}.pricing-input-grid,.pricing-result-grid{grid-template-columns:1fr 1fr}.pricing-cost-detail,.profit-order-costs{grid-template-columns:1fr 1fr}.profit-profile-auto{grid-template-columns:1fr}.profit-order-summary{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.profit-metric-grid{grid-template-columns:1fr}.profit-alert{align-items:flex-start;flex-direction:column}.profit-chart-summary{align-items:flex-start;flex-direction:column}.pricing-input-grid,.pricing-result-grid,.pricing-cost-detail,.profit-order-costs,.profit-order-summary{grid-template-columns:1fr}}

/* Version 16 · Etsy payments, ledger reconciliation, and actual shipping costs */
.finance-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 30px;margin-bottom:15px;background:linear-gradient(135deg,#f5fbfa,#fff 65%);border-color:#d7e9e6}.finance-hero h2{font:800 30px Georgia,serif;margin:5px 0}.finance-hero p{color:var(--muted);margin:0;max-width:720px;line-height:1.5}.finance-hero-actions{display:flex;align-items:flex-end;gap:9px;flex:0 0 auto}.finance-hero-actions label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.finance-hero-actions select,.finance-controls select{min-width:170px;min-height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 12px;color:var(--ink);font:inherit}.finance-alert{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff8e8;border:1px solid #ead9a9;border-radius:13px;padding:15px 18px;margin-bottom:15px}.finance-alert.error{background:#fff0f0;border-color:#edc9c9}.finance-alert strong,.finance-alert span{display:block}.finance-alert span{color:var(--muted);font-size:10px;margin-top:4px}.finance-metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:15px}.finance-stat{position:relative;display:flex;flex-direction:column;gap:5px;min-height:120px;padding:18px 17px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left;color:var(--ink);cursor:pointer}.finance-stat:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:14px 0 0 14px;background:#6e9e98}.finance-stat.primary{background:#285f5a;color:#fff;border-color:#285f5a}.finance-stat.primary:before{background:#e7c56f}.finance-stat span{font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.075em;color:var(--muted)}.finance-stat.primary span,.finance-stat.primary small{color:#cfe3df}.finance-stat strong{font:800 24px Georgia,serif}.finance-stat small{margin-top:auto;color:var(--muted);font-size:8px;line-height:1.4}.finance-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:15px}.finance-trend-panel,.finance-fee-panel{padding:23px;min-height:390px}.finance-legend{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:8px;color:var(--muted)}.finance-legend span:before{content:"";display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px;vertical-align:-1px}.finance-legend .sales:before{background:#468a82}.finance-legend .fees:before{background:#e2ad67}.finance-legend .profit:before{background:#76558b}.finance-chart-summary{display:flex;align-items:baseline;gap:9px;margin:20px 0 8px}.finance-chart-summary strong{font:800 22px Georgia,serif}.finance-chart-summary span{color:var(--muted);font-size:9px}.finance-chart-scroll{overflow-x:auto;padding-bottom:5px}.finance-trend-chart{display:flex;align-items:stretch;gap:5px;min-width:620px;height:245px;padding:15px 4px 0}.finance-trend-column{display:grid;grid-template-rows:1fr 28px;min-width:42px;flex:1;border:0;background:transparent;padding:0;cursor:pointer}.finance-trend-column:hover{background:#faf7f9;border-radius:8px}.finance-bars{display:flex;align-items:flex-end;justify-content:center;gap:2px;min-height:190px}.finance-bars i{display:block;width:7px;min-height:0;border-radius:4px 4px 0 0}.finance-bars .sales{background:#468a82}.finance-bars .fees{background:#e2ad67}.finance-bars .profit{background:#76558b}.finance-bars .profit.negative{background:#bc6666}.finance-trend-column small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:8px;text-align:center;padding-top:7px}.finance-fee-breakdown{display:flex;flex-direction:column;gap:11px;margin:20px 0}.finance-fee-row{display:block;width:100%;border:0;background:transparent;padding:0;text-align:left}.finance-fee-row>span{display:flex;justify-content:space-between;gap:10px;font-size:9px}.finance-fee-row>span strong{font-size:10px}.finance-fee-row>i{display:block;height:7px;background:#f0ecef;border-radius:999px;margin-top:5px;overflow:hidden}.finance-fee-row>i b{display:block;height:100%;background:linear-gradient(90deg,#d79755,#e9bf76);border-radius:999px}.finance-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:22px}.finance-mini-grid>div{padding:12px 9px;border:1px solid var(--line);border-radius:10px;background:#faf8f9}.finance-mini-grid span,.finance-mini-grid strong{display:block}.finance-mini-grid span{color:var(--muted);font-size:7px;text-transform:uppercase;letter-spacing:.05em}.finance-mini-grid strong{font:800 16px Georgia,serif;margin-top:5px}.finance-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:28px 0 11px}.finance-section-heading h2{font:800 25px Georgia,serif;margin:4px 0}.finance-section-heading p{color:var(--muted);font-size:10px;margin:0;max-width:760px}.finance-controls{display:flex;align-items:center;gap:8px}.finance-table-panel table{min-width:1050px}.finance-source,.ledger-category{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:850;white-space:nowrap}.finance-source.posted{background:#e1f1eb;color:#34735c}.finance-source.refunded{background:#f6e5e5;color:#954e55}.finance-source.estimated{background:#f5edd9;color:#8c6e30}.ledger-category{background:#ece8ed;color:#655d67;text-transform:capitalize}.ledger-category.payment_credit,.ledger-category.payout{background:#e2f3ea;color:#33745b}.ledger-category.shipping_label{background:#e6eef7;color:#4c6987}.ledger-amount.negative{color:#a4555b}.ledger-amount.positive{color:#36785e}.finance-reconciliation{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.finance-reconciliation>div,.finance-order-cost-grid>div{padding:13px;border:1px solid var(--line);border-radius:10px;background:#faf8f9}.finance-reconciliation .primary,.finance-order-cost-grid .primary{background:#edf6f4;border-color:#d4e8e4}.finance-reconciliation span,.finance-reconciliation strong,.finance-order-cost-grid span,.finance-order-cost-grid strong,.finance-order-cost-grid small{display:block}.finance-reconciliation span,.finance-order-cost-grid span{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.05em}.finance-reconciliation strong{font:800 18px Georgia,serif;margin-top:5px}.finance-order-cost-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 20px}.finance-order-cost-grid strong{font:800 16px Georgia,serif;margin-top:5px}.finance-order-cost-grid small{color:var(--muted);font-size:8px;margin-top:4px}.finance-shipping-form{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:20px 0}.finance-modal-ledger-list{margin-top:20px}.finance-modal-ledger{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid var(--line)}.finance-modal-ledger span b,.finance-modal-ledger span small{display:block}.finance-modal-ledger span small{color:var(--muted);font-size:8px;margin-top:4px}.ledger-table-panel{margin-bottom:25px}
@media(max-width:1200px){.finance-metric-grid{grid-template-columns:repeat(3,1fr)}.finance-dashboard-grid{grid-template-columns:1fr}.finance-fee-panel{min-height:0}}
@media(max-width:760px){.finance-hero,.finance-section-heading{align-items:stretch;flex-direction:column}.finance-hero-actions,.finance-controls{align-items:stretch;flex-direction:column}.finance-hero-actions select{width:100%}.finance-metric-grid{grid-template-columns:repeat(2,1fr)}.finance-stat{min-height:108px}.finance-trend-panel,.finance-fee-panel{padding:17px}.finance-reconciliation{grid-template-columns:repeat(2,1fr)}.finance-order-cost-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.finance-metric-grid,.finance-mini-grid,.finance-reconciliation,.finance-order-cost-grid{grid-template-columns:1fr}.finance-stat{min-height:96px}}
.finance-stat.primary strong.positive,.finance-stat.primary strong.negative,.finance-stat.primary strong.neutral{color:#fff!important}

/* Version 18 · purchasing, receiving, expenses, and tracked profit */

/* Version 19.1 · physical material counts, rolls, and locations */
.initial-count-list{display:grid;gap:10px;max-height:55vh;overflow:auto;padding-right:4px}.initial-count-row{display:grid;grid-template-columns:minmax(240px,1fr) 140px 160px;gap:12px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.initial-count-row label{margin:0}.location-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.ingestion-actions{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:760px){.initial-count-row{grid-template-columns:1fr}.materials-toolbar .ingestion-actions{width:100%}}

/* Version 20 · material reservations, staging, and shopping */
.material-plan-card{display:grid;gap:14px}.material-plan-card.blocked{border-color:#d98282}.material-pick-list{display:grid;gap:8px}.material-pick-list>div{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:10px;border-radius:10px;background:var(--surface-soft)}.material-pick-list span{display:grid}.material-pick-list em{font-style:normal;font-weight:800;color:var(--muted)}@media(max-width:760px){.material-pick-list>div{grid-template-columns:1fr}.material-plan-card .modal-actions{flex-wrap:wrap}}
.purchasing-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:27px 30px;margin-bottom:16px;background:linear-gradient(135deg,#fff 0%,#f2f7f4 100%)}.purchasing-hero h2{font:800 29px Georgia,serif;margin:6px 0}.purchasing-hero p{max-width:700px;margin:0;color:var(--muted);line-height:1.5}.purchasing-actions{display:flex;align-items:end;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:430px}.purchasing-actions label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase}.purchasing-actions select{height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 32px 0 11px;color:var(--ink);font-weight:700;text-transform:none}.purchasing-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-bottom:13px}.purchasing-summary-grid>article,.purchasing-summary-grid>button{min-height:110px;border:1px solid var(--line);border-radius:15px;background:#fff;padding:16px;text-align:left;box-shadow:0 4px 16px rgba(45,31,48,.035)}.purchasing-summary-grid>button:hover{border-color:#b9a6b7;transform:translateY(-1px)}.purchasing-summary-grid span,.purchasing-summary-grid strong,.purchasing-summary-grid small{display:block}.purchasing-summary-grid span{color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase}.purchasing-summary-grid strong{font:800 25px Georgia,serif;margin:9px 0 5px}.purchasing-summary-grid small{color:var(--muted);font-size:8px;line-height:1.4}.purchasing-summary-grid .profit{background:#eff8f3;border-color:#cce3d6}.purchasing-summary-grid .profit strong{color:#347258}.purchasing-profit-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}.purchasing-profit-card{padding:15px}.purchasing-profit-card span,.purchasing-profit-card strong,.purchasing-profit-card small{display:block}.purchasing-profit-card span{color:var(--muted);font-size:8px;text-transform:uppercase;font-weight:850}.purchasing-profit-card strong{font:800 20px Georgia,serif;margin:7px 0 4px}.purchasing-profit-card small{font-size:8px;color:var(--muted);line-height:1.4}.purchasing-trend-panel{padding:23px 26px;margin-bottom:22px}.purchasing-trend{height:230px;display:flex;align-items:flex-end;gap:7px;margin-top:22px;padding:10px 4px 0;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 54px,#f0ecef 55px)}.purchasing-period{height:100%;min-width:22px;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.purchasing-bars{height:190px;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:2px}.purchasing-bars i{display:block;width:25%;max-width:12px;min-height:2px;border-radius:4px 4px 0 0}.purchasing-bars .sales{background:#6d4a70}.purchasing-bars .profit{background:#4a9875}.purchasing-bars .profit.negative{background:#bd5661}.purchasing-bars .expense{background:#e59a58}.purchasing-period small{width:100%;min-height:20px;color:var(--muted);font-size:7px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.purchasing-legend{display:flex;justify-content:flex-end;gap:15px;margin-top:10px;color:var(--muted);font-size:8px}.purchasing-legend span{display:flex;align-items:center;gap:5px}.purchasing-legend i{width:8px;height:8px;border-radius:2px}.purchasing-legend .sales{background:#6d4a70}.purchasing-legend .profit{background:#4a9875}.purchasing-legend .expense{background:#e59a58}.purchase-pending-row{background:#fffdf6}.purchase-received{display:inline-flex;border-radius:999px;background:#e4f2ea;color:#3c755a;padding:5px 8px;font-size:8px;font-weight:850}.purchasing-definition{margin-top:14px;padding:17px 20px;background:#f6f4f6}.purchasing-definition strong{display:block;font-size:10px}.purchasing-definition p{margin:6px 0 0;color:var(--muted);font-size:9px;line-height:1.5}.purchase-form-lines{display:grid;gap:10px}.purchase-form-line{position:relative;display:grid;grid-template-columns:2fr .55fr .75fr 1fr;gap:8px;border:1px solid var(--line);border-radius:12px;background:#faf8f9;padding:12px 48px 12px 12px}.purchase-form-line label{margin:0}.purchase-inventory-check{grid-column:1/-1;display:flex!important;flex-direction:row!important;align-items:center}.purchase-inventory-check input{width:auto!important}.purchase-line-remove{position:absolute;right:10px;top:21px;width:32px;height:32px;border:0;border-radius:8px;background:#f2e4e6;color:#913e49;font-size:20px}.modal-card select{border:1px solid #ded9dd;border-radius:10px;padding:11px 12px;outline:none;background:#fdfcfc;color:var(--ink)}.modal-card label small{color:var(--muted);font-size:8px;font-weight:500}
@media(max-width:1250px){.purchasing-summary-grid{grid-template-columns:repeat(3,1fr)}.purchasing-profit-grid{grid-template-columns:repeat(3,1fr)}.purchasing-hero{align-items:flex-start;flex-direction:column}.purchasing-actions{justify-content:flex-start;min-width:0}}
@media(max-width:760px){.purchasing-summary-grid,.purchasing-profit-grid{grid-template-columns:1fr 1fr}.purchasing-actions{width:100%;align-items:stretch}.purchasing-actions label{width:100%}.purchase-form-line{grid-template-columns:1fr 1fr}.purchase-form-line label:first-child,.purchase-inventory-check{grid-column:1/-1}.purchasing-trend{overflow-x:auto}.purchasing-period{flex:0 0 46px}}
@media(max-width:430px){.purchasing-summary-grid,.purchasing-profit-grid{grid-template-columns:1fr}.purchase-form-line{grid-template-columns:1fr}.purchase-form-line label{grid-column:1!important}}

/* Version 21.1 · historical material spending */
.material-spend-summary article:first-child{background:#f5eff8;border-color:#dbcce1}.material-spend-summary article:first-child strong{color:#6d4a70}.material-spend-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;margin-bottom:18px}.material-spend-panel{padding:20px;min-height:275px}.material-spend-trend{height:200px;display:flex;align-items:flex-end;gap:7px;margin-top:16px;padding-top:8px;border-bottom:1px solid var(--line);overflow-x:auto}.material-spend-month{flex:1 0 42px;min-width:42px;height:100%;display:grid;grid-template-rows:1fr auto auto;gap:5px;align-items:end;border:0;background:transparent;text-align:center;color:var(--ink)}.material-spend-month>span{height:100%;display:flex;align-items:flex-end;justify-content:center}.material-spend-month i{display:block;width:18px;min-height:3px;border-radius:5px 5px 0 0;background:linear-gradient(#8f6d94,#6d4a70)}.material-spend-month strong{font-size:7px;white-space:nowrap}.material-spend-month small{font-size:7px;color:var(--muted);white-space:nowrap}.material-spend-categories{display:grid;gap:13px;margin-top:18px}.material-spend-categories button{display:grid;grid-template-columns:minmax(90px,1fr) 2fr auto;align-items:center;gap:10px;border:0;background:transparent;text-align:left;color:var(--ink)}.material-spend-categories button>span{display:grid}.material-spend-categories strong{text-transform:capitalize;font-size:9px}.material-spend-categories small{color:var(--muted);font-size:7px}.material-spend-categories i{height:8px;border-radius:999px;background:#eee8ef;overflow:hidden}.material-spend-categories b{display:block;height:100%;border-radius:999px;background:#8f6d94}.material-spend-categories em{font-style:normal;font-size:9px;font-weight:800}@media(max-width:900px){.material-spend-grid{grid-template-columns:1fr}}

/* Version 22 · true costing and material accounting */
.costing-hero{background:linear-gradient(135deg,#fff 0%,#f3f8f5 55%,#f7f0f7 100%)}.costing-metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-bottom:16px}.costing-metric-grid article{min-height:116px;padding:17px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 4px 16px rgba(45,31,48,.035)}.costing-metric-grid article.primary{background:#edf7f1;border-color:#c9e2d3}.costing-metric-grid span,.costing-metric-grid strong,.costing-metric-grid small{display:block}.costing-metric-grid span{font-size:8px;font-weight:850;text-transform:uppercase;color:var(--muted)}.costing-metric-grid strong{margin:10px 0 6px;font:800 24px Georgia,serif}.costing-metric-grid small{font-size:8px;line-height:1.4;color:var(--muted)}.costing-stack-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:12px;margin-bottom:26px}.costing-stack-grid>.panel{padding:22px}.costing-stack{display:grid;gap:12px;margin-top:18px}.costing-stack>div>span{display:flex;justify-content:space-between;gap:12px;font-size:9px}.costing-stack>div>i{display:block;height:9px;margin-top:5px;border-radius:999px;background:#eee9ed;overflow:hidden}.costing-stack>div>i>b{display:block;height:100%;border-radius:999px}.costing-stack .material{background:#76527b}.costing-stack .production{background:#4f8394}.costing-stack .fees{background:#cc765f}.costing-stack .shipping{background:#dfaa5f}.costing-stack .expenses{background:#9a818b}.costing-stack .profit{background:#4a9875}.costing-stack .profit.negative{background:#bd5661}.costing-accounting{display:grid;gap:4px;margin-top:16px}.costing-accounting>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:9px}.costing-accounting span{color:var(--muted)}.cost-coverage,.cost-source{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:850;text-transform:capitalize}.cost-coverage.complete,.cost-source.frozen{background:#e4f2ea;color:#347258}.cost-coverage.partial,.cost-source.blended{background:#fff1d8;color:#8d6427}.cost-source.recipe_estimate{background:#f0edf1;color:#745f76}.cost-warning-row{background:#fff9ef}@media(max-width:1200px){.costing-metric-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.costing-stack-grid{grid-template-columns:1fr}}@media(max-width:700px){.costing-metric-grid{grid-template-columns:1fr 1fr}}@media(max-width:430px){.costing-metric-grid{grid-template-columns:1fr}}
