:root{--navy:#163f8c;--navy2:#102b67;--blue:#2454c6;--orange:#4878df;--gold:#c18a27;--cream:#f7f9ff;--paper:#fff;--ink:#20345a;--muted:#627391;--line:#dce5f5;--light:#eef3ff;--radius:15px}
*{box-sizing:border-box}
html,body{margin:0;font-family:Inter,'Segoe UI',Arial,sans-serif;background:#f3f6fd;color:var(--ink);font-size:14px}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{opacity:.45;cursor:not-allowed}
input,select,textarea{border:1px solid #cdd9ed;border-radius:9px;padding:11px 12px;background:white;color:var(--ink);width:100%;min-width:0;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2454c61f}
textarea{min-height:95px;resize:vertical}
a{color:#2454c6;text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{margin:0}
h1{font-size:29px;font-weight:800;letter-spacing:-.8px}
h2{font-size:21px;letter-spacing:-.4px}
h3{font-size:16px}
.muted{color:var(--muted)}
.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--blue);font-weight:800;margin-bottom:9px}
.btn{border:1px solid var(--line);border-radius:9px;padding:11px 16px;font-weight:700;background:white;color:var(--navy);display:inline-flex;align-items:center;gap:9px;justify-content:center;white-space:nowrap}
.btn.primary{background:linear-gradient(110deg,#2454c6,#3567d8);border-color:#2454c6;color:white;box-shadow:0 5px 14px #2454c61a}
.btn.secondary{background:var(--navy);border-color:var(--navy);color:white}
.btn.soft{background:var(--light)}
.btn.warning{color:#b63828}
.btn.small{padding:7px 10px;font-size:12px}
.btn.wide{width:100%;justify-content:space-between}
.btn:hover{filter:brightness(.96)}
.login-shell{min-height:100vh;display:grid;grid-template-columns:1.08fr 1fr}
.login-cover{background:linear-gradient(150deg,#163f8c,#214ca4 70%,#3565cf);color:#fff;position:relative;padding:11vh 9%;overflow:hidden}
.login-brand,.brand{display:flex;gap:10px;align-items:center;font-size:27px;font-weight:850;letter-spacing:1px}
.brand-badge{width:38px;height:38px;background:var(--blue);color:#fff;display:grid;place-items:center;border-radius:12px;font-size:24px;font-weight:900}
.brand-accent{color:#a9c5ff}
.login-headline{font-size:clamp(35px,4vw,62px);font-weight:820;letter-spacing:-2px;line-height:1.1;margin:85px 0 20px;position:relative;z-index:2}
.login-headline em{font-style:normal;color:#b9ceff}
.login-cover p{max-width:450px;line-height:1.8;opacity:.83;font-size:15px;position:relative;z-index:2}
.login-pill{margin-top:42px;letter-spacing:.4px;font-weight:600;position:relative;z-index:2}
.login-pill span{color:#a9c5ff;padding:0 8px}
.abstract-shape{position:absolute;border:1px solid #ffffff15;border-radius:50%;width:340px;height:340px;bottom:-150px;right:-150px}
.abstract-shape.two{width:530px;height:530px;bottom:-330px;right:80px}
.login-form-wrap{background:linear-gradient(145deg,#f8faff,#edf3ff);display:flex;justify-content:center;align-items:center;padding:40px}
.login-form{max-width:390px;width:100%}
.login-form h1{font-size:28px}
.login-form p{line-height:1.6}
.login-form label,.editor-fields label{display:block;font-weight:650;color:#3d5378;margin-top:18px;font-size:12px}
.login-form label input,.editor-fields label input,.editor-fields label select,.editor-fields label textarea{margin-top:8px;font-weight:400}
.login-form .btn{margin-top:25px}
.login-note{color:#6d7f9d;font-size:11px;margin-top:25px!important}
.form-error{color:#b73524;min-height:20px}
.app-shell{display:flex;min-height:100vh}
.sidebar{background:linear-gradient(180deg,#102b67,#0c2357);color:white;width:260px;min-width:260px;min-height:100vh;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
.side-top{padding:32px 22px 28px}
.side-top small{font-size:10px;letter-spacing:2px;color:#b3c7ed;margin-left:50px}
.navigation{padding:0 10px;flex:1}
.nav-section{font-weight:700;font-size:10px;color:#9bb8eb;letter-spacing:1.2px;margin:22px 12px 10px}
.nav-link{width:100%;background:none;color:#d5e2ff;border:0;text-align:left;padding:12px 13px;border-radius:9px;font-size:12px;display:flex;align-items:center;gap:12px}
.nav-link.active{background:#244e9c;color:white;font-weight:700;border-left:3px solid var(--blue)}
.nav-link:hover{background:#ffffff10}
.nav-icon{font-size:18px;color:#a0bfff;width:22px;text-align:center}
.side-footer{border-top:1px solid #ffffff1c;display:flex;align-items:center;gap:10px;padding:20px;font-size:11px}
.side-footer small{display:block;color:#b4c8ed;margin-top:4px}
.online-dot{background:var(--blue);width:9px;height:9px;border-radius:50%}
.main-shell{flex:1;min-width:0}
.topbar{height:70px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px}
.breadcrumb{color:#7385a4;font-weight:700;font-size:12px}
.breadcrumb span{color:#294a80;margin:0 5px}
.header-actions{display:flex;align-items:center;gap:12px}
.header-date{font-size:11px;color:#6c7f9f}
.avatar{height:32px;width:32px;background:#e3ecff;color:#2454c6;display:grid;place-items:center;border-radius:50%;font-weight:800}
.username{font-size:12px;font-weight:700}
.icon-btn,.menu-toggle{border:0;background:none;color:#617799;font-size:20px}
.menu-toggle{display:none}
.main-content{max-width:1560px;margin:auto;padding:34px 36px 65px}
.page-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:26px}
.page-subtitle{color:#6a7d9c;margin-top:8px;max-width:850px;line-height:1.5}
.page-buttons{display:flex;gap:8px;flex-wrap:wrap}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}
.stat{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:23px;box-shadow:0 5px 22px #1b3f8a08;position:relative}
.stat-name{font-size:12px;color:#657c9e;font-weight:600}
.stat-value{font-size:34px;color:var(--navy);font-weight:800;margin:10px 0 7px}
.stat-foot{font-size:11px;color:#7083a0}
.stat-icon{position:absolute;right:22px;top:20px;background:#e7efff;color:#315dc1;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;font-size:19px}
.panels{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;margin-bottom:22px}
.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:23px;min-width:0;box-shadow:0 4px 20px #1b3f8a06;margin-bottom:16px}
.panel-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:20px}
.panel-desc{font-size:12px;color:#6d7f9d;margin-top:5px}
.bar-row{display:grid;grid-template-columns:130px 1fr 34px;gap:12px;align-items:center;margin:13px 0;font-size:12px}
.bar-row .bar-track{height:9px;background:#e9effb;border-radius:10px;overflow:hidden}
.bar-fill{height:100%;background:linear-gradient(90deg,#2454c6,#6b96f2);border-radius:10px}
.count{text-align:right;font-weight:700;color:#2b4f91}
.table-scroll{overflow-x:auto}
.data-table{width:100%;border-collapse:collapse;font-size:12px}
.data-table th{padding:13px 12px;text-align:left;font-weight:800;background:#f4f7fe;color:#5f769a;white-space:nowrap;border-bottom:1px solid var(--line)}
.data-table td{padding:12px;border-bottom:1px solid #e9eef8;vertical-align:top;line-height:1.55}
.data-table tbody tr:hover{background:#f5f8ff}
.data-table .primary-col{font-weight:750;color:#294d88}
.data-table .dim{color:#7e8faa}
.data-table td.actions{white-space:nowrap}
.pill{padding:5px 8px;border-radius:7px;background:#e8efff;color:#2a54af;font-size:10px;display:inline-block;font-weight:800;line-height:1.3}
.pill.orange{background:#fff0e5;color:#ad571a}
.pill.grey{background:#eef2f5;color:#657782}
.pill.red{background:#ffeae7;color:#b94036}
.pill.yellow{background:#fff6d8;color:#957212}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:13px;margin-bottom:18px;flex-wrap:wrap}
.toolbar input{width:300px;max-width:100%}
.toolbar .filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.toolbar select{width:auto;min-width:150px}
.empty{background:#f8faff;padding:32px;text-align:center;color:#6c82a3;border-radius:12px}
.empty strong{display:block;color:#2b4f88;margin-bottom:7px}
.text-cut{max-width:220px;overflow:hidden;text-overflow:ellipsis;display:block;white-space:nowrap}
.muted-small{color:#7789a6;font-size:11px}
.mini-link{background:none;border:0;padding:0;color:#2a54af;font-weight:750;font-size:12px}
.editor-modal{width:min(850px,95vw);max-height:92vh;border:0;border-radius:17px;box-shadow:0 22px 75px #102b6752;padding:0}
.editor-modal::backdrop{background:#102653c4;backdrop-filter:blur(3px)}
.editor-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:24px 29px;border-bottom:1px solid var(--line)}
.close-modal{background:transparent;border:0;font-size:25px;color:#6d82a4}
.editor-fields{max-height:60vh;overflow:auto;padding:15px 29px 28px;display:grid;grid-template-columns:1fr 1fr;column-gap:18px}
.editor-fields .full{grid-column:1/-1}
.editor-fields small{display:block;margin-top:5px;color:#8797b0;font-weight:400}
.editor-footer{padding:18px 28px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}
.editor-content>.form-error{margin:0 29px}
.action-card{background:white;border:1px solid var(--line);border-radius:13px;padding:20px;margin-bottom:15px}
.action-card h3{margin-bottom:10px}
.action-card p{color:#6b82a3;font-size:12px;line-height:1.6}
.action-card .btn{margin-right:7px;margin-bottom:5px}
.info-note{background:#edf3ff;border-left:3px solid #2454c6;border-radius:6px;padding:14px 16px;color:#31558e;line-height:1.6;font-size:12px;margin:14px 0}
.warning-note{background:#fff8ed;border-left-color:var(--gold)}
.history-row{padding:14px;border-left:2px solid var(--blue);margin:10px 0 10px 8px;background:#f1f5ff;border-radius:0 8px 8px 0}
.history-row .heading{font-weight:800;margin-bottom:8px}
.history-row p{margin:5px 0;white-space:pre-wrap}
.toast{position:fixed;bottom:23px;right:23px;background:#163f8c;color:white;padding:13px 17px;border-radius:10px;box-shadow:0 10px 25px #193a7933;z-index:2000;display:none;max-width:400px;line-height:1.5}
.toast.visible{display:block}
.login-shell[hidden],.app-shell[hidden]{display:none!important}
.loading{padding:40px;color:#789}
.tagline{font-size:11px;letter-spacing:1.5px;color:#7890b1;margin-top:7px}
.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.badge-number{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:25px;border-radius:8px;background:#e2ecff;color:#2a54af;font-weight:800;margin-right:7px}
.compact-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.text-link{color:#2454c6;font-weight:750}
.footer-caption{font-size:11px;color:#778ca9;margin-top:17px}
.print-only{display:none}
@media(max-width:1150px){.sidebar{width:220px;min-width:220px}
.main-content{padding:28px}
.stats{grid-template-columns:repeat(2,1fr)}
.username{display:none}}
@media(max-width:800px){.sidebar{position:fixed;z-index:50;transform:translateX(-101%);transition:transform .2s;height:100vh}
.sidebar.open{transform:translateX(0)}
.menu-toggle{display:block}
.topbar{padding:0 18px}
.main-content{padding:22px 15px 55px}
.panels,.grid-two{grid-template-columns:1fr}
.stats{grid-template-columns:repeat(2,1fr);gap:10px}
.stat{padding:17px}
.stat-value{font-size:29px}
.stat-icon{display:none}
.page-top{align-items:flex-start;flex-direction:column}
.header-date{display:none}
.editor-fields{grid-template-columns:1fr;padding:12px 17px}
.editor-heading,.editor-footer{padding:17px}
.login-shell{grid-template-columns:1fr}
.login-cover{display:none}
.login-form-wrap{min-height:100vh}
.toolbar input{width:100%}
.bar-row{grid-template-columns:100px 1fr 30px}}
.public-body{background:#f3f6fd}
.public-header{background:var(--navy);padding:16px max(5vw,20px);display:flex;align-items:center;justify-content:space-between;color:#e4edff;gap:20px}
.public-header .brand{font-size:22px}
.public-header .brand-badge{width:32px;height:32px;font-size:19px}
.public-header>span{font-size:11px}
.public-content{max-width:850px;padding:60px 20px 70px;margin:auto}
.public-content>h1{font-size:37px;letter-spacing:-1px}
.public-intro{color:#6d819f;line-height:1.7;font-size:15px;max-width:730px}
.public-card{background:#fff;padding:34px;border:1px solid var(--line);border-radius:16px;margin-top:27px;box-shadow:0 8px 40px #183c870d}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px 21px}
.public-card label{font-size:12px;font-weight:700;color:#4c6488;display:block}
.public-card label input,.public-card label textarea,.public-card label select{margin-top:8px;font-weight:400}
.public-card .full{grid-column:1/-1}
.public-card label em{font-style:normal;color:var(--blue)}
.check-wrap{display:flex!important;align-items:start;gap:12px;line-height:1.7;font-weight:400!important;margin:9px 0}
.check-wrap input{width:16px;min-width:16px;margin:3px 0!important}
.tiny{font-size:11px}
.honeypot{position:absolute!important;left:-99999px!important;visibility:hidden}
.public-footer{margin:32px 0;text-align:center;color:#7187a9;font-size:12px}
.public-success{text-align:center;padding:50px 0}
.public-success .success-icon{display:inline-grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#e2edff;color:#2454c6;font-size:32px;margin-bottom:15px}
.public-success h2{margin-bottom:12px}
@media(max-width:700px){.public-header>span{display:none}
.public-content{padding:40px 14px}
.public-content>h1{font-size:29px}
.public-card{padding:20px}
.form-grid{grid-template-columns:1fr}
.public-card .full{grid-column:auto}}


/* AEADE identity: use the supplied logo on a white field. */
.brand-mark{display:flex;align-items:center;justify-content:center;flex:none;overflow:hidden;width:62px;height:80px;border-radius:12px;background:#fff;border:1px solid #d8e3fb;box-shadow:0 4px 18px #0a255120}
.brand-logo{display:block;flex:none;width:128px;height:128px;max-width:none;object-fit:contain}
.brand-wordmark{display:block;min-width:0;font-size:27px;font-weight:850;letter-spacing:1.2px;line-height:1.1}
.brand-wordmark small{display:block;margin:8px 0 0;font-size:9px;font-weight:650;letter-spacing:1.4px;line-height:1.5;color:inherit;opacity:.77;white-space:nowrap}
.login-brand{gap:18px;position:relative;z-index:2}
.login-brand .brand-mark{width:78px;height:96px;border-radius:16px}
.login-brand .brand-logo{width:156px;height:156px}
.login-brand .brand-wordmark{font-size:33px;letter-spacing:1.5px}
.login-brand .brand-wordmark small{font-size:10px}
.login-cover{background:radial-gradient(ellipse at 100% 90%,#4779df44,transparent 58%),linear-gradient(150deg,#102b67,#214ca4 65%,#3565cf)}
.login-headline{margin-top:65px}
.login-form-brand{display:none;color:#173e8b;gap:15px;margin:0 0 32px}
.login-form-brand .brand-accent{color:#3567d8}
.login-form h1{color:#163766}
.side-top{padding:26px 20px 24px}
.side-top .brand{gap:12px}
.side-top .brand-mark{width:58px;height:76px;border-radius:12px;box-shadow:none}
.side-top .brand-logo{width:122px;height:122px}
.side-top .brand-wordmark{font-size:24px;letter-spacing:1px}
.side-top .brand-wordmark small{font-size:8px;margin:8px 0 0;letter-spacing:1.3px;color:#bdd0f5}
.nav-link.active{background:#2454c654;border-left-color:#83acff}
.nav-link.active .nav-icon{color:#c8dcff}
.online-dot{background:#83acff}
.public-header{background:linear-gradient(105deg,#102b67,#214ca4)}
.public-header .brand{gap:14px}
.public-header .brand-mark{width:58px;height:76px}
.public-header .brand-logo{width:122px;height:122px}
.public-header .brand-wordmark{font-size:25px}
.public-header .brand-wordmark small{font-size:8px;letter-spacing:1.3px}
.public-header>span{max-width:350px;text-align:right;line-height:1.7}
.btn:focus-visible,.nav-link:focus-visible,.mini-link:focus-visible,.icon-btn:focus-visible,.menu-toggle:focus-visible{outline:3px solid #8db0ff;outline-offset:3px}
@media(max-width:1150px){
.side-top{padding-right:15px;padding-left:15px}
.side-top .brand{gap:10px}
.side-top .brand-wordmark{font-size:22px}
.side-top .brand-wordmark small{letter-spacing:1.05px}
}
@media(max-width:800px){
.login-form-brand{display:flex}
.login-form-wrap{padding:32px 22px;min-height:100svh}
.login-form h1{font-size:27px;line-height:1.2;letter-spacing:-.7px}
.breadcrumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100vw - 110px)}
.toast{left:16px;right:16px;bottom:16px;max-width:none}
}
@media(max-width:380px){
.login-form-wrap{padding:28px 20px}
.login-form-brand .brand-mark{width:58px;height:76px}
.login-form-brand .brand-wordmark{font-size:25px}
.login-form-brand .brand-wordmark small{font-size:8px;letter-spacing:1.3px}
.login-form h1{font-size:25px}
.public-header{padding-left:18px;padding-right:18px}
.public-content>h1{font-size:27px}
}
