/* Shared portal design polish. Existing application state and workflow selectors preserved. */
:root{--vp-navy:#0c3155;--vp-blue:#2b76b2;--vp-border:#d8e4ef;--vp-muted:#516980}
body{font-family:Inter,'Segoe UI',Arial,sans-serif!important;background:#f2f7fc!important;color:#173653!important;-webkit-font-smoothing:antialiased}
.portal-header,.vp-shell>header{background:rgba(255,255,255,.96)!important;box-shadow:0 8px 28px #0e35550c;border-bottom:1px solid var(--vp-border)}
.login-card,.card,.panel,.stat-card,.dashboard-card,.vp-card{border-radius:12px!important;border-color:var(--vp-border)!important;box-shadow:0 12px 40px #173e6210}
input:not([type=checkbox]):not([type=radio]),select,textarea{max-width:100%;border-color:#b9cde0!important;border-radius:7px!important;background:#fff;color:#102f4e!important}
button,.btn{transition:filter .18s,transform .18s,box-shadow .18s}button:hover:not(:disabled),.btn:hover{filter:brightness(.96)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #58a5db;outline-offset:3px}
table{border-collapse:collapse}th{color:#123c62;background:#eaf3fb}td,th{border-bottom:1px solid #dbe7f0}a{overflow-wrap:anywhere}
@media(max-width:720px){.portal-header-inner{padding-inline:14px!important}.login-card{max-width:calc(100vw - 28px)!important}table{display:block;max-width:100%;overflow-x:auto}input,select,textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
