/* Shared readable controls and consistent page spacing. Print layouts retain their own rules. */
@media screen{
 :root{--portal-ink:#173047;--portal-line:#d5e1e9;--portal-accent:#087f76}
 main{color:var(--portal-ink)}
 main .dashboard-links,main .paytabs{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0;align-items:center}
 main .dashboard-links a,main .paytabs a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 15px;background:#fff!important;color:#075f59!important;border:1px solid #b6d5d0!important;border-radius:9px;text-decoration:none;font-weight:650;opacity:1!important;box-shadow:0 2px 5px #17304708}
 main .dashboard-links a:hover,main .paytabs a:hover{background:#e5f4f0!important;color:#064e48!important;border-color:#70aaa0!important}
 main .button.secondary,main .btn-secondary,main button.secondary{color:#075f59;background:#eaf5f1;border:1px solid #b6d5d0}
 main .actions,main .invoice-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:12px 0}
 main .filtergrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:14px;align-items:end;padding:18px;background:#fff;border:1px solid var(--portal-line);border-radius:12px;margin:18px 0}
 main .filtergrid label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:650;color:#243d51;min-width:0}
 main .filtergrid input:not([type=checkbox]):not([type=radio]),main .filtergrid select{width:100%;min-height:43px;box-sizing:border-box;border:1px solid #bfcfdb;border-radius:8px;background:#fff;color:#152e42;padding:9px 11px;font:inherit}
 main input::placeholder,main textarea::placeholder{color:#5c6f7e;opacity:1}
 main .filtergrid>button,main .filtergrid>.button{min-height:43px;margin:0}
 main .panel{margin:20px 0;border-radius:13px;border-color:var(--portal-line)}
 main .tablewrap{max-width:100%;overflow:auto;border:1px solid var(--portal-line);border-radius:10px;background:#fff;margin:14px 0}
 main table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
 main table th{background:#edf5f7;color:#193b4f;font-weight:700;line-height:1.4}
 main table td,main table th{padding:11px 12px;border-bottom:1px solid #e3ebf0;vertical-align:top}
 main table tbody tr:nth-child(even){background:#f8fbfc}
 main table tbody tr:hover{background:#eef7f5}
 main .dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:13px;margin:18px 0}
 main .dashboard-stats>div{background:#fff;border:1px solid var(--portal-line);border-top:3px solid #7ab9b0;border-radius:10px;padding:17px;min-width:0}
 main .dashboard-stats span{display:block;color:#4d6374;font-size:12px;line-height:1.5;white-space:normal}
 main .dashboard-stats strong{display:block;color:#123c4a;margin-top:8px;font-size:clamp(20px,2vw,26px);overflow-wrap:anywhere}
 main details>summary{cursor:pointer;color:#1a4f60;font-weight:650;padding:10px 0}
 main .unified-picker-source{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden;pointer-events:none}
 main .unified-picker{position:relative;min-width:0}main .unified-picker>summary{background:#fff;border:1px solid #bfcfdb;border-radius:8px;color:#152e42;padding:11px;min-height:43px;box-sizing:border-box}
 main .unified-picker .centre-picker-menu{z-index:80;min-width:min(360px,80vw);max-width:90vw;background:#fff;color:#173047;border:1px solid #b8cbd6;box-shadow:0 12px 30px #17304726;border-radius:10px}
 main a:focus-visible,main button:focus-visible,main input:focus-visible,main summary:focus-visible{outline:3px solid #e4a52b;outline-offset:3px}
 .login-security-card{padding:16px 20px;border:1px solid #bddbd5;background:#eff8f5;color:#193b42;border-radius:12px;margin:18px 0;font-size:13px;line-height:1.7}
 .login-security-card strong{color:#114c45}.login-security-card a{color:#075f59;text-decoration:underline}
 @media(max-width:640px){main .filtergrid{grid-template-columns:1fr;padding:14px}main .hero{padding:20px!important}main .hero h1{font-size:28px!important}main .dashboard-links a{flex:1 1 150px}main .dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}main table td,main table th{padding:9px}}
}
@media print{.login-security-card,.login-security-card+nav{display:none!important}}
