:root{--navy:#09254a;--purple:#5b3df5;--purple2:#6f52ff;--bg:#f4f7fb;--text:#10233f;--muted:#6b7890;--line:#e5eaf2;--white:#fff;--green:#159a57;--red:#c63d4f;--shadow:0 12px 35px rgba(17,38,75,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg)}a{text-decoration:none;color:inherit}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#f6f8ff,#eef3fa)}.login-card{width:min(470px,100%);background:#fff;border-radius:24px;padding:44px;box-shadow:var(--shadow);text-align:center}.brand-mark,.mini-mark{display:grid;place-items:center;background:linear-gradient(135deg,var(--purple),#4b32d7);color:#fff;font-weight:800}.brand-mark{width:72px;height:72px;border-radius:50%;font-size:32px;margin:0 auto 22px}.login-card h1{font-size:28px;margin:0;line-height:1.2}.subtitle{color:var(--muted);margin:9px 0 30px}.login-card form{text-align:left}.login-card label{display:block;font-weight:700;margin:18px 0 8px}.login-card input{width:100%;padding:14px 15px;border:1px solid #ccd5e4;border-radius:12px;font-size:16px;outline:none}.login-card input:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(91,61,245,.12)}.password-wrap{position:relative}.password-wrap input{padding-right:70px}.show-password{position:absolute;right:8px;top:7px;border:0;background:#f0efff;color:var(--purple);padding:8px 10px;border-radius:8px;cursor:pointer}.primary-btn{width:100%;border:0;border-radius:12px;background:var(--purple);color:#fff;font-weight:800;font-size:16px;padding:14px;margin-top:25px;cursor:pointer}.primary-btn:hover{background:#4d31e9}.alert{padding:13px 15px;border-radius:12px;text-align:left;font-size:14px}.alert.error{background:#fff0f1;color:#ad2435;border:1px solid #ffd1d6}.footer-note{color:#8995a8;font-size:13px;margin:26px 0 0}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5}.top-brand{display:flex;align-items:center;gap:12px}.mini-mark{width:42px;height:42px;border-radius:12px}.top-brand strong{display:block;font-size:17px}.top-brand small{color:var(--muted)}.top-user{display:flex;align-items:center;gap:12px;font-weight:700}.top-user a{color:#b52839;font-size:14px}.role-pill{font-size:11px;padding:5px 8px;border-radius:99px;background:#eeeaff;color:var(--purple)}.layout{display:flex;min-height:calc(100vh - 76px)}.sidebar{width:245px;background:#fff;border-right:1px solid var(--line);padding:24px 14px}.nav-title{font-size:11px;font-weight:800;letter-spacing:.12em;color:#9aa6b8;padding:0 12px 10px}.sidebar a{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:11px;color:#5f6c81;margin-bottom:4px;font-weight:650}.sidebar a:hover,.sidebar a.active{background:#f0edff;color:var(--purple)}.sidebar a em{margin-left:auto;font-style:normal;font-size:11px;background:#edf1f7;color:#68758a;border-radius:99px;padding:3px 7px}.sidebar a.active em{background:#fff;color:var(--purple)}.settings-title{margin-top:28px}.content{flex:1;padding:32px;max-width:1500px}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.page-head h1{font-size:30px;margin:0 0 5px}.page-head p{margin:0;color:var(--muted)}.system-status{background:#eaf9f0;color:#168a50;border-radius:99px;padding:9px 13px;font-weight:750;font-size:13px}.system-status span{display:inline-block;width:8px;height:8px;background:#20b96a;border-radius:50%;margin-right:7px}.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:14px;margin-bottom:20px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;align-items:center;gap:13px;box-shadow:0 5px 18px rgba(17,38,75,.03)}.stat-icon{width:40px;height:40px;border-radius:11px;background:#f0edff;color:var(--purple);display:grid;place-items:center;font-size:20px}.stat-card small{display:block;color:var(--muted);font-weight:650}.stat-card strong{font-size:25px;display:block;margin-top:3px}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-bottom:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line)}.panel-head h2{font-size:17px;margin:0}.panel-head a{font-size:13px;color:var(--purple);font-weight:750}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 20px;border-bottom:1px solid #edf0f5;font-size:13px}th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#8b97a9}td strong{display:block}td small{display:block;color:#929db0;margin-top:3px}.status{display:inline-block;padding:5px 8px;border-radius:99px;font-size:11px;font-weight:750;background:#eef2f7;color:#637188}.status.active,.status.completed,.status.eligible{background:#eaf9f0;color:#168a50}.status.draft{background:#fff7df;color:#9b6a00}.status.scheduled{background:#eeeaff;color:#5940d9}.status.blocked,.status.archived,.status.inactive{background:#fff0f1;color:#b52839}.empty{padding:35px 22px;color:var(--muted);text-align:center}.roadmap{padding-bottom:20px}.roadmap .panel-head{margin-bottom:0}.roadmap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px}.roadmap-grid>div{border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;grid-template-columns:34px 1fr;column-gap:10px;align-items:center}.roadmap-grid span{grid-row:span 2;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f0edff;color:var(--purple);font-weight:800}.roadmap-grid span.done{background:#eaf9f0;color:#168a50}.roadmap-grid b{font-size:13px}.roadmap-grid small{color:var(--muted);margin-top:3px}@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(3,1fr)}.grid-two{grid-template-columns:1fr}.roadmap-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:750px){.sidebar{display:none}.content{padding:20px}.stats-grid{grid-template-columns:repeat(2,1fr)}.roadmap-grid{grid-template-columns:1fr}.topbar{padding:0 15px}.top-user>span:first-child{display:none}.login-card{padding:30px 24px}}
