@charset "UTF-8";
:root{--bg:#f6f7f3;--panel:#fff;--ink:#25382f;--muted:#7d887f;--line:#e5e9e2;--green:#214e3b;--accent:#de7648;--soft:#edf2eb;--font:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-family:var(--font);color:var(--ink);font-size:14px}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button{transition:background .15s,transform .15s}button:active:not(:disabled){transform:translateY(1px)}a{color:inherit}h1,h2,h3,p{margin:0}button{border:0}h2{font-size:16px;font-weight:600}small,.hint{font-size:12px;line-height:1.7;color:var(--muted)}[hidden]{display:none!important}.rail{width:196px;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);padding:34px 22px;background:#fafbf8;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-bottom:64px}.logo{width:38px;height:42px;background:var(--green);color:#fff;border-radius:3px 10px 3px 3px;display:grid;place-items:center;font-size:22px;font-family:serif}.brand strong{font-size:22px;letter-spacing:3px;line-height:1.4}.brand strong span{display:block;font-size:8px;letter-spacing:1.4px;font-weight:500;color:var(--muted)}.rail-label{font-size:10px;letter-spacing:2px;color:var(--muted);padding:0 14px 15px}.nav{display:flex;gap:12px;padding:12px 14px;text-decoration:none;border-radius:6px;margin-bottom:6px;font-size:13px}.nav span{font-size:17px;line-height:1}.nav.active{background:#e7eee5;color:var(--green);font-weight:600}.rail-bottom{margin-top:auto;font-size:12px;line-height:2}.rail-bottom small{padding-left:16px;font-size:10px}.online{display:inline-block;width:6px;height:6px;border-radius:50%;background:#609166;margin-right:6px;vertical-align:middle}main{margin-left:196px;padding:42px 4.3vw 24px;max-width:1660px}header{display:flex;align-items:center;justify-content:space-between;padding-bottom:35px;border-bottom:1px solid var(--line);margin-bottom:28px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;color:var(--muted);margin-bottom:13px}h1{font-size:30px;font-weight:550;letter-spacing:1px;margin-bottom:12px}header p{color:var(--muted);font-size:13px}.local-tag{font-size:9px;letter-spacing:1.5px;border:1px solid var(--line);padding:9px 12px;border-radius:20px;white-space:nowrap}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:22px}.work-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:22px;align-items:stretch}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;min-height:24px}.panel-heading h2{display:flex;align-items:center;gap:10px}.step{font-size:10px;font-family:monospace;color:var(--muted);border:1px solid var(--line);padding:4px;border-radius:3px}.text-button{background:none;color:var(--muted);font-size:12px;padding:5px}.text-button:hover{color:var(--green)}.drop-zone{border:1px dashed #bdcbbb;background:#fafcf8;min-height:192px;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:8px;padding:20px;cursor:pointer;gap:8px;text-align:center}.drop-zone:hover,.drop-zone.dragging{background:#eff5ed;border-color:var(--green)}.drop-zone.busy{pointer-events:none;opacity:.6}.drop-zone:focus-within{outline:2px solid var(--green)}.file-icon{display:grid;place-items:center;width:42px;height:42px;font-size:27px;color:var(--green);background:#eaf0e6;border-radius:9px;margin-bottom:6px}.drop-zone strong{font-size:15px;max-width:100%;word-break:break-all;font-weight:500}.drop-zone>span:not(.file-icon){font-size:12px;color:var(--muted)}.drop-zone small{font-size:10px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.analysis-options,.cost-top{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.analysis-options{margin:19px 0 10px}label{font-size:11px;color:#6d7b70;display:block}label>input,label>select{display:block;width:100%;margin-top:7px}input,select{height:35px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);padding:7px 10px;min-width:0;font-size:12px}input:focus,select:focus{border-color:#94b095;outline:2px solid #e0eadd}input:invalid{border-color:#dc9c84}.primary{background:var(--green);color:white;display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 17px;border-radius:6px;margin-top:18px;font-size:13px}.primary:hover:not(:disabled){background:#163e2c}.primary span{font-size:19px}.status{font-size:11px;color:var(--muted);margin-top:12px;line-height:1.7;min-height:36px}.status.error,.cost-error{color:#a64c2a}.status.loading:before{content:"";display:inline-block;width:9px;height:9px;border:2px solid #b9c6b5;border-top-color:var(--green);border-radius:50%;margin-right:6px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.segmented{display:flex;gap:4px;padding:4px;border-radius:7px;background:var(--soft);margin-bottom:17px}.segmented button{flex:1;color:var(--muted);padding:8px;background:none;border-radius:5px;font-size:12px}.segmented button.selected{background:white;color:var(--green);box-shadow:0 1px 4px #293d2610;font-weight:600}.cartridge-header,.cartridge-row{display:grid;grid-template-columns:45px 1fr 1fr;gap:12px;align-items:center}.cartridge-header{font-size:10px;color:var(--muted);margin:16px 0 8px}.cartridge-row{margin-bottom:8px}.cartridge-row input{width:100%}.channel-tag{display:flex;align-items:center;gap:7px;font-family:monospace;font-size:12px}.channel-dot{width:8px;height:8px;border-radius:50%}.channel-dot.c{background:#65adc4}.channel-dot.m{background:#c6769c}.channel-dot.y{background:#ddc866}.channel-dot.k{background:#3c4941}.bottom-inputs{margin:13px 0 12px}.cost-error{font-size:11px;line-height:1.7;min-height:0}.section-title{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:34px 0 18px}.section-title .eyebrow{margin-bottom:8px}.section-title h2{font-size:19px}.section-title h2 span{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:8px;word-break:break-all}.export-actions{display:flex;gap:8px}.secondary{border:1px solid var(--line);background:white;border-radius:5px;font-size:11px;padding:9px 12px;white-space:nowrap}.secondary:hover{background:#edf2e9}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.metric{background:white;border:1px solid var(--line);border-radius:8px;padding:20px 18px;display:flex;flex-direction:column;gap:11px}.metric>span{font-size:11px;color:var(--muted)}.metric strong{font-family:ui-monospace,SFMono-Regular,monospace;font-size:28px;letter-spacing:-1.5px;font-weight:500;overflow-wrap:anywhere}.metric small{font-size:10px}.metric.total{background:var(--green);border-color:var(--green);color:white}.metric.total>span,.metric.total small{color:#c7d7c8}.metric.total strong{color:#f1f2d6}.report-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:22px;margin-bottom:22px}.muted{font-size:10px;color:var(--muted)}.cost-bar-row{margin:21px 0}.bar-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:10px}.bar-label strong{font-weight:500;font-family:monospace}.bar-track{height:7px;background:#f0f2ed;border-radius:5px;overflow:hidden}.bar-fill{height:100%;background:var(--green);border-radius:5px;max-width:100%}.bar-fill.paper{background:#b1c1a4}.bar-fill.equipment{background:var(--accent)}.channels{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:27px 0 16px;padding-top:17px;border-top:1px solid var(--line)}.channel-stat{font-size:11px;line-height:2}.channel-stat strong{font-family:monospace;display:block;font-weight:500;font-size:16px}.preview-nav{display:flex;gap:12px;align-items:center;font-size:11px;color:var(--muted)}.preview-nav button{background:#f0f3ec;border-radius:4px;color:var(--green);width:25px;height:25px}.paper-preview{display:flex;align-items:center;justify-content:center;background:#eef0ea;border-radius:6px;min-height:265px;padding:17px}.paper-preview img{display:block;max-width:100%;max-height:250px;box-shadow:0 3px 8px #1c352022;background:white}.table-panel{margin-bottom:25px}.table-scroll{overflow:auto;max-height:460px}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}th{text-align:left;font-size:10px;color:var(--muted);font-weight:500;padding:12px 10px;border-bottom:1px solid var(--line);background:#fbfcf9;position:sticky;top:0}td{padding:14px 10px;border-bottom:1px solid #edf0e9;font-variant-numeric:tabular-nums}tbody tr{cursor:pointer}tbody tr:hover,tbody tr.selected{background:#f1f6ed}td:last-child{text-align:right}th:last-child{text-align:right}.page-link{background:none;color:var(--green);padding:2px;font:inherit}.empty-state{display:flex;align-items:center;gap:20px;padding:32px 28px;border:1px solid var(--line);border-radius:10px;margin:24px 0 0;background:linear-gradient(110deg,#f0f3ea,#f6f7f3)}.empty-state>span:first-child{font-size:42px;color:#9aaa8e;font-weight:200}.empty-state h2{font-size:15px;font-weight:500;margin-bottom:9px}.empty-state p{font-size:12px;color:var(--muted)}.empty-arrow{margin-left:auto;color:#a5b499;font-size:28px}.method{padding:35px 0 28px;border-bottom:1px solid var(--line);scroll-margin-top:20px}.method>h2{font-size:18px;margin-bottom:22px}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.method h3{font-size:12px;font-weight:500;margin-bottom:10px}.method p{color:var(--muted);font-size:11px;line-height:1.9}.method .source-note{font-size:10px;margin-top:20px}.source-note a{text-decoration-color:#c5cec0;text-underline-offset:3px}footer{display:flex;gap:16px;align-items:center;padding:23px 0;color:var(--muted);font-size:10px}footer strong{font-size:14px;color:var(--ink);font-weight:500}footer>span:last-child{margin-left:auto;letter-spacing:1px}@media(min-width:1500px){main{padding-left:65px;padding-right:65px}}@media(max-width:1100px){.rail{width:160px;padding-left:16px;padding-right:16px}main{margin-left:160px;padding:32px 28px}.work-grid{gap:16px}.panel{padding:18px}.metric-grid{gap:10px}.metric{padding:17px 12px}.metric strong{font-size:25px}.local-tag{display:none}}@media(max-width:850px){.rail{width:76px;padding:26px 14px}.brand{margin-bottom:35px}.brand strong,.rail-label,.rail-bottom,.nav{display:none}main{margin-left:76px;padding:28px 22px}.work-grid{grid-template-columns:1fr}.drop-zone{min-height:185px}.cost-top{grid-template-columns:repeat(2,1fr)}.metric-grid{grid-template-columns:repeat(2,1fr)}.method-grid{gap:20px}.report-grid{gap:16px}}@media(max-width:560px){.rail{position:static;width:auto;height:64px;border-right:0;border-bottom:1px solid var(--line);padding:12px 20px}.brand{margin:0;gap:9px}.logo{width:29px;height:33px;font-size:18px}.brand strong{display:block;font-size:19px}.brand strong span{display:none}main{margin:0;padding:25px 16px}header{padding-bottom:25px;margin-bottom:20px}h1{font-size:24px}.eyebrow{font-size:9px;letter-spacing:1.5px}.panel{padding:18px}.report-grid{grid-template-columns:1fr}.metric-grid{gap:10px}.metric{padding:17px 13px}.metric strong{font-size:25px}.method-grid{grid-template-columns:1fr;gap:22px}.section-title{align-items:flex-start}.export-actions{flex-direction:column}.empty-state{padding:24px 18px;gap:13px}.empty-arrow{display:none}.empty-state h2{line-height:1.6}.empty-state p{line-height:1.8}.channels{gap:8px}.analysis-options{gap:12px}.paper-preview{min-height:220px}.table-panel .panel-heading{align-items:flex-start}.table-panel .panel-heading .muted{max-width:110px;line-height:1.6;text-align:right}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.status.loading:before{animation:none}}

.channel-stat .channel-tag{gap:4px;font-size:10px;white-space:nowrap}.channel-stat strong{font-size:15px}
.printer-selector{margin-bottom:10px}.printer-note{font-size:10px;line-height:1.7;color:var(--muted);margin-bottom:14px}.engine-status{font-size:10px;line-height:1.7;color:#5b7c5c;margin-top:10px}.engine-status.unavailable{color:#a66d3d}.cartridge-header,.cartridge-row{grid-template-columns:96px minmax(0,1fr) minmax(0,1fr);gap:10px}.channel-dot.cl{background:conic-gradient(#62afc9 0 33%,#c6769c 33% 66%,#ddc866 66%)}.cartridge-row .channel-tag{white-space:nowrap;font-size:11px}
.layout-banner{padding:13px 16px;margin:0 0 18px;border-radius:7px;font-size:12px;line-height:1.8}.layout-note{background:#edf2e7;color:#5d705a;border:1px solid #dbe5d4}.layout-error{background:#fff0e9;color:#9e4828;border:1px solid #ecc5b5}
.quote-settings{margin-top:22px}.quote-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 22px}.quote-rule{margin-top:16px;max-width:980px}.quote-result{margin-bottom:22px}.quote-metrics{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.15fr;gap:20px;padding:0 0 20px}.quote-metrics>div{display:flex;flex-direction:column;gap:10px}.quote-metrics span{font-size:11px;color:var(--muted)}.quote-metrics strong{font-family:ui-monospace,SFMono-Regular,monospace;font-size:25px;font-weight:500;overflow-wrap:anywhere}.quote-metrics .quote-total strong{color:var(--green);font-size:32px}.quote-metrics small{font-size:10px}.quote-metrics .negative{color:#a64c2a}.quote-table{max-height:240px;border-top:1px solid var(--line)}.quote-table caption{text-align:left;padding:14px 10px;font-size:11px;color:var(--muted)}.quote-table tbody tr{cursor:default}.quote-table tbody tr:hover{background:inherit}@media(max-width:850px){.quote-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.quote-inputs{gap:12px}.quote-metrics{gap:20px 12px}.quote-metrics strong{font-size:23px}.quote-metrics .quote-total strong{font-size:28px}}
.cost-list{margin-top:28px;scroll-margin-top:24px}.list-heading{align-items:flex-start}.list-heading .eyebrow{margin-bottom:9px}.list-count{font-size:11px;font-weight:400;color:var(--muted);padding-left:8px}.list-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.list-controls{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:750px}.check-label{display:flex;align-items:center;gap:7px;min-height:17px}.check-label input{width:14px;height:14px;margin:0;accent-color:var(--green)}#list-manual-total{width:100%;margin-top:7px}.list-help{margin:16px 0 22px}.list-metrics{border-top:1px solid var(--line);padding:22px 0 14px}.list-metrics strong{font-size:25px}.list-metrics .quote-total strong{font-size:28px}.list-metrics .negative,.negative{color:#a64c2a!important}.list-metrics small{line-height:1.8}.list-empty{padding:26px 18px;text-align:center;border:1px dashed #cbd6c5;border-radius:7px;font-size:12px;color:var(--muted);background:#fafcf8;margin-top:15px}.list-table{margin-top:16px;max-height:520px}.list-table table{min-width:1040px}.list-table td{vertical-align:top;white-space:nowrap}.list-table td:first-child{min-width:210px;max-width:270px;white-space:normal;overflow-wrap:anywhere}.list-file{display:block;font-weight:500;line-height:1.6}.list-file-detail{display:block;font-size:10px;color:var(--muted);margin-top:5px;line-height:1.7}.list-price-input{width:106px;display:block}.list-price-input[aria-invalid="true"]{border-color:#a64c2a}.list-auto{background:none;color:var(--green);padding:6px 0;font-size:10px}.list-source{display:block;font-size:10px;color:var(--muted);margin-top:5px}.list-table tbody tr{cursor:default}.list-table tbody tr:hover{background:inherit}.list-table .text-button{padding:0}.list-footnote{padding-top:16px;border-top:1px solid var(--line);margin-top:20px}#list-storage{margin-top:7px}.add-list{border-color:var(--green);color:var(--green);background:#f0f5ed}#add-list-status:empty{display:none}#add-list-status{margin-bottom:14px}@media(max-width:1100px){.list-heading{flex-direction:column}.list-actions{justify-content:flex-start}.list-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.list-controls{grid-template-columns:1fr;gap:15px}.list-actions{gap:7px}.list-actions .secondary{font-size:10px}.list-heading{gap:14px}.list-metrics strong{font-size:23px}.cost-list{padding:17px 13px}.list-help{font-size:11px}}

/* Accounts and audit */
.login-screen{display:none;min-height:100vh;align-items:center;justify-content:center;padding:24px;background:#f3f4ef}
body.locked{display:block}
body.locked .login-screen{display:flex}
body.locked>.rail,body.locked>main{display:none}
.login-card{width:min(100%,420px);padding:32px}
.login-card h1{font-size:28px;margin:12px 0}
.login-card p{color:#68756d}
.login-card label,.management-fields label{display:grid;gap:8px;margin:18px 0;font-size:13px;font-weight:600}
.login-card input,.management-fields input{width:100%;padding:12px;border:1px solid #d7ded8;border-radius:5px}
.login-card .primary{width:100%;margin-top:10px}
.management{margin-top:24px;padding:24px}
.management-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #e7ebe7;padding:15px 0}
.management-row small{display:block;color:#718077;margin-top:5px;overflow-wrap:anywhere}
.management-fields{display:flex;gap:16px;flex-wrap:wrap}
.permission-options{display:flex;gap:16px;flex-wrap:wrap;margin:14px 0 22px}
.permission-options label{display:flex;align-items:center;gap:5px;font-size:13px}
#audit-detail{white-space:pre-wrap;overflow-wrap:anywhere;max-height:600px;overflow:auto;background:#f4f6f3;padding:16px;border-radius:5px;font-size:12px}
.rail-bottom button{font-size:12px}

.account-actions{white-space:nowrap;font-size:12px;color:var(--green)}
@media(max-width:560px){header{gap:10px;align-items:flex-start}.account-actions{display:flex;flex-direction:column;align-items:flex-end;white-space:normal}.account-actions button{padding:3px}}
dialog{border:1px solid #d7ded8;border-radius:12px;padding:0;max-width:calc(100vw - 32px)}
dialog::backdrop{background:#13271ca8}
.preset-select{display:block;max-width:340px;margin-bottom:8px}.quote-inputs{margin-top:16px}.management-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.management-fields label{flex:1 1 180px;max-width:300px}.management-fields select{width:100%}.permission-options input{display:inline-block;width:auto;height:auto;margin:0}.management h3{margin-top:24px}.management-row strong{overflow-wrap:anywhere}
@media(max-width:850px){.rail .nav{display:flex;font-size:0;justify-content:center;padding:10px}.rail .nav span{font-size:18px}.rail .rail-bottom{display:none}}
@media(max-width:560px){.rail{height:auto;display:flex;flex-direction:row;align-items:center;gap:4px;flex-wrap:wrap}.rail .brand{margin-right:auto}.rail .nav{margin:0;padding:7px}.rail .rail-label{display:none}.management-row{align-items:flex-start;flex-direction:column}.management-actions{justify-content:flex-start}}

/* Interface refresh */
:root{--bg:#f3f5f1;--panel:#fff;--ink:#1d302b;--muted:#788a82;--line:#e5ebe6;--green:#315f50;--accent:#d79367;--soft:#edf4ef}
body{background:var(--bg);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}
.rail{width:230px;background:#173a30;color:#d4e1d9;border:0;padding:32px 18px;box-shadow:8px 0 36px #173a3008;z-index:5;overflow-y:auto}
.brand{padding:0 8px;gap:12px;margin-bottom:52px;color:#fff}.logo{width:42px;height:42px;border-radius:13px 13px 13px 4px;background:#d9e9dd;color:#244b3e;font-size:23px;font-weight:700;box-shadow:inset 0 0 0 1px #ffffff33}.brand strong{font-size:21px;letter-spacing:3px;line-height:1.2}.brand strong span{font-size:8px;color:#a4c0af;letter-spacing:1.7px;margin-top:6px}
.rail-label{padding:0 14px 12px;color:#83a496;letter-spacing:1.5px;font-size:10px}.nav{align-items:center;gap:13px;border-radius:10px;padding:11px 13px;color:#afc7ba;font-size:13px;margin:2px 0;text-decoration:none;transition:background .18s,color .18s}.nav span{width:21px;font-size:17px;text-align:center;color:#a5c2b1}.nav:hover{background:#ffffff0c;color:#fff}.nav.active{background:#d8e9dd;color:#214d3c;font-weight:700}.nav.active span{color:#315f50}.rail-bottom{margin-top:auto;padding:15px 13px;border-top:1px solid #ffffff1c;color:#a3bdb0;font-size:11px}.rail-bottom small{padding-left:15px;color:#789b8a}.online{width:7px;height:7px;background:#8fd1a5;box-shadow:0 0 0 4px #8fd1a520;margin-right:8px}
main{margin-left:230px;padding:40px 4vw 40px;max-width:1720px}header{padding:0 0 28px;margin-bottom:24px;border:0;gap:18px}header>div:first-child{min-width:0}header .eyebrow{color:#769487;margin-bottom:8px}h1{font-size:30px;letter-spacing:-.7px;line-height:1.25;font-weight:700;margin-bottom:9px}header p{font-size:13px;color:#86958e}.account-actions{display:flex;align-items:center;gap:8px;border:1px solid #e4ebe4;border-radius:12px;background:#fff;padding:5px 7px 5px 13px;box-shadow:0 3px 12px #29443908}.account-actions strong,.account-actions>span{font-size:12px;max-width:110px;overflow:hidden;text-overflow:ellipsis}.account-actions .text-button{padding:8px 10px;border-radius:7px}.account-actions .text-button:hover{background:#eff5f0}
.panel{border:1px solid #e5ebe5;border-radius:16px;padding:24px;background:#fff;box-shadow:0 7px 24px #253d3008}.panel-heading{margin-bottom:20px}.panel-heading h2{font-size:15px;letter-spacing:.1px;font-weight:700;gap:10px}.step{border:0;border-radius:7px;background:#eaf2eb;color:#4c8067;font-size:10px;font-weight:700;padding:6px 7px}.eyebrow{letter-spacing:1.7px;font-size:10px;font-weight:700}.work-grid{gap:18px;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr)}
.text-button{font-size:12px;color:#648174;font-weight:600;text-decoration:none;padding:7px 9px;border-radius:7px}.text-button:hover{background:#f0f6f1;color:#315f50}.primary{min-height:46px;border-radius:9px;background:#315f50;font-weight:700;box-shadow:0 5px 12px #315f501f}.primary:hover:not(:disabled){background:#244e40}.secondary{border-color:#dce7de;color:#355e4b;border-radius:8px;font-weight:600;font-size:12px;padding:10px 14px;background:#fff;transition:border-color .15s,background .15s,color .15s}.secondary:hover:not(:disabled){background:#eff6f0;border-color:#b6cebd}.add-list{background:#edf5ee;border-color:#bcd3c1}
.drop-zone{min-height:210px;border:1px dashed #b6cdbb;background:#f5f9f4;border-radius:13px;gap:7px;transition:border .18s,background .18s}.drop-zone:hover,.drop-zone.dragging{background:#edf6ee;border-color:#77a98a}.file-icon{height:48px;width:48px;border-radius:15px;background:#e1eee2;color:#3f7857;font-size:26px;margin-bottom:8px}.drop-zone strong{color:#2a4a39;font-size:15px;font-weight:700}.drop-zone>span:not(.file-icon){color:#759383}.drop-zone small{margin-top:6px;color:#9aaba0;line-height:1.8}.engine-status{margin-top:12px;font-size:11px;color:#779180}.analysis-options{margin:20px 0 11px;gap:14px}.hint,.printer-note,small{color:#87998f;line-height:1.75}.status{font-size:11px;color:#809387}.status.error,.cost-error{color:#b35e48}
label{font-size:11px;color:#6e8176;font-weight:600;letter-spacing:.05px}label>input,label>select{margin-top:7px}input,select{height:40px;border:1px solid #dfe8e0;border-radius:8px;background:#fbfcfa;color:#263f32;padding:9px 12px;font-size:12px;transition:border-color .15s,box-shadow .15s}input:hover:not(:disabled){border-color:#b9d1bf}input:focus,select:focus{border-color:#80ac8d;outline:0;box-shadow:0 0 0 3px #78aa8824}input:disabled{background:#f4f7f3;color:#657a6c;opacity:1;-webkit-text-fill-color:#657a6c}input[type=number]{appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
input[type=checkbox]{appearance:none;-webkit-appearance:none;display:inline-grid;place-items:center;width:17px!important;height:17px!important;min-width:17px;padding:0!important;margin:0!important;border:1px solid #b5c9b9;border-radius:5px;background:white;vertical-align:middle;cursor:pointer}input[type=checkbox]:checked{background:#47795c;border-color:#47795c}input[type=checkbox]:checked:after{content:'✓';font-size:12px;line-height:1;color:white;font-weight:700}input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}
.custom-select{position:relative;display:block;margin-top:7px;min-width:0}.native-select{position:absolute!important;width:1px!important;height:1px!important;min-width:0!important;padding:0!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;height:40px;text-align:left;padding:0 12px;border:1px solid #dfe8e0;border-radius:8px;background:#fbfcfa;color:#263f32;font-size:12px;font-weight:500;white-space:nowrap}.select-value{overflow:hidden;text-overflow:ellipsis}.select-trigger:hover:not(:disabled),.custom-select.is-open .select-trigger{border-color:#9bbba3;background:#fff}.select-trigger:focus-visible{outline:0;box-shadow:0 0 0 3px #78aa882b}.select-chevron{flex:0 0 auto;width:7px;height:7px;border-right:1.5px solid #71907a;border-bottom:1.5px solid #71907a;transform:rotate(45deg) translateY(-2px);transition:transform .15s}.is-open .select-chevron{transform:rotate(225deg) translate(-1px,-1px)}.custom-select.is-disabled .select-trigger{background:#f4f7f3;color:#657a6c;opacity:1}.select-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;min-width:100%;max-height:240px;overflow:auto;z-index:30;background:#fff;padding:5px;border:1px solid #e2ebe3;border-radius:10px;box-shadow:0 12px 32px #203f3024}.select-option{display:block;width:100%;padding:10px 11px;background:transparent;text-align:left;border-radius:6px;font-size:12px;color:#314b3a;white-space:normal}.select-option:hover:not(:disabled),.select-option:focus-visible{background:#edf5ee;outline:0}.select-option[aria-selected=true]{background:#e8f2e8;color:#28623e;font-weight:700}.select-option:disabled{opacity:.4}
.segmented{background:#f0f5ef;padding:4px;border-radius:9px}.segmented button{font-size:12px;padding:9px;border-radius:7px;color:#8b9b90}.segmented button.selected{color:#315f50;font-weight:700;box-shadow:0 2px 7px #263a2810}.printer-note{font-size:11px}.cartridge-header{color:#90a095}.cartridge-row input{height:38px}.channel-tag{color:#607a69}.channel-dot{box-shadow:0 0 0 3px #eff4ed}
.quote-settings{margin-top:18px}.preset-select{max-width:360px}.quote-inputs{gap:14px 18px}.quote-rule{background:#f6f9f5;border-radius:9px;padding:11px 13px;font-size:11px}.cost-list{margin-top:20px}.section-title{margin:35px 0 18px}.section-title h2{font-size:20px}.metric{border-radius:13px;padding:20px;border-color:#e6ede6;box-shadow:0 5px 18px #26403208}.metric strong,.quote-metrics strong{font-family:ui-sans-serif,system-ui,sans-serif;font-weight:650;letter-spacing:-1px}.metric.total{background:#315f50;border-color:#315f50}.metric.total strong{color:#e9f3df}.quote-result{border-top:4px solid #8fb69a}.quote-metrics{gap:20px}.quote-metrics>div+div{border-left:1px solid #edf1ec;padding-left:20px}.bar-track{background:#edf2eb;border-radius:20px}.bar-fill{background:#59946d;border-radius:20px}.bar-fill.paper{background:#a5c6a5}.bar-fill.equipment{background:#dfa57b}.paper-preview{border-radius:12px;background:#edf2eb}.paper-preview img{box-shadow:0 8px 24px #24402e24}.table-panel,.quote-table{border-radius:12px}.table-scroll{border-radius:8px}th{font-size:11px;color:#7a8e80;background:#f7faf6;font-weight:600;padding:13px 12px}td{padding:15px 12px;border-color:#eef2ed}tbody tr:hover,tbody tr.selected{background:#f5f9f3}.list-empty{padding:30px 18px;border-color:#d3e1d4;background:#f8fbf7;border-radius:10px}.empty-state{border:1px solid #e2ebe2;border-radius:14px;background:#edf4ec;color:#476b54}.method{border-color:#e0e9df}.method h3{color:#4c6c57}.method p{font-size:12px}.source-note{font-size:11px!important}
.management{margin-top:0;max-width:1200px;padding:28px}.management>.hint{margin:-4px 0 20px}.management-row{border:1px solid #e9efea;border-radius:12px;padding:17px 18px;margin:10px 0;background:#fcfdfb;transition:border-color .15s,box-shadow .15s}.management-row:hover{border-color:#d2e2d5;box-shadow:0 4px 14px #274e300a}.management-row strong{font-size:14px;color:#274433}.management-row small{font-size:11px;color:#90a094}.management-fields{gap:0 16px}.management-fields label{margin:12px 0;flex:1 1 210px;max-width:300px;font-size:11px}.management-fields input{height:40px;border-color:#dfe8e0;border-radius:8px;padding:9px 12px}.management form{border-top:1px solid #eaf0ea;margin-top:24px;padding-top:20px}.management form h3{margin:0 0 4px;font-size:15px}.management form .secondary[type=submit]{background:#315f50;color:#fff;border-color:#315f50;margin-top:14px;min-width:120px}.management form .secondary[type=submit]:hover{background:#244e40}.permission-options{gap:10px;margin:18px 0}.permission-options label{padding:10px 12px;border:1px solid #e2ebe3;border-radius:8px;background:#fbfdfb;font-size:12px}.permission-options input{margin-right:4px!important}#manage-cartridges{margin:12px 0 8px}#manage-cartridges .management-fields{border-top:1px solid #f0f3ef;padding:3px 0}#audit-detail{background:#f3f7f2;border:1px solid #e4eee3;border-radius:10px;line-height:1.7;color:#456253}.management-actions{gap:7px}
.login-screen{background:#e8eee7;padding:28px}.login-shell{width:min(100%,1040px);min-height:610px;display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 25px 80px #1b3f2b1a}.login-visual{position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:#204a3b;color:white;padding:42px 46px}.login-visual:before,.login-visual:after{content:'';position:absolute;border:1px solid #ffffff12;border-radius:50%;width:390px;height:390px;right:-150px;top:-130px}.login-visual:after{width:520px;height:520px;right:-220px;top:-190px}.login-brand{display:flex;align-items:center;gap:11px;text-decoration:none;position:relative;z-index:1}.login-brand strong{font-size:20px;letter-spacing:3px}.login-brand small{display:block;color:#a7c5b2;font-size:8px;letter-spacing:1.5px}.login-story{position:relative;z-index:1}.login-story .eyebrow{color:#9dc3a8}.login-story h2{font-size:35px;line-height:1.35;font-weight:650;letter-spacing:1px}.login-story h2 span{color:#d9b58f}.login-story p{font-size:12px;color:#b7d0bf;margin-top:16px;line-height:1.8}.login-graphic{position:relative;height:142px;margin-top:23px}.graphic-sheet{position:absolute;left:22px;top:0;transform:rotate(-7deg);width:115px;height:137px;background:#dcebdc;border-radius:7px;box-shadow:10px 10px 0 #afcfb5,20px 20px 0 #ffffff18;padding:28px 19px}.graphic-sheet i{display:block;width:100%;height:4px;background:#8cb39a;border-radius:2px;margin:9px 0}.graphic-sheet i:nth-child(2){width:65%}.graphic-sheet i:nth-child(4){width:80%}.graphic-tag{position:absolute;left:125px;top:82px;color:#dcf0dd;background:#356f52;border:1px solid #80aa89;border-radius:8px;padding:8px 11px;font-size:8px;letter-spacing:1px}.login-foot{position:relative;color:#9dbfa8;font-size:9px;letter-spacing:1px;z-index:1}.login-card{width:100%;padding:72px 64px;align-self:center;border:0;box-shadow:none}.login-card .eyebrow{color:#84a28f}.login-card h1{font-size:31px;color:#223c2c;letter-spacing:-.6px;margin:12px 0}.login-card>p{color:#87998d;font-size:13px;line-height:1.8}.login-card label{font-size:12px;margin:23px 0 0;gap:0;color:#607869}.login-card input{height:46px;margin-top:8px;border-radius:9px;background:#f9fbf8}.login-card .primary{margin-top:30px;justify-content:center;height:48px}.login-card #login-error{margin-top:12px;color:#b35e48;font-size:12px}
dialog{border:1px solid #e2ebe3;border-radius:16px;box-shadow:0 24px 80px #132e2040}dialog::backdrop{background:#132b20a1;backdrop-filter:blur(3px)}#password-dialog .login-card{padding:32px;width:min(420px,calc(100vw - 32px))}#password-dialog h2{font-size:19px}#password-dialog .secondary{margin-top:22px}.ui-dialog{width:min(420px,calc(100vw - 32px));padding:26px}.dialog-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#b56b50;background:#fff0e9;font-size:20px;font-weight:700;margin-bottom:17px}.ui-dialog h2{font-size:18px;font-weight:700}.ui-dialog p{font-size:13px;color:#768a7c;line-height:1.8;margin-top:9px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.dialog-confirm,.dialog-danger{border-radius:8px;padding:10px 15px;font-weight:700;font-size:12px;color:white;background:#315f50}.dialog-danger{background:#ba6854}.dialog-danger:hover{background:#a75543}
@media(max-width:1100px){.rail{width:190px}main{margin-left:190px;padding:32px 24px}.panel{padding:20px}.work-grid{gap:14px}}
@media(max-width:850px){.rail{width:70px;padding:25px 10px}.brand{padding:0;margin-bottom:35px;justify-content:center}.brand .logo{width:40px;height:40px}.rail .nav{padding:11px}.rail .nav span{width:auto}.rail-bottom{display:none}main{margin-left:70px;padding:28px 20px}.work-grid{grid-template-columns:1fr}.quote-metrics>div:nth-child(3){border-left:0;padding-left:0}.login-shell{min-height:550px}.login-visual{padding:32px}.login-card{padding:42px}}
@media(max-width:560px){.rail{position:static;width:auto;min-height:64px;padding:10px 14px;gap:3px}.rail .brand{margin:0 auto 0 0}.rail .brand strong{display:block;font-size:17px}.brand .logo{width:34px;height:34px;border-radius:10px 10px 10px 3px;font-size:19px}.rail .nav{padding:8px}.rail .nav span{font-size:16px}main{margin:0;padding:24px 14px}header{gap:10px;align-items:flex-start}header h1{font-size:23px}.account-actions{padding:6px;flex-direction:column;gap:2px;border-radius:10px}.account-actions .text-button{padding:4px 7px}.panel{padding:18px;border-radius:13px}.work-grid{gap:12px}.quote-settings{margin-top:12px}.quote-metrics>div+div{padding-left:10px}.quote-metrics>div:nth-child(3){padding-left:0}.section-title{align-items:flex-start}.login-screen{padding:0;background:#fff}.login-shell{min-height:100vh;display:flex;flex-direction:column;border-radius:0;box-shadow:none}.login-visual{min-height:260px;padding:24px}.login-story h2{font-size:25px}.login-story p{margin-top:8px}.login-story{margin-top:28px}.login-graphic,.login-foot{display:none}.login-card{padding:36px 26px}.management{padding:18px}.management-row{gap:12px}.management-fields label{max-width:none;flex-basis:100%}.select-menu{z-index:50}}
/* Workspace pages and cost access */
body:not(.list-page) #cost-list,body:not(.list-page) #list-denied{display:none!important}
body.list-page main>.work-grid,body.list-page main>.quote-settings,body.list-page main>.results,body.list-page main>.empty-state,body.list-page main>.method{display:none!important}
body.list-page #cost-list{margin-top:0}
body.no-cost-view .sensitive-cost,body.no-cost-view #cost-list{display:none!important}
body.no-cost-view .metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
body.no-cost-view .quote-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:850px){body.no-cost-view .metric-grid,body.no-cost-view .quote-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.no-cost-view .metric-grid,body.no-cost-view .quote-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Audit detail */
.audit-detail{margin-top:28px;padding-top:24px;border-top:1px solid #e5ede6;scroll-margin-top:24px}
.audit-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}
.audit-detail-heading h2{font-size:21px;overflow-wrap:anywhere}.audit-detail-heading .eyebrow{margin-bottom:6px}.audit-detail-heading p{margin-top:7px}
.audit-badge{display:inline-block;margin-top:10px;padding:4px 9px;border-radius:20px;font-size:11px;font-weight:700}.audit-badge.ok{background:#e7f3e9;color:#4b8061}.audit-badge.failed{background:#fff0e9;color:#a75c46}
.audit-metrics,.audit-inline-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.audit-inline-metrics{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin-top:20px}
.audit-metric{min-width:0;background:#f3f8f3;border:1px solid #e3eee4;border-radius:11px;padding:15px;display:flex;flex-direction:column;gap:5px}.audit-metric span{font-size:11px;color:#789083}.audit-metric strong{font-size:22px;color:#315f50;overflow-wrap:anywhere}.audit-metric small{font-size:10px}
.audit-section{padding:20px 0;border-top:1px solid #e8eee8}.audit-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.audit-section-heading h3{font-size:14px;margin:0}.audit-section-heading span{font-size:11px;color:#8b9f91}
.audit-fields{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 20px}.audit-fields div{min-width:0}.audit-fields dt{font-size:11px;color:#92a298;margin-bottom:4px}.audit-fields dd{font-size:12px;color:#304c3b;margin:0;overflow-wrap:anywhere}.audit-bars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.audit-bar-label{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:8px}.audit-bar-label span{color:#708a79}.audit-bar-track{height:7px;background:#eef3ed;border-radius:20px;overflow:hidden}.audit-bar-fill{height:100%;border-radius:20px;background:#549aaf}.audit-bar-fill.m{background:#bd769e}.audit-bar-fill.y{background:#d6b55d}.audit-bar-fill.k{background:#53695b}.audit-table{margin-top:14px;max-height:390px}.audit-table table{min-width:560px}.audit-table tbody tr{cursor:default}.audit-section>.hint+.hint{margin-top:7px}
@media(max-width:850px){.audit-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-bars{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.audit-detail-heading{flex-direction:column}.audit-metric strong{font-size:19px}.audit-fields{gap:12px}.audit-section{padding:16px 0}}
#audit-detail{white-space:normal;overflow:visible;max-height:none;background:transparent;padding:24px 0 0;border-radius:0}
/* Audit details open above the list and scroll within the dialog. */
#audit-dialog{width:min(1000px,calc(100vw - 48px));max-width:1000px;max-height:calc(100dvh - 48px);padding:0;overflow-y:auto;overscroll-behavior:contain;background:#fff;color:var(--ink);border:1px solid #e2ebe3;border-radius:16px;box-shadow:0 24px 80px #132e2040}
.audit-dialog-toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;background:#fff;border-bottom:1px solid #e8eee8}
.audit-dialog-toolbar h2{font-size:14px;color:#496b58}
#audit-dialog #audit-detail{margin:0;padding:24px;border:0;background:transparent;overflow:visible;max-height:none}
@media(max-width:560px){#audit-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:12px}.audit-dialog-toolbar{padding:12px 16px}#audit-dialog #audit-detail{padding:18px 16px}}
/* Brand and registration */
img.logo{display:block;object-fit:contain;padding:5px;flex:none;background:#d9e9dd}
.login-screen{flex-direction:column;gap:20px}
.login-legal{width:min(100%,1040px);text-align:center}
.legal-copy{display:flex;flex-direction:column;gap:3px;font-size:10px;line-height:1.65;color:#82958a;letter-spacing:0}
.legal-copy .legal-version{font-size:11px;font-weight:700;color:inherit;margin-bottom:3px}
.legal-copy a{color:inherit;text-decoration:none;overflow-wrap:anywhere}.legal-copy a:hover{text-decoration:underline}
.login-legal .legal-copy{align-items:center;color:#7a8d80}
.rail-bottom .legal-copy{color:#9bb8a6}
@media(max-width:560px){.login-screen{gap:0}.login-legal{padding:20px 16px 26px}.rail .rail-bottom{display:block;flex-basis:100%;width:100%;border-top:1px solid #ffffff1c;margin:8px 0 0;padding:10px 4px 2px}.rail-bottom .legal-copy{flex-direction:row;flex-wrap:wrap;gap:2px 9px;font-size:9px}.rail-bottom .legal-version{flex-basis:100%;font-size:10px}}
@media (min-width:561px) and (max-width:850px){.rail{width:176px;padding:25px 13px}.brand{justify-content:flex-start;padding:0 6px}.brand strong{display:block;font-size:18px}.rail .nav{font-size:12px;justify-content:flex-start;gap:10px}.rail .nav span{width:18px;font-size:16px}.rail .rail-bottom{display:block}main{margin-left:176px}}
img.logo{padding:1px}
@media(min-width:851px) and (max-height:800px){.login-screen{gap:12px;padding:20px}.login-shell{min-height:510px}.login-visual{padding:30px 46px}.login-graphic{height:120px;margin-top:16px}.login-card{padding-top:40px;padding-bottom:40px}}
/* Keep the two registration links together, including the official emblem. */
.legal-registration{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;max-width:100%}
.public-security-registration{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.public-security-registration img{display:block;width:14px;height:auto;flex:none}
.rail-bottom .legal-registration{font-size:9px;gap:6px}
@media(min-width:951px){.rail{width:280px}main{margin-left:280px}}
@media(max-width:950px){
  .rail{position:static;width:auto;min-height:64px;padding:10px 14px;gap:3px;display:flex;flex-direction:row;align-items:center;flex-wrap:wrap}
  .rail .brand{margin:0 auto 0 0;padding:0}.rail .brand strong{display:block;font-size:17px}
  .rail .brand .logo{width:34px;height:34px}.rail .rail-label{display:none}
  .rail .nav{display:flex;font-size:0;justify-content:center;gap:0;margin:0;padding:8px}
  .rail .nav span{width:auto;font-size:16px}.rail .rail-bottom{display:block;flex-basis:100%;width:100%;border-top:1px solid #ffffff1c;margin:8px 0 0;padding:10px 4px 2px}
  .rail-bottom .legal-copy{flex-direction:row;flex-wrap:wrap;gap:2px 9px;font-size:9px}
  .rail-bottom .legal-version{flex-basis:100%;font-size:10px}
  main{margin:0;padding:24px 18px}
}
@media(min-width:951px){.rail{width:300px}.rail-bottom{padding-left:0;padding-right:0}main{margin-left:300px}}
