/* Internal Assessment Suite: V54 design restored for PHP/MySQL server edition. */

/* Desktop split-screen sign-in; scoped so no dashboard styles are replaced. */
#login.ias-auth{min-height:100vh;padding:clamp(18px,4vw,54px);background:#e9edf7;display:flex;align-items:center;justify-content:center}
.ias-auth-shell{width:min(1200px,100%);min-height:690px;background:#fff;border-radius:22px;box-shadow:0 22px 70px rgba(32,55,105,.11);padding:18px;display:grid;grid-template-columns:1fr 1.13fr;overflow:hidden}
.ias-auth-showcase{background:linear-gradient(145deg,#2458f4,#1247e8);color:white;border-radius:15px;position:relative;min-height:650px;display:flex;flex-direction:column;justify-content:space-between;padding:34px 38px;overflow:hidden}
.ias-auth-showcase:before{content:"";position:absolute;width:400px;height:400px;border:1px solid #ffffff22;border-radius:50%;left:50%;top:13%;transform:translateX(-50%);box-shadow:0 0 0 75px #ffffff08,0 0 0 150px #ffffff06}
.ias-auth-brand{position:relative;z-index:2;display:flex;align-items:center;gap:10px;font-weight:750;font-size:17px;letter-spacing:-.4px}.ias-auth-brand img{width:37px;height:37px;object-fit:contain;background:#fff;border-radius:10px;padding:3px}
.ias-hero-graphic{height:330px;position:relative;z-index:2;display:flex;align-items:center;justify-content:center}
.ias-report-card{width:270px;height:205px;background:#fff;border-radius:17px;box-shadow:0 18px 50px #00277a55;padding:22px;color:#1d2d4d;transform:rotate(-3deg)}
.ias-report-title{font-size:13px;font-weight:750;display:flex;justify-content:space-between}.ias-report-title span{color:#2458f4}
.ias-report-bars{display:flex;align-items:end;justify-content:space-around;height:105px;border-bottom:1px solid #e7eaf4;margin:13px 0}.ias-report-bars i{width:24px;background:linear-gradient(#60c7ee,#3475f5);border-radius:6px 6px 0 0}
.ias-report-bottom{display:flex;justify-content:space-between;gap:5px;font-size:9px;color:#8090a8}.ias-report-bottom strong{color:#315ce5}
.ias-float-card{position:absolute;z-index:3;display:flex;align-items:center;gap:9px;padding:11px 14px;background:#fff;color:#1c3158;border-radius:13px;box-shadow:0 12px 34px #00277a40;font-size:11px}.ias-float-card strong,.ias-float-card small{display:block}.ias-float-card small{color:#8895a7;font-size:9px}.ias-mini-icon{display:grid;place-items:center;width:32px;height:32px;background:#e3f9f0;color:#14b77c;border-radius:9px;font-weight:800}.ias-float-top{top:32px;right:0}.ias-float-bottom{bottom:23px;left:0}
.ias-auth-showcase-bottom{position:relative;z-index:2;text-align:center}.ias-auth-showcase-bottom h2{font-size:30px;font-weight:800;line-height:1.17;letter-spacing:-.7px}.ias-auth-showcase-bottom p{color:#d7e2ff;font-size:12px;margin-top:14px}.ias-hero-dots{display:flex;gap:5px;justify-content:center;margin-top:28px}.ias-hero-dots b{height:5px;width:5px;background:#9bb8ff;border-radius:8px}.ias-hero-dots b:nth-child(2){width:19px;background:white}
.ias-auth-form-side{display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;padding:52px 30px 80px}.ias-auth-form-wrap{width:min(365px,100%)}.ias-auth-smallbrand{display:none}.ias-auth-form-wrap h1{font-size:32px;letter-spacing:-1px;font-weight:800;color:#19243b;margin-bottom:8px}.ias-auth-subtitle{color:#8490a5;font-size:13px;margin-bottom:35px}.ias-auth-form-wrap .form-label{font-size:12px;font-weight:700;color:#3a4862;margin-bottom:8px}.ias-auth-form-wrap .form-control,.ias-auth-form-wrap .form-select{height:48px;border:1px solid #e1e5ee;border-radius:10px;font-size:13px;padding:0 14px;box-shadow:none}.ias-auth-form-wrap .form-control:focus,.ias-auth-form-wrap .form-select:focus{border-color:#2458f4;box-shadow:0 0 0 3px #2458f41a}.ias-auth-hint{font-size:11px;color:#8794a8;margin:13px 0 24px}.ias-auth-submit{height:49px;border-radius:10px;background:#2458f4;border-color:#2458f4;font-weight:700;font-size:14px;display:flex;justify-content:center;align-items:center;gap:12px}.ias-auth-demo{text-align:center;line-height:1.7;margin-top:20px}.ias-auth-footer{position:absolute;bottom:16px;text-align:center;font-size:10px;color:#929bab;line-height:1.8;padding:0 16px}
body.dark #login.ias-auth{background:#101b30}body.dark .ias-auth-shell{background:#18243b}body.dark .ias-auth-form-wrap h1{color:#f1f5ff}body.dark .ias-auth-form-wrap .form-label{color:#d8e2f5}body.dark .ias-auth-subtitle,body.dark .ias-auth-hint,body.dark .ias-auth-footer{color:#a9b8d0}
@media(max-width:800px){#login.ias-auth{padding:0;background:white;align-items:stretch}.ias-auth-shell{display:block;min-height:100vh;border-radius:0;padding:0;box-shadow:none}.ias-auth-showcase{display:none}.ias-auth-form-side{min-height:100vh;padding:55px 24px 95px}.ias-auth-smallbrand{display:flex;align-items:center;gap:9px;font-weight:750;color:#2458f4;margin-bottom:35px}.ias-auth-smallbrand img{width:36px;height:36px;object-fit:contain}.ias-auth-form-wrap h1{font-size:29px}}


/* IAS V46: localized design improvements, original V29 page layout retained. */
#sidebar .brand-lockup{margin:9px auto 22px!important;padding:12px 8px!important;width:100%!important;display:flex!important;justify-content:center!important;background:transparent!important;min-height:152px!important}
.ias-v46-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;width:100%;color:#123e78!important}
.ias-v46-brand img{width:116px;height:106px;object-fit:contain;display:block;filter:drop-shadow(0 5px 12px #1659aa15)}
.ias-v46-brand span{font-family:Inter,'Segoe UI',Arial,sans-serif;font-weight:850;font-size:19px;line-height:1.25;letter-spacing:-.65px;max-width:220px}
body.sidebar-compact #sidebar .brand-lockup{min-height:72px!important;padding:6px 0!important}
body.sidebar-compact .ias-v46-brand img{width:46px;height:46px}body.sidebar-compact .ias-v46-brand span{display:none}
/* Stretch header edge-to-edge within the main content and keep a translucent surface. */
#app main>.ias-main-header{position:sticky!important;top:0;z-index:150!important;margin:-16px -16px 22px!important;padding:16px 22px!important;width:calc(100% + 32px)!important;max-width:none!important;box-sizing:border-box!important;background:rgba(244,249,255,.75)!important;border:1px solid rgba(255,255,255,.75)!important;border-bottom:1px solid rgba(97,141,196,.2)!important;box-shadow:0 10px 28px rgba(25,75,140,.08)!important;backdrop-filter:blur(22px) saturate(1.45)!important;-webkit-backdrop-filter:blur(22px) saturate(1.45)!important;border-radius:0!important}
@media(min-width:992px){#app main>.ias-main-header{margin:-24px -24px 24px!important;padding:16px 26px!important;width:calc(100% + 48px)!important}}
body.dark #app main>.ias-main-header{background:rgba(22,36,62,.8)!important;border-color:rgba(255,255,255,.09)!important}
.ias-v46-bell-wrap{position:relative;display:flex;align-items:center}.ias-v46-bell{position:relative;border:1px solid #d8e4f3;border-radius:11px;background:#ffffffb5;color:#2464ae;padding:9px 13px;font-size:19px;min-height:44px}
#iasV46Badge{position:absolute;top:-7px;right:-8px;background:#cf3449;color:white;border-radius:12px;font-size:10px;font-weight:800;padding:2px 5px;min-width:20px}
#iasV46NoticesPanel{position:absolute;right:0;top:51px;width:min(370px,85vw);max-height:420px;overflow:auto;background:white;border:1px solid #dce7f7;border-radius:14px;box-shadow:0 15px 55px #09294d30;padding:16px;z-index:500;color:#172b4c}
.ias-v46-notice{border-top:1px solid #e8eef6;padding:10px 0;display:flex;flex-direction:column;gap:4px}.ias-v46-notice small{color:#61718a}
#iasV46Toast{position:fixed;right:20px;bottom:20px;background:#143e72;color:white;border-radius:12px;padding:14px 20px;z-index:99999;box-shadow:0 15px 35px #0d30644a;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;max-width:400px}#iasV46Toast.visible{opacity:1;transform:none}
.ias-v46-swatches{display:flex;gap:12px;flex-wrap:wrap}.ias-v46-swatch{border:1px solid #d9e4f5;background:#fff;border-radius:12px;padding:14px;display:flex;align-items:center;gap:9px;font-weight:650;color:#253b60}.ias-v46-swatch span{width:26px;height:26px;border-radius:8px;background:var(--swatch)}.ias-v46-swatch.selected{outline:2px solid var(--swatch);outline-offset:2px}
body[data-ias-palette="teal"]{--ias-accent:#079e9c}body[data-ias-palette="violet"]{--ias-accent:#7655d8}body[data-ias-palette="emerald"]{--ias-accent:#13896b}body[data-ias-palette="indigo"]{--ias-accent:#4859bb}body[data-ias-palette="blue"]{--ias-accent:#3568f6}
body[data-ias-palette] #app main .btn-primary{background:var(--ias-accent)!important;border-color:var(--ias-accent)!important}
body[data-ias-palette] #app main .metric{color:var(--ias-accent)!important}body[data-ias-palette] #nav .nav-link.active{color:var(--ias-accent)!important}
/* Subtle, accessible moving gradient outside the login box. */
body:has(#login:not([style*="display: none"])) {background:radial-gradient(circle at 15% 15%,#dcecff 0,transparent 38%),radial-gradient(circle at 85% 80%,#cbe5f9 0,transparent 45%),linear-gradient(135deg,#edf5ff,#f9fbff,#e3edff)!important;background-size:150% 150%!important;animation:iasV46Background 16s ease-in-out infinite alternate}
@keyframes iasV46Background{to{background-position:100% 80%}}
.ias-auth-shell{box-shadow:0 28px 100px #174b902b!important}
.ias-auth-showcase{background:linear-gradient(140deg,#153ea4,#2371ee 55%,#1266d1)!important;isolation:isolate}
.ias-auth-showcase::after{content:"";position:absolute;inset:-50%;background:conic-gradient(from 80deg,transparent,#ffffff12,transparent,#74d4ff15,transparent);animation:iasV46Rotate 24s linear infinite;pointer-events:none;z-index:0}@keyframes iasV46Rotate{to{transform:rotate(360deg)}}
.ias-auth-showcase>*{z-index:2}
.ias-v46-original-slide{animation:iasV46First 14s infinite;transform-origin:center}
#iasV46PortraitSlide{position:absolute;top:105px;left:25px;right:25px;height:260px;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;animation:iasV46Second 14s infinite}
#iasV46PortraitSlide>img{height:100%;width:auto;max-width:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 12px 28px #062c8c55);animation:iasV46Float 5s ease-in-out infinite}
.ias-v46-portrait-caption{position:absolute;bottom:-8px;left:0;right:0;display:flex;flex-direction:column;align-items:center;text-align:center;background:#ffffffeb;backdrop-filter:blur(10px);border-radius:13px;padding:9px 8px;color:#143f80;box-shadow:0 8px 25px #032e7950}.ias-v46-portrait-caption strong{font-size:18px}.ias-v46-portrait-caption span{font-size:11px;font-weight:650}
.ias-v46-float{position:absolute;z-index:2;background:#ffffffd9;color:#0b4a9b;padding:8px 10px;border-radius:10px;font-size:11px;font-weight:750;box-shadow:0 8px 22px #0a317450;animation:iasV46Float 4s ease-in-out infinite}.ias-v46-float.f1{top:55px;left:0}.ias-v46-float.f2{top:135px;right:0;animation-delay:-2s}
@keyframes iasV46Float{50%{transform:translateY(-10px)}}
@keyframes iasV46First{0%,42%{opacity:1;transform:scale(1)}50%,92%{opacity:0;transform:scale(.96)}100%{opacity:1}}
@keyframes iasV46Second{0%,42%{opacity:0;transform:translateX(16px)}50%,92%{opacity:1;transform:translateX(0)}100%{opacity:0}}
.ias-auth-showcase-bottom h2{font-size:27px!important;line-height:1.15}.ias-auth-showcase-bottom p{font-size:12px!important;line-height:1.65;max-width:430px}
@media(max-width:767px){#iasV46PortraitSlide{top:80px;height:280px}.ias-auth-showcase{min-height:570px}.ias-auth-showcase-bottom h2{font-size:22px!important}}
@media(prefers-reduced-motion:reduce){body:has(#login:not([style*="display: none"])),.ias-auth-showcase::after,.ias-v46-original-slide,#iasV46PortraitSlide,#iasV46PortraitSlide img,.ias-v46-float{animation:none!important}#iasV46PortraitSlide{opacity:0}}


/* PHP login form hooks, exact V54 presentation */
body:has(#login){background:#f3f6fc}
#login .ias-auth-form-wrap form{display:flex;flex-direction:column}
#login .ias-auth-form-wrap .flash,#login .ias-auth-form-wrap .error{margin:0 0 14px;padding:12px 14px;border-radius:10px;font-size:13px}
#login .ias-auth-form-wrap .error{background:#fff0ef;color:#a12626;border:1px solid #ffd0c9}
#login .ias-auth-form-wrap .flash{background:#eaf7ef;color:#167247;border:1px solid #bce4c9}
#login .ias-auth-submit{border:0;cursor:pointer}
#login .ias-auth-showcase{isolation:isolate}
#login .ias-auth-form-side{min-width:0}
/* Original V54 dashboard structure adapted to server-rendered PHP pages. */
:root{--ias-ink:#1e304d;--ias-muted:#8190a8;--ias-accent:#4679f5}
body:not(:has(#login)){background:#f5f7fc;color:var(--ias-ink)}
body .app{min-height:100vh;background:#f5f7fc}
body .sidebar{width:260px;min-width:260px;background:#fff;border-right:1px solid #e8edf6;box-shadow:none;padding:19px 12px 15px;scrollbar-width:thin;scrollbar-color:transparent transparent;transition:width .28s ease,min-width .28s ease,transform .28s ease}
body .sidebar:hover{scrollbar-color:#7f9bd577 transparent}
body .sidebar::-webkit-scrollbar{width:5px}
body .sidebar::-webkit-scrollbar-thumb{background:#7f9bd500;border-radius:10px;transition:background .2s}
body .sidebar:hover::-webkit-scrollbar-thumb{background:#7f9bd577}
body .sidebar .brand{margin:0 0 24px;padding:14px 4px 8px;text-align:center}
body .sidebar .brand img{width:100px;height:100px;object-fit:contain}
body .sidebar .brand strong{display:block;font-size:16px;white-space:nowrap;letter-spacing:-.5px;color:#153d79}
body .ias-side-search{margin-bottom:15px}
body .ias-side-search input{margin:0!important;background:#f3f6fc!important;border:1px solid #e6ebf6!important;border-radius:12px!important;padding:12px!important;font-size:12px!important}
body .sidebar .group{font-size:11px;font-weight:750;color:#9aa9bf;margin:21px 8px 12px;letter-spacing:.7px}
body .sidebar .nav{white-space:nowrap;font-size:12px;font-weight:650;color:#61718e;padding:13px 11px;border-radius:10px;margin-bottom:3px;transition:background .24s ease,color .24s ease,transform .24s ease}
body .sidebar .nav:hover{transform:translateX(3px);background:#eff4ff;color:#2f67dd}
body .sidebar .nav.selected{background:#4d7af7;color:#fff;box-shadow:0 5px 12px #4d7af733}
body .sidebar .nav span{min-width:20px}
body .workspace{background:#f5f7fc}
body .top{height:82px;padding:0 26px;background:#fff;border-bottom:1px solid #e6edf8;box-shadow:none;gap:12px}
body .top>div:first-of-type>b{font-size:23px;letter-spacing:-.5px}
body .top>div:first-of-type>small{color:#8696ad}
body .top .menu-btn{display:grid;place-items:center;border:1px solid #dce8fa;background:#f8fbff;color:#2b65d3;border-radius:10px;width:36px;height:36px;flex:0 0 36px;font-size:20px;padding:0;cursor:pointer}
body .top .top-right{margin-left:auto}
body .top .user-avatar{background:linear-gradient(135deg,#3e73ee,#1554c8);color:white}
body .content{max-width:none;padding:26px;min-width:0}
body .content h1{font-size:25px;color:#22314b;letter-spacing:-.55px}
body .card,body .metric{border-radius:16px;border:1px solid #edf0f8;box-shadow:0 4px 14px #1c438608}
body .metric strong{color:#6b92ff}
body .ias-dashboard-intro{margin:0 0 25px}
body .ias-dashboard-intro h1{margin:0 0 7px;font-size:28px}
body .ias-dashboard-intro p{font-size:12px;color:#8b9bb1;margin:0}
body .sidebar-foot{font-size:10px}
body.sidebar-collapsed .sidebar{width:0;min-width:0;padding-left:0;padding-right:0;border:0;overflow:hidden}
body.sidebar-collapsed .workspace{min-width:0}
body .sidebar .nav.ias-search-hidden,body .sidebar .group.ias-search-hidden{display:none}
body .top-right .logout{border-radius:9px}
@media(max-width:740px){
 body .sidebar{position:fixed;width:260px;min-width:260px;z-index:60;transform:translateX(-105%);box-shadow:14px 0 30px #123c7e25}
 body.menu-open .sidebar{transform:translateX(0)}
 body.sidebar-collapsed .sidebar{width:260px;min-width:260px;padding:19px 12px 15px}
 body .top{height:68px;padding:0 12px}
 body .top>div:first-of-type>b{font-size:16px}
 body .top .top-right>span:nth-child(2){display:none}
 body .top .top-right .user-avatar{display:grid}
 body .content{padding:15px}
 body .sidebar-scrim{position:fixed;inset:0;background:#0b254f88;z-index:50;display:none}
 body.menu-open .sidebar-scrim{display:block}
}
@media(prefers-reduced-motion:reduce){body .sidebar,body .sidebar .nav{transition:none!important}}
