.portal-page,.dashboard-page{min-height:100vh;background:#071521;color:#eef3f4}.portal-header,.dashboard-header{width:min(calc(100% - 48px),1180px);margin:auto;min-height:88px;display:flex;align-items:center;justify-content:space-between}.portal-back,.dashboard-header nav a{color:#cbd6da;text-decoration:none;font-size:13px}.auth-shell{width:min(calc(100% - 48px),1120px);margin:0 auto;min-height:calc(100vh - 190px);display:grid;grid-template-columns:1fr 470px;gap:90px;align-items:center;padding:70px 0}.auth-intro h1,.dashboard-welcome h1{font-size:clamp(46px,6vw,76px);color:#fff}.auth-intro>p:not(.eyebrow){max-width:600px;color:#aebcc2;font-size:17px}.security-note{margin-top:38px;border-left:3px solid #c68a55;background:#ffffff08;padding:20px 24px;display:grid;gap:7px;max-width:610px}.security-note strong{font-family:"Playfair Display",serif;font-size:18px}.security-note span{font-size:12px;color:#9eafb6;line-height:1.6}.auth-card{background:#f5f1e8;color:#071521;padding:44px;box-shadow:0 30px 90px #0008}.auth-card h2{font-size:38px;margin-bottom:28px}.auth-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:#a76e3f;font-weight:700}.auth-card form{display:grid;gap:18px}.auth-card label{display:grid;gap:7px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.auth-card input{width:100%;border:1px solid #c8c3b8;background:#fff;padding:14px 15px;font:inherit;color:#071521;outline:none}.auth-card input:focus{border-color:#c68a55;box-shadow:0 0 0 3px #c68a5525}.auth-card .button{border:0;cursor:pointer;margin-top:5px}.auth-card .button:disabled{opacity:.65;cursor:wait}.form-message{font-size:12px;min-height:18px;margin:0;color:#9d2f2f}.form-message.success{color:#315f42}.auth-divider{display:flex;align-items:center;gap:12px;margin:25px 0 16px;color:#7c7b76;font-size:11px}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#d8d1c5;flex:1}.outline-button{display:block;text-align:center;border:1px solid #173345;padding:13px;text-decoration:none;font-size:12px;font-weight:700}.auth-footnote{text-align:center;font-size:12px;margin:22px 0 0}.check-row{grid-template-columns:18px 1fr!important;align-items:start;text-transform:none!important;letter-spacing:0!important;font-weight:400!important;line-height:1.5}.check-row input{width:16px;height:16px;padding:0;margin-top:2px}.feature-list{list-style:none;padding:0;margin-top:30px;display:grid;gap:12px;color:#c9d3d7}.feature-list li:before{content:"✓";color:#c68a55;margin-right:12px}.portal-footer{width:min(calc(100% - 48px),1180px);margin:0 auto;padding:24px 0 35px;color:#72868f;font-size:10px;border-top:1px solid #ffffff12}
.dashboard-header{width:100%;padding:0 max(24px,calc((100% - 1180px)/2));background:#0d2430;border-bottom:1px solid #ffffff12}.dashboard-header nav{display:flex;align-items:center;gap:30px}.logout-button{border:1px solid #ffffff2c;color:#fff;background:transparent;padding:9px 14px;cursor:pointer}.dashboard-wrap{width:min(calc(100% - 48px),1180px);margin:auto;padding:75px 0}.dashboard-welcome{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:42px}.dashboard-welcome h1{font-size:54px;margin:8px 0}.dashboard-welcome p{color:#94a7af}.review-chip{min-width:270px;background:#c68a55;color:#071521;padding:22px}.review-chip small,.review-chip span{display:block;font-size:10px}.review-chip strong{display:block;font:500 20px "Playfair Display",serif;margin:5px 0}.dashboard-grid{display:grid;grid-template-columns:.8fr 1.25fr 1fr;gap:22px}.dash-card,.goal-card,.document-list{background:#f3efe6;color:#071521;padding:28px}.card-head{display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.12em;font-size:10px;border-bottom:1px solid #d7d0c4;padding-bottom:17px}.card-head small{color:#9c714d}.score-ring{width:150px;height:150px;border-radius:50%;margin:28px auto 18px;display:grid;place-content:center;text-align:center;background:conic-gradient(#c68a55 0 82%,#d8d2c8 82% 100%);position:relative}.score-ring:before{content:"";position:absolute;inset:12px;border-radius:50%;background:#f3efe6}.score-ring>*{position:relative}.score-ring strong{font:500 45px "Playfair Display",serif}.score-ring span{font-size:10px;text-transform:uppercase}.plan-score p{font-size:12px;color:#68767c;text-align:center}.summary-value{margin:28px 0}.summary-value small,.summary-value span{display:block;font-size:10px;color:#6d7a80}.summary-value strong{display:block;font:500 40px "Playfair Display",serif;margin:3px 0}.summary-value span{color:#49785b}.bar-chart{height:105px;display:flex;align-items:end;gap:10px;border-bottom:1px solid #c9c2b7}.bar-chart i{flex:1;background:#173b4b}.action-card ul{list-style:none;padding:0;margin:15px 0}.action-card li{display:flex;gap:12px;padding:18px 0;border-bottom:1px solid #d7d0c4}.action-card li>span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#c68a55;font-size:10px}.action-card strong,.action-card small{display:block}.action-card strong{font-size:13px}.action-card small{font-size:10px;color:#738087;margin-top:4px}.dashboard-section{padding-top:85px}.dashboard-section-head{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:30px}.dashboard-section h2{font-size:40px;color:#fff}.dashboard-section-head>p{color:#93a7af;font-size:13px}.goal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.goal-card>div{display:flex;justify-content:space-between;gap:18px}.goal-card strong{font:500 23px "Playfair Display",serif}.goal-card progress{width:100%;height:5px;border:0;margin:25px 0 10px}.goal-card progress::-webkit-progress-bar{background:#d8d2c8}.goal-card progress::-webkit-progress-value{background:#c68a55}.goal-card p{font-size:10px;color:#718087}.document-list{padding:0}.document-list>div{display:grid;grid-template-columns:54px 1fr auto;gap:18px;align-items:center;padding:20px 24px;border-bottom:1px solid #d8d1c6}.doc-icon{width:48px;height:48px;background:#173b4b;color:#fff;display:grid;place-items:center;font-size:10px}.document-list strong,.document-list small{display:block}.document-list small{font-size:10px;color:#738087;margin-top:3px}.document-list button{border:1px solid #bbb4aa;background:transparent;padding:9px 14px;font-size:10px}.dashboard-disclaimer{margin-top:70px;background:#c68a55;color:#071521;padding:20px 24px;font-size:11px;line-height:1.6}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr;gap:40px;padding-top:35px}.dashboard-header nav a{display:none}.dashboard-welcome{display:grid}.dashboard-grid{grid-template-columns:1fr 1fr}.action-card{grid-column:1/-1}.goal-grid{grid-template-columns:1fr}.dashboard-section-head{grid-template-columns:1fr;gap:10px}}
@media(max-width:600px){.portal-header,.dashboard-header{width:100%;padding:0 16px}.auth-shell,.dashboard-wrap,.portal-footer{width:min(calc(100% - 28px),1180px)}.auth-card{padding:28px}.dashboard-grid{grid-template-columns:1fr}.action-card{grid-column:auto}.dashboard-welcome h1{font-size:42px}.review-chip{min-width:0}.document-list>div{grid-template-columns:46px 1fr}.document-list button{display:none}.dashboard-header nav{gap:10px}}

.hidden{display:none!important}.small{padding:.65rem 1rem}.admin-link{display:inline-block;margin-top:1.5rem;color:inherit;opacity:.7}.trust-list{display:grid;gap:.7rem;margin-top:2rem}.split-section{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.compact{margin-top:0}.inline-form{display:flex;gap:.75rem;align-items:center;margin:1rem 0 1.5rem}.inline-form input,.inline-form select{flex:1}.stack-form,.profile-grid{display:grid;gap:1rem}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-grid button,.profile-grid .form-status{align-self:end}.stack-form label,.profile-grid label,.admin-key label,.invite-result label{display:grid;gap:.4rem;font-weight:700}.stack-form input,.stack-form textarea,.profile-grid input,.profile-grid select,.inline-form input,.inline-form select,.admin-key input,.invite-result input{width:100%;padding:.9rem 1rem;border:1px solid #cbd5df;border-radius:8px;background:#fff;font:inherit}.mini-list{display:grid;gap:.65rem}.mini-list>div{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid #dce3e8}.mini-list small{opacity:.7}.text-button{border:0;background:none;padding:0;color:#8a4a2e;cursor:pointer}.empty-state{opacity:.7}.admin-wrap{max-width:1100px}.admin-key{display:flex;gap:1rem;align-items:end}.admin-key label{flex:1}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0}.admin-stats article{display:grid;gap:.5rem}.admin-stats strong{font-size:2rem}.invite-result{display:flex;gap:.75rem;align-items:end;margin:1rem 0}.invite-result label{flex:1}
@media(max-width:800px){.split-section,.profile-grid,.admin-stats{grid-template-columns:1fr}.inline-form,.admin-key,.invite-result{align-items:stretch;flex-direction:column}.dashboard-header nav a{display:none}}
.admin-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid rgba(13,42,57,.12)}
.admin-row span{display:grid;gap:.2rem;min-width:0}.admin-row small{display:block;color:var(--muted,#66757f);overflow-wrap:anywhere}
.button-danger{background:#8f2f2f;color:#fff;border:1px solid #8f2f2f}.button-danger:hover{background:#742525}
@media(max-width:640px){.admin-row{align-items:flex-start;flex-direction:column}.admin-row .button{width:100%}}
.check-option{display:flex;align-items:center;gap:.55rem;color:#455863;font-size:.92rem;white-space:nowrap}.check-option input{width:1rem;height:1rem;accent-color:#a95f35}.form-status{min-height:1.4em}
