.spe-fin-login-shell,.spe-fin-private-gate,.spe-fin-portal{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.spe-fin-login-shell{min-height:75vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:70px 24px;text-align:center;background:radial-gradient(circle at 20% 20%,rgba(74,168,255,.14),transparent 28%),radial-gradient(circle at 80% 70%,rgba(155,108,255,.13),transparent 30%),#050609;color:#fff}.spe-fin-login-shell img{max-width:260px;margin-bottom:24px}.spe-fin-login-shell>span,.spe-fin-portal-hero>span{color:#e21d3c;font-size:.72rem;font-weight:900;letter-spacing:.14em}.spe-fin-login-shell h1,.spe-fin-portal-hero h1{font-size:clamp(2.4rem,6vw,5.4rem);line-height:.95;margin:14px 0}.spe-fin-login-shell p,.spe-fin-portal-hero p{max-width:750px;color:#b9b7c3;line-height:1.7}.spe-fin-login-shell form{width:min(100%,420px);padding:24px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.04);text-align:left}.spe-fin-login-shell input{width:100%}.spe-fin-btn,.spe-fin-login-shell input[type=submit]{display:inline-flex;padding:12px 18px;border-radius:999px;border:1px solid #e21d3c;background:#e21d3c;color:#050609!important;font-weight:900;text-decoration:none!important}.spe-fin-private-gate{padding:80px 24px;text-align:center;background:#050609;color:#fff}.spe-fin-private-gate span{color:#e21d3c;font-weight:900;letter-spacing:.12em}.spe-fin-private-gate a{display:inline-flex;margin-top:15px;padding:10px 16px;border-radius:999px;background:#e21d3c;color:#050609!important;text-decoration:none;font-weight:900}.spe-fin-portal{min-height:70vh;padding-bottom:90px;background:#050609;color:#f7f4ec}.spe-fin-portal-hero{padding:100px max(24px,calc((100vw - 1320px)/2));background:linear-gradient(90deg,rgba(5,6,9,.94),rgba(5,6,9,.68)),url("../images/finance-night-city.webp") center/cover}.spe-fin-portal-hero.is-compact{padding-top:70px;padding-bottom:70px}.spe-fin-portal-stats,.spe-fin-portal-actions,.spe-fin-portal-note,.spe-fin-table-wrap,.spe-fin-report-card,.spe-fin-compliance-list,.spe-fin-portal>.spe-fin-form{width:min(calc(100% - 40px),1320px);margin:28px auto}.spe-fin-portal-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.spe-fin-portal-stats article{padding:20px;border:1px solid rgba(255,255,255,.11);border-radius:16px;background:rgba(255,255,255,.04)}.spe-fin-portal-stats span{display:block;color:#b9b7c3;font-size:.75rem}.spe-fin-portal-stats strong{display:block;margin-top:8px;font-size:1.5rem}.spe-fin-portal-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.spe-fin-portal-actions a{display:flex;justify-content:space-between;padding:19px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:linear-gradient(145deg,rgba(74,168,255,.08),rgba(155,108,255,.04));color:#fff!important;text-decoration:none;font-weight:900}.spe-fin-portal-actions span{color:#e21d3c}.spe-fin-portal-note,.spe-fin-report-card{padding:26px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.035)}.spe-fin-portal-note>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.spe-fin-portal-note article{padding:15px;border-radius:12px;background:#0e1119}.spe-fin-portal-note strong{display:block;color:#e21d3c;font-size:1.3rem}.spe-fin-portal-note span{display:block;margin-top:8px;color:#c8c6cf}.spe-fin-table{width:100%;border-collapse:collapse}.spe-fin-table th,.spe-fin-table td{padding:11px;border-bottom:1px solid rgba(255,255,255,.1);text-align:left}.spe-fin-table th{background:#111827;color:#fff}.spe-fin-table td{color:#e7e4eb}.spe-fin-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.65rem;font-weight:900}.spe-fin-status.is-posted,.spe-fin-status.is-reconciled,.spe-fin-status.is-completed{background:#14532d;color:#bbf7d0}.spe-fin-status.is-draft,.spe-fin-status.is-open,.spe-fin-status.is-unmatched{background:#374151;color:#e5e7eb}.spe-fin-status.is-submitted{background:#1e3a8a;color:#bfdbfe}.spe-fin-status.is-approved{background:#78350f;color:#fde68a}.spe-fin-status.is-overdue{background:#7f1d1d;color:#fecaca}.spe-fin-compliance-list{display:flex;flex-direction:column;gap:12px}.spe-fin-compliance-list article{display:grid;grid-template-columns:150px 1fr;gap:22px;padding:22px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.035)}.spe-fin-compliance-list small{color:#d7d9df;font-weight:900;letter-spacing:.08em}.spe-fin-compliance-list h2{margin:7px 0}.spe-fin-compliance-list p{color:#b9b7c3}.spe-fin-compliance-list a{color:#e21d3c!important}.spe-fin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:24px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:#0b0e15}.spe-fin-form label{display:flex;flex-direction:column;gap:6px}.spe-fin-form input,.spe-fin-form select,.spe-fin-form textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#111827;color:#fff}.spe-fin-flags,.spe-fin-journal-head,.spe-fin-journal-lines,.spe-fin-journal-total,.spe-fin-form-actions{grid-column:span 2}.spe-fin-flags{display:flex;flex-wrap:wrap;gap:14px}.spe-fin-journal-line{display:grid;grid-template-columns:34px 1.5fr 1fr 120px 120px auto;gap:8px;padding:8px;border:1px solid rgba(255,255,255,.11);border-radius:10px}.spe-fin-line-number{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e21d3c;color:#050609;font-weight:900}.spe-fin-journal-total{display:flex;justify-content:flex-end;gap:20px}.spe-fin-journal-total .is-balanced{color:#4ade80}.spe-fin-journal-total .is-unbalanced{color:#fca5a5}.spe-fin-form-actions{display:flex;justify-content:flex-end;gap:10px}.spe-fin-form .button{padding:10px 16px;border:1px solid #e21d3c;border-radius:999px;background:transparent;color:#fff}.spe-fin-form .button-primary{background:#e21d3c;color:#050609}.spe-fin-report-card h2{font-size:2rem}@media(max-width:950px){.spe-fin-portal-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.spe-fin-portal-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.spe-fin-portal-note>div{grid-template-columns:repeat(2,minmax(0,1fr))}.spe-fin-journal-line{grid-template-columns:32px 1fr}.spe-fin-journal-line>*{grid-column:2}.spe-fin-journal-line .spe-fin-line-number{grid-column:1;grid-row:1}}@media(max-width:620px){.spe-fin-portal-stats,.spe-fin-portal-actions,.spe-fin-portal-note>div,.spe-fin-form{grid-template-columns:1fr}.spe-fin-flags,.spe-fin-journal-head,.spe-fin-journal-lines,.spe-fin-journal-total,.spe-fin-form-actions{grid-column:auto}.spe-fin-compliance-list article{grid-template-columns:1fr}}

/* v1.1.0 mobile source-document capture */
.spe-fin-capture-portal .spe-fin-capture-form{max-width:880px}.spe-fin-capture-file{grid-column:span 2;padding:26px;border:2px dashed #e21d3c;border-radius:18px;background:rgba(214,174,91,.08);text-align:center;font-size:1.05rem;font-weight:900}.spe-fin-capture-file input{margin-top:12px}.spe-fin-portal-note>p{color:#b9b7c3;line-height:1.7}@media(max-width:620px){.spe-fin-capture-file{grid-column:auto}}

/* v1.2.0 — Finance Assistant portal */
.spe-fin-assistant-portal .spe-fin-portal-hero{background:linear-gradient(90deg,rgba(5,6,9,.95),rgba(5,6,9,.66)),url("../images/finance-night-city.webp") center/cover}
.spe-fin-workbench-link{width:min(calc(100% - 40px),1320px);margin:28px auto;text-align:right}
.spe-fin-form details{grid-column:span 2}
@media(max-width:620px){.spe-fin-form details{grid-column:auto}}
