/* Clever Signs Build 11.0 — unified public UI. */
@layer legacy, reset, public, v12;
@layer legacy {
:root{
  --ink:#17202a;--muted:#6c7785;--line:#dfe4ea;--soft:#f4f6f8;--paper:#fff;
  --accent:#ff6b35;--accent-dark:#d94e1b;--dark:#1e2a36;--green:#177245;--red:#b42318;
  --yellow:#9a6700;--blue:#1463ff;--radius:14px;--shadow:0 12px 32px rgba(24,32,42,.08);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
*{box-sizing:border-box}html{background:#edf0f3;color:var(--ink)}body{margin:0;min-height:100vh;background:#edf0f3}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}
.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1440px)/2));position:sticky;top:0;z-index:30}
.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#ff9f43);color:#fff;font-weight:900;letter-spacing:-1px;box-shadow:0 6px 14px rgba(255,107,53,.24)}.brand-mark.big{width:56px;height:56px;border-radius:16px;margin:auto;font-size:19px}
.brand strong,.brand small{display:block}.brand strong{font-size:15px}.brand small{font-size:11px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:2px}
.topbar nav{display:flex;height:100%;align-items:center;gap:4px}.topbar nav a{padding:11px 15px;border-radius:9px;font-size:14px;font-weight:700;color:#52606e}.topbar nav a:hover,.topbar nav a.active{background:#f1f3f5;color:var(--ink)}
.page{max-width:1440px;margin:0 auto;padding:28px 24px 64px}.hero,.form-hero,.job-detail-hero{background:linear-gradient(135deg,#fff 0%,#f7f8fa 100%);border:1px solid var(--line);border-radius:18px;padding:30px;display:flex;justify-content:space-between;align-items:center;gap:30px;box-shadow:var(--shadow);margin-bottom:22px}.hero.compact{min-height:180px}
.eyebrow{font-size:11px;font-weight:900;letter-spacing:.13em;color:var(--accent-dark)}h1,h2,h3,p{margin-top:0}.hero h1,.form-hero h1,.job-detail-hero h1{margin:7px 0 8px;font-size:clamp(27px,3vw,42px);letter-spacing:-.04em}.hero p,.form-hero p,.job-detail-hero p{margin:0;color:var(--muted);max-width:720px;line-height:1.55}.hero-actions,.save-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.btn{border:0;border-radius:10px;padding:11px 16px;font-weight:800;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-dark)}.btn.dark{background:var(--dark);color:#fff}.btn.secondary{background:#fff;border:1px solid #cfd6dd;color:#33404d}.btn.ghost{background:transparent;color:#536171}.btn.small{padding:8px 11px;font-size:12px;border-radius:8px}.btn.full{width:100%}.btn:disabled{opacity:.48;cursor:not-allowed}.push-right{margin-left:auto}
.toolbar{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;grid-template-columns:1fr 200px auto;gap:10px;margin-bottom:20px}.toolbar input,.toolbar select{border:1px solid #d4dae0;border-radius:9px;padding:10px 12px;background:#fff}
.job-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.job-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:0 5px 16px rgba(25,35,45,.04)}.job-card-top,.detail-badges{display:flex;align-items:center;justify-content:space-between;gap:8px}.type-badge,.status-badge,.priority-badge{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900;letter-spacing:.07em}.type-badge.print{background:#e8f0ff;color:#174ea6}.type-badge.sign{background:#fff1e8;color:#a63c00}.status-badge{background:#eef1f4;color:#4c5967}.status-ready,.status-completed{background:#e7f6ed;color:#177245}.status-in_production,.status-qc{background:#fff4d6;color:#865d00}.status-cancelled{background:#fce8e6;color:#b42318}.priority-urgent{background:#fce8e6;color:#b42318}.priority-high{background:#fff4d6;color:#865d00}.job-ref{font-size:12px;font-weight:900;color:var(--accent-dark);letter-spacing:.08em;margin-top:18px}.job-ref.large{font-size:15px}.job-card h2{font-size:20px;margin:7px 0 4px;line-height:1.25}.client{color:var(--muted)}.card-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.card-meta div{background:var(--soft);border-radius:9px;padding:9px}.card-meta dt{font-size:10px;color:var(--muted);text-transform:uppercase}.card-meta dd{font-size:12px;font-weight:800;margin:4px 0 0}.card-actions{display:flex;gap:7px;border-top:1px solid #edf0f2;padding-top:14px}
.empty-state{background:#fff;border:1px dashed #ccd4dc;border-radius:16px;text-align:center;padding:70px 20px}.empty-icon{font-size:44px;color:#aab4be}.empty-state h2{margin:10px 0}.empty-state p{color:var(--muted)}
.form-hero{padding:22px 26px}.form-hero h1{font-size:30px}.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.form-main{min-width:0}.panel,.summary-card{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 5px 18px rgba(25,35,45,.04);margin-bottom:18px}.panel{padding:22px}.panel-heading{display:flex;gap:13px;align-items:center;margin-bottom:20px}.panel-heading h2{font-size:18px;margin:0 0 3px}.panel-heading p{font-size:13px;color:var(--muted);margin:0}.step{min-width:32px;height:32px;display:grid;place-items:center;background:#fff1e8;color:var(--accent-dark);font-weight:900;border-radius:9px}.count-pill{margin-left:auto;background:var(--soft);border-radius:99px;padding:5px 9px;font-size:12px;font-weight:800}
.field-grid{display:grid;gap:14px}.field-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.field-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:span 2}.span-3{grid-column:span 3}
label{font-size:12px;font-weight:800;color:#43505d;display:block}input,select,textarea{width:100%;margin-top:6px;border:1px solid #d2d9df;border-radius:9px;padding:10px 11px;background:#fff;color:var(--ink);outline:0;transition:.15s}textarea{resize:vertical;line-height:1.45}input:focus,select:focus,textarea:focus{border-color:#ff8d62;box-shadow:0 0 0 3px rgba(255,107,53,.11)}
.approval-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.check-card{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:12px;background:#fafbfc}.check-card input{width:18px;height:18px;margin:0;accent-color:var(--green)}.check-card strong,.check-card small{display:block}.check-card small{font-weight:500;color:var(--muted);margin-top:2px}
.media-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:18px}.upload-box,.dropbox-box{border:1px dashed #c9d1d9;border-radius:13px;padding:16px;background:#fafbfc}.image-preview{height:210px;background:#e9edf1;border-radius:10px;display:grid;place-items:center;overflow:hidden;color:#8b97a3;text-align:center;font-weight:700;margin-bottom:12px}.image-preview img{width:100%;height:100%;object-fit:contain;background:#fff}.file-button{display:inline-flex;background:var(--dark);color:#fff;border-radius:9px;padding:9px 12px;cursor:pointer}.file-button input{display:none}.upload-box small{display:block;color:var(--muted);font-weight:500;margin-top:9px}.dropbox-box{display:grid;grid-template-columns:50px 1fr auto;gap:12px;align-items:center}.dropbox-icon{width:46px;height:46px;border-radius:11px;background:#1463ff;color:#fff;display:grid;place-items:center;font-weight:900}.dropbox-box p{margin:3px 0 0;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.dropbox-box .alert{grid-column:1/-1}
.alert{padding:11px 13px;border-radius:9px;font-size:13px;font-weight:650;margin-bottom:15px}.alert.warning{background:#fff4d6;color:#6e4d00}.alert.danger{background:#fce8e6;color:#8a1c13}.alert.success{background:#e7f6ed;color:#12613b}.alert code{font-size:12px}
.item-card{border:1px solid #dce2e8;border-radius:13px;margin-top:15px;overflow:hidden;background:#fbfcfd}.item-card:first-child{margin-top:0}.item-header{height:52px;background:#f2f4f6;border-bottom:1px solid #dce2e8;padding:0 15px;display:flex;align-items:center;justify-content:space-between}.item-header>div{display:flex;align-items:center;gap:9px}.item-number{width:25px;height:25px;border-radius:7px;background:var(--dark);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:900}.icon-btn{width:34px;height:34px;border:0;border-radius:8px;background:#eef1f4;color:#40505e;font-size:20px;display:grid;place-items:center}.icon-btn.danger{color:var(--red)}.item-card>.field-grid,.item-card>.dropbox-file-row,.item-card>.subsection-title{margin-left:16px;margin-right:16px}.item-card>.field-grid{margin-top:16px;margin-bottom:16px}.subsection-title{font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#52606e;border-top:1px solid #e4e8ec;padding-top:16px;margin-top:12px}.calculation-box{background:#16202a;color:#fff;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;justify-content:center}.calculation-box span{font-size:10px;color:#b8c1cb;text-transform:uppercase}.calculation-box strong{font-size:18px;margin-top:2px}
.dropbox-file-row{border:1px solid #d7dee5;border-radius:11px;background:#fff;padding:11px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin-top:10px;margin-bottom:14px}.file-selected,.selected-file-card{display:flex;align-items:center;gap:11px;min-width:0}.file-icon{min-width:40px;height:40px;border-radius:8px;background:#e8f0ff;color:#174ea6;display:grid;place-items:center;font-size:9px;font-weight:900}.file-selected strong,.file-selected small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-selected small{color:var(--muted);margin-top:3px;max-width:700px}
.summary-card{padding:20px}.summary-card.sticky{position:sticky;top:92px}.summary-card h3{margin:7px 0 15px}.summary-row{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #edf0f2;padding:10px 0;font-size:12px}.summary-row span{color:var(--muted)}.summary-row strong{text-align:right}.summary-row.vertical{display:block}.summary-row.vertical strong{display:block;text-align:left;margin-top:5px}.summary-card hr{border:0;border-top:1px solid #e2e7eb;margin:15px 0}.gate-list{display:grid;gap:8px}.gate-list div{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#697582}.gate-list div span{width:19px;height:19px;border:1px solid #cbd3da;border-radius:50%;display:grid;place-items:center}.gate-list div.done{color:var(--green)}.gate-list div.done span{background:var(--green);border-color:var(--green);color:#fff}.hint{font-size:11px;line-height:1.5;color:var(--muted);margin:16px 0}
.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:rgba(12,19,27,.64);backdrop-filter:blur(3px)}.modal-card{position:relative;background:#fff;width:min(920px,96vw);max-height:88vh;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.28);display:flex;flex-direction:column;overflow:hidden}.modal-card>header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}.modal-card h2{margin:3px 0 0;font-size:20px}.dbx-toolbar{display:flex;align-items:center;gap:10px;padding:11px 15px;background:#f6f8fa;border-bottom:1px solid var(--line)}.breadcrumb{flex:1;font-size:12px;font-weight:700;color:#52606e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dbx-list{padding:10px;overflow:auto;min-height:340px}.dbx-entry{width:100%;display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;border:0;background:#fff;border-bottom:1px solid #eef1f3;padding:10px;border-radius:8px;text-align:left}.dbx-entry:hover{background:#f4f7fa}.dbx-entry-icon{width:39px;height:39px;border-radius:8px;background:#edf1f5;display:grid;place-items:center;font-size:11px;font-weight:900;color:#52606e}.dbx-entry.folder .dbx-entry-icon{background:#e8f0ff;color:#174ea6}.dbx-entry strong,.dbx-entry small{display:block}.dbx-entry small{color:var(--muted);margin-top:2px}.dbx-entry img{width:48px;height:38px;object-fit:cover;border-radius:6px}.loading{padding:40px;text-align:center;color:var(--muted)}
.job-detail-hero{padding:24px 28px}.job-detail-hero h1{font-size:34px}.detail-badges{justify-content:flex-start}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}.image-panel{text-align:center}.image-panel img{max-width:100%;max-height:520px;object-fit:contain}.detail-items{display:grid;gap:12px}.detail-item{border:1px solid #dce2e8;border-radius:12px;overflow:hidden}.detail-item>header{display:grid;grid-template-columns:32px 1fr auto;gap:12px;align-items:center;padding:13px;background:#f5f7f9}.detail-item>header>span{width:27px;height:27px;background:var(--dark);color:#fff;border-radius:7px;display:grid;place-items:center;font-size:11px;font-weight:900}.detail-item h3{font-size:16px;margin:0}.detail-item header p{font-size:12px;color:var(--muted);margin:3px 0 0}.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#e5e9ed}.spec-grid>div{background:#fff;padding:10px 12px}.spec-grid span,.spec-grid strong{display:block}.spec-grid span{font-size:9px;color:var(--muted);text-transform:uppercase;font-weight:800}.spec-grid strong{font-size:12px;margin-top:3px;white-space:pre-wrap}.selected-file-card{margin:12px;background:#f7f9fb;border:1px solid #dce2e8;border-radius:10px;padding:10px}.selected-file-card>div{min-width:0;flex:1}.selected-file-card strong,.selected-file-card small{display:block;overflow-wrap:anywhere}.selected-file-card small{color:var(--muted);margin-top:3px}.selected-file-card dl{display:flex;gap:12px;margin:0}.selected-file-card dl div{background:#fff;border-radius:7px;padding:7px}.selected-file-card dt{font-size:8px;color:var(--muted);text-transform:uppercase}.selected-file-card dd{font-size:10px;font-weight:800;margin:2px 0 0}.path-value{max-width:190px;overflow-wrap:anywhere}
.login-page{display:grid;place-items:center;padding:20px}.login-card{width:min(390px,94vw);background:#fff;padding:32px;border-radius:18px;box-shadow:var(--shadow);text-align:center}.login-card h1{margin:13px 0 5px}.login-card p{color:var(--muted);margin-bottom:24px}.login-card label{text-align:left;margin-bottom:15px}

/* print sheet */
.print-body{background:#cfd4d9;padding:24px}.print-toolbar{max-width:210mm;margin:0 auto 14px;display:flex;justify-content:flex-end;gap:8px}.sheet{width:210mm;min-height:297mm;margin:0 auto;background:#fff;padding:12mm;box-shadow:0 5px 30px rgba(0,0,0,.14);font-family:Arial,sans-serif;color:#111}.sheet-header{display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid #111;padding-bottom:7mm}.sheet-brand{display:flex;align-items:center;gap:10px}.sheet-brand strong,.sheet-brand small{display:block}.sheet-brand strong{font-size:17px}.sheet-brand small{font-size:9px;letter-spacing:.12em;margin-top:3px}.sheet-ref{text-align:right}.sheet-ref span,.sheet-wide span{display:block;font-size:8px;font-weight:700;color:#666;letter-spacing:.1em}.sheet-ref strong{display:block;font-size:22px;margin-top:3px}.sheet-title{display:flex;justify-content:space-between;gap:15px;padding:7mm 0 5mm}.sheet-title span{font-size:11px;color:#666}.sheet-title h1{font-size:24px;margin:3px 0 0}.sheet-badges{display:flex;gap:5px;align-items:flex-start}.sheet-badges b{font-size:8px;border:1px solid #111;padding:4px 6px;border-radius:3px}.sheet-summary{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid #aaa}.sheet-summary>div{padding:7px;border-right:1px solid #ccc}.sheet-summary>div:last-child{border-right:0}.sheet-summary span,.sheet-summary strong{display:block}.sheet-summary span{font-size:7px;text-transform:uppercase;color:#666;font-weight:700}.sheet-summary strong{font-size:10px;margin-top:3px}.sheet-gates{display:flex;gap:12px;padding:4mm 0;font-size:9px;font-weight:700}.sheet-gates div{color:#555}.sheet-gates .checked{color:#111}.sheet-image{text-align:center;border:1px solid #bbb;padding:4mm;margin-bottom:5mm}.sheet-image img{max-width:100%;max-height:95mm;object-fit:contain}.sheet-section{margin-top:5mm}.sheet-section>h2{font-size:11px;text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid #111;padding-bottom:3px;margin-bottom:4mm}.sheet-item{border:1px solid #999;margin-bottom:4mm;break-inside:avoid}.sheet-item>header{display:grid;grid-template-columns:7mm 1fr auto;gap:8px;align-items:center;background:#eee;padding:6px}.sheet-item>header>span{width:6mm;height:6mm;background:#111;color:#fff;display:grid;place-items:center;font-size:8px}.sheet-item h3{font-size:12px;margin:0}.sheet-item header p{font-size:8px;color:#555;margin:2px 0 0}.sheet-item header>strong{font-size:11px}.sheet-specs{display:grid;grid-template-columns:repeat(4,1fr)}.sheet-specs>div{padding:5px 6px;border-right:1px solid #ddd;border-bottom:1px solid #ddd}.sheet-specs span,.sheet-specs strong{display:block}.sheet-specs span{font-size:6px;color:#666;text-transform:uppercase}.sheet-specs strong{font-size:8px;margin-top:2px}.sheet-file{display:flex;justify-content:space-between;gap:10px;background:#f3f6fb;padding:7px;border-top:1px solid #bbb}.sheet-file span,.sheet-file strong,.sheet-file small{display:block}.sheet-file span{font-size:6px;color:#174ea6;font-weight:700}.sheet-file strong{font-size:9px;margin:2px 0}.sheet-file small{font-size:7px;overflow-wrap:anywhere}.sheet-file dl{display:flex;gap:5px;margin:0}.sheet-file dl div{background:#fff;padding:4px}.sheet-file dt{font-size:6px;color:#666}.sheet-file dd{font-size:7px;font-weight:bold;margin:1px 0 0}.sheet-notes{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#ccc;border-top:1px solid #bbb}.sheet-notes>div{background:#fff;padding:6px}.sheet-notes span{font-size:6px;color:#666;font-weight:bold}.sheet-notes p,.sheet-wide p{font-size:8px;line-height:1.4;margin:3px 0 0}.sheet-summary.lower{grid-template-columns:repeat(4,1fr)}.sheet-wide{border:1px solid #bbb;border-top:0;padding:7px}.sheet-signoff{display:grid;grid-template-columns:repeat(3,1fr);gap:8mm;margin-top:9mm;break-inside:avoid}.sheet-signoff span,.sheet-signoff small{display:block}.sheet-signoff span{font-size:8px;font-weight:bold}.sheet-signoff b{display:block;border-bottom:1px solid #333;height:12mm}.sheet-signoff small{font-size:6px;color:#666;margin-top:2px}.sheet-footer{display:flex;justify-content:space-between;border-top:1px solid #999;margin-top:8mm;padding-top:3mm;font-size:6px;color:#666}
@media print{.no-print{display:none}.print-body{background:#fff;padding:0}.sheet{box-shadow:none;margin:0;width:auto;min-height:auto;padding:10mm}@page{size:A4;margin:0}}
@media(max-width:1100px){.job-grid{grid-template-columns:repeat(2,1fr)}.form-layout,.detail-grid{grid-template-columns:1fr}.summary-card.sticky{position:static}.field-grid.cols-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.topbar{height:auto;padding:12px 16px;align-items:flex-start}.topbar nav{display:none}.page{padding:16px 12px 40px}.hero,.form-hero,.job-detail-hero{display:block;padding:20px}.hero-actions,.save-actions{justify-content:flex-start;margin-top:16px}.job-grid{grid-template-columns:1fr}.toolbar{grid-template-columns:1fr}.field-grid.cols-4,.field-grid.cols-3,.field-grid.cols-2,.approval-strip,.media-grid{grid-template-columns:1fr}.span-2,.span-3{grid-column:auto}.dropbox-box{grid-template-columns:44px 1fr}.dropbox-box .btn{grid-column:1/-1}.spec-grid{grid-template-columns:1fr 1fr}.selected-file-card{align-items:flex-start}.selected-file-card dl{display:none}.dropbox-file-row{grid-template-columns:1fr}.form-hero h1{font-size:25px}}

.toast{position:fixed;right:20px;bottom:20px;background:#17202a;color:#fff;padding:12px 16px;border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.2);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;z-index:200;font-size:13px;font-weight:700}.toast.show{opacity:1;transform:none}.toast.success{background:#177245}.toast.warning{background:#865d00}

/* v1.1 — Job multi-itens, departamentos e fulfilment */
[hidden]{display:none}
.type-badge.mixed{background:#f0e9ff;color:#6536a8}.type-badge.hybrid{background:#f0e9ff;color:#6536a8}
.status-packed{background:#e8f0ff;color:#174ea6}
.job-card-types{display:flex;gap:6px;margin-top:12px}.job-card-types span,.department-legend span{font-size:10px;font-weight:900;border-radius:999px;padding:5px 8px}.job-card-types .print,.legend-print{background:#e8f0ff;color:#174ea6}.job-card-types .sign,.legend-sign{background:#fff1e8;color:#a63c00}.job-card-types .hybrid,.legend-hybrid{background:#f0e9ff;color:#6536a8}
.department-legend{display:flex;gap:8px;justify-content:flex-end;margin:-8px 0 12px}
.item-card.type-print{border-left:5px solid #1463ff}.item-card.type-sign{border-left:5px solid #ff6b35}.item-card.type-hybrid{border-left:5px solid #7a4bc2}
.item-header{height:auto;min-height:58px;gap:12px}.item-identity{display:flex;align-items:center;gap:9px;flex:1}.item-identity small{display:block;color:var(--muted);font-size:9px;margin-top:2px;letter-spacing:.08em}.item-type-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:950;letter-spacing:.07em;white-space:nowrap}.item-type-badge.print{background:#e8f0ff;color:#174ea6}.item-type-badge.sign{background:#fff1e8;color:#a63c00}.item-type-badge.hybrid{background:#f0e9ff;color:#6536a8}
.item-core-fields{margin-bottom:10px}.item-visual-row{margin:0 16px 16px;border:1px solid #dce2e8;background:#fff;border-radius:11px;padding:11px;display:grid;grid-template-columns:130px 1fr;gap:14px;align-items:center}.item-image-preview{height:95px;background:#eef1f4;border-radius:8px;display:grid;place-items:center;overflow:hidden;color:#87939f;text-align:center;font-size:11px;font-weight:800}.item-image-preview img{width:100%;height:100%;object-fit:contain;background:#fff}.item-visual-row small{display:block;color:var(--muted);font-weight:500;margin-top:8px}
.item-department-section{margin:14px 16px;border:1px solid #dce2e8;border-radius:12px;overflow:hidden;background:#fff}.department-banner{padding:10px 13px;display:flex;align-items:center;gap:10px}.department-banner strong{font-size:11px;letter-spacing:.08em}.department-banner span{font-size:11px;opacity:.78}.department-banner.print{background:#e8f0ff;color:#174ea6}.department-banner.sign{background:#fff1e8;color:#9a3900}.item-department-section>.field-grid{padding:14px}.item-department-section .dropbox-file-row{margin:0 14px 14px}
.file-department-label{display:block;font-size:8px;font-weight:950;letter-spacing:.08em;color:#64717e;margin-bottom:3px}.file-icon.print{background:#e8f0ff;color:#174ea6}.file-icon.sign{background:#fff1e8;color:#a63c00}.dropbox-file-row.print-file-picker{border-left:4px solid #1463ff}.dropbox-file-row.sign-file-picker{border-left:4px solid #ff6b35}
.item-final-notes{margin:14px 16px 18px;padding-top:14px;border-top:1px solid #dfe4e8}
.fulfilment-card{border:1px solid #dce2e8;border-radius:12px;background:#fbfcfd;margin-top:12px;overflow:hidden}.fulfilment-card:first-child{margin-top:0}.fulfilment-card-header{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;background:#eef1f4;border-bottom:1px solid #dce2e8}.fulfilment-card-header>div{display:flex;align-items:center;gap:8px}.fulfilment-number{width:25px;height:25px;border-radius:7px;background:#17202a;color:#fff;display:inline-grid;place-items:center;font-size:10px;font-weight:900}.fulfilment-card>.field-grid{padding:14px}.fulfilment-proof-strip{display:flex;gap:18px;flex-wrap:wrap;padding:11px 14px;border-top:1px solid #dce2e8;background:#fff}.fulfilment-proof-strip label{display:flex;align-items:center;gap:7px;font-size:11px}.fulfilment-proof-strip input{width:16px;height:16px;margin:0}.fulfilment-general-notes{margin-top:16px}
.job-department-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.summary-department{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;grid-template-columns:1fr auto;align-items:center}.summary-department span{font-size:10px;font-weight:950;letter-spacing:.08em}.summary-department strong{font-size:25px;grid-row:1/3;grid-column:2}.summary-department small{font-size:10px;color:var(--muted)}.summary-department.print{border-top:4px solid #1463ff}.summary-department.sign{border-top:4px solid #ff6b35}.summary-department.hybrid{border-top:4px solid #7a4bc2}.summary-department.fulfilment{border-top:4px solid #177245}
.detail-item.type-print{border-left:5px solid #1463ff}.detail-item.type-sign{border-left:5px solid #ff6b35}.detail-item.type-hybrid{border-left:5px solid #7a4bc2}.item-title-line{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.detail-item-image{padding:12px;text-align:center;border-bottom:1px solid #dce2e8}.detail-item-image img{max-width:100%;max-height:360px;object-fit:contain}.detail-department-block>h4{margin:0;padding:8px 12px;font-size:10px;letter-spacing:.09em}.detail-department-block.print>h4{background:#e8f0ff;color:#174ea6}.detail-department-block.sign>h4{background:#fff1e8;color:#a63c00}.detail-department-block+.detail-department-block{border-top:3px solid #fff}.department-file.print{border-left:4px solid #1463ff}.department-file.sign{border-left:4px solid #ff6b35}.detail-notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#dce2e8;border-top:1px solid #dce2e8}.detail-notes-grid>div{background:#fff;padding:12px}.detail-notes-grid span{font-size:9px;color:var(--muted);font-weight:900}.detail-notes-grid p{font-size:12px;line-height:1.45;margin:4px 0 0}.fulfilment-list-view{display:grid;gap:8px}.fulfilment-list-view article{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:start;border:1px solid #dce2e8;border-radius:10px;padding:11px}.fulfilment-list-view strong,.fulfilment-list-view small{display:block}.fulfilment-list-view small{color:var(--muted);margin-top:2px}.fulfilment-list-view p{margin:5px 0 0;font-size:12px}

/* Job Sheet print distinctions */
.sheet-department-legend{display:grid;grid-template-columns:repeat(4,1fr);gap:2mm;margin:0 0 4mm}.sheet-department-legend>div{padding:2.5mm;border:1px solid #bbb}.sheet-department-legend b,.sheet-department-legend span{display:block}.sheet-department-legend b{font-size:7px;letter-spacing:.08em}.sheet-department-legend span{font-size:7px;margin-top:1mm}.sheet-department-legend .print{border-top:3px solid #1463ff}.sheet-department-legend .sign{border-top:3px solid #ff6b35}.sheet-department-legend .hybrid{border-top:3px solid #7a4bc2}.sheet-department-legend .fulfilment{border-top:3px solid #177245}.department-group.print>h2{border-color:#1463ff;color:#174ea6}.department-group.sign>h2{border-color:#ff6b35;color:#a63c00}.department-group.hybrid>h2{border-color:#7a4bc2;color:#6536a8}.sheet-item.type-print{border-left:3px solid #1463ff}.sheet-item.type-sign{border-left:3px solid #ff6b35}.sheet-item.type-hybrid{border-left:3px solid #7a4bc2}.sheet-item-title{display:flex;align-items:center;gap:2mm;flex-wrap:wrap}.sheet-item-type{font-size:6px;border-radius:20px;padding:2px 5px}.sheet-item-type.print{background:#e8f0ff;color:#174ea6}.sheet-item-type.sign{background:#fff1e8;color:#a63c00}.sheet-item-type.hybrid{background:#f0e9ff;color:#6536a8}.sheet-item-image{text-align:center;padding:3mm;border-bottom:1px solid #bbb}.sheet-item-image img{max-width:100%;max-height:55mm;object-fit:contain}.sheet-department-label{font-size:7px;font-weight:900;letter-spacing:.08em;padding:2mm}.sheet-department-label.print{background:#e8f0ff;color:#174ea6}.sheet-department-label.sign{background:#fff1e8;color:#a63c00}.sheet-file.print{border-left:3px solid #1463ff}.sheet-file.sign{border-left:3px solid #ff6b35}

/* Fulfilment sheet */
.sheet-image.compact img{max-height:60mm}.fulfilment-items-table{width:100%;border-collapse:collapse;font-size:7px}.fulfilment-items-table th{background:#111;color:#fff;text-align:left;padding:5px}.fulfilment-items-table td{border:1px solid #bbb;padding:5px;vertical-align:middle}.fulfilment-items-table .check-cell{text-align:center;font-size:14px;width:13mm}.fulfilment-items-table .write-cell{min-width:14mm}.mini-type{display:inline-block;border-radius:20px;padding:2px 4px;font-size:5.5px;font-weight:900}.mini-type.print{background:#e8f0ff;color:#174ea6}.mini-type.sign{background:#fff1e8;color:#a63c00}.mini-type.hybrid{background:#f0e9ff;color:#6536a8}.sheet-wide.standalone{border:1px solid #bbb}.fulfilment-print-card{border:1px solid #999;margin-bottom:4mm;break-inside:avoid}.fulfilment-print-card>header{display:grid;grid-template-columns:7mm 1fr auto;gap:8px;align-items:center;background:#e9edf1;padding:6px}.fulfilment-print-card>header>span{width:6mm;height:6mm;background:#111;color:#fff;display:grid;place-items:center;font-size:8px}.fulfilment-print-card h3{font-size:11px;margin:0}.fulfilment-print-card header p{font-size:7px;margin:2px 0 0;color:#555}.fulfilment-print-card header b{font-size:7px;border:1px solid #555;padding:3px}.fulfilment-data-grid{display:grid;grid-template-columns:repeat(3,1fr)}.fulfilment-data-grid>div{padding:5px;border-right:1px solid #ddd;border-bottom:1px solid #ddd}.fulfilment-data-grid span,.fulfilment-data-grid strong{display:block}.fulfilment-data-grid span,.fulfilment-wide span{font-size:6px;color:#666;text-transform:uppercase;font-weight:bold}.fulfilment-data-grid strong{font-size:8px;margin-top:2px}.fulfilment-wide{padding:6px;border-bottom:1px solid #ddd}.fulfilment-wide p{font-size:8px;line-height:1.35;margin:3px 0 0}.fulfilment-requirements{display:flex;gap:5mm;flex-wrap:wrap;padding:5px;font-size:7px;font-weight:bold;background:#f5f7f8}.fulfilment-event-signoff{display:grid;grid-template-columns:repeat(3,1fr);gap:5mm;padding:5mm}.fulfilment-event-signoff span,.fulfilment-event-signoff small{display:block}.fulfilment-event-signoff span{font-size:7px;font-weight:bold}.fulfilment-event-signoff b{display:block;border-bottom:1px solid #333;height:8mm}.fulfilment-event-signoff small{font-size:5.5px;color:#666}.fulfilment-check-grid{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid #bbb}.fulfilment-check-grid span{font-size:7px;padding:5px;border-right:1px solid #ddd;border-bottom:1px solid #ddd}.fulfilment-final-signoff{grid-template-columns:repeat(4,1fr);gap:5mm}

@media(max-width:900px){.job-department-summary{grid-template-columns:repeat(2,1fr)}.item-visual-row{grid-template-columns:1fr}.department-banner{display:block}.department-banner span{display:block;margin-top:3px}.fulfilment-proof-strip{display:grid}.card-actions{flex-wrap:wrap}}
@media(max-width:700px){.department-legend{justify-content:flex-start;flex-wrap:wrap}.job-department-summary{grid-template-columns:1fr}.item-type-badge{font-size:8px}.detail-notes-grid{grid-template-columns:1fr}}

/* Installer, settings and Dropbox search */
.installer-page{background:#edf1f4;min-height:100vh;padding:32px 16px}.installer-shell{max-width:980px;margin:0 auto;display:grid;gap:18px}.installer-hero{background:#17202a;color:#fff;border-radius:18px;padding:24px;display:flex;gap:18px;align-items:center}.installer-hero h1{margin:2px 0 5px;font-size:30px}.installer-hero p{margin:0;color:#c8d0d8}.installer-card{background:#fff;border:1px solid #dce2e8;border-radius:16px;padding:22px}.installer-card h2{margin:0 0 16px}.installer-card hr{border:0;border-top:1px solid #e2e6ea;margin:22px 0}.requirement-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.requirement{border:1px solid #dce2e8;border-radius:10px;padding:11px;display:flex;gap:9px;align-items:center}.requirement b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center}.requirement.ok b{background:#e6f4ec;color:#177245}.requirement.bad b{background:#fdebea;color:#b42318}.installer-actions,.button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.copy-row{display:flex;gap:8px;align-items:center;background:#f5f7f9;border:1px solid #dce2e8;border-radius:10px;padding:9px;margin:10px 0 16px}.copy-row code{flex:1;overflow-wrap:anywhere}.settings-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:18px}.connection-status{padding:15px;border-radius:12px;display:flex;flex-direction:column;gap:3px}.connection-status.connected{background:#e6f4ec;color:#145d39}.connection-status.disconnected{background:#fdebea;color:#8c1d18}.settings-meta{margin:14px 0}.settings-meta>div{display:grid;grid-template-columns:120px 1fr;border-bottom:1px solid #e5e9ed;padding:8px 0}.settings-meta dt{color:#6c7785;font-size:11px}.settings-meta dd{margin:0;overflow-wrap:anywhere}.dbx-searchbar{display:grid;grid-template-columns:1fr auto auto;gap:8px;padding:12px 14px;border-bottom:1px solid #dce2e8;background:#f7f9fa}.dbx-searchbar input{min-width:0}.toolbar-wide{grid-template-columns:minmax(280px,1fr) 180px 210px auto}
@media(max-width:760px){.requirement-grid,.settings-grid{grid-template-columns:1fr}.dbx-searchbar{grid-template-columns:1fr 1fr}.dbx-searchbar input{grid-column:1/-1}.toolbar-wide{grid-template-columns:1fr}.installer-hero{align-items:flex-start}.installer-actions .btn{width:100%}}

/* v1.3 — acesso privado, referências automáticas e impressão A4 */
.topbar-user{margin-left:10px;padding:7px 10px;border-radius:999px;background:#eef1f4;color:#52606e;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.topbar .logout-link{color:#8a1c13;border:1px solid #f0c7c3;background:#fff8f7}
.login-card .eyebrow{display:block;margin-top:18px}.login-security-note{display:block;margin-top:16px;color:#77828d;line-height:1.45}
.reference-input{font-size:20px;font-weight:950;letter-spacing:.08em;background:#17202a;color:#fff;border-color:#17202a;text-align:center}
.reference-input+small{display:block;color:#6c7785;margin-top:6px;font-weight:600}
.a4-indicator{margin-right:auto;border:1px solid #8b97a3;background:#fff;color:#3f4b57;border-radius:7px;padding:7px 10px;font-size:10px;font-weight:950;letter-spacing:.1em}
.print-page-reference{display:none}
.sheet-header{gap:8mm;align-items:stretch}
.sheet-brand{flex:1}
.sheet-ref{min-width:68mm;border:2px solid #111;padding:3mm 4mm;display:flex;flex-direction:column;justify-content:center;text-align:center;background:#fff}
.sheet-ref span{font-size:7px;color:#111}
.sheet-ref strong{font-size:34px;line-height:1;letter-spacing:.05em;margin-top:2mm;white-space:nowrap}
.fulfilment-items-table thead{display:table-header-group}
.fulfilment-items-table tr{break-inside:avoid-page;page-break-inside:avoid}
.sheet-item,.fulfilment-print-card,.sheet-signoff,.sheet-department-legend,.sheet-summary,.sheet-gates{break-inside:avoid-page;page-break-inside:avoid}

@page{size:A4 portrait;margin:0}
@media print{
  html,body{width:210mm;min-height:297mm;background:#fff}
  .print-body{width:210mm;padding:0;margin:0;background:#fff}
  .sheet{width:210mm;min-height:297mm;margin:0;padding:8mm 9mm 13mm;box-shadow:none;overflow:visible}
  .sheet-header{padding-bottom:4mm;margin-bottom:0}
  .sheet-ref{min-width:65mm;padding:2.5mm 3mm}
  .sheet-ref strong{font-size:30px}
  .sheet-title{padding:5mm 0 4mm}
  .sheet-title h1{font-size:20px}
  .sheet-image img{max-height:75mm}
  .sheet-item-image img{max-height:45mm}
  .print-page-reference{display:block;position:fixed;right:7mm;bottom:3mm;z-index:9999;font:900 13pt/1 Arial,sans-serif;letter-spacing:.08em;color:#111;background:#fff;border:1px solid #111;padding:1.5mm 2.5mm}
  .sheet-footer{padding-right:45mm}
}

@media(max-width:820px){.topbar-user{display:none}.sheet-ref strong{font-size:26px}.sheet-ref{min-width:0}.a4-indicator{display:none}}
.reference-example{margin:10px 0 16px;padding:12px;border-radius:10px;background:#f2f4f6;color:#52606e}.reference-example strong{display:block;margin-top:4px;font-size:22px;letter-spacing:.08em;color:#17202a}.btn.danger{background:#b42318;color:#fff}

/* v1.4 — multiusuário e arquivos Dropbox classificados */
.file-role-select{min-width:220px;margin:0}.file-role-select select{font-size:11px;padding:8px}
.dropbox-file-row{grid-template-columns:minmax(0,1fr) minmax(200px,260px) auto}
.item-files-section{margin:14px 16px 18px;border:1px solid #dce2e8;border-radius:12px;overflow:hidden;background:#fff}
.department-banner.files{background:#eef2f5;color:#263442;border-bottom:1px solid #dce2e8}.department-banner.files .btn{margin-left:auto}
.dropbox-linked-files{display:grid;gap:8px;padding:10px}.dropbox-linked-files:empty:before{content:'Nenhum arquivo adicional vinculado.';display:block;padding:14px;text-align:center;color:#7b8794;font-size:12px;border:1px dashed #cad2d9;border-radius:9px}
.dropbox-linked-file-row{display:grid;grid-template-columns:58px minmax(180px,1fr) 160px 220px auto 34px;gap:9px;align-items:center;border:1px solid #dce2e8;border-radius:10px;padding:9px;background:#f9fbfc}
.linked-file-preview,.file-card-thumb,.sheet-file-thumb{position:relative;display:grid;place-items:center;background:#e8edf2;border:1px solid #d3dae1;border-radius:8px;overflow:hidden;color:#52606e;font-weight:900}
.linked-file-preview{width:54px;height:48px}.linked-file-preview img,.file-card-thumb img,.sheet-file-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}.linked-file-placeholder{font-size:10px}.linked-file-info{min-width:0}.linked-file-info strong,.linked-file-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.linked-file-info small{color:#6c7785;margin-top:3px}.dropbox-linked-file-row label{margin:0;font-size:9px}.dropbox-linked-file-row select{font-size:10px;padding:7px}
.dbx-thumb-wrap{width:48px;height:38px;display:grid;place-items:center}.dbx-thumb-wrap img{width:48px;height:38px;object-fit:cover;border-radius:6px}
.selected-file-card.with-thumbnail{display:grid;grid-template-columns:70px minmax(0,1fr) auto}.file-card-thumb{width:66px;height:56px}.file-card-thumb span{font-size:9px}.file-role-label{display:inline-block;width:max-content;background:#e8edf2;border-radius:999px;padding:3px 7px;margin:3px 0 5px;font-size:9px;color:#334250}.additional-file-cards{display:grid;gap:8px;margin:12px}.selected-file-card.additional{margin:0}
.activity-list{display:grid;gap:8px}.activity-list>div{border-left:3px solid #17202a;padding:7px 9px;background:#f6f8fa;border-radius:0 8px 8px 0}.activity-list b,.activity-list span,.activity-list small{display:block}.activity-list span{font-size:11px;margin-top:2px}.activity-list small{font-size:9px;color:#74808c;margin-top:3px}
.users-layout{grid-template-columns:minmax(280px,.8fr) minmax(460px,1.4fr)}.users-list{display:grid;gap:8px}.user-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:11px;border:1px solid #dce2e8;border-radius:11px;padding:10px;background:#fff}.user-row.inactive{opacity:.55;background:#f1f3f5}.user-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#17202a;color:#fff;font-weight:900}.user-row strong,.user-row small,.user-row span{display:block}.user-row small{color:#596775;margin-top:2px}.user-row span{font-size:9px;color:#88929c;margin-top:3px}.user-actions{display:flex;gap:6px;align-items:center}.inline-form{display:inline}
.sheet-file.with-thumbnail{display:grid;grid-template-columns:18mm minmax(0,1fr) auto;align-items:center}.sheet-file-thumb{width:17mm;height:14mm}.sheet-file-thumb span{font-size:6px;color:#53606d}.sheet-file-main{min-width:0}.sheet-file-role{display:inline-block;background:#fff;border:1px solid #ccd3da;border-radius:10px;padding:1px 4px;margin:2px 0;font-size:6px;color:#333}.sheet-linked-files{display:grid;gap:1mm;padding:1.5mm;border-top:1px solid #bbb;background:#fafafa}.sheet-linked-file{display:grid;grid-template-columns:16mm 1fr;gap:2mm;align-items:center;border:1px solid #d4d8dc;padding:1.5mm;background:#fff;break-inside:avoid-page}.sheet-linked-file .sheet-file-thumb{width:15mm;height:12mm}.sheet-linked-file b,.sheet-linked-file strong,.sheet-linked-file small,.sheet-linked-file em{display:block}.sheet-linked-file b{font-size:6px;color:#44515d}.sheet-linked-file strong{font-size:8px;margin-top:1px}.sheet-linked-file small{font-size:6px;overflow-wrap:anywhere}.sheet-linked-file em{font-size:5.5px;color:#6b7680;margin-top:2px;font-style:normal}
@media(max-width:1000px){.dropbox-linked-file-row{grid-template-columns:50px 1fr auto}.dropbox-linked-file-row label{grid-column:auto}.users-layout{grid-template-columns:1fr}.dropbox-file-row{grid-template-columns:1fr}.file-role-select{min-width:0}}
@media(max-width:700px){.dropbox-linked-file-row{grid-template-columns:44px 1fr 34px}.dropbox-linked-file-row label,.dropbox-linked-file-row .btn{grid-column:1/-1}.user-row{grid-template-columns:36px 1fr}.user-actions{grid-column:1/-1}.selected-file-card.with-thumbnail{grid-template-columns:54px 1fr}.selected-file-card.with-thumbnail dl{grid-column:1/-1}.file-card-thumb{width:50px;height:46px}}
@media print{.sheet-file.with-thumbnail{grid-template-columns:16mm minmax(0,1fr) auto}.sheet-linked-file{page-break-inside:avoid;break-inside:avoid-page}}
.sheet:not(.fulfilment-sheet)>.sheet-summary{grid-template-columns:repeat(7,1fr)}
.fulfilment-summary{grid-template-columns:repeat(8,1fr)}
@media print{.sheet:not(.fulfilment-sheet)>.sheet-summary{grid-template-columns:repeat(7,1fr)}.fulfilment-summary{grid-template-columns:repeat(8,1fr)}}

/* v1.5 — seleção explícita de arquivos e referência reservada */
.dbx-selection-help{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.4}
.dbx-entry{border:1px solid transparent;cursor:default}
.dbx-entry:hover,.dbx-entry:focus{background:#f4f7fa;border-color:#dfe5ea;outline:0}
.dbx-entry-copy{min-width:0}
.dbx-entry-copy strong,.dbx-entry-copy small,.dbx-entry-copy em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dbx-entry-copy em{font-size:10px;color:#77828d;font-style:normal;margin-top:3px}
.dbx-entry-action{white-space:nowrap;min-width:145px;justify-content:center}
.dbx-entry-action:disabled{opacity:.45;cursor:not-allowed}

/* v1.5.1 — seleção individual também a partir do navegador da pasta */
.dbx-folder-file-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:16px;align-items:end;padding:12px 16px;background:#fff8f3;border-bottom:1px solid #ffd7c6}
.dbx-folder-file-tools[hidden]{display:none}
.dbx-folder-file-tools strong,.dbx-folder-file-tools small{display:block}
.dbx-folder-file-tools strong{font-size:12px;color:#8b320f}
.dbx-folder-file-tools small{font-size:11px;line-height:1.45;color:#805641;margin-top:3px}
.dbx-folder-file-tools label{margin:0;font-size:9px;color:#8b320f}
.dbx-folder-file-tools select{margin-top:4px;background:#fff;border-color:#ffb99b}
.dbx-thumb-wrap{position:relative;overflow:hidden;border-radius:6px;background:#edf1f5}
.dbx-thumb-wrap .dbx-entry-icon{position:absolute;inset:0;width:48px;height:38px;border-radius:6px}
.dbx-thumb-wrap img{position:absolute;inset:0;z-index:2}
@media(max-width:700px){.dbx-folder-file-tools{grid-template-columns:1fr}}


/* Production V2 Build 2 — V1 visual parity extensions */
.user-chip{border:1px solid #455467;padding:7px 10px;border-radius:999px;color:#d7e0ea}.container{max-width:1320px;margin:0 auto;padding:30px}.container-wide{max-width:1580px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px}.page-head h1{font-size:36px;margin:4px 0}.page-head p{margin:6px 0;color:var(--muted)}.stack{display:flex;flex-direction:column;gap:20px}.stack.compact{gap:8px}.grid-2,.grid-3,.grid-4{display:grid;gap:15px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.span-4{grid-column:span 4}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.align-start{align-items:start}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:14px}.section-head h2{margin:0}.section-head p{color:var(--muted);margin:5px 0}.filterbar{display:grid;grid-template-columns:1fr 180px 180px auto;gap:10px;margin-bottom:24px}.job-date-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0}.job-date-strip span{background:#f4f7fa;padding:8px;border-radius:8px}.job-date-strip small,.date-cards small,.sheet-dates small,.sheet-meta small,.spec-cards small,.item-spec-grid small{display:block;font-size:9px;letter-spacing:1px;color:var(--muted);font-weight:900}.job-date-strip strong{font-size:12px}.badges,.inline-actions,.actionbar,.check-row,.status-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.badge{background:#eef2f6;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800}.empty{padding:30px;text-align:center;color:var(--muted);background:#f5f7f9;border-radius:12px}.reference-hero{font-size:52px;font-weight:1000;letter-spacing:2px;line-height:1}.sticky-reference{background:#fff;border-radius:16px;padding:20px;border:1px solid var(--line)}.date-stack{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px}.item-editor{border:2px solid #dbe4ec;border-radius:15px;padding:18px;margin:14px 0;background:#fbfcfd}.item-editor-head{display:flex;align-items:center;gap:10px;margin-bottom:15px}.item-editor-head strong{font-size:22px}.type-preview,.type-badge{font-weight:900;font-size:11px;border-radius:999px;padding:7px 10px}.type-mixed{background:#eee5ff;color:#6329bc}.savebar{position:sticky;bottom:0;background:rgba(243,246,248,.94);backdrop-filter:blur(8px);display:flex;justify-content:flex-end;gap:10px;padding:14px;border-top:1px solid var(--line);z-index:10}.job-hero{background:#172332;color:#fff;border-radius:18px;padding:24px;display:flex;justify-content:space-between;gap:25px;margin-bottom:18px}.job-hero.compact{padding:18px}.job-hero h1{margin:8px 0}.client-large{font-size:18px;color:#cbd6e1}.date-cards{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px;min-width:520px}.date-cards div{background:#273548;border:1px solid #405067;border-radius:12px;padding:14px}.date-cards strong{display:block;margin-top:5px;font-size:16px}.actionbar{margin-bottom:18px}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.check-status{padding:11px;border-radius:8px;margin:8px 0;font-weight:800}.check-status.ok{background:#e3f7eb;color:#146438}.check-status.bad{background:#fee7e8;color:#a21c2c}.item-list{display:flex;flex-direction:column;gap:13px}.item-row{display:grid;grid-template-columns:150px 1fr;gap:18px;border:1px solid var(--line);border-left:7px solid #6b7b8d;border-radius:12px;padding:13px}.type-border-print{border-left-color:var(--blue)}.type-border-sign{border-left-color:var(--orange)}.type-border-mixed{border-left-color:var(--purple)}.item-thumb,.file-thumb,.kanban-thumb{background:#eef2f6;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#78889a;text-align:center}.item-thumb{height:115px}.item-thumb img,.file-thumb img,.kanban-thumb img,.visual-panel img{width:100%;height:100%;object-fit:contain}.file-mini-list{display:flex;flex-direction:column;gap:3px;color:var(--muted);font-size:12px}.linked-files-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.linked-files-grid.compact{grid-template-columns:1fr}.file-card{display:grid;grid-template-columns:120px 1fr;gap:12px;border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}.file-card .file-thumb{height:90px}.file-card small{display:block;color:var(--muted);overflow-wrap:anywhere;margin-top:3px}.file-controls{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;align-items:end}.dbx-thumb{height:65px;background:#edf2f6;border-radius:8px;overflow:hidden}.dbx-thumb img{width:100%;height:100%;object-fit:contain}.dbx-icon{font-weight:900;background:#e6edf5;border-radius:8px;padding:20px;text-align:center}.kanban{display:grid;grid-template-columns:repeat(6,minmax(240px,1fr));gap:12px;overflow-x:auto;padding-bottom:12px}.kanban-column{background:#e9eef3;border-radius:13px;min-height:620px}.kanban-column>header{display:flex;justify-content:space-between;padding:14px}.kanban-column h2{font-size:14px;margin:0}.kanban-dropzone{min-height:560px;padding:8px}.kanban-dropzone.drag-over{background:#dbe8f6}.kanban-card{background:#fff;border-radius:11px;padding:10px;margin-bottom:10px;box-shadow:0 4px 12px rgba(25,39,55,.08)}.kanban-card.dragging{opacity:.45}.kanban-thumb{height:105px}.kanban-ref{font-size:20px;font-weight:950;margin-top:8px}.kanban-card small,.kanban-card span{display:block;color:var(--muted);margin:4px 0}.kanban-dates{background:#f4f6f8;padding:7px;border-radius:7px;margin:8px 0}.kanban-dates b{display:block;color:#9a2d1d}.work-layout{display:grid;grid-template-columns:420px 1fr;gap:20px;align-items:start}.visual-panel{position:sticky;top:88px;min-height:400px}.spec-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.spec-cards div{background:#f4f7f9;padding:12px;border-radius:9px}.request-card{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:10px}.request-list p{background:#f6f8fa;padding:10px;border-radius:8px}.packing-editor-row{display:grid;grid-template-columns:110px 1.5fr repeat(6,minmax(95px,1fr));gap:9px;align-items:end;border:1px solid var(--line);padding:10px;border-radius:11px;margin-bottom:10px}.packing-editor-row .item-thumb{height:85px}.wide-row{grid-column:3/-1}.fulfilment-item-select>div{display:grid;grid-template-columns:1fr 130px 180px;gap:8px;align-items:center;padding:8px;border-bottom:1px solid var(--line)}.event-card{display:flex;justify-content:space-between;gap:10px;border:1px solid var(--line);padding:13px;border-radius:11px;margin-bottom:10px}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{border-bottom:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}.report-box{background:#101a26;color:#d8e3ed;padding:16px;border-radius:10px;overflow:auto}.install-body,.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#111b27,#26374a)}.install-card,.login-card{width:min(760px,94vw);background:#fff;border-radius:20px;padding:30px;box-shadow:var(--shadow)}.brand-large strong{font-size:26px;display:block}.brand-large span{letter-spacing:3px;color:var(--orange);font-size:11px}.copy-code{display:block;background:#172332;color:#e9eff5;padding:12px;border-radius:8px;overflow-wrap:anywhere}.print-page{background:#cdd4dc}.a4-sheet{width:210mm;min-height:297mm;margin:0 auto 20px;background:#fff;padding:10mm 10mm 13mm;position:relative;box-shadow:0 8px 35px rgba(0,0,0,.18);font-size:11px}.sheet-kicker{font-size:10px;letter-spacing:2px;font-weight:900;color:var(--orange)}.sheet-dates{display:grid;grid-template-columns:repeat(3,minmax(39mm,1fr));gap:4px}.sheet-dates div{border:1px solid #9ba8b6;padding:6px;border-radius:5px}.sheet-dates strong{display:block;font-size:12px;margin-top:3px}.sheet-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:7px 0}.sheet-meta>div{border:1px solid #cbd4dd;padding:6px;min-height:42px}.sheet-meta strong{display:block;margin-top:3px}.approved{background:#dff4e7;color:#14643a}.not-approved{background:#fee3e5;color:#9f1e2c}.material-group{margin-top:8px;break-inside:auto}.material-group>h2{background:#172332;color:#fff;padding:6px 8px;font-size:14px;margin:0}.type-block-print>h3{background:#dbeafe;color:#0b55b5}.type-block-sign>h3{background:#ffeadf;color:#b23c15}.type-block-mixed>h3{background:#eee5ff;color:#6328b7}.sheet-item-visual{height:38mm;border:1px solid #d4dce4;display:flex;align-items:center;justify-content:center;overflow:hidden}.sheet-item-visual img{width:100%;height:100%;object-fit:contain}.no-visual{color:#8795a5;font-weight:900}.item-spec-grid{display:grid;grid-template-columns:1fr 2fr 2fr 1fr;gap:4px;margin:5px 0}.item-spec-grid>div{background:#f2f5f7;padding:5px}.instructions-box{border:1px solid #d4dce4;padding:5px}.instructions-box p{margin:3px 0}.sheet-files h4{margin:6px 0 3px}.sheet-table{width:100%;border-collapse:collapse;margin-top:8px}.sheet-table th{background:#172332;color:#fff;font-size:9px}.sheet-table th,.sheet-table td{border:1px solid #aeb9c4;padding:5px;vertical-align:middle}.sheet-table small{display:block;color:#536273;margin-top:3px}.table-thumb{width:26mm;height:22mm}.table-thumb img{width:24mm;height:20mm;object-fit:contain}.signature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10mm;margin-top:12mm}.signature-line{border-bottom:1px solid #333;height:16mm}.signature-image{max-height:17mm;max-width:55mm}.customer-ack{margin-top:8mm;border:1px solid #9ba8b6;padding:7px}.fulfilment-notes{border:1px solid #aeb9c4;padding:6px;margin-top:6px}@media(max-width:1000px){.job-grid{grid-template-columns:1fr}.grid-3,.grid-4,.two-col,.summary-grid,.work-layout{grid-template-columns:1fr}.span-2,.span-3,.span-4{grid-column:auto}.date-stack,.date-cards{grid-template-columns:1fr;min-width:0}.job-hero{flex-direction:column}.linked-files-grid{grid-template-columns:1fr}.packing-editor-row{grid-template-columns:90px 1fr}.packing-editor-row>*{grid-column:auto}.filterbar{grid-template-columns:1fr}.topbar{height:auto;padding:15px;align-items:flex-start}.topbar nav{flex-wrap:wrap}}@media print{body{background:#fff}.no-print,.topbar,.toast{display:none}.container{padding:0;max-width:none}.a4-sheet{margin:0;box-shadow:none;width:210mm;min-height:297mm;page-break-after:auto}.sheet-header{break-after:avoid}.sheet-item,.sheet-file,tr{break-inside:avoid}.sheet-footer{position:fixed}.material-group>h2,.department-group>h3,.sheet-table th,.approval-strip span{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.dbx-entry:has(.dbx-check){grid-template-columns:32px 90px 1fr auto}.dbx-check{display:flex;align-items:center;justify-content:center}.dbx-check input{width:20px;height:20px}

/* Build 2 layout parity */
.page-wide{max-width:1540px}.page-head{background:linear-gradient(135deg,#fff 0%,#f7f8fa 100%);border:1px solid var(--line);border-radius:18px;padding:26px 30px;display:flex;justify-content:space-between;align-items:center;gap:24px;box-shadow:var(--shadow);margin-bottom:20px}.page-head h1{margin:6px 0;font-size:36px;letter-spacing:-.04em}.page-head p{margin:0;color:var(--muted)}
.filterbar{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;grid-template-columns:1fr 190px 190px auto;gap:10px;margin-bottom:20px}.filterbar input,.filterbar select{margin:0}.job-date-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0}.job-date-strip span{background:var(--soft);border-radius:8px;padding:8px;min-width:0}.job-date-strip small{display:block;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.07em}.job-date-strip strong{display:block;margin-top:3px;font-size:12px;overflow:hidden;text-overflow:ellipsis}.job-card .job-ref{font-size:23px;margin:10px 0 0;letter-spacing:.05em;color:var(--ink)}.badges{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.badge{display:inline-flex;border-radius:999px;padding:5px 8px;background:#eef1f4;color:#52606e;font-size:10px;font-weight:900}.job-card.priority-urgent{border-top:4px solid var(--red)}.job-card.priority-high{border-top:4px solid #d68b00}
.reference-hero{font-size:clamp(34px,5vw,62px);font-weight:1000;letter-spacing:.05em;line-height:1;color:var(--ink);margin:6px 0}.date-stack{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:8px;min-width:min(650px,55vw)}.date-stack label{background:var(--soft);padding:8px 10px;border-radius:10px}.date-stack input{margin-top:4px;background:#fff;font-weight:800}.sticky-reference{position:relative}
.item-identity{display:flex}.item-type-badge{border-radius:999px;padding:5px 9px;font-size:10px;font-weight:950;letter-spacing:.07em}.item-type-badge.print{background:#e8f0ff;color:#174ea6}.item-type-badge.sign{background:#fff1e8;color:#a63c00}.item-type-badge.mixed{background:#eee5ff;color:#6328b7}.item-type-caption{display:block;color:var(--muted);font-size:9px;margin-top:2px}.item-visual-row{display:grid;grid-template-columns:160px 1fr;gap:14px;align-items:center;margin:0 16px 16px;padding:12px;background:#fff;border:1px dashed #cbd4dd;border-radius:11px}.item-image-preview{height:105px;background:#edf1f4;border-radius:9px;display:grid;place-items:center;overflow:hidden;text-align:center;color:#8793a0;font-weight:800}.item-image-preview img{width:100%;height:100%;object-fit:contain;background:#fff}.item-visual-row small{display:block;color:var(--muted);margin-top:8px}.item-department-section{margin:12px 16px;border:1px solid #dce2e8;border-radius:12px;overflow:hidden;background:#fff}.department-banner{display:flex;align-items:center;gap:12px;padding:11px 13px}.department-banner strong{font-size:11px;letter-spacing:.08em}.department-banner span{font-size:11px;opacity:.8}.department-banner.print{background:#e8f0ff;color:#174ea6}.department-banner.sign{background:#fff1e8;color:#a63c00}.item-department-section>.field-grid{padding:14px}.item-final-notes{margin:14px 16px 18px}.department-legend{display:flex;gap:8px;margin-bottom:12px}.department-legend span{padding:6px 9px;border-radius:999px;font-size:10px;font-weight:950}.legend-print{background:#e8f0ff;color:#174ea6}.legend-sign{background:#fff1e8;color:#a63c00}.legend-mixed{background:#eee5ff;color:#6328b7}
.fulfilment-card{border:1px solid #dce2e8;border-radius:12px;margin:12px 0;background:#fbfcfd;overflow:hidden}.fulfilment-card-header{display:flex;justify-content:space-between;align-items:center;padding:10px 13px;background:#f2f4f6;border-bottom:1px solid #dce2e8}.fulfilment-card-header>div{display:flex;align-items:center;gap:8px}.fulfilment-number{width:25px;height:25px;border-radius:7px;background:var(--dark);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:900}.fulfilment-card>.field-grid{padding:14px}.fulfilment-proof-strip{display:flex;flex-wrap:wrap;gap:8px;padding:0 14px 14px}.fulfilment-proof-strip label{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);padding:8px 10px;border-radius:8px}.fulfilment-proof-strip input{width:17px;height:17px;margin:0}.fulfilment-general-notes{margin-top:14px}
.savebar{position:sticky;bottom:12px;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:12px;display:flex;justify-content:flex-end;gap:9px}.btn.large{padding:13px 21px;font-size:15px}.inline-actions{display:flex;gap:8px;padding:0 16px 16px}
.file-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.file-preview-card{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}.file-preview-card img{width:100%;height:120px;object-fit:contain;background:#f2f4f6;border-radius:8px}.file-preview-card strong,.file-preview-card small{display:block;margin-top:5px;overflow-wrap:anywhere}.file-preview-card small{color:var(--muted);font-size:10px}
@media(max-width:1100px){.date-stack{min-width:0;width:100%;grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.filterbar{grid-template-columns:1fr 1fr}.form-layout{grid-template-columns:1fr}.form-sidebar{order:-1}.summary-card.sticky{position:relative;top:auto}.field-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.span-3{grid-column:span 2}}
@media(max-width:700px){.filterbar,.field-grid.cols-4,.field-grid.cols-3,.field-grid.cols-2,.approval-strip,.media-grid{grid-template-columns:1fr}.span-2,.span-3{grid-column:auto}.item-visual-row{grid-template-columns:1fr}.topbar{height:auto;align-items:flex-start;padding:12px 16px}.topbar nav{flex-wrap:wrap;justify-content:flex-end}.page{padding:18px 12px 50px}.job-grid{grid-template-columns:1fr}.job-date-strip{grid-template-columns:1fr}.page-head{padding:20px}.reference-hero{font-size:36px}}
.toolbar{grid-template-columns:minmax(260px,1fr) 190px 190px auto}.toolbar input,.toolbar select{margin:0}
@media(max-width:900px){.toolbar{grid-template-columns:1fr 1fr}.toolbar .btn{width:100%}}
@media(max-width:600px){.toolbar{grid-template-columns:1fr}}

/* Mixed item aliases */
.item-card.type-mixed{border-color:#cbb8f4}.detail-item.type-mixed{border-color:#cbb8f4}.item-type-badge.mixed,.type-badge.mixed{background:#eee5ff;color:#6328b7}.detail-item.type-mixed>header>span{background:#7c3aed}.summary-department.hybrid{background:#f2ebff;color:#6328b7}.detail-department-block.general h4{background:#eef2f5;color:#334250}.detail-dates{margin-top:14px;max-width:760px}

/* Build 3: catalogue, pricing, rich text, Dropbox bulk, notifications and refined workflow */
.catalogue-tabs{display:flex;gap:8px;margin:0 0 16px}.catalogue-tabs a{padding:11px 18px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:850}.catalogue-tabs a.active{background:var(--dark);color:#fff;border-color:var(--dark)}.catalogue-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(380px,.8fr);gap:18px;align-items:start}.catalogue-editor{position:sticky;top:88px}.catalogue-list small{display:block;color:var(--muted);margin-top:3px}.compatibility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:360px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:10px}.compatibility-grid label,.check-line{display:flex;align-items:center;gap:8px}.compatibility-grid input,.check-line input{width:17px;height:17px;margin:0}
.live-date-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.live-date-strip span{background:#263649;color:#d7e0e9;border:1px solid #405269;padding:8px 11px;border-radius:9px;font-size:11px;font-weight:800}.live-date-strip b{display:block;color:#fff;font-size:13px;margin-top:3px}
.main-file-thumb{width:86px;height:68px;border-radius:10px;background:#eaf0f6;display:grid;place-items:center;overflow:hidden;font-weight:950;color:#42566c;flex:0 0 auto}.main-file-thumb img{width:100%;height:100%;object-fit:contain}.dropbox-file-row.no-primary-file{border-style:dashed;background:#fbfcfe}.dropbox-file-row.no-primary-file .dbx-print-file-name,.dropbox-file-row.no-primary-file .dbx-sign-file-name{color:#9b4a20}.dropbox-file-row.has-file{background:#f8fbff}.dropbox-file-row{grid-template-columns:86px minmax(250px,1fr) minmax(270px,.65fr) auto}.file-selected{min-width:0}.file-selected strong,.file-selected small{overflow-wrap:anywhere}
.finish-selector{margin:15px 0;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff}.finish-selector-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 15px;background:#f1f4f7}.finish-selector-head small{display:block;color:var(--muted);margin-top:3px}.finish-total-label{font-size:18px}.finish-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px}.finish-option{display:grid;grid-template-columns:22px minmax(135px,1fr) 115px minmax(190px,1.2fr);align-items:center;gap:9px;border:1px solid #dce4eb;border-radius:10px;padding:10px;background:#fbfcfd}.finish-option.selected{border-color:#ff7a3d;background:#fff7f2;box-shadow:0 0 0 2px rgba(255,111,46,.08)}.finish-option>input[type=checkbox]{width:18px;height:18px}.finish-option>span small{display:block;color:var(--muted);margin-top:2px}.finish-option>label{font-size:11px}.finish-option>label input{margin-top:3px}.finish-calculation{font-size:11px;color:#607083;text-align:right}.finish-line-total{display:block;font-size:14px;color:#172332;margin-top:2px}.item-price-summary{display:flex;flex-direction:column;gap:4px;background:#172332;color:#dce6ef;border-radius:10px;padding:10px}.item-price-summary span,.item-price-summary strong{display:flex;justify-content:space-between;gap:10px}.item-price-summary>strong{color:#fff;border-top:1px solid #415065;padding-top:6px;margin-top:3px}.calculation-box small{display:block;margin-top:4px;color:var(--muted)}
.item-visual-row{align-items:center}.item-image-preview{width:170px;height:120px}.item-image-preview img{width:100%;height:100%;object-fit:contain}.item-notes{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}
.rich-editor-shell{border:1px solid #cbd5df;border-radius:10px;background:#fff;overflow:hidden;margin-top:6px}.rich-toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:7px;background:#eef2f5;border-bottom:1px solid #d7e0e8}.rich-toolbar button{border:1px solid #c8d2dc;background:#fff;border-radius:6px;padding:5px 8px;cursor:pointer;font-size:12px}.rich-toolbar button:hover{background:#172332;color:#fff}.rich-surface{min-height:115px;padding:11px;outline:none;line-height:1.45}.rich-surface h3{margin:8px 0 5px}.rich-surface p{margin:5px 0}.rich-surface ul,.rich-surface ol{padding-left:22px}
.dbx-bulk-tools{display:flex;align-items:end;gap:10px;padding:10px 15px;background:#fff6ef;border-bottom:1px solid #ffd4be}.dbx-bulk-tools label{min-width:210px}.dbx-entry.selected{outline:3px solid rgba(255,111,46,.3);background:#fff6ef}.dbx-thumb-wrap{position:relative;display:block;width:90px;height:66px;background:#edf2f6;border-radius:8px;overflow:hidden}.dbx-thumb-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff}.dbx-thumb-wrap .dbx-entry-icon{position:absolute;inset:0;display:grid;place-items:center}.dbx-folder-icon{width:90px;height:66px;display:grid;place-items:center;font-size:38px;background:#eef3f8;border-radius:8px}.dbx-entry.file{min-height:88px}.dbx-entry img{display:block}
.fulfilment-card [hidden]{display:none}.fulfilment-card[data-fulfilment-type=installation]{border-left:5px solid #7c3aed}.fulfilment-card[data-fulfilment-type=delivery],.fulfilment-card[data-fulfilment-type=delivery_installation]{border-left:5px solid #0d6efd}.fulfilment-card[data-fulfilment-type=collection]{border-left:5px solid #f97316}.fulfilment-card[data-fulfilment-type=courier]{border-left:5px solid #14b8a6}
.notification-bell{position:relative;width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:#263547;font-size:17px}.notification-bell:hover{background:#35485f}.notification-bell b{position:absolute;right:-5px;top:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#ff6330;color:#fff;font-size:10px;display:grid;place-items:center}.notification-page-list{padding:0}.notification-row{display:grid;grid-template-columns:12px 1fr auto;gap:12px;padding:15px;border-bottom:1px solid var(--line);align-items:center}.notification-row.unread{background:#fff8f3}.notification-dot{width:9px;height:9px;border-radius:50%;background:#b9c5d0}.notification-row.unread .notification-dot{background:#ff6330;box-shadow:0 0 0 4px #ffe3d5}.notification-row p{margin:4px 0;color:#536275}.notification-actions{display:flex;gap:7px;align-items:center}
/* A more modern production board while preserving the approved visual language. */
.kanban{gap:16px;padding:8px 2px 20px}.kanban-column{background:linear-gradient(180deg,#eef2f6,#e7edf2);border:1px solid #d7e0e8;border-radius:16px;min-height:650px;box-shadow:0 8px 24px rgba(24,38,54,.07);overflow:hidden}.kanban-column>header{position:sticky;top:0;z-index:2;padding:14px 15px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-bottom:1px solid #dce4eb}.kanban-column>header h2{font-size:13px;letter-spacing:.2px}.kanban-column>header span{background:#172332;color:#fff;border-radius:999px;padding:4px 8px;font-weight:900}.kanban-column[data-status=working]>header{box-shadow:inset 0 4px 0 #0d6efd}.kanban-column[data-status=info_needed]>header{box-shadow:inset 0 4px 0 #ef4444}.kanban-column[data-status=awaiting_material]>header{box-shadow:inset 0 4px 0 #f59e0b}.kanban-column[data-status=qc]>header{box-shadow:inset 0 4px 0 #8b5cf6}.kanban-column[data-status=completed]>header{box-shadow:inset 0 4px 0 #22c55e}.kanban-dropzone{padding:10px;min-height:600px}.kanban-card{padding:0;border:1px solid #dce4eb;border-radius:14px;overflow:hidden;box-shadow:0 7px 18px rgba(23,35,50,.09);transition:transform .16s,box-shadow .16s}.kanban-card:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(23,35,50,.14)}.kanban-thumb{height:125px;border-radius:0;background:#f5f7f9}.kanban-card-body{padding:11px}.kanban-ref{font-size:22px;letter-spacing:.3px}.kanban-card strong{display:block;margin:7px 0 2px}.kanban-dates{display:grid;gap:4px;background:#f1f4f7;padding:8px}.kanban-dates b{font-size:12px}.kanban-card.overdue{border-color:#ef4444}.kanban-card.overdue .kanban-ref{color:#b91c1c}.kanban-priority{float:right;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:950;background:#edf1f5}.kanban-priority.urgent{background:#fee2e2;color:#b91c1c}.kanban-priority.high{background:#ffedd5;color:#c2410c}
@media(max-width:1200px){.catalogue-layout{grid-template-columns:1fr}.catalogue-editor{position:static}.finish-options{grid-template-columns:1fr}}@media(max-width:800px){.finish-option{grid-template-columns:22px 1fr}.finish-option>label,.finish-calculation{grid-column:2}.compatibility-grid{grid-template-columns:1fr}.dropbox-file-row{grid-template-columns:70px 1fr}.dropbox-file-row .file-role-select,.dropbox-file-row>.btn{grid-column:1/-1}.dbx-bulk-tools{flex-direction:column;align-items:stretch}}
.detail-pricing{display:grid;gap:5px;margin:10px 0;background:#f4f7f9;border-radius:10px;padding:9px}.detail-pricing>div{display:grid;grid-template-columns:110px 1fr auto;gap:8px;align-items:center}.detail-pricing span{font-size:10px;font-weight:900;color:#667689}.detail-pricing .total{border-top:1px solid #cdd7e0;padding-top:6px;margin-top:2px}.rich-output p{margin:4px 0}.rich-output ul,.rich-output ol{padding-left:20px}.rich-output h3{margin:7px 0 4px}

/* Build 3 — smart fulfilment item selection */
.fulfilment-pick-row{display:grid;grid-template-columns:64px minmax(260px,1fr) 110px 180px;gap:12px;align-items:center;padding:10px;border:1px solid var(--border,#dbe3ec);border-radius:14px;background:#fff;margin-bottom:9px}
.fulfilment-pick-thumb{width:64px;height:52px;border-radius:10px;overflow:hidden;background:#eef2f6;display:grid;place-items:center;font-weight:900;color:#64748b}
.fulfilment-pick-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.fulfilment-pick-row label{display:flex;align-items:flex-start;gap:9px;margin:0}
.fulfilment-pick-row label strong,.fulfilment-pick-row label small{display:block}
.fulfilment-pick-row label small{margin-top:3px;color:#64748b;font-weight:600}
@media(max-width:900px){.fulfilment-pick-row{grid-template-columns:54px 1fr}.fulfilment-pick-row>input{grid-column:2}}
.dbx-bulk-meta{display:grid;grid-template-columns:150px minmax(190px,1fr);gap:8px;min-width:360px}
.dbx-bulk-meta label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:800}
.dbx-bulk-meta select{margin-top:4px;min-height:38px;padding:7px 9px;font-size:13px;text-transform:none;letter-spacing:0}
.dbx-entry.selected .dbx-bulk-meta{opacity:1}.dbx-entry:not(.selected) .dbx-bulk-meta{opacity:.72}
@media(max-width:1050px){.dbx-bulk-meta{grid-column:2/-1;min-width:0;width:100%}}
.dbx-material-group-title{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 14px;margin:12px 0 4px;border-radius:12px;background:#172434;color:#fff;position:sticky;top:0;z-index:2}
.dbx-material-group-title strong{font-size:14px;text-transform:uppercase;letter-spacing:.05em}.dbx-material-group-title small{color:#cbd5e1;font-weight:600}
.permission-group{border:1px solid var(--border,#dfe5ec);border-radius:14px;padding:14px;margin:10px 0;background:#fbfcfe}.permission-group>strong{display:block;margin-bottom:10px}.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.permission-option{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;border:1px solid #e6ebf1;border-radius:10px;background:white;font-weight:600}.permission-option input{margin-top:3px}.details-summary{cursor:pointer;padding:6px 0}.padded-top{padding-top:18px}.user-permission-card{margin-bottom:18px}.lang-switch{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:36px;border:1px solid rgba(255,255,255,.22);border-radius:10px;font-weight:800}

/* Build 4 — finance, portal administration and safe updater. Keeps the V1 visual language. */
.finance-kpis,.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 22px}
.finance-kpis>div,.metric-card{background:#fff;border:1px solid var(--line,#dce4eb);border-radius:16px;padding:18px;box-shadow:0 8px 24px rgba(23,35,50,.06)}
.finance-kpis small,.metric-card small{display:block;color:var(--muted,#687687);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.finance-kpis strong,.metric-card strong{display:block;margin-top:7px;font-size:25px;color:#172332}
.finance-kpis .danger,.metric-card.danger{border-color:#fecaca;background:#fff7f7}.finance-kpis .danger strong,.metric-card.danger strong{color:#b91c1c}
.finance-alerts{display:grid;gap:9px;margin-bottom:18px}.finance-alerts article{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 15px;border:1px solid #fed7aa;background:#fff7ed;border-radius:12px}
.document-number,.version-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:15px;background:#172332;color:#fff;padding:15px 20px;font-size:24px;font-weight:1000;letter-spacing:.06em;box-shadow:0 10px 24px rgba(23,35,50,.16)}
.document-line{position:relative;border:1px solid #dbe3eb;background:#fbfcfd;border-radius:15px;padding:18px 18px 16px 56px;margin:11px 0}
.document-line .line-no{position:absolute;left:14px;top:17px;width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:#172332;color:#fff;font-weight:900}
.document-line .remove-line{position:absolute;right:10px;top:9px;border:0;background:#fff0ed;color:#b42318;border-radius:8px;width:29px;height:29px;font-size:20px;cursor:pointer}
.line-total-box{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;background:#eef3f7;border-radius:10px;padding:9px 12px}.line-total-box small{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#687687;font-weight:900}.line-total-box strong{font-size:17px;margin-top:3px}
.document-totals{align-self:stretch;background:#172332;color:#fff;border-radius:15px;padding:17px;display:flex;flex-direction:column;justify-content:center;gap:9px}.document-totals>div{display:flex;justify-content:space-between;gap:15px}.document-totals .grand{font-size:20px;border-top:1px solid #465469;padding-top:11px;margin-top:4px}.document-totals .grand strong{color:#ff9a68}
.document-view-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);gap:18px;align-items:start}.document-summary{position:sticky;top:96px}.summary-card{background:#172332;color:#fff;border-radius:16px;padding:17px}.summary-row{display:flex;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid #435166}.summary-row:last-child{border:0}.summary-row.total{font-size:20px}.summary-row.total strong{color:#ff9a68}
.status-pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;background:#e9eef3;color:#344252;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.status-pill.success,.status-pill.status-paid,.status-pill.status-accepted{background:#dcfce7;color:#166534}.status-pill.status-issued,.status-pill.status-sent,.status-pill.status-part_paid{background:#dbeafe;color:#1d4ed8}.status-pill.status-overdue,.status-pill.status-rejected,.status-pill.status-void,.status-pill.status-cancelled{background:#fee2e2;color:#b91c1c}.status-pill.status-draft{background:#f1f5f9;color:#475569}
.sticky-save{position:sticky;bottom:0;z-index:20;display:flex;justify-content:flex-end;gap:10px;padding:14px;background:rgba(243,246,248,.94);backdrop-filter:blur(9px);border-top:1px solid #dbe3eb}
.inline-form{display:inline-flex;align-items:center;gap:8px;margin:0}.data-table .row-danger{background:#fff1f2}.data-table code{white-space:normal;overflow-wrap:anywhere}
.update-dropzone{border:2px dashed #c9d4de;border-radius:16px;padding:24px;background:#f8fafc}.update-dropzone input[type=file]{width:100%;padding:12px;background:#fff;border:1px solid #dce4eb;border-radius:10px}.version-badge{font-size:18px}
.portal-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:15px}.portal-admin-card{border:1px solid #dce4eb;border-radius:15px;padding:16px;background:#fff}
.head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.muted{color:var(--muted,#687687)}

/* A4 financial documents: independent from operational Job Sheets. */
.financial-sheet{font-family:Arial,sans-serif;color:#172332;background:#fff}.financial-head{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;border-bottom:2.5px solid #172332;padding-bottom:9mm}.financial-doc-title{text-align:right}.financial-doc-title h1{margin:0;font-size:25pt}.financial-doc-title strong{font-size:17pt}.financial-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:3mm;margin:6mm 0}.financial-meta>div{border:1px solid #d6dee6;border-radius:3mm;padding:3mm}.financial-meta small{display:block;text-transform:uppercase;font-size:7pt;color:#687687;font-weight:700}.financial-meta strong{display:block;margin-top:1.5mm}.financial-lines{width:100%;border-collapse:collapse}.financial-lines th{background:#172332;color:#fff;padding:2.6mm;text-align:left;font-size:8pt}.financial-lines td{border-bottom:1px solid #dbe3eb;padding:2.8mm;font-size:8.5pt;vertical-align:top}.financial-lines th:nth-last-child(-n+3),.financial-lines td:nth-last-child(-n+3){text-align:right}.financial-bottom{display:grid;grid-template-columns:1fr 72mm;gap:8mm;margin-top:7mm}.financial-notes{border:1px solid #dbe3eb;border-radius:3mm;padding:4mm;min-height:32mm}.financial-totals{border:1px solid #dbe3eb;border-radius:3mm;padding:4mm}.financial-totals>div{display:flex;justify-content:space-between;gap:8mm;padding:1.7mm 0}.financial-totals .grand{font-size:13pt;font-weight:800;border-top:1px solid #172332;padding-top:3mm;margin-top:2mm}
@media print{.financial-sheet{width:210mm;min-height:297mm;padding:12mm 13mm;box-sizing:border-box}.financial-lines tr,.financial-meta>div,.financial-bottom{break-inside:avoid;page-break-inside:avoid}.financial-lines thead{display:table-header-group}.financial-lines tfoot{display:table-footer-group}}
@media(max-width:980px){.finance-kpis,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-view-grid{grid-template-columns:1fr}.document-summary{position:static}.financial-bottom{grid-template-columns:1fr}}
@media(max-width:620px){.finance-kpis,.metric-grid{grid-template-columns:1fr}.document-line{padding-left:18px;padding-top:58px}.document-line .line-no{top:14px}.financial-meta{grid-template-columns:repeat(2,1fr)}}

/* ========================================================================== 
   Build 5 — global layout audit and unified spacing system
   Preserves the approved visual language while normalising every workspace.
   ========================================================================== */
:root{
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;
  --space-6:24px;--space-7:32px;--space-8:40px;
  --control-height:46px;--page-max:1480px;--content-radius:18px;
  --border:#dbe3eb;--surface:#fff;--surface-soft:#f6f8fa;
  --page-bg:var(--brand-surface,#edf0f3);
}
html,body{background:var(--page-bg);line-height:1.45}
body{overflow-x:hidden}
img{max-width:100%}
h1,h2,h3,h4,p{overflow-wrap:anywhere}
h1{line-height:1.1}h2,h3{line-height:1.22}
button,input,select,textarea{max-width:100%}
input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea{
  width:100%;min-height:var(--control-height);border:1px solid #cfd9e3;border-radius:11px;
  padding:10px 12px;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s,background .15s;
}
textarea{min-height:112px;resize:vertical;line-height:1.5}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--brand-secondary,#1463ff);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-secondary,#1463ff),transparent 84%)}
label{display:grid;gap:7px;color:#344252;font-weight:750;min-width:0}
label>small,.field-help{color:var(--muted);font-size:12px;font-weight:600;line-height:1.4}
input[type=checkbox],input[type=radio]{accent-color:var(--brand-accent,#ff6b35)}
.btn{min-height:42px;padding:9px 15px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1.1;white-space:normal;text-align:center}
.btn.large{min-height:48px;padding:12px 20px}.btn.small{min-height:34px;padding:7px 10px}

/* App shell and navigation */
.topbar{height:auto;min-height:76px;padding:0;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 3px 14px rgba(23,35,50,.035);position:sticky;top:0;z-index:60}
.topbar-inner{width:min(var(--page-max),calc(100% - 40px));min-height:76px;margin:auto;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:11px;min-width:210px;padding:8px 0}
.brand>span:last-child{display:flex;flex-direction:column;min-width:0}.brand strong{font-size:16px;line-height:1.1}.brand small{margin-top:4px;color:var(--muted);font-size:10px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}
.brand-logo{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;overflow:hidden;flex:0 0 auto;background:#fff}
.brand-logo img{width:100%;height:100%;object-fit:contain}.brand-logo-fallback{background:var(--brand-primary,#172332);color:#fff;font-weight:1000;font-size:15px;letter-spacing:.04em}
.nav-primary{display:flex;align-items:center;gap:5px;flex:1;min-width:0}
.nav-primary>a,.nav-menu>summary{padding:10px 11px;border-radius:9px;color:#4a5868;font-size:13px;font-weight:800;cursor:pointer;list-style:none;white-space:nowrap}
.nav-primary>a:hover,.nav-menu>summary:hover,.nav-primary>a.active,.nav-menu[data-active="1"]>summary{background:#eef2f6;color:var(--brand-primary,#172332)}
.nav-menu>summary::-webkit-details-marker,.user-menu>summary::-webkit-details-marker{display:none}
.topbar-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto}
.nav-menu,.user-menu{position:relative}.nav-menu-popover{position:absolute;right:0;top:calc(100% + 10px);width:250px;padding:8px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 45px rgba(23,35,50,.18);display:grid;gap:3px;z-index:90}
.nav-menu-popover a{padding:10px 11px;border-radius:9px;font-size:13px;font-weight:750;color:#435162}.nav-menu-popover a:hover,.nav-menu-popover a.active{background:#eef2f6;color:#172332}
.user-menu>summary{display:flex;align-items:center;gap:9px;cursor:pointer;padding:5px 7px;border-radius:12px}.user-menu>summary:hover{background:#f1f4f7}
.user-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--brand-primary,#172332);color:#fff;font-weight:950}.user-copy{display:flex;flex-direction:column;max-width:150px}.user-copy strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-copy small{font-size:10px;color:var(--muted)}
.user-popover{width:215px}.notification-bell{position:relative;width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#f3f6f8;color:var(--brand-accent,#ff6b35)}.notification-bell b{position:absolute;right:-3px;top:-4px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:#b42318;color:#fff;font-size:10px}

/* Main page containers */
.page{width:min(1320px,calc(100% - 40px));max-width:none;margin:0 auto;padding:30px 0 80px}.page.page-wide{width:min(var(--page-max),calc(100% - 40px))}
.page>*{min-width:0}.page-head{margin:0 0 var(--space-6);padding:0;align-items:flex-start}.page-head h1{font-size:clamp(28px,3vw,40px);margin:4px 0 7px}.page-head p{max-width:850px;line-height:1.55}
.hero,.panel,.summary-card,.metric-card,.portal-admin-card{border:1px solid var(--border);border-radius:var(--content-radius);background:#fff;box-shadow:0 8px 25px rgba(23,35,50,.045)}
.panel{padding:var(--space-6);overflow:visible}.panel.compact{padding:var(--space-5)}
.panel>.section-head:first-child,.panel>h2:first-child,.panel>h3:first-child{margin-top:0}.panel>*:last-child{margin-bottom:0}
.panel>form,.panel>.stack,.panel>.grid-2,.panel>.grid-3,.panel>.grid-4{min-width:0}
.stack{gap:var(--space-5)}.stack.compact{gap:var(--space-3)}
.grid-2,.grid-3,.grid-4{column-gap:var(--space-4);row-gap:var(--space-5)}
.section-head{margin:0 0 var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid #e6ebf0;align-items:flex-start}.section-head>div:first-child{display:flex;align-items:flex-start;gap:12px;min-width:0}.section-head h2{font-size:21px}.section-head h3{margin:0}.section-head p{margin:5px 0 0;line-height:1.5}.section-head .step{flex:0 0 auto}
.inline-actions,.actionbar,.head-actions,.form-actions{gap:var(--space-2)}
.inline-actions{padding:0;margin:var(--space-4) 0 0}
.form-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;padding-top:var(--space-5);margin-top:var(--space-5);border-top:1px solid #e2e8ee}
.alert{margin:0 0 var(--space-5);border-radius:13px;padding:13px 15px;border:1px solid transparent;line-height:1.5}.alert.info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.alert.success{border-color:#bbf7d0}.alert.danger{border-color:#fecaca}
.empty{border:1px dashed #cbd5df;min-height:90px;display:grid;place-items:center;padding:25px;margin:0}
.muted{line-height:1.5}.check-line,.switch-line{display:flex;align-items:flex-start;gap:10px;padding:9px 0;font-weight:700}.switch-line input,.check-line input{margin-top:3px;flex:0 0 auto}
.data-table-wrap,.table-scroll{overflow:auto;border-radius:13px;border:1px solid #e0e6ec}.panel>.data-table{display:table}.data-table th,.data-table td{padding:12px 13px;line-height:1.4}.data-table th{background:#f4f7f9;position:sticky;top:0;z-index:1;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.data-table tr:last-child td{border-bottom:0}

/* Job creation/editor — consistent nested-card breathing room */
.sticky-reference{padding:var(--space-5);margin-bottom:var(--space-5);box-shadow:0 7px 22px rgba(23,35,50,.045)}
.reference-hero{font-size:clamp(38px,5vw,62px)}
.date-stack{gap:var(--space-3)}.date-stack>label,.job-date{padding:12px;border:1px solid #e0e6ec;border-radius:12px;background:#f8fafb}
.item-editor,.item-card{padding:var(--space-6);margin:0 0 var(--space-5);border-radius:18px;background:#fff;border:1px solid #d8e1e9;box-shadow:0 8px 22px rgba(23,35,50,.045);overflow:visible}
.item-editor>*+*,.item-card>*+*{margin-top:var(--space-5)}
.item-editor-head,.item-card-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid #e3e9ef}.item-card-header .remove-item,.item-editor-head .remove-item{margin-left:auto}
.item-section,.item-section-print,.item-section-sign,.item-notes,.finish-selector,.file-selection-area,.linked-files-section{padding:var(--space-5);border:1px solid #e0e6ec;border-radius:15px;background:#f8fafb;margin-top:var(--space-5)}
.item-section>h3,.item-section-print>h3,.item-section-sign>h3,.item-notes>h3,.finish-selector>h3{margin:0 0 var(--space-4)}
.item-section-print{border-left:5px solid var(--brand-secondary,#1463ff)}.item-section-sign{border-left:5px solid var(--brand-accent,#ff6b35)}
.linked-files-grid{gap:var(--space-4)}.file-card{padding:var(--space-4);gap:var(--space-3);border-radius:14px}.file-controls{gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid #e5eaf0}
.dropbox-file-row{padding:var(--space-4);gap:var(--space-4);border-radius:15px;margin-top:var(--space-3)}
.finish-selector{display:grid;gap:var(--space-3)}.finish-row,.finish-option{padding:12px;border:1px solid #e2e8ee;border-radius:12px;background:#fff;gap:10px}
.rich-editor{min-height:150px}.rich-toolbar{padding:8px;gap:5px;border-radius:11px 11px 0 0}.rich-editor-surface{min-height:145px;padding:13px 14px;line-height:1.55}
.savebar,.sticky-save{padding:14px max(16px,calc((100vw - var(--page-max))/2));margin-top:var(--space-7);border-radius:14px 14px 0 0;box-shadow:0 -8px 22px rgba(23,35,50,.06)}

/* Dropbox modal and visual browser */
.modal{padding:24px}.modal-card,.dropbox-modal-card{width:min(1120px,calc(100vw - 48px));max-height:calc(100vh - 48px);border-radius:20px;overflow:hidden;background:#fff}
.modal-head{padding:20px 22px;border-bottom:1px solid #e0e6ec}.modal-body{padding:18px 22px 22px;overflow:auto}
.dbx-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px;background:#f4f7f9;border-radius:13px;margin-bottom:12px}.dbx-toolbar input{flex:1;min-width:220px}.dbx-pathbar{padding:11px 13px;border:1px solid #e0e6ec;border-radius:12px;margin-bottom:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dbx-list{display:grid;gap:9px;padding:2px}.dbx-entry{padding:11px 12px;border:1px solid #dce4eb;border-radius:13px;background:#fff;gap:12px;min-height:88px}.dbx-entry:hover{border-color:#b8c7d5;background:#fbfcfd}.dbx-entry.selected{border-color:var(--brand-secondary,#1463ff);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-secondary,#1463ff),transparent 86%)}
.dbx-thumb{width:90px;height:68px}.dbx-material-group-title{margin:17px 0 7px;padding:11px 13px;top:0}
.dbx-bulk-tools{padding:13px;border:1px solid #dce4eb;border-radius:13px;background:#f8fafb;margin-bottom:12px;gap:10px}

/* Settings, users, catalogue and branding */
.settings-tabs{display:flex;gap:7px;flex-wrap:wrap;position:sticky;top:88px;z-index:20;padding:10px;margin:0 0 var(--space-5);border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px)}
.settings-tabs a{padding:9px 12px;border-radius:9px;font-weight:800;font-size:12px;background:#f1f4f7}.settings-tabs a:hover{background:#e5ebf0}
.settings-section{scroll-margin-top:155px;margin-bottom:var(--space-5)}
.settings-note{padding:13px 15px;border-radius:12px;background:#f1f5f9;border:1px solid #dbe3eb;color:#526171;line-height:1.5}.settings-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.settings-summary-grid>div{padding:14px;border:1px solid #e0e6ec;border-radius:13px;background:#f8fafb}
.branding-assets-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-5)}.asset-upload-card{display:grid;grid-template-columns:150px 1fr;gap:var(--space-4);padding:var(--space-4);border:1px solid #dfe6ed;border-radius:15px;background:#f8fafb}.asset-preview{min-height:130px;display:grid;place-items:center;border:1px dashed #becbd7;border-radius:13px;background:#fff;padding:12px}.asset-preview img{max-height:110px;object-fit:contain}.preview-large{width:118px;height:90px;border-radius:12px}.signature-preview img{max-height:85px}
.colour-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-5)}.colour-field{padding:13px;border:1px solid #e0e6ec;border-radius:13px;background:#f8fafb}.colour-field>div{display:flex;align-items:center;gap:10px}.colour-field input[type=color]{width:54px;height:43px;padding:3px;border-radius:9px}.colour-field code{font-weight:850}
.bilingual-editor-grid{display:grid;gap:var(--space-4);margin:var(--space-5) 0}.bilingual-editor-card{padding:var(--space-5);border:1px solid #dfe6ed;border-radius:15px;background:#f8fafb}.bilingual-editor-card h3{margin:0 0 var(--space-4)}
.users-grid{display:grid;gap:var(--space-4)}.user-permission-card{padding:0;overflow:hidden}.user-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:var(--space-5);background:#f8fafb;border-bottom:1px solid #e0e6ec}.user-identity{display:flex;gap:12px;align-items:center}.user-card-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.user-permission-card>form>.grid-3,.user-permission-card>form>.permission-groups-grid,.user-permission-card>form>.password-reset{margin:var(--space-5)}
.password-reset{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;padding:13px;border:1px solid #e0e6ec;border-radius:12px;background:#f8fafb}.permission-groups-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.permission-fieldset{border:0;padding:0;margin:0}.permission-accordion{border:1px solid #dfe6ed;border-radius:13px;background:#fff;overflow:hidden}.permission-accordion>summary{padding:12px 14px;background:#f5f7f9;font-weight:850;cursor:pointer}.permission-accordion .permission-grid{padding:12px}.permission-option{min-height:50px}
.catalogue-layout{gap:var(--space-5)}.catalogue-editor{padding:var(--space-5);border-radius:16px}.compatibility-grid{gap:9px}.compatibility-grid label{padding:10px;border:1px solid #e1e7ed;border-radius:10px;background:#fff}

/* Finance and update screens */
.finance-kpis,.metric-grid{gap:var(--space-4);margin-bottom:var(--space-5)}.finance-kpis>div,.metric-card{padding:var(--space-5)}
.document-line{margin:0 0 var(--space-3);padding:var(--space-5) var(--space-5) var(--space-4) 58px}.document-line .grid-4,.document-line .grid-3{row-gap:var(--space-4)}
.document-view-grid{gap:var(--space-5)}.document-summary{top:96px}.update-dropzone{padding:var(--space-6)}.provider-panel{padding:var(--space-5);border:1px solid #e0e6ec;border-radius:15px;background:#f8fafb;margin-top:var(--space-4)}

/* Modern, reduced Kanban — four operational lanes plus completed archive */
.board-head{display:flex;justify-content:space-between;gap:var(--space-5);align-items:flex-start;margin-bottom:var(--space-5)}.board-controls{display:flex;align-items:end;justify-content:flex-end;gap:10px;flex-wrap:wrap}.board-filter{min-width:220px}.segmented-control{display:inline-flex;padding:4px;border:1px solid #d8e1e9;border-radius:12px;background:#fff;gap:3px}.segmented-control a{padding:9px 12px;border-radius:9px;font-size:12px;font-weight:850}.segmented-control a.active{background:var(--brand-primary,#172332);color:#fff}
.kanban.kanban-four{grid-template-columns:repeat(4,minmax(270px,1fr));gap:var(--space-4);padding:2px 2px 22px;align-items:start}.kanban-column{min-height:580px;border-radius:17px}.kanban-column>header{padding:15px 16px}.kanban-column>header h2{font-size:13px;text-transform:uppercase;letter-spacing:.055em}.kanban-column[data-status=blocked]>header{box-shadow:inset 0 4px 0 #f59e0b}.kanban-column[data-status=ready]>header{box-shadow:inset 0 4px 0 #64748b}
.kanban-dropzone{min-height:500px;padding:10px}.kanban-card{margin:0 0 11px}.kanban-card-body{padding:13px}.kanban-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.kanban-item-title{font-size:14px;line-height:1.35}.kanban-client{font-size:11px}.kanban-empty{min-height:110px;display:grid;place-items:center;padding:20px;color:#7b8998;text-align:center;border:1px dashed #c6d2dd;border-radius:12px;background:rgba(255,255,255,.55)}
.completed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:var(--space-4)}.completed-grid .kanban-card{height:100%}

/* Packing and fulfilment editors */
.packing-editor-list{display:grid;gap:var(--space-3)}.packing-editor-row{padding:var(--space-4);gap:var(--space-3);margin:0;border-radius:14px}.packing-item-name{align-self:center}.fulfilment-pick-row{margin:0 0 var(--space-3);padding:var(--space-3)}.event-card{padding:var(--space-4);border-radius:14px;align-items:flex-start}

/* Print sheets and branded documents */
.print-toolbar{width:min(210mm,calc(100% - 30px));margin:16px auto;display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.a4-sheet{padding:10mm 10mm 12mm;font-size:10.5px;box-shadow:0 12px 40px rgba(0,0,0,.17)}
.sheet-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8mm;align-items:end;padding-bottom:4mm;border-bottom:1.5px solid #172332}.sheet-heading-block{min-width:0}.sheet-brand-lockup{display:flex;align-items:center;gap:3mm;margin-bottom:3mm}.sheet-brand-lockup>div{display:flex;flex-direction:column}.sheet-brand-lockup strong{font-size:10pt}.sheet-brand-lockup small{font-size:6.7pt;color:#677585}.sheet-brand-logo{width:16mm;height:12mm;display:grid;place-items:center;overflow:hidden;border-radius:2mm}.sheet-brand-logo img{width:100%;height:100%;object-fit:contain}.sheet-brand-logo.brand-logo-fallback{font-size:9pt}
.sheet-ref{font-size:25pt;line-height:1;font-weight:1000;letter-spacing:.8pt;margin-top:1.5mm}.sheet-dates{grid-template-columns:repeat(2,minmax(38mm,1fr));gap:2mm}.sheet-dates div{min-height:15mm;padding:2.3mm}.sheet-dates strong{font-size:10pt}.sheet-meta{grid-template-columns:repeat(2,1fr);gap:2mm;margin:3mm 0}.sheet-meta>div{padding:2.2mm;min-height:13mm;border-radius:1.5mm}.sheet-table{margin-top:3mm}.sheet-table th,.sheet-table td{padding:2mm}.sheet-table th{font-size:7pt}.table-thumb{width:27mm;height:22mm;text-align:center}.table-thumb img{width:25mm;height:20mm}.thumb-placeholder{width:24mm;height:19mm;display:grid;place-items:center;border-radius:2mm;background:#eef2f6;color:#708091;font-weight:900}.sheet-terms,.fulfilment-notes,.customer-ack{margin-top:3mm;padding:3mm;border:1px solid #aeb9c4;border-radius:1.5mm}.sheet-terms .rich-output{max-height:34mm;overflow:hidden;font-size:7.3pt}.proof-requirements{margin-top:3mm}.signature-grid{gap:7mm;margin-top:7mm}.signature-line{height:13mm}.sheet-footer{position:static;margin-top:6mm;padding-top:2.5mm;border-top:1px solid #9ba8b6;display:flex;justify-content:space-between;gap:4mm;color:#526171;font-size:7pt}
.financial-company{display:flex;align-items:flex-start;gap:5mm}.financial-brand{width:30mm;min-height:18mm;display:grid;place-items:center}.financial-brand img{max-width:100%;max-height:18mm}.financial-copy{display:grid;gap:1mm}.financial-copy p{margin:0;line-height:1.35}.terms-box{margin-top:5mm;border:1px solid #dbe3eb;border-radius:2.5mm;padding:3.5mm;break-inside:avoid}.authorised-signature{margin-top:5mm;display:grid;gap:1mm;max-width:60mm}.authorised-signature img{max-width:52mm;max-height:18mm;object-fit:contain}

/* Login */
.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:var(--space-5)}.login-brand .brand-logo{width:56px;height:56px}.login-brand>div{display:grid}.login-brand strong{font-size:22px}.login-brand small{color:var(--muted)}

@media(max-width:1220px){
  .topbar-inner{width:calc(100% - 28px);gap:14px}.brand{min-width:175px}.brand small{max-width:145px}.nav-primary>a,.nav-menu>summary{padding:9px 8px;font-size:12px}.user-copy{display:none}
  .kanban.kanban-four{grid-template-columns:repeat(4,minmax(250px,1fr));overflow-x:auto}
  .colour-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:980px){
  .topbar-inner{min-height:70px;flex-wrap:wrap;padding:9px 0}.nav-primary{order:3;width:100%;overflow-x:auto;padding-bottom:4px}.topbar-tools{margin-left:auto}.page,.page.page-wide{width:calc(100% - 28px);padding-top:22px}
  .grid-3,.grid-4,.summary-grid,.document-view-grid,.work-layout{grid-template-columns:1fr 1fr}.span-3,.span-4{grid-column:1/-1}
  .branding-assets-grid,.permission-groups-grid{grid-template-columns:1fr}.asset-upload-card{grid-template-columns:120px 1fr}
  .kanban.kanban-four{grid-template-columns:repeat(2,minmax(280px,1fr));overflow:visible}.kanban-column{min-height:470px}.kanban-dropzone{min-height:390px}
  .packing-editor-row{grid-template-columns:90px repeat(2,minmax(0,1fr))}.wide-row{grid-column:1/-1}
}
@media(max-width:700px){
  :root{--control-height:44px}.topbar-inner{width:calc(100% - 20px)}.brand{min-width:0}.brand small{display:none}.nav-primary{gap:3px}.topbar-tools{gap:4px}.nav-menu-popover{position:fixed;left:10px;right:10px;top:72px;width:auto}.user-menu .nav-menu-popover{left:auto;width:220px}
  .page,.page.page-wide{width:calc(100% - 20px);padding:18px 0 60px}.panel{padding:var(--space-4)}.page-head{flex-direction:column;gap:12px}.page-head h1{font-size:30px}.head-actions{width:100%;justify-content:flex-start}
  .grid-2,.grid-3,.grid-4,.two-col,.summary-grid,.work-layout,.date-stack,.date-cards,.colour-grid{grid-template-columns:1fr}.span-2,.span-3,.span-4{grid-column:auto}.date-cards{min-width:0}
  .item-editor,.item-card{padding:var(--space-4)}.item-section,.item-section-print,.item-section-sign,.item-notes,.finish-selector{padding:var(--space-4)}
  .file-card,.dropbox-file-row{grid-template-columns:1fr}.file-controls{grid-template-columns:1fr}.dbx-entry,.dbx-entry:has(.dbx-check){grid-template-columns:32px 70px 1fr}.dbx-entry>.btn,.dbx-bulk-meta{grid-column:2/-1}.dbx-thumb{width:70px}
  .kanban.kanban-four{grid-template-columns:1fr}.board-head{flex-direction:column}.board-controls{justify-content:flex-start;width:100%}.board-filter{min-width:0;width:100%}.segmented-control{width:100%}.segmented-control a{flex:1;text-align:center}
  .asset-upload-card{grid-template-columns:1fr}.asset-preview{min-height:100px}.password-reset{grid-template-columns:1fr}.user-card-head{flex-direction:column}.user-card-actions{justify-content:flex-start}
  .modal{padding:10px}.modal-card,.dropbox-modal-card{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.modal-head,.modal-body{padding:15px}
  .finance-kpis,.metric-grid{grid-template-columns:1fr}.packing-editor-row{grid-template-columns:1fr}.packing-editor-row>*{grid-column:auto}
}
@media print{
  @page{size:A4 portrait;margin:0}
  html,body,.print-page{background:#fff}
  .page,.page.page-wide{width:auto;margin:0;padding:0}
  .a4-sheet,.financial-sheet{width:210mm;min-height:297mm;margin:0;box-shadow:none}
  .sheet-footer{position:static}
  .sheet-header,.sheet-meta,.sheet-dates,.sheet-item,.file-card,.sheet-terms,.customer-ack,.signature-grid{break-inside:avoid;page-break-inside:avoid}
  .sheet-table thead,.financial-lines thead{display:table-header-group}
  .sheet-table tr,.financial-lines tr{break-inside:avoid;page-break-inside:avoid}
  .material-group>h2,.department-group>h3,.sheet-table th,.approval-strip span,.sheet-ref{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
/* Build 5 small component completions found during the page-by-page audit. */
.brand-preview-mini{display:flex;align-items:center;gap:12px;padding:11px 13px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 7px 20px rgba(23,35,50,.045)}.brand-preview-mini>div{display:grid}.brand-preview-mini strong{font-size:13px}.brand-preview-mini small{font-size:10px;color:var(--muted);margin-top:3px}.brand-preview-mini .brand-logo{width:45px;height:45px}
.kanban-column-blocked>header{box-shadow:inset 0 4px 0 #f59e0b}.kanban-column-ready>header{box-shadow:inset 0 4px 0 #64748b}.kanban-column-working>header{box-shadow:inset 0 4px 0 var(--brand-secondary,#1463ff)}.kanban-column-qc>header{box-shadow:inset 0 4px 0 #8b5cf6}
.block{display:block}.full{width:100%}.static{position:static}.count-pill{display:inline-flex;min-width:28px;height:28px;padding:0 8px;align-items:center;justify-content:center;border-radius:999px;background:var(--brand-primary,#172332);color:#fff;font-size:11px;font-weight:900}
.payment-redirect{max-width:680px;margin:40px auto}.settings-note+.settings-note{margin-top:10px}
@media(max-width:700px){.brand-preview-mini{width:100%}.brand-preview-mini small{white-space:normal}}
/* Job Sheet-specific A4 structure. */
.sheet-dates.sheet-dates-three{grid-template-columns:repeat(3,minmax(30mm,1fr))}
.department-group{margin-top:2mm}.department-group>h3{margin:0;padding:2mm 2.5mm;font-size:8.5pt;letter-spacing:.05em;text-transform:uppercase}.sheet-item{display:grid;grid-template-columns:42mm minmax(0,1fr);gap:0;margin:0 0 3mm;border:1px solid #aeb9c4;border-left-width:3px;background:#fff}.sheet-item-visual{height:auto;min-height:38mm;border:0;border-right:1px solid #d4dce4;padding:2mm}.sheet-item-content{padding:2.5mm;min-width:0}.sheet-item-title{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:2mm;align-items:center}.sheet-item-title>span{width:7mm;height:7mm;display:grid;place-items:center;border-radius:1.5mm;background:#172332;color:#fff;font-weight:900}.sheet-item-title>strong{font-size:10pt}.sheet-item-title>b{font-size:6.5pt;padding:1.2mm 2mm;border-radius:999px;background:#eef2f6}.sheet-files{margin-top:2mm}.sheet-file{display:grid;grid-template-columns:18mm minmax(0,1fr);gap:2mm;align-items:center;padding:2mm;border:1px solid #d8e0e7;border-radius:1.5mm;background:#f8fafb;margin-top:1.5mm}.sheet-file-thumb{width:17mm;height:14mm}.sheet-file>div:last-child{min-width:0}.sheet-file strong,.sheet-file span,.sheet-file small{display:block}.sheet-file strong{font-size:8pt}.sheet-file span{font-size:6.4pt;color:#36506b;margin-top:.5mm}.sheet-file small{font-size:6.1pt;color:#5f6d7b;overflow-wrap:anywhere;margin-top:.5mm}
@media print{.sheet-item{break-inside:avoid;page-break-inside:avoid}.sheet-file{break-inside:avoid;page-break-inside:avoid}}
.panel:has(> .data-table){overflow-x:auto}.savebar,.sticky-save{padding:14px 18px}.sheet-terms hr,.terms-box hr{border:0;border-top:1px solid #d8e0e7;margin:3mm 0}.create-user-panel>details>summary{display:flex;align-items:center;gap:12px;cursor:pointer;padding:2px}.create-user-panel>details>summary::-webkit-details-marker{display:none}.create-user-panel>details[open]>summary{padding-bottom:16px;border-bottom:1px solid #e0e6ec;margin-bottom:16px}

/* ============================================================
   BUILD 6 — GLOBAL LAYOUT, MODALS, PROCESSING AND FORM ALIGNMENT
   ============================================================ */
:root{
  --page-gutter:clamp(16px,2.3vw,34px);
  --page-header-padding:clamp(22px,2.2vw,32px);
  --field-gap-x:18px;
  --field-gap-y:20px;
}

/* Page headings are proper, well-spaced header cards on every admin page. */
.page-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin:0 0 26px;
  padding:var(--page-header-padding);
  border:1px solid var(--border,#dfe4ea);
  border-radius:20px;
  background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);
  box-shadow:0 12px 32px rgba(23,35,50,.075);
  min-height:146px;
}
.page-head>div:first-child{min-width:0;max-width:900px}
.page-head .eyebrow{display:block;margin-bottom:8px}
.page-head h1{margin:0 0 10px;font-size:clamp(30px,3.25vw,48px);line-height:1.04;letter-spacing:-.045em;overflow-wrap:anywhere}
.page-head p{margin:0;max-width:820px;font-size:16px;line-height:1.55;color:var(--muted)}
.page-head>.head-actions,.page-head>.hero-actions{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;max-width:46%}
.page-head>.btn{align-self:center}

/* Consistent breathing room inside every data-entry region. */
.field-grid,.grid-2,.grid-3,.grid-4{column-gap:var(--field-gap-x);row-gap:var(--field-gap-y)}
.panel>.field-grid:first-child,.panel>form>.field-grid:first-child{margin-top:2px}
.panel label+label{min-width:0}
label{line-height:1.35}
input,select,textarea{min-height:46px;padding:11px 13px;border-radius:11px}
textarea{min-height:112px}
.rich-surface,.rich-editor-surface{min-height:150px}
.settings-note{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap;margin-top:18px}
.settings-note strong{flex:0 0 auto}.settings-note span{min-width:0}
.section-head,.panel-heading{gap:16px}
.panel-heading{align-items:flex-start;padding-bottom:17px;border-bottom:1px solid #e5eaf0;margin-bottom:22px}
.panel-heading>div:not(.push-right){min-width:0}
.panel-heading h2{margin-bottom:6px}
.panel-heading p{line-height:1.5}

/* Native checkbox dimensions were inheriting width:100%; this fixes all loose boxes. */
input[type="checkbox"],input[type="radio"]{
  width:19px;
  min-width:19px;
  height:19px;
  min-height:19px;
  margin:0;
  padding:0;
  flex:0 0 19px;
  align-self:flex-start;
  accent-color:var(--brand-accent,#ff6b35);
}
.check-line,.switch-line,.permission-option,.fulfilment-proof-strip label,.compatibility-grid label,.checkbox-card{
  display:flex;
  align-items:flex-start;
  gap:11px;
  width:100%;
  min-height:48px;
  padding:12px 13px;
  margin:0;
  border:1px solid #dfe6ed;
  border-radius:12px;
  background:#f8fafb;
  color:#344252;
  font-weight:750;
  line-height:1.35;
}
.check-line input,.switch-line input,.permission-option input,.fulfilment-proof-strip label input,.compatibility-grid label input{margin-top:1px}
.check-line:hover,.switch-line:hover,.permission-option:hover,.fulfilment-proof-strip label:hover,.compatibility-grid label:hover{border-color:#c5d0da;background:#fff}
.fulfilment-proof-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid #e2e8ee}
.finish-option>input[type="checkbox"]{align-self:center}
.dbx-check{display:grid;place-items:center;width:34px;min-width:34px;padding:0;border:0;background:transparent}

/* Sticky/floating actions always occupy the complete width of their page/form. */
.sticky-save,.savebar{
  position:sticky;
  left:0;
  right:0;
  bottom:0;
  z-index:45;
  width:100%;
  max-width:none;
  min-height:78px;
  margin:30px 0 0;
  padding:15px 20px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  border:1px solid #d9e1e8;
  border-bottom:0;
  border-radius:16px 16px 0 0;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
  box-shadow:0 -12px 32px rgba(23,35,50,.10);
}
.form-layout+.savebar,.form-layout+.sticky-save{grid-column:1/-1}

/* Unified system modal — every confirmation, notice and flash message uses this. */
.app-modal[hidden],.processing-overlay[hidden]{display:none}
.app-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:22px}
.app-modal-backdrop{position:absolute;inset:0;background:rgba(12,21,31,.64);backdrop-filter:blur(5px)}
.app-modal-card{position:relative;z-index:1;width:min(520px,calc(100vw - 32px));padding:28px;border:1px solid rgba(255,255,255,.35);border-radius:22px;background:#fff;box-shadow:0 30px 85px rgba(5,15,25,.32);display:grid;grid-template-columns:54px minmax(0,1fr);gap:16px 18px;animation:appModalIn .18s ease-out}
.app-modal-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#eaf2ff;color:#1759bd;font-size:25px;font-weight:1000}
.kind-success .app-modal-icon{background:#e7f6ed;color:#177245}.kind-danger .app-modal-icon{background:#fce8e6;color:#b42318}.kind-warning .app-modal-icon{background:#fff4d6;color:#8a6200}
.app-modal-copy{min-width:0;padding-right:16px}.app-modal-copy h2{margin:1px 0 8px;font-size:23px}.app-modal-copy p{margin:0;color:#5f6d7b;line-height:1.58;white-space:pre-line;overflow-wrap:anywhere}
.app-modal-close{position:absolute;right:14px;top:13px;width:36px;height:36px;border:0;border-radius:10px;background:#eef2f6;color:#4b5b6b;font-size:22px}
.app-modal-input{grid-column:1/-1;display:grid;gap:7px}.app-modal-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;padding-top:5px}
@keyframes appModalIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}

/* Full-screen operation lock. */
.processing-overlay{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:20px;background:rgba(12,21,31,.68);backdrop-filter:blur(6px)}
.processing-card{width:min(470px,calc(100vw - 32px));display:flex;align-items:center;gap:18px;padding:24px 26px;border-radius:20px;background:#fff;box-shadow:0 30px 90px rgba(4,14,24,.38)}
.processing-card strong{display:block;font-size:20px}.processing-card p{margin:5px 0 0;color:var(--muted);line-height:1.45}
.processing-spinner{width:44px;height:44px;flex:0 0 44px;border:4px solid #e4eaf0;border-top-color:var(--brand-accent,#ff6b35);border-radius:50%;animation:appSpin .75s linear infinite}
@keyframes appSpin{to{transform:rotate(360deg)}}
body.modal-open,body.is-processing{overflow:hidden}

/* Quick customer picker and modal. */
.client-picker-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end;min-width:0}
.client-picker-control>label{min-width:0}.client-picker-control>.btn{min-height:46px;margin-bottom:0}
.quick-client-form{display:grid;gap:18px}.quick-client-modal-card{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 38px);overflow:auto}
.quick-client-modal-card .app-modal-copy{grid-column:1/-1;padding:0}.quick-client-modal-card .app-modal-actions{position:sticky;bottom:-28px;margin:0 -28px -28px;padding:16px 28px;background:#fff;border-top:1px solid #e0e6ec}

/* Fulfilment cards and intelligent delivery calculator. */
.fulfilment-card{border:1px solid #dce4eb;border-left:5px solid #64748b;border-radius:16px;background:#fff;padding:0;overflow:hidden;margin:0 0 18px;box-shadow:0 7px 20px rgba(23,35,50,.045)}
.fulfilment-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;background:#f5f7f9;border-bottom:1px solid #e0e6ec}
.fulfilment-card-header>div{display:flex;align-items:center;gap:10px}.fulfilment-number{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:var(--brand-primary,#172332);color:#fff;font-size:12px;font-weight:900}
.fulfilment-card>.field-grid{padding:18px}.fulfilment-card[data-fulfilment-type="collection"]{border-left-color:#f97316}.fulfilment-card[data-fulfilment-type="delivery"]{border-left-color:#0d6efd}.fulfilment-card[data-fulfilment-type="courier"]{border-left-color:#14b8a6}.fulfilment-card[data-fulfilment-type="installation"]{border-left-color:#7c3aed}
.fulfilment-info-banner{grid-column:1/-1;padding:12px 14px;border:1px solid #d9e5f2;border-radius:12px;background:#eef6ff;color:#294d72;line-height:1.45}
.delivery-calculator{grid-column:1/-1;display:grid;gap:15px;padding:17px;border:1px solid #dbe4ec;border-radius:14px;background:#f7f9fb}
.delivery-calculator-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.delivery-calculator-head h3{margin:0 0 5px}.delivery-calculator-head p{margin:0;color:var(--muted);font-size:12px}.delivery-total{font-size:23px;color:var(--brand-primary,#172332);white-space:nowrap}
.delivery-cost-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.delivery-formula{padding:11px 13px;border-radius:11px;background:#fff;border:1px solid #e0e6ec;color:#526171;font-size:12px;line-height:1.45}
.job-fulfilment-method{grid-column:span 1}
.job-date-field[hidden]{display:none}

@media(max-width:980px){
  .page-head{align-items:flex-start}.page-head>.head-actions,.page-head>.hero-actions{max-width:none}
  .delivery-cost-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .page-head{min-height:0;padding:21px;gap:18px}.page-head>.head-actions,.page-head>.hero-actions{width:100%;justify-content:flex-start}.page-head>.head-actions .btn,.page-head>.hero-actions .btn{flex:1 1 180px}
  .sticky-save,.savebar{min-height:70px;padding:12px;gap:8px}.sticky-save .btn,.savebar .btn{flex:1}
  .fulfilment-proof-strip,.delivery-cost-grid{grid-template-columns:1fr}
  .client-picker-control{grid-template-columns:1fr}.client-picker-control>.btn{width:100%}
  .app-modal-card{grid-template-columns:44px minmax(0,1fr);padding:22px}.app-modal-icon{width:44px;height:44px;border-radius:13px}.app-modal-actions .btn{flex:1}
}


/* Build 6 checkbox alignment safety net for simple labels not using a component class. */
label:has(> input[type="checkbox"]):not(.finish-option):not(.check-card):not(.dbx-check):not(.switch-line):not(.check-line):not(.permission-option){
  display:flex;align-items:flex-start;gap:10px;min-height:42px;padding:10px 12px;border:1px solid #dfe6ed;border-radius:11px;background:#f8fafb;
}
label:has(> input[type="radio"]):not(.check-card){display:flex;align-items:flex-start;gap:10px}
.settings-note{column-gap:8px;row-gap:4px}
.settings-note strong::after{content:"";display:inline-block;width:1px}
@media(min-width:900px){
  .job-form>.savebar,.stack>.sticky-save{width:100%}
}

/* Build 6 final refinements from live-screen review. */
.hero-date-label{font-style:normal;font:inherit;letter-spacing:inherit;color:inherit}
#hero-installation-wrap[hidden]{display:none}

/* A floating action footer is a page-level control, not a narrow form card. */
.sticky-save,.savebar{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding-left:max(18px,calc((100vw - var(--page-max,1320px))/2 + var(--page-gutter,24px)));
  padding-right:max(18px,calc((100vw - var(--page-max,1320px))/2 + var(--page-gutter,24px)));
  border-left:0;border-right:0;border-radius:0;
}
.page-wide .sticky-save,.page-wide .savebar{
  padding-left:max(18px,calc((100vw - 1580px)/2 + var(--page-gutter,24px)));
  padding-right:max(18px,calc((100vw - 1580px)/2 + var(--page-gutter,24px)));
}

/* Compact checkbox cards used inside dense operational tables. */
.check-line.compact-check{min-height:46px;padding:10px 11px;align-self:end}
.packing-editor-row .compact-check{height:46px;align-items:center}
.file-controls .check-line{align-self:end}

/* Installation is a single fulfilment stage because Clever Signs delivers while installing. */
.fulfilment-card[data-fulfilment-type="installation"] .fulfilment-type-select:disabled{opacity:1;color:#5421a6;background:#f4efff;border-color:#d9c9f5}

@media(max-width:700px){
  .sticky-save,.savebar{width:100%;max-width:100%;margin-left:0;margin-right:0;border-left:1px solid #d9e1e8;border-right:1px solid #d9e1e8;border-radius:14px 14px 0 0}
}
.job-date-strip.two-dates{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:600px){.job-date-strip.two-dates{grid-template-columns:1fr}}
.settings-note strong::after{display:none}

/* Build 6 two-date headers: production plus the single effective fulfilment date. */
.live-date-strip.two-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(620px,100%)}
.date-cards.two-dates{grid-template-columns:repeat(2,minmax(150px,1fr))}
@media(max-width:640px){.live-date-strip.two-dates,.date-cards.two-dates{grid-template-columns:1fr;width:100%}}

/* Build 6.3 — live UI correction: clear Dropbox workflow and stable form composition. */
.quick-client-modal-card{
  width:min(900px,calc(100vw - 40px));
  grid-template-columns:1fr;
  gap:22px;
  padding:30px;
  overflow:auto;
}
.quick-client-modal-card .app-modal-copy,.quick-client-modal-card .quick-client-form{grid-column:1/-1;width:100%;min-width:0}
.quick-client-form>.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;width:100%}
.quick-client-form label{min-width:0}
.quick-client-form input,.quick-client-form select,.quick-client-form textarea{width:100%;min-width:0}
.quick-client-form textarea{min-height:112px}
.quick-client-modal-card .app-modal-actions{bottom:-30px;margin:0 -30px -30px;padding:18px 30px;justify-content:flex-end}
.quick-client-modal-card .app-modal-actions .btn{min-width:160px}

.finish-selector{margin:22px 0;border-radius:16px}
.finish-selector-head{padding:18px 20px;min-height:82px}
.finish-selector-head>div{min-width:0}.finish-selector-head strong{font-size:18px}.finish-selector-head small{font-size:13px;line-height:1.45}
.finish-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px}
.finish-option{display:grid;grid-template-columns:minmax(150px,1fr) minmax(190px,1.35fr);grid-template-areas:"toggle toggle" "price calculation";align-items:end;gap:12px 18px;min-width:0;padding:16px;border-radius:14px;overflow:hidden}
.finish-toggle{grid-area:toggle;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:12px;min-width:0;cursor:pointer}
.finish-toggle>input{width:20px;height:20px;margin:0;align-self:center}
.finish-toggle span{min-width:0}.finish-toggle strong{display:block;font-size:15px;line-height:1.25;overflow-wrap:anywhere}.finish-toggle small{display:block;margin-top:3px;color:var(--muted);font-size:12px}
.finish-price-field{grid-area:price;display:grid;gap:6px;min-width:0;font-size:12px;font-weight:800;color:#516172}
.finish-price-field input{width:100%;min-width:0;min-height:44px;margin:0}
.finish-calculation{grid-area:calculation;display:flex;align-items:center;justify-content:flex-end;gap:14px;min-width:0;padding:10px 12px;border-radius:10px;background:#f4f7fa;text-align:right;white-space:normal;font-size:12px}
.finish-calculation>span{color:#637283;overflow-wrap:anywhere}.finish-calculation .finish-line-total{display:block;min-width:92px;margin:0;font-size:17px;white-space:nowrap}
.finish-option[hidden]{display:none}

.item-primary-file-section{margin:20px 0;border:1px solid #dbe4ec;border-radius:16px;overflow:hidden;background:#fff}
.item-primary-file-section .department-banner.files{border-radius:0;margin:0;padding:15px 18px;display:flex;align-items:center;justify-content:space-between}
.item-primary-file-section .department-banner.files span{display:block;margin-top:3px;font-weight:500;opacity:.75}
.item-primary-file-section .dropbox-file-row{margin:0;border:0;border-top:1px solid #e4eaf0;border-radius:0;padding:18px;grid-template-columns:90px minmax(220px,1fr) minmax(190px,260px) auto;gap:18px}
.file-metadata-line{margin-top:7px;color:#64748b;font-size:12px}
.dimensions-status{padding:12px 18px;border-top:1px solid #e4eaf0;background:#f7fafc;color:#526476;font-size:12px;line-height:1.45}

.job-support-section{margin-top:22px;padding:18px;border:1px solid #dce4eb;border-radius:16px;background:#f8fafb}
.job-support-section .section-head{margin:0 0 14px;padding:0 0 14px;border-bottom:1px solid #e1e7ed}
.job-support-files{display:grid;gap:12px}
.job-support-file{display:grid;grid-template-columns:86px minmax(220px,1.4fr) minmax(170px,.8fr) minmax(220px,1fr) 38px;gap:14px;align-items:center;padding:14px;border:1px solid #dce4eb;border-radius:13px;background:#fff;min-width:0}
.support-file-thumb{position:relative;width:86px;height:64px;border-radius:9px;overflow:hidden;background:#edf2f6;display:grid;place-items:center;color:#687789;font-weight:900}
.support-file-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff;z-index:2}.support-file-thumb span{z-index:1}
.support-file-copy{min-width:0}.support-file-copy strong,.support-file-copy small,.support-file-copy em{display:block;overflow-wrap:anywhere}.support-file-copy small{margin-top:4px;color:#64748b}.support-file-copy em{margin-top:5px;color:#83909c;font-size:11px;font-style:normal}
.support-item-assignment select{min-height:76px;padding:7px}.support-item-assignment small{display:block;margin-top:5px;color:#768492;font-size:11px}

.dropbox-batch-callout{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:16px;align-items:center;margin:0 0 18px;padding:18px;border:1px solid #bed6ff;border-radius:16px;background:linear-gradient(135deg,#f4f8ff,#fff);box-shadow:0 8px 24px rgba(20,99,255,.07)}
.batch-callout-icon{width:58px;height:58px;border-radius:15px;display:grid;place-items:center;background:#1463ff;color:#fff;font-weight:1000;letter-spacing:.05em}
.dropbox-batch-callout strong{display:block;font-size:17px}.dropbox-batch-callout p{margin:5px 0 0;color:#5f7080;line-height:1.45}

.dropbox-modal-card{width:min(1240px,calc(100vw - 44px));max-height:calc(100vh - 44px);display:flex;flex-direction:column}
.dropbox-modal-card>header{flex:0 0 auto;padding:22px 24px}
.dbx-searchbar,.dbx-bulk-tools,.dbx-toolbar{flex:0 0 auto}
.dbx-list{flex:1 1 auto;overflow:auto;padding:14px;display:grid;gap:10px;align-content:start;background:#f5f7f9}
.dbx-entry{display:grid;grid-template-columns:96px minmax(220px,1fr) auto;gap:14px;align-items:center;padding:12px;border:1px solid #dce4eb;border-radius:13px;background:#fff;min-width:0}
.dbx-entry:has(.dbx-check){grid-template-columns:34px 96px minmax(220px,1fr) minmax(320px,.95fr) auto}
.dbx-entry-copy{min-width:0}.dbx-entry-copy strong,.dbx-entry-copy small,.dbx-entry-copy em{display:block;overflow-wrap:anywhere}.dbx-entry-copy small{margin-top:4px;color:#657586}.dbx-entry-copy em{margin-top:4px;color:#8894a0;font-size:11px;font-style:normal}
.dbx-check{display:grid;place-items:center;padding:0;border:0;background:transparent;min-height:0}.dbx-check input{width:20px;height:20px;margin:0}
.dbx-bulk-tools{display:grid;grid-template-columns:minmax(180px,240px) minmax(220px,1fr) minmax(150px,190px) auto;align-items:end;padding:14px 18px;margin:0;border:0;border-bottom:1px solid #dce4eb;border-radius:0;background:#fff8f3}
#dbx-support-tools{grid-template-columns:minmax(250px,1fr) auto;align-items:center;background:#f4f8ff}
#dbx-support-tools>div:first-child small{display:block;margin-top:4px;color:#64748b}
.dbx-material-group-title{padding:11px 14px;border-radius:10px;background:#eaf1fb;border:1px solid #d4e2f4}.dbx-material-group-title strong,.dbx-material-group-title small{display:block}.dbx-material-group-title small{margin-top:2px;color:#607286}

@media(max-width:1250px){
  .finish-options{grid-template-columns:1fr}
  .job-support-file{grid-template-columns:74px minmax(0,1fr) minmax(170px,220px) 38px}.support-item-assignment{grid-column:2/4}
  .dbx-entry:has(.dbx-check){grid-template-columns:34px 84px minmax(180px,1fr)}.dbx-entry:has(.dbx-check) .dbx-bulk-meta,.dbx-entry:has(.dbx-check) .dbx-entry-action{grid-column:3}
  .dbx-bulk-tools{grid-template-columns:repeat(3,minmax(160px,1fr))}.dbx-bulk-tools .inline-actions{grid-column:1/-1;justify-content:flex-end}
}
@media(max-width:800px){
  .quick-client-form>.grid-2{grid-template-columns:1fr}.quick-client-form .span-2{grid-column:auto}.quick-client-modal-card{padding:22px}.quick-client-modal-card .app-modal-actions{margin:0 -22px -22px;bottom:-22px;padding:14px 22px}
  .finish-option{grid-template-columns:1fr;grid-template-areas:"toggle" "price" "calculation"}.finish-calculation{justify-content:space-between;text-align:left}
  .item-primary-file-section .dropbox-file-row{grid-template-columns:72px minmax(0,1fr)}.item-primary-file-section .file-role-select,.item-primary-file-section .dropbox-file-row>.btn{grid-column:1/-1}
  .dropbox-batch-callout{grid-template-columns:48px 1fr}.dropbox-batch-callout .btn{grid-column:1/-1;width:100%}.batch-callout-icon{width:48px;height:48px}
  .job-support-file{grid-template-columns:64px minmax(0,1fr) 34px}.job-support-file>label{grid-column:1/-1}.support-item-assignment{grid-column:1/-1}
  .dbx-entry,.dbx-entry:has(.dbx-check){grid-template-columns:32px 70px minmax(0,1fr)}.dbx-entry:not(:has(.dbx-check)){grid-template-columns:70px minmax(0,1fr)}.dbx-entry .dbx-entry-action,.dbx-entry .dbx-bulk-meta{grid-column:2/-1;width:100%}.dbx-bulk-tools,#dbx-support-tools{grid-template-columns:1fr}.dbx-bulk-tools .inline-actions{grid-column:auto;display:grid;grid-template-columns:1fr}
}
.finish-toggle{padding:0;border:0;background:transparent;min-height:0;border-radius:0}
.sheet-file strong em{display:inline-block;margin-left:7px;padding:2px 6px;border-radius:999px;background:#eef3f8;color:#526476;font-size:8px;font-style:normal;letter-spacing:.04em}

.primary-file-actions{display:grid;gap:8px;align-content:center}.primary-file-actions .btn{width:100%;white-space:normal}
@media(max-width:800px){.primary-file-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.primary-file-actions{grid-template-columns:1fr}}

/* Build 6.4 — clearer measurements, simpler prices and safer Dropbox selection */
.item-measurements-block{margin:18px 0;padding:16px 18px 18px;border:1px solid #d9e3ec;border-radius:15px;background:linear-gradient(180deg,#f7faff,#fff);box-shadow:0 8px 22px rgba(19,45,76,.045)}
.item-measurements-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #e2e9ef}
.item-measurements-heading strong{display:block;font-size:16px;color:#172332}.item-measurements-heading small{display:block;margin-top:4px;color:#657586;line-height:1.4}
.measurement-source-note{flex:0 0 auto;padding:6px 10px;border-radius:999px;background:#e8f0ff;color:#174fbd;font-size:11px;font-weight:800;letter-spacing:.05em}
.item-measurements-row{display:grid;grid-template-columns:repeat(3,minmax(125px,1fr)) repeat(2,minmax(150px,.9fr));gap:12px;align-items:stretch}
.item-measurements-row>label{display:grid;grid-template-columns:1fr auto;align-content:start;gap:7px;min-width:0;margin:0;padding:12px;border:1px solid #dfe7ee;border-radius:12px;background:#fff;font-size:12px;font-weight:800;color:#334155}
.item-measurements-row>label>span{font-size:10px;color:#7a8795;text-transform:uppercase;letter-spacing:.06em}
.item-measurements-row>label>input{grid-column:1/-1;width:100%;min-width:0;margin:0;font-size:17px;font-weight:750;text-align:left}
.measurement-result{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:12px 14px;border:1px solid #c9daf8;border-radius:12px;background:#eef5ff}
.measurement-result span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#55708f}.measurement-result strong{margin-top:6px;font-size:21px;line-height:1.1;color:#142c4c;white-space:nowrap}
.simple-number{font-variant-numeric:tabular-nums}

/* A compact modal prevents unused white space and makes the two-column form obvious. */
.quick-client-modal-card{display:block;width:min(780px,calc(100vw - 36px));max-width:780px;padding:30px}
.quick-client-modal-card .app-modal-copy{width:100%;margin:0 0 22px;padding:0}
.quick-client-form{display:block;width:100%}.quick-client-form>.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;width:100%}
.quick-client-form label{display:block;width:100%;min-width:0;margin:0}.quick-client-form input,.quick-client-form select,.quick-client-form textarea{width:100%;min-width:0}
.quick-client-modal-card .app-modal-actions{display:flex;width:auto;margin:24px -30px -30px;padding:18px 30px;position:sticky;bottom:-30px;justify-content:flex-end;background:#fff}
.quick-client-modal-card .app-modal-actions .btn{min-width:150px;white-space:normal}

/* Finish cards: name and price on top, calculation on a full-width row. */
.finish-options{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:14px;padding:16px}
.finish-option{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,150px);grid-template-areas:"toggle price" "calculation calculation";gap:12px 16px;align-items:end;min-width:0;padding:15px;overflow:hidden}
.finish-option>*{min-width:0}.finish-toggle{grid-area:toggle;align-self:center}.finish-price-field{grid-area:price;display:block;min-width:0}.finish-price-field input{width:100%;min-width:0;margin-top:5px}
.finish-calculation{grid-area:calculation;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding-top:10px;border-top:1px solid #e5ebf0;text-align:left;min-width:0;overflow:hidden}
.finish-calculation span{min-width:0;overflow-wrap:anywhere;color:#607083}.finish-line-total{margin:0;white-space:nowrap;font-size:16px}

/* Dropbox dimensions are visible before selection. */
.dbx-file-dimensions{display:grid;grid-template-columns:auto 1fr;column-gap:8px;row-gap:2px;align-items:center;margin-top:8px;padding:8px 10px;border-radius:9px;border:1px solid #d7e2ec;background:#f7fafc;color:#41566c;min-width:0}
.dbx-file-dimensions strong{font-size:13px;line-height:1.25;overflow-wrap:anywhere}.dbx-file-dimensions span{font-size:12px;color:#607286;overflow-wrap:anywhere}.dbx-file-dimensions small{grid-column:1/-1;margin:1px 0 0;font-size:10px;color:#8290a0}
.dbx-file-dimensions.ok{border-color:#b9e2cc;background:#f0fbf5}.dbx-file-dimensions.ok strong{color:#146b3d}.dbx-file-dimensions.warning{border-color:#f1d5a7;background:#fff9ed}.dbx-file-dimensions.warning strong{color:#8a5611}.dbx-file-dimensions.loading{border-color:#cdd8e5;background:#f5f8fb;color:#66788b}
.dbx-entry-action:disabled,.dbx-check input:disabled{cursor:wait;opacity:.55}.dbx-entry:has(.dbx-entry-action:disabled){background:#f8fafb}
.dbx-entry-copy{display:block}.dbx-entry-copy>em{margin-top:7px}

@media(max-width:1100px){.item-measurements-row{grid-template-columns:repeat(3,minmax(125px,1fr))}.measurement-result{min-height:78px}.finish-options{grid-template-columns:1fr}}
@media(max-width:760px){.item-measurements-heading{align-items:flex-start;flex-direction:column}.item-measurements-row{grid-template-columns:repeat(2,minmax(0,1fr))}.measurement-result:last-child{grid-column:1/-1}.quick-client-modal-card{width:calc(100vw - 24px);padding:22px}.quick-client-form>.grid-2{grid-template-columns:1fr}.quick-client-form .span-2{grid-column:auto}.quick-client-modal-card .app-modal-actions{margin:22px -22px -22px;bottom:-22px;padding:14px 22px}.finish-options{padding:10px}.finish-option{grid-template-columns:1fr;grid-template-areas:"toggle" "price" "calculation"}.finish-calculation{grid-template-columns:1fr auto}}
@media(max-width:480px){.item-measurements-row{grid-template-columns:1fr}.measurement-result:last-child{grid-column:auto}.quick-client-modal-card .app-modal-actions{display:grid;grid-template-columns:1fr 1fr}.quick-client-modal-card .app-modal-actions .btn{min-width:0;width:100%}}

/* ======================================================================
   BUILD 7 — INTAKE, ACCESS, DOCUMENT AND KANBAN REFINEMENT
   ====================================================================== */
:root{
  --ui-space-1:6px;--ui-space-2:10px;--ui-space-3:14px;--ui-space-4:18px;
  --ui-space-5:24px;--ui-space-6:32px;--ui-space-7:40px;
}
.job-identity-panel{padding:clamp(22px,2.2vw,34px)}
.client-selection-block{display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#fff,#f8fafc)}
.client-select-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.client-select-row label{margin:0;font-size:14px;font-weight:800}
.client-select-row select{min-height:64px;font-size:18px;font-weight:800;padding-inline:18px;border-width:2px}
.client-select-row .btn{width:48px;min-width:48px;height:48px;padding:0;border-radius:14px;font-size:0}
.client-select-row .btn::before{content:'+';font-size:25px;line-height:1}
.client-finance-preview{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.client-finance-preview>div{min-width:0;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:#fff}
.client-finance-preview small{display:block;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.055em}
.client-finance-preview strong{display:block;margin-top:5px;font-size:14px;overflow-wrap:anywhere}
.client-finance-preview .client-credit-status{display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;font-weight:900}

.optional-job-assets{padding:0;overflow:hidden}
.optional-job-assets>summary{list-style:none;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:22px 26px;cursor:pointer}
.optional-job-assets>summary::-webkit-details-marker{display:none}
.optional-job-assets>summary:after{content:'+';display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eef2f6;font-size:22px;font-weight:800}
.optional-job-assets[open]>summary:after{content:'−'}
.optional-job-assets .summary-count{white-space:nowrap;padding:7px 10px;border-radius:999px;background:#f1f5f9;font-size:12px;font-weight:800}
.optional-job-assets .details-panel-body{border-top:1px solid var(--line);padding:26px}

.item-create-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0 22px}
.item-create-card{appearance:none;text-align:left;display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto auto;column-gap:15px;row-gap:4px;align-items:center;min-height:112px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);cursor:pointer;transition:.18s ease}
.item-create-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 14px 34px rgba(15,23,42,.09)}
.item-create-card .choice-icon{grid-row:1/3;display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:#fff1e9;color:var(--accent);font-weight:900}
.item-create-card strong{font-size:17px}.item-create-card small{color:var(--muted);line-height:1.45}
.item-create-card.dropbox-choice .choice-icon{background:#e8f0ff;color:#1f65d8;font-size:12px}

.item-card{padding:0;overflow:hidden;border:1px solid #dce3eb;border-radius:20px;background:#fff;margin-bottom:16px}
.item-card>summary{list-style:none;cursor:pointer}.item-card>summary::-webkit-details-marker{display:none}
.item-card-summary{display:grid;grid-template-columns:42px 62px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px;background:#fff}
.item-card-summary:after{content:'+';display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eef2f6;font-size:21px;font-weight:800}
.item-card[open]>.item-card-summary:after{content:'−'}
.item-summary-thumb{width:62px;height:52px;border-radius:11px;overflow:hidden;background:#eef2f6;display:grid;place-items:center}
.item-summary-thumb img{width:100%;height:100%;object-fit:cover}.item-summary-thumb b{font-size:11px;color:#667085}
.item-summary-copy{min-width:0}.item-summary-copy strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:16px}.item-summary-copy small{display:block;margin-top:5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item-card-body{border-top:1px solid var(--line);padding:24px;display:grid;gap:22px}
.item-card-toolbar{margin:0}
.item-core-fields{grid-template-columns:1.15fr 2fr .7fr .75fr}
.item-measurements-block,.item-primary-file-section,.item-commercial-block{border:1px solid var(--line);border-radius:17px;background:#fff;overflow:hidden}
.item-measurements-heading,.section-head.compact{padding:16px 18px;background:#f7f9fb;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;align-items:center}
.item-measurements-heading strong{display:block;font-size:16px}.item-measurements-heading small{display:block;margin-top:4px;color:var(--muted)}
.item-measurements-row{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr)) repeat(2,minmax(145px,.9fr));gap:12px;padding:18px}
.item-measurements-row label{margin:0}.item-measurements-row label>span{float:right;color:var(--muted);font-size:11px}
.measurement-result{display:flex;flex-direction:column;justify-content:center;min-height:72px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.measurement-result span{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase}.measurement-result strong{margin-top:6px;font-size:17px}
[data-sign-only][hidden]{display:none}

.item-primary-file-section{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(230px,300px);gap:20px;align-items:center;padding:20px}
.primary-file-visual{height:126px;border-radius:14px;overflow:hidden;background:#eef2f6;display:grid;place-items:center;text-align:center;color:#667085}
.primary-file-visual img{width:100%;height:100%;object-fit:contain;background:#fff}.primary-file-visual span{display:grid;gap:6px}.primary-file-visual b{font-size:18px}
.primary-file-copy{min-width:0}.primary-file-copy h3{margin:4px 0 6px;font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.primary-file-copy p{margin:0;color:var(--muted);overflow-wrap:anywhere}.file-metadata-line{display:flex;gap:12px;margin-top:8px;font-size:12px;font-weight:800}.dimensions-status{margin-top:8px;padding:8px 10px;border-radius:9px;background:#f6f8fa;color:#596579;font-size:12px}
.primary-file-controls{display:grid;gap:9px;align-content:center}.primary-file-controls label{margin:0}.primary-file-controls .btn{width:100%;justify-content:center}.local-thumb-button{position:relative;overflow:hidden}.local-thumb-button input{position:absolute;inset:0;opacity:0;cursor:pointer}
.item-primary-file-section.no-primary{border-style:dashed;background:#fbfcfd}.item-primary-file-section.no-primary .primary-file-copy h3{color:#7b8798}

.item-commercial-block>.section-head{margin:0}.item-commercial-block>.field-grid{padding:18px 18px 4px}
.finish-selector{margin:14px 18px 18px;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff}
.finish-selector-head{padding:14px 16px}.finish-filterbar{position:sticky;top:0;z-index:3;display:flex;gap:9px;padding:10px 12px;border-block:1px solid var(--line);background:#f7f9fb}.finish-filterbar input{min-width:0;flex:1}
.finish-options-scroll{max-height:430px;overflow:auto;padding:12px;overscroll-behavior:contain;scrollbar-gutter:stable}
.finish-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.finish-option{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 142px;grid-template-areas:'toggle price' 'calc calc';gap:10px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff}
.finish-toggle{grid-area:toggle;display:grid;grid-template-columns:auto 46px minmax(0,1fr);gap:10px;align-items:center;margin:0;min-width:0}
.finish-toggle>input{width:20px;height:20px;margin:0}.finish-image{width:46px;height:40px;border-radius:9px;overflow:hidden;background:#edf1f5;display:grid;place-items:center}.finish-image img{width:100%;height:100%;object-fit:cover}.finish-image b{font-size:14px;color:#667085}
.finish-name{min-width:0}.finish-name strong{display:block;font-size:13px;overflow-wrap:anywhere}.finish-name small{display:block;margin-top:3px;color:var(--muted);font-size:11px}
.finish-price-field{grid-area:price;margin:0}.finish-price-field input{min-width:0;width:100%}.finish-calculation{grid-area:calc;display:flex;justify-content:space-between;align-items:center;padding-top:9px;border-top:1px solid #edf1f4;font-size:12px;color:var(--muted)}.finish-calculation strong{font-size:15px;color:var(--ink)}
.finish-option.search-hidden,.finish-selector.show-selected-only .finish-option:not(:has(.finish-check:checked)){display:none}
.item-price-summary{margin:0 18px 18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;border-radius:14px;background:#243244;color:#fff}.item-price-summary span,.item-price-summary strong{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;margin:0}.item-price-summary b{font-size:17px}

.delivery-charge-switch{align-items:center}.delivery-cost-grid{transition:.18s ease}.delivery-calculator:not(.is-charged) .delivery-cost-grid{display:none}.delivery-calculator:not(.is-charged) .delivery-formula{display:none}

.quick-client-modal-card{width:min(920px,calc(100vw - 40px));max-height:min(90vh,820px);overflow:auto;padding:0}
.quick-client-modal-card>.app-modal-copy{padding:28px 30px 12px}.quick-client-form{padding:8px 30px 0}.quick-client-form .grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.quick-client-form label{margin:0}.quick-client-form textarea{min-height:110px}.quick-client-modal-card .app-modal-actions{position:sticky;bottom:0;margin:22px -30px 0;padding:16px 30px;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}

/* Users and branding refinements */
.user-card{overflow:hidden}.user-card .user-card-head{padding:22px 24px}.user-card form{display:grid;gap:14px}.user-card .permission-group{border:1px solid var(--line);border-radius:13px;overflow:hidden}.user-card .permission-group summary{padding:14px 16px;background:#f7f9fb}.user-card .permission-grid{padding:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.user-card .permission-grid label{margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;display:flex;gap:8px;align-items:center}.user-card .permission-grid input{width:18px;height:18px;margin:0}.user-card-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:16px 20px;border-top:1px solid var(--line);background:#fafbfc}.user-card-actions input{width:230px}
.savebar{width:100vw;max-width:none;margin-left:calc(50% - 50vw);padding:14px max(24px,calc((100vw - 1440px)/2 + 24px));justify-content:flex-end;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}

/* Job grouped Kanban */
.kanban-job-group{border:1px solid #dbe2ea;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 7px 18px rgba(15,23,42,.06);margin-bottom:12px}.kanban-job-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:13px 14px;background:#f7f9fb;border-bottom:1px solid var(--line)}.kanban-job-head strong{font-size:15px}.kanban-job-head small{display:block;margin-top:3px;color:var(--muted)}.kanban-job-items{display:grid;gap:8px;padding:9px}.kanban-job-group .kanban-card{margin:0;box-shadow:none;border-radius:12px;border:1px solid var(--line)}

@media(max-width:1050px){.client-finance-preview{grid-template-columns:repeat(3,minmax(0,1fr))}.item-core-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.item-measurements-row{grid-template-columns:repeat(3,minmax(0,1fr))}.item-primary-file-section{grid-template-columns:125px minmax(0,1fr)}.primary-file-controls{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.finish-options{grid-template-columns:1fr}.user-card .permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.client-select-row{grid-template-columns:minmax(0,1fr) auto}.client-finance-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.item-create-choices{grid-template-columns:1fr}.item-card-summary{grid-template-columns:36px 50px minmax(0,1fr) auto;padding:13px}.item-core-fields,.item-measurements-row{grid-template-columns:1fr 1fr}.measurement-result{min-height:64px}.item-primary-file-section{grid-template-columns:1fr}.primary-file-visual{height:190px}.primary-file-controls{grid-template-columns:1fr}.finish-option{grid-template-columns:1fr;grid-template-areas:'toggle' 'price' 'calc'}.item-price-summary{grid-template-columns:1fr}.quick-client-form .grid-2{grid-template-columns:1fr}.quick-client-form .span-2{grid-column:auto}.user-card .permission-grid{grid-template-columns:1fr}.savebar{padding:12px 14px}.client-select-row .btn{height:44px;width:44px;min-width:44px}}

/* Build 7 document layouts */
.sheet-meta-wide{grid-template-columns:repeat(3,minmax(0,1fr))}.worker-alert-strip,.fulfilment-check-strip,.packing-check-strip{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:7px 0;padding:7px;border:1px solid #aeb9c4;background:#f7f9fb}.worker-alert-strip span,.worker-alert-strip strong,.fulfilment-check-strip span,.packing-check-strip span{padding:5px 7px;border-radius:4px;font-size:9px;font-weight:900}.worker-alert-strip strong{margin-left:auto;background:#172332;color:#fff}
.production-item-block,.approval-item{margin-top:7px;border:1px solid #aeb9c4;border-left:4px solid #2563eb;break-inside:avoid;background:#fff}.production-item-block.type-sign{border-left-color:#f97316}.production-item-block.type-mixed{border-left-color:#7c3aed}.production-item-block>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 8px;background:#eef3f7}.production-item-block>header h2{margin:0;font-size:15px}.production-item-block>header b{font-size:8px}.production-item-no{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#172332;color:#fff;font-weight:950}.production-quantity{text-align:right}.production-item-grid{display:grid;grid-template-columns:49mm minmax(0,1fr);gap:6px;padding:6px}.production-visual{height:47mm;border:1px solid #d7dee6;display:grid;place-items:center;overflow:hidden}.production-visual img{width:100%;height:100%;object-fit:contain}.production-main{display:grid;gap:5px}.production-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.production-metrics>div,.approval-spec-grid>div{padding:5px;background:#f3f6f8}.production-metrics small,.approval-spec-grid small,.production-finishes small,.production-file small,.production-notes-grid small{display:block;color:#667085;font-size:8px;font-weight:900;letter-spacing:.7px}.production-finishes{padding:5px;border:1px solid #d7dee6}.production-finishes div{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.production-finishes span{padding:3px 5px;background:#edf2f6;border-radius:3px;font-size:9px}.production-finishes em{font-weight:400;color:#667085}.production-file{display:grid;grid-template-columns:23mm minmax(0,1fr);gap:6px;padding:5px;background:#172332;color:#fff}.production-file-thumb{height:18mm;background:#fff;overflow:hidden}.production-file-thumb img{width:100%;height:100%;object-fit:contain}.production-file strong,.production-file span,.production-file em{display:block;overflow-wrap:anywhere}.production-file span{font-size:8px;color:#d9e3ed}.production-file em{font-size:8px;color:#aab8c7}.production-specs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:0 6px 6px}.production-specs>div{padding:5px;background:#f5f7f9}.production-specs small{display:block;font-size:7px;color:#667085}.production-notes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:0 6px 6px}.production-notes-grid>div{min-height:20mm;padding:5px;border:1px solid #d7dee6}.worker-signoff{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:6px;border-top:1px solid #d7dee6;font-size:8px}.support-files-sheet,.sheet-general-notes{margin-top:7px;border:1px solid #aeb9c4;padding:6px}.support-files-sheet h2,.sheet-general-notes h3{font-size:10px;margin:0 0 5px}.support-files-sheet>div{display:grid;grid-template-columns:1fr 2fr 1fr;gap:5px;padding:4px;border-top:1px solid #e2e7ec;font-size:8px}.sheet-general-notes{display:grid;grid-template-columns:1fr 1fr;gap:6px}

.approval-notice{padding:7px;border:2px solid #172332;background:#f7f9fb}.approval-notice p{margin:4px 0}.approval-item{display:grid;grid-template-columns:58mm minmax(0,1fr);gap:7px;padding:7px;border-left-color:#f97316}.approval-item-visual{height:55mm;display:grid;place-items:center;border:1px solid #d7dee6;overflow:hidden}.approval-item-visual img{width:100%;height:100%;object-fit:contain}.approval-item-copy{display:grid;gap:5px}.approval-spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.approval-finishes,.approval-file{padding:6px;border:1px solid #d7dee6}.approval-finishes small,.approval-file small{display:block;font-size:8px;color:#667085;font-weight:900}.approval-file strong,.approval-file span,.approval-file em{display:block;overflow-wrap:anywhere}.approval-file span,.approval-file em{font-size:8px;color:#667085}.approval-declaration{margin-top:8px;padding:8px;border:2px solid #172332}.approval-declaration h3{margin:0 0 6px}.decision-options{display:flex;gap:18px;font-weight:900;margin-bottom:7px}.signature-writing-space{height:21mm;border:1px solid #aeb9c4;margin-top:4px}.signature-grid.four{grid-template-columns:repeat(4,1fr)}.approval-legal{font-size:8px;color:#566273}

.fulfilment-item-cards,.packing-item-cards{display:grid;gap:5px;margin-top:7px}.fulfilment-item-card,.packing-sheet-item{display:grid;grid-template-columns:34mm minmax(0,1fr) 43mm;gap:6px;border:1px solid #aeb9c4;padding:5px;break-inside:avoid}.fulfilment-item-visual,.packing-sheet-visual{height:31mm;display:grid;place-items:center;background:#f2f5f7;overflow:hidden}.fulfilment-item-visual img,.packing-sheet-visual img{width:100%;height:100%;object-fit:contain}.fulfilment-item-copy>div:first-child,.packing-sheet-copy>div:first-child{display:flex;justify-content:space-between;gap:6px}.fulfilment-item-copy b,.packing-sheet-copy b{font-size:8px;padding:3px;background:#eef2f6}.fulfilment-item-copy p,.packing-sheet-copy p{margin:3px 0}.fulfilment-item-copy dl,.packing-sheet-copy dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;margin:4px 0}.fulfilment-item-copy dl div,.packing-sheet-copy dl div{padding:4px;background:#f4f6f8}.fulfilment-item-copy dt,.packing-sheet-copy dt{font-size:7px;color:#667085}.fulfilment-item-copy dd,.packing-sheet-copy dd{margin:1px 0 0;font-weight:900}.fulfilment-condition,.packing-sheet-requirements{border-left:1px solid #d7dee6;padding-left:6px}.fulfilment-condition small,.packing-sheet-requirements small{font-size:7px;color:#667085;font-weight:900}.fulfilment-notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:6px}.fulfilment-notes-grid>div{padding:6px;border:1px solid #aeb9c4;min-height:24mm}.proof-requirements.detailed{display:flex;gap:5px;margin-top:6px}.proof-requirements.detailed span{padding:5px 8px;font-size:8px;font-weight:900}.customer-ack.detailed h3{margin:0 0 4px}.packing-sheet-requirements{display:grid;gap:4px}.packing-sheet-requirements>div{padding-bottom:4px 110px minmax(180px,1fr);gap:10px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:12px}.signature-item-list .item-thumb{height:68px}.signature-item-list label{margin:0}.signature-item-list small{display:block;color:var(--muted)}
.finish-admin-preview{display:flex;gap:10px;align-items:center}.finish-admin-preview img{width:86px;height:60px;object-fit:cover;border-radius:9px;border:1px solid var(--line)}
@media(max-width:800px){.signature-item-list article{grid-template-columns:70px 1fr 1fr}.signature-item-list .condition-field{grid-column:1/-1}}
@media print{.detailed-job-sheet,.approval-a4,.detailed-fulfilment-sheet,.detailed-packing-sheet{-webkit-print-color-adjust:exact;print-color-adjust:exact}.production-item-block>header,.worker-alert-strip,.packing-check-strip,.fulfilment-check-strip{break-inside:avoid}}

/* Build 7 exact Users / Branding selectors */
.users-grid{display:grid;gap:18px}.user-permission-card{padding:0;overflow:hidden}.user-permission-card>form{gap:0}.user-permission-card .user-card-head{padding:22px 24px;background:linear-gradient(135deg,#fff,#f7f9fb);border-bottom:1px solid var(--line)}.user-permission-card .grid-4{padding:20px 24px}.user-permission-card .permission-accordion{border-top:1px solid var(--line)}.user-permission-card .permission-accordion>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:15px 24px;background:#f6f8fa;font-size:15px;font-weight:900;cursor:pointer}.user-permission-card .permission-accordion>summary::-webkit-details-marker{display:none}.user-permission-card .permission-accordion>summary:before{content:'›';margin-right:8px}.user-permission-card .permission-accordion[open]>summary:before{transform:rotate(90deg)}.user-permission-card .permission-accordion>.permission-grid,.user-permission-card .permission-groups-grid{padding:14px 20px}.user-permission-card .permission-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.user-permission-card .permission-option{min-height:44px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:#fff;display:flex;align-items:center;gap:8px;margin:0}.user-permission-card .permission-option input{width:19px;height:19px;margin:0}.user-permission-card .user-card-actions{padding:16px 20px;background:#fafbfc;border-top:1px solid var(--line);display:flex;justify-content:flex-end;align-items:center;gap:10px}.user-permission-card .password-reset{display:flex;gap:8px;align-items:center}.user-permission-card .password-reset input{width:220px}.create-user-panel{padding:0}.create-user-panel .details-summary{padding:18px 24px}.create-user-panel details[open] .details-summary{border-bottom:1px solid var(--line)}
.sticky-save{position:sticky;bottom:0;z-index:20;width:100vw;margin-left:calc(50% - 50vw);display:flex;justify-content:flex-end;gap:10px;padding:14px max(24px,calc((100vw - 1320px)/2 + 30px));background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line);box-shadow:0 -10px 24px rgba(15,23,42,.07)}.sticky-save .btn.primary{background:var(--accent);border-color:var(--accent)}
@media(max-width:1050px){.user-permission-card .permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.user-permission-card .grid-4,.user-permission-card .permission-grid{grid-template-columns:1fr}.user-permission-card .user-card-actions{align-items:stretch;flex-direction:column}.user-permission-card .password-reset{width:100%;flex-direction:column}.user-permission-card .password-reset input,.user-permission-card .password-reset button{width:100%}.sticky-save{padding:12px 14px;flex-wrap:wrap}.sticky-save .btn{flex:1}}


/* ======================================================================
   BUILD 7.1 — JOB INTAKE VISUAL CORRECTIONS
   Isolated selectors intentionally override older component experiments.
   ====================================================================== */
.form-main{display:grid;gap:26px}
.form-main>.panel,.form-main>details.panel{margin-bottom:0}
.job-identity-panel{padding:26px 28px}
.job-identity-panel .panel-heading{margin-bottom:18px}
.client-selection-block{gap:12px;padding:15px 16px;border-radius:16px}
.client-select-row{grid-template-columns:minmax(0,1fr) 40px;gap:10px;align-items:end}
.client-select-row label{font-size:13px}
.client-select-row select{min-height:52px;height:52px;font-size:16px;font-weight:800;padding:0 44px 0 15px;border-width:1px;border-radius:13px}
.client-select-row .quick-client-add{display:grid;width:40px;min-width:40px;height:40px;place-items:center;padding:0;border-radius:11px;font-size:22px;line-height:1;align-self:end;margin-bottom:6px}
.client-select-row .quick-client-add::before{content:none}
.client-select-row .quick-client-add span{display:block;transform:translateY(-1px)}

.optional-job-assets{border-radius:17px}
.optional-job-assets>summary{grid-template-columns:34px minmax(0,1fr) auto 34px;gap:14px;padding:18px 22px;min-height:76px}
.optional-job-assets>summary .step{width:34px;min-width:34px;height:34px}
.optional-job-assets .optional-summary-copy h2{margin:0;font-size:19px;line-height:1.25}
.optional-job-assets>summary:after{content:'›';grid-column:4;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eef2f6;font-size:25px;font-weight:800;transition:transform .18s ease}
.optional-job-assets[open]>summary:after{content:'›';transform:rotate(90deg)}
.optional-job-assets .summary-count{grid-column:3;margin:0;font-size:11px}
.optional-job-assets .details-panel-body{padding:24px}

.items-panel .panel-heading{margin-bottom:18px}
.item-create-choices{margin:0 0 18px}
.items-empty-prompt{display:flex;align-items:center;justify-content:center;min-height:58px;padding:14px 18px;border:1px dashed #cfd8e2;border-radius:13px;background:#fafbfd;color:#667085;font-size:13px;text-align:center}
.items-empty-prompt[hidden],.items-empty-prompt.hidden{display:none}

.item-card{border-radius:18px;box-shadow:0 6px 20px rgba(15,23,42,.045)}
.item-card-summary{grid-template-columns:38px 58px minmax(0,1fr) auto 34px;gap:13px;padding:15px 18px;min-height:84px}
.item-card-summary:after{content:'›';grid-column:5;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eef2f6;font-size:24px;font-weight:800;transition:transform .18s ease}
.item-card[open]>.item-card-summary:after{content:'›';transform:rotate(90deg)}
.item-summary-thumb{width:58px;height:52px}
.item-summary-copy strong{font-size:16px}
.item-summary-qty{padding:7px 10px;border-radius:10px;background:#f4f7fa;white-space:nowrap;font-size:12px}
.item-summary-action{display:none}
.item-card-body{padding:22px;gap:20px;background:#fff}
.item-card-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-2px 0 0;padding:0 0 16px;border-bottom:1px solid var(--line)}
.item-card-toolbar h3{margin:4px 0 0;font-size:21px}
.item-card-toolbar .remove-item{align-self:center}
.field-grid.cols-4.item-core-fields{display:grid;grid-template-columns:1.15fr 2.2fr .72fr .82fr;gap:14px}
.item-core-fields label{margin:0}
.item-measurements-block,.item-primary-file-section,.item-commercial-block{box-shadow:0 3px 12px rgba(15,23,42,.025)}
.item-measurements-heading,.section-head.compact{padding:14px 17px}
.item-measurements-row{padding:16px;gap:11px}

.finish-selector{margin:14px 18px 18px;border-radius:14px}
.finish-selector-head{padding:14px 16px;background:#f3f6f8}
.finish-filterbar{padding:10px 12px}
.finish-options-scroll{max-height:440px;overflow:auto;padding:12px}
.finish-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:0;align-items:stretch}
.finish-option.item-finish-card{display:grid;grid-template-columns:minmax(0,1fr) 138px;grid-template-areas:'toggle price' 'calc calc';gap:11px 14px;align-items:center;min-width:0;min-height:104px;padding:14px;border:1px solid #dce4eb;border-radius:13px;background:#fff;overflow:visible}
.finish-option.item-finish-card.selected{border-color:var(--accent);background:#fff8f4;box-shadow:0 0 0 2px rgba(255,111,46,.08)}
.item-finish-card .finish-toggle{grid-area:toggle;display:grid;grid-template-columns:20px 54px minmax(0,1fr);gap:11px;align-items:center;min-width:0;margin:0;padding:0;background:transparent;border:0}
.item-finish-card .finish-toggle>input{width:19px;height:19px;margin:0}
.item-finish-card .finish-image{width:54px;height:48px;border-radius:10px;overflow:hidden;display:grid;place-items:center;background:#edf1f5}
.item-finish-card .finish-image img{width:100%;height:100%;object-fit:cover}
.item-finish-card .finish-name{display:block;min-width:0}
.item-finish-card .finish-name strong{display:block;font-size:14px;line-height:1.25;color:var(--ink);overflow-wrap:anywhere}
.item-finish-card .finish-name small{display:block;margin-top:4px;font-size:11px;color:var(--muted)}
.item-finish-card .finish-price-field{grid-area:price;display:block;min-width:0;margin:0;font-size:11px;font-weight:800}
.item-finish-card .finish-price-field input{width:100%;min-width:0;height:42px;margin-top:5px;padding:0 10px}
.item-finish-card .finish-calculation{grid-area:calc;display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding-top:10px;border-top:1px solid #edf1f4;font-size:12px;color:var(--muted);text-align:left}
.item-finish-card .finish-calculation span{min-width:0;overflow-wrap:anywhere}
.item-finish-card .finish-line-total{white-space:nowrap;font-size:15px;color:var(--ink)}
.finish-option.item-finish-card.no-finance{grid-template-columns:1fr;grid-template-areas:'toggle';min-height:82px}

@media(max-width:1150px){
  .finish-options{grid-template-columns:1fr}
  .field-grid.cols-4.item-core-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .form-main{gap:18px}
  .job-identity-panel{padding:20px}
  .client-select-row{grid-template-columns:minmax(0,1fr) 38px}
  .client-select-row select{height:48px;min-height:48px;font-size:15px}
  .client-select-row .quick-client-add{width:38px;min-width:38px;height:38px;margin-bottom:5px}
  .optional-job-assets>summary{grid-template-columns:32px minmax(0,1fr) 32px;padding:16px}
  .optional-job-assets .summary-count{display:none}
  .optional-job-assets>summary:after{grid-column:3}
  .optional-job-assets .optional-summary-copy h2{font-size:17px}
  .item-card-summary{grid-template-columns:34px 50px minmax(0,1fr) 32px;padding:13px}
  .item-summary-qty{display:none}
  .item-card-summary:after{grid-column:4;width:32px;height:32px}
  .item-card-body{padding:16px}
  .field-grid.cols-4.item-core-fields{grid-template-columns:1fr}
  .finish-option.item-finish-card{grid-template-columns:1fr;grid-template-areas:'toggle' 'price' 'calc'}
}


/* Build 7.2 — automatic document status */
.job-documents-panel .panel-heading{align-items:center;gap:20px}.job-documents-panel .panel-heading p{margin:5px 0 0;color:var(--muted)}
.document-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.document-status-grid article{border:1px solid var(--border);border-radius:16px;padding:18px;display:grid;gap:6px;background:var(--surface-soft,#f7f9fb)}.document-status-grid article.ready{border-color:#bfe6ca;background:#f2fbf5}.document-status-grid article.missing{border-color:#f2c5b4;background:#fff8f4}.document-status-grid span{font-size:12px;font-weight:900;letter-spacing:.08em;color:var(--muted)}.document-status-grid strong{font-size:20px}.document-status-grid a{font-weight:800;color:var(--accent)}
@media(max-width:720px){.document-status-grid{grid-template-columns:1fr}.job-documents-panel .panel-heading{align-items:flex-start}}

/* ======================================================================
   BUILD 7.3 — DOCUMENT VERSIONING, ESTIMATE REDESIGN AND PORTAL DIAGNOSTICS
   ====================================================================== */
.document-hero{align-items:center}.document-meta-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.document-meta-chips span{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border-radius:999px;background:#eef2f6;color:#435166;font-size:11px;font-weight:900;letter-spacing:.03em}.document-meta-chips .danger-chip{background:#fff0ea;color:#bd3f18}.estimate-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.estimate-summary{position:static;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:20px}.estimate-summary>div{padding:15px;border-radius:14px;background:#f5f7f9;border:1px solid #e2e8ee}.estimate-summary small{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.estimate-summary strong{display:block;margin-top:6px;font-size:17px}.estimate-line-cards{display:grid;gap:12px}.estimate-line-card{display:grid;grid-template-columns:86px minmax(0,1fr) 250px;gap:16px;align-items:center;padding:15px;border:1px solid #dce4eb;border-radius:16px;background:#fff;box-shadow:0 4px 16px rgba(15,23,42,.035)}.estimate-line-thumb{width:86px;height:76px;border-radius:13px;overflow:hidden;background:#eef2f5;display:grid;place-items:center;font-size:20px;font-weight:900}.estimate-line-thumb img{width:100%;height:100%;object-fit:cover}.estimate-line-title{display:flex;gap:9px;align-items:flex-start}.estimate-line-title>span{display:grid;place-items:center;min-width:28px;height:28px;border-radius:9px;background:#fff0e8;color:#cf5120;font-size:12px;font-weight:900}.estimate-line-title strong{font-size:14px;line-height:1.45}.estimate-line-specs{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.estimate-line-specs span{padding:5px 9px;border-radius:8px;background:#f4f7f9;color:#5c6877;font-size:11px;font-weight:800}.estimate-line-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.estimate-line-numbers>div{padding:10px;border-radius:11px;background:#f7f9fb;text-align:right}.estimate-line-numbers small{display:block;color:var(--muted);font-size:10px;font-weight:800}.estimate-line-numbers strong{display:block;margin-top:4px;font-size:13px}.document-copy-block{margin-top:20px;padding:18px;border:1px solid #e0e6ec;border-radius:14px;background:#fafbfc}.estimate-side{display:grid;gap:16px}.approval-admin-grid .document-summary{position:static}.approval-admin-copy{padding-top:18px}.document-sync-card{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.document-sync-card .choice-card{margin:0}.payment-link-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,1fr);gap:24px;align-items:center}.payment-link-value{display:flex;gap:10px}.payment-link-value input{min-width:0}.public-payment-body{margin:0;min-height:100vh;display:grid;place-items:center;padding:24px;background:#eaf0f4;font-family:Arial,sans-serif}.public-payment-card{width:min(520px,100%);padding:30px;border-radius:24px;background:#fff;box-shadow:0 22px 70px rgba(17,30,44,.18)}.payment-brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}.payment-logo{width:52px;height:52px;object-fit:contain}.payment-brand div{display:grid}.payment-brand small{color:#6b7785}.payment-amount{display:flex;justify-content:space-between;align-items:end;margin:24px 0;padding:18px;border-radius:16px;background:#172332;color:#fff}.payment-amount small{font-weight:800}.payment-amount strong{font-size:28px}.payment-security{margin-top:18px;color:#667085;font-size:12px;line-height:1.5}.diagnostic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.diagnostic-card{display:grid;gap:6px;padding:16px;border:1px solid #dbe3ea;border-radius:14px;background:#f8fafb}.diagnostic-card.ok{border-color:#b8dfc4;background:#f3fbf5}.diagnostic-card.fail{border-color:#f3b6a2;background:#fff5f1}.diagnostic-card span{font-size:11px;font-weight:900}.diagnostic-card small{overflow-wrap:anywhere}.diagnostic-code,.log-output{margin-top:16px;padding:16px;border-radius:12px;background:#172332;color:#dce6ef;overflow:auto}.portal-document-actions{display:flex;align-items:center;gap:12px}.portal-document-actions strong{font-size:24px}
@media(max-width:1100px){.estimate-overview-grid{grid-template-columns:1fr}.estimate-side{grid-template-columns:repeat(2,minmax(0,1fr))}.estimate-line-card{grid-template-columns:74px minmax(0,1fr)}.estimate-line-numbers{grid-column:1/-1}.payment-link-panel{grid-template-columns:1fr}.diagnostic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.estimate-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.estimate-side{grid-template-columns:1fr}.estimate-line-card{grid-template-columns:58px minmax(0,1fr);padding:12px}.estimate-line-thumb{width:58px;height:58px}.estimate-line-numbers{grid-template-columns:1fr}.payment-link-value{flex-direction:column}.diagnostic-grid{grid-template-columns:1fr}}

/* ======================================================================
   BUILD 7.4 — CUSTOMER PORTAL USER MANAGEMENT
   ====================================================================== */
.portal-users-head{align-items:center}.portal-users-head p{max-width:760px}.portal-user-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 20px}.portal-user-metrics article{padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 7px 24px rgba(15,23,42,.04)}.portal-user-metrics span{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.portal-user-metrics strong{display:block;margin-top:5px;font-size:28px}.portal-user-list{display:grid;gap:16px}.portal-user-admin-card{overflow:hidden;border:1px solid #dce4eb;border-radius:20px;background:#fff;box-shadow:0 8px 28px rgba(15,23,42,.05)}.portal-user-admin-card.disabled{opacity:.78}.portal-user-card-head{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:14px;align-items:center;padding:20px 22px;border-bottom:1px solid #e7ecf1}.portal-user-avatar{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:var(--brand-primary,#172332);color:#fff;font-size:22px;font-weight:950}.portal-user-identity span{display:block;color:var(--accent);font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.portal-user-identity h2{margin:2px 0 2px;font-size:22px}.portal-user-identity p{margin:0;color:var(--muted)}.portal-user-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.portal-user-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#e8edf2}.portal-user-summary>div{padding:15px 18px;background:#f8fafb}.portal-user-summary small{display:block;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.portal-user-summary strong{display:block;margin-top:5px}.portal-user-editor{border-top:1px solid #e7ecf1}.portal-user-editor>summary{padding:15px 22px;background:#f6f8fa;font-weight:900;cursor:pointer;list-style:none}.portal-user-editor>summary:after{content:'›';float:right;font-size:22px;line-height:1;transition:transform .18s ease}.portal-user-editor[open]>summary:after{transform:rotate(90deg)}.portal-user-edit-form{padding:22px}.portal-permission-fieldset{margin:0;padding:18px;border:1px solid #dde5ec;border-radius:15px}.portal-permission-fieldset legend{padding:0 8px;font-size:13px;font-weight:950}.portal-permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.portal-permission-grid .choice-card{margin:0;min-height:82px}.portal-permission-grid .choice-card small{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px}.portal-user-card-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:15px 22px;border-top:1px solid #e7ecf1;background:#fbfcfd}.portal-user-card-actions form{margin:0}.portal-password-reset{display:flex;gap:8px;margin-left:auto}.portal-password-reset input{width:190px;min-height:42px}.portal-user-create-modal .app-modal-card.wide{width:min(920px,calc(100% - 32px));max-height:calc(100vh - 40px);overflow:auto}.portal-user-create-modal .modal-heading{margin-bottom:18px}.portal-user-create-modal .modal-heading h2{margin:4px 0 5px}.portal-user-create-modal .modal-heading p{margin:0;color:var(--muted)}
@media(max-width:1050px){.portal-permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-user-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.portal-user-metrics{grid-template-columns:1fr}.portal-user-card-head{grid-template-columns:46px minmax(0,1fr)}.portal-user-avatar{width:46px;height:46px}.portal-user-badges{grid-column:1/-1;justify-content:flex-start}.portal-user-summary{grid-template-columns:1fr}.portal-permission-grid{grid-template-columns:1fr}.portal-user-card-actions{align-items:stretch}.portal-user-card-actions form,.portal-user-card-actions .btn{width:100%}.portal-password-reset{margin-left:0;flex-direction:column}.portal-password-reset input{width:100%}}

/* Build 7.5 — operational finance workspace */
.finance-system-head,.finance-workspace-head{margin-bottom:22px}
.system-kpis{margin-bottom:18px}.finance-tabs{display:flex;gap:6px;padding:6px;background:#fff;border:1px solid var(--border,#dbe2e9);border-radius:16px;margin:0 0 18px;box-shadow:0 8px 28px rgba(23,35,50,.06)}.finance-tabs a{padding:12px 20px;border-radius:11px;color:#516071;font-weight:800;text-decoration:none}.finance-tabs a.active{background:var(--primary,#172332);color:#fff}.finance-filter-panel{padding:18px 22px}.finance-filter-form{display:grid;grid-template-columns:minmax(260px,1fr) 220px auto auto;gap:12px;align-items:end}.finance-filter-form label{margin:0}.finance-register{padding:0;overflow:hidden}.register-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid var(--border,#dbe2e9)}.register-heading h2{margin:0 0 4px}.register-heading p{margin:0;color:#697789}.register-heading>span{font-weight:800;color:#697789}.table-scroll{overflow:auto}.finance-register-table{width:100%;border-collapse:collapse;min-width:1180px}.finance-register-table th{padding:13px 14px;background:#f4f6f8;color:#586779;font-size:12px;text-align:left;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #dfe5eb}.finance-register-table td{padding:13px 14px;border-bottom:1px solid #e6ebef;vertical-align:middle}.finance-register-table td small{display:block;margin-top:4px;color:#7b8794}.finance-register-table input[type=date],.finance-register-table select{min-height:38px;padding:7px 9px;font-size:13px}.inline-finance-form{display:flex;align-items:center;gap:7px;margin:0}.btn.tiny{padding:8px 10px;min-height:34px;font-size:12px}.row-danger{background:#fff6f3}
.finance-editor{--finance-border:#dce3ea}.finance-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.finance-editor-main{display:grid;gap:20px}.finance-editor-side{position:sticky;top:92px;display:grid;gap:16px}.finance-editor .panel{margin:0}.section-title-row>div,.finance-lines-panel .panel-heading>div{display:flex;align-items:flex-start;gap:12px}.section-kicker{display:grid;place-items:center;min-width:32px;height:32px;border-radius:9px;background:#fff0e8;color:#e45825;font-weight:900}.finance-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:20px}.finance-meta-grid .span-2{grid-column:span 2}.address-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.finance-editor textarea{resize:vertical}.document-sync-card{margin-top:16px}.finance-lines-panel{padding:0;overflow:hidden}.finance-lines-panel>.panel-heading{padding:22px 24px;margin:0;border-bottom:1px solid var(--finance-border)}.finance-lines-scroll{overflow:auto;max-height:590px}.finance-lines-table{width:100%;min-width:1320px;border-collapse:separate;border-spacing:0}.finance-lines-table th{position:sticky;top:0;z-index:2;background:#f3f5f7;color:#596778;padding:11px 9px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--finance-border);text-align:left}.finance-lines-table td{padding:8px;border-bottom:1px solid #e8edf1;vertical-align:top;background:#fff}.finance-lines-table input,.finance-lines-table select,.finance-lines-table textarea{width:100%;min-height:42px;padding:9px 10px;border-radius:9px;font-size:13px}.finance-lines-table textarea{min-width:250px}.finance-lines-table .line-index{width:42px;text-align:center;font-weight:900;color:#596778;padding-top:21px}.finance-lines-table .line-type{min-width:100px}.finance-lines-table .line-sku{min-width:90px}.finance-lines-table .line-unit{min-width:64px}.finance-lines-table .doc-qty,.finance-lines-table .doc-price,.finance-lines-table .doc-discount,.finance-lines-table .doc-tax{min-width:86px}.money-cell{white-space:nowrap;text-align:right;font-weight:800;padding-top:22px}.line-details-toggle{display:block;margin-top:5px;border:0;background:none;padding:0;color:#e45825;font-size:11px;font-weight:800;cursor:pointer}.finance-line-details td{background:#f8fafb;padding:12px 54px}.line-details-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}.icon-btn.danger{width:34px;height:34px;border:0;border-radius:9px;background:#fff0ed;color:#b72d1f;font-size:20px;cursor:pointer}.finance-adjustments-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:18px}.finance-adjustments-grid .span-2{grid-column:span 2}.choice-card.compact{min-height:50px;padding:10px 12px}.finance-live-summary .summary-row{padding:11px 0}.finance-live-summary .summary-row.total{font-size:18px;border-top:2px solid #172332;margin-top:7px;padding-top:15px}.finance-validation{margin-top:14px;padding:12px;border-radius:10px;background:#eef8f1;color:#267047;font-size:12px}.finance-validation.has-errors{background:#fff3ed;color:#a3421f}.finance-validation ul{margin:7px 0 0;padding-left:18px}.finance-validation .ok{font-weight:800}
@media(max-width:1180px){.finance-editor-layout{grid-template-columns:1fr}.finance-editor-side{position:static;grid-template-columns:repeat(3,1fr)}.finance-meta-grid,.finance-adjustments-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-filter-form{grid-template-columns:1fr 180px auto auto}}
@media(max-width:760px){.finance-editor-side{grid-template-columns:1fr}.finance-meta-grid,.finance-adjustments-grid,.address-grid,.line-details-grid{grid-template-columns:1fr}.finance-meta-grid .span-2,.finance-adjustments-grid .span-2{grid-column:auto}.finance-filter-form{grid-template-columns:1fr}.finance-tabs{overflow:auto}.finance-tabs a{white-space:nowrap}.register-heading{align-items:flex-start;flex-direction:column}}

/* Build 7.5 — financial document detail views */
.finance-document-head{margin-bottom:18px}.finance-document-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.finance-document-layout>main{display:grid;gap:18px}.finance-document-layout .panel{margin:0}.finance-document-layout>aside{display:grid;gap:16px;position:sticky;top:90px}.finance-document-metadata{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.finance-document-metadata>div{padding:13px;background:#f5f7f9;border-radius:11px}.finance-document-metadata small,.address-box small{display:block;color:#75818e;margin-bottom:5px}.address-box{padding:14px;background:#f5f7f9;border-radius:11px}.address-box p{margin:0;white-space:normal}.finance-document-lines-panel{padding:0;overflow:hidden}.finance-document-lines-panel>.panel-heading{padding:20px 22px;border-bottom:1px solid #e0e6eb}.finance-document-totals .summary-row.total{border-top:2px solid #172332;margin-top:7px;padding-top:14px;font-size:18px}.finance-reason{margin-top:13px;padding:12px;border-radius:10px;background:#fff7f3}.finance-reason small{color:#a94d2d;font-weight:800}.finance-reason p{margin:5px 0 0}.document-meta-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.document-meta-chips>span{padding:6px 9px;background:#edf1f4;border-radius:999px;font-size:11px;font-weight:800}.document-meta-chips .danger-chip{background:#fff0eb;color:#b54522}.payment-link-panel{display:grid;grid-template-columns:1fr minmax(400px,.9fr);gap:20px;align-items:center}.payment-link-value{display:grid;grid-template-columns:1fr auto;gap:9px}
@media(max-width:1050px){.finance-document-layout{grid-template-columns:1fr}.finance-document-layout>aside{position:static;grid-template-columns:1fr 1fr}.finance-document-metadata{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.finance-document-layout>aside,.finance-document-metadata{grid-template-columns:1fr}.payment-link-panel{grid-template-columns:1fr}.payment-link-value{grid-template-columns:1fr}}

/* Build 7.5 — portal order administration */
.portal-admin-request-grid{align-items:start}
.portal-admin-request-grid .finance-document-metadata{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:22px}
.portal-admin-request-grid .finance-document-metadata>div{min-height:88px}
.request-instructions{margin-top:18px;padding:18px 20px;border:1px solid var(--line,#d8e0e8);border-radius:16px;background:#f8fafc}
.request-instructions small{display:block;margin-bottom:7px;font-weight:800;color:#5d6b7b;text-transform:uppercase;letter-spacing:.05em}
.request-instructions p{margin:0;line-height:1.65;white-space:normal}
.portal-admin-item-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.portal-admin-item-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:16px;align-items:center;padding:15px;border:1px solid var(--line,#d8e0e8);border-radius:18px;background:#fff}
.portal-admin-item-thumb{height:82px;border-radius:13px;background:#edf2f6;display:grid;place-items:center;overflow:hidden;font-size:12px;font-weight:900;color:#64748b;text-align:center}
.portal-admin-item-thumb img{width:100%;height:100%;object-fit:cover}
.portal-admin-item-card h3{margin:3px 0 7px;font-size:17px}
.portal-admin-item-card p{margin:0 0 7px;color:#667587}
.portal-admin-item-card small{display:block;margin-top:7px;color:#728197;overflow-wrap:anywhere}
.stack-form{display:grid;gap:14px}
.stack-form label{display:grid;gap:7px;font-weight:800}
.stack-form textarea,.stack-form select{width:100%}
@media(max-width:980px){.portal-admin-request-grid{grid-template-columns:1fr}.portal-admin-request-grid .finance-document-metadata{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.portal-admin-item-grid,.portal-admin-request-grid .finance-document-metadata{grid-template-columns:1fr}.portal-admin-item-card{grid-template-columns:72px minmax(0,1fr)}}


/* Build 7.6 — full-width finance and restored dark sidebars */
.finance-document-head-full{margin-bottom:18px}
.finance-overview-strip{display:grid;grid-template-columns:1.4fr repeat(4,minmax(120px,.7fr)) minmax(170px,.85fr);gap:1px;background:#dfe5ea;border:1px solid #dfe5ea;border-radius:16px;overflow:hidden;margin-bottom:18px;box-shadow:0 8px 25px rgba(23,35,50,.045)}
.finance-overview-strip>div{background:#fff;padding:17px 18px;min-width:0}.finance-overview-strip small,.finance-overview-strip strong{display:block}.finance-overview-strip small{color:#74818e;font-size:11px}.finance-overview-strip strong{font-size:16px;margin-top:5px;overflow-wrap:anywhere}.finance-overview-strip .total{background:#172332;color:#fff}.finance-overview-strip .total small{color:#b9c4cd}.finance-overview-strip .total strong{color:#ff9a68;font-size:23px}
.finance-document-info-full{margin-bottom:18px}.finance-document-lines-full{margin-bottom:18px}.finance-document-bottom-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr);gap:18px}.finance-total-breakdown{background:#172332;color:#fff}.finance-total-breakdown h2{color:#fff}.finance-total-breakdown .summary-row{border-color:#435166}.finance-total-breakdown .summary-row span{color:#b9c4cd}.finance-document-action-panel{display:flex;align-items:center;justify-content:space-between;gap:15px}.finance-document-action-panel .document-action-bar{margin-left:auto}.muted{color:var(--muted)}
.finance-editor-layout{display:grid;grid-template-columns:1fr;gap:18px}.finance-editor-side{order:-1;position:static;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr) minmax(220px,.5fr);gap:14px;align-items:stretch}.finance-editor-side>.summary-card{margin:0}.finance-editor-side .finance-live-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;align-content:start}.finance-editor-side .finance-live-summary h3,.finance-editor-side .finance-validation{grid-column:1/-1}.finance-editor-side .finance-live-summary .summary-row{display:block;border:0;border-right:1px solid #435166;padding:10px 12px}.finance-editor-side .finance-live-summary .summary-row:last-of-type{border-right:0}.finance-editor-side .finance-live-summary .summary-row span,.finance-editor-side .finance-live-summary .summary-row strong{display:block;text-align:left}.finance-editor-side .finance-live-summary .summary-row strong{margin-top:5px}.finance-editor-side .summary-card{background:#172332;color:#fff}.finance-editor-side .summary-card p{color:#b8c2cb}.finance-editor-side .summary-card .btn.secondary{background:#fff}.finance-editor-main{min-width:0}
/* Premium dark sidebars remain dark on operational pages */
.form-sidebar>.summary-card,.detail-grid>aside>.summary-card,.work-layout>aside.panel,.document-summary{background:#172332;color:#fff;border-color:#172332;box-shadow:0 18px 35px rgba(23,35,50,.16)}
.form-sidebar>.summary-card h2,.form-sidebar>.summary-card h3,.detail-grid>aside>.summary-card h2,.detail-grid>aside>.summary-card h3,.work-layout>aside.panel h2,.document-summary h2,.document-summary h3{color:#fff}.form-sidebar>.summary-card p,.detail-grid>aside>.summary-card p,.work-layout>aside.panel p{color:#bec8d1}.form-sidebar>.summary-card .summary-row,.detail-grid>aside>.summary-card .summary-row{border-color:#435166}.form-sidebar>.summary-card .summary-row span,.detail-grid>aside>.summary-card .summary-row span{color:#b9c4cd}
@media(max-width:1100px){.finance-overview-strip{grid-template-columns:repeat(3,1fr)}.finance-editor-side{grid-template-columns:1fr}.finance-editor-side .finance-live-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.finance-overview-strip,.finance-editor-side .finance-live-summary,.finance-document-bottom-grid{grid-template-columns:1fr}.finance-editor-side .finance-live-summary .summary-row{border-right:0;border-bottom:1px solid #435166}.finance-document-action-panel{align-items:stretch;flex-direction:column}.finance-document-action-panel .document-action-bar{margin:0;display:grid;grid-template-columns:1fr}}


/* Build 7.7 — production completion and quality control */
.qc-layout{display:grid;grid-template-columns:minmax(300px,.65fr) minmax(0,1.35fr);gap:18px;align-items:start}.qc-visual{background:#172332;color:#fff;position:sticky;top:92px}.qc-visual img{width:100%;max-height:560px;object-fit:contain;background:#fff;border-radius:12px}.qc-file-meta{margin-top:14px;padding:13px;border:1px solid #435166;border-radius:11px}.qc-file-meta small,.qc-file-meta strong,.qc-file-meta span{display:block}.qc-file-meta small,.qc-file-meta span{color:#b9c4cd}.qc-file-meta strong{margin:5px 0}.production-gate-panel{border-left:4px solid #1463ff}.quality-gate-panel{border-left:4px solid #177245}.status-pill.status-passed,.status-pill.success{background:#e5f7ec;color:#12613b}.status-pill.status-failed{background:#fce8e6;color:#9c2418}.packing-item-name .status-pill{display:inline-flex;margin-top:7px;font-size:9px}
@media(max-width:950px){.qc-layout{grid-template-columns:1fr}.qc-visual{position:static}}

/* Build 7.8 — public visual approval */
.public-approval-body{background:#edf0f3}.public-approval-page{width:min(1220px,calc(100% - 32px));margin:24px auto 60px;display:grid;gap:18px}.public-approval-head{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px 28px}.public-approval-head>div{display:flex;align-items:center;gap:16px}.public-approval-head h1{font-size:36px;margin:4px 0}.public-approval-head p{margin:0;color:var(--muted)}.public-approval-head nav{display:flex;gap:7px}.public-approval-head nav a{padding:8px 11px;border:1px solid var(--line);border-radius:9px;font-weight:800}.public-approval-message,.public-approval-form,.public-approval-result{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.public-approval-items{display:grid;gap:15px}.public-approval-item{display:grid;grid-template-columns:360px 1fr;gap:22px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.public-approval-visual{height:270px;background:#eef1f4;border-radius:13px;overflow:hidden}.public-approval-visual img{width:100%;height:100%;object-fit:contain;background:#fff}.signature-capture{margin:18px 0}.signature-capture canvas{display:block;width:100%;height:180px;border:2px dashed #c9d2da;border-radius:12px;background:#fff;margin:7px 0}.public-approval-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.approval-sharing-panel .inline-actions{align-items:end}.approval-sharing-panel label{max-width:180px}.public-approval-result{border-left:5px solid var(--green)}
@media(max-width:800px){.public-approval-head,.public-approval-item{grid-template-columns:1fr;display:grid}.public-approval-head>div{align-items:flex-start}.public-approval-actions{display:grid;grid-template-columns:1fr}.public-approval-visual{height:220px}}


/* Build 7.9 — finance close-out */
.finance-overview-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line,#dbe2e8);border:1px solid var(--line,#dbe2e8);border-radius:22px;overflow:hidden;margin-bottom:22px}.finance-overview-strip>div{background:#fff;padding:20px 22px;min-height:92px;display:flex;flex-direction:column;gap:7px;justify-content:center}.finance-overview-strip small{color:#718096}.finance-overview-strip strong{font-size:1.12rem}.finance-overview-strip .accent{background:#182536;color:#fff}.finance-overview-strip .accent small{color:#cbd5e1}.finance-overview-strip .accent strong{font-size:1.35rem}.two-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.finance-final-totals{display:flex;justify-content:flex-end;gap:0;padding:0;overflow:hidden}.finance-final-totals>div{min-width:160px;padding:18px 20px;border-left:1px solid var(--line,#dbe2e8);display:flex;flex-direction:column;gap:6px}.finance-final-totals .accent{background:#182536;color:#fff}.credit-editor textarea{min-width:240px;min-height:74px}.credit-editor input{min-width:86px}.account-entry-panel .grid{align-items:end}.readiness-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}.readiness-card{background:#fff;border:1px solid var(--line,#dbe2e8);border-radius:18px;padding:18px;display:flex;gap:14px;align-items:flex-start}.readiness-card>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:900}.readiness-card.pass>span{background:#dcfce7;color:#166534}.readiness-card.fail>span{background:#fee2e2;color:#991b1b}.readiness-card h3{margin:0 0 5px}.readiness-card p{margin:0;color:#718096;font-size:.85rem}.credit{color:#047857}.debit{color:#b91c1c}@media(max-width:900px){.finance-overview-strip{grid-template-columns:1fr 1fr}.two-panel-grid,.readiness-grid{grid-template-columns:1fr}.finance-final-totals{display:grid;grid-template-columns:1fr 1fr}.finance-final-totals>div{min-width:0;border:0;border-top:1px solid var(--line,#dbe2e8)}}

/* Build 8.0 — compact visual system, finance workspace and finish cards */
:root{--page-title:clamp(28px,2.2vw,36px);--section-title:20px;--compact-gap:16px}
.topbar{height:64px;padding-left:max(20px,calc((100vw - 1440px)/2));padding-right:max(20px,calc((100vw - 1440px)/2))}
.topbar nav a{font-size:13px;padding:9px 13px}.brand strong{font-size:14px}.brand small{font-size:9px;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.page{padding:22px 24px 70px}.page-head,.hero,.form-hero,.job-detail-hero{padding:22px 26px;gap:20px;margin-bottom:18px;border-radius:16px}
.page-head h1,.hero h1,.form-hero h1,.job-detail-hero h1,.finance-workspace-head h1,.finance-document-head h1{font-size:var(--page-title);line-height:1.08;letter-spacing:-.035em;margin:5px 0 7px}
.page-head p,.hero p,.form-hero p,.job-detail-hero p{font-size:13px;line-height:1.45}.eyebrow{font-size:10px}.reference-hero{font-size:40px}
.panel{padding:20px}.panel-heading{margin-bottom:16px}.panel-heading h2,.section-head h2,.section-title-row h2{font-size:var(--section-title);line-height:1.2}.panel-heading p,.section-head p,.section-title-row p{font-size:12px;line-height:1.45}
.head-actions,.hero-actions,.inline-actions,.document-action-bar,.save-actions,.card-actions{gap:10px;align-items:center}.head-actions{display:flex;flex-wrap:wrap;justify-content:flex-end}.btn{font-size:13px;padding:10px 14px}.btn.large{padding:12px 18px}

/* Full viewport action bars, with controls aligned to the application content. */
.savebar,.sticky-save,.portal-submit-bar{position:sticky;bottom:0;z-index:24;width:100vw;margin-left:calc(50% - 50vw);padding:13px max(24px,calc((100vw - 1440px)/2 + 24px));background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-top:1px solid var(--line);box-shadow:0 -10px 28px rgba(23,35,50,.08);display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap}
.savebar .btn,.sticky-save .btn,.portal-submit-bar .btn{margin:0;min-height:42px}
.finance-document-action-panel{gap:14px;flex-wrap:wrap}.finance-document-action-panel .document-action-bar{display:flex;flex-wrap:wrap;gap:10px;margin-left:auto}

/* Finance is an operational workspace, not a narrow document preview. */
.finance-workspace-head,.finance-document-head{min-height:0}.finance-editor-main{gap:16px}.finance-editor .panel{border-radius:14px}.finance-meta-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.finance-meta-grid .span-2{grid-column:span 2}.finance-lines-panel>.panel-heading{padding:17px 20px}.finance-lines-scroll{max-height:none;overflow:auto}.finance-lines-table{min-width:1180px}.finance-lines-table th{font-size:10px;padding:9px 8px}.finance-lines-table td{padding:7px}.finance-lines-table input,.finance-lines-table select,.finance-lines-table textarea{min-height:38px;padding:8px 9px;font-size:12px}.finance-lines-table textarea{min-width:220px}.finance-adjustments-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.finance-adjustments-grid .span-2{grid-column:span 2}
.finance-editor-side{grid-template-columns:minmax(0,1.65fr) minmax(250px,.7fr) minmax(220px,.52fr);gap:12px}.finance-editor-side>.summary-card{padding:17px;border-radius:14px}.finance-editor-side .finance-live-summary{grid-template-columns:repeat(6,minmax(0,1fr))}.finance-editor-side .finance-live-summary h3{font-size:15px;margin-bottom:7px}.finance-editor-side .finance-live-summary .summary-row{padding:8px 10px}.finance-editor-side .finance-live-summary .summary-row span{font-size:10px}.finance-editor-side .finance-live-summary .summary-row strong{font-size:14px}.finance-validation{padding:9px;font-size:11px}.finance-overview-strip{border-radius:14px;margin-bottom:16px}.finance-overview-strip>div{padding:14px 16px;min-height:74px}.finance-overview-strip small{font-size:10px}.finance-overview-strip strong{font-size:14px}.finance-overview-strip .accent strong,.finance-overview-strip .total strong{font-size:19px}.finance-document-metadata{gap:8px}.finance-document-metadata>div{padding:11px}.finance-register-table th{font-size:10px}.finance-register-table td{font-size:12px}.finance-final-totals>div{padding:14px 16px;min-width:140px}

/* Finish selector: visual, compact, scrollable and unambiguous. */
.finish-selector{border:1px solid #dce4eb;background:#f8fafb;overflow:hidden;margin:16px 0 18px;border-radius:15px}
.finish-selector-head{display:flex;justify-content:space-between;align-items:center;padding:15px 17px;background:#edf2f6;border-bottom:1px solid #dce4eb}.finish-selector-head strong{font-size:16px}.finish-selector-head small{display:block;margin-top:3px;color:#687687;font-size:11px}.finish-total-label{font-size:20px;color:#172332}
.finish-filterbar{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:11px 13px;background:rgba(248,250,251,.97);border-bottom:1px solid #dce4eb}.finish-filterbar input{margin:0;min-height:42px}.finish-show-selected{min-height:42px}.finish-show-selected.active{background:#172332;color:#fff}
.finish-options-scroll{height:430px;max-height:430px;overflow-y:auto;overflow-x:hidden;padding:12px;scrollbar-gutter:stable}.finish-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}
.finish-option.item-finish-card{grid-template-columns:minmax(0,1fr) 128px;grid-template-areas:'toggle price' 'calc calc';min-height:126px;padding:13px;gap:10px 13px;border:1px solid #d9e1e8;border-radius:13px;box-shadow:0 2px 8px rgba(23,35,50,.035);overflow:hidden}.finish-option.item-finish-card:hover{border-color:#aebbc6;box-shadow:0 7px 18px rgba(23,35,50,.08)}.finish-option.item-finish-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px rgba(255,107,53,.11);background:#fff9f5}
.finish-toggle{grid-area:toggle;display:grid;grid-template-columns:22px 72px minmax(0,1fr);align-items:center;gap:11px;min-width:0}.finish-toggle>input{width:19px;height:19px;margin:0}.finish-image{width:72px;height:72px;border-radius:11px;background:#edf2f6;display:grid;place-items:center;overflow:hidden}.finish-image img{width:100%;height:100%;object-fit:cover}.finish-image b{font-size:22px;color:#657487}.finish-name{min-width:0}.finish-name strong{display:block;font-size:14px;line-height:1.25}.finish-name small{display:block;font-size:11px;color:#6d7a88;margin-top:4px}.finish-price-field{grid-area:price;font-size:10px}.finish-price-field input{margin-top:5px;min-height:40px;padding:8px 10px;font-size:14px}.finish-calculation{grid-area:calc;display:flex;justify-content:space-between;align-items:center;padding:9px 11px;border-radius:9px;background:#edf2f6}.finish-calculation span{font-size:11px;color:#687687}.finish-calculation strong{font-size:16px}.finish-option[hidden],.finish-option.search-hidden{display:none}.finish-selector.show-selected-only .finish-option:not(.selected){display:none}

/* No internal storage location is ever presented as content. */
.dbx-item-file-display,.support-file-copy small,.file-card small:empty{display:none}

@media(max-width:1100px){.finance-meta-grid,.finance-adjustments-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-editor-side{grid-template-columns:1fr}.finish-options{grid-template-columns:1fr}}
@media(max-width:700px){.page{padding:14px 14px 76px}.topbar{height:58px}.page-head,.hero,.form-hero,.job-detail-hero{padding:18px}.page-head h1,.hero h1,.form-hero h1,.job-detail-hero h1{font-size:27px}.finance-meta-grid,.finance-adjustments-grid{grid-template-columns:1fr}.finance-meta-grid .span-2,.finance-adjustments-grid .span-2{grid-column:auto}.savebar,.sticky-save,.portal-submit-bar{padding:11px 14px}.savebar .btn,.sticky-save .btn,.portal-submit-bar .btn{flex:1}.finish-options-scroll{height:390px}.finish-option.item-finish-card{grid-template-columns:1fr;grid-template-areas:'toggle' 'price' 'calc'}.finish-toggle{grid-template-columns:22px 58px 1fr}.finish-image{width:58px;height:58px}}

/* Build 8.0 final visual refinement */
:root{--page-title:clamp(25px,1.85vw,33px);--section-title:18px}
.page-head,.hero,.form-hero,.job-detail-hero,.finance-workspace-head,.finance-document-head{padding:20px 24px;border-radius:15px;margin-bottom:18px}
.page-head h1,.hero h1,.form-hero h1,.job-detail-hero h1,.finance-workspace-head h1,.finance-document-head h1{font-size:var(--page-title);margin:3px 0 6px;letter-spacing:-.025em}
.reference-hero,.job-ref.large{font-size:clamp(31px,2.7vw,42px);line-height:1}
.panel-heading h2,.section-head h2,.section-title-row h2,.panel>h2{font-size:18px}
.panel-heading p,.section-head p,.section-title-row p{font-size:11.5px}

/* Finance gets a cleaner system layout and a permanent full-width action area. */
.finance-editor-layout{grid-template-columns:1fr}
.finance-editor-side{order:-1;position:static;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.72fr) minmax(220px,.5fr);gap:12px}
.finance-editor-side>.summary-card{min-height:0;padding:15px;border-radius:13px}
.finance-lines-panel,.finance-details-panel,.finance-adjustments-panel{box-shadow:0 5px 18px rgba(23,35,50,.045)}
.finance-document-action-panel{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.finance-document-action-panel .document-action-bar{margin:0 0 0 auto}
.finance-editor-side .summary-card:last-child{display:flex;flex-direction:row;align-items:center;gap:9px;flex-wrap:wrap}
.finance-editor-side .summary-card:last-child h3{width:100%;margin-bottom:2px}
.finance-editor-side .summary-card:last-child .btn{width:auto;min-width:145px;margin:0}
.finance-editor-side .summary-card:last-child a.btn{flex:0 0 auto}

/* Finishes: complete selection cards with clear category, price and subtotal. */
.finish-options-scroll{height:456px;max-height:456px;padding:14px}
.finish-option.item-finish-card{min-height:146px;padding:14px;grid-template-columns:minmax(0,1fr) 122px;grid-template-areas:'toggle price' 'calc calc';align-content:space-between;overflow:hidden}
.finish-toggle{grid-template-columns:22px 66px minmax(0,1fr);align-items:center}
.finish-image{width:66px;height:66px}
.finish-category{display:inline-flex;max-width:100%;margin-bottom:4px;padding:3px 7px;border-radius:999px;background:#edf2f6;color:#697786;font-size:9px;font-style:normal;font-weight:900;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.finish-name strong{font-size:14px;line-height:1.28}
.finish-price-field{align-self:center}
.finish-calculation{min-height:39px;margin-top:1px;border:0;background:#f1f4f7}
.finish-option.item-finish-card.selected .finish-calculation{background:#ffede3}
.finish-option.item-finish-card.selected .finish-category{background:#ffe0d0;color:#a94219}

/* Action bars never collapse into touching controls. */
.savebar,.sticky-save,.portal-submit-bar{column-gap:12px;row-gap:9px}
.savebar>* ,.sticky-save>* ,.portal-submit-bar>*{margin:0}
.savebar .btn,.sticky-save .btn,.portal-submit-bar .btn{white-space:normal;text-align:center}

@media(max-width:1100px){.finance-editor-side{grid-template-columns:1fr}}
@media(max-width:700px){
  :root{--page-title:26px;--section-title:17px}
  .page-head,.hero,.form-hero,.job-detail-hero,.finance-workspace-head,.finance-document-head{padding:17px}
  .finish-option.item-finish-card{min-height:0;grid-template-columns:1fr;grid-template-areas:'toggle' 'price' 'calc'}
  .savebar,.sticky-save,.portal-submit-bar{justify-content:stretch}
}

/* ======================================================================
   BUILD 8.1 — PERFORMANCE AND QUANTITY / MATERIAL CLARITY
   ====================================================================== */
/* Keep Dropbox navigation responsive while previews and dimensions load only
   for visible rows. */
.dbx-thumb-wrap img:not([src]),.dbx-thumb-wrap img[src=""]{opacity:0}
.dbx-file-dimensions.loading{background:#f4f7f9;color:#697786}
.dbx-file-dimensions.loading:before{content:'';width:12px;height:12px;border:2px solid #d7dfe6;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;display:inline-block;margin-right:7px;vertical-align:-2px}

/* Dimensions always separate one produced unit from the quantity total. */
.item-measurements-row{grid-template-columns:repeat(3,minmax(118px,1fr)) repeat(4,minmax(132px,.88fr))}
.measurement-result.unit-metric{background:#f7f9fb;border-color:#dfe6ec}
.measurement-result.total-metric{background:#172332;border-color:#172332;color:#fff}
.measurement-result.total-metric span{color:#b9c4cf}
.measurement-result.total-metric strong{color:#fff;font-size:20px}
.summary-materials{padding:11px 0;border-top:1px solid rgba(255,255,255,.12)}
.summary-materials>span{display:block;margin-bottom:7px;color:#9eabb8;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
#summary-materials{display:grid;gap:6px}
#summary-materials>div{display:grid;gap:2px;padding:7px 8px;border-radius:8px;background:rgba(255,255,255,.06)}
#summary-materials strong{font-size:11px;color:#fff}
#summary-materials span{font-size:10px;color:#bdc8d2}

/* Production Job Sheet: quantity and combined material use are impossible to
   miss, while individual size calculations remain explicit. */
.material-summary-sheet{margin:7px 0;border:2px solid #172332;background:#f4f7f9;break-inside:avoid}
.material-summary-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;background:#172332;color:#fff}
.material-summary-heading small{display:block;font-size:7px;letter-spacing:.8px;color:#c5d0da;font-weight:900}
.material-summary-heading strong{display:block;margin-top:2px;font-size:11px}
.material-summary-heading>span{padding:4px 7px;border-radius:999px;background:#fff;color:#172332;font-size:8px;font-weight:950}
.material-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:5px}
.material-summary-grid article{padding:5px 6px;border:1px solid #cbd5df;background:#fff}
.material-summary-grid article>strong{display:block;font-size:10px}
.material-summary-grid article>small{display:block;margin:1px 0 4px;color:#6b7785;font-size:7px}
.material-summary-grid article>div{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.material-summary-grid span{display:grid;gap:1px;padding:3px;background:#edf2f6;font-size:7px;color:#667085}
.material-summary-grid b{font-size:9px;color:#172332}
.production-item-block>header{grid-template-columns:auto minmax(0,1fr) minmax(31mm,auto)}
.production-quantity{padding:5px 8px;border-radius:5px;background:#172332;color:#fff;text-align:center}
.production-quantity small{display:block;color:#cbd5df;font-size:7px;font-weight:900;letter-spacing:.7px}
.production-quantity strong{display:block;margin-top:2px;font-size:17px;line-height:1}
.production-metrics.detailed-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.production-metrics.detailed-metrics>div{border:1px solid #e0e6ec}
.production-metrics .metric-total{background:#172332;color:#fff;border-color:#172332}
.production-metrics .metric-total small{color:#c6d1dc}
.production-metrics .metric-total strong{font-size:13px;color:#fff}
.production-metrics .metric-quantity{background:#fff1e8;border:2px solid #ff8a50}
.production-metrics .metric-quantity strong{font-size:15px;color:#9a3900}

/* Digital Job and worker pages use the same unit-versus-total language. */
.detail-item-quantity{min-width:130px;padding:9px 12px;border-radius:11px;background:#172332;color:#fff;text-align:center}
.detail-item-quantity small{display:block;color:#bac6d0;font-size:9px;font-weight:900;letter-spacing:.06em}
.detail-item-quantity strong{display:block;margin-top:3px;font-size:19px}
.detail-item-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 15px;background:#f5f7f9;border-bottom:1px solid var(--line)}
.detail-item-metrics span{display:grid;gap:3px;padding:9px;border-radius:9px;background:#fff;border:1px solid #dfe6ec}
.detail-item-metrics small{font-size:9px;color:#6c7987;font-weight:900;text-transform:uppercase}
.detail-item-metrics b{font-size:14px}
.detail-item-metrics .total{background:#172332;border-color:#172332;color:#fff}
.detail-item-metrics .total small{color:#c1ccd6}
.work-metric-breakdown{grid-template-columns:repeat(4,minmax(0,1fr))}
.work-metric-breakdown .quantity-highlight{background:#fff1e8;border:2px solid #ff8a50}
.work-metric-breakdown .quantity-highlight strong{font-size:23px;color:#9a3900}
.work-metric-breakdown .total-highlight{background:#172332;color:#fff}
.work-metric-breakdown .total-highlight small{color:#c0ccd6}
.work-metric-breakdown .total-highlight strong{color:#fff}

@media(max-width:1250px){.item-measurements-row{grid-template-columns:repeat(4,minmax(0,1fr))}.work-metric-breakdown{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.item-measurements-row{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-item-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.work-metric-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.item-measurements-row,.detail-item-metrics,.work-metric-breakdown{grid-template-columns:1fr}.material-summary-grid{grid-template-columns:1fr}}

@media print{
  .material-summary-sheet{margin:4px 0}
  .production-quantity{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .production-metrics .metric-total,.material-summary-heading{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* ======================================================================
   CLEVER SIGNS PUBLIC / AUTHENTICATION SCREENS — BUILD 9.9
   Login, installation, visual approval, hosted payment and result pages.
   ====================================================================== */
:root {
  --pub-primary: var(--brand-secondary,#1765f3);
  --pub-primary-hover: color-mix(in srgb,var(--pub-primary),#000 14%);
  --pub-primary-soft: color-mix(in srgb,var(--pub-primary),#fff 92%);
  --pub-navy: var(--brand-primary,#172332);
  --pub-accent: var(--brand-accent,#ff6b35);
  --pub-accent-soft: color-mix(in srgb,var(--pub-accent),#fff 91%);
  --pub-canvas: color-mix(in srgb,var(--brand-surface,#edf0f3),#fff 30%);
  --pub-surface: #fff;
  --pub-subtle: #f8fafc;
  --pub-muted-surface: #f1f5f9;
  --pub-text: #172033;
  --pub-copy: #344054;
  --pub-muted: #667085;
  --pub-border: #d8e0ea;
  --pub-border-strong: #bdc8d6;
  --pub-success: #16845b;
  --pub-success-soft: #eaf8f1;
  --pub-warning: #a86100;
  --pub-warning-soft: #fff6df;
  --pub-danger: #c4322b;
  --pub-danger-soft: #fff0ef;
  --pub-radius-sm: 10px;
  --pub-radius: 14px;
  --pub-radius-lg: 20px;
  --pub-shadow: 0 24px 70px rgba(16,24,40,.12);
  --pub-focus: 0 0 0 3px color-mix(in srgb,var(--pub-primary),transparent 78%);
  --pub-font: Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
html { min-height: 100%; background: var(--pub-canvas); color: var(--pub-text); font-family: var(--pub-font); font-size: 16px; -webkit-font-smoothing: antialiased; }
body.login-body,
body.install-body,
body.public-payment-body,
body.public-approval-body,
body.public-result-body,
body.portal-error-body {
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 12% 10%,var(--pub-primary-soft),transparent 30%),
    radial-gradient(circle at 88% 92%,var(--pub-accent-soft),transparent 27%),
    var(--pub-canvas) ;
  color: var(--pub-text);
  font-family: var(--pub-font);
  font-size: 15px;
  line-height: 1.55;
}
body.login-body,
body.install-body,
body.public-payment-body,
body.public-result-body,
body.portal-error-body { display: grid; place-items: center; padding: 28px 16px; }
body :where(h1,h2,h3,p,ul,ol) { margin-top: 0; }
body h1 { margin-bottom: 9px; color: var(--pub-text); font-size: clamp(29px,3vw,39px) ; font-weight: 760 ; line-height: 1.12; letter-spacing: -.028em; }
body h2 { margin-bottom: 7px; color: var(--pub-text); font-size: 21px ; font-weight: 730 ; line-height: 1.25; }
body p,body li { color: var(--pub-copy); line-height: 1.62; }
body strong,body b { font-weight: 710; }
body small { color: var(--pub-muted) ; font-size: 12.5px ; }
body .eyebrow { color: var(--pub-accent) ; font-size: 11.5px ; font-weight: 760 ; letter-spacing: .105em ; text-transform: uppercase; }
body a:focus-visible,body button:focus-visible,body input:focus-visible,body select:focus-visible,body textarea:focus-visible { outline: 2px solid var(--pub-primary); outline-offset: 3px; }

.login-card,
.install-card,
.public-payment-card,
.public-result-card,
.portal-error-card {
  width: min(560px,100%);
  padding: 30px ;
  border: 1px solid var(--pub-border) ;
  border-radius: var(--pub-radius-lg) ;
  background: rgba(255,255,255,.97) ;
  box-shadow: var(--pub-shadow) ;
  backdrop-filter: blur(12px);
}
.install-card { width: min(820px,100%); }
.login-brand,
.payment-brand,
.public-result-brand {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--pub-border);
}
.login-brand .brand-logo,
.payment-brand .payment-logo,
.public-result-brand .brand-logo { width: 52px ; height: 52px ; border-radius: 14px ; }
.login-brand strong,
.payment-brand strong,
.public-result-brand strong { display: block; color: var(--pub-text); font-size: 16px; font-weight: 750; }
.login-brand span,
.payment-brand small,
.public-result-brand span { display: block; margin-top: 3px; color: var(--pub-muted); font-size: 12.5px; }
.stack { display: flex; flex-direction: column; gap: 17px ; }
.grid-2,.grid-3 { gap: 16px ; }
body label:not(.check-card) { display: grid; gap: 7px; color: var(--pub-copy) ; font-size: 13px ; font-weight: 680 ; }
body :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea) {
  width: 100%;
  min-height: 45px ;
  margin: 0 ;
  padding: 10px 12px ;
  border: 1px solid var(--pub-border-strong) ;
  border-radius: var(--pub-radius-sm) ;
  background: var(--pub-surface) ;
  color: var(--pub-text) ;
  font-family: inherit;
  font-size: 15px ;
  box-shadow: none ;
}
body textarea { min-height: 108px ; resize: vertical; line-height: 1.55; }
body select {
  appearance: none;
  padding-right: 38px ;
  background-image: linear-gradient(45deg,transparent 50%,var(--pub-muted) 50%),linear-gradient(135deg,var(--pub-muted) 50%,transparent 50%) ;
  background-position: calc(100% - 17px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px) ;
  background-size: 5px 5px,5px 5px ;
  background-repeat: no-repeat ;
}
body :where(input,select,textarea):focus-visible { outline: 0 ; border-color: var(--pub-primary) ; box-shadow: var(--pub-focus) ; }
body input[type="checkbox"],body input[type="radio"] { width: 18px; height: 18px; margin: 1px 0 0 ; accent-color: var(--pub-primary); }
.check-card { display: flex ; align-items: flex-start; gap: 10px ; padding: 12px 13px ; border: 1px solid var(--pub-border) ; border-radius: var(--pub-radius-sm) ; background: var(--pub-subtle) ; }

body .btn {
  min-height: 43px ;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 9px 15px ;
  border: 1px solid transparent ;
  border-radius: 10px ;
  font-family: inherit;
  font-size: 14px ;
  font-weight: 710 ;
  line-height: 1.15;
  text-decoration: none;
  box-shadow: none ;
  transition: transform .12s ease,background-color .15s ease,border-color .15s ease,color .15s ease;
}
body .btn:hover:not(:disabled) { transform: translateY(-1px); }
body .btn.primary { border-color: var(--pub-primary) ; background: var(--pub-primary) ; color: var(--brand-secondary-contrast,#fff) ; }
body .btn.primary:hover { background: var(--pub-primary-hover) ; }
body .btn.secondary { border-color: var(--pub-border-strong) ; background: var(--pub-surface) ; color: var(--pub-copy) ; }
body .btn.secondary:hover { border-color: var(--pub-primary) ; background: var(--pub-primary-soft) ; color: var(--pub-primary) ; }
body .btn.warning { border-color: color-mix(in srgb,var(--pub-warning),#fff 40%) ; background: var(--pub-warning-soft) ; color: var(--pub-warning) ; }
body .btn.large { min-height: 49px ; padding: 11px 19px ; font-size: 15px ; }
body .btn.full { width: 100%; }

.alert { padding: 13px 15px ; border: 1px solid var(--pub-border) ; border-radius: var(--pub-radius-sm) ; background: var(--pub-subtle) ; color: var(--pub-copy) ; font-size: 13.5px ; line-height: 1.5; }
.alert.success { border-color: #b9e7d1 ; background: var(--pub-success-soft) ; color: #146a4a ; }
.alert.warning { border-color: #f1d49a ; background: var(--pub-warning-soft) ; color: #80520b ; }
.alert.danger { border-color: #efc0bd ; background: var(--pub-danger-soft) ; color: #9f2d28 ; }

/* Installation */
.install-card > form > section { padding: 20px; border: 1px solid var(--pub-border); border-radius: var(--pub-radius); background: var(--pub-subtle); }
.install-card > form > section h2 { margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--pub-border); }

/* Hosted payment */
.payment-amount { margin: 22px 0 ; padding: 18px ; border: 1px solid var(--pub-primary); border-radius: var(--pub-radius); background: var(--pub-primary-soft) ; }
.payment-amount small { display: block; color: var(--pub-primary) ; font-weight: 700; }
.payment-amount strong { display: block; margin-top: 4px; color: var(--pub-text); font-size: 31px ; font-weight: 760 ; }
.payment-security { margin: 20px 0 0 ; padding-top: 17px; border-top: 1px solid var(--pub-border); color: var(--pub-muted) ; font-size: 12.5px; }

/* Payment result and public error */
.public-result-document {
  margin: 20px 0 0;
  padding: 15px 16px;
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius);
  background: var(--pub-subtle);
}
.public-result-document small,
.public-result-document strong { display: block; }
.public-result-document small { color: var(--pub-muted) ; font-size: 11.5px ; font-weight: 720; letter-spacing: .08em; }
.public-result-document strong { margin-top: 4px; color: var(--pub-text); font-size: 18px; font-weight: 740; }
.public-result-note { margin: 20px 0 0 ; padding-top: 17px; border-top: 1px solid var(--pub-border); color: var(--pub-muted) ; font-size: 12.5px; }
.portal-error-card .ref {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 11px;
  border: 1px solid #efc0bd;
  border-radius: 999px;
  background: var(--pub-danger-soft);
  color: var(--pub-danger);
  font-size: 12px;
  font-weight: 740;
  letter-spacing: .025em;
}
.portal-error-card .ref + h1 { margin-top: 20px; }
.portal-error-card p:last-child { margin-bottom: 0; }
.portal-error-card a { color: var(--pub-primary); font-weight: 700; text-decoration: none; }
.portal-error-card a:hover { text-decoration: underline; }

/* Public visual approval */
body.public-approval-body { padding: 0; }
.public-approval-page { width: min(1220px,calc(100% - 40px)) ; margin: 0 auto ; padding: 28px 0 64px ; display: flex; flex-direction: column; gap: 22px; }
.public-approval-page > * { margin-block: 0 ; }
.public-approval-head,
.public-approval-message,
.public-approval-item,
.public-approval-form,
.public-approval-result {
  border: 1px solid var(--pub-border) ;
  border-radius: var(--pub-radius-lg) ;
  background: var(--pub-surface) ;
  box-shadow: 0 8px 26px rgba(16,24,40,.055) ;
}
.public-approval-head { padding: 22px 24px ; }
.public-approval-head > div:first-child { gap: 14px ; }
.public-approval-head .brand-logo { width: 54px ; height: 54px ; border-radius: 14px ; }
.public-approval-locale { padding: 7px 10px ; border: 1px solid var(--pub-primary) ; border-radius: 999px ; background: var(--pub-primary-soft) ; color: var(--pub-primary) ; font-size: 12px ; font-weight: 700 ; }
.public-approval-message { padding: 18px 20px ; }
.public-approval-items { display: flex; flex-direction: column; gap: 16px ; }
.public-approval-item { display: grid ; grid-template-columns: minmax(260px,.7fr) minmax(0,1.3fr); gap: 20px ; padding: 18px ; }
.public-approval-visual { min-height: 260px; overflow: hidden; border: 1px solid var(--pub-border) ; border-radius: var(--pub-radius) ; background: var(--pub-muted-surface) ; }
.public-approval-visual img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.item-type-badge { min-height: 26px; display: inline-flex; align-items: center; padding: 4px 9px ; border: 1px solid var(--pub-primary); border-radius: 999px ; background: var(--pub-primary-soft) ; color: var(--pub-primary) ; font-size: 12px ; font-weight: 720 ; }
.portal-spec-grid { gap: 12px ; }
.portal-spec-grid > * { padding: 12px ; border: 1px solid var(--pub-border) ; border-radius: var(--pub-radius-sm) ; background: var(--pub-subtle) ; }
.portal-file-inline { padding: 11px 12px ; border: 1px solid var(--pub-border) ; border-radius: var(--pub-radius-sm) ; background: var(--pub-subtle) ; }
.public-approval-form { padding: 22px ; }
.signature-capture { padding: 16px ; border: 1px solid var(--pub-border) ; border-radius: var(--pub-radius) ; background: var(--pub-subtle) ; }
.signature-capture canvas { width: 100%; height: auto; max-height: 220px; border: 1px solid var(--pub-border-strong) ; border-radius: var(--pub-radius-sm) ; background: #fff; }
.public-approval-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px ; padding-top: 18px; border-top: 1px solid var(--pub-border); }
.public-approval-result { padding: 24px ; }

/* Shared modal and processing overlay */
.app-modal-card { padding: 24px ; border: 1px solid var(--pub-border) ; border-radius: var(--pub-radius-lg) ; background: var(--pub-surface) ; box-shadow: var(--pub-shadow) ; }
.app-modal-close { border: 1px solid var(--pub-border) ; border-radius: 9px ; background: var(--pub-surface) ; color: var(--pub-copy) ; }
.processing-card { border: 1px solid var(--pub-border) ; border-radius: var(--pub-radius-lg) ; background: var(--pub-surface) ; box-shadow: var(--pub-shadow) ; }
.processing-spinner { border-top-color: var(--pub-primary) ; }

@media (max-width: 820px) {
  .public-approval-page { width: calc(100% - 24px) ; padding-top: 16px ; }
  .public-approval-head { flex-direction: column; align-items: flex-start ; }
  .public-approval-item { grid-template-columns: 1fr ; }
  .public-approval-visual { min-height: 220px; }
  .grid-2,.grid-3 { grid-template-columns: 1fr ; }
  .span-2,.span-3 { grid-column: auto ; }
}
@media (max-width: 560px) {
  body.login-body,body.install-body,body.public-payment-body,body.public-result-body,body.portal-error-body { padding: 12px; }
  .login-card,.install-card,.public-payment-card,.public-result-card,.portal-error-card { padding: 22px ; border-radius: var(--pub-radius) ; }
  body h1 { font-size: 28px ; }
  body .btn:not(.secondary) { width: 100%; }
  .public-approval-page { width: calc(100% - 16px) ; }
  .public-approval-head,.public-approval-message,.public-approval-item,.public-approval-form,.public-approval-result { border-radius: var(--pub-radius) ; }
  .public-approval-actions { flex-direction: column; }
  .public-approval-actions .btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration: .01ms ; animation-iteration-count: 1 ; transition-duration: .01ms ; }
}

/* Build 10.8 — customer visual approval */
body.approval-public-v108 {
  --approval-ink: var(--brand-primary, #172332);
  --approval-accent: var(--brand-secondary, #1463ff);
  --approval-highlight: var(--brand-accent, #ff6b35);
  --approval-canvas: #f2f5f9;
  --approval-paper: #fff;
  --approval-soft: #f7f9fc;
  --approval-line: #d9e1eb;
  --approval-muted: #667085;
  --approval-success: #157a55;
  --approval-success-soft: #eaf8f1;
  --approval-warning: #9a5a00;
  --approval-warning-soft: #fff5dc;
  --approval-danger: #b72e28;
  --approval-danger-soft: #fff0ef;
  margin: 0;
  min-height: 100vh;
  background: var(--approval-canvas);
  color: var(--approval-ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
body.approval-public-v108 *,
body.approval-public-v108 *::before,
body.approval-public-v108 *::after {
  box-sizing: border-box;
}
body.approval-public-v108 a {
  color: inherit;
}
.approval-public-shell {
  width: min(1480px, calc(100% - 40px));
  margin: 0 auto;
  padding: 28px 0 56px;
}
.approval-public-header,
.approval-public-hero,
.approval-public-instructions,
.approval-public-items-section,
.approval-public-decision,
.approval-public-complete,
.approval-public-footer {
  border: 1px solid var(--approval-line);
  border-radius: 18px;
  background: var(--approval-paper);
  box-shadow: 0 10px 32px rgba(16, 24, 40, .055);
}
.approval-public-header {
  min-height: 92px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 24px;
  border-radius: 18px 18px 0 0;
  border-bottom: 0;
}
.approval-public-brand {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 14px;
}
.approval-public-logo {
  width: auto;
  max-width: 180px;
  max-height: 54px;
  object-fit: contain;
}
.approval-public-brand > div {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.approval-public-brand strong {
  font-size: 17px;
  line-height: 1.2;
}
.approval-public-brand small {
  color: var(--approval-muted);
}
.approval-public-reference {
  display: grid;
  justify-items: end;
  gap: 2px;
  text-align: right;
}
.approval-public-reference > span,
.approval-public-complete > div > span,
.approval-public-item-no {
  color: var(--approval-accent);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.approval-public-reference strong {
  font-size: 20px;
}
.approval-public-reference small {
  color: var(--approval-muted);
}
.approval-public-hero {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 24px;
  padding: 32px;
  overflow: hidden;
  border-radius: 0 0 18px 18px;
  background: linear-gradient(135deg, var(--approval-ink), color-mix(in srgb, var(--approval-ink), var(--approval-accent) 24%));
  color: #fff;
}
.approval-public-hero::after {
  content: "";
  position: absolute;
  width: 330px;
  height: 330px;
  right: -140px;
  top: -210px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--approval-accent) 28%, transparent);
  pointer-events: none;
}
.approval-public-hero > div {
  position: relative;
  z-index: 1;
  min-width: 0;
}
.approval-public-job-ref {
  display: inline-flex;
  padding: 6px 9px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 8px;
  background: rgba(255,255,255,.1);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
}
.approval-public-hero h1 {
  max-width: 920px;
  margin: 13px 0 5px;
  color: #fff;
  font-size: clamp(30px, 4.3vw, 52px);
  font-weight: 780;
  letter-spacing: -.04em;
  line-height: 1.05;
}
.approval-public-hero p {
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: 17px;
}
.approval-public-status {
  flex: 0 0 min(320px, 32vw);
  display: grid;
  gap: 5px;
  padding: 18px 20px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 14px;
  background: rgba(255,255,255,.1);
  backdrop-filter: blur(10px);
}
.approval-public-status span {
  color: rgba(255,255,255,.72);
  font-size: 12px;
  font-weight: 700;
}
.approval-public-status strong {
  font-size: 21px;
  line-height: 1.25;
}
.approval-public-instructions,
.approval-public-items-section,
.approval-public-decision,
.approval-public-complete {
  margin-top: 24px;
  padding: clamp(22px, 3vw, 34px);
}
.approval-public-instructions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 370px);
  gap: 30px;
  align-items: start;
}
.approval-public-instructions > div,
.approval-public-section-head > div {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.approval-step-number {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: color-mix(in srgb, var(--approval-accent) 11%, white);
  color: var(--approval-accent);
  font-size: 15px;
  font-weight: 900;
}
.approval-public-instructions h2,
.approval-public-section-head h2,
.approval-public-complete h2 {
  margin: 0;
  font-size: clamp(22px, 2.3vw, 29px);
  font-weight: 760;
  letter-spacing: -.025em;
  line-height: 1.2;
}
.approval-public-message {
  max-width: 850px;
  margin-top: 12px;
  color: #344054;
  line-height: 1.72;
}
.approval-public-message > :first-child {
  margin-top: 0;
}
.approval-public-message > :last-child {
  margin-bottom: 0;
}
.approval-public-instructions > aside {
  padding: 18px 20px;
  border: 1px solid var(--approval-line);
  border-radius: 13px;
  background: var(--approval-soft);
}
.approval-public-instructions > aside strong {
  display: block;
  margin-bottom: 9px;
}
.approval-public-instructions ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding-left: 20px;
  color: #475467;
  font-size: 14px;
}
.approval-public-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}
.approval-public-section-head p {
  margin: 5px 0 0;
  color: var(--approval-muted);
}
.approval-public-section-head > span {
  flex: 0 0 auto;
  padding: 7px 10px;
  border-radius: 9px;
  background: var(--approval-soft);
  color: var(--approval-muted);
  font-size: 12px;
  font-weight: 750;
}
.approval-public-items-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.approval-public-item-card {
  min-width: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  border: 1px solid var(--approval-line);
  border-radius: 15px;
  background: var(--approval-paper);
}
.approval-public-visual {
  position: relative;
  min-height: 310px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--approval-line);
  background: #eef2f6;
  text-decoration: none;
}
.approval-public-visual img {
  width: 100%;
  height: 100%;
  min-height: 310px;
  object-fit: contain;
  background: #fff;
  transition: transform .2s ease;
}
.approval-public-visual:hover img {
  transform: scale(1.012);
}
.approval-public-visual > span {
  position: absolute;
  right: 14px;
  bottom: 14px;
  padding: 8px 10px;
  border-radius: 9px;
  background: color-mix(in srgb, var(--approval-ink) 88%, transparent);
  color: #fff;
  font-size: 12px;
  font-weight: 780;
}
.approval-public-item-copy {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 18px;
  padding: 21px;
}
.approval-public-item-copy > header {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
}
.approval-public-item-copy h3 {
  margin: 5px 0 0;
  font-size: 20px;
  line-height: 1.28;
}
.approval-public-item-copy > header > strong {
  flex: 0 0 auto;
  padding: 8px 10px;
  border-radius: 9px;
  background: color-mix(in srgb, var(--approval-accent) 10%, white);
  color: var(--approval-accent);
  font-size: 14px;
}
.approval-public-specs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}
.approval-public-specs > div {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 12px 13px;
  border: 1px solid var(--approval-line);
  border-radius: 10px;
  background: var(--approval-soft);
}
.approval-public-specs dt {
  color: var(--approval-muted);
  font-size: 11px;
  font-weight: 750;
}
.approval-public-specs dd {
  margin: 0;
  overflow-wrap: anywhere;
  color: #344054;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.42;
}
.approval-public-specs dd small {
  display: block;
  margin-top: 3px;
  color: var(--approval-muted);
  font-size: 11px;
  font-weight: 600;
}
.approval-public-warning {
  color: var(--approval-warning);
}
.approval-public-decision {
  border-color: color-mix(in srgb, var(--approval-accent) 24%, var(--approval-line));
}
.approval-public-form {
  display: grid;
  gap: 22px;
}
.approval-public-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.approval-public-form label,
.approval-public-signature {
  min-width: 0;
}
.approval-public-form label > span {
  display: block;
  margin-bottom: 7px;
  color: #344054;
  font-size: 13px;
  font-weight: 750;
}
.approval-public-form input,
.approval-public-form textarea {
  width: 100%;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid #bdc8d6;
  border-radius: 10px;
  background: #fff;
  color: var(--approval-ink);
  font: inherit;
  outline: none;
}
.approval-public-form textarea {
  min-height: 130px;
  resize: vertical;
}
.approval-public-form input:focus,
.approval-public-form textarea:focus {
  border-color: var(--approval-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--approval-accent) 18%, transparent);
}
.approval-public-form .span-3 {
  grid-column: 1 / -1;
}
.approval-public-signature {
  overflow: hidden;
  border: 1px solid var(--approval-line);
  border-radius: 13px;
  background: var(--approval-soft);
}
.approval-public-signature-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 15px;
  border-bottom: 1px solid var(--approval-line);
}
.approval-public-signature-head > div {
  display: grid;
  gap: 2px;
}
.approval-public-signature-head small {
  color: var(--approval-muted);
}
.approval-public-signature canvas {
  width: 100%;
  height: 190px;
  display: block;
  touch-action: none;
  background: #fff;
  cursor: crosshair;
}
.approval-public-confirm {
  display: flex ;
  align-items: flex-start;
  gap: 12px;
  padding: 15px 16px;
  border: 1px solid var(--approval-line);
  border-radius: 12px;
  background: var(--approval-soft);
}
.approval-public-confirm input {
  width: 19px;
  min-width: 19px;
  height: 19px;
  min-height: 19px;
  margin-top: 2px;
  padding: 0;
  accent-color: var(--approval-accent);
}
.approval-public-confirm > span {
  margin: 0 ;
  display: grid ;
  gap: 3px;
}
.approval-public-confirm small {
  color: var(--approval-muted);
  font-weight: 500;
}
.approval-public-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}
.approval-public-v108 .btn {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border: 1px solid transparent;
  border-radius: 10px;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}
.approval-public-v108 .btn.large {
  min-height: 52px;
  padding-inline: 22px;
}
.approval-public-v108 .btn.small {
  min-height: 36px;
  padding: 7px 11px;
  font-size: 12px;
}
.approval-public-v108 .btn.primary {
  border-color: var(--approval-accent);
  background: var(--approval-accent);
  color: #fff;
}
.approval-public-v108 .btn.secondary {
  border-color: var(--approval-line);
  background: #fff;
  color: var(--approval-ink);
}
.approval-public-v108 .btn.warning {
  border-color: color-mix(in srgb, var(--approval-highlight) 75%, var(--approval-warning));
  background: color-mix(in srgb, var(--approval-highlight) 80%, var(--approval-warning));
  color: #fff;
}
.approval-public-v108 .btn:hover {
  filter: brightness(.96);
}
.approval-public-complete {
  display: flex;
  gap: 16px;
  border-color: color-mix(in srgb, var(--approval-success) 26%, var(--approval-line));
  background: var(--approval-success-soft);
}
.approval-public-complete.status-changes_requested {
  border-color: color-mix(in srgb, var(--approval-warning) 30%, var(--approval-line));
  background: var(--approval-warning-soft);
}
.approval-public-complete p {
  color: #475467;
}
.approval-public-complete dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0 0;
}
.approval-public-complete dl > div {
  display: grid;
  gap: 3px;
  padding: 11px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 10px;
  background: rgba(255,255,255,.62);
}
.approval-public-complete dt {
  color: var(--approval-muted);
  font-size: 11px;
  font-weight: 750;
}
.approval-public-complete dd {
  margin: 0;
  font-weight: 750;
}
.approval-public-footer {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-top: 24px;
  padding: 18px 22px;
  color: var(--approval-muted);
  font-size: 13px;
}
.approval-public-footer > div {
  display: grid;
  gap: 2px;
}
.approval-public-footer strong {
  color: var(--approval-ink);
}

@media (max-width: 980px) {
  .approval-public-instructions,
  .approval-public-items-grid {
    grid-template-columns: 1fr;
  }
  .approval-public-status {
    flex-basis: 270px;
  }
}
@media (max-width: 720px) {
  .approval-public-shell {
    width: min(100% - 20px, 1480px);
    padding-top: 10px;
  }
  .approval-public-header,
  .approval-public-hero,
  .approval-public-footer {
    display: grid;
  }
  .approval-public-reference {
    justify-items: start;
    text-align: left;
  }
  .approval-public-hero {
    align-items: start;
    padding: 24px 20px;
  }
  .approval-public-status {
    width: 100%;
    flex-basis: auto;
  }
  .approval-public-instructions,
  .approval-public-items-section,
  .approval-public-decision,
  .approval-public-complete {
    padding: 20px;
  }
  .approval-public-section-head,
  .approval-public-item-copy > header,
  .approval-public-actions {
    display: grid;
  }
  .approval-public-items-grid,
  .approval-public-form-grid,
  .approval-public-specs,
  .approval-public-complete dl {
    grid-template-columns: 1fr;
  }
  .approval-public-form .span-3 {
    grid-column: auto;
  }
  .approval-public-actions .btn {
    width: 100%;
  }
  .approval-public-visual,
  .approval-public-visual img {
    min-height: 230px;
  }
  .approval-public-footer {
    align-items: start;
  }
}
@media print {
  body.approval-public-v108 {
    background: #fff;
  }
  .approval-public-shell {
    width: 100%;
    padding: 0;
  }
  .approval-public-header,
  .approval-public-hero,
  .approval-public-instructions,
  .approval-public-items-section,
  .approval-public-complete,
  .approval-public-footer,
  .approval-public-item-card {
    box-shadow: none;
    break-inside: avoid;
  }
  .approval-public-decision {
    display: none;
  }
}

/* Clever Signs public/auth/payment/approval standard — Build 10.12 */
:root{
  --pub-action:var(--brand-secondary,#1463ff);
  --pub-action-strong:color-mix(in srgb,var(--pub-action),#001c45 23%);
  --pub-action-soft:color-mix(in srgb,var(--pub-action),#fff 91%);
  --pub-nav:var(--brand-primary,#172332);
  --pub-canvas:color-mix(in srgb,var(--brand-surface,#edf0f3),#fff 58%);
  --pub-surface:#fff;
  --pub-soft:color-mix(in srgb,var(--brand-surface,#edf0f3),#fff 74%);
  --pub-border:color-mix(in srgb,var(--brand-primary,#172332),transparent 84%);
  --pub-border-strong:color-mix(in srgb,var(--brand-primary,#172332),transparent 70%);
  --pub-text:#172033;
  --pub-copy:#344054;
  --pub-muted:#667085;
  --pub-danger:#c4322b;
  --pub-success:#16845b;
  --pub-warning:#9a5b00;
  --pub-radius:var(--ui-radius,12px);
  --pub-control:var(--control-height,46px);
  --pub-focus:0 0 0 3px color-mix(in srgb,var(--pub-action),transparent 79%);
  --pub-shadow:0 24px 72px rgba(16,24,40,.14);
}
html{min-height:100%;background:var(--pub-canvas)}
body:where(.login-body,.public-payment-body,.portal-error-body,.payment-result-body,.public-result-body,.install-body,.approval-public-v108){min-height:100vh;margin:0;background:var(--pub-canvas);color:var(--pub-text);font-size:var(--app-base-font-size,15px);line-height:1.55;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body :where(button,input,select,textarea){font:inherit}
body :where(.login-card,.public-payment-card,.portal-error-card,.payment-result-card,.public-result-card,.install-card){width:min(100% - 28px,620px);margin:clamp(26px,7vh,88px) auto;padding:clamp(22px,3vw,34px);border:1px solid var(--pub-border);border-radius:max(18px,calc(var(--pub-radius) + 6px));background:var(--pub-surface);box-shadow:var(--pub-shadow)}
body .login-card{width:min(100% - 28px,520px)}
body :where(.login-card,.public-payment-card,.portal-error-card,.payment-result-card,.public-result-card,.install-card) h1{margin:12px 0 7px;color:var(--pub-text);font-size:clamp(27px,4vw,36px);font-weight:790;letter-spacing:-.035em;line-height:1.08}
body :where(.login-card,.public-payment-card,.portal-error-card,.payment-result-card,.public-result-card,.install-card)>p{margin:0 0 20px;color:var(--pub-muted);font-size:14px;line-height:1.55}
body .eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--pub-action-strong);font-size:11px;font-weight:820;letter-spacing:.11em;text-transform:uppercase}
body .eyebrow:before{content:"";width:18px;height:2px;border-radius:99px;background:var(--pub-action)}
.login-brand,.payment-brand{display:flex;align-items:center;gap:13px;margin-bottom:22px}
.login-logo,.payment-logo{width:50px;height:50px;border-radius:14px}
.login-brand strong,.payment-brand strong{display:block;font-size:16px}
.login-brand span,.payment-brand small{display:block;color:var(--pub-muted);font-size:12px}
.login-language{display:flex;justify-content:flex-end;gap:4px;margin:-8px -4px 18px}
.login-language a{min-height:34px;display:inline-flex;align-items:center;padding:6px 10px;border-radius:8px;color:var(--pub-muted);font-size:12px;font-weight:720;text-decoration:none}
.login-language a.active{background:var(--pub-action-soft);color:var(--pub-action-strong)}
body label:not(.approval-public-confirm){display:grid;gap:7px;margin:0;color:var(--pub-copy);font-size:13px;font-weight:720;line-height:1.35}
body :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){width:100%;min-height:var(--pub-control);margin:0;padding:10px 12px;border:1px solid var(--pub-border-strong);border-radius:9px;background:#fff;color:var(--pub-text);font-size:14px;box-sizing:border-box}
body textarea{min-height:104px;resize:vertical}
body :where(input,select,textarea):focus{outline:0;border-color:var(--pub-action);box-shadow:var(--pub-focus)}
body :where(input[type=checkbox],input[type=radio]){width:18px;height:18px;min-height:18px;margin:0;accent-color:var(--pub-action)}
body .stack{display:flex;flex-direction:column;gap:17px}
body :where(.btn,button.btn,a.btn){min-height:var(--pub-control);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 15px;border:1px solid transparent;border-radius:10px;font-size:14px;font-weight:750;text-decoration:none;white-space:nowrap;box-sizing:border-box}
body .btn.primary{border-color:var(--pub-action);background:var(--pub-action);color:var(--brand-secondary-contrast,#fff)}
body .btn.secondary{border-color:var(--pub-border-strong);background:#fff;color:var(--pub-text)}
body .btn.warning{border-color:color-mix(in srgb,var(--pub-warning),#fff 25%);background:#fff5dd;color:#704300}
body .btn.danger{border-color:var(--pub-danger);background:var(--pub-danger);color:#fff}
body .btn.large{min-height:50px;padding:12px 18px;font-size:15px}
body .btn.small{min-height:36px;padding:7px 11px;font-size:12px}
body .btn.full{width:100%}
body :where(.btn,button,input,select,textarea):focus-visible{outline:0;box-shadow:var(--pub-focus)}
body .alert{padding:13px 15px;border-radius:10px;font-size:13px;line-height:1.5}
.payment-amount{margin:22px 0;padding:18px;border:1px solid var(--pub-border);border-radius:12px;background:var(--pub-soft)}
.payment-amount small{display:block;color:var(--pub-muted);font-size:12px;font-weight:700}
.payment-amount strong{display:block;margin-top:5px;color:var(--pub-text);font-size:31px;letter-spacing:-.04em}
.payment-security{margin-top:18px;padding-top:16px;border-top:1px solid var(--pub-border);font-size:12px}
.portal-error-card .ref{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--pub-soft);color:var(--pub-muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:720}
.portal-error-card a{color:var(--pub-action-strong);font-weight:720;text-decoration:none}

/* Public visual approval uses its purpose-built grid but inherits the same scale. */
body.approval-public-v108 .approval-public-shell{width:min(100% - 28px,1420px);margin:24px auto 48px;display:flex;flex-direction:column;gap:22px}
body.approval-public-v108 :where(.approval-public-header,.approval-public-hero,.approval-public-instructions,.approval-public-items-section,.approval-public-decision,.approval-public-complete,.approval-public-footer){border-color:var(--pub-border);border-radius:max(16px,calc(var(--pub-radius) + 4px));background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.025),0 10px 28px rgba(16,24,40,.05)}
body.approval-public-v108 .approval-public-header{padding:20px 22px}
body.approval-public-v108 .approval-public-hero{padding:24px}
body.approval-public-v108 .approval-public-hero h1{font-size:clamp(28px,3vw,40px)}
body.approval-public-v108 :where(.approval-public-instructions,.approval-public-items-section,.approval-public-decision,.approval-public-complete){padding:24px}
body.approval-public-v108 .approval-public-section-head h2,body.approval-public-v108 .approval-public-instructions h2,body.approval-public-v108 .approval-public-decision h2{font-size:21px;font-weight:760}
body.approval-public-v108 .approval-public-items-grid{gap:16px}
body.approval-public-v108 .approval-public-item-card{border-color:var(--pub-border);border-radius:13px;overflow:hidden}
body.approval-public-v108 .approval-public-item-copy{padding:18px}
body.approval-public-v108 .approval-public-form-grid{gap:17px 18px}
body.approval-public-v108 .approval-public-signature{padding:16px;border-color:var(--pub-border);border-radius:12px;background:var(--pub-soft)}
body.approval-public-v108 .approval-public-confirm{display:flex;align-items:flex-start;gap:11px;padding:14px;border:1px solid var(--pub-border);border-radius:11px;background:var(--pub-soft)}
body.approval-public-v108 .approval-public-actions{gap:10px;padding-top:18px;border-top:1px solid var(--pub-border)}

@media(max-width:760px){
  body.approval-public-v108 .approval-public-shell{width:min(100% - 20px,1420px);margin:10px auto 28px;gap:14px}
  body.approval-public-v108 :where(.approval-public-header,.approval-public-hero){flex-direction:column;gap:14px}
  body.approval-public-v108 .approval-public-instructions{grid-template-columns:1fr}
  body.approval-public-v108 .approval-public-items-grid{grid-template-columns:1fr}
  body.approval-public-v108 .approval-public-form-grid{grid-template-columns:1fr}
  body.approval-public-v108 .approval-public-form-grid .span-3{grid-column:auto}
}
@media(max-width:520px){
  body :where(.login-card,.public-payment-card,.portal-error-card,.payment-result-card,.public-result-card,.install-card){width:min(100% - 20px,620px);margin:18px auto;padding:20px}
  body.approval-public-v108 :where(.approval-public-header,.approval-public-hero,.approval-public-instructions,.approval-public-items-section,.approval-public-decision,.approval-public-complete,.approval-public-footer){padding:17px;border-radius:13px}
  body.approval-public-v108 .approval-public-actions{display:grid;grid-template-columns:1fr}
}

/* Public transition and payment-result details. */
.public-result-brand{display:flex;align-items:center;gap:13px;margin-bottom:22px}.public-result-brand .brand-logo{width:50px;height:50px;border-radius:14px}.public-result-brand strong{display:block;font-size:16px}.public-result-brand span{display:block;color:var(--pub-muted);font-size:12px}.public-result-document{margin:20px 0;padding:15px 17px;border:1px solid var(--pub-border);border-radius:11px;background:var(--pub-soft)}.public-result-document small{display:block;color:var(--pub-muted);font-size:11px;font-weight:760;letter-spacing:.08em}.public-result-document strong{display:block;margin-top:4px;font-size:18px}.public-result-note{margin-top:18px;padding-top:15px;border-top:1px solid var(--pub-border)}
.public-processing-card{text-align:left}.public-processing-indicator{width:42px;height:42px;margin:22px auto 4px;border:4px solid color-mix(in srgb,var(--pub-action),transparent 82%);border-top-color:var(--pub-action);border-radius:50%;animation:public-processing-spin .8s linear infinite}@keyframes public-processing-spin{to{transform:rotate(360deg)}}

/* Payment-result compatibility. */
body.public-result-body{min-height:100vh;margin:0;background:var(--pub-canvas);color:var(--pub-text);font-size:var(--app-base-font-size,15px);line-height:1.55}
body .public-result-card{width:min(100% - 28px,620px);margin:clamp(26px,7vh,88px) auto;padding:clamp(22px,3vw,34px);border:1px solid var(--pub-border);border-radius:max(18px,calc(var(--pub-radius) + 6px));background:var(--pub-surface);box-shadow:var(--pub-shadow)}
.public-result-brand{display:flex;align-items:center;gap:13px;margin-bottom:22px}.public-result-brand .brand-logo{width:50px;height:50px;border-radius:14px}.public-result-brand strong,.public-result-brand span{display:block}.public-result-brand span{color:var(--pub-muted);font-size:12px}.public-result-card h1{margin:12px 0 7px;color:var(--pub-text);font-size:clamp(27px,4vw,36px);font-weight:790;letter-spacing:-.035em;line-height:1.08}.public-result-card>p{color:var(--pub-muted);font-size:14px;line-height:1.55}.public-result-document{margin:22px 0;padding:16px;border:1px solid var(--pub-border);border-radius:12px;background:var(--pub-soft)}.public-result-document small,.public-result-document strong{display:block}.public-result-document small{color:var(--pub-muted);font-size:11px;font-weight:760}.public-result-document strong{margin-top:4px;color:var(--pub-text);font-size:18px}.public-result-note{padding-top:16px;border-top:1px solid var(--pub-border);font-size:12px}

/* Safe hand-off and sign-out states. */
.public-processing-card{text-align:left}
.public-processing-indicator,.processing-spinner{width:34px;height:34px;margin:20px auto 0;border:3px solid color-mix(in srgb,var(--pub-action),transparent 80%);border-top-color:var(--pub-action);border-radius:50%;animation:public-spin .8s linear infinite}
@keyframes public-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.public-processing-indicator,.processing-spinner{animation-duration:1.8s}}

}
@layer reset { *,*::before,*::after{box-sizing:border-box} html,body{min-height:100%} body{margin:0} button,input,select,textarea{font:inherit} img,svg{max-width:100%;display:block} }
@layer public {
:root{--pub-primary:var(--brand-secondary,#1769ff);--pub-navy:var(--brand-primary,#152234);--pub-surface:#fff;--pub-canvas:color-mix(in srgb,var(--brand-surface,#edf1f5),#fff 48%);--pub-text:#152033;--pub-muted:#667085;--pub-border:#d9e0e8;--pub-danger:#c9342c;--pub-success:#11875d;--pub-radius:16px;--pub-shadow:0 20px 60px rgba(16,24,40,.13)}
body{background:var(--pub-canvas);color:var(--pub-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--pub-primary);text-decoration:none} h1,h2,h3,p{margin-top:0} h1,h2,h3{color:var(--pub-text);letter-spacing:-.025em}
.public-shell,.login-shell,.approval-public-shell,.public-payment-body,.portal-error-body{min-height:100vh;padding:clamp(20px,5vw,56px);display:grid;place-items:center}
.public-card,.login-card,.public-payment-card,.portal-error-card,.approval-public-card{width:min(100%,640px);padding:clamp(24px,4vw,42px);border:1px solid var(--pub-border);border-radius:22px;background:#fff;box-shadow:var(--pub-shadow)}
.public-card.wide,.approval-public-card{width:min(100%,1180px)}
.public-card h1,.login-card h1,.public-payment-card h1,.portal-error-card h1{font-size:clamp(28px,4vw,42px);line-height:1.08}
.public-card p,.login-card p,.public-payment-card p,.portal-error-card p{color:var(--pub-muted)}
label{display:flex;flex-direction:column;gap:6px;margin-bottom:15px;color:#344054;font-size:13px;font-weight:700}
input,select,textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:11px;background:#fff;color:var(--pub-text);outline:0} textarea{min-height:120px;resize:vertical} input:focus,select:focus,textarea:focus{border-color:var(--pub-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--pub-primary),transparent 78%)}
.btn,button{min-height:46px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:11px;background:var(--pub-primary);color:#fff;font-weight:750;cursor:pointer}.btn.secondary{border-color:var(--pub-border);background:#fff;color:var(--pub-text)}.btn.danger{background:#fff0ef;color:var(--pub-danger);border-color:#f3b8b4}.btn.full{width:100%}
.public-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.alert{padding:13px 15px;border:1px solid var(--pub-border);border-radius:11px;background:#f7f9fc;color:#344054}.alert.danger{background:#fff0ef;color:#8c241f}.alert.success{background:#eaf8f1;color:#0f6f4c}
.approval-public-item{padding:18px;border:1px solid var(--pub-border);border-radius:14px;background:#fff}.approval-public-item+.approval-public-item{margin-top:14px}.approval-public-preview{min-height:280px;display:grid;place-items:center;overflow:hidden;border-radius:11px;background:#f4f7fa}.approval-public-preview img{width:100%;height:100%;object-fit:contain}
@media(max-width:620px){.public-shell,.login-shell,.approval-public-shell,.public-payment-body,.portal-error-body{padding:14px}.public-card,.login-card,.public-payment-card,.portal-error-card,.approval-public-card{padding:22px;border-radius:16px}.public-actions{flex-direction:column}.public-actions .btn{width:100%}}
}

/* Build 11.1 public-page stabilisation */
body.approval-public-v108 .approval-public-shell {
  width: min(calc(100% - 32px), 1320px);
  min-height: 0;
  padding: 0;
  margin: 28px auto 56px;
  display: flex;
  place-items: initial;
}
body.approval-public-v108 .approval-public-items-grid {
  grid-template-columns: repeat(auto-fit,minmax(min(100%,420px),1fr));
  align-items: start;
}
body.approval-public-v108 .approval-public-item-card { align-self: start; }
body.approval-public-v108 .approval-public-visual {
  min-height: 260px;
  aspect-ratio: 4 / 3;
  background: linear-gradient(135deg,#f5f7fa,#e9eef4);
}
body.approval-public-v108 .approval-public-visual img {
  min-height: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
body.approval-public-v108 .approval-public-visual.is-missing::before {
  content: "Preview unavailable";
  display: grid;
  place-items: center;
  width: calc(100% - 36px);
  height: calc(100% - 36px);
  border: 1px dashed var(--approval-line);
  border-radius: 12px;
  background: rgba(255,255,255,.72);
  color: var(--approval-muted);
  font-size: 14px;
  font-weight: 750;
}
body.approval-public-v108 .approval-public-instructions { align-items: start; }
body.approval-public-v108 .approval-public-message,
body.approval-public-v108 .approval-public-message :where(p,li) { color: var(--approval-ink); }
@media(max-width:720px){
  body.approval-public-v108 .approval-public-shell{width:min(calc(100% - 16px),1320px);margin:8px auto 26px}
  body.approval-public-v108 .approval-public-visual{min-height:210px;aspect-ratio:4/3}
}

@layer public {
/* Build 11.1 public approval stability. */
body.approval-public-v108 .approval-public-shell,body.approval-public-body .approval-public-shell{width:min(100%,1320px);margin:0 auto;padding:clamp(22px,4vw,52px);display:flex;flex-direction:column;gap:22px}
body.approval-public-v108 :where(.approval-public-header,.approval-public-hero,.approval-public-instructions,.approval-public-items-section,.approval-public-decision,.approval-public-complete,.approval-public-footer){width:100%;margin:0;padding:clamp(20px,2.4vw,30px);border:1px solid var(--pub-border,var(--public-line,#d9e0e8));border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(16,24,40,.06)}
body.approval-public-v108 .approval-public-items-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:18px;align-items:start}
body.approval-public-v108 .approval-public-item-card{min-width:0;overflow:hidden;border:1px solid var(--pub-border,var(--public-line,#d9e0e8));border-radius:15px;background:#fff}
body.approval-public-v108 .approval-public-visual{position:relative;min-height:320px;display:grid;place-items:center;overflow:hidden;background:#f3f6f9;color:var(--pub-muted,#667085)}
body.approval-public-v108 .approval-public-visual::before{content:'Preview unavailable';position:absolute;inset:0;display:grid;place-items:center;color:var(--pub-muted,#667085);font-size:14px;font-weight:750}
body.approval-public-v108 .approval-public-visual img{position:relative;z-index:1;width:100%;height:100%;min-height:320px;object-fit:contain;background:#f8fafc}
body.approval-public-v108 .approval-public-visual img.is-preview-error{display:none}
body.approval-public-v108 .approval-public-visual>span{position:absolute;z-index:2;right:14px;bottom:14px;padding:9px 12px;border-radius:9px;background:rgba(21,32,51,.9);color:#fff;font-size:12px;font-weight:750}
body.approval-public-v108 .approval-public-item-copy{padding:18px}body.approval-public-v108 .approval-public-item-copy header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
body.approval-public-v108 .approval-public-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
body.approval-public-v108 .approval-public-specs>div{min-width:0;padding:12px;border:1px solid var(--pub-border,var(--public-line,#d9e0e8));border-radius:10px;background:#f8fafc}
body.approval-public-v108 .approval-public-specs dt{color:var(--pub-muted,#667085);font-size:11px;font-weight:750;text-transform:uppercase}body.approval-public-v108 .approval-public-specs dd{margin:5px 0 0;color:var(--pub-text,#152033);overflow-wrap:anywhere}
@media(max-width:700px){body.approval-public-v108 .approval-public-specs{grid-template-columns:1fr}body.approval-public-v108 .approval-public-visual,body.approval-public-v108 .approval-public-visual img{min-height:230px}}
}


/* Build 12.0 public stability */
@layer v12 {
  :root {
    --public-v12-text: var(--pub-text,var(--public-text,#172332));
    --public-v12-muted: var(--pub-muted,var(--public-muted,#667085));
    --public-v12-line: var(--pub-border,var(--public-line,#d9e1e8));
    --public-v12-surface: #fff;
    --public-v12-soft: #f6f8fb;
  }
  body { color: var(--public-v12-text); font-size: 16px; line-height: 1.55; }
  body :where(h1,h2,h3,h4,p,span,strong,small,a,button,label,dt,dd,th,td) { overflow-wrap: break-word; }
  body :where(.login-card,.install-card,.public-card,.payment-card,.approval-public-shell,.approval-public-header,.approval-public-hero,.approval-public-instructions,.approval-public-items-section,.approval-public-decision,.approval-public-complete) { min-width: 0; }
  body :where(.login-card,.install-card,.public-card,.payment-card) { padding: clamp(22px,4vw,38px); border: 1px solid var(--public-v12-line); border-radius: 18px; background: var(--public-v12-surface); }
  body :where(label,.field) { display: grid; align-content: start; gap: 7px; min-width: 0; color: var(--public-v12-text); font-size: 13px; font-weight: 750; }
  body :where(input,select,textarea) { width: 100%; min-width: 0; min-height: 44px; margin: 0; padding: 10px 12px; border: 1px solid var(--public-v12-line); border-radius: 10px; background: #fff; color: var(--public-v12-text); }
  body textarea { min-height: 110px; resize: vertical; line-height: 1.5; }
  body :where(input,select,textarea):focus { border-color: var(--brand-primary,#172332); outline: 0; box-shadow: 0 0 0 3px color-mix(in srgb,var(--brand-primary,#172332) 18%,transparent); }
  body :where(.btn,button[type=submit]) { min-height: 42px; padding: 10px 15px; border-radius: 10px; line-height: 1.2; }
  body :where(.public-language-switch) { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; margin-bottom: 18px; }
  body .public-language-switch a { padding: 7px 10px; border: 1px solid var(--public-v12-line); border-radius: 8px; color: var(--public-v12-muted); font-size: 12px; font-weight: 750; }
  body .public-language-switch a.active { border-color: var(--brand-primary,#172332); background: var(--brand-primary,#172332); color: #fff; }
  body :where(.alert) { border: 1px solid transparent; border-radius: 11px; padding: 12px 14px; }
  body :where(.alert.danger) { border-color: #f1beb8; background: #fee9e7; color: #812018; }
  body :where(.alert.warning) { border-color: #efd79b; background: #fff4d8; color: #6f4700; }
  body :where(.alert.success) { border-color: #b7dfc8; background: #e9f7ef; color: #135c38; }
  body :where(.grid-2,.grid-3,.form-grid,.field-grid) { gap: 15px; }
  body :where(.approval-public-item-card,.approval-public-specs>div) { min-width: 0; }
  @media (max-width:700px) {
    body :where(.grid-2,.grid-3,.form-grid,.field-grid) { grid-template-columns: 1fr !important; }
    body :where(.span-2,.span-3) { grid-column: auto !important; }
    body :where(.login-card,.install-card,.public-card,.payment-card) { padding: 20px; border-radius: 14px; }
  }
}

/* BEGIN SHARED SURFACE REFRESH */
/* 12.19 shared surface polish: customer portal, public access and phone workspace.
   No print rules, no hidden business controls and no translated customer copy. */
@media screen {
  body.portal-body {
    --portal-radius:12px; --portal-radius-sm:8px; --portal-border:#dfe5ec;
    --portal-pad:clamp(18px,2vw,25px); --portal-gap:22px;
    --portal-shadow:0 1px 3px rgb(16 32 52 / 4%);
    --portal-text:#202c3c; --portal-copy:#475569; --portal-muted:#647184;
    background:var(--portal-page-bg,#f6f7f9); font-size:var(--app-base-font-size,16px); line-height:1.55;
  }
  body.portal-body .portal-page { max-width:var(--app-content-max-width,1640px); padding:26px clamp(16px,2vw,32px) 48px; }
  body.portal-body :is(.portal-hero,.portal-page-heading,.portal-library-hero,.portal-order-hero) { border-radius:12px; box-shadow:none; gap:20px; }
  body.portal-body :is(.portal-hero,.portal-page-heading,.portal-library-hero,.portal-order-hero) h1 { font-size:clamp(26px,2.4vw,34px); font-weight:650; line-height:1.25; letter-spacing:-.025em; }
  body.portal-body :is(.portal-panel,.portal-info-card,.portal-action-card,.portal-product-card,.portal-library-card,.portal-order-card,.portal-summary-card,.portal-request-card,.portal-account-card,.portal-past-job-card,.panel,.card) { border-radius:12px; border-color:var(--portal-border); box-shadow:var(--portal-shadow); }
  body.portal-body :is(.portal-section-head,.portal-card-head,.section-head) h2 { font-size:19px; font-weight:650; line-height:1.35; }
  body.portal-body :is(.portal-tabs,.portal-finance-tabs,.portal-library-tabs) { gap:6px; padding:5px; background:#fff; border:1px solid var(--portal-border); border-radius:10px; overflow-x:auto; }
  body.portal-body :is(.portal-tabs,.portal-finance-tabs,.portal-library-tabs) a { font-size:13px; padding:10px 13px; font-weight:550; white-space:nowrap; }
  body.portal-body label { font-weight:600; font-size:13.5px; gap:7px; line-height:1.45; }
  body.portal-body :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) { border-radius:8px; border-color:#c7d0db; font-size:15px; }
  body.portal-body :is(.btn,.portal-nav-primary) { border-radius:8px; font-weight:600; min-height:42px; }
  body.portal-body .portal-table-wrap { overflow-x:auto; max-width:100%; }
  body.portal-body table th { background:#f5f7fa; font-size:12px; font-weight:650; line-height:1.5; }
  body.portal-body table :is(th,td) { padding:14px; border-bottom:1px solid #e9edf2; }
  body.portal-body :is(.portal-topbar,.portal-topbar-inner) { box-shadow:none; }
  body.portal-body .portal-main-navigation a { font-size:13px; font-weight:550; border-radius:7px; }
  body.portal-body .portal-account-menu > summary { border-radius:8px; }
  body:is(.login-body,.public-payment-body,.public-result-body) {
    background:color-mix(in srgb,var(--brand-surface,#edf0f3),#fff 50%);
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.6;
  }
  body:is(.login-body,.public-payment-body,.public-result-body) :is(.login-card,.public-payment-card,.public-result-card) {
    border:1px solid #dfe5ec; border-radius:16px; padding:clamp(24px,4vw,40px); background:#fff; box-shadow:0 14px 44px rgb(16 32 52 / 6%);
  }
  body:is(.login-body,.public-payment-body,.public-result-body) h1 { font-size:28px; line-height:1.25; font-weight:650; letter-spacing:-.025em; }
  body:is(.login-body,.public-payment-body,.public-result-body) label { font-size:14px; font-weight:600; gap:8px; }
  body:is(.login-body,.public-payment-body,.public-result-body) :is(input,select,textarea) { border:1px solid #c7d0db; border-radius:8px; min-height:44px; font-size:16px; }
  body:is(.login-body,.public-payment-body,.public-result-body) .btn { border-radius:8px; min-height:44px; font-weight:600; }
  body:is(.login-body,.public-payment-body,.public-result-body) .btn.primary { background:var(--brand-secondary,#1463ff); color:var(--brand-secondary-contrast,#fff); }
  .customer-review .commercial-card { border-radius:12px; border:1px solid #dfe5ec; padding:24px; box-shadow:0 1px 3px rgb(16 32 52 / 3%); }
  .customer-review h1 { font-size:30px; line-height:1.25; font-weight:650; }
  .customer-review h2 { font-size:20px; font-weight:650; }
  .customer-review .review-visual { background:#f7f9fb; border-radius:10px; }
  body.m-app { --m-line:#dfe5ec; --m-text:#202c3c; --m-muted:#647184; background:#f5f7fa; line-height:1.6; }
  body.m-app :is(.m-panel,.m-job-card,.m-document-card,.m-item-card,.m-shortcut,.m-item-visual,.m-kpi) { border-radius:12px; box-shadow:0 1px 3px rgb(16 32 52 / 3%); }
  body.m-app :is(.m-job-card,.m-document-card,.m-item-card) { padding:20px; gap:13px; }
  body.m-app :is(.m-btn,.m-badge) { border-radius:8px; }
  body.m-app :is(.m-topbar,.m-bottom) { box-shadow:none; }
  body.m-app .m-section-head h2 { font-size:19px; font-weight:650; }
  body.m-app :is(.m-details dt,.m-doc-values span,.m-job-meta) { font-size:13px; }
  body.m-app :is(.m-details dd,.m-document-line h3) { font-size:15px; }
  body:is(.portal-body,.login-body,.public-payment-body,.public-result-body,.m-app) :is(a,button,input,select,textarea,summary):focus-visible { outline:2px solid var(--brand-secondary,#1463ff); outline-offset:3px; }
}
@media screen and (max-width:650px) {
  body.portal-body .portal-page { padding:20px 14px 36px; }
  body.portal-body :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) { font-size:16px; }
  body.portal-body :is(.portal-hero,.portal-page-heading,.portal-library-hero) h1 { font-size:26px; }
  body:is(.login-body,.public-payment-body,.public-result-body) :is(.login-card,.public-payment-card,.public-result-card) { padding:24px; width:100%; max-width:calc(100vw - 28px); }
  .customer-review .commercial-card { padding:18px; }
  .customer-review h1 { font-size:26px; }
}
/* END SHARED SURFACE REFRESH */
.payment-bank74{margin-top:18px;padding:14px 16px;border:1px solid #dce5ef;border-radius:9px;background:#f7faff}.payment-bank74 summary{font-weight:650;cursor:pointer}.payment-bank74 dl{display:grid;grid-template-columns:110px minmax(0,1fr);gap:9px 14px;font-size:14px;line-height:1.5}.payment-bank74 dt{color:#526477}.payment-bank74 dd{margin:0;overflow-wrap:anywhere}.payment-bank74 p{font-size:13px;line-height:1.6}
