:root{--ink:#1f2933;--muted:#687481;--line:#dde3e8;--paper:#f2f5f7;--white:#fff;--plum:#44546a;--plum-2:#5c6f89;--coral:#df735d;--coral-light:#fff0eb;--mint:#dff2ea;--gold:#f9ebbf;--lilac:#e9e8f5;--shadow:0 12px 34px rgba(31,41,51,.075);--v25-navy:#17212b;--v25-blue:#437d8d}
body{background:radial-gradient(circle at 82% -10%,color-mix(in srgb,var(--role-accent) 8%,transparent),transparent 30%),var(--paper);font-size:14px;line-height:1.45}.sidebar{width:252px;padding:23px 16px 18px;background:linear-gradient(180deg,#18232d,#111a22);border-right:0;box-shadow:8px 0 32px rgba(12,20,28,.08)}.main{margin-left:252px;max-width:1800px;padding:0 40px 60px}.brand{color:#fff;padding-left:10px}.brand-mark{background:linear-gradient(145deg,var(--role-accent),color-mix(in srgb,var(--role-accent) 68%,#fff));box-shadow:0 7px 20px color-mix(in srgb,var(--role-accent) 30%,transparent)}.brand .app-version{color:#95a6b5}.sidebar nav{min-height:0;margin-top:27px;overflow-y:auto;padding-right:3px;scrollbar-width:thin;scrollbar-color:#42505d transparent}.nav-group-label{color:#718493;padding:0 12px 6px;font-size:9px}.nav-item{min-height:44px;padding:11px 12px;color:#aebbc6;border:1px solid transparent;border-radius:11px;font-size:12px;font-weight:700}.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}.nav-item.active{background:color-mix(in srgb,var(--role-accent) 28%,#17212b);border-color:color-mix(in srgb,var(--role-accent) 38%,#33404b);color:#fff;box-shadow:inset 3px 0 0 var(--role-accent)}.nav-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:rgba(255,255,255,.05);font-size:15px}.sidebar-foot{padding:15px 7px 0;border-color:#2c3944}.sidebar-foot .quiet{color:#b8c4ce}.connection-dot{font-size:11px;color:#8798a6}.role-identity{background:rgba(255,255,255,.045);border-color:#303e49}.role-identity small{color:#91a1ae}
.topbar{position:sticky;top:0;z-index:15;height:96px;margin:0 -8px 20px;padding:0 8px;background:rgba(242,245,247,.88);backdrop-filter:blur(15px);border-bottom:1px solid rgba(221,227,232,.75)}.topbar h1{font-family:Georgia,serif;font-size:30px;letter-spacing:-.025em}.today{font-size:10px;color:#778591}.top-role-chip{padding:8px 11px;background:color-mix(in srgb,var(--role-accent) 10%,#fff);border:1px solid color-mix(in srgb,var(--role-accent) 20%,#dde3e8);font-size:9px}.sync-time{font-size:11px}.button{min-height:42px;border-radius:10px;padding:10px 16px;font-size:12px;box-shadow:none}.button.primary{background:var(--role-accent);box-shadow:0 7px 18px color-mix(in srgb,var(--role-accent) 22%,transparent)}.button.primary:hover{background:color-mix(in srgb,var(--role-accent) 88%,#000)}.button.secondary{color:var(--ink);border-color:#d6dde2}.icon-button{border:1px solid var(--line)}
.panel,.metric-card,.favorite-stat,.profit-stat,.sales-stat,.finance-stat,.schedule-stat,.purchasing-summary-grid>article,.purchasing-summary-grid>button,.costing-metric-grid article{border-color:var(--line);border-radius:18px;box-shadow:0 5px 18px rgba(31,41,51,.035)}.panel{background:rgba(255,255,255,.96)}.eyebrow{font-size:10px;letter-spacing:.14em;color:var(--role-accent)}.panel h3{font-family:Georgia,serif;font-size:21px;letter-spacing:-.015em}.chart-subtitle,.materials-toolbar p,.finance-section-heading p,.sales-section-heading p,.profit-section-heading p{font-size:11px;line-height:1.5}.hero-card,.role-workspace-hero,.sales-hero,.profit-hero,.finance-hero,.purchasing-hero,.materials-v23-hero,.scheduling-hero{border-radius:22px}.hero-card{background:linear-gradient(125deg,var(--v25-navy),color-mix(in srgb,var(--role-accent) 68%,#17212b));box-shadow:0 14px 34px rgba(23,33,43,.14)}.role-workspace-hero{min-height:210px;padding:34px;background:linear-gradient(125deg,#fff,var(--role-soft));border-color:color-mix(in srgb,var(--role-accent) 24%,var(--line))}.role-workspace-hero h2{font-size:35px}.role-workspace-hero p{font-size:13px}.role-workspace-mark{border-radius:28px;transform:rotate(3deg)}
.metric-card,.profit-stat,.sales-stat,.finance-stat,.schedule-stat,.role-workspace-metrics button{position:relative;overflow:hidden;min-height:122px}.metric-card:before,.profit-stat:before,.sales-stat:before,.schedule-stat:before,.role-workspace-metrics button:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:color-mix(in srgb,var(--role-accent) 72%,#fff)}.metric-card span,.profit-stat span,.sales-stat span,.finance-stat span,.schedule-stat span,.purchasing-summary-grid span,.costing-metric-grid span,.role-workspace-metrics span{font-size:9px!important;letter-spacing:.055em}.metric-card strong,.profit-stat strong,.sales-stat strong,.finance-stat strong,.schedule-stat strong,.purchasing-summary-grid strong,.costing-metric-grid strong,.role-workspace-metrics strong{font-family:Georgia,serif!important;letter-spacing:-.02em}.metric-card small,.profit-stat small,.sales-stat small,.finance-stat small,.schedule-stat small,.purchasing-summary-grid small,.costing-metric-grid small,.role-workspace-metrics small{font-size:9px!important;line-height:1.45}.role-workspace-metrics{gap:12px}.role-workspace-metrics button{padding:19px}.role-workspace-grid{gap:15px}.role-action-list button{min-height:67px;padding:15px 16px}.role-action-list strong{font-size:12px}.role-action-list small{font-size:10px}.role-access-chips span{font-size:9px}
.section-tools{gap:9px;margin:8px 0 16px}.section-tools select,.search-wrap,.profit-section-controls select,.sales-section-heading select{min-height:45px;border-color:#d7dee3;border-radius:10px;background:#fff;font-size:12px}.search-wrap{height:45px}.table-panel{border-radius:17px;overflow:auto}.table-panel table{min-width:880px}.table-panel th{position:sticky;top:0;z-index:2;padding:14px 16px;background:#f7f9fa;color:#6c7984;font-size:9px;letter-spacing:.09em;border-bottom:1px solid var(--line)}.table-panel td{padding:15px 16px;font-size:12px}.table-panel tbody tr{transition:background .15s}.table-panel tbody tr:hover{background:#f7fafb}.table-sub,.listing-cell small,.order-items-table small{font-size:9px!important;line-height:1.45}.listing-thumb{width:54px;height:46px;border-radius:10px}.badge,.cost-coverage,.cost-source,.capacity-constraint,.setup-status,.schedule-state{font-size:9px!important;padding:6px 9px}.row-action{min-height:34px;border-color:#d8dfe4;border-radius:8px;color:#3f5669;font-size:10px}.row-action:hover{background:#edf3f6}.row-action.primary-action,.setup-time-action{background:color-mix(in srgb,var(--role-accent) 10%,#fff);border-color:color-mix(in srgb,var(--role-accent) 25%,#d8dfe4);color:var(--role-accent)}.empty-state{padding:55px 24px;font-size:12px}
.modal-backdrop{background:rgba(12,19,25,.62)}.modal-card{width:min(760px,96vw);padding:32px;border:1px solid rgba(255,255,255,.2);border-radius:22px;box-shadow:0 28px 90px rgba(9,15,20,.34)}.modal-card h2{font-family:Georgia,serif;font-size:27px}.modal-card .modal-sub{font-size:11px;line-height:1.5}.modal-form label,.settings-card label{font-size:11px}.modal-card input,.modal-card textarea,.modal-card select,.settings-card input,.settings-card textarea{min-height:44px;border-color:#d7dee3;background:#fbfcfd}.warning-box{font-size:11px}.toast{border-radius:12px;background:#18232d;font-size:12px}
.cost-setup-guide{display:grid;grid-template-columns:minmax(250px,1fr) minmax(430px,1.65fr) auto;align-items:center;gap:24px;padding:22px 24px;margin-bottom:14px;background:linear-gradient(135deg,#fff,#f2f8f6);border-color:#cfe0da}.cost-setup-guide h3{margin:5px 0}.cost-setup-guide p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}.cost-setup-equation{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:9px}.cost-setup-equation>span{min-height:78px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fff}.cost-setup-equation>span.complete{background:#eaf6f0;border-color:#c6e1d3}.cost-setup-equation i{display:grid;place-items:center;width:22px;height:22px;margin-bottom:5px;border-radius:7px;background:var(--role-soft);color:var(--role-accent);font-style:normal;font-size:10px;font-weight:900}.cost-setup-equation b,.cost-setup-equation small{display:block}.cost-setup-equation b{font-size:10px}.cost-setup-equation small{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.35}.cost-setup-equation em{font-style:normal;color:#87939e;font-size:18px}.cost-setup-guide>.button{white-space:nowrap}.routing-v25-intro{background:linear-gradient(135deg,#f7fbfa,#fff);border-color:#d1e2dd}.routing-v25-intro strong{color:var(--ink)}.profit-incomplete-row{background:#fffaf4!important}.cost-coverage.incomplete{background:#fff0df;color:#8b5a27}.cost-coverage.complete{background:#e4f3eb;color:#347157}
.production-toolbar,.materials-v23-tabs{border-radius:14px}.production-tabs button,.materials-v23-tabs button{min-height:41px;font-size:10px}.materials-v23-tabs button.active,.production-tabs button.active{background:var(--role-accent)}.materials-v23-hero h2,.finance-hero h2,.purchasing-hero h2,.profit-hero h2,.sales-hero h2,.scheduling-hero h2{font-family:Georgia,serif;letter-spacing:-.02em}.materials-v23-status span,.roll-status-grid span,.materials-overview-metrics span{font-size:9px}.materials-v23-status small,.roll-status-grid small{font-size:9px}.initial-count-row,.bom-row,.material-pick-list>div{border-color:#dbe2e7;background:#f8fafb}
@media(max-width:1300px){.cost-setup-guide{grid-template-columns:1fr 1.4fr}.cost-setup-guide>.button{grid-column:1/-1;justify-self:start}}
@media(max-width:1050px){.main{padding-left:25px;padding-right:25px}.cost-setup-guide{grid-template-columns:1fr}.cost-setup-equation{max-width:700px}.role-workspace-hero h2{font-size:31px}}
@media(max-width:760px){.sidebar{width:252px}.main{margin-left:0;padding:0 15px 40px}.topbar{height:84px;margin-bottom:14px}.topbar h1{font-size:25px}.role-workspace-hero{min-height:170px;padding:24px}.role-workspace-hero h2{font-size:28px}.cost-setup-equation{grid-template-columns:1fr}.cost-setup-equation>span,.cost-setup-equation em{grid-column:1}.cost-setup-equation em{text-align:center;line-height:1}.cost-setup-guide{padding:19px}.panel-heading{gap:10px;flex-direction:column}.modal-card{padding:25px 18px}.table-panel td{padding:13px 14px}}
@media(max-width:430px){.role-workspace-metrics{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr}.top-actions .button.secondary:not(#syncButton){display:none}}
