:root{--green-950:#0f3b27;--green-800:#1f5c38;--green-100:#edf5ee;--ink:#1c241f;--muted:#68736c;--line:#dfe6e0;--white:#fff;--red:#9a3030}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#e8ece9;color:var(--ink);font-family:Arial,Helvetica,sans-serif}
.shell{max-width:900px;margin:72px auto;padding:0 24px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:40px;box-shadow:0 12px 34px rgba(0,0,0,.10)}
.eyebrow{color:var(--green-800);font-size:12px;font-weight:800;letter-spacing:1.5px}h1{margin:10px 0 8px;color:var(--green-950);font-size:34px}.lead{color:var(--muted);margin-bottom:26px}
.status{display:inline-block;padding:8px 12px;border-radius:999px;font-weight:700;font-size:13px;margin-bottom:22px}.status.ok{background:var(--green-100);color:var(--green-950)}.status.error{background:#fff1f1;color:var(--red)}
dl{margin:0;border-top:1px solid var(--line)}dl div{display:grid;grid-template-columns:180px 1fr;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}dt{font-weight:700}dd{margin:0}.next{margin-top:24px;font-weight:700;color:var(--green-950)}.next a{color:var(--green-800)}
.error-text{white-space:pre-wrap;color:var(--red);font-family:Menlo,Monaco,monospace;font-size:12px}

/* ===== STAGE 1 CLIENT REGISTRATION ===== */
.registration-page{min-height:100vh;background:radial-gradient(circle at 10% 10%,rgba(179,139,70,.13),transparent 26%),linear-gradient(135deg,#f8faf6,#eef4ef);padding:54px 24px;color:#18221c;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.registration-shell{width:min(1080px,100%);margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:center}.registration-brand img,.complete-card img{width:min(430px,100%);height:auto}.registration-brand .eyebrow,.complete-card .eyebrow{margin-top:24px;color:#b38b46;font-size:11px;font-weight:900;letter-spacing:1.8px}.registration-brand h1,.complete-card h1{font-size:48px;line-height:1.04;letter-spacing:-1.8px;color:#0d3d2a;margin:12px 0 18px}.registration-brand p{color:#5c6961;line-height:1.65;font-size:16px}.registration-note{margin-top:25px;padding:15px 17px;border-left:3px solid #b38b46;background:rgba(255,255,255,.65);color:#526057;font-size:13px}.registration-form,.complete-card{background:#fff;border:1px solid #dfe7df;border-radius:28px;padding:36px;box-shadow:0 28px 70px rgba(13,61,42,.10)}.registration-form h2{margin:0;color:#0d3d2a;font-size:27px}.form-intro{margin:7px 0 24px;color:#718078;font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}.registration-form label{display:block;margin-bottom:6px;font-size:10px;font-weight:850;color:#536057;text-transform:uppercase;letter-spacing:.5px}.registration-form input{width:100%;border:1px solid #dbe3dc;border-radius:12px;padding:12px 13px;background:#fff;font:inherit;color:#18221c;outline:none}.registration-form input:focus{border-color:#718052;box-shadow:0 0 0 3px rgba(113,128,82,.12)}.password-rules{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.password-rules span{font-size:10px;padding:6px 8px;border-radius:999px;background:#f0f2f0;color:#879089}.password-rules span.pass{background:#e6f2e9;color:#2f7a4f;font-weight:800}.registration-submit,.registration-secondary{display:inline-flex;width:100%;justify-content:center;align-items:center;border:0;border-radius:999px;padding:14px 20px;background:#0d3d2a;color:#fff;font-weight:850;text-decoration:none;cursor:pointer}.registration-submit:disabled{opacity:.42;cursor:not-allowed}.privacy-copy{font-size:10px;color:#8a948e;text-align:center;margin:13px 0 0}.form-alert{padding:11px 13px;border-radius:10px;margin-bottom:16px;font-size:12px}.form-alert.error{background:#fff0ef;color:#8a3029;border:1px solid #f0d0cc}.complete-card{width:min(620px,100%);margin:auto;text-align:center}.complete-card img{max-width:330px}.complete-check{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#e7f3e9;color:#2f7a4f;font-size:26px;font-weight:900;margin:24px auto 0}.complete-card p{color:#5c6961;line-height:1.6}.complete-card dl{margin:25px 0;text-align:left;border:1px solid #e1e8e2;border-radius:15px;overflow:hidden}.complete-card dl div{display:flex;justify-content:space-between;gap:20px;padding:12px 15px;border-bottom:1px solid #e8ede9}.complete-card dl div:last-child{border-bottom:0}.complete-card dt{color:#7a867f;font-size:11px}.complete-card dd{margin:0;color:#0d3d2a;font-weight:850;font-size:12px}.next-copy{font-size:12px}.registration-secondary{margin-top:12px;width:auto;padding-inline:25px}@media(max-width:820px){.registration-shell{grid-template-columns:1fr}.registration-brand{text-align:center}.registration-brand img{max-width:330px}.registration-brand h1,.complete-card h1{font-size:38px}}@media(max-width:560px){.registration-page{padding:24px 14px}.registration-form,.complete-card{padding:24px 18px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}

/* ===== PHASE 6A: CLIENT LOGIN + PORTAL FOUNDATION ===== */
.auth-page{min-height:100vh;background:radial-gradient(circle at 88% 14%,rgba(179,139,70,.13),transparent 27%),linear-gradient(135deg,#f8faf6,#eef4ef);padding:54px 24px;color:#18221c;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.auth-shell{width:min(1080px,100%);margin:auto;display:grid;grid-template-columns:.92fr 1.08fr;gap:42px;align-items:center}.auth-brand-panel img{width:min(430px,100%);height:auto}.auth-brand-panel .eyebrow{margin-top:24px;color:#b38b46;font-size:11px;font-weight:900;letter-spacing:1.8px}.auth-brand-panel h1{font-size:48px;line-height:1.04;letter-spacing:-1.8px;color:#0d3d2a;margin:12px 0 18px}.auth-brand-panel p{color:#5c6961;line-height:1.65;font-size:16px}.auth-form{background:#fff;border:1px solid #dfe7df;border-radius:28px;padding:36px;box-shadow:0 28px 70px rgba(13,61,42,.10)}.auth-form h2{margin:7px 0 0;color:#0d3d2a;font-size:31px}.auth-form .eyebrow{color:#b38b46;font-size:11px;font-weight:900;letter-spacing:1.5px}.auth-fields{display:grid;gap:15px;margin-bottom:20px}.auth-form label{display:block;margin-bottom:6px;font-size:10px;font-weight:850;color:#536057;text-transform:uppercase;letter-spacing:.5px}.auth-form input{width:100%;border:1px solid #dbe3dc;border-radius:12px;padding:13px;background:#fff;font:inherit;color:#18221c;outline:none}.auth-form input:focus{border-color:#718052;box-shadow:0 0 0 3px rgba(113,128,82,.12)}.auth-help,.auth-home{text-align:center;color:#7b857e;font-size:12px;margin:15px 0 0}.auth-help a,.auth-home a{color:#1f5c38;font-weight:800;text-decoration:none}.auth-home{margin-top:10px}.form-alert.success{background:#edf7ef;color:#28633d;border:1px solid #cfe6d4}
.portal-page{min-height:100vh;background:#f4f7f3;color:#18221c;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.portal-header{height:96px;background:#fff;border-bottom:1px solid #dfe7df;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 max(24px,calc((100vw - 1180px)/2));position:sticky;top:0;z-index:20}.portal-brand{display:flex;align-items:center;width:300px;height:82px}.portal-brand img{width:100%;height:100%;object-fit:contain;object-position:left center}.portal-user-actions{display:flex;align-items:center;gap:14px;color:#6a766f;font-size:12px}.portal-user-actions form{margin:0}.portal-logout{border:1px solid #d4ddd6;background:#fff;color:#0d3d2a;border-radius:999px;padding:10px 15px;font-weight:800;cursor:pointer}.portal-logout:hover{border-color:#8ea092;background:#fbfcfa}.portal-main{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:52px 0 72px}.portal-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.portal-welcome .eyebrow{color:#b38b46;font-size:11px;font-weight:900;letter-spacing:1.7px}.portal-welcome h1{font-size:46px;letter-spacing:-1.5px;margin:9px 0 5px;color:#0d3d2a}.portal-welcome p{margin:0;color:#647168;font-size:17px}.portal-check{background:#e8f3ea;border:1px solid #cfe2d2;color:#2f7047;border-radius:999px;padding:10px 15px;font-size:12px;font-weight:850}.portal-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.portal-card{background:#fff;border:1px solid #dfe7df;border-radius:24px;padding:28px;box-shadow:0 16px 46px rgba(13,61,42,.06)}.portal-card-primary{grid-row:span 2}.portal-card-kicker{color:#a47e3d;font-size:10px;letter-spacing:1.5px;font-weight:900}.portal-card h2{color:#0d3d2a;font-size:25px;line-height:1.15;margin:10px 0 12px}.portal-card p{color:#647168;font-size:14px;line-height:1.65;margin:0}.portal-proof{margin-top:26px;border:1px solid #e2e8e3;border-radius:16px;overflow:hidden}.portal-proof div{display:flex;justify-content:space-between;gap:20px;padding:13px 15px;border-bottom:1px solid #edf0ed}.portal-proof div:last-child{border-bottom:0}.portal-proof span{color:#89928d;font-size:11px}.portal-proof strong{color:#0d3d2a;font-size:12px;text-align:right}.portal-card-disabled button{margin-top:20px;width:100%;border:0;border-radius:999px;padding:12px 16px;background:#edf1ed;color:#8a948d;font-weight:850}.portal-card-disabled{background:linear-gradient(180deg,#fff,#fafcf9)}
@media(max-width:820px){.auth-shell{grid-template-columns:1fr}.auth-brand-panel{text-align:center}.auth-brand-panel img{max-width:330px}.auth-brand-panel h1{font-size:38px}.portal-grid{grid-template-columns:1fr}.portal-card-primary{grid-row:auto}.portal-welcome{align-items:flex-start;flex-direction:column}.portal-header{height:auto;min-height:82px;padding-block:10px}.portal-brand{width:220px;height:64px}.portal-user-actions span{display:none}}@media(max-width:560px){.auth-page{padding:24px 14px}.auth-form{padding:24px 18px}.portal-main{width:calc(100% - 24px);padding-top:32px}.portal-welcome h1{font-size:36px}.portal-card{padding:22px}.portal-brand{width:175px}.portal-user-actions{gap:7px}.portal-logout{padding:9px 11px;font-size:11px}}
.admin-mfa-page .auth-shell{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}
.admin-mfa-page .auth-form,.admin-mfa-page .auth-brand-panel{min-width:0}
.admin-mfa-page .admin-mfa-setup{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.admin-mfa-page .admin-mfa-setup code{white-space:normal;overflow-wrap:anywhere}
@media(max-width:820px){.admin-mfa-page .auth-shell{grid-template-columns:minmax(0,1fr)}}

/* Phase 6A.1 — Password recovery */
.auth-label-row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:6px}.auth-label-row label{margin-bottom:0}.auth-label-row a{font-size:11px;font-weight:800;color:#1f5c38;text-decoration:none}.auth-label-row a:hover{text-decoration:underline}

/* ===== PHASE 6B: CLIENT REPORT LIBRARY ===== */
.portal-latest{display:flex;align-items:center;justify-content:space-between;gap:28px;background:linear-gradient(135deg,#0d3d2a,#174d39);color:#fff;border-radius:26px;padding:30px 32px;margin-bottom:20px;box-shadow:0 18px 50px rgba(13,61,42,.16)}.portal-latest .portal-card-kicker{color:#e1c17a}.portal-latest h2{font-size:32px;margin:7px 0 5px;color:#fff}.portal-latest p{margin:0;color:#d9e6df}.portal-primary-action{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;background:#fff;color:#0d3d2a;text-decoration:none;border-radius:999px;padding:13px 19px;font-weight:900;font-size:13px}.portal-grid-reports{grid-template-columns:1.35fr .65fr;align-items:start}.portal-report-library{min-height:360px}.portal-side-stack{display:grid;gap:20px}.portal-report-list{margin-top:22px;border:1px solid #e2e8e3;border-radius:17px;overflow:hidden}.portal-report-row{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:17px 18px;color:inherit;text-decoration:none;border-bottom:1px solid #edf0ed;background:#fff;transition:background .15s ease}.portal-report-row:last-child{border-bottom:0}.portal-report-row:hover{background:#f7faf7}.portal-report-row strong{display:block;color:#0d3d2a;font-size:15px}.portal-report-row span{display:block;color:#849088;font-size:11px;margin-top:3px}.portal-report-row .portal-report-open{color:#1f5c38;font-weight:900;font-size:12px;margin:0;white-space:nowrap}.portal-empty-state{margin-top:22px;border:1px dashed #ccd8ce;border-radius:17px;padding:24px;background:#fafcf9}.portal-empty-state strong{color:#0d3d2a}.portal-empty-state p{margin-top:7px}.portal-proof-compact{margin-top:18px}
@media(max-width:820px){.portal-latest{align-items:flex-start;flex-direction:column}.portal-grid-reports{grid-template-columns:1fr}.portal-primary-action{width:100%}.portal-report-row{align-items:flex-start}.portal-report-row .portal-report-open{margin-top:2px}}
@media(max-width:560px){.portal-latest{padding:24px 22px}.portal-latest h2{font-size:27px}.portal-report-row{flex-direction:column;gap:8px}.portal-report-row .portal-report-open{margin-top:0}}

/* ===== PHASE 7A: SECURE ONBOARDING RESUME + INITIAL UPLOAD ===== */
.portal-secondary-action{display:inline-flex;align-items:center;justify-content:center;margin-top:18px;border:1px solid #cfdad1;color:#0d3d2a;background:#f8fbf8;text-decoration:none;border-radius:999px;padding:11px 16px;font-weight:900;font-size:12px}.portal-secondary-action:hover{background:#eef5ef}.portal-back-link{color:#1f5c38;text-decoration:none;font-weight:850;font-size:12px}.onboarding-main{width:min(820px,calc(100% - 40px));margin:0 auto;padding:58px 0 80px}.onboarding-card{background:#fff;border:1px solid #dfe7df;border-radius:28px;padding:38px;box-shadow:0 22px 60px rgba(13,61,42,.08)}.onboarding-card h1{font-size:39px;letter-spacing:-1px;margin:10px 0 12px;color:#0d3d2a}.onboarding-lead{font-size:16px;line-height:1.65;color:#647168;margin:0 0 26px}.onboarding-status-box{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #e0e7e1;border-radius:16px;padding:15px 17px;margin:24px 0;background:#fafcf9}.onboarding-status-box span{font-size:11px;color:#87928b}.onboarding-status-box strong{color:#0d3d2a;font-size:12px;text-align:right}.onboarding-action{margin-top:22px}.onboarding-upload-form{display:grid;gap:16px}.onboarding-upload-form>label{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.6px;color:#536057}.onboarding-upload-form input[type=file]{width:100%;border:1px dashed #bfcfc2;border-radius:16px;padding:20px;background:#f9fbf8;color:#465249}.upload-guidance{border-left:3px solid #b38b46;background:#fbfaf5;padding:15px 17px}.upload-guidance strong{display:block;color:#0d3d2a;font-size:13px;margin-bottom:5px}.upload-guidance p{margin:0;color:#647168;font-size:13px;line-height:1.6}.onboarding-received{display:grid;gap:4px;background:#edf7ef;border:1px solid #cfe6d4;border-radius:14px;padding:14px 16px;margin-bottom:18px}.onboarding-received strong{color:#28633d;font-size:13px}.onboarding-received span{color:#607167;font-size:12px}.onboarding-privacy{color:#8a948e;font-size:10px;line-height:1.5;margin:18px 0 0}@media(max-width:560px){.onboarding-main{width:calc(100% - 24px);padding-top:32px}.onboarding-card{padding:24px 19px}.onboarding-card h1{font-size:32px}.onboarding-status-box{align-items:flex-start;flex-direction:column}.portal-back-link{display:none}}

/* Secure onboarding profiling handoff */
.onboarding-resume-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}.onboarding-resume-actions form{margin:18px 0 0}.onboarding-resume-actions .portal-primary-action{border:0;background:#0d3d2a;color:#fff;cursor:pointer}.onboarding-resume-actions .portal-secondary-action{margin-top:18px}.onboarding-card>.onboarding-action{background:#0d3d2a;color:#fff}.onboarding-received span{overflow-wrap:anywhere}@media(max-width:560px){.onboarding-resume-actions{display:grid;grid-template-columns:1fr}.onboarding-resume-actions form,.onboarding-resume-actions .portal-secondary-action{margin-top:0}.onboarding-resume-actions .portal-primary-action,.onboarding-resume-actions .portal-secondary-action{width:100%}}


/* ===== PHASE 8.6C: MONTHLY CLIENT UPLOAD ===== */
.monthly-upload-main{width:min(820px,calc(100% - 40px));margin:0 auto;padding:44px 0 80px}.monthly-upload-card{margin-top:18px;background:#fff;border:1px solid #dfe7df;border-radius:28px;padding:38px;box-shadow:0 22px 60px rgba(13,61,42,.08)}.monthly-upload-card h1{font-size:39px;letter-spacing:-1px;margin:10px 0 12px;color:#0d3d2a}.monthly-upload-form{display:grid;gap:16px}.monthly-upload-form>label{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.6px;color:#536057}.monthly-period-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.monthly-period-row input[type=month]{width:100%;border:1px solid #dbe3dc;border-radius:12px;padding:13px;background:#fff;font:inherit;color:#18221c}.monthly-check-button{margin-top:0;border:1px solid #cfdad1;cursor:pointer}.monthly-required-files{border:1px solid #e0e7e1;border-radius:16px;overflow:hidden;background:#fafcf9}.monthly-required-files>strong{display:block;padding:13px 16px;color:#0d3d2a;font-size:12px;border-bottom:1px solid #e6ebe7}.monthly-required-files>div{display:flex;justify-content:space-between;gap:18px;padding:12px 16px;border-bottom:1px solid #edf0ed}.monthly-required-files>div:last-child{border-bottom:0}.monthly-required-files span{font-size:12px;font-weight:800;color:#26362d}.monthly-required-files small{font-size:10px;color:#7d8981;text-align:right}.monthly-upload-form input[type=file]{width:100%;border:1px dashed #bfcfc2;border-radius:16px;padding:20px;background:#f9fbf8;color:#465249}.monthly-submit{border:0;cursor:pointer}.portal-link-button{text-decoration:none;display:inline-flex;align-items:center}.form-alert.error{background:#fff1f1;color:#9a2f2f;border:1px solid #efd0d0;border-radius:12px;padding:12px 14px;font-size:13px}
@media(max-width:560px){.monthly-upload-main{width:calc(100% - 24px);padding-top:28px}.monthly-upload-card{padding:24px 19px}.monthly-upload-card h1{font-size:32px}.monthly-period-row{grid-template-columns:1fr}.monthly-required-files>div{flex-direction:column;gap:4px}.monthly-required-files small{text-align:left}}


/* ===== PHASE 8.6C.1: CROSS-BROWSER REPORTING MONTH SELECTOR ===== */
.monthly-period-selectors{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(120px,.8fr);gap:10px}.monthly-period-selectors>div{display:grid;gap:6px}.monthly-period-selectors label{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.55px;color:#6c786f}.monthly-period-selectors select{width:100%;appearance:auto;border:1px solid #dbe3dc;border-radius:12px;padding:13px 14px;background:#fff;font:inherit;color:#18221c;min-height:48px}.monthly-period-selectors select:focus{outline:2px solid rgba(13,61,42,.15);border-color:#789383}
@media(max-width:560px){.monthly-period-selectors{grid-template-columns:1fr}}

/* Phase 8.6D - report data-profile links */
.portal-report-row>a:first-child{display:block;flex:1;min-width:0;text-decoration:none;color:inherit}.portal-report-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.portal-data-profile-link{color:#6f5a2c!important}

/* Phase 8.6E.2 - Monthly Intake Preflight */
.preflight-last-period { margin: 20px 0 24px; padding: 18px 20px; border: 1px solid #d8e3dc; border-radius: 14px; background: #f7faf8; display: grid; gap: 4px; }
.preflight-last-period span, .preflight-label, .preflight-summary-grid span { font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; color: #66746b; font-weight: 700; }
.preflight-last-period strong { font-size: 1.15rem; color: #0c4b32; }
.preflight-last-period small { color: #66746b; }
.preflight-result { margin: 22px 0; padding: 22px; border-radius: 16px; border: 1px solid #cfdcd4; background: #f8fbf9; }
.preflight-result h2 { margin: 5px 0 2px; color: #0c4b32; }
.preflight-ready, .preflight-ready_with_warnings { border-left: 5px solid #2f7d4a; }
.preflight-client_decision_required { border-left: 5px solid #b5852b; }
.preflight-blocked { border-left: 5px solid #b44343; }
.preflight-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; margin: 18px 0; }
.preflight-summary-grid > div { padding: 12px; border-radius: 10px; background: #fff; border: 1px solid #e1e8e3; display: grid; gap: 4px; }
.preflight-messages { margin: 12px 0; padding: 14px 16px; border-radius: 10px; }
.preflight-messages p { margin: 5px 0 0; }
.preflight-messages.warning { background: #fff7e5; color: #765414; }
.preflight-messages.blocked { background: #fff0f0; color: #8d2929; }
.preflight-source-list { margin-top: 16px; border: 1px solid #e1e8e3; border-radius: 12px; overflow: hidden; }
.preflight-source-row { display: flex; justify-content: space-between; gap: 20px; padding: 12px 14px; background: #fff; border-bottom: 1px solid #e9eeeb; }
.preflight-source-row:last-child { border-bottom: 0; }
.preflight-source-row > div { display: grid; gap: 2px; }
.preflight-source-row > div:last-child { text-align: right; }
.preflight-source-row small { color: #748078; }
.preflight-safety-note { margin: 16px 0 0; color: #66746b; font-size: .9rem; }
@media (max-width: 720px) { .preflight-summary-grid { grid-template-columns: 1fr; } .preflight-source-row { flex-direction: column; } .preflight-source-row > div:last-child { text-align: left; } }

/* Phase 8.6E.4 — stable Two Trees communication area */
.intake-status-panel { margin: 22px 0; min-height: 190px; max-height: 250px; overflow-y: auto; padding: 20px 22px; border: 1px solid #d5e0d9; border-left: 5px solid #809087; border-radius: 16px; background: #f8fbf9; box-sizing: border-box; }
.intake-status-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; position:sticky; top:-20px; background:#f8fbf9; padding:4px 0 10px; z-index:1; }
.intake-status-heading h2 { margin:4px 0 0; color:#0c4b32; font-size:1.35rem; }
.intake-status-badge { white-space:nowrap; border:1px solid #d3ddd6; background:#fff; border-radius:999px; padding:7px 11px; font-size:.78rem; font-weight:700; color:#425349; }
.intake-status-body p { margin:7px 0; color:#4f5e55; }
.intake-status-panel.status-ready, .intake-status-panel.status-ready_with_warnings, .intake-status-panel.status-no_action_required { border-left-color:#2f7d4a; }
.intake-status-panel.status-client_decision_required { border-left-color:#b5852b; }
.intake-status-panel.status-blocked, .intake-status-panel.status-error { border-left-color:#b44343; }
.revision-comparison { margin:16px 0; border:1px solid #dfe7e2; border-radius:12px; overflow:hidden; background:#fff; }
.revision-comparison-title { display:flex; justify-content:space-between; gap:16px; padding:13px 15px; background:#f5f8f6; color:#45554b; }
.revision-source { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:12px 15px; border-top:1px solid #e8eeea; }
.revision-source > div:first-child { display:grid; gap:2px; }
.revision-source small { color:#758078; }
.revision-state { font-weight:700; white-space:nowrap; }
.revision-unchanged .revision-state { color:#236b3e; }
.revision-changed { background:#fff8e8; }
.revision-changed .revision-state { color:#8a6115; }
.revision-baseline_unavailable { background:#fff3f3; }
.revision-baseline_unavailable .revision-state { color:#963838; }
.preflight-details { margin-top:14px; }
.preflight-details summary { cursor:pointer; color:#0c4b32; font-weight:700; }
.preflight-no_action_required { border-left:5px solid #2f7d4a; }
@media (max-width:720px) { .intake-status-heading, .revision-comparison-title, .revision-source { flex-direction:column; } .intake-status-badge { align-self:flex-start; } .intake-status-panel { max-height:300px; } }

/* Phase 8.6E.4.1 — Monthly upload clarity redesign */
.monthly-upload-main-wide{width:min(1180px,calc(100% - 40px))}
.monthly-upload-card-wide{padding:38px 40px}
.monthly-workspace{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);gap:28px;align-items:start;margin-top:24px}
.monthly-workflow-column{display:grid;gap:18px;min-width:0}
.preflight-last-period-compact{margin:0;padding:16px 18px}
.preflight-last-period-compact strong{font-size:1.2rem}
.monthly-upload-form-clean{gap:12px}
.monthly-upload-form-clean input[type=file]{background:#fff}
.monthly-submit-button{display:inline-flex;align-items:center;justify-content:center;width:auto;justify-self:start;border:0;border-radius:999px;background:#0d3d2a;color:#fff;padding:13px 20px;font:inherit;font-size:13px;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(13,61,42,.12)}
.monthly-submit-button:hover{background:#174d39}
.monthly-submit-button:focus-visible{outline:3px solid rgba(13,61,42,.22);outline-offset:2px}
.monthly-status-column{min-width:0}
.intake-status-panel-v2{position:sticky;top:24px;min-height:430px;max-height:calc(100vh - 150px);overflow-y:auto;border:1px solid #d5e0d9;border-top:5px solid #809087;border-radius:18px;background:#f8fbf9;padding:22px;box-sizing:border-box}
.intake-status-panel-v2.status-ready,.intake-status-panel-v2.status-ready_with_warnings,.intake-status-panel-v2.status-no_action_required{border-top-color:#2f7d4a}
.intake-status-panel-v2.status-client_decision_required{border-top-color:#b5852b}
.intake-status-panel-v2.status-blocked,.intake-status-panel-v2.status-error{border-top-color:#b44343}
.status-panel-eyebrow{font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;color:#66746b;font-weight:800;margin-bottom:8px}
.intake-status-panel-v2 h2{margin:5px 0 10px;color:#0c4b32;font-size:1.45rem;line-height:1.15}
.status-period{font-size:.92rem;color:#66746b;font-weight:750;margin-bottom:2px}
.status-lead{margin:0;color:#4f5e55;line-height:1.55}
.status-next-step{margin:18px 0 0;padding:14px 15px;border-radius:12px;background:#fff;border:1px solid #e0e7e2}
.status-next-step strong{display:block;color:#0d3d2a;font-size:.8rem;margin-bottom:4px}
.status-next-step p{margin:0;color:#536158;font-size:.88rem;line-height:1.5}
.status-steps p+p{margin-top:5px}
.status-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px}
.status-facts>div{display:grid;gap:3px;background:#fff;border:1px solid #e1e8e3;border-radius:10px;padding:10px}
.status-facts span{font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:#77837b;font-weight:800}
.status-facts strong{font-size:.82rem;color:#1e2c24}
.revision-comparison-compact{margin-top:18px}
.revision-comparison-compact .revision-source{padding:10px 12px}
.revision-comparison-compact .revision-state{font-size:.78rem}
.status-details{margin-top:18px;border-top:1px solid #e0e7e2;padding-top:14px}
.status-details summary{font-size:.86rem}
.status-technical-message{font-size:.78rem;color:#6d7971;line-height:1.45;margin:10px 0 0}
@media(max-width:900px){.monthly-workspace{grid-template-columns:1fr}.intake-status-panel-v2{position:static;min-height:0;max-height:none}.monthly-status-column{grid-row:1}.monthly-upload-card-wide{padding:30px}.monthly-submit-button{width:100%}}
@media(max-width:560px){.monthly-upload-main-wide{width:calc(100% - 24px)}.monthly-upload-card-wide{padding:24px 19px}.status-facts{grid-template-columns:1fr}.monthly-workspace{gap:18px}}


/* Phase 8.6E.4.2 — explicit missing-period warning */
.sequence-warning-heading{display:flex;align-items:flex-start;gap:13px;margin:2px 0 12px}
.sequence-warning-heading h2{margin:2px 0 0}
.sequence-warning-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:34px;margin-top:1px;color:#5f4308;font-size:18px;font-weight:950;line-height:1;z-index:0}
.sequence-warning-icon:before{content:"";position:absolute;inset:0;background:#f3c451;clip-path:polygon(50% 0,100% 100%,0 100%);border-radius:4px;z-index:-1}
.sequence-warning-kicker{font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:#8a6415;font-weight:900}
.sequence-warning-box{margin:18px 0 0;padding:15px 16px;border:1px solid #ead39c;border-left:4px solid #c38b1d;border-radius:12px;background:#fff8e8;color:#4e3c17}
.sequence-warning-box strong{display:block;color:#6c4c0c;font-size:.82rem;margin-bottom:5px}
.sequence-warning-box p{margin:0;font-size:.88rem;line-height:1.5;color:#5d4b28}
.sequence-warning-note{margin:12px 0 0;font-size:.78rem;line-height:1.45;color:#6d7971}
.intake-status-panel-v2.status-client_decision_required{border-top-color:#c38b1d;background:linear-gradient(180deg,#fffdf7 0,#f8fbf9 115px)}


/* Phase 8.6E.4.3 — standardized semantic status system */
.intake-status-panel-v2.status-ready,.intake-status-panel-v2.status-no_action_required{border-top-color:#2f7d4a;background:linear-gradient(180deg,#f0f8f2 0,#f8fbf9 150px)}
.intake-status-panel-v2.status-ready_with_warnings,.intake-status-panel-v2.status-client_decision_required{border-top-color:#c38b1d;background:linear-gradient(180deg,#fff8e8 0,#fffdf7 150px)}
.intake-status-panel-v2.status-blocked,.intake-status-panel-v2.status-error{border-top-color:#b44343;background:linear-gradient(180deg,#fff0f0 0,#fffafa 150px)}
.status-semantic-heading{display:flex;align-items:flex-start;gap:13px;margin:2px 0 12px}
.status-semantic-heading h2{margin:2px 0 0}
.status-semantic-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;font-size:22px;font-weight:950;line-height:1}
.status-semantic-kicker{font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;font-weight:900}
.status-semantic-success .status-semantic-icon{background:#d9f0df;color:#1f6a3b;border:1px solid #a8d2b3}
.status-semantic-success .status-semantic-kicker{color:#2f7d4a}
.status-semantic-error .status-semantic-icon{background:#f8dada;color:#a33131;border:1px solid #e7adad}
.status-semantic-error .status-semantic-kicker{color:#a33131}
.intake-status-panel-v2.status-blocked .status-next-step,.intake-status-panel-v2.status-error .status-next-step{background:#fff7f7;border-color:#efd1d1}
.intake-status-panel-v2.status-ready .status-next-step,.intake-status-panel-v2.status-no_action_required .status-next-step{background:#f8fdf9;border-color:#d2e8d8}
.registration-section-title{margin:24px 0 14px;color:#0d3d2a;font-size:17px;font-weight:700}
.registration-password-grid{margin-top:20px}
.registration-form select{width:100%;min-height:46px;border:1px solid #dbe3dc;border-radius:12px;padding:12px 13px;background:#fff;font:inherit;color:#18221c}
.registration-form select:focus{border-color:#718052;box-shadow:0 0 0 3px rgba(113,128,82,.12)}
.registration-form .optional-label{font-weight:500;text-transform:none;letter-spacing:0}
