:root{
 --bg:#f2f4f3;--panel:#fff;--soft:#f8faf9;--text:#202522;--muted:#69716d;--line:#dde3df;
 --accent:#bd8937;--accent2:#8d6425;--green:#287a54;--amber:#a96b16;--red:#b43f3f;--blue:#366f9d;
 --shadow:0 10px 30px rgba(22,31,26,.055);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit}button,input,select,textarea{font:inherit}
.app{max-width:1280px;margin:0 auto;padding:26px 18px 70px}
.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.brand,.kicker{font-size:12px;font-weight:850;letter-spacing:.16em;color:var(--accent)}
.topbar h1,.page-head h1{font-size:clamp(34px,5vw,55px);letter-spacing:-.055em;line-height:.95;margin:6px 0 11px}
.topbar p,.page-head p,.panel-head p,.jobs-head p{margin:0;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 14px;font-weight:750;text-decoration:none;cursor:pointer}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#161616}.btn.primary:hover{background:var(--accent2);color:#fff}
.btn.danger,.link-danger{color:var(--red);border-color:#efcaca;background:#fff}.link-danger{border:0;cursor:pointer}
.nav{display:flex;gap:6px;margin:22px 0 28px;padding-bottom:12px;border-bottom:1px solid var(--line);overflow:auto}
.nav a,.tabs a{white-space:nowrap;text-decoration:none;padding:8px 11px;border-radius:9px;color:var(--muted);font-size:14px;font-weight:700}
.nav a.active,.nav a:hover,.tabs a.active{background:#fff;color:var(--text)}
.today-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:13px}.today-head h2{font-size:27px;margin:3px 0 0}.today-note{color:var(--muted);font-size:14px}
.stats,.job-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.job-kpis{grid-template-columns:repeat(6,1fr)}
.stats article,.job-kpis article{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:17px;box-shadow:var(--shadow)}
.stats span,.job-kpis span{display:block;color:var(--muted);font-size:13px}.stats strong{display:block;font-size:27px;margin-top:5px}.job-kpis strong{display:block;font-size:16px;margin-top:5px}
.dashboard-grid,.form-grid,.pricing-layout,.job-layout,.customer-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;align-items:start;margin-bottom:24px}
.form-grid{grid-template-columns:1fr 1fr}.pricing-layout{grid-template-columns:1.2fr .8fr}.job-layout{grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr)}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:19px;box-shadow:var(--shadow)}
.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.panel-head h3,.jobs-head h3{margin:0 0 4px;font-size:19px}
.count-pill{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;border-radius:50%;background:var(--soft);font-weight:850}
.attention-list,.health-list,.job-list,.stack,.updates{display:grid;gap:10px}
.attention{display:block;padding:12px;border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:11px;background:var(--soft);text-decoration:none}
.attention.danger{border-left-color:var(--red)}.attention.warning{border-left-color:var(--amber)}
.att-type{font-size:11px;text-transform:uppercase;font-weight:850;letter-spacing:.08em;color:var(--muted);margin-bottom:3px}.attention strong,.attention span{display:block}.attention span{color:var(--muted);font-size:12px;margin-top:3px}
.health-list a{display:flex;justify-content:space-between;gap:12px;text-decoration:none;border-bottom:1px solid var(--line);padding:11px 0}.health-list a:last-child{border-bottom:0}.health-list strong{font-size:18px}
.good{color:var(--green)!important}.warn{color:var(--amber)!important}.bad{color:var(--red)!important}
.jobs-section{margin-top:8px}.jobs-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px}.tabs{display:flex;gap:4px;overflow:auto}
.job-card{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;text-decoration:none;box-shadow:0 4px 16px rgba(22,31,26,.035)}
.job-card:hover{border-color:#cbb78e;box-shadow:var(--shadow)}
.job-card-top{display:flex;justify-content:space-between;gap:14px}.job-ref{font-size:11px;color:var(--accent);font-weight:850}.job-card h4{margin:3px 0;font-size:17px}.job-card p{margin:0;color:var(--muted);font-size:13px}
.badges{display:flex;gap:6px;align-items:flex-start;flex-wrap:wrap;justify-content:flex-end}.badge{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;background:var(--soft)}.badge.sales{color:var(--blue)}.badge.prod{color:var(--green)}.badges.big .badge{font-size:13px;padding:7px 11px}
.meta-row{display:flex;flex-wrap:wrap;gap:11px;margin-top:10px;color:var(--muted);font-size:12px}.waiting{color:var(--amber);font-weight:800}
.progress-wrap{display:flex;align-items:center;gap:10px;margin-top:11px}.progress{height:8px;flex:1;background:#edf0ee;border-radius:999px;overflow:hidden}.progress i{display:block;height:100%;background:var(--accent);border-radius:999px}.progress-wrap span{font-size:11px;color:var(--muted)}
.back{display:inline-block;text-decoration:none;color:var(--muted);font-weight:700;margin-bottom:20px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}.job-page-head{align-items:center}
.fields{display:grid;gap:12px}.two,.three{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.three{grid-template-columns:repeat(3,1fr)}
label{display:block;font-size:13px;font-weight:700;color:#39413d}input,select,textarea{width:100%;margin-top:5px;border:1px solid #d5dbd7;border-radius:9px;padding:10px 11px;background:#fff;color:var(--text);outline:none}textarea{resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(189,137,55,.14)}.checkline{display:flex;gap:9px;align-items:center}.checkline input{width:auto;margin:0}
.price-boxes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.price-boxes>div,.profit-box,.balance{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--soft)}.price-boxes span,.profit-box span,.balance span{display:block;color:var(--muted);font-size:12px}.price-boxes strong,.profit-box strong,.balance strong{display:block;font-size:23px;margin-top:3px}.price-boxes label{display:flex;align-items:center;font-size:22px;margin-top:2px}.price-boxes label input{margin:0 0 0 3px;background:transparent;border:0;padding:0;font-size:22px;font-weight:800}
.profit-box small{color:var(--muted)}
.sticky-save{position:sticky;bottom:12px;background:#202522;color:#fff;border-radius:14px;padding:12px 14px;margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:14px;box-shadow:0 16px 35px rgba(0,0,0,.18)}.sticky-save span{display:block;color:#bbc2be;font-size:12px}
.flash{background:#fff8e8;border:1px solid #ecd4a7;border-radius:11px;padding:11px 13px;margin-bottom:16px}
.workflow-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:18px}.wf{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;text-align:center}.wf span,.wf strong,.wf small{display:block}.wf span{font-size:17px}.wf strong{font-size:12px;margin:3px 0}.wf small{font-size:10px;color:var(--muted)}.wf.done{border-color:#b9d9ca;background:#f2fbf6}.wf.done span{color:var(--green)}.wf.active{border-color:#e5c890;background:#fffaf0}.wf.active span{color:var(--amber)}
.task-section{margin:18px 0 8px;font-size:15px}.task-group{display:grid;gap:7px}.task{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);background:var(--soft);border-radius:10px}.task button{width:28px;height:28px;border:1px solid #c9d0cc;border-radius:7px;background:#fff;color:#fff;font-weight:850}.task.done{opacity:.62}.task.done button{background:var(--green);border-color:var(--green)}.task.done span{text-decoration:line-through}.add-task{display:grid;grid-template-columns:130px 1fr auto;gap:8px;margin-top:14px}.add-task input,.add-task select{margin:0}
.details{margin:0}.details div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line)}.details dt{color:var(--muted);font-size:12px}.details dd{margin:0;font-size:13px;font-weight:750;text-align:right}.note{margin-top:13px;background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:11px;font-size:13px;color:#4d5651}
.stock-mini{display:grid;gap:8px}.stock-mini div{display:grid;grid-template-columns:1fr auto;gap:3px 10px;padding:9px 0;border-bottom:1px solid var(--line)}.stock-mini em{grid-column:1/-1;color:var(--muted);font-size:10px}
.updates article{border-top:1px solid var(--line);padding-top:11px}.updates article div{display:flex;justify-content:space-between}.updates article span{font-size:11px;color:var(--muted)}.updates article p{font-size:13px;color:#4d5651}
.danger-zone{border-color:#efcccc}.danger-zone p{color:var(--muted);font-size:13px}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:650px}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);font-size:13px}th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.inline-add{display:grid;grid-template-columns:1.4fr .7fr .55fr .55fr .8fr .8fr .6fr auto;gap:7px;margin-top:14px}.inline-add.compact{grid-template-columns:1.4fr 1fr 1fr auto}.inline-add input,.inline-add select{margin:0}
.stock-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.stock-cards article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px}.stock-cards article.low{border-color:#e8baba}.stock-cards h3{margin:3px 0 12px}.stock-cards article>div:first-child span{color:var(--muted);font-size:11px}.stock-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.stock-nums div{background:var(--soft);border-radius:9px;padding:9px}.stock-nums small{display:block;color:var(--muted);font-size:10px}.stock-nums strong{font-size:18px}.stock-footer{display:flex;justify-content:space-between;margin-top:10px;font-size:11px}.stock-adjust{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:10px}.stock-adjust input{margin:0}
.planner{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.week{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px}.week-head{display:flex;justify-content:space-between;gap:12px}.week-head span,.week-head strong{display:block}.week-head span{font-size:12px;color:var(--muted)}.week-head strong{font-size:15px;margin-top:2px}.week-head em{font-style:normal;font-weight:850}.week>.progress{margin:10px 0 11px}.week-jobs{display:grid;gap:7px}.week-jobs a{display:block;text-decoration:none;background:var(--soft);border:1px solid var(--line);border-radius:9px;padding:9px}.week-jobs strong,.week-jobs span{display:block}.week-jobs strong{font-size:13px}.week-jobs span{font-size:11px;color:var(--muted);margin-top:2px}
.empty{padding:15px;border:1px dashed #cbd2ce;border-radius:10px;color:var(--muted);background:var(--soft);font-size:13px}.empty.mini{padding:10px}
@media(max-width:950px){.dashboard-grid,.pricing-layout,.job-layout{grid-template-columns:1fr}.stats,.job-kpis{grid-template-columns:repeat(2,1fr)}.stock-cards{grid-template-columns:repeat(2,1fr)}.workflow-strip{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.app{padding:19px 12px 50px}.topbar,.page-head,.today-head,.jobs-head,.job-card-top{flex-direction:column;align-items:stretch}.form-grid{grid-template-columns:1fr}.two,.three,.price-boxes{grid-template-columns:1fr}.stock-cards,.planner{grid-template-columns:1fr}.workflow-strip{grid-template-columns:repeat(2,1fr)}.inline-add,.inline-add.compact,.add-task{grid-template-columns:1fr}.sticky-save{position:static;flex-direction:column;align-items:stretch}.sticky-save .btn{width:100%}.badges{justify-content:flex-start}}

.extras-box{border-top:1px solid var(--line);padding-top:13px}
.extras-box>p{margin:4px 0 10px;color:var(--muted);font-size:12px}
.extras-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.extra-check{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;padding:9px;background:var(--soft)}
.extra-check input{width:auto;margin:0}.extra-check em{font-style:normal;color:var(--muted);font-size:11px}
.job-extras{margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}
.job-extras>strong{display:block;margin-bottom:7px}.job-extras div{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding:4px 0}.job-extras em{font-style:normal;color:var(--muted)}
@media(max-width:700px){.extras-grid{grid-template-columns:1fr}}

.lead-box{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.lead-box>div{background:var(--soft);border:1px solid var(--line);border-radius:11px;padding:12px}
.lead-box span{display:block;color:var(--muted);font-size:11px}
.lead-box strong{display:block;margin-top:4px;font-size:16px}
.lead-note{margin:11px 0 0;color:var(--muted);font-size:12px}
.week-jobs em{display:block;font-style:normal;color:var(--accent2);font-size:10px;margin-top:4px}
.install-plan{margin-bottom:20px}
.install-list{display:grid;gap:8px}
.install-list a{display:flex;justify-content:space-between;gap:15px;align-items:center;text-decoration:none;background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:11px}
.install-list a>div:first-child strong,.install-list a>div:first-child span{display:block}
.install-list a>div:first-child span{color:var(--muted);font-size:11px;margin-top:2px}
.install-date{text-align:right}
.install-date strong,.install-date span{display:block}
.install-date span{font-size:10px;color:var(--muted);margin-top:2px}
.task button:disabled{opacity:.55;cursor:wait}
@media(max-width:950px){.job-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.lead-box{grid-template-columns:1fr}.job-kpis{grid-template-columns:repeat(2,1fr)}.install-list a{align-items:flex-start}.install-date{text-align:right}}

.recommendation-box{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.recommendation-box>div{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:14px}
.recommendation-box span{display:block;color:var(--muted);font-size:12px}
.recommendation-box strong{display:block;font-size:23px;margin-top:3px}
.recommendation-box small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.price-boxes.single-quote{grid-template-columns:1fr}
.planner-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.planner-summary article{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px}
.planner-summary span{display:block;color:var(--muted);font-size:11px}
.planner-summary strong{display:block;font-size:20px;margin-top:4px}
.planner-board{display:grid;gap:14px;margin-bottom:20px}
.planner-week{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px;box-shadow:var(--shadow)}
.planner-week>header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.planner-week>header span,.planner-week>header strong{display:block}
.planner-week>header span{font-size:12px;color:var(--muted)}
.planner-week>header strong{font-size:15px;margin-top:2px}
.planner-week>header em{font-style:normal;font-weight:850}
.planner-week>.progress{margin:10px 0 13px}
.planner-columns{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}
.planner-columns h3{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 7px}
.plan-job,.install-job{display:block;text-decoration:none;background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:7px}
.plan-job-top{display:flex;justify-content:space-between;gap:10px}
.plan-job-top strong{font-size:13px}.plan-job-top span{font-size:11px;color:var(--muted)}
.plan-job p{margin:3px 0 7px;font-size:11px;color:var(--muted)}
.plan-tags{display:flex;flex-wrap:wrap;gap:5px}
.plan-tags span{font-size:9px;border-radius:999px;padding:4px 6px;background:#fff;border:1px solid var(--line)}
.plan-tags .auto{color:var(--blue)}.plan-tags .waiting{color:var(--amber)}
.install-job{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.install-job strong,.install-job span,.install-job small{display:block}
.install-job strong{font-size:13px}.install-job span{font-size:11px;margin-top:2px}.install-job small{font-size:10px;color:var(--muted);margin-top:2px}
.install-job em{font-style:normal;font-size:9px;border-radius:999px;padding:4px 6px;white-space:nowrap}
.install-job em.confirmed{color:var(--green);background:#eef9f3}.install-job em.estimated{color:var(--amber);background:#fff8eb}
@media(max-width:900px){.planner-summary{grid-template-columns:repeat(2,1fr)}.planner-columns{grid-template-columns:1fr}}
@media(max-width:700px){.recommendation-box{grid-template-columns:1fr}.planner-summary{grid-template-columns:1fr 1fr}}


/* Live authentication / account */
.auth-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.7)}
.auth-user{display:flex;align-items:center;gap:8px;min-width:0}.auth-user span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:var(--green);border:1px solid #cce4d8;background:#f2fbf6;padding:4px 6px;border-radius:999px}.auth-user strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.auth-actions{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.auth-actions a,.auth-actions button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:11px;font-weight:750;padding:7px 8px;border-radius:7px;text-decoration:none;cursor:pointer}.auth-actions a:hover,.auth-actions button:hover{background:#fff;color:var(--text)}.auth-actions form{margin:0}
.login-body{min-height:100vh;display:grid;place-items:center;padding:22px;background:var(--bg)}
.login-shell{width:min(100%,430px)}.login-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:var(--shadow)}.login-card.wide-login{width:100%}.login-card h1{font-size:38px;letter-spacing:-.05em;margin:6px 0 8px}.login-card>p{margin:0 0 18px;color:var(--muted)}
.login-form{margin-top:14px}.login-form small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.login-error{border:1px solid #efcaca;background:#fff5f5;color:var(--red);padding:10px 11px;border-radius:9px;font-size:13px;margin:12px 0}.setup-callout{display:grid;gap:10px;background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:14px}.setup-callout span{font-size:12px;color:var(--muted)}
.account-panel{max-width:620px}.live-health div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:11px 0}.live-health div:last-child{border-bottom:0}
@media(max-width:700px){.auth-bar{align-items:flex-start}.auth-actions{justify-content:flex-end}.login-card{padding:20px}.auth-user strong{max-width:120px}}

.queue-summary{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:12px;margin-bottom:18px}
.queue-summary article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow)}
.queue-summary span{display:block;color:var(--muted);font-size:11px}
.queue-summary strong{display:block;font-size:22px;margin-top:4px}
.queue-summary small{display:block;color:var(--accent2);font-size:11px;margin-top:4px}
.queue-summary .next-order{border-color:#dec79f;background:#fffaf0}
.production-queue{display:grid;gap:9px}
.queue-row{display:grid;grid-template-columns:76px minmax(0,1fr) 190px;gap:14px;align-items:center;text-decoration:none;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--soft)}
.queue-row:hover{border-color:#ccb98f;background:#fff}
.queue-row.current{border-color:#d9bd83;background:#fffaf0}
.queue-number{border-right:1px solid var(--line);padding-right:12px;text-align:center}
.queue-number span{display:block;font-size:9px;letter-spacing:.08em;color:var(--muted);font-weight:850}
.queue-number strong{display:block;font-size:25px;margin-top:2px}
.queue-job-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.queue-job-title strong,.queue-job-title span{display:block}
.queue-job-title>div>strong{font-size:15px}
.queue-job-title>div>span{color:var(--muted);font-size:11px;margin-top:3px}
.queue-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:7px;color:var(--muted);font-size:10px}
.queue-date{border-left:1px solid var(--line);padding-left:14px;text-align:right}
.queue-date span,.queue-date strong,.queue-date small{display:block}
.queue-date span{font-size:9px;letter-spacing:.08em;font-weight:850;color:var(--muted)}
.queue-date strong{font-size:15px;margin-top:3px}
.queue-date small{font-size:9px;color:var(--muted);margin-top:3px}
.queue-date.firm strong{color:var(--green)}
.queue-date.predicted strong{color:var(--accent2)}
.queue-explainer{margin-top:13px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#fff}
.queue-explainer strong{font-size:13px}
.queue-explainer p{margin:5px 0 0;color:var(--muted);font-size:12px}
.queue-readonly{border:1px solid var(--line);border-radius:10px;background:var(--soft);padding:11px}
.queue-readonly span{display:block;color:var(--muted);font-size:11px}
.queue-readonly strong{display:block;font-size:13px;margin-top:3px}
@media(max-width:800px){
 .queue-summary{grid-template-columns:1fr}
 .queue-row{grid-template-columns:58px minmax(0,1fr)}
 .queue-date{grid-column:2;border-left:0;border-top:1px solid var(--line);padding:9px 0 0;text-align:left}
 .queue-number{align-self:stretch}
}
