:root{
  --bg:#071018;--bg2:#0d1724;--panel:#101d2c;--panel2:#132337;--text:#eef6ff;--muted:#9fb1c7;
  --line:rgba(255,255,255,.10);--brand:#1fb88f;--brand2:#39d0ff;--gold:#d7a64d;--danger:#ff6b6b;--warn:#ffc857;--ok:#25d395;
  --shadow:0 24px 70px rgba(0,0,0,.35);--radius:24px;--font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(135deg,#06101a,#0d1825 48%,#071018);color:var(--text);font-family:var(--font);min-height:100vh;overflow-x:hidden}.app-bg{position:fixed;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(circle at 20% 10%,rgba(31,184,143,.15),transparent 30%),radial-gradient(circle at 85% 20%,rgba(57,208,255,.13),transparent 28%),linear-gradient(135deg,#06101a,#0b1724)}.app-bg span{position:absolute;width:420px;height:420px;border-radius:999px;filter:blur(45px);opacity:.25;animation:float 12s ease-in-out infinite}.app-bg span:nth-child(1){background:var(--brand);left:-160px;top:120px}.app-bg span:nth-child(2){background:var(--brand2);right:-170px;top:25px;animation-delay:-4s}.app-bg span:nth-child(3){background:var(--gold);left:38%;bottom:-220px;animation-delay:-7s}@keyframes float{50%{transform:translateY(-36px) translateX(32px) scale(1.08)}}
a{color:inherit}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:28px}.login-shell{width:min(1140px,100%);display:grid;grid-template-columns:1.08fr .92fr;gap:22px;align-items:stretch}.hero-card,.login-card,.panel,.modal-card{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.045));border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(18px);border-radius:var(--radius)}.hero-card{padding:44px;position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;inset:auto -110px -120px auto;width:320px;height:320px;border-radius:999px;background:rgba(31,184,143,.18)}.seal{width:74px;height:74px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),#0f6f5d);box-shadow:0 18px 36px rgba(31,184,143,.25);margin-bottom:26px}.seal svg{width:40px;height:40px}.eyebrow{color:#bdeede;font-weight:800;font-size:12px;letter-spacing:.18em;text-transform:uppercase}.hero-card h1{font-size:clamp(38px,5vw,68px);line-height:.95;margin:14px 0 18px;letter-spacing:-.05em}.hero-card p{color:var(--muted);font-size:17px;line-height:1.7;max-width:620px}.flow-line{margin-top:34px;display:grid;gap:12px}.flow-step{display:flex;gap:12px;align-items:center;padding:13px 15px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.045);animation:rise .7s ease both}.flow-step:nth-child(2){animation-delay:.08s}.flow-step:nth-child(3){animation-delay:.16s}.flow-step:nth-child(4){animation-delay:.24s}.dot{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:rgba(31,184,143,.15);color:#a8ffe6;border:1px solid rgba(31,184,143,.35)}.login-card{padding:34px}.brand-mini{display:flex;align-items:center;gap:12px;margin-bottom:22px}.brand-mini .logo{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),#157a68)}.brand-mini strong{font-size:18px}.brand-mini span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.field{display:grid;gap:8px;margin:14px 0}.field label{font-size:13px;color:#c7d6e7;font-weight:700}.input,.select,textarea{width:100%;border:1px solid var(--line);border-radius:16px;background:rgba(5,13,22,.72);padding:14px 15px;color:var(--text);outline:none;font:inherit;transition:.2s}.input:focus,.select:focus,textarea:focus{border-color:rgba(31,184,143,.6);box-shadow:0 0 0 4px rgba(31,184,143,.12)}.btn{border:0;border-radius:16px;padding:13px 16px;font-weight:900;cursor:pointer;color:#062219;background:linear-gradient(135deg,var(--brand),#7fffd6);box-shadow:0 16px 32px rgba(31,184,143,.22);transition:.22s;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none}.btn:hover{transform:translateY(-2px);filter:brightness(1.05)}.btn.secondary{background:rgba(255,255,255,.08);color:var(--text);border:1px solid var(--line);box-shadow:none}.btn.danger{background:rgba(255,107,107,.16);color:#ffd4d4;border:1px solid rgba(255,107,107,.35);box-shadow:none}.btn.warn{background:rgba(255,200,87,.16);color:#ffe5a8;border:1px solid rgba(255,200,87,.35);box-shadow:none}.btn.small{padding:9px 11px;border-radius:12px;font-size:12px}.creds{margin-top:20px;padding:16px;border-radius:18px;background:rgba(255,255,255,.055);border:1px solid var(--line)}.creds h3{font-size:13px;margin:0 0 10px;color:#dce9f8}.cred-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.cred{padding:9px;border-radius:12px;background:rgba(0,0,0,.18);font-size:12px;color:var(--muted);border:1px solid rgba(255,255,255,.06)}.cred b{color:#fff}.layout{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:18px;border-right:1px solid var(--line);background:rgba(5,13,22,.72);backdrop-filter:blur(18px)}.side-brand{display:flex;align-items:center;gap:12px;padding:11px 8px 20px;border-bottom:1px solid var(--line)}.side-brand .logo{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),#136b5b)}.side-brand strong{font-size:15px}.side-brand span{display:block;color:var(--muted);font-size:11px}.nav-list{display:grid;gap:6px;margin-top:18px}.nav-btn{width:100%;display:flex;gap:11px;align-items:center;padding:12px;border-radius:15px;background:transparent;color:#b8c9dc;border:1px solid transparent;cursor:pointer;text-align:left;font-weight:800}.nav-btn:hover,.nav-btn.active{background:rgba(31,184,143,.12);color:#eafff8;border-color:rgba(31,184,143,.22)}.side-user{position:absolute;left:18px;right:18px;bottom:18px;padding:14px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid var(--line)}.main{padding:24px 28px 40px}.topbar{height:74px;display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.title h2{margin:0;font-size:28px;letter-spacing:-.03em}.title p{margin:5px 0 0;color:var(--muted)}.top-actions{display:flex;gap:10px;align-items:center}.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:rgba(255,255,255,.06);padding:10px 12px;border-radius:999px;color:#d6e8fa;font-size:13px;font-weight:800}.grid{display:grid;gap:16px}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.panel{padding:18px}.stat{position:relative;overflow:hidden}.stat .icon{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:rgba(31,184,143,.13);color:#b2ffea;margin-bottom:14px}.stat h3{margin:0;font-size:30px;letter-spacing:-.04em}.stat p{margin:6px 0 0;color:var(--muted);font-size:13px}.stat:after{content:"";position:absolute;right:-44px;bottom:-48px;width:140px;height:140px;border-radius:999px;background:rgba(57,208,255,.08)}.section-head{display:flex;align-items:end;justify-content:space-between;margin:26px 0 14px}.section-head h3{margin:0;font-size:19px}.section-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.table-wrap{overflow:auto;border-radius:20px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;min-width:880px;background:rgba(5,13,22,.36)}th,td{padding:14px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;vertical-align:middle}th{color:#b8cbe0;background:rgba(255,255,255,.04);font-size:12px;text-transform:uppercase;letter-spacing:.08em}td{color:#e7f0fb}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900;border:1px solid}.badge.pending{background:rgba(255,200,87,.12);border-color:rgba(255,200,87,.35);color:#ffe19a}.badge.approved,.badge.completed{background:rgba(37,211,149,.12);border-color:rgba(37,211,149,.35);color:#a6ffd9}.badge.rejected,.badge.flagged{background:rgba(255,107,107,.12);border-color:rgba(255,107,107,.35);color:#ffc4c4}.badge.review{background:rgba(57,208,255,.11);border-color:rgba(57,208,255,.32);color:#bdefff}.card-row{display:flex;align-items:center;gap:12px}.avatar{width:38px;height:38px;border-radius:14px;background:linear-gradient(135deg,#1fb88f,#39d0ff);display:grid;place-items:center;font-weight:950;color:#061019}.muted{color:var(--muted)}.progress{display:flex;align-items:center;gap:7px;min-width:240px}.progress span{height:7px;flex:1;border-radius:999px;background:rgba(255,255,255,.13);overflow:hidden}.progress span.done{background:linear-gradient(90deg,var(--brand),var(--brand2))}.formshell{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field.full{grid-column:1/-1}.summary-list{display:grid;gap:10px}.summary-item{display:flex;justify-content:space-between;gap:12px;padding:11px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07)}.summary-item span{color:var(--muted);font-size:12px}.summary-item b{font-size:13px;text-align:right}.timeline{display:grid;gap:12px}.titem{display:flex;gap:12px;align-items:flex-start}.ticon{width:36px;height:36px;border-radius:13px;background:rgba(31,184,143,.13);display:grid;place-items:center;color:#b2ffea;flex:0 0 auto}.titem h4{margin:0 0 3px;font-size:14px}.titem p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.modal{position:fixed;inset:0;background:rgba(0,0,0,.58);display:none;align-items:center;justify-content:center;padding:24px;z-index:30}.modal.show{display:flex;animation:fade .2s ease}.modal-card{width:min(880px,100%);max-height:90vh;overflow:auto;padding:22px;animation:pop .25s ease}.modal-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}.modal-head h3{margin:0;font-size:22px}.close{width:40px;height:40px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid var(--line);color:#fff;cursor:pointer}.charts{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bars{display:grid;gap:12px;margin-top:12px}.bar{display:grid;grid-template-columns:130px 1fr 54px;gap:10px;align-items:center;font-size:12px;color:#cde0f2}.bar i{height:10px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}.bar i:before{content:"";display:block;height:100%;width:var(--w);background:linear-gradient(90deg,var(--brand),var(--brand2));border-radius:inherit}.alert-card{border:1px solid rgba(255,200,87,.28);background:rgba(255,200,87,.08);border-radius:18px;padding:15px;display:flex;gap:12px;align-items:flex-start}.toast-host{position:fixed;right:20px;bottom:20px;display:grid;gap:10px;z-index:60}.toast{padding:13px 15px;border-radius:16px;background:rgba(10,25,38,.92);border:1px solid var(--line);box-shadow:var(--shadow);animation:toast .25s ease;color:#e9f6ff;font-weight:800;font-size:13px}.empty{padding:38px;text-align:center;color:var(--muted);border:1px dashed rgba(255,255,255,.18);border-radius:20px}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick button{text-align:left;justify-content:flex-start;min-height:78px}.mobile-menu{display:none}@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes fade{from{opacity:0}to{opacity:1}}@keyframes pop{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}@keyframes toast{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
svg{width:18px;height:18px;display:block}.mini{font-size:12px;color:var(--muted)}.print-slip{border:1px dashed rgba(255,255,255,.25);border-radius:18px;padding:16px;background:rgba(255,255,255,.04)}
@media(max-width:980px){.login-shell,.formshell,.grid.cols-4,.grid.cols-3,.grid.cols-2,.charts{grid-template-columns:1fr}.layout{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:290px;transform:translateX(-102%);transition:.25s;z-index:25}.sidebar.open{transform:none}.mobile-menu{display:inline-flex}.main{padding:18px}.cred-grid,.form-grid,.quick{grid-template-columns:1fr}.topbar{height:auto;gap:16px;align-items:flex-start}.top-actions{flex-wrap:wrap}.hero-card{padding:28px}}