:root{
  --navy:#071b33;
  --navy2:#0d2342;
  --navy3:#102b50;
  --orange:#f58220;
  --silver:#dfe6ef;
  --ink:#122033;
  --muted:#6b7788;
  --line:#e7ebf0;
  --bg:#f5f7fa;
  --white:#fff;
  --danger:#a92727;
  --danger-bg:#fff0f0;
  --success:#177245;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{text-decoration:none;color:inherit}
button,input{font:inherit}
.auth-body{min-height:100vh;background:radial-gradient(circle at 25% 0%,#18375f 0,#0d2342 32%,#071b33 75%);display:grid;place-items:center;padding:28px}
.auth-shell{width:min(1080px,100%);display:grid;grid-template-columns:1fr 1fr;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 70px rgba(0,0,0,.28);border-radius:24px;overflow:hidden}
.brand-panel{min-height:580px;padding:64px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(155deg,rgba(245,130,32,.15),transparent 38%),linear-gradient(145deg,#0c294b,#071b33);color:white}
.brand-mark{width:112px;height:112px;border:2px solid rgba(255,255,255,.65);clip-path:polygon(25% 6%,75% 6%,97% 50%,75% 94%,25% 94%,3% 50%);display:grid;place-items:center;font-size:34px;font-weight:900;letter-spacing:-3px;background:linear-gradient(145deg,#e7edf4,#8190a2);color:#071b33;box-shadow:inset 0 0 0 7px #102b50;margin-bottom:24px}
.brand-copy{display:flex;flex-direction:column;gap:8px}
.brand-copy strong{font-size:30px;letter-spacing:1.5px}
.brand-copy span{font-size:13px;letter-spacing:2.6px;color:#cbd6e5}
.auth-card{background:white;padding:64px;display:flex;flex-direction:column;justify-content:center}
.auth-card h1{font-size:38px;margin:8px 0 8px}
.auth-card h2{font-size:17px;margin:26px 0 12px;padding-top:16px;border-top:1px solid var(--line)}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:1.8px;color:var(--orange)}
.muted{color:var(--muted)}
.auth-card form{display:grid;gap:18px;margin-top:22px}
.auth-card label{display:grid;gap:8px;font-size:13px;font-weight:700}
.auth-card input{width:100%;border:1px solid #d7dde5;border-radius:10px;padding:13px 14px;outline:none;background:#fbfcfd}
.auth-card input:focus{border-color:#8aa0bb;box-shadow:0 0 0 3px rgba(16,43,80,.08)}
.btn{border:0;border-radius:10px;padding:14px 18px;font-weight:800;cursor:pointer}
.primary{background:linear-gradient(180deg,#f7943d,#f58220);color:white;box-shadow:0 8px 20px rgba(245,130,32,.22)}
.wide{width:100%}
.alert{padding:13px 14px;border-radius:10px;margin-top:18px;font-size:14px}
.alert.error{background:var(--danger-bg);color:var(--danger);border:1px solid #f2caca}
.secure-note{font-size:12px;color:#7b8796;border-top:1px solid var(--line);margin-top:26px;padding-top:18px}
.setup-shell{grid-template-columns:.75fr 1.25fr}
.setup-card{padding-top:42px;padding-bottom:42px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.span-2{grid-column:1 / -1}

.app-body{background:#f3f5f8;min-height:100vh}
.app-layout{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}
.sidebar{background:linear-gradient(180deg,#071b33,#0b2442);color:white;padding:24px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.side-brand{display:flex;align-items:center;gap:12px;padding:0 8px 24px;border-bottom:1px solid rgba(255,255,255,.1)}
.brand-mark.small{width:54px;height:54px;font-size:18px;box-shadow:inset 0 0 0 4px #102b50;margin:0;flex:0 0 auto}
.side-brand strong{display:block;font-size:14px;letter-spacing:.7px}
.side-brand span{display:block;font-size:10px;letter-spacing:1.8px;color:#aebcd0;margin-top:4px}
.sidebar nav{display:grid;gap:4px;margin-top:20px}
.sidebar nav a{padding:11px 12px;border-radius:9px;color:#c8d3e2;font-size:14px;display:flex;align-items:center;justify-content:space-between}
.sidebar nav a.active{background:rgba(245,130,32,.14);color:white;border-left:3px solid var(--orange)}
.sidebar nav a.disabled{opacity:.72;pointer-events:none}
.sidebar nav a span{font-size:9px;text-transform:uppercase;letter-spacing:.8px;color:#8292a7}
.logout-link{margin-top:auto;padding:13px 12px;border-top:1px solid rgba(255,255,255,.1);color:#d5deea}
.content{padding:34px 38px 50px}
.topbar{display:flex;align-items:center;gap:18px}
.topbar h1{margin:3px 0 0;font-size:30px}
.user-chip{margin-left:auto;background:white;border:1px solid var(--line);border-radius:14px;padding:8px 12px;display:flex;align-items:center;gap:10px;box-shadow:0 6px 18px rgba(18,32,51,.05)}
.user-chip strong{display:block;font-size:13px}
.user-chip span{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#102b50;color:white;font-size:12px;font-weight:800}
.menu-btn{display:none;background:white;border:1px solid var(--line);border-radius:9px;padding:8px 10px}
.welcome{margin-top:28px;background:linear-gradient(115deg,#0d2342,#17385f);color:white;border-radius:18px;padding:28px 30px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 14px 34px rgba(7,27,51,.15)}
.welcome h2{margin:0 0 8px;font-size:28px}
.welcome p{margin:0;color:#cbd7e6}
.status-pill{font-size:10px;font-weight:900;letter-spacing:1.2px;border:1px solid rgba(255,255,255,.25);padding:9px 11px;border-radius:999px;color:#dce7f4}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:18px}
.stats article{background:white;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 6px 18px rgba(18,32,51,.04)}
.stats span{display:block;color:var(--muted);font-size:12px}
.stats strong{display:block;font-size:28px;margin:8px 0 4px;color:var(--navy2)}
.stats small{color:#8c97a5}
.dashboard-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:18px}
.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 6px 18px rgba(18,32,51,.04)}
.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.panel-head h3{margin:0;font-size:17px}
.panel-head span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}
.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.quick-grid button{border:1px solid var(--line);background:#f8fafc;padding:14px;border-radius:10px;text-align:left;color:#6f7d8e}
.small-text{font-size:12px}
.activity-list{display:grid;gap:14px}
.activity-item{display:grid;grid-template-columns:12px 1fr;gap:10px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--orange);margin-top:5px}
.activity-item strong{font-size:13px}
.activity-item p{margin:3px 0;color:#596779;font-size:12px}
.activity-item span{font-size:10px;color:#99a3b0}

@media (max-width:900px){
  .auth-shell,.setup-shell{grid-template-columns:1fr}
  .brand-panel{min-height:auto;padding:28px}
  .brand-mark{width:72px;height:72px;font-size:24px;margin-bottom:14px}
  .brand-copy strong{font-size:22px}
  .auth-card{padding:32px 24px}
  .app-layout{grid-template-columns:1fr}
  .sidebar{position:fixed;z-index:50;width:280px;left:-290px;transition:left .25s ease;box-shadow:10px 0 40px rgba(0,0,0,.22)}
  .sidebar.open{left:0}
  .content{padding:24px 18px 40px}
  .menu-btn{display:block}
  .stats{grid-template-columns:1fr 1fr}
  .dashboard-grid{grid-template-columns:1fr}
}
@media (max-width:560px){
  .auth-body{padding:14px}
  .auth-card h1{font-size:30px}
  .form-grid{grid-template-columns:1fr}
  .span-2{grid-column:auto}
  .stats{grid-template-columns:1fr}
  .welcome{align-items:flex-start;gap:20px;flex-direction:column}
  .user-chip div:not(.avatar){display:none}
}