:root {--nav:#142c38;--teal:#187f77;--border:#dbe6e9;--paper:#f4f7f7}
body {font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--paper)}
.portal-loading{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;text-align:center}
.portal-loading strong{font-size:25px}
.login-layout{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,460px)}
.login-side{padding:6vw;display:flex;flex-direction:column;justify-content:center;background:#153542;color:white}
.login-side .kicker{color:#96d3cd;font-size:12px;letter-spacing:2px;font-weight:850;text-transform:uppercase}
.login-side h1{font-size:clamp(32px,4vw,52px);letter-spacing:-1.5px;line-height:1.13;margin:17px 0}
.login-side p{color:#c4d7da;max-width:560px;font-size:16px}
.login-feature{border-top:1px solid #4e727c;margin-top:34px;padding-top:22px;font-size:14px;color:#ccdcdf}
.login-panel{background:white;display:flex;flex-direction:column;justify-content:center;padding:45px}
.login-panel h2{font-size:27px;margin:0 0 12px}
.login-panel .field{margin:17px 0}
.login-panel input{height:48px;font-size:15px}
.login-panel button{height:48px}
.login-foot{margin-top:24px;color:#74848e;font-size:12px;line-height:1.6}
.errorbox{background:#fff2ef;color:#934332;border:1px solid #f2d4cf;padding:12px;border-radius:11px;margin-bottom:15px}
.portal-header .pill{background:#e8f5f3;color:#187869}
.role-chip{display:inline-flex;align-items:center;border-radius:99px;background:#e3f4f0;padding:7px 10px;font-size:11px;font-weight:800;color:#17766d}
.portal-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(305px,.85fr);gap:18px}
.portal-grid.single{grid-template-columns:1fr}
.fieldgrid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.portal-form{display:grid;gap:15px}
.portal-form .sectionlabel{margin-top:10px}
.field input,.field select,.field textarea{font-size:14px}
.field textarea{min-height:85px;resize:vertical}
.field select{width:100%}
.actions .btn{white-space:normal}
.btn-ghost{background:#f4f9f8;color:#226572;border-color:#d4e9e5}
.btn-warning{color:#865c14;border-color:#efddba;background:#fff8e8}
.btn-danger{color:#ad4d45;border-color:#edceca;background:#fff8f7}
.slimmeta{font-size:12px;color:#768b95}
.hero-info{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}
.data-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #e7eff0}
.data-row:last-child{border-bottom:0}
.data-row .label{color:#667f8b}
.data-row strong{font-variant-numeric:tabular-nums}
.status{display:inline-block;border-radius:30px;padding:5px 9px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.3px}
.status.draft{background:#fff3da;color:#9a6825}
.status.approved{background:#e6f5ed;color:#15704f}
.status.void{background:#f3e9ec;color:#936477}
.dbnote{font-size:12px;color:#6f8791;line-height:1.5}
.flag{border-radius:10px;padding:10px 13px;background:#fff9e9;border:1px solid #ead9ac;color:#825d18;font-size:12px;line-height:1.5}
.history-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.history-actions .btn{padding:6px 9px;min-height:32px;font-size:11px}
.record-row{white-space:normal}
.tabbtn{border:0;background:transparent;color:#aac7ca;padding:12px 14px;border-radius:10px;text-align:left;width:100%;font-weight:650;cursor:pointer}
.tabbtn.active,.tabbtn:hover{background:#234552;color:white}
.nav .navitems{display:grid}
.nav .brand div:nth-child(2){font-size:17px}
.smallfoot{font-size:11px;color:#98acb2}
.portal-alert{color:#913f32;background:#fff3ed;border:1px solid #f0d6c7;padding:14px 16px;border-radius:12px}
@media(max-width:1100px){.portal-grid{grid-template-columns:1fr}.fieldgrid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.login-layout{grid-template-columns:1fr}.login-side{padding:42px 24px}.login-panel{padding:25px}.login-side h1{font-size:30px}.login-feature{margin-top:20px}.nav{position:relative;width:100%;display:block;padding:13px}.nav .navitems{display:flex;overflow-x:auto}.tabbtn{width:auto;flex:none;padding:10px 12px;font-size:12px}.layout{display:block}.topbar{height:auto;min-height:60px;padding:12px}.content{padding:15px}.fieldgrid.three,.fieldgrid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.fieldgrid,.fieldgrid.three,.fieldgrid.four{grid-template-columns:1fr}.fieldgrid .wide{grid-column:auto}.cards{grid-template-columns:1fr 1fr}.history-actions{justify-content:flex-start}}
@media print{#root,#toast,#import-file{display:none!important}.printsheet{display:block!important}}

.portal-success{color:#155b46;background:#eaf7f1;border:1px solid #c9e7d8;padding:14px 16px;border-radius:12px;margin-bottom:10px;line-height:1.5}
