:root{color-scheme:dark;--page:#17191d;--surface:#22252a;--field:#292d33;--ink:#f0f1f3;--muted:#aeb5bf;--line:#3b414b;--blue:#91baf0;--navy:#315f96;--navy-2:#315f96;--ice:#2b3544;--accent:#91baf0;--danger-bg:#422b30;--danger:#f0a5ab;--shadow:none}
:root[data-theme="light"]{color-scheme:light;--page:#f4f5f7;--surface:#fff;--field:#f8f9fb;--ink:#20252c;--muted:#5e6875;--line:#d6dbe2;--blue:#315f96;--navy:#315f96;--ice:#e9eff7;--accent:#315f96;--danger-bg:#fbecef;--danger:#9e2737}
body{background:var(--page);color:var(--ink);font-size:15px}
.topbar{max-width:1240px;margin:auto;padding:30px 24px 20px;background:none;color:var(--ink);gap:24px}
.wordmark{display:block;width:fit-content;color:var(--ink);text-decoration:none;font-size:23px;font-weight:750;letter-spacing:-.6px;margin-bottom:24px}
.topbar h1{font-size:28px;font-weight:650;letter-spacing:-.6px}.lede{color:var(--muted);font-size:14px}
.theme-toggle{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;align-self:flex-start;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);cursor:pointer}
.theme-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.moon-icon{display:none}[data-theme="light"] .sun-icon{display:none}[data-theme="light"] .moon-icon{display:block}
.cloud-bar{width:calc(100% - 48px);max-width:1192px;margin:0 auto 16px;padding:12px 0;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;font-size:13px}.cloud-bar p{color:var(--muted)}.cloud-bar [data-kind="error"]{color:var(--danger)}
.app-tabs{max-width:1192px;width:calc(100% - 48px);margin:0 auto 28px;padding:0;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}
.app-tabs button{padding:14px 10px;color:var(--muted);font-weight:600;border-radius:0;border-bottom:2px solid transparent}.app-tabs button.active{background:transparent;color:var(--ink);border-bottom-color:var(--blue);box-shadow:none}.app-tabs button:hover{background:var(--surface);color:var(--ink)}.app-tabs span,.app-tabs button.active span{background:var(--ice);color:var(--blue)}
.layout{width:min(1240px,100%);padding:0 24px;gap:32px;grid-template-columns:minmax(0,1fr) 350px}.calculator-panel{gap:28px}.card{background:var(--surface);border:0;border-radius:7px;box-shadow:none;padding:26px}.section-heading{margin-bottom:24px}.section-heading>span{display:none}.section-heading h2{font-size:20px;font-weight:650;margin:0 0 6px}.section-heading p{font-size:13px}
label,.material-job-top,.rate-note strong{color:var(--ink);font-weight:500}input,select,.input-unit{background:var(--field);color:var(--ink);border-color:var(--line);border-radius:5px}input,select{padding:10px 12px}input:disabled{background:var(--page)}input:focus,select:focus,.input-unit:focus-within{border-color:var(--blue);box-shadow:0 0 0 2px var(--ice)}
.material-job-block{padding:16px 0 0;background:none;border:0;border-top:1px solid var(--line);border-radius:0}.consumable-row,.job-row,.settings-subsection,.editor-row{background:var(--field);border-color:var(--line);border-radius:5px}.catalog-tools input,.catalog-tools select{background:var(--field)}
.secondary,.result-reset,.cloud-actions button,.tax-mode-buttons button,.material-count-buttons button,.discount-buttons button{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:5px;font-weight:550;cursor:pointer}.secondary:hover,.secondary:focus-visible,.theme-toggle:hover{background:var(--ice)}.job-save,.open-job,#loginSubmit{background:var(--navy);color:white;border:1px solid var(--navy);border-radius:5px;font-weight:600}.job-actions button{padding:10px 14px}.job-manager{padding:16px 0;background:none}.job-overview{margin-top:16px;padding-top:14px}
.tax-note,.storage-note{background:var(--surface);border-color:var(--line);color:var(--ink);border-radius:5px}.tax-note span,.storage-note strong{color:var(--muted)}.tax-mode-buttons button.active,.material-count-buttons button.active,.discount-buttons button.active{background:var(--ice);color:var(--blue);border-color:var(--blue)}
.result{background:transparent;color:var(--ink);border-left:1px solid var(--line);border-radius:0;padding:8px 0 24px 28px}.eyebrow,.subprice,.result dt,.profit small,.discount-box>span{color:var(--muted)}.result .price{font-size:44px;font-weight:650}.result dl{gap:13px;font-size:14px}.divider,.settings-divider{background:var(--line)}.profit,.discount-box{border-color:var(--line)}.rate-note{background:var(--field);border-radius:0}.confirm-dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:7px}.toast{background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:none}.danger:hover,.delete-row:hover{background:var(--danger-bg)}
button:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.cloud-gate{padding:32px}.cloud-gate form{display:grid;gap:16px}.cloud-gate button{padding:12px;border-radius:5px}#loginLink{color:var(--ink);border:1px solid var(--line);background:var(--field)}
@media(max-width:1050px){.layout{grid-template-columns:1fr}.result{position:static;grid-row:auto;border-left:0;border-top:1px solid var(--line);padding:28px 0}.result .price{font-size:40px}}
@media(max-width:600px){.topbar{padding:22px 16px 16px}.topbar h1{font-size:25px}.wordmark{margin-bottom:18px}.cloud-bar,.app-tabs{width:calc(100% - 32px)}.cloud-bar{align-items:flex-start}.app-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.layout{padding:0 16px;gap:28px}.card{padding:20px;border-radius:6px}.calculator-panel{gap:24px}.result{padding:24px 0}.job-manager{padding:8px 0}.cloud-gate{width:auto}.section-heading h2{font-size:19px}}
/* Compact header and clearly grouped job controls. */
.topbar{position:relative;max-width:1240px;padding:14px 24px;align-items:center;border-bottom:1px solid var(--line)}
.brand-block{display:flex;align-items:center;gap:24px}.wordmark{margin:0;flex-shrink:0}.wordmark img{display:block;width:126px;height:76px;object-fit:contain;filter:invert(1)}[data-theme="light"] .wordmark img{filter:none}.topbar h1{font-size:26px;margin:0}.topbar .lede{display:none}.theme-toggle{align-self:center}
.cloud-bar{padding:10px 0;margin-bottom:8px;min-height:52px}.account-status{display:flex;align-items:center;gap:12px}.account-avatar{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);font-size:12px;font-weight:600;flex-shrink:0}.cloud-bar p{margin:0;font-size:12px}.status-quiet{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.storage-indicator{display:grid;place-items:center;width:28px;height:28px;color:#d6aa60;flex-shrink:0}.storage-indicator svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.storage-indicator[data-state="saved"]{color:#57b780}.storage-indicator[data-state="saving"]{color:var(--blue);animation:save-pulse 1s ease-in-out infinite}.storage-indicator[data-state="error"]{color:var(--danger)}.storage-indicator[data-state="stale"]{color:#e3af51}[data-theme="light"] .storage-indicator[data-state="saved"]{color:#267746}@keyframes save-pulse{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.storage-indicator[data-state="saving"]{animation:none}}
.app-tabs{margin-bottom:22px}.job-manager{padding:22px 24px;background:var(--surface);border:1px solid var(--line);border-radius:7px}.job-title-field{margin-top:20px}.job-manager h2,.parts-manager h2{font-size:18px;margin:0}.job-status{display:block;color:var(--muted);font-size:12px;margin:10px 0 0}.parts-manager>.muted,.part-editor-heading>.muted{font-size:12px;margin:12px 0 0}.part-editor-heading{padding:20px 24px;border-left:2px solid var(--blue)}
.part-list{margin-top:16px}.part-list-head,.part-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(95px,.65fr) minmax(95px,.65fr) 30px;gap:10px;align-items:center}.part-list-head{padding:8px 0;color:var(--muted);font-size:11px}.part-list-head span:not(:first-child),.part-row>span{text-align:right}.part-row{padding:10px 0;border-top:1px solid var(--line);font-size:13px;font-variant-numeric:tabular-nums}.part-select{text-align:left;border:0;border-radius:4px;background:none;color:var(--ink);padding:8px;cursor:pointer;overflow-wrap:anywhere}.part-select small{display:block;color:var(--muted);margin-top:4px}.part-row.selected .part-select{background:var(--ice);box-shadow:inset 2px 0 var(--blue)}.part-row .delete-row{width:30px;height:30px}.part-row .delete-row:disabled{opacity:.25;cursor:default}
@media(min-width:901px){.layout{grid-template-columns:minmax(0,1fr) 350px;align-items:start}.result.card{position:sticky;top:16px;align-self:start;max-height:calc(100dvh - 32px);overflow:auto;grid-row:auto;padding:10px 0 16px 24px;scrollbar-width:thin}.result .price{font-size:38px}.result dl{font-size:12px;gap:7px}.result .divider{margin:14px 0}.result .profit,.result .discount-box{margin-top:14px;padding-top:12px}.result .subprice{font-size:12px}.result .profit{font-size:12px}.result .discount-buttons button{font-size:12px}.result .eyebrow{letter-spacing:.08em}}
@media(max-width:900px){.layout{grid-template-columns:1fr}.result.card{position:static;max-height:none;grid-row:auto;border-left:0;border-top:1px solid var(--line);padding:24px 0}.brand-block{gap:16px}}
@media(max-width:600px){.topbar{padding:8px 16px;gap:10px}.wordmark img{width:78px;height:52px}.brand-block{gap:12px}.topbar h1{font-size:19px}.theme-toggle{width:36px;height:36px}.cloud-bar{flex-direction:row;flex-wrap:wrap;align-items:center}.cloud-actions button{padding:7px 10px;font-size:12px}.job-manager{padding:18px}.part-list-head,.part-row{grid-template-columns:minmax(80px,1fr) minmax(72px,.7fr) minmax(72px,.7fr) 26px;gap:5px;font-size:11px}.part-list-head{font-size:10px}.parts-manager{padding:18px 12px}.parts-manager .job-manager-top{flex-wrap:wrap}.part-select{padding:6px 4px}.part-row .delete-row{width:26px}.part-editor-heading{padding:18px}}

/* Header and inline editing for the selected part. */
.topbar{justify-content:space-between;gap:24px}.wordmark img{width:190px;height:104px}.brand-block{gap:20px}.topbar h1{font-family:"Arial Black","Helvetica Neue",Arial,sans-serif;font-size:25px;font-weight:900;text-transform:uppercase;letter-spacing:.055em}.header-tools{display:flex;align-items:center;gap:18px;margin-left:auto}.header-tools .cloud-bar{width:auto;max-width:none;margin:0;padding:0;border:0;gap:14px;min-height:0;flex-wrap:wrap;justify-content:flex-end}.header-tools .account-status{gap:10px}.header-tools .cloud-actions{gap:8px}.header-tools .cloud-bar p:not(.status-quiet){max-width:190px}.part-inline-fields{grid-column:1/-1;padding:14px 10px 8px;border-top:1px solid var(--line)}.part-inline-fields .grid{grid-template-columns:minmax(0,1fr) 130px;gap:16px}.part-inline-fields>.muted{font-size:12px;margin:12px 0 0}.part-row.selected{background:var(--ice);border-radius:5px;padding:10px}.part-row.selected .part-select{box-shadow:none;font-weight:650}.subprice[hidden]{display:none}
@media(max-width:1050px){.topbar h1{font-size:20px}.wordmark img{width:160px;height:96px}.header-tools{gap:10px}.brand-block{gap:12px}}
@media(max-width:760px){.topbar{flex-wrap:wrap;gap:4px 16px}.brand-block{flex:1}.header-tools{margin-left:auto;padding:0 0 10px}.wordmark img{width:145px;height:86px}.topbar h1{font-size:18px}.header-tools .cloud-bar{flex-direction:row}.part-inline-fields .grid{grid-template-columns:minmax(0,1fr) 95px}.part-inline-fields{padding:12px 0 4px}}
/* Consistent toolbar; status notices never participate in header layout. */
.topbar h1{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;font-size:27px;letter-spacing:.035em;text-transform:none}
.header-tools{position:relative;gap:10px;flex-shrink:0}.header-tools .cloud-bar,.header-tools .account-status,.header-tools .cloud-actions{gap:10px;flex-wrap:nowrap}
.header-tools .theme-toggle,.header-tools .account-avatar,.header-tools .storage-indicator,.header-tools #cloudLogout{box-sizing:border-box;display:grid;place-items:center;width:42px;height:42px;min-width:42px;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--surface);font-size:13px;font-weight:500;line-height:1}
.header-tools #cloudLogout[hidden]{display:none}.header-tools #cloudLogout{color:var(--ink)}.header-tools #cloudLogout:hover{background:var(--ice)}.header-tools #cloudLogout svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.header-tools .storage-indicator svg{width:19px;height:19px}.header-tools .theme-toggle svg{width:20px;height:20px}
.header-tools #cloudStatus:not(.status-quiet){position:absolute;right:0;top:calc(100% + 9px);z-index:10;width:280px;max-width:calc(100vw - 32px);padding:9px 12px;border:1px solid var(--line);border-radius:5px;background:var(--surface);box-shadow:0 4px 12px #0002;font-size:12px;line-height:1.4;text-align:left}
.header-tools #cloudRetry,.header-tools #cloudBackup,.header-tools #cloudReload{position:absolute;right:0;top:calc(100% + 76px);z-index:11;font-size:12px;padding:8px 12px}.header-tools #cloudBackup{top:calc(100% + 116px)}.header-tools #cloudReload{top:calc(100% + 156px)}
@media(max-width:1050px){.topbar h1{font-size:23px}}@media(max-width:760px){.topbar h1{font-size:21px}.header-tools{padding-bottom:10px}}
.header-tools .account-avatar{text-decoration:none}.header-tools .account-avatar:hover{background:var(--ice)}.cloud-gate form[hidden]{display:none}.password-links{display:flex;gap:16px;justify-content:space-between}.cloud-gate .password-links button{padding:4px 0;border:0;background:none;color:var(--blue);font-size:13px;text-decoration:underline;text-underline-offset:4px}.cloud-gate a{color:var(--blue)}#savePassword{background:var(--navy);color:white;border:0}.cloud-gate .muted{font-size:13px;color:var(--muted)}

.header-tools .cloud-bar[hidden]{display:none}

.job-overview-button{display:flex;align-items:center;gap:12px;margin-top:18px;padding:11px 14px}.job-overview-button span{color:var(--muted);font-size:12px}.jobs-dialog{width:min(760px,calc(100% - 32px));max-height:80dvh;overflow:auto;box-sizing:border-box;padding:28px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}.jobs-dialog::backdrop{background:#0009}.jobs-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.jobs-dialog h2{margin:0;font-size:23px}.jobs-dialog-heading button{width:36px;height:36px;padding:0;font-size:25px;font-weight:400}.jobs-dialog>.muted{font-size:13px;color:var(--muted);margin:12px 0 22px}.jobs-dialog .job-row{gap:14px}.jobs-dialog .job-row strong{overflow-wrap:anywhere}.jobs-dialog .empty-jobs{color:var(--muted)}@media(max-width:600px){.jobs-dialog{padding:20px}.jobs-dialog .job-row{gap:10px}}

.part-row>span strong{display:block;font-weight:600}.part-row>span small{display:block;margin-top:5px;color:var(--muted);font-size:11px;white-space:nowrap}
