/* LexPH corporate skin: identity only, no business logic */
:root{--navy:#082B68!important;--navy2:#082B68!important;--blue:#0B3D91!important;--ink:#10264d!important;--line:#e1e9f4!important}
body{background:#f5f7fb!important;color:#142a4e!important}
.side{background:#082B68!important;box-shadow:4px 0 20px #082B6815!important}
.side a:hover,.side a.active{background:#0B3D91!important;color:#fff!important;box-shadow:inset 3px 0 #fff}
.side a:focus-visible,.btn:focus-visible{outline:3px solid #74a8ff;outline-offset:2px}
.side-logo{display:block;width:165px;max-width:100%;height:auto;min-height:44px}
.btn-primary{background:#0B3D91!important;border-color:#0B3D91!important}
.btn-primary:hover{background:#082B68!important;border-color:#082B68!important}
.hero-dashboard{background:#0B3D91!important}
.metric-card,.dash-card,.panel{box-shadow:0 5px 18px #082B6810!important}
.bar{background:#0B3D91!important}.donut{background:conic-gradient(#0B3D91 calc(var(--pct)*1%),#d5e3f7 0)!important}
a{color:#0B3D91}a:hover{color:#082B68}
.lex-login{background:#fff!important;min-height:100vh}
.login-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh}
.login-form-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 30px}
.login-logo{width:220px;max-width:85%;height:auto}.login-caption{font-size:13px;color:#65738c;margin:15px 0 38px;text-align:center}
.login-card{width:min(420px,100%)}.login-card h1{font-weight:750;letter-spacing:-.8px;font-size:31px;color:#082B68}.login-card .form-control{padding:13px;border-color:#d5deeb;border-radius:9px}.login-card .btn{border-radius:9px;font-weight:650}
.login-legal{margin-top:50px;font-size:12px;color:#8a97ab}
.login-visual{background:#082B68;display:flex;align-items:center;justify-content:center;padding:55px;color:#fff}
.login-visual-inner{max-width:570px}.login-visual img{width:100%;height:auto;border-radius:20px;display:block;margin-bottom:32px}.login-visual h2{font-size:28px;font-weight:750}.login-visual p{color:#d9e5f7;font-size:15px}
@media(max-width:767px){.login-shell{display:block}.login-form-panel{min-height:100vh;padding:38px 22px}.login-visual{display:none}.side-logo{width:150px}.side a{margin:3px 2px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}

/* LexPH mobile app shell — desktop layout and server-side logic unchanged */
.lex-mobile-top,.lex-mobile-bottom,.lex-menu-shade,.lex-drawer-head{display:none}
@media(max-width:767.98px){
 html{scroll-padding-top:76px}
 body.lex-app{padding-top:62px;padding-bottom:76px;overflow-x:hidden;background:#f4f7fc!important}
 body.lex-drawer-lock{overflow:hidden}
 .lex-mobile-top{position:fixed;z-index:1040;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;height:62px;padding:9px 17px;background:#082B68;box-shadow:0 3px 14px #071d3b20}
 .lex-mobile-brand img{width:116px;height:42px;object-fit:contain;object-position:left center}
 .lex-menu-toggle{border:1px solid #ffffff55;background:#ffffff15;color:white;border-radius:11px;width:43px;height:42px;font-size:23px;line-height:1}
 .lex-menu-shade:not([hidden]){display:block;position:fixed;inset:0;background:#051a38a8;z-index:1050}
 body.lex-app .side{display:block!important;position:fixed!important;z-index:1060;left:0;top:0;bottom:0;width:min(310px,87vw)!important;max-width:none;height:100dvh!important;min-height:0!important;padding:20px!important;overflow-y:auto;background:#082B68!important;transform:translateX(-105%);transition:transform .22s ease;box-shadow:12px 0 35px #061a3444}
 body.lex-app .side.lex-drawer-open{transform:translateX(0)}
 .lex-drawer-head{display:flex;align-items:center;justify-content:space-between;color:#fff;font-size:13px;font-weight:700;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid #ffffff33}
 .lex-drawer-head button{background:#ffffff20;color:#fff;border:0;border-radius:8px;font-size:25px;width:36px;height:36px}
 body.lex-app .side a{display:block!important;width:100%;margin:4px 0!important;padding:12px 14px!important;font-size:14px;min-height:43px}
 body.lex-app .side>.fw-bold{margin-bottom:14px!important}
 body.lex-app .side form{margin-top:22px!important}
 .lex-mobile-bottom{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;z-index:1040;bottom:0;left:0;right:0;height:calc(66px + env(safe-area-inset-bottom));padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:white;border-top:1px solid #dce5f3;box-shadow:0 -4px 16px #0a285215}
 .lex-mobile-bottom a,.lex-mobile-bottom button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;border:0;background:none;color:#62728c;text-decoration:none;font-size:11px;font-weight:650;border-radius:10px}
 .lex-mobile-bottom span{font-size:22px;line-height:24px}
 .lex-mobile-bottom a.active{color:#0B3D91;background:#eaf1ff}
 body.lex-app main{width:100%!important;max-width:100%;padding:20px 14px 26px!important;min-width:0}
 body.lex-app main>h1{font-size:23px!important;line-height:1.25;margin-top:2px}
 body.lex-app main>p.text-secondary{font-size:12px;margin-bottom:18px}
 body.lex-app .container-fluid,body.lex-app .row{max-width:100%}
 body.lex-app .hero-dashboard{padding:18px!important;border-radius:15px}
 body.lex-app .hero-dashboard h2{font-size:21px}
 body.lex-app .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
 body.lex-app .metric-card{padding:13px!important;min-width:0;border-radius:13px}
 body.lex-app .metric-card strong{overflow-wrap:anywhere;font-size:clamp(17px,4.4vw,24px)}
 body.lex-app .dashboard-grid{grid-template-columns:minmax(0,1fr)!important;gap:12px}
 body.lex-app .dash-card{padding:16px!important;min-width:0}
 body.lex-app .donut-row{flex-direction:column;align-items:center}
 body.lex-app .channel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 body.lex-app .quick-grid{grid-template-columns:1fr 1fr}
 body.lex-app .table-responsive{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 body.lex-app .card,body.lex-app .panel{min-width:0}
 body.lex-app input,body.lex-app select,body.lex-app button{max-width:100%}
 body.lex-app .form-control,body.lex-app .form-select{min-height:43px}
 body.lex-app .btn{min-height:40px}
}
@media(prefers-reduced-motion:reduce){body.lex-app .side{transition:none}}