:root{
  --teal:#134A47; --teal-light:#E4EEED;
  --orange:#FF7900; --orange-light:#FFF1E1;
  --green:#1E9E6B; --green-light:#E4F6EE;
  --red:#D64545; --red-light:#FBEAEA;
  --gray:#9CA3A0; --gray-light:#F2F3F2;
  --ink:#1B2422; --ink-soft:#5B655F;
  --bg:#FAFAF8; --card:#FFFFFF; --line:#E4E6E2; --radius:14px;
  font-family: -apple-system, "Segoe UI", Inter, Arial, sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--bg);color:var(--ink);min-height:100vh;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1000px;margin:0 auto;padding:28px 20px 70px;}
.narrow{max-width:420px;margin:60px auto;padding:0 20px;}

.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;}
.brand{display:flex;align-items:center;gap:12px;}
.brand img{height:38px;width:38px;object-fit:contain;border-radius:8px;}
.brand-name{font-size:15px;font-weight:700;color:var(--teal);}
.brand-sub{font-size:11px;color:var(--ink-soft);}
.tag{font-size:12px;color:var(--ink-soft);background:var(--card);border:1px solid var(--line);padding:6px 14px;border-radius:20px;}

h1{font-size:22px;font-weight:700;margin-bottom:4px;}
h2{font-size:17px;font-weight:700;margin-bottom:10px;color:var(--teal);}
.lead{font-size:13.5px;color:var(--ink-soft);margin-bottom:20px;}

.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:18px;}

.btn{display:inline-block;border:none;border-radius:9px;padding:10px 18px;font-size:13.5px;font-weight:600;cursor:pointer;text-align:center;}
.btn-orange{background:var(--orange);color:#fff;}
.btn-teal{background:var(--teal);color:#fff;}
.btn-green{background:var(--green);color:#fff;}
.btn-red{background:var(--red);color:#fff;}
.btn-ghost{background:var(--gray-light);color:var(--ink);}
.btn:hover{opacity:.88;}
.btn:disabled{opacity:.4;cursor:not-allowed;}

.field{margin-bottom:14px;}
.field label{font-size:12.5px;font-weight:600;display:block;margin-bottom:6px;}
.field input, .field select, .field textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:13.5px;font-family:inherit;}
.field-row{display:flex;gap:10px;flex-wrap:wrap;}
.field-row .field{flex:1;min-width:140px;}

.table{width:100%;border-collapse:collapse;font-size:13px;}
.table th{text-align:left;color:var(--ink-soft);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line);}
.table td{padding:10px;border-bottom:1px solid var(--line);}
.table tr:hover td{background:var(--gray-light);}

.pill{font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;display:inline-block;}
.pill.ok{background:var(--green-light);color:var(--green);}
.pill.warn{background:#FFF6E0;color:#B8860B;}
.pill.bad{background:var(--red-light);color:var(--red);}
.pill.info{background:var(--teal-light);color:var(--teal);}
.pill.muted{background:var(--gray-light);color:var(--gray);}

.grid-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:20px;}
.stat-box{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;text-align:center;}
.stat-box .num{font-size:19px;font-weight:700;}
.stat-box .lbl{font-size:11px;color:var(--ink-soft);margin-top:2px;}

.alert{padding:12px 16px;border-radius:8px;font-size:13px;margin-bottom:16px;}
.alert-error{background:var(--red-light);color:var(--red);}
.alert-success{background:var(--green-light);color:var(--green);}

.sidenav{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap;}
.sidenav a{font-size:13px;padding:8px 14px;border-radius:8px;background:var(--card);border:1px solid var(--line);color:var(--ink-soft);}
.sidenav a.active{background:var(--teal);color:#fff;border-color:var(--teal);}

.backlink{font-size:13px;color:var(--ink-soft);margin-bottom:16px;display:inline-block;}
.backlink:hover{color:var(--orange);}

@media(max-width:640px){
  .grid-stats{grid-template-columns:repeat(2,1fr);}
}
