*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,sans-serif;background:#eef3f8;color:#182235}button,input,select{font:inherit}button{cursor:pointer}
:root{--n:#0b1730;--t:#0f9d94;--l:#d9e2ec;--m:#6e7a8e;--ok:#24945c;--d:#d64545;--w:#d78818}
.hidden{display:none!important}.btn{border:none;border-radius:12px;padding:10px 14px;font-weight:700}.p{background:var(--t);color:#fff}.o{background:#fff;border:1px solid var(--l)}.x{background:#fff1f1;color:var(--d);border:1px solid #f5c9c9}.s{background:#f6f8fb;border:1px solid var(--l);color:var(--n)}.sm{padding:7px 10px;font-size:12px}
.field{margin:0 0 12px}.field label{display:block;margin:0 0 6px;color:var(--m);font-size:12px;font-weight:700;text-transform:uppercase}.field input,.field select{width:100%;padding:11px 12px;border:1px solid var(--l);border-radius:12px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.err{display:none;padding:10px 12px;margin:0 0 12px;border-radius:12px;background:#fff1f1;color:var(--d);border:1px solid #f5c9c9}
#login{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#071220,#12345c)}#login .box{width:min(400px,100%);background:#fff;border-radius:24px;padding:28px}
#app{display:none}.side{position:fixed;inset:0 auto 0 0;width:240px;background:#0b1730;color:#fff;padding:20px;display:flex;flex-direction:column;overflow-y:auto}.brand{font-size:28px;font-weight:800;letter-spacing:.08em}.brand span{color:var(--t)}.role{font-size:12px;color:#94a3b8;text-transform:uppercase;margin-top:6px}.logo-block{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.logo-mark{display:block}.logo-mark svg{display:block}.logo-word{font-weight:800;letter-spacing:.14em;line-height:1}.logo-login{align-items:center}.logo-login .logo-word{font-size:28px;color:var(--n)}.logo-side .logo-word{font-size:22px;color:#fff}
.nav{display:flex;flex-direction:column;gap:8px;margin:18px 0;flex:1}.nav a{padding:11px 12px;border-radius:12px;color:#cbd5e1;text-decoration:none;font-weight:600}.nav a.active,.nav a:hover{background:#16243f;color:#fff}
.user{padding:14px;border-radius:14px;background:#16243f}.main{margin-left:240px;min-height:100vh}.top{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:18px 24px;background:#f8fbfd;border-bottom:1px solid var(--l);position:sticky;top:0}.top h1{margin:0;font-size:28px}.sub{margin-top:6px;color:var(--m)}.actions{display:flex;gap:10px;flex-wrap:wrap}
.content{padding:24px;display:flex;flex-direction:column;gap:16px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.stat,.card{background:#fff;border:1px solid var(--l);border-radius:18px}.stat{padding:18px}.stat b{display:block;font-size:30px;color:var(--n)}.stat span{display:block;margin-top:5px;color:var(--m);font-size:12px;text-transform:uppercase}
.head{padding:16px 18px;border-bottom:1px solid var(--l);display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.head h3{margin:0}.head p{margin:4px 0 0;color:var(--m);font-size:13px}.body{padding:18px}.table{overflow:auto}table{width:100%;border-collapse:collapse;min-width:680px}th,td{padding:13px 14px;text-align:left;border-bottom:1px solid var(--l)}th{font-size:12px;color:var(--m);text-transform:uppercase}.badge{display:inline-block;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700}.ba{background:#edf8f1;color:var(--ok)}.bi{background:#eef2f7;color:var(--m)}.bt{background:#fff5e8;color:var(--w)}.bd{background:#fff1f1;color:var(--d)}.bf{background:#eef2f7;color:var(--n)}.bs{background:#e8faf8;color:var(--t)}.bp{background:#eef2ff;color:#3454a3}
.name{font-weight:700;color:var(--n)}.meta{font-size:12px;color:var(--m)}.acts{display:flex;gap:8px;flex-wrap:wrap}.empty{padding:32px 18px;text-align:center;color:var(--m)}.crumb{font-size:13px;color:var(--m)}
#modal{position:fixed;inset:0;background:rgba(7,18,32,.5);display:none;align-items:center;justify-content:center;padding:20px}#modal.open{display:flex}.dialog{width:min(520px,100%);background:#fff;border-radius:22px;overflow:hidden;max-height:calc(100vh - 40px);display:flex;flex-direction:column}.mhead{padding:16px 18px;background:#12345c;color:#fff;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.mhead h3{margin:0}.mbody{padding:18px;overflow-y:auto;flex:1}.mfoot{padding:16px 18px;border-top:1px solid var(--l);display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;flex-shrink:0}
#toast{position:fixed;right:20px;bottom:20px;background:#0b1730;color:#fff;padding:12px 14px;border-radius:14px;transform:translateY(80px);opacity:0;transition:.2s}.show{transform:translateY(0)!important;opacity:1!important}
#confirm{position:fixed;inset:0;background:rgba(7,18,32,.55);display:none;align-items:center;justify-content:center;padding:20px;z-index:900}#confirm.open{display:flex}#confirm .cdialog{width:min(420px,100%);background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,.25);animation:cslide .18s ease}@keyframes cslide{from{opacity:0;transform:translateY(-12px) scale(.97)}to{opacity:1;transform:none}}#confirm .cicon{display:flex;justify-content:center;padding:28px 24px 0}#confirm .cicon span{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:900;line-height:1}#confirm .cbody{padding:16px 28px 20px;text-align:center}#confirm .ctitle{margin:0 0 8px;font-size:18px;font-weight:800;color:var(--n)}#confirm .cmsg{color:var(--m);font-size:14px;line-height:1.5;margin:0}#confirm .cfoot{padding:4px 24px 24px;display:flex;justify-content:center;gap:10px}
.toggle{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle .track{position:absolute;inset:0;border-radius:13px;background:#d1dae6;cursor:pointer;transition:background .2s}.toggle input:checked+.track{background:var(--t)}.toggle .track::after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;top:3px;left:3px;transition:left .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}.toggle input:checked+.track::after{left:25px}
@media(max-width:900px){.side{position:static;width:auto}.main{margin-left:0}.top{position:static}}@media(max-width:640px){.row{grid-template-columns:1fr}.content,.top{padding:16px}.top h1{font-size:22px}}
