:root{
  --navy:#141B30; --navy-2:#1B2440; --bg:#F4F6FA; --surface:#FFFFFF;
  --ink:#1A2238; --ink-soft:#7A8299; --border:#E7EAF1;
  --accent:#2F6FED; --accent-soft:#E7EFFE;
  --teal:#13A383; --teal-soft:#E2F6EF;
  --warn:#F2994A; --warn-soft:#FFEFDC;
}

*{ box-sizing:border-box; }
body{ margin:0; background:var(--bg); color:var(--ink); font-family:'Plus Jakarta Sans',system-ui,sans-serif; }
a{ color:var(--ink); text-decoration:none; }
a:hover{ color:var(--accent); }

.badge{ display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:700; padding:4px 11px; border-radius:999px; }
.badge-accent{ background:var(--accent-soft); color:var(--accent); }
.badge-warn{ background:var(--warn-soft); color:var(--warn); }
.badge-teal{ background:var(--teal-soft); color:var(--teal); }
.badge-neutral{ background:#EEF0F6; color:#4A5272; }

.card{ background:var(--surface); border:1px solid var(--border); border-radius:16px; box-shadow:0 1px 2px rgba(20,27,48,0.04); }
.card-pad{ padding:20px 22px; }

.btn{ display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:700; padding:9px 18px; border-radius:999px; border:none; cursor:pointer; }
.btn-primary{ background:var(--accent); color:#fff; }
.btn-ghost{ background:rgba(255,255,255,0.1); color:#fff; }
.btn-outline{ background:var(--surface); color:var(--ink); border:1px solid var(--border); }

.layout{ display:flex; min-height:100vh; }
.sidebar{ width:220px; flex:none; background:var(--navy); padding:22px 14px; display:flex; flex-direction:column; gap:3px; }
.sidebar-logo{ display:flex; align-items:center; gap:10px; padding:4px 10px 24px; }
.sidebar-logo-mark{ width:30px; height:30px; border-radius:9px; background:var(--accent); display:flex; align-items:center; justify-content:center; }
.sidebar-logo-text{ font-weight:800; font-size:16px; color:#fff; letter-spacing:-.01em; }
.navitem{ display:flex; align-items:center; gap:11px; padding:10px 13px; border-radius:10px; font-size:13.5px; font-weight:600; color:#8891A8; }
.navitem.active{ background:rgba(47,111,237,0.18); color:#FFFFFF; }
.navitem.disabled{ opacity:.45; cursor:default; }
.sidebar-user{ margin-top:auto; padding-top:18px; border-top:1px solid rgba(255,255,255,0.08); display:flex; align-items:center; gap:10px; padding-left:10px; }
.sidebar-avatar{ width:30px; height:30px; border-radius:999px; background:#2A3356; display:flex; align-items:center; justify-content:center; font-weight:700; color:#fff; font-size:11.5px; }

.topbar{ display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 36px; background:var(--navy-2); }
.search{ display:flex; align-items:center; gap:10px; flex:1; max-width:380px; background:rgba(255,255,255,0.08); border-radius:999px; padding:9px 16px; color:#8891A8; font-size:13px; }

.content{ flex:1; min-width:0; }
.main{ max-width:1240px; padding:32px 36px 96px; }

.stat-grid{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:16px; margin-bottom:40px; }
.stat-icon{ width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center; }
.stat-value{ font-size:30px; font-weight:800; }

.table{ width:100%; border-collapse:collapse; font-size:13.5px; }
.table th{ text-align:left; font-size:11.5px; font-weight:700; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.03em; padding:13px 20px; border-bottom:1px solid var(--border); }
.table td{ padding:14px 20px; border-bottom:1px solid var(--border); }
.table tr:last-child td{ border-bottom:none; }
.table tr.linkrow{ cursor:pointer; }
.table tr.linkrow:hover{ background:#FAFBFD; }

.progress{ height:6px; border-radius:999px; background:var(--border); overflow:hidden; }
.progress > div{ height:100%; background:var(--accent); border-radius:999px; }

.attention-item{ display:flex; align-items:center; gap:16px; padding:15px 20px; }
.attention-item + .attention-item{ margin-top:10px; }

.checklist-section + .checklist-section{ margin-top:16px; }
.checklist-item{ display:flex; align-items:flex-start; gap:12px; padding:13px 18px; border-bottom:1px solid var(--border); }
.checklist-item:last-child{ border-bottom:none; }
.tag{ font-size:11.5px; font-weight:700; padding:3px 10px; border-radius:999px; background:#EEF0F6; color:var(--ink-soft); white-space:nowrap; }

.form-row{ margin-bottom:16px; }
.form-row label{ display:block; font-size:12.5px; font-weight:700; color:var(--ink-soft); margin-bottom:6px; }
.form-row input, .form-row select, .form-row textarea{
  width:100%; padding:10px 14px; border:1px solid var(--border); border-radius:10px; font-family:inherit; font-size:14px; background:#fff; color:var(--ink);
}
.form-errors{ color:#C0392B; font-size:12.5px; margin-top:4px; }

.messages{ margin-bottom:20px; }
.messages li{ list-style:none; padding:10px 16px; border-radius:10px; background:var(--accent-soft); color:var(--accent); font-size:13.5px; font-weight:600; margin-bottom:8px; }
