
:root{
  --st-topbar-height:50px;
  --st-sidebar-width:240px;
  --st-bg:#f4f6f9;
  --st-surface:#ffffff;
  --st-navy:#111827;
  --st-sidebar:#1f2937;
  --st-sidebar-hover:#374151;
  --st-border:#e5e7eb;
  --st-text:#111827;
  --st-muted:#6b7280;
  --st-blue:#2563eb;
  --st-success:#16a34a;
  --st-warning:#f59e0b;
  --st-danger:#dc2626;
  --st-radius:12px;
  --st-shadow:0 8px 20px rgba(0,0,0,.06);
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;font-family:Arial,sans-serif;background:var(--st-bg);color:var(--st-text)}
a{color:inherit}
.topbar{background:var(--st-navy);color:#fff;padding:0 22px;display:flex;justify-content:space-between;align-items:center;position:fixed;top:0;left:0;right:0;height:var(--st-topbar-height);z-index:9999;box-shadow:0 1px 0 rgba(255,255,255,.06)}
.topbar-brand{font-weight:700;white-space:nowrap}
.topbar-user{display:flex;align-items:center;gap:8px;font-size:14px}
.topbar-user a{color:#fff}
.sidebar{width:var(--st-sidebar-width);background:var(--st-sidebar);color:#fff;position:fixed;top:var(--st-topbar-height);bottom:0;left:0;padding:10px 0 24px;overflow-y:auto;z-index:900}
.sidebar-section{padding:16px 20px 6px;color:#93a4ba;font-size:11px;font-weight:700;letter-spacing:.08em}
.sidebar-section:first-child{padding-top:10px}
.sidebar a{display:block;color:#fff;padding:11px 20px;text-decoration:none;border-left:3px solid transparent;line-height:1.25}
.sidebar a:hover{background:var(--st-sidebar-hover)}
.sidebar a.active{background:#445166;border-left-color:#60a5fa;padding-left:17px}
.main{margin-left:var(--st-sidebar-width);padding:80px 28px 32px;min-height:100vh}
.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}
.page-title,h1{margin:0 0 8px;font-size:30px;line-height:1.2}
.subtitle{color:var(--st-muted);margin:0 0 22px}
.card{background:var(--st-surface);padding:22px;border-radius:var(--st-radius);box-shadow:var(--st-shadow)}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}
.layout{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:20px;align-items:start}
.wide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.btn,button,input[type=submit]{border:0;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.btn-primary,button,input[type=submit]{background:var(--st-navy);color:#fff}
.btn-light{background:#e5e7eb;color:var(--st-text)}
.btn-success{background:var(--st-success);color:#fff}
.btn-warning{background:var(--st-warning);color:var(--st-text)}
.btn-danger{background:var(--st-danger);color:#fff}
.btn-small{padding:7px 10px;font-size:13px}
.actions,.table-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
label{font-weight:700}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=file],select,textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:var(--st-text)}
textarea{min-height:110px;resize:vertical}
table{width:100%;border-collapse:collapse}
th{background:#f3f4f6;text-align:left;padding:11px;font-size:13px}
td{padding:11px;border-bottom:1px solid #eee;vertical-align:top}
.table-wrap{overflow:auto;border:1px solid var(--st-border);border-radius:8px}
.status,.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700}
.active-status,.badge-success{background:#dcfce7;color:#166534}
.inactive-status,.badge-muted{background:#f3f4f6;color:#6b7280}
.message,.notice{padding:12px 14px;border-radius:8px;margin-bottom:18px}
.error{background:#fee2e2;color:#991b1b}
.success{background:#dcfce7;color:#166534}
.notice{background:#dbeafe;color:#1e40af}
.muted,.small{color:var(--st-muted);font-size:13px}
.inline{display:inline}
@media(max-width:1180px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.layout{grid-template-columns:1fr}}
@media(max-width:760px){.topbar{position:static;height:auto;min-height:50px;flex-wrap:wrap;padding:12px 16px}.sidebar{position:static;width:auto;padding:8px 0}.main{margin-left:0;padding:22px 16px}.page-header{flex-direction:column}.cards,.wide-grid{grid-template-columns:1fr}}
