.portal-body{background:#f3f1e9}
.portal-header{position:relative;height:92px}
.portal-back{margin-left:auto;font-size:12px;font-weight:700;border-bottom:1px solid #c9a44d;padding-bottom:5px}
.portal-main{overflow:hidden}
.portal-intro{background:var(--navy);color:#fff;padding:72px max(5.5%,calc((100% - 1320px)/2));display:grid;grid-template-columns:1.25fr .75fr;gap:90px;align-items:end;position:relative}
.portal-intro:after{content:'';position:absolute;width:420px;height:420px;border:1px solid #ffffff12;border-radius:50%;right:-130px;top:-180px;box-shadow:0 0 0 65px #ffffff05}
.portal-intro .eyebrow{color:var(--gold)}
.portal-intro h1{font-size:clamp(45px,5vw,72px);max-width:780px;margin-bottom:22px}
.portal-intro>div>p{color:#bdc7d5;max-width:650px;font-size:15px}
.portal-promise{border:1px solid #ffffff25;padding:28px;background:#102746;position:relative;z-index:1}
.portal-promise>strong{display:block;color:var(--gold);font-size:11px;letter-spacing:1.5px;margin-bottom:10px}
.portal-promise>p{font-size:12px;color:#b9c5d3;margin-bottom:20px}
.portal-promise>div{display:flex;gap:15px;border-top:1px solid #ffffff18;padding:13px 0;font-size:12px}
.portal-promise>div span:first-child{color:var(--gold);font-size:9px}
.portal-shell{max-width:1320px;margin:58px auto 80px;padding:0 4%;display:grid;grid-template-columns:330px 1fr;gap:28px}
.service-selector,.request-workspace{background:#fff;border:1px solid #deddd5;box-shadow:0 18px 60px #091d3c0b}
.service-selector{padding:25px;height:max-content;position:sticky;top:112px}
.selector-head span,.workspace-head span{font-size:9px;color:#aa7e20;letter-spacing:1.5px;font-weight:800}
.selector-head strong{display:block;font-size:21px;margin:8px 0 20px}
.service-selector>p{font-size:10px;color:var(--muted);border-top:1px solid #e0e1dc;padding-top:18px;margin-top:17px}
.service-choice{width:100%;display:grid;grid-template-columns:39px 1fr 18px;align-items:center;gap:10px;padding:13px 10px;background:transparent;color:var(--navy);border-top:1px solid #e5e5df;text-align:left;font-size:12px;font-weight:700;transition:.25s}
.service-choice:first-child{border-top:0}
.service-choice i{display:grid;place-items:center;width:35px;height:35px;background:#eeece3;border-radius:8px;font-style:normal;font-size:18px}
.service-choice span:last-child{transition:transform .25s}
.service-choice:hover,.service-choice[aria-pressed=true]{background:#f4edda;color:#815e13}
.service-choice[aria-pressed=true] span:last-child{transform:translateX(3px)}
.request-workspace{padding:38px 42px}
.workspace-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dedfd9;padding-bottom:24px;margin-bottom:26px}
.workspace-head h2{font-size:31px;margin-top:7px}
.workspace-head>div:last-child{font-size:35px;width:62px;height:62px;display:grid;place-items:center;background:#eee9d9;border-radius:50%}
#portal-form{display:grid;gap:19px;margin:0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
#service-fields:empty{display:none}
.portal-dropzone{border:1.5px dashed #b89545;background:#fbf8ee;padding:25px;text-align:center;border-radius:5px;transition:.2s}
.portal-dropzone.dragging{background:#f7e7b8;border-color:#8a6513}
.portal-dropzone label{cursor:pointer;justify-items:center}
.upload-glyph{font-size:30px;color:#9d7521}
.portal-dropzone small{font-size:10px;color:var(--muted)}
.portal-dropzone input{border:0;background:transparent;padding:6px;font-size:11px;max-width:100%}
.portal-submit{width:100%;border-radius:4px}
.portal-submit b{font-size:19px}
.portal-success{text-align:center;padding:45px 10px}
.portal-success>div{margin:auto;width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#dfebdf;color:#326746;font-size:30px}
.portal-success h2{font-size:29px;margin:20px 0 10px}
.portal-success p{font-size:13px;color:var(--muted)}
#portal-reference{display:block;background:#eeece3;padding:18px;margin:25px auto;font-size:23px;letter-spacing:2px;max-width:320px}
.success-account{max-width:460px;margin:0 auto 25px;padding:18px;background:#f8f3e4;border:1px solid #dfc579;display:grid;gap:8px}.success-account strong{font-size:14px;color:#795a13}.success-account small{font-size:10px;color:var(--muted);line-height:1.45}.success-account button{justify-self:center;padding:10px 14px;border:1px solid #c79a2e;background:#fff;color:var(--navy);font-weight:800}
#portal-status{font-size:12px;color:#965123}
.history{max-width:1320px;margin:0 auto 90px;padding:0 4%}
.history-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid #d4d5cf;padding-bottom:25px;margin-bottom:24px}
.history-head h2{font-size:39px;margin:12px 0 8px}
.history-head p{font-size:13px;color:var(--muted)}
#history-status{font-size:12px;color:var(--muted);margin-bottom:16px}
.account-panel{margin:0 0 22px;padding:20px;background:#102846;color:#fff;border-left:4px solid var(--gold)}#account-form{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(180px,.8fr) minmax(170px,.7fr) auto;gap:14px;align-items:end;margin:0}#account-form>div{align-self:center}.account-panel strong{font-size:15px}.account-panel p{font-size:10px;color:#cbd5e2;margin-top:5px;line-height:1.45}.account-panel label{gap:6px}.account-panel label span{font-size:9px;color:#e6c468}.account-panel input{width:100%;padding:12px;border:1px solid #ffffff38;background:#fff;color:var(--navy);font:inherit}.account-panel input[name=pin]{letter-spacing:5px}.account-panel .primary{min-height:43px;padding:11px 16px;white-space:nowrap}.account-panel small{grid-column:1/-1;color:#f0c65f;font-size:10px;min-height:1em}#account-connected{display:flex;align-items:center;justify-content:space-between;gap:20px}#account-connected[hidden]{display:none}#account-connected button{padding:10px 13px;border:1px solid #ffffff50;background:transparent;color:#fff;font-weight:800}
.history-card{background:#fff;border:1px solid #dddeda;margin-bottom:13px;padding:22px 24px;display:grid;grid-template-columns:170px 1fr auto;gap:25px;align-items:center;transition:.25s}
.history-card:hover{transform:translateY(-3px);box-shadow:0 14px 35px #091d3c0b}
.history-ref strong{display:block;font-size:15px;letter-spacing:1px}
.history-ref span{font-size:10px;color:var(--muted)}
.history-main h3{font-size:18px;margin-bottom:4px}
.history-main p{font-size:11px;color:var(--muted)}
.status-chip{padding:8px 12px;border-radius:30px;font-size:10px;font-weight:800;background:#e7ebee;color:#42556a;white-space:nowrap}
.status-chip[data-status=delivered],.status-chip[data-status=ready]{background:#dcecdf;color:#315e3c}
.status-chip[data-status=in_progress],.status-chip[data-status=reviewing]{background:#e4e9f0;color:#294c72}
.status-chip[data-status=quote_sent]{background:#f5e8bf;color:#70530e}
.status-chip[data-status=approved],.status-chip[data-status=exchange]{background:#e1ebf4;color:#244f78}
.status-chip[data-status=correction]{background:#fff0d2;color:#7b5510}
.status-chip[data-status=closed],.status-chip[data-status=reviewed]{background:#dcecdf;color:#315e3c}
.status-chip[data-status=cancelled]{background:#f1dedd;color:#7d3430}
.request-timeline{grid-column:1/-1;display:grid;grid-template-columns:repeat(10,minmax(72px,1fr));gap:0;padding:19px 4px 8px;overflow-x:auto;scrollbar-width:thin;border-top:1px solid #ecece8}
.timeline-step{position:relative;display:grid;justify-items:center;align-content:start;gap:7px;min-width:72px;text-align:center;color:#8a9299}
.timeline-step:before{content:'';position:absolute;top:10px;left:0;width:100%;height:2px;background:#dfe2e4;z-index:0}.timeline-step:first-child:before{left:50%;width:50%}.timeline-step:last-child:before{width:50%}
.timeline-dot{position:relative;z-index:1;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e6e8e9;color:#66727d;font-size:9px;font-weight:800;box-shadow:0 0 0 4px #fff}
.timeline-step small{font-size:8px;line-height:1.25;max-width:85px}
.timeline-step[data-state=done]:before,.timeline-step[data-state=current]:before{background:var(--gold)}.timeline-step[data-state=done] .timeline-dot{background:#173a5f;color:#fff}.timeline-step[data-state=current] .timeline-dot{background:var(--gold);color:#132c48;box-shadow:0 0 0 4px #f6e8bd}.timeline-step[data-state=current] small{color:#173a5f;font-weight:800}
.history-details{grid-column:1/-1;border-top:1px solid #ecece8;padding-top:15px;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px}
.history-details div{font-size:10px;color:var(--muted)}
.history-files{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}
.history-files a{font-size:10px;background:#eeece3;padding:8px 10px;border-radius:3px}
.client-action{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,240px);gap:8px 18px;align-items:center;padding:17px 18px;background:#f4f1e6;border-left:3px solid var(--gold)}
.client-action strong,.client-action p{grid-column:1}.client-action strong{font-size:13px}.client-action p{font-size:10px;color:var(--muted);line-height:1.5}.client-action textarea,.client-action select{font:inherit;border:1px solid #cdd1cc;background:#fff;padding:11px}.client-action textarea{grid-column:1;resize:vertical}.client-action select{grid-column:1;max-width:220px}.client-action .primary{grid-column:2;grid-row:1/4;align-self:stretch;min-height:48px;padding:12px 16px}
.empty-history{padding:35px;border:1px dashed #c5c7c1;text-align:center;color:var(--muted);font-size:13px}
.push-entry{padding:14px max(5.5%,calc((100% - 1320px)/2));background:#f3f1e9;container-type:inline-size}
.push-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px 18px;align-items:center;margin:0;padding:17px 21px;background:#102846;color:#fff;border-left:4px solid var(--gold);box-shadow:0 10px 28px #091d3c12}
.push-card[hidden]{display:none}.push-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#edbb421f;color:var(--gold);font-size:24px;box-shadow:inset 0 0 0 1px #edbb4250}.push-card strong{font-size:16px}.push-card p{font-size:11px;line-height:1.55;color:#cbd5e2;margin-top:5px}.push-card small{display:block;color:#f0c65f;margin-top:7px;font-size:10px}.push-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.push-actions button{width:100%;min-width:0;min-height:45px}.push-card .primary{padding:12px 16px}.push-card .primary[data-enabled=true]{background:#e5e8e4;color:#17314f}.push-card .primary:disabled{opacity:.6;cursor:not-allowed}.push-test{padding:11px 14px;border:1px solid #edbb4270;background:transparent;color:#fff;font-size:11px;font-weight:800;white-space:normal}.push-test:hover{background:#ffffff10}.push-test:disabled{opacity:.6}
@container (max-width:520px){.push-actions{grid-template-columns:1fr}.push-card{gap:11px 13px;padding:14px 15px}.push-icon{width:40px;height:40px;font-size:20px}.push-card strong{font-size:14px}.push-card p{font-size:10px;line-height:1.4}}
.portal-body footer{background:#f7f5ef}
@media(max-width:900px){.portal-intro{grid-template-columns:1fr;gap:35px;padding-top:50px}
.portal-shell{grid-template-columns:1fr}
.service-selector{position:static}
.service-selector #service-menu{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.request-workspace{padding:30px}
.history-card{grid-template-columns:1fr auto}
.history-ref{grid-column:1/-1}
#account-form{grid-template-columns:1fr 1fr}#account-form>div{grid-column:1/-1}#account-form .primary{align-self:stretch}
}
@media(max-width:620px){.portal-header{height:80px}
.portal-back{display:none}
.push-entry{padding:10px 4%}
.push-entry .push-card{grid-template-columns:40px 1fr;gap:10px 12px;padding:14px 15px}
.push-entry .push-icon{width:40px;height:40px;font-size:20px}
.push-entry .push-card strong{font-size:14px;line-height:1.25}.push-entry .push-card p{font-size:10px;line-height:1.4;margin-top:3px}.push-entry .push-card small{margin-top:4px}
.push-entry .push-actions{grid-column:1/-1}.push-entry .push-card .primary{min-width:0;width:100%;padding:12px 15px}.push-entry .push-test{width:100%}
.portal-intro{padding:40px 6%}
.portal-intro h1{font-size:44px;letter-spacing:-2px}
.portal-shell{margin-top:35px;padding:0 5%}
.service-selector #service-menu{grid-template-columns:1fr}
.request-workspace{padding:24px 19px}
.form-grid{grid-template-columns:1fr}
.workspace-head h2{font-size:25px}
.workspace-head>div:last-child{width:50px;height:50px;font-size:28px}
.history{padding:0 5%}
.history-head{align-items:start}
.history-head .textlink{margin-top:10px}
.history-card{grid-template-columns:1fr}
#account-form{grid-template-columns:1fr}#account-form>div,#account-form small{grid-column:1}#account-form .primary{width:100%}#account-connected{align-items:flex-start;flex-direction:column}
.status-chip{justify-self:start}
.request-timeline{margin-right:-10px;padding-bottom:13px}.client-action{grid-template-columns:1fr}.client-action strong,.client-action p,.client-action textarea,.client-action select,.client-action .primary{grid-column:1;grid-row:auto}.client-action .primary{min-height:46px}
.push-card{grid-template-columns:auto minmax(0,1fr)}.push-card .primary{width:100%}
.portal-body footer{padding:25px 6%}
}
@media(prefers-reduced-motion:reduce){.history-card,.service-choice,.service-choice span:last-child{transition:none}
}

/* Clear section labels, grouped services and a subtle brand signal. */
.portal-intro .eyebrow>span:last-child,.history .eyebrow>span:last-child{width:auto;height:auto;background:transparent;border-radius:0;white-space:nowrap;line-height:1.4}
.portal-intro .eyebrow,.history .eyebrow{min-height:16px;align-items:center}
.portal-header .brand{position:relative}
.portal-header .brand-lockup{transform-origin:left center;animation:brandLogoPulse 7s cubic-bezier(.22,.7,.25,1) infinite;transition:transform .3s,filter .3s}
.portal-header .brand:after{content:'';position:absolute;left:9%;right:9%;bottom:-6px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:scaleX(0);animation:portalLogoLine 7s ease-in-out infinite}
.portal-header .brand:hover .brand-lockup{transform:translateY(-2px) scale(1.025);filter:drop-shadow(0 7px 8px #091d3c24)}
.service-group-label{padding:20px 10px 8px;color:#9a7425;font-size:8px;font-weight:800;letter-spacing:1.45px;text-transform:uppercase;border-top:1px solid #d7d8d2}
.service-group-label:first-child{padding-top:0;border-top:0}
.service-group-label+.service-choice{border-top:0}
@keyframes portalLogoMoment{0%,72%,100%{transform:translateY(0) scale(1);filter:none}78%{transform:translateY(-2px) scale(1.025);filter:drop-shadow(0 7px 8px #091d3c26)}84%{transform:translateY(0) scale(1.01);filter:drop-shadow(0 3px 5px #c89b3c45)}90%{transform:translateY(-1px) scale(1.018);filter:drop-shadow(0 5px 7px #091d3c1f)}}
@keyframes portalLogoLine{0%,72%,100%{transform:scaleX(0);opacity:0}80%{transform:scaleX(1);opacity:1}90%{transform:scaleX(.35);opacity:.35}}
@media(max-width:900px){.service-selector #service-menu{display:block}.service-group-label{padding-top:18px}}
@media(max-width:620px){.portal-intro .eyebrow>span:last-child,.history .eyebrow>span:last-child{white-space:normal}.service-group-label{font-size:7px}.portal-header .brand:after{bottom:-3px}}
@media(prefers-reduced-motion:reduce){.portal-header .brand-lockup,.portal-header .brand:after{animation:none!important}.portal-header .brand:hover .brand-lockup{transform:none;filter:none}}
