/* Wedget Admin — self-contained. `am-` prefix only (never `ad-`: ad-blockers hide it). */
:root{
  --ink:#15160f; --rail:#15160f; --rail-2:#1d1f15; --lime:#C9F31D; --lime-d:#b6dd14;
  --bg:#f5f6f1; --card:#ffffff; --muted:#6b7280; --faint:#9aa0aa; --text:#23241c;
  --border:#e6e7e0; --border-2:#eef0e9; --primary:#2563eb;
  --green:#16a34a; --red:#dc2626; --amber:#e0a106; --blue:#2563eb; --violet:#7c3aed;
  --r:14px; --r-sm:10px; --r-pill:999px;
  --sh:0 1px 2px rgba(15,22,9,.04),0 12px 28px -18px rgba(15,22,9,.25);
  --sh-pop:0 18px 44px -20px rgba(15,22,9,.35);
  --font:"Figtree",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --head:"Plus Jakarta Sans",var(--font);
}
html.am-dark{
  --ink:#f3f5ee; --bg:#0d0e0a; --card:#16180f; --text:#e7e9e0; --muted:#9aa195; --faint:#6b7160;
  --border:#262920; --border-2:#1f2118; --rail:#0a0b07;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--head);color:var(--ink);margin:0}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--lime);color:#15160f}

.am-spin{width:26px;height:26px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--lime);animation:amspin .7s linear infinite;margin:0 auto}
@keyframes amspin{to{transform:rotate(360deg)}}
.am-boot{display:grid;place-items:center;height:100vh}

/* ---------- shell ---------- */
.am-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.am-rail{background:var(--rail);color:#e9ebe2;display:flex;flex-direction:column;padding:18px 14px;gap:6px;position:sticky;top:0;height:100vh}
.am-brand{display:flex;align-items:center;gap:10px;padding:6px 8px 18px;font-family:var(--head);font-weight:800;font-size:18px;color:#fff}
.am-brand .am-dot{width:26px;height:26px;border-radius:8px;background:var(--lime);display:grid;place-items:center;color:#15160f;font-weight:900}
.am-nav{display:flex;flex-direction:column;gap:3px;flex:1}
.am-nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:var(--r-sm);color:#c4c8b8;font-weight:600;cursor:pointer;transition:.12s}
.am-nav a:hover{background:var(--rail-2);color:#fff}
.am-nav a.is-active{background:var(--lime);color:#15160f}
.am-nav a .am-ic{width:18px;text-align:center;font-size:15px}
.am-rail-foot{border-top:1px solid rgba(255,255,255,.08);padding-top:12px;display:flex;flex-direction:column;gap:8px;font-size:12px;color:#9aa195}
.am-rail-foot .am-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.am-rail-foot button{background:transparent;border:1px solid rgba(255,255,255,.14);color:#c4c8b8;border-radius:8px;padding:5px 9px;cursor:pointer}
.am-rail-foot button:hover{color:#fff;border-color:rgba(255,255,255,.3)}

.am-main{min-width:0;display:flex;flex-direction:column}
.am-topbar{display:flex;align-items:center;gap:12px;padding:16px 26px;border-bottom:1px solid var(--border);background:var(--card);position:sticky;top:0;z-index:5}
.am-topbar h1{font-size:19px}
.am-topbar .am-grow{flex:1}
.am-content{padding:24px 26px;min-width:0}
.am-mobtab{display:none}

/* ---------- KPI ---------- */
.am-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-bottom:22px}
.am-kpi{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:16px 18px;box-shadow:var(--sh)}
.am-kpi .am-kl{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);font-weight:700}
.am-kpi .am-kv{font-family:var(--head);font-weight:800;font-size:28px;color:var(--ink);margin-top:6px;line-height:1.1}
.am-kpi .am-km{font-size:12px;color:var(--muted);margin-top:4px}
.am-kpi.am-accent{background:linear-gradient(135deg,#15160f,#23251a);color:#fff;border:none}
.am-kpi.am-accent .am-kl{color:#a9ae9c}.am-kpi.am-accent .am-kv{color:var(--lime)}

/* ---------- card / table ---------- */
.am-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh)}
.am-card-h{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border-2)}
.am-card-h h3{font-size:15px}.am-card-h .am-grow{flex:1}
.am-card-b{padding:6px 0}
.am-pad{padding:18px}
.am-grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:900px){.am-grid2{grid-template-columns:1fr}}

.am-table{width:100%;border-collapse:collapse;font-size:13.5px}
.am-table th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);font-weight:700;padding:10px 18px;border-bottom:1px solid var(--border-2)}
.am-table td{padding:11px 18px;border-bottom:1px solid var(--border-2);vertical-align:middle}
.am-table tr:last-child td{border-bottom:none}
.am-table tbody tr{cursor:default}
.am-table tbody tr.am-click{cursor:pointer}
.am-table tbody tr.am-click:hover{background:var(--border-2)}
.am-mono{font-variant-numeric:tabular-nums}

/* ---------- master/detail ---------- */
.am-console{display:grid;grid-template-columns:340px 1fr;gap:18px;align-items:start}
@media(max-width:980px){.am-console{grid-template-columns:1fr}.am-console.am-has-detail .am-rail2{display:none}}
.am-rail2{background:var(--card);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);position:sticky;top:90px}
.am-rail2-h{padding:12px;border-bottom:1px solid var(--border-2);display:flex;flex-direction:column;gap:8px}
.am-chips{display:flex;gap:6px;flex-wrap:wrap}
.am-chip{font-size:12px;padding:4px 10px;border-radius:var(--r-pill);background:var(--border-2);color:var(--muted);cursor:pointer;font-weight:600;border:1px solid transparent}
.am-chip.is-active{background:var(--ink);color:#fff}
.am-list{max-height:calc(100vh - 220px);overflow:auto}
.am-li{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--border-2);cursor:pointer}
.am-li:hover{background:var(--border-2)}.am-li.is-active{background:var(--border-2);box-shadow:inset 3px 0 0 var(--lime)}
.am-li .am-g{flex:1;min-width:0}
.am-li .am-t{font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.am-li .am-d{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.am-detail{min-width:0}

/* ---------- detail header + subtabs ---------- */
.am-dh{display:flex;align-items:flex-start;gap:14px;padding:18px;background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh);margin-bottom:14px;flex-wrap:wrap}
.am-dh .am-grow{flex:1;min-width:160px}
.am-av{width:46px;height:46px;border-radius:12px;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-weight:800;font-family:var(--head);flex:none}
.am-subtabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:14px;border-bottom:1px solid var(--border);padding-bottom:0}
.am-subtab{padding:9px 13px;border-radius:8px 8px 0 0;font-weight:600;color:var(--muted);cursor:pointer;border:1px solid transparent;border-bottom:none;margin-bottom:-1px}
.am-subtab.is-active{color:var(--ink);background:var(--card);border-color:var(--border)}

/* ---------- bits ---------- */
.am-badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:var(--r-pill);background:var(--border-2);color:var(--muted)}
.am-badge.g{background:rgba(22,163,74,.12);color:#15803d}
.am-badge.b{background:rgba(37,99,235,.12);color:#1d4ed8}
.am-badge.a{background:rgba(224,161,6,.14);color:#a16207}
.am-badge.r{background:rgba(220,38,38,.12);color:#b91c1c}
.am-badge.v{background:rgba(124,58,237,.12);color:#6d28d9}
.am-kv2{display:grid;grid-template-columns:140px 1fr;gap:8px 14px;font-size:13.5px}
.am-kv2 dt{color:var(--muted)}.am-kv2 dd{margin:0;color:var(--ink);font-weight:600}
.am-meter{height:8px;border-radius:99px;background:var(--border-2);overflow:hidden}
.am-meter>i{display:block;height:100%;border-radius:99px;background:var(--primary)}

.am-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--ink);font-weight:700;cursor:pointer;transition:.12s;white-space:nowrap}
.am-btn:hover{border-color:#c9cbc0}
.am-btn.p{background:var(--lime);border-color:var(--lime);color:#15160f}.am-btn.p:hover{background:var(--lime-d);border-color:var(--lime-d)}
.am-btn.dark{background:var(--ink);border-color:var(--ink);color:#fff}
.am-btn.danger{background:#fff;border-color:#f3c0c0;color:var(--red)}.am-btn.danger:hover{background:#fef2f2}
.am-btn.sm{padding:5px 10px;font-size:12.5px;border-radius:8px}
.am-btn:disabled{opacity:.5;cursor:default}
.am-in{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--ink)}
.am-in:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.15)}
.am-row{display:flex;gap:10px;align-items:center}
.am-wrap{flex-wrap:wrap}
.am-grow{flex:1}
.am-muted{color:var(--muted)}.am-faint{color:var(--faint)}
.am-empty{text-align:center;color:var(--muted);padding:48px 20px}
.am-sec{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);font-weight:700;margin:18px 0 8px}

/* sparkline */
.am-spark{display:flex;align-items:flex-end;gap:3px;height:46px}
.am-spark>i{flex:1;background:var(--lime);border-radius:3px 3px 0 0;min-height:3px;opacity:.85}

/* ---------- modal ---------- */
.am-modal{position:fixed;inset:0;z-index:50;display:none}
.am-modal.is-open{display:block}
.am-modal-s{position:absolute;inset:0;background:rgba(15,22,9,.5);backdrop-filter:blur(2px)}
.am-modal-c{position:relative;max-width:520px;margin:8vh auto;background:var(--card);border-radius:18px;box-shadow:var(--sh-pop);overflow:hidden;max-height:84vh;display:flex;flex-direction:column}
.am-modal-h{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-2)}
.am-modal-h h3{flex:1;font-size:16px}.am-modal-h .am-x{cursor:pointer;color:var(--muted);font-size:20px;background:none;border:none}
.am-modal-b{padding:20px;overflow:auto}
.am-field{margin-bottom:14px}.am-field label{display:block;font-weight:600;font-size:13px;margin-bottom:5px}
.am-modal-f{display:flex;gap:10px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--border-2)}

/* toast */
.am-toasts{position:fixed;right:18px;bottom:18px;z-index:80;display:flex;flex-direction:column;gap:8px}
.am-toast{background:var(--ink);color:#fff;padding:11px 16px;border-radius:12px;box-shadow:var(--sh-pop);font-weight:600;max-width:340px;animation:amup .2s ease}
.am-toast.ok{background:#15803d}.am-toast.err{background:#b91c1c}
@keyframes amup{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}

/* gate */
.am-gate{display:grid;place-items:center;height:100vh;text-align:center;padding:20px}
.am-gate-c{max-width:380px}
.am-gate h2{font-size:24px;margin-bottom:8px}
.am-gate p{color:var(--muted);margin:0 0 18px}

/* ---------- responsive ---------- */
@media(max-width:820px){
  .am-shell{grid-template-columns:1fr}
  .am-rail{position:fixed;left:0;top:0;bottom:0;width:230px;transform:translateX(-100%);transition:.2s;z-index:40}
  .am-rail.is-open{transform:none}
  .am-mobtab{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:var(--card);cursor:pointer;font-size:18px}
  .am-content{padding:16px}
  .am-kv2{grid-template-columns:1fr}
}
