@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;600;700&display=swap";html{background:#f3f2ed}:root{--ink:#17201d;--muted:#6e7873;--paper:#f3f2ed;--white:#fffef9;--line:#d9ddd6;--accent:#e56d45;--green:#799b76;--shadow:0 24px 60px #17201d14}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Space Grotesk,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.loading-screen{min-height:100vh;color:var(--muted);letter-spacing:.04em;place-items:center;display:grid}.auth-shell{color:#f8f5ed;background:#1c2b27;grid-template-columns:1.2fr .8fr;min-height:100vh;display:grid}.auth-copy{background:radial-gradient(circle at 10% 20%,#3e6254 0,#0000 38%),#1c2b27;flex-direction:column;justify-content:center;padding:clamp(40px,8vw,120px);display:flex}.auth-copy h1{letter-spacing:-.06em;max-width:760px;margin:22px 0;font-size:clamp(3rem,7vw,7rem);line-height:.94}.auth-copy p{color:#c5d0c8;max-width:440px;font-size:1.1rem;line-height:1.6}.auth-panel{background:var(--white);color:var(--ink);box-shadow:var(--shadow);align-self:center;margin:clamp(24px,6vw,100px);padding:clamp(28px,5vw,64px)}.brand-mark{letter-spacing:.08em;font-family:DM Mono,monospace;font-size:1.25rem;font-weight:500}.brand-mark span{color:var(--accent)}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font:500 .72rem DM Mono,monospace}.auth-panel .eyebrow{margin-top:52px;display:block}.auth-panel h2{letter-spacing:-.05em;margin:12px 0 8px;font-size:2.3rem}.muted{color:var(--muted);line-height:1.55}form label{color:var(--muted);flex-direction:column;gap:8px;font-size:.84rem;font-weight:600;display:flex}input,select,textarea{border:1px solid var(--line);color:var(--ink);background:#fbfaf5;border-radius:2px;outline:none;padding:13px 14px}.auth-panel input{width:100%;margin:10px 0 20px}.auth-panel button:not(.text-button){width:100%}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #e56d451f}button{background:var(--ink);color:#fff;border:0;padding:14px 18px;font-weight:600}.text-button,.ghost-button{color:var(--muted);background:0 0;padding:12px 0}.text-button{margin:auto;display:block}.signal{border-left:2px solid var(--accent);gap:6px;margin-top:80px;padding-left:18px;display:grid}.signal span{color:#c5d0c8;font-size:.85rem}.error-box{color:#a9442d;background:#fff0eb;margin:18px 0;padding:12px 14px;font-size:.88rem}.wide{max-width:1200px;margin:0 auto 20px}.portal-shell{max-width:1440px;margin:auto;padding:28px clamp(20px,5vw,72px) 80px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:22px;display:flex}.topbar-meta{color:var(--muted);align-items:center;gap:28px;font-size:.84rem;display:flex}.portal-intro{justify-content:space-between;align-items:end;gap:30px;padding:64px 0 42px;display:flex}.portal-intro h1{letter-spacing:-.07em;margin:14px 0 8px;font-size:clamp(2.7rem,6vw,5.5rem);line-height:.95}.portal-intro p{color:var(--muted);max-width:520px;line-height:1.6}.status-pill{border:1px solid var(--line);white-space:nowrap;align-items:center;gap:9px;padding:10px 14px;font:500 .78rem DM Mono,monospace;display:flex}.status-pill span{background:var(--accent);border-radius:50%;width:8px;height:8px}.status-approved span{background:var(--green)}.application-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:20px;display:grid}.main-card{grid-column:1}.side-stack{grid-area:1/2/span 3;gap:20px;display:grid}.form-card{background:var(--white);border:1px solid var(--line);padding:28px}.card-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;margin-bottom:24px;padding-bottom:20px;display:flex}.card-heading h2,.upload-card h2{letter-spacing:-.04em;margin:4px 0 0;font-size:1.5rem}.step-number{color:var(--accent);font:500 .7rem DM Mono,monospace}.required-note{color:var(--muted);font-size:.75rem}.field-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.full{grid-column:1/-1}.service-field{flex-direction:column;gap:12px;display:flex}.label-title{color:var(--muted);font-size:.84rem;font-weight:600}.service-grid{flex-wrap:wrap;gap:9px;display:flex}.check-label{border:1px solid var(--line);cursor:pointer;background:#fbfaf5;flex-direction:row;align-items:center;padding:10px 12px}.check-label:has(input:checked){border-color:var(--accent);color:var(--ink);background:#fff0eb}.check-label input{accent-color:var(--accent)}.upload-card .eyebrow,.action-card .eyebrow{display:block}.upload-row{border-top:1px solid var(--line);gap:9px;padding:16px 0;display:grid}.upload-row strong{font-size:.88rem;display:block}.upload-row a{color:var(--accent);margin-top:4px;font-size:.75rem;display:block}.upload-row input{padding:8px;font-size:.75rem}.upload-row button{padding:9px 12px;font-size:.78rem}.action-card{gap:14px;display:grid}.action-card p{margin:0}.primary-action{background:var(--accent)}.secondary-action{background:var(--ink)}@media (width<=900px){.auth-shell{grid-template-columns:1fr}.auth-copy{min-height:42vh;padding:42px 26px}.auth-copy h1{font-size:3.5rem}.signal{margin-top:28px}.auth-panel{box-shadow:none;margin:0}.application-grid{grid-template-columns:1fr}.main-card,.side-stack{grid-area:auto/1}.portal-intro{flex-direction:column;align-items:start}.topbar-meta span{display:none}}@media (width<=560px){.portal-shell{padding:18px 14px 50px}.field-grid{grid-template-columns:1fr}.full{grid-column:auto}.form-card{padding:20px}.portal-intro{padding:44px 0 28px}.portal-intro h1{font-size:3rem}.topbar{padding-bottom:16px}}.summary-layout{gap:20px;max-width:1040px;display:grid}.status-banner{color:var(--white);background:var(--ink);border-left:6px solid var(--accent);justify-content:space-between;align-items:center;gap:24px;padding:28px 32px;display:flex}.status-banner .eyebrow{color:#f3b39d}.status-banner strong{letter-spacing:-.06em;margin-top:8px;font-size:clamp(2rem,5vw,4rem);line-height:1;display:block}.status-banner p{color:#c5d0c8;margin:12px 0 0}.status-dot{background:var(--accent);border-radius:50%;flex:none;width:18px;height:18px;box-shadow:0 0 0 8px #e56d4529}.status-banner-approved{border-left-color:var(--green)}.status-banner-approved .status-dot{background:var(--green);box-shadow:0 0 0 8px #799b762e}.status-banner-rejected,.status-banner-changes-requested,.status-banner-request-changes,.status-banner-requested-changes{border-left-color:#bd4b3a}.status-banner-rejected .status-dot,.status-banner-changes-requested .status-dot,.status-banner-request-changes .status-dot,.status-banner-requested-changes .status-dot{background:#bd4b3a;box-shadow:0 0 0 8px #bd4b3a29}.summary-card{max-width:1040px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px;display:grid}.summary-grid div{gap:6px;display:grid}.summary-grid span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;font-weight:600}.summary-grid strong{overflow-wrap:anywhere;font-size:1rem;line-height:1.45}.summary-full{grid-column:1/-1}.resubmit-panel{background:#fff0eb;border:1px solid #f0c8bb;justify-content:space-between;align-items:center;gap:24px;padding:28px 32px;display:flex}.resubmit-panel h2{letter-spacing:-.04em;margin:8px 0 6px}.resubmit-panel p{color:var(--muted);margin:0}.resubmit-panel .primary-action{flex:none}@media (width<=560px){.status-banner,.resubmit-panel{align-items:flex-start;padding:22px 20px}.summary-grid{grid-template-columns:1fr}.summary-full{grid-column:auto}.resubmit-panel{flex-direction:column}.resubmit-panel .primary-action{width:100%}}.document-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.document-summary-item{align-content:start;gap:10px;display:grid}.document-summary-item>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:600}.document-summary-item img{object-fit:contain;object-position:left center;border:1px solid var(--line);background:#fbfaf5;width:min(100%,280px);max-height:220px;padding:8px;display:block}.document-summary-item a{color:var(--accent);font-size:.85rem;font-weight:600}.document-summary-item strong{color:var(--muted);font-size:.9rem}@media (width<=560px){.document-summary-grid{grid-template-columns:1fr}}
