:root{
  --g1:#0f2a1f;
  --g2:#1f4f39;
  --g3:#2f7b53;
  --h:#f6c34f;
  --bg:#f4f7f6;
  --card:#ffffff;
  --txt:#0e1b14;
  --mut:rgba(0,0,0,.62);
  --r:22px;
  --sh:0 18px 50px rgba(0,0,0,.10);
  --sh2:0 10px 26px rgba(0,0,0,.08);
}

*{box-sizing:border-box}
html,body{height:100%}
body.api{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;
  background:radial-gradient(900px 500px at 70% -10%, rgba(246,195,79,.20), transparent 60%),
             radial-gradient(900px 500px at 10% 10%, rgba(47,123,83,.18), transparent 55%),
             var(--bg);
  color:var(--txt);
}

a{color:inherit}
.api-shell{min-height:100vh;display:flex}

/* Sidebar (desktop) */
.api-side{
  width:300px;flex:0 0 300px;
  background:linear-gradient(180deg, var(--g2), var(--g1));
  color:#fff;
  padding:18px;
  display:flex;flex-direction:column;gap:14px;
  position:sticky;top:0;height:100vh;
}
.api-brand{padding:10px 10px 6px}
.api-logo{font-weight:1000;font-size:22px}
.api-sub{opacity:.78;font-size:13px;margin-top:2px}

.api-nav{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.api-link{
  text-decoration:none;
  padding:12px 12px;border-radius:16px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
  font-weight:900;
  display:flex;gap:10px;align-items:center;
}
.api-link:hover{background:rgba(255,255,255,.11)}
.api-link.is-active{
  background:rgba(246,195,79,.16);
  border-color:rgba(246,195,79,.35);
}
.api-ico{width:22px;display:inline-flex;justify-content:center}

.api-sidefoot{margin-top:auto}
.api-user{padding:12px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10)}
.api-user__name{font-weight:1000}
.api-user__meta{opacity:.8;font-size:13px;margin-top:2px}

/* Main */
.api-main{flex:1;min-width:0;padding:18px 18px 88px}

/* Topbar mobile */
.api-topbar{
  display:none;
  position:sticky;top:0;z-index:20;
  background:rgba(244,247,246,.85);
  backdrop-filter: blur(10px);
  border:1px solid rgba(0,0,0,.06);
  border-radius:18px;
  padding:12px 12px;
  margin-bottom:12px;
  align-items:center;
  justify-content:space-between;
}
.api-topbar__title{font-weight:1000}
.api-topbar__sub{font-size:12px;color:var(--mut);font-weight:800;margin-top:2px}
.api-pill{
  text-decoration:none;
  padding:10px 12px;border-radius:999px;
  background:rgba(246,195,79,.26);
  border:1px solid rgba(246,195,79,.40);
  font-weight:1000;
}

/* Pages */
.api-page{max-width:1180px;margin:0 auto}
.api-hero{
  background:var(--card);
  border-radius:var(--r);
  box-shadow:var(--sh);
  padding:18px;
  display:flex;gap:14px;align-items:stretch;justify-content:space-between;
  flex-wrap:wrap;
}
.api-badge{
  display:inline-flex;align-items:center;
  padding:6px 10px;border-radius:999px;
  background:rgba(246,195,79,.24);
  border:1px solid rgba(246,195,79,.34);
  color:#1f4f39;
  font-weight:1000;font-size:12px;
}
.api-title{margin:10px 0 6px;font-size:34px;line-height:1.1}
.api-lead{margin:0;color:var(--mut);font-weight:800;max-width:760px}

.api-cta{
  text-decoration:none;
  min-width:210px;
  background:rgba(47,123,83,.10);
  border:1px solid rgba(47,123,83,.20);
  border-radius:18px;
  padding:14px;
  display:flex;flex-direction:column;justify-content:center;
}
.api-cta__t{font-weight:1000;font-size:18px}
.api-cta__s{margin-top:4px;color:var(--mut);font-weight:800}

/* Grid/cards */
.api-grid{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:14px;
}
.api-card{
  grid-column:span 3;
  background:var(--card);
  border-radius:var(--r);
  box-shadow:var(--sh2);
  padding:16px;
  border:1px solid rgba(0,0,0,.06);
}
.api-card--wide{grid-column:span 12}
.api-h2{margin:0 0 10px;font-size:16px;font-weight:1000}
.api-kpiVal{font-size:30px;font-weight:1100;color:var(--g2)}
.api-kpiLab{margin-top:6px;color:var(--mut);font-weight:900}

.api-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.api-box{background:#f4f7f6;border:1px solid rgba(0,0,0,.06);border-radius:18px;padding:12px}
.api-box__t{font-weight:1000}
.api-box__s{margin-top:4px;color:var(--mut);font-weight:800}

/* Forms */
.api-form{display:flex;flex-direction:column;gap:8px}
.api-form label{font-weight:1000}
.api-form input{
  padding:12px 12px;border-radius:16px;
  border:1px solid rgba(0,0,0,.12);
  outline:none;
}
.api-form input:focus{border-color:rgba(47,123,83,.55)}
.api-btn{
  margin-top:6px;
  padding:12px 14px;border-radius:16px;border:0;
  background:var(--g3);color:#fff;
  font-weight:1000;cursor:pointer;
}
.api-alert{
  background:#fff0f0;border:1px solid rgba(138,31,31,.25);
  padding:10px;border-radius:16px;
  font-weight:1000;color:#7d1b1b;
  margin:10px 0;
}
.api-list{margin:0;padding-left:18px;color:var(--mut);font-weight:900;line-height:1.7}
.api-small{margin-top:10px;color:var(--mut);font-weight:800;font-size:13px}

/* Bottom nav mobile */
.api-bottomnav{
  display:none;
  position:fixed;left:12px;right:12px;bottom:12px;
  background:rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  box-shadow:var(--sh2);
  padding:10px;
  gap:6px;
}
.api-bnav{
  flex:1;
  text-decoration:none;
  padding:10px 8px;border-radius:14px;
  display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;
  color:rgba(0,0,0,.72);
  font-weight:1000;
  border:1px solid transparent;
}
.api-bnav.is-active{
  background:rgba(246,195,79,.22);
  border-color:rgba(246,195,79,.38);
  color:#123;
}
.api-bico{font-size:18px;line-height:1}
.api-bnav span:last-child{font-size:12px}

/* Responsive */
@media (max-width: 1050px){
  .api-card{grid-column:span 6}
}
@media (max-width: 980px){
  .api-side{display:none}
  .api-topbar{display:flex}
  .api-bottomnav{display:flex}
  .api-main{padding:12px 12px 92px}
  .api-title{font-size:26px}
  .api-two{grid-template-columns:1fr}
  .api-card{grid-column:span 12}
}
.api-row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}
.api-meta{color:var(--mut);font-weight:800;margin-top:4px}
.api-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.api-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 10px;border-radius:999px;
  background:#f4f7f6;border:1px solid rgba(0,0,0,.06);
  font-weight:1000;color:rgba(0,0,0,.72);text-decoration:none;
}
.api-chip--link{background:rgba(246,195,79,.20);border-color:rgba(246,195,79,.35)}

.api-details{margin-top:10px}
.api-details summary{cursor:pointer;font-weight:1000;color:rgba(0,0,0,.75)}
.api-btn--danger{background:#8b1f1f}
.api-select{
  padding:12px 12px;border-radius:16px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;font-weight:900;
}

.api-form--grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.api-form--grid > div{min-width:0}
.api-form__actions{grid-column:1/-1;display:flex;justify-content:flex-end}
@media(max-width:980px){.api-form--grid{grid-template-columns:1fr}}

.api-toast{
  margin-top:12px;
  padding:12px 14px;border-radius:16px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;box-shadow:var(--sh2);
  font-weight:1000;
}
.api-toast--ok{border-color:rgba(47,123,83,.25);background:rgba(47,123,83,.06)}

.api-three{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:980px){.api-three{grid-template-columns:1fr}}

.api-table{margin-top:10px;border:1px solid rgba(0,0,0,.06);border-radius:18px;overflow:hidden}
.api-thead,.api-tr{display:grid;grid-template-columns:120px 1fr 90px 90px 110px 1.2fr;gap:10px;padding:12px 12px;align-items:center}
.api-thead{background:#f4f7f6;font-weight:1000;color:rgba(0,0,0,.72)}
.api-tr{background:#fff;border-top:1px solid rgba(0,0,0,.06);font-weight:900}
.api-mut{color:var(--mut);font-weight:800}
@media(max-width:980px){
  .api-thead{display:none}
  .api-tr{grid-template-columns:1fr 1fr;row-gap:6px}
}
.api-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.api-actions{display:flex;justify-content:flex-end}
.api-btn--ghost{
  background:transparent;
  border:1px solid rgba(0,0,0,.14);
  color:rgba(0,0,0,.70);
}
.api-btn--ghost:hover{background:rgba(0,0,0,.04)}

.api-tr--read{
  grid-template-columns:110px 1fr 1.2fr 80px 80px 100px 1.2fr 120px;
}
@media(max-width:980px){
  .api-tr--read{grid-template-columns:1fr 1fr; }
  .api-actions{justify-content:flex-start}
}
