:root{--navy:#07182b;--blue:#1778f2;--green:#29d391;--ink:#15253a;--muted:#65748a;--line:#dce4ee;--soft:#f3f6fa}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--soft);line-height:1.6}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15;letter-spacing:-.035em}a{color:var(--blue)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid var(--green);outline-offset:4px}[hidden]{display:none!important}.eyebrow{font-size:.73rem;font-weight:800;text-transform:uppercase;letter-spacing:.17em;color:var(--blue);margin-bottom:12px}.muted,.small{color:var(--muted)}.small{font-size:.86rem}.primary,.outline{border:1px solid transparent;border-radius:10px;padding:12px 19px;font-weight:700;min-height:46px}.primary{background:var(--blue);color:#fff}.primary:hover{background:#0e64cb}.outline{background:#fff;border-color:var(--line);color:var(--ink)}.light{background:transparent;color:#fff;border-color:#496075}.full{width:100%}.text-button{border:0;background:none;color:var(--blue);padding:14px 0;font-size:.9rem}.skip{position:absolute;top:-100px;left:20px;background:#fff;padding:10px;z-index:50}.skip:focus{top:10px}.auth-layout{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.auth-story{background:radial-gradient(ellipse at 20% 70%,#113e60,transparent 65%),var(--navy);color:#fff;padding:44px clamp(28px,6vw,90px);display:flex;flex-direction:column;justify-content:space-between;gap:60px}.lockup{display:flex;gap:13px;align-items:center;color:#fff;text-decoration:none}.lockup img{width:45px;height:48px;object-fit:contain}.lockup span{font-size:1.4rem;font-weight:850;letter-spacing:.08em}.lockup strong{display:block;font-size:.67rem;font-weight:500;letter-spacing:0}.auth-story h1{font-size:clamp(2.4rem,4vw,4.2rem);max-width:620px}.auth-story>div>p:not(.eyebrow){max-width:480px;color:#bdd0e3}.auth-story .eyebrow{color:var(--green)}.auth-steps{padding-left:22px;color:#d5e4ef}.auth-steps li{padding:6px 0}.auth-foot{color:#8da8bd;font-size:.8rem}.auth-card{align-self:center;width:min(450px,calc(100% - 48px));margin:60px auto}.auth-card h2{font-size:2.4rem;margin-bottom:16px}.auth-card>p{color:var(--muted)}label{display:block;font-size:.88rem;font-weight:650;margin-bottom:19px}input,select,textarea{display:block;width:100%;margin-top:8px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:9px;padding:12px 13px;min-height:46px}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid #b7d7ff;border-color:var(--blue)}.form-message{margin-top:16px;color:#a12727;font-size:.9rem;white-space:pre-wrap}.setup-note{background:#fff5dd;border:1px solid #e8d09a;padding:18px;border-radius:10px;margin:20px 0;font-size:.88rem}.back-link{display:inline-block;margin-top:20px;font-size:.86rem;text-decoration:none}.notice{position:fixed;top:18px;right:18px;background:var(--navy);color:#fff;box-shadow:0 8px 30px #0003;padding:16px 22px;border-radius:12px;max-width:min(480px,calc(100% - 36px));z-index:20}.workspace{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:var(--navy);color:#fff;padding:30px 24px;display:flex;flex-direction:column;gap:46px;position:sticky;top:0;height:100vh}.sidebar nav{display:grid;gap:9px}.nav-item{border:0;background:transparent;color:#a9bfd2;text-align:left;padding:13px 16px;border-radius:10px;font-weight:700}.nav-item.active{background:#1a3550;color:#fff;border-left:3px solid var(--green)}.sidebar-bottom{margin-top:auto;display:grid;gap:16px;font-size:.8rem}.sidebar-bottom a{color:#bed5e8;text-decoration:none}.sidebar-bottom p{margin:0;color:#bed5e8;overflow-wrap:anywhere}.dashboard{min-width:0;padding:40px clamp(22px,4vw,65px)}.dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:36px}.dashboard-header h1{font-size:2.35rem;margin-bottom:0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:36px}.stat{padding:22px;border:1px solid var(--line);border-radius:14px;background:#fff}.stat strong{display:block;font-size:2.1rem}.stat span{font-size:.8rem;color:var(--muted)}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:26px 0 20px}.toolbar h2{font-size:1.3rem;margin-bottom:8px}.toolbar p{font-size:.86rem;margin-bottom:0}.filters{display:grid;grid-template-columns:1fr 220px;gap:18px;max-width:700px}.table-wrap{background:#fff;border:1px solid var(--line);border-radius:14px;overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.85rem;text-align:left}th,td{padding:17px 20px;border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--muted);font-size:.73rem;letter-spacing:.04em;background:#f9fbfe}tbody tr:last-child td{border-bottom:0}td strong{display:block;font-size:.91rem}td small{color:var(--muted)}td .outline{font-size:.8rem;min-height:38px;padding:7px 13px}.badge{display:inline-block;padding:5px 10px;border-radius:20px;font-size:.75rem;font-weight:750;background:#edf2f8;color:#52677e;white-space:nowrap}.badge.approved{background:#dff7ed;color:#116943}.badge.submitted{background:#e2eeff;color:#1257ae}.badge.changes_requested{background:#fff0dc;color:#9c5b16}.empty{text-align:center;padding:60px 24px;color:var(--muted)}.empty h3{color:var(--ink)}dialog{border:0;border-radius:18px;padding:30px;width:min(580px,calc(100% - 28px));max-height:90dvh;box-shadow:0 30px 100px #00152b55;overflow-y:auto}dialog::backdrop{background:#051a32aa;backdrop-filter:blur(3px)}.large-dialog{width:min(860px,calc(100% - 28px))}.dialog-heading{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:24px}.dialog-heading h2{margin-bottom:0;font-size:1.6rem}.close-dialog{background:#eff3f8;border:0;border-radius:9px;width:38px;height:38px;font-size:1.5rem;flex-shrink:0}.dialog-actions .close-dialog{width:auto;height:auto;font-size:1rem;border:1px solid var(--line);background:white}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;margin:24px 0}.check{display:flex;align-items:center;gap:12px}.check input{width:20px;height:20px;min-height:0;margin:0}.detail-meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:20px;font-size:.85rem}.feedback{border-left:3px solid #dca03b;padding:16px;background:#fff6e6;white-space:pre-wrap}.letter-preview{border:1px solid var(--line);background:#fff;padding:38px;font-size:.93rem}.letter-brand{display:flex;align-items:center;gap:16px;border-bottom:2px solid var(--blue);padding-bottom:20px;margin-bottom:24px}.letter-brand img{width:52px;height:57px;object-fit:contain}.letter-brand strong{display:block;font-size:1.15rem}.letter-brand small{color:var(--muted)}.letter-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75}.draft-stamp{color:#9c5b16;font-weight:800;letter-spacing:.1em;font-size:.75rem;margin-bottom:20px}.letter-address{white-space:pre-wrap}.letter-subject{font-weight:800;text-transform:uppercase;margin:26px 0}.letter-sign{margin-top:30px}.letter-footer{margin-top:32px;border-top:1px solid var(--line);padding-top:14px;font-size:.74rem;color:var(--muted)}.review-form{padding:24px;background:var(--soft);border-radius:12px;margin-top:24px}.history{margin-top:24px}.history summary{cursor:pointer;font-weight:700}.history ul{font-size:.84rem;padding-left:20px;color:var(--muted)}.inline-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:18px;margin:28px 0}.inline-form label{margin-bottom:0}.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.service-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:24px}.service-card p{white-space:pre-wrap;color:var(--muted);font-size:.9rem}.service-card h3{font-size:1.2rem}.service-card .outline{margin-top:12px}#print-letter{display:none}@media(max-width:1000px){.workspace{grid-template-columns:210px 1fr}.sidebar{padding:25px 18px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-form{grid-template-columns:1fr}.inline-form button{justify-self:start}.service-list{grid-template-columns:1fr}}@media(max-width:700px){.auth-layout{grid-template-columns:1fr}.auth-story{padding:28px;gap:35px}.auth-story h1{font-size:2.4rem}.auth-steps,.auth-foot{display:none}.auth-card{margin:36px auto}.workspace{grid-template-columns:1fr}.sidebar{position:static;height:auto;gap:24px}.sidebar nav{display:flex;flex-wrap:wrap}.sidebar-bottom{display:flex;flex-wrap:wrap;align-items:center}.sidebar-bottom p{width:100%}.dashboard{padding:28px 18px}.dashboard-header h1{font-size:1.9rem}.filters,.form-grid{grid-template-columns:1fr}.toolbar{align-items:start;flex-direction:column}.letter-preview{padding:22px}dialog{padding:22px}.stats{gap:12px}.stat{padding:18px}.notice{font-size:.88rem}}@media print{@page{size:A4;margin:18mm}body{background:#fff}body>*{display:none!important}#print-letter{display:block!important;color:#111;font-family:Arial,sans-serif;font-size:11pt}#print-letter .letter-preview{border:0;padding:0}.letter-brand,.letter-sign{break-inside:avoid}.letter-body{line-height:1.65}.letter-footer{color:#333}.draft-stamp{display:none}}

/* Official MUA letterhead, matched to the latest supplied PDF. */
.letter-preview{position:relative;isolation:isolate;color:#172b43;font-family:Georgia,'Times New Roman',serif}.letter-preview>*:not(.letter-watermark){position:relative;z-index:1}.letter-preview .letter-watermark{position:absolute;z-index:0;left:50%;top:50%;transform:translate(-50%,-50%);width:66%;max-width:380px;height:auto;pointer-events:none}.letter-brand{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;border-bottom:2px solid #07285a;padding-bottom:22px;margin-bottom:42px;break-inside:avoid}.letter-brand:after{content:'';position:absolute;left:0;right:0;bottom:-17px;border-bottom:1px solid #aa7d0c}.letter-brand img{width:115px;height:auto;max-width:25%;object-fit:contain}.letter-company{text-align:right;flex:1;min-width:0}.letter-company strong{display:block;font-size:19px;line-height:1.35;color:#07285a}.letter-company span{display:block}.letter-tagline{font-size:10px;color:#aa7d0c;margin:5px 0 2px}.letter-company-detail{font-size:10px;line-height:1.55;color:#374151;overflow-wrap:anywhere}.letter-preview .letter-footer{text-align:center;font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:10px;color:#07285a;border-top:0;border-bottom:1px solid #aa7d0c;padding:14px 0 7px;margin-top:36px;break-inside:avoid}.letter-preview .letter-sign{break-inside:avoid}@media(max-width:700px){.letter-brand{gap:10px}.letter-brand img{width:78px}.letter-company strong{font-size:14px}.letter-tagline,.letter-company-detail{font-size:8px}}@media print{#print-letter{font-family:Georgia,'Times New Roman',serif}.letter-preview{color:#111;-webkit-print-color-adjust:exact;print-color-adjust:exact}.letter-company strong{font-size:16pt}.letter-tagline{font-size:8.5pt}.letter-company-detail{font-size:8pt}.letter-brand{gap:22px;padding-bottom:22pt;margin-bottom:42pt}.letter-brand img{width:115pt;max-width:25%;height:auto}.letter-preview .letter-footer{font-size:8pt}.letter-preview .letter-watermark{width:66%;max-width:none}}

/* Project quotation and company payment details. */
.letter-quotation{margin:26px 0;break-inside:avoid}.letter-quotation h3{font-size:1em;letter-spacing:0;line-height:1.4;margin:16px 0 9px;color:#07285a}.quotation-table{font:inherit;border:1px solid #dce4ee;table-layout:fixed}.quotation-table caption{text-align:left;font-size:.85em;padding:0 0 8px;color:#374151}.quotation-table th,.quotation-table td{padding:8px 10px;font-size:inherit;letter-spacing:0;overflow-wrap:anywhere}.quotation-table th{color:#172b43;background:#f7f8fa}.quotation-table th:last-child,.quotation-table td:last-child{text-align:right;width:38%}.quotation-table tfoot{font-weight:700}.letter-quotation p{margin:9px 0}.payment-deposit{font-weight:700}.letter-bank{white-space:pre-line;overflow-wrap:anywhere}.payment-note{font-size:.85em;color:#374151}@media print{.letter-quotation{font-size:10pt}.quotation-table th,.quotation-table td{padding:6pt 8pt}.letter-quotation h3{font-size:11pt}}

.lead-contact{margin:5px 0;font-size:.83rem;overflow-wrap:anywhere}#lead-list small{display:block}#lead-list td{max-width:350px;overflow-wrap:anywhere}.follow-up-due{display:block;width:fit-content;margin-top:7px;background:#fff0dc;color:#9c5b16}.badge.won{background:#dff7ed;color:#116943}.badge.lost{background:#fce7e7;color:#9d2525}.badge.interested{background:#e2eeff;color:#1257ae}#lead-list .outline{white-space:nowrap}

.report-sort{max-width:280px}#performance-list small{display:block;overflow-wrap:anywhere}#performance-list .outline{white-space:nowrap}#performance-list td:nth-child(n+3):nth-child(-n+7){font-variant-numeric:tabular-nums}

#project-list small{display:block}#project-list td{max-width:300px;overflow-wrap:anywhere}#project-list .outline{white-space:nowrap}#project-stats .stat strong{font-size:clamp(1rem,1.7vw,1.6rem);overflow-wrap:anywhere}.payment-summary{padding:12px 16px;background:#eaf3ff;border-radius:8px;font-size:.9rem}.badge.completed{background:#dff7ed;color:#116943}.badge.client_review{background:#fff0dc;color:#9c5b16}.badge.in_progress{background:#e2eeff;color:#1257ae}

#project-list td:last-child button{display:block;margin:4px 0}#document-preview .quotation-table th{width:58%}#document-preview .quotation-table td{width:42%;overflow-wrap:anywhere}

#commission-stats .stat strong{font-size:clamp(1rem,1.7vw,1.6rem);overflow-wrap:anywhere}#commission-list small{display:block}#commission-list td{max-width:300px;overflow-wrap:anywhere}
