:root{--orange:#f45c1f;--ink:#222;--muted:#6f7277;--line:#d9d9d9;--bg:#f3f4f6;--green:#16835d;--dark:#202124;--shadow:0 12px 32px rgba(20,24,32,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg)}button,input{font:inherit}.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 0,#fff 0,#f5f5f5 44%,#e9ebee 100%);padding:24px}.login-card{width:min(460px,100%);background:#fff;border:1px solid #e4e4e4;border-radius:20px;box-shadow:var(--shadow);padding:42px}.login-logo{width:270px;max-width:100%;display:block;margin:0 auto 34px}.login-kicker{font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--orange);margin-bottom:8px}.login-card h1{margin:0 0 8px;font-size:32px}.muted{color:var(--muted);line-height:1.5}.muted.small,.small{font-size:12px}.login-form{display:grid;gap:18px;margin-top:28px}.login-form label{font-weight:700;font-size:13px;display:grid;gap:8px}.login-form input{height:48px;border:1px solid #cfd2d7;border-radius:10px;padding:0 14px;outline:none}.login-form input:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(244,92,31,.12)}.btn{border:1px solid #c8cbd0;background:#fff;color:#222;padding:10px 15px;border-radius:9px;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.025em;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn:hover{border-color:#999}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary,.signed-btn{background:var(--orange);border-color:var(--orange);color:#fff}.btn.secondary{background:#292b30;border-color:#292b30;color:#fff}.btn.ghost{background:transparent}.btn.wide{width:100%}.signed-btn.is-signed{background:var(--green);border-color:var(--green)}.security-note{margin-top:22px;font-size:11px;color:#8c8f94;text-align:center}.alert{padding:12px 14px;border-radius:9px;margin:18px 0;font-size:13px}.alert.error{background:#fff0ee;color:#a72d1a;border:1px solid #ffd1ca}.topbar{height:76px;position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #dedfe2;display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:18px}.brand{display:flex;align-items:center;gap:15px;min-width:0}.brand img{width:176px;height:auto}.brand div{display:grid;gap:3px;min-width:0}.brand strong{font-size:13px}.brand span{font-size:11px;color:#70747a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.status-strip{min-height:38px;background:#25272b;color:#fff;display:flex;align-items:center;gap:20px;padding:8px 24px;font-size:11px;position:sticky;top:76px;z-index:45}.status-pill{font-weight:900}.status-pill.signed{color:#70e0b5}.status-pill.draft{color:#ffc181}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;max-width:1720px;margin:0 auto;padding:24px}.proposal-column{display:grid;gap:20px;min-width:0}.slide-page{position:relative;width:100%;aspect-ratio:1440/811;background:#fff;box-shadow:0 4px 18px rgba(20,24,30,.09);overflow:hidden;border:1px solid #e1e2e4}.slide-page>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;user-select:none}.slide-checkbox{position:absolute;left:90.65%;transform:translate(-50%,-50%);width:28px;height:28px;z-index:5;cursor:pointer}.slide-checkbox.cb15{left:90.75%}.slide-checkbox input{position:absolute;opacity:0}.slide-checkbox span{position:absolute;inset:0;background:#fff;border:2px solid var(--orange);border-radius:4px;box-shadow:0 2px 5px rgba(0,0,0,.09)}.slide-checkbox input:checked+span:after{content:"";position:absolute;width:12px;height:6px;border-left:3px solid var(--orange);border-bottom:3px solid var(--orange);transform:rotate(-45deg);left:5px;top:6px}.slide-checkbox input:disabled+span{opacity:.9}.total-overlay{position:absolute;left:4.65%;top:60.1%;height:7.7%;width:59%;background:#f9f9f9;display:flex;align-items:center;gap:9px;z-index:4;color:var(--orange);font-size:clamp(12px,2.25vw,31px);padding-left:.4%;white-space:nowrap}.total-overlay strong{font-weight:800}.signature-zone{position:absolute;z-index:6;height:7.8%;top:72.3%;display:flex;align-items:center;justify-content:center}.client-signature-zone{left:4.7%;width:21.5%}.admin1-signature-zone{left:28.6%;width:20.2%}.admin2-signature-zone{left:51.3%;width:21.2%}.signature-img{width:78%;height:100%;object-fit:contain;mix-blend-mode:multiply}.signature-trigger{position:absolute;left:8%;right:8%;top:26%;bottom:auto;border:1px dashed var(--orange);background:rgba(255,255,255,.94);color:var(--orange);border-radius:6px;font-size:10px;font-weight:800;padding:5px 7px;cursor:pointer}.signature-remove{position:absolute;right:2%;top:0;width:23px;height:23px;border-radius:50%;border:1px solid var(--orange);background:#fff;color:var(--orange);font-weight:900;font-size:17px;line-height:19px;display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.12)}.signature-remove:hover{background:var(--orange);color:#fff}.side-panel{min-width:0}.panel-card{background:#fff;border:1px solid #dedfe2;border-radius:14px;padding:18px;box-shadow:0 6px 18px rgba(20,24,30,.06)}.panel-card.sticky{position:sticky;top:132px}.panel-title{font-weight:900;font-size:16px;margin-bottom:14px}.panel-title.small{font-size:13px}.summary-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:13px;border-bottom:1px solid #eee}.summary-row.option{font-size:12px}.summary-total{display:flex;justify-content:space-between;gap:10px;align-items:flex-end;padding:16px 0;color:var(--orange);font-weight:800}.summary-total strong{font-size:22px}.payment-mini{display:grid;gap:7px;padding-bottom:10px}.payment-mini>div{display:flex;justify-content:space-between;font-size:12px}.panel-card hr{border:0;border-top:1px solid #ececef;margin:16px 0}.manual-upload-form{display:grid;gap:10px;margin-top:18px}.manual-upload-form input[type=file]{width:100%;padding:6px 0 2px}.file-link{display:block;margin-top:10px;font-size:12px;color:var(--orange);font-weight:700}.sign-help{margin-top:16px;padding:12px;background:#fff4ef;border-left:3px solid var(--orange);font-size:11px;line-height:1.45}.admin-selection{display:flex;gap:8px;font-size:12px;padding:6px 0;color:#777}.admin-selection.selected{color:#222;font-weight:700}.admin-selection.selected span{color:var(--green)}.modal{position:fixed;inset:0;background:rgba(15,18,24,.68);display:none;place-items:center;z-index:100;padding:20px}.modal.open{display:grid}.modal-card{width:min(820px,100%);background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:24px;position:relative}.modal-close{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:30px;cursor:pointer;color:#777}.modal-card h2{margin:0 0 18px}.signature-tabs{display:flex;gap:8px;margin-bottom:14px}.tab{border:1px solid #ccc;background:#fff;padding:8px 13px;border-radius:8px;font-weight:800;cursor:pointer}.tab.active{background:#222;color:#fff;border-color:#222}.tab-pane{display:none}.tab-pane.active{display:block}#sigCanvas{width:100%;height:220px;border:1px solid #cfd2d7;border-radius:10px;background:#fff;touch-action:none}.sig-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:12px}.upload-preview{height:190px;border:1px dashed #bbb;border-radius:10px;margin:12px 0;display:grid;place-items:center;color:#888;padding:14px;text-align:center}.upload-preview img{max-width:100%;max-height:170px}.toast{position:fixed;right:22px;bottom:22px;background:#202124;color:#fff;padding:12px 16px;border-radius:9px;z-index:110;font-size:12px;box-shadow:var(--shadow)}@media(max-width:1100px){.workspace{grid-template-columns:1fr}.side-panel{order:-1}.panel-card.sticky{position:static}.topbar{height:auto;min-height:76px;padding:12px 16px;align-items:flex-start}.status-strip{top:100px}.brand img{width:145px}.top-actions{max-width:58%}}@media(max-width:700px){.topbar{position:relative;display:grid}.top-actions{max-width:none}.status-strip{position:relative;top:0;flex-wrap:wrap}.workspace{padding:10px;gap:12px}.btn{padding:9px 10px}.total-overlay{font-size:11px}.signature-trigger{font-size:8px}.login-card{padding:28px 22px}}@media print{@page{size:10in 5.625in;margin:0}html,body{width:10in!important;height:auto!important;margin:0!important;padding:0!important;background:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.topbar,.status-strip,.side-panel,.no-print,.signature-trigger{display:none!important}.workspace{display:block!important;width:10in!important;max-width:10in!important;margin:0!important;padding:0!important}.proposal-column{display:block!important;width:10in!important;gap:0!important}.slide-page{position:relative!important;width:10in!important;height:5.625in!important;aspect-ratio:auto!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;box-shadow:none!important;border:0!important;overflow:hidden!important;page-break-after:always!important;break-after:page!important;page-break-inside:avoid!important;break-inside:avoid-page!important}.slide-page>img{position:absolute!important;inset:0!important;width:10in!important;height:5.625in!important;object-fit:fill!important}.slide-page:last-child{page-break-after:auto!important;break-after:auto!important}}

/* HTML-first, low-overhead portal refinements */
.login-card{text-align:left}
.login-portal-title{text-align:center;font-size:22px;line-height:1.15;font-weight:900;letter-spacing:.12em;color:var(--orange);margin:0 0 14px}
.login-description{text-align:center;color:var(--muted);line-height:1.55;margin:0 auto 26px;max-width:340px}
.login-form{margin-top:0}
.btn.danger{background:#8f271c;border-color:#8f271c;color:#fff}
.btn.danger:hover{background:#742016;border-color:#742016}
.boot-screen{position:fixed;inset:0;display:grid;place-items:center;align-content:center;gap:20px;background:#f4f5f6;z-index:200;color:#777;font-size:13px}.boot-screen img{width:240px;max-width:70vw}.portal-loading{overflow:hidden}
.manual-upload-form{margin-top:30px}
.admin-pdf-link{margin-top:10px}
.signature-zone .signature-trigger{top:-1px;bottom:auto;min-height:25px}
.signature-zone .signature-remove{top:-5px;right:0}
@media(max-width:700px){.login-portal-title{font-size:19px}.manual-upload-form{margin-top:24px}}
[hidden]{display:none!important}.boot-screen.boot-error{color:#333;text-align:center}.boot-screen.boot-error small{display:inline-block;margin-top:8px;color:#a33;max-width:520px;line-height:1.45}

/* Signature + countersignature refinements */
.total-overlay{top:62.0%;height:6.2%;width:61%;padding-left:.4%;}
.signature-zone{top:74.7%;height:5.8%;}
.signature-img{width:82%;height:100%;object-fit:contain;background:transparent;mix-blend-mode:normal;}
.signature-trigger{left:11%;right:11%;top:0;min-height:28px;padding:4px 7px;background:rgba(255,255,255,.96);}
.signature-remove{right:1%;top:-7px;}
.manual-upload-form{margin-top:18px;gap:18px;}
.admin-signed-notice{display:grid;gap:4px;margin:0 0 16px;padding:11px 12px;border-left:3px solid var(--green);background:#eef9f4;color:#214c3b;font-size:12px;line-height:1.35;}
.admin-signed-notice span{font-size:10px;color:#547066;}
.admin-sign-hint{margin:0 0 14px;padding:10px 11px;background:#f7f7f8;border-left:3px solid #c4c7cc;}
#sigCanvas{background-color:#fff;background-image:linear-gradient(45deg,#f5f5f5 25%,transparent 25%),linear-gradient(-45deg,#f5f5f5 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f5f5f5 75%),linear-gradient(-45deg,transparent 75%,#f5f5f5 75%);background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0;}
@media(max-width:700px){.signature-zone{top:74.4%;height:6.2%}.signature-trigger{font-size:7px;min-height:22px}.manual-upload-form{gap:14px}}
