:root{color-scheme:dark;--bg:#0b111b;--side:#101824;--panel:#141e2b;--panel-light:#1a2636;--line:#29384b;--text:#f1f5f9;--muted:#899aad;--green:#77e6b4;--green-deep:#1a483f;--red:#ff8b91;--blue:#97aefb;--radius:15px;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:var(--green)}.app-shell{min-height:100vh;display:flex}.sidebar{width:234px;background:var(--side);border-right:1px solid var(--line);padding:29px 15px 20px;flex-shrink:0;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.logo-block{display:flex;gap:12px;align-items:center;padding:0 10px 42px}.logo-icon{width:39px;height:39px;display:grid;place-items:center;background:var(--green-deep);border:1px solid #326858;color:var(--green);font-size:27px;border-radius:11px}.logo-block strong{font-size:15px;letter-spacing:.07em;display:block}.brand-green{color:var(--green)}.logo-block small{display:block;color:var(--muted);font-size:9px;letter-spacing:.12em;margin-top:3px}.side-label{color:#687b90;letter-spacing:.15em;font-size:10px;font-weight:700;padding:0 12px 14px}.side-nav{display:grid;gap:5px}.nav-btn{text-align:left;padding:13px 13px;border:0;background:transparent;border-radius:9px;color:#a3b2c4;display:flex;gap:13px;align-items:center;font-weight:600;width:100%}.nav-btn.active{background:#20352f;color:var(--green)}.nav-btn:hover,.mobile-nav-btn:hover{background:#1c2c3a}.nav-ico{font-size:19px}.nav-count{margin-left:auto;font-size:11px;border-radius:12px;background:#273543;color:#c8d4e1;padding:1px 8px}.sidebar-foot{margin-top:auto;color:var(--muted);font-size:11px;display:flex;align-items:center;gap:7px;padding:10px}.status-dot{width:7px;height:7px;flex:none;background:var(--green);border-radius:50%;box-shadow:0 0 6px #60d6a4}.main-content{padding:30px clamp(18px,3vw,44px) 70px;flex:1;max-width:1700px;min-width:0}.topbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:30px}.eyebrow{font-size:10px;color:var(--green);font-weight:800;letter-spacing:.16em}.dot-sep{color:#77899c;margin:0 9px}.top-title h1{font-size:clamp(23px,2.4vw,31px);font-weight:750;letter-spacing:-.035em;margin:6px 0 5px}.top-title p,.dashboard-head p{margin:0;color:var(--muted);font-size:13px}.status-pill{display:flex;align-items:center;gap:8px;background:#17232e;border:1px solid var(--line);border-radius:30px;padding:8px 13px;color:#b0bece;white-space:nowrap;font-size:11px}.view{display:none}.view.active{display:block}.calc-layout{display:grid;grid-template-columns:minmax(460px,1fr) minmax(295px,340px);gap:18px;align-items:start}.form-stack{display:grid;gap:18px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:23px;min-width:0}.panel-header{display:flex;gap:13px;align-items:flex-start;margin-bottom:24px}.step-num{height:30px;width:30px;display:grid;place-items:center;border-radius:8px;background:#24463f;color:var(--green);font-size:12px;font-weight:800;flex:none}.panel-header h2{font-size:17px;letter-spacing:-.015em;margin:0 0 3px}.panel-header p{font-size:12px;color:var(--muted);margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 15px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.wide{grid-column:1/-1}.field>span{font-size:11px;font-weight:650;color:#b9c6d5;letter-spacing:.01em}.field em{font-style:normal;color:var(--green)}.field input,.field select,.field textarea,.filters select{border:1px solid #344458;background:#0e1723;color:var(--text);border-radius:8px;padding:12px 12px;width:100%;outline:0;min-width:0}.field textarea{resize:vertical;min-height:48px}.field input:focus,.field select:focus,.field textarea:focus,.filters select:focus{border-color:var(--green);box-shadow:0 0 0 2px #77e6b426}.field input::placeholder,.field textarea::placeholder{color:#60758a}.field small{font-size:10px;color:var(--muted);line-height:1.5}.field small b{color:var(--green)}.field-addon{position:relative}.field-addon input{padding-right:40px}.field-addon>span{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:#6c8299;font-size:11px;pointer-events:none}.median-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px;border-top:1px solid var(--line);padding-top:17px;font-size:12px;color:var(--muted)}.median-bar strong{font-size:19px;letter-spacing:-.02em;margin-left:auto;color:var(--text)}.mini-tag{padding:3px 7px;font-size:10px;background:#293849;border-radius:5px;color:#aebdcd}.materials-head,.material-row{display:grid;grid-template-columns:minmax(110px,1.8fr) minmax(64px,.7fr) minmax(85px,.9fr) 35px;gap:9px;align-items:start}.materials-head{font-size:10px;color:#879bb1;margin-bottom:9px}.material-row{margin-bottom:11px}.material-row input{width:100%;background:#0e1723;border:1px solid #344458;color:var(--text);outline:0;padding:11px 10px;border-radius:8px;min-width:0}.material-row input:focus{border-color:var(--green)}.material-row button{height:40px;border:0;border-radius:7px;color:#8ea1b6;background:#223042;font-size:17px}.material-row button:hover{background:#543036;color:#ffd1d1}.material-return{font-size:10px;color:var(--muted);display:flex;gap:7px;align-items:center;grid-column:1/-1;margin-top:-4px}.material-return input{width:15px;height:15px;accent-color:var(--green)}.add-material{width:100%;border:1px dashed #53677b;border-radius:9px;padding:11px;background:#182534;color:var(--green);font-weight:700}.add-material:hover{background:#203b38}.section-gap{margin-top:23px;padding-top:20px;border-top:1px solid var(--line)}.hint-card{border:1px solid #35504f;background:#1a3034;padding:10px 12px;border-radius:9px;display:flex;gap:10px;color:var(--green);font-size:14px;align-self:start}.hint-card span{color:#a8c8c0;font-size:11px}.subheading{border-top:1px solid var(--line);margin:23px 0 18px;padding-top:21px;color:#bdc9d7;font-size:12px;font-weight:700}.results-column{position:sticky;top:20px;display:grid;gap:16px}.results-panel{padding:23px 20px}.results-indicator{font-size:9px;letter-spacing:.12em;color:var(--green);font-weight:800}.results-top h2{font-size:21px;letter-spacing:-.025em;margin:9px 0 0}.results-top p{color:var(--muted);font-size:12px;margin:4px 0 0}.big-profit{margin:20px 0 12px;padding:22px 17px;border-radius:10px;background:linear-gradient(135deg,#1b4038,#18312f);border:1px solid #346657;display:grid;gap:4px}.big-profit>span{font-size:11px;color:#b8d2c8}.big-profit strong{color:var(--green);font-size:clamp(27px,2.8vw,36px);line-height:1.15;letter-spacing:-.03em}.big-profit strong.negative{color:var(--red)}.big-profit small{font-size:10px;color:#8daaa1}.two-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.two-metrics>div{border:1px solid #33465a;background:var(--panel-light);border-radius:9px;padding:12px;display:grid;gap:4px}.two-metrics span{font-size:10px;color:var(--muted)}.two-metrics strong{font-size:18px}.results-breakdown{display:grid;gap:14px;margin-top:22px;padding:18px 2px;border-top:1px solid var(--line)}.results-breakdown>div{display:flex;gap:8px;align-items:baseline;justify-content:space-between;color:#99aabe;font-size:11px}.results-breakdown b{color:#ebf3f8;font-size:12px;text-align:right;font-variant-numeric:tabular-nums}.results-breakdown .line-total{padding-top:14px;border-top:1px solid var(--line);font-weight:800;color:#d0deeb}.results-breakdown .line-total b{font-size:16px}.validation-message{font-size:11px;color:#a6b4c3;padding:12px 0}.validation-message.error{color:#ffaaaa}.primary-btn{display:flex;width:100%;justify-content:center;align-items:center;gap:11px;border:none;border-radius:9px;padding:14px;background:var(--green);color:#0c221b;font-weight:800;font-size:13px}.primary-btn:hover:not(:disabled){background:#a1f4d0}.primary-btn span{font-size:18px}.secondary-btn{width:100%;color:#b6c7d6;background:transparent;border:0;padding:12px;font-size:12px;margin-top:5px}.secondary-btn:hover{color:white}.shopping-panel{padding:20px}.shopping-title{display:flex;justify-content:space-between;align-items:center}.shopping-title h3,.panel-topline h3,.cost-panel h3,.history-heading h3{font-size:15px;margin:0}.shopping-title p,.history-heading p{font-size:11px;margin:4px 0 0;color:var(--muted)}.shopping-title>span{color:var(--green);font-size:25px}.shopping-list{margin-top:15px;display:grid;gap:9px}.shopping-row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #283748;padding-bottom:9px;font-size:12px}.shopping-row b{font-variant-numeric:tabular-nums}.shopping-row small{color:var(--muted);display:block;font-size:10px}.shopping-total{display:flex;justify-content:space-between;font-size:12px;color:var(--green);padding-top:7px}.muted{color:var(--muted)}
.dashboard-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.dashboard-head h2{font-size:18px;margin:0 0 4px}.filters{display:flex;gap:10px}.filters select{width:auto;padding:10px;font-size:12px}.dash-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dash-metric{background:var(--panel);border:1px solid var(--line);padding:20px 17px;border-radius:13px;display:grid;gap:9px}.dash-metric span{font-size:11px;color:#a6b4c4}.dash-metric strong{font-size:clamp(20px,2.3vw,30px);letter-spacing:-.03em;overflow-wrap:anywhere}.dash-metric:first-child strong{color:var(--green)}.dash-metric small{font-size:10px;color:#8799ac}.dashboard-lower{display:grid;grid-template-columns:1.5fr 1fr;gap:17px;margin:17px 0}.chart-panel,.cost-panel{min-height:266px}.panel-topline{display:flex;justify-content:space-between}.profit-chart{min-height:175px;display:flex;align-items:end;gap:12px;padding:15px 0 0}.chart-col{flex:1;min-width:0;max-width:90px;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:7px;height:170px}.chart-col b{color:#d7e8ea;font-size:10px;font-weight:600}.chart-bar{width:100%;border-radius:5px 5px 0 0;min-height:2px;background:linear-gradient(0deg,#248d72,#78e2b1)}.chart-bar.loss{background:linear-gradient(0deg,#bc535e,#fc9ba1)}.chart-col small{font-size:9px;text-align:center;color:#8195aa;overflow:hidden;white-space:nowrap;max-width:100%;text-overflow:ellipsis}.cost-mix{padding-top:24px}.cost-bar{display:flex;overflow:hidden;gap:2px;height:12px;border-radius:10px;background:#27384a}.cost-bar span{height:100%;display:block}.cost-legend{display:grid;gap:14px;margin-top:23px}.cost-legend>div{display:flex;gap:9px;align-items:center;font-size:11px;color:var(--muted)}.cost-legend b{margin-left:auto;color:#dfe8f3}.swatch{height:10px;width:10px;display:inline-block;border-radius:2px}.history-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.outline-btn{background:#1c2a39;border:1px solid #3c5162;color:#d0dfed;border-radius:8px;padding:10px 13px;font-size:12px;font-weight:650}.outline-btn:hover{border-color:var(--green)}.history-list{display:grid;gap:10px}.history-row{display:grid;grid-template-columns:minmax(0,1.5fr) 70px 100px 105px 98px;align-items:center;gap:12px;border:1px solid #304052;background:#111b27;border-radius:9px;padding:13px 15px}.history-row strong{display:block;font-size:13px}.history-row small{display:block;color:#8295a8;font-size:10px;margin-top:3px}.history-row .value{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.history-row .value.positive{color:var(--green)}.history-row .value.negative{color:var(--red)}.history-buttons{display:flex;gap:6px;justify-content:end}.history-buttons button{background:#243247;color:#acbdcf;border:0;border-radius:6px;padding:7px 8px;font-size:11px}.history-buttons .delete-btn:hover{color:var(--red)}.empty-state{padding:30px 12px;text-align:center;color:var(--muted);border:1px dashed #33485d;border-radius:9px}.mobile-nav{display:none}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,30px);opacity:0;pointer-events:none;z-index:15;padding:12px 17px;border:1px solid #39635b;background:#182f2d;color:#daf5e8;border-radius:10px;box-shadow:0 7px 25px #0008;font-size:12px;transition:transform .2s,opacity .2s;text-align:center}.toast.show{transform:translate(-50%,0);opacity:1}.toast.error{border-color:#7b474c;color:#ffccd0;background:#362126}.modal-backdrop{position:fixed;inset:0;background:#030912cf;z-index:20;display:grid;place-items:center;padding:20px}.modal-backdrop.hidden{display:none}.modal-card{background:#1c2937;border:1px solid #425467;padding:24px;border-radius:15px;max-width:370px;width:100%}.modal-card h3{margin:0 0 9px}.modal-card p{margin:0 0 23px;color:#aabbcc;font-size:12px}.modal-buttons{display:flex;justify-content:end;gap:10px}.danger-btn{border:0;border-radius:8px;padding:10px 14px;color:#fff;background:#bc525c}
@media(max-width:1180px){.sidebar{width:195px}.main-content{padding:23px 20px 75px}.calc-layout{grid-template-columns:minmax(340px,1fr) minmax(275px,310px)}.panel{padding:18px}.dash-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.sidebar{display:none}.main-content{padding:20px 16px 105px}.calc-layout{grid-template-columns:1fr}.results-column{position:static;grid-row:1}.results-panel{padding:19px}.results-breakdown{grid-template-columns:repeat(2,1fr);column-gap:17px}.results-breakdown .line-total{grid-column:1/-1}.form-stack{grid-row:2}.mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;justify-content:space-around;background:#101b27ed;border-top:1px solid #354459;padding:8px 10px calc(8px + env(safe-area-inset-bottom));backdrop-filter:blur(16px)}.mobile-nav-btn{background:transparent;border:0;color:#8fa2b5;font-size:10px;display:flex;flex-direction:column;align-items:center;gap:1px;padding:4px 20px;border-radius:9px}.mobile-nav-btn span{font-size:22px}.mobile-nav-btn.active{color:var(--green)}.topbar{margin-bottom:20px}.dashboard-lower{grid-template-columns:1fr}.history-row{grid-template-columns:minmax(0,1fr) 70px 95px}.history-row .roi-col{display:none}.history-buttons{grid-column:1/-1;justify-content:start}.history-buttons button{padding:8px 13px}}
@media(max-width:510px){.main-content{padding:15px 11px 96px}.top-title h1{font-size:24px}.top-title p{font-size:11px}.topbar-right{display:none}.panel{padding:16px}.panel-header{margin-bottom:18px}.form-grid{gap:13px 10px}.field input,.field select,.field textarea{padding:11px 9px;font-size:13px}.field>span{font-size:10px}.results-breakdown{display:grid;grid-template-columns:1fr}.big-profit{margin-top:14px;padding:16px}.big-profit strong{font-size:33px}.materials-head,.material-row{grid-template-columns:minmax(105px,1.7fr) minmax(54px,.65fr) minmax(70px,.9fr) 29px;gap:6px}.material-row input{padding:9px 6px;font-size:12px}.material-row button{height:37px}.dashboard-head{display:block}.filters{margin-top:14px}.dash-metrics{gap:9px}.dash-metric{padding:16px 11px}.dash-metric strong{font-size:22px}.history-row{gap:9px;padding:11px;grid-template-columns:minmax(0,1fr) 48px 90px}.history-row strong{font-size:11px}.history-row .value{font-size:11px}.history-heading{align-items:start}.history-heading .outline-btn{white-space:nowrap;font-size:11px}.toast{bottom:86px;max-width:92vw;width:max-content}}

/* v1.1: touch-friendly bottom navigation, persistent active section and dashboard count. */
.mobile-nav-count[hidden]{display:none!important}
@media(max-width:900px){
  .mobile-nav{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
    padding:9px max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
    background:linear-gradient(180deg,#152332f7,#0d1825fa);
    border-top:1px solid #3d5467;
    box-shadow:0 -10px 35px #060e1a99;
    justify-content:stretch;
  }
  .mobile-nav-btn{
    min-width:0;
    min-height:56px;
    display:flex;
    flex-direction:row;
    justify-content:center;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    border:1px solid transparent;
    border-radius:13px;
    color:#98adbe;
    font-size:13px;
    font-weight:750;
    line-height:1.2;
    transition:background-color .15s,border-color .15s,color .15s;
  }
  .mobile-nav-btn.active{
    background:#1e3b35;
    border-color:#386858;
    color:var(--green);
  }
  .mobile-nav-btn:focus-visible,.nav-btn:focus-visible{outline:2px solid var(--green);outline-offset:2px}
  .mobile-nav-visual{position:relative;flex:none;display:flex;align-items:center;justify-content:center}
  .mobile-nav-icon{width:23px;height:23px}
  .mobile-nav-count{
    position:absolute;
    top:-9px;
    right:-13px;
    border-radius:20px;
    min-width:19px;
    padding:3px 4px;
    background:#76e7b6;
    color:#10251e;
    font-size:9px;
    font-weight:900;
    line-height:1;
    box-shadow:0 0 0 2px #152332;
  }
  .main-content{padding-bottom:calc(105px + env(safe-area-inset-bottom))}
  .toast{bottom:calc(94px + env(safe-area-inset-bottom))}
}
@media(max-width:510px){
  .mobile-nav-btn{font-size:12px;min-height:54px;gap:8px;padding:8px 5px}
  .mobile-nav-icon{width:22px;height:22px}
  .main-content{padding-bottom:calc(104px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){.mobile-nav-btn{transition:none}}
/* v1.2: per-unit cost, focus return simulation, and persistent craft workflow. */
[hidden]{display:none!important}
.unit-cost-box{grid-column:1/-1;display:flex!important;align-items:center;justify-content:space-between;gap:10px;border-color:#3d655f!important;background:#182f30!important}
.unit-cost-box strong{color:#eaf8f2;font-size:20px}
.focus-toggle{display:flex;align-items:center;gap:13px;padding:15px 16px;background:#172a30;border:1px solid #33584f;border-radius:11px;cursor:pointer}
.focus-toggle input{width:19px;height:19px;accent-color:var(--green);flex:none}
.focus-toggle span{display:grid;gap:5px}
.focus-toggle b{font-size:13px;color:#e3f8ed}
.focus-toggle small{font-size:11px;color:#a4b9b7}
.focus-result{border:1px solid #326858;background:linear-gradient(125deg,#142f30,#152633);border-radius:10px;margin:8px 0 12px;padding:15px 13px;display:grid;gap:11px}
.focus-result>div:not(.focus-result-heading){display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:11px;color:#b5c9cf}
.focus-result b{text-align:right;color:#e6f3f2;font-size:12px;font-variant-numeric:tabular-nums}
.focus-result .focus-result-heading{font-size:12px;font-weight:800;color:var(--green);margin-bottom:4px}
.focus-result .focus-highlight{border-top:1px solid #3a665b;padding-top:12px}
.focus-result .focus-highlight b{color:var(--green);font-size:16px}
.focus-result>small{color:#90a8ad;font-size:10px;line-height:1.5}
.save-draft-btn{margin-top:9px;width:100%;padding:13px}
.editing-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#1e3434;border:1px solid #3f7462;color:#b9ebd4;padding:11px 13px;border-radius:9px;font-size:11px;margin-bottom:17px}
.editing-banner button{border:0;background:#35544a;color:#ebfff6;border-radius:6px;padding:8px;cursor:pointer}
.workflow-summary{color:#bcebd6;border:1px solid #355f53;background:#152a2c;border-radius:10px;margin-bottom:14px;padding:13px 15px;font-weight:650;font-size:12px}
.history-main{min-width:0}
.history-status{width:100%;max-width:250px;font-size:11px;padding:7px 8px;margin-top:8px;background:#21394a;color:#dceaf2;border:1px solid #456075;border-radius:7px}
.history-row{grid-template-columns:minmax(0,1.65fr) 64px 100px 75px minmax(120px,auto)}
.history-buttons{flex-wrap:wrap}
.history-buttons .resume-btn{background:#245240;color:#c5f5e0;font-weight:650}
.filters{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1180px){.history-row{grid-template-columns:minmax(0,1.3fr) 50px 85px 70px;}.history-buttons{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:900px){.history-row{grid-template-columns:minmax(0,1fr) 55px 100px}.filters{justify-content:flex-start}.history-status{max-width:100%}}
@media(max-width:510px){.history-row{grid-template-columns:minmax(0,1fr) 48px 90px}.unit-cost-box strong{font-size:19px}.focus-result{padding:12px 10px}}

/* v1.3: optional FCE estimator and two different cost-per-unit figures. */
.focus-auto-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;grid-column:1/-1}
.focus-forecast{grid-column:1/-1;background:#172d35;border:1px solid #345565;border-radius:9px;padding:11px 14px;font-size:12px;color:#a9bfc7}
.focus-forecast b{color:var(--green);margin-left:5px;font-size:14px}
@media(max-width:510px){.focus-auto-fields{gap:10px}}

/* v1.4: independent mastery profiles and stock forecasting. */
.material-stock{grid-column:1/-1;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;margin-top:-2px}
.material-stock input{max-width:150px;min-width:85px;padding:8px 10px}
.masteries-layout{display:grid;grid-template-columns:minmax(460px,1.3fr) minmax(290px,.8fr);align-items:start;gap:18px}
.spec-list{display:grid;gap:9px}
.spec-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--panel-light)}
.spec-row span{display:grid;gap:3px}.spec-row b{font-size:12px}.spec-row small{color:var(--muted);font-size:10px}
.spec-row input{min-width:65px;width:84px;border:1px solid #344458;border-radius:8px;padding:10px;background:#0e1723;color:var(--text);text-align:center}
.spec-row input:invalid{border-color:#c9696a}
.spec-actions{display:flex;gap:12px;margin-top:20px;align-items:center}
.spec-actions .primary-btn{flex:1}.outline-btn{min-width:0}
.mastery-info{position:sticky;top:20px;display:grid;gap:16px}.mastery-info h2{font-size:18px;margin:0}
.mastery-info .big-profit{margin:0}.mastery-info .muted{font-size:12px;line-height:1.65}
.focus-profile-options{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:13px;background:#1a2d34;border-radius:10px;border:1px solid #34584f}
.focus-profile-options .field:first-child{grid-column:1/-1}
.focus-profile-brief{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:11px;color:#b4ccc4}
.focus-profile-brief b{color:var(--green)}.focus-profile-brief button{border:0;background:transparent;color:var(--green);cursor:pointer;font-size:11px;padding:4px}
.stock-result{border:1px solid #344b6b;background:#1a2c3c;border-radius:10px;padding:14px;margin:10px 0;display:grid;gap:11px}
.stock-result h3{font-size:13px;margin:0 0 6px}
.stock-result>div{display:flex;justify-content:space-between;align-items:center;gap:13px;font-size:11px;color:#b1c2d4}
.stock-result b{white-space:nowrap;color:#eaf2fd;font-size:12px}
.stock-result small{font-size:10px;color:#9cb5ca;line-height:1.6}
@media(max-width:1150px){.masteries-layout{grid-template-columns:1fr}.mastery-info{position:static}}
@media(max-width:900px){.masteries-layout{grid-template-columns:1fr}}
@media(max-width:510px){.spec-row small{font-size:9px}.spec-actions{flex-wrap:wrap}.spec-actions button{width:100%}.material-stock input{max-width:135px}}

@media(max-width:900px){
  .mobile-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}
  .mobile-nav-btn{flex-direction:column;gap:3px;padding:7px 3px;min-height:58px;font-size:11px;white-space:nowrap}
  .mobile-nav-btn .mobile-nav-label{font-size:11px;line-height:1.2}
  .mobile-nav-btn .mobile-nav-visual{font-size:11px}
  .main-content{padding-bottom:calc(105px + env(safe-area-inset-bottom))}
}

/* v1.5: quality distribution is a vertical list, never five horizontal columns. */
#quality-counts{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0;width:100%}
#quality-counts>div{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;color:#b1c2d4;min-width:0}
#quality-counts b{color:#eaf2fd;font-size:12px;white-space:nowrap}
#quality-section .quality-prices{margin-top:12px}
#quality-section h3{font-size:13px;margin:20px 0 4px}
#quality-section .muted{font-size:11px;line-height:1.5}


/* v1.6: accessible accordion sections on every page. */
.fold-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin:0 0 14px;color:var(--muted);font-size:11px}
.fold-toolbar>div{display:flex;gap:8px}
.fold-toolbar button{background:#1a2937;border:1px solid #365064;color:#c2d7e4;border-radius:8px;padding:8px 12px;font-size:11px;font-weight:700}
.fold-toolbar button:hover{border-color:var(--green);color:var(--green)}
.collapsible-panel>.collapse-heading{position:relative;min-width:0;align-items:center;cursor:pointer}
.collapsible-panel>.panel-header.collapse-heading{margin-bottom:22px}
.collapsible-panel>.collapse-heading h2,.collapsible-panel>.collapse-heading h3{min-width:0}
.collapsible-panel>.panel-header.collapse-heading>div:nth-child(2){flex:1;min-width:0}
.collapsible-panel.is-collapsed>.collapse-heading{margin-bottom:0!important}
.collapsible-panel>.collapsible-body[hidden]{display:none!important}
.collapse-toggle{flex:none;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #3c5264;border-radius:8px;background:#1c2b3a;color:#bfcedb;font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap;margin-left:auto}
.collapse-toggle:hover{background:#28443b;border-color:#4c8a74;color:var(--green)}
.collapse-toggle:focus-visible,.fold-toolbar button:focus-visible,.sidebar-toggle:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.collapse-chevron{display:inline-block;font-size:17px;line-height:1;transition:transform .18s ease}
.collapsible-panel.is-collapsed .collapse-chevron{transform:rotate(-90deg)}
.collapsible-panel>.results-top.collapse-heading{display:flex;align-items:flex-start;gap:10px}
.collapsible-panel>.results-top.collapse-heading .collapse-toggle{margin-top:0}
.collapsible-panel>.shopping-title.collapse-heading,.collapsible-panel>.panel-topline.collapse-heading,.collapsible-panel>.history-heading.collapse-heading,.panel-collapse-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.collapsible-panel>.shopping-title.collapse-heading>span,.collapsible-panel>.panel-topline.collapse-heading>span{margin-left:auto}
.collapsible-panel>.shopping-title.collapse-heading + .collapsible-body .shopping-list{margin-top:15px}
.collapsible-panel>.panel-topline.collapse-heading + .collapsible-body .profit-chart{margin-top:10px}
.collapsible-panel.cost-panel>.panel-collapse-heading{margin-bottom:14px}
.collapsible-panel.history-panel>.history-heading.collapse-heading{margin-bottom:18px;flex-wrap:wrap}
.collapsible-panel.history-panel>.history-heading.collapse-heading>.collapse-toggle{order:2}
.collapsible-panel.history-panel>.history-heading.collapse-heading>button:not(.collapse-toggle){order:3}
.collapsible-panel.history-panel.is-collapsed>.history-heading.collapse-heading>button:not(.collapse-toggle){display:none}
.collapsible-panel.mastery-info>.panel-collapse-heading{gap:10px}
.mastery-info>.collapsible-body{display:grid;gap:16px}
.mastery-panel-title h2{margin:7px 0 0}
.overview-panel{padding:20px 22px}
.overview-panel>.dashboard-head.collapse-heading{margin:0 0 15px}
.overview-panel>.dashboard-head.collapse-heading>div:first-child{min-width:0}
.overview-panel>.collapsible-body>.filters{margin:0 0 17px;justify-content:flex-start;flex-wrap:wrap}
.overview-panel>.collapsible-body .workflow-summary{margin-bottom:16px}
.overview-panel.is-collapsed>.dashboard-head.collapse-heading{margin:0}
.sidebar-toggle{border:1px solid #33495c;background:#1b2937;color:#acbed0;border-radius:9px;margin:0 8px 18px;padding:8px 10px;display:flex;align-items:center;gap:9px;font-size:11px;font-weight:700;justify-content:center}
.sidebar-toggle:hover{border-color:var(--green);color:var(--green)}
.sidebar-toggle-icon{font-size:10px;color:var(--green)}
.app-shell.sidebar-collapsed>.sidebar{width:77px;padding-left:10px;padding-right:10px}
.app-shell.sidebar-collapsed .logo-block{padding:0 0 23px;justify-content:center}
.app-shell.sidebar-collapsed .logo-block>div,.app-shell.sidebar-collapsed .side-label,.app-shell.sidebar-collapsed .nav-text,.app-shell.sidebar-collapsed .sidebar-foot #sync-text,.app-shell.sidebar-collapsed .sidebar-toggle-label{display:none}
.app-shell.sidebar-collapsed .sidebar-toggle{margin:0 6px 18px;padding:9px}
.app-shell.sidebar-collapsed .nav-btn{justify-content:center;padding:13px 3px;position:relative}
.app-shell.sidebar-collapsed .nav-count{position:absolute;right:0;top:1px;font-size:9px;min-width:15px;padding:1px 4px}
.app-shell.sidebar-collapsed .sidebar-foot{justify-content:center;padding:10px 0}
@media(max-width:900px){.sidebar-toggle{display:none}.fold-toolbar{justify-content:space-between}.overview-panel>.dashboard-head.collapse-heading{display:flex}.collapse-toggle{padding:9px;font-size:11px}}
@media(max-width:510px){.fold-toolbar{align-items:flex-start}.fold-toolbar>span{max-width:105px}.fold-toolbar button{font-size:10px;padding:9px}.collapse-toggle{gap:5px;padding:8px}.collapse-label{font-size:10px}.collapsible-panel>.panel-header.collapse-heading{gap:9px}.collapsible-panel>.panel-header.collapse-heading h2{font-size:15px}.collapsible-panel>.panel-header.collapse-heading p{font-size:10px;line-height:1.4}.collapsible-panel>.panel-header.collapse-heading .step-num{height:27px;width:27px}.collapsible-panel>.shopping-title.collapse-heading>span,.collapsible-panel>.panel-topline.collapse-heading>span{display:none}.overview-panel{padding:16px}.overview-panel>.dashboard-head.collapse-heading{flex-direction:row;align-items:center}}
@media(prefers-reduced-motion:reduce){.collapse-chevron{transition:none}}
/* Keep result title, current item, and the button from overlapping at mobile widths. */
.collapsible-panel>.results-top.collapse-heading{display:block;position:relative;padding-right:98px;min-height:56px}
.collapsible-panel>.results-top.collapse-heading>.collapse-toggle{position:absolute;right:0;top:0;margin:0}
@media(max-width:510px){.collapsible-panel>.results-top.collapse-heading{padding-right:91px}}

/* v1.7: compact, explicit 3-step return-rate configuration. */
.returns-wizard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.returns-card{min-width:0;display:flex;flex-direction:column;gap:10px;border:1px solid #304e57;background:#12232e;border-radius:12px;padding:14px}
.returns-card .field{min-width:0}.returns-card .field select{width:100%;text-overflow:ellipsis;max-width:100%}
.returns-card small,.returns-hint{color:#a9bbc9;font-size:11px;line-height:1.5}
.returns-number{display:grid;place-items:center;width:25px;height:25px;background:#22483d;color:#82eac0;border-radius:8px;font-size:13px;font-weight:850}
.returns-focus-card{grid-column:1/-1;display:grid;grid-template-columns:26px 22px minmax(0,1fr);align-items:center;column-gap:12px;cursor:pointer;background:#16352e;border-color:#3f755e}
.returns-focus-card > span:last-child{min-width:0}.returns-focus-card input{margin:0}
.return-preview{border:1px solid #356153;background:#162b2e;padding:13px 15px;border-radius:11px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.return-preview>div{display:grid;gap:7px}.return-preview>div span{font-size:10px;color:#acbfc4}.return-preview>div strong{color:#e2fff0;font-size:17px;font-variant-numeric:tabular-nums}
.return-preview>small{grid-column:1/-1;color:#9eb4b3;font-size:10px;line-height:1.5}
.return-advanced{border:1px solid #34485b;border-radius:10px;margin:12px 0;padding:12px 14px}
.return-advanced summary{cursor:pointer;font-weight:700;font-size:12px;color:#b7ccdf}
.return-advanced>.field{display:block;margin-top:13px}.manual-return-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.return-advanced>small{display:block;margin-top:12px;color:#8ca4b8;font-size:10px;line-height:1.5}
.returns-card .field select:disabled{opacity:.55}
@media(max-width:510px){.returns-wizard{grid-template-columns:1fr}.returns-focus-card{grid-column:auto}.return-preview>div strong{font-size:13px}.return-preview{gap:6px;padding:12px 9px}.return-preview>div span{font-size:9px}.manual-return-fields{grid-template-columns:1fr}}

/* v1.8 — return stock bookkeeping */
.return-ledger{padding:15px;border:1px solid #355969;background:#172933;border-radius:12px;display:grid;gap:12px}
.return-ledger>.subheading{margin:0;font-weight:750;color:#b9f0d8}
.return-ledger p{font-size:11px;line-height:1.6;margin:0}
.return-check .check-line{display:flex;gap:9px;align-items:center;font-size:12px;color:#d9f1e6;line-height:1.45}
.return-check input{width:18px;height:18px;accent-color:#78e4b0;flex:none}
.material-actual{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.material-actual label{font-size:10px;color:#b1c5ce;display:grid;gap:5px}
.material-actual input{width:100%;min-width:0}
.resource-plan-card .returns-plan-lines{display:grid;gap:10px;min-width:0}
.resource-plan-line{border-bottom:1px solid #405164;display:grid!important;align-items:start!important;gap:4px!important;padding:0 0 9px}
.resource-plan-line strong{color:#b9f0d8;font-size:12px}
.resource-plan-line span{font-size:11px;color:#bbcbd6}
.resource-plan-line b{color:#e5fbea}
.resource-plan-card .return-total{border-top:1px solid #405164;padding-top:10px;color:#e4f9ec}
@media(max-width:510px){.material-actual{grid-template-columns:1fr 1fr}.return-ledger{padding:11px}.returns-plan-lines{overflow-wrap:anywhere}}

/* v1.9 — fixed finished-item target and compact batch schedule */
.shopping-target {font-size:12px;color:#c6f6df;display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #365668;padding:4px 0 11px}
.returns-stages {border-top:1px solid #395265;padding-top:10px;font-size:11px;color:#c8d8e0}
.returns-stages summary {cursor:pointer;color:#78e5b3;font-weight:700}
.returns-plan-steps {display:grid;gap:7px;margin-top:10px;max-height:310px;overflow:auto}
.return-stage {border:1px solid #374a5c;border-radius:7px;padding:9px;background:#132331;font-size:11px}
.return-stage b {color:#76e6b4}.return-stage small {display:block;line-height:1.6;color:#a7c0d0}

/* v2.0: warehouse overview and inventory movement ledger */
.warehouse-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;align-items:start}
.warehouse-items,.warehouse-moves{display:grid;gap:8px;margin:16px 0}
.warehouse-row,.warehouse-move{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#112632;border:1px solid #31534f;border-radius:9px;min-width:0}
.warehouse-row strong,.warehouse-move b{overflow-wrap:anywhere;font-size:12px;color:#d6f4e5}
.warehouse-row span,.warehouse-move strong{color:#85e4b4;font-size:13px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.warehouse-move strong.negative{color:#f3a6a9}.warehouse-move strong.positive{color:#80ecc0}
.warehouse-move small{display:block;color:#9dabbc;font-size:10px;margin-top:4px;line-height:1.5}
.warehouse-form{display:grid;gap:14px;margin:14px 0}.warehouse-form>.primary-btn{margin-top:5px}
.warehouse-note,.warehouse-calc-note{font-size:11px;line-height:1.6;margin:12px 0}
.warehouse-use-btn{width:100%;margin:9px 0 0}
.history-buttons{flex-wrap:wrap}.warehouse-posted{font-size:10px;color:#7ae1b4;align-self:center}
.history-buttons .post-warehouse-btn{border:1px solid #4a8b73;background:#24483f;color:#b3ffda;font-weight:750}
@media(max-width:1050px){.warehouse-grid{grid-template-columns:1fr}}
@media(max-width:900px){.mobile-nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.mobile-nav-btn{min-width:0;flex-direction:column;gap:3px;padding:7px 2px;font-size:10px}.mobile-nav-label{font-size:10px}.main-content{padding-bottom:calc(105px + env(safe-area-inset-bottom))}}
@media(max-width:510px){.mobile-nav-btn{font-size:9px;min-height:54px;padding:7px 1px}.mobile-nav-icon{width:21px;height:21px}.mobile-nav-label{font-size:9px}.warehouse-row,.warehouse-move{padding:10px 11px}.warehouse-grid .panel{padding:14px}}

/* v2.1 standalone web sign-in + authoritative automatic inventory */
body:not(.authenticated) .app-shell, body:not(.authenticated) .mobile-nav { display:none!important }
body.authenticated .auth-screen {display:none!important}
.auth-screen{min-height:100dvh;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 0%,#193b37 0%,#0b111b 54%);padding:22px}
.auth-card{width:min(100%,430px);border:1px solid #315347;background:#141e2b;border-radius:18px;padding:34px;box-shadow:0 18px 65px #0006}
.auth-logo{font-size:23px;color:#77e6b4;font-weight:900;letter-spacing:.05em}.auth-logo span{color:#f1f5f9}.auth-logo b{color:#77e6b4}
.auth-eyebrow{color:#77e6b4;letter-spacing:.15em;font-size:10px;font-weight:800;margin-top:8px}
.auth-card h1{font-size:25px;margin:22px 0 5px;color:#f1f5f9}.auth-help,.auth-footer{color:#92a5b7;font-size:12px;line-height:1.7}
.auth-form{display:grid;gap:18px;margin-top:24px}.auth-form label{display:grid;gap:8px;color:#c5d2df;font-size:12px;font-weight:700}
.auth-form input{border:1px solid #3a4e62;background:#0b1421;color:#eef8fa;border-radius:9px;padding:13px;font-size:15px;width:100%}
.auth-form button{width:100%;min-height:48px}.auth-error{color:#ff9393;font-size:12px;min-height:12px}.auth-footer{margin-top:22px}
.logout-btn{padding:8px 10px;font-size:11px}.warehouse-quantity-auto{color:#77e6b4;font-weight:700}
.material-stock input[readonly]{opacity:.93;border-color:#3b6558;color:#77e6b4;cursor:default}
@media(max-width:600px){.auth-card{padding:22px}.logout-btn{padding:7px;font-size:10px}.topbar-right{gap:7px}}

[hidden] {display:none!important}

/* v2.2 public registration */
.auth-switch-row{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:#9eb2bd;margin-top:15px}
.auth-switch-row button{border:0;background:none;color:#7ae1b4;font-weight:750;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:6px}
.auth-switch-row button:focus-visible{outline:2px solid #7ae1b4;border-radius:4px}
