:root{
  --green:#123c2f;
  --green2:#1f6b4d;
  --gold:#c9a227;
  --sand:#f7f2e8;
  --bg:#f5f7f4;
  --card:#fff;
  --ink:#17211d;
  --muted:#6b7280;
  --line:#e5e7eb;
  --danger:#991b1b;
}
*{box-sizing:border-box}
body{margin:0;font-family:Tahoma,Arial,sans-serif;background:var(--bg);color:var(--ink)}
a{text-decoration:none;color:inherit}
.app{display:grid;grid-template-columns:280px 1fr;min-height:100vh}
.side{background:linear-gradient(180deg,var(--green),#09231b);color:#fff;padding:24px;position:sticky;top:0;height:100vh}
.brand{display:flex;gap:12px;align-items:center;margin-bottom:34px}
.logo{width:46px;height:46px;border-radius:16px;background:rgba(255,255,255,.12);display:grid;place-items:center;color:var(--gold);font-weight:900}
.logo.big{width:72px;height:72px;font-size:28px}
.brand b{display:block;font-size:18px}
.brand span{display:block;color:rgba(255,255,255,.6);font-size:12px;margin-top:4px}
nav{display:grid;gap:8px}
nav a,.logout{display:block;padding:13px 14px;border-radius:14px;color:rgba(255,255,255,.76)}
nav a:hover,nav a.on{background:rgba(255,255,255,.12);color:#fff}
.logout{margin-top:26px;background:rgba(255,255,255,.08)}
.main{padding:34px}
.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:20px}
.top h1{margin:0;font-size:32px}
.top p{margin:8px 0 0;color:var(--muted)}
.btn,button,.mini{background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;border:0;border-radius:14px;padding:12px 16px;font-weight:800;cursor:pointer;display:inline-block}
.mini{padding:7px 10px;font-size:12px}
.grid{display:grid;gap:16px}
.kpis{grid-template-columns:repeat(6,1fr);margin-bottom:18px}
.kpi,.card{background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:0 12px 35px rgba(18,60,47,.06)}
.kpi{padding:20px}
.kpi span{display:block;color:var(--muted);font-size:13px}
.kpi b{display:block;font-size:28px;margin:10px 0;color:var(--green)}
.kpi small{color:var(--muted)}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.card{padding:22px;margin-bottom:18px}
.card h2{margin:0 0 18px;font-size:20px}
.card-head{display:flex;justify-content:space-between;align-items:center}
.bars{display:grid;gap:12px}
.bar-row{display:grid;grid-template-columns:1fr auto;gap:10px;position:relative;padding-bottom:12px;border-bottom:1px solid #f0f2f1}
.bar-row i{height:6px;background:linear-gradient(90deg,var(--gold),var(--green2));border-radius:999px;position:absolute;bottom:0;right:0}
.bar-row b{color:var(--green)}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th{background:#f3f6f4;color:#334155;text-align:right;padding:12px;white-space:nowrap}
td{padding:12px;border-top:1px solid var(--line);vertical-align:top}
tr:hover td{background:#fafcfb}
.tag{display:inline-block;background:#eef8f2;color:var(--green2);padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700}
.filters{display:grid;grid-template-columns:1fr 180px auto auto;gap:10px;margin-bottom:18px}
input,select{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px 13px;background:#fff;font:inherit}
.form-card form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-card label{font-weight:800;font-size:13px;margin-bottom:-6px}
.form-card button{grid-column:1/-1}
.detail{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.detail div{background:#f8faf8;border:1px solid var(--line);border-radius:16px;padding:14px}
.detail span{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}
.detail b{font-size:14px}
.pager{display:flex;justify-content:center;gap:12px;align-items:center;margin-top:18px}
.pager a{background:#f1f5f2;padding:10px 14px;border-radius:12px}
.empty{padding:32px;text-align:center;color:var(--muted);background:#fafafa;border-radius:18px}
.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 20%,rgba(201,162,39,.18),transparent 28%),linear-gradient(135deg,#eef6f0,#f7f2e8);padding:24px}
.login-wrap{width:min(1050px,100%);display:grid;grid-template-columns:1.1fr .9fr;background:#fff;border-radius:32px;overflow:hidden;box-shadow:0 30px 80px rgba(18,60,47,.18)}
.login-hero{background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;padding:54px;display:flex;flex-direction:column;justify-content:center}
.login-hero h1{font-size:44px;margin:28px 0 12px}
.login-hero p{line-height:1.9;color:rgba(255,255,255,.75)}
.login-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.login-points span{background:rgba(255,255,255,.12);padding:10px 12px;border-radius:999px}
.login-card{padding:54px;display:flex;flex-direction:column;justify-content:center}
.login-card h2{font-size:30px;margin:20px 0 6px}
.login-card p{color:var(--muted);line-height:1.8}
.login-card label{font-weight:800;margin:14px 0 7px}
.login-card button{margin-top:20px}
.pill{align-self:flex-start;background:#eef8f2;color:var(--green2);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800}
.alert{background:#fef2f2;color:var(--danger);border:1px solid #fecaca;padding:12px;border-radius:14px;margin:14px 0}
@media(max-width:1100px){
  .app{grid-template-columns:1fr}
  .side{position:relative;height:auto}
  .kpis{grid-template-columns:repeat(2,1fr)}
  .cols,.detail,.login-wrap{grid-template-columns:1fr}
}

.chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 9px;
  border-radius:999px;
  background:#eef8f2;
  color:#1f6b4d;
  border:1px solid #d7eadf;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
.chip b{
  color:#123c2f;
  font-weight:900;
}
.muted{
  color:#6b7280;
  font-size:12px;
}

.chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  min-width:220px;
}
.chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 9px;
  border-radius:999px;
  background:#eef8f2;
  color:#1f6b4d;
  border:1px solid #d7eadf;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
.chip b{
  color:#123c2f;
  font-weight:900;
}
.muted{
  color:#6b7280;
  font-size:12px;
}
