:root{
  --bg:#0b0f0d;
  --bg2:#0f1511;
  --panel:rgba(255,255,255,.06);
  --panel2:rgba(255,255,255,.04);
  --text:rgba(255,255,255,.92);
  --muted:rgba(255,255,255,.70);
  --line:rgba(255,255,255,.14);
  --olive:#6b7f3b;
  --olive2:#98a85a;
  --oliveGlow: rgba(152,168,90,.18);
  --shadow: 0 18px 60px rgba(0,0,0,.50);
  --radius: 18px;
  --sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--text);
  background:
    radial-gradient(1200px 800px at 12% 10%, var(--oliveGlow), transparent 48%),
    radial-gradient(900px 700px at 92% 18%, rgba(107,127,59,.12), transparent 55%),
    radial-gradient(900px 700px at 50% 92%, rgba(152,168,90,.08), transparent 50%),
    linear-gradient(180deg, var(--bg), var(--bg2));
  line-height:1.55;
  min-height:100vh;
}
a{color:inherit}
img{max-width:100%}
.container{width:min(1120px,100%);margin:0 auto;padding:0 18px}
.grid{display:grid;gap:18px}
.two{grid-template-columns:1.1fr .9fr}
@media (max-width:980px){.two{grid-template-columns:1fr}}
.topbar{position:sticky;top:0;z-index:30;backdrop-filter:blur(14px);background:rgba(11,15,13,.62);border-bottom:1px solid rgba(255,255,255,.10)}
.row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;padding:8px 10px;border:1px solid rgba(255,255,255,.10);border-radius:999px;background:rgba(255,255,255,.03);min-width:240px}
.brand img{width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);object-fit:contain;padding:6px}
.brand strong{font-weight:900;letter-spacing:.2px}.brand small{display:block;color:var(--muted);margin-top:1px;font-size:12px}
nav{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
nav a{text-decoration:none;color:var(--muted);font-weight:900;font-size:13px;padding:10px 10px;border-radius:12px;border:1px solid transparent}
nav a:hover{color:var(--text);border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.03)}
.menuBtn{display:none;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);font-weight:900;cursor:pointer;color:var(--text)}
.mobileNav{display:none;padding:0 0 12px}.mobileNav a{display:block;padding:12px;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(255,255,255,.03);text-decoration:none;color:var(--muted);font-weight:900}.mobileNav.open{display:grid;gap:10px}
@media (max-width:980px){nav{display:none}.menuBtn{display:inline-flex}.brand{min-width:unset}}
section{padding:56px 0}.hero{padding:54px 0 30px}
.card{border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));box-shadow:var(--shadow);overflow:hidden}
.inner{padding:22px}
h1{font-size:clamp(30px,4vw,46px);line-height:1.08;margin:10px 0}
h2{margin:0 0 14px;font-size:clamp(22px,2vw,28px)}
p{color:var(--muted);margin:0 0 14px}
.chip,.pill{display:inline-flex;gap:8px;align-items:center;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);padding:6px 10px;border-radius:999px;color:rgba(255,255,255,.78);font-weight:900;font-size:12px;width:fit-content}
.pillRow{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0}.pill{font-size:13px;padding:8px 10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);text-decoration:none;font-weight:900;transition:transform .12s ease, background .12s ease, border-color .12s ease;cursor:pointer;color:var(--text)}
.btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.25)}
.btn.primary{border-color:rgba(152,168,90,.55);background:linear-gradient(135deg, rgba(152,168,90,.18), rgba(107,127,59,.10))}
.btn.tiny{padding:8px 10px;border-radius:10px;font-size:12px}.btn.danger{border-color:rgba(255,100,100,.35)}
.alert{padding:12px 14px;border-radius:14px;margin-bottom:14px;border:1px solid rgba(255,255,255,.12);font-weight:700}.alert.success{background:rgba(152,168,90,.12);border-color:rgba(152,168,90,.34)}.alert.error{background:rgba(255,87,87,.08);border-color:rgba(255,87,87,.28)}
.formGrid{display:grid;gap:14px}.formGrid.compact{gap:12px}
label span{display:block;font-weight:900;font-size:13px;margin:0 0 7px}
input,select{width:100%;padding:14px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:var(--text);outline:none}
input::placeholder{color:rgba(255,255,255,.42)}
.resultBox{margin-top:18px;padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.03)}
.shortRow{display:grid;grid-template-columns:1fr auto;gap:10px}.shortRow input{padding:12px}.qrWrap{display:flex;justify-content:center;margin-top:16px}.qrWrap img{width:220px;border-radius:16px;background:#fff;padding:10px}
.featureList{display:grid;gap:12px}.featureList article{padding:14px;border:1px solid rgba(255,255,255,.10);border-radius:16px;background:rgba(255,255,255,.03)}.featureList p{margin:6px 0 0}
.miniStats{display:grid;gap:12px}.miniStats div{padding:14px;border:1px solid rgba(255,255,255,.10);border-radius:16px;background:rgba(255,255,255,.03)}.miniStats strong{display:block;font-size:18px}.miniStats span{color:var(--muted);font-size:14px}
.footer{padding:28px 0;border-top:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.10)}.footerRow{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.footerNav{display:flex;flex-wrap:wrap;gap:12px}.footerNav a{text-decoration:none;color:var(--muted);font-weight:800}
.centerPage{min-height:100vh;display:grid;place-items:center;padding:22px}.authCard{width:min(520px,100%)}.authBrand{display:flex;align-items:center;gap:10px;margin-bottom:18px}.authBrand img{width:42px;height:42px;object-fit:contain;padding:6px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.04)}
.statsGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat strong{display:block;font-size:32px;line-height:1}.stat span{display:block;color:var(--muted);margin-top:8px}
@media (max-width:980px){.statsGrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.statsGrid{grid-template-columns:1fr}.footerRow,.shortRow{grid-template-columns:1fr;display:grid}.shortRow .btn{width:100%}}
.tableHeader{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.tableHeader span{color:var(--muted);font-weight:700}
.tableWrap{overflow:auto;border:1px solid rgba(255,255,255,.10);border-radius:16px}table{width:100%;border-collapse:collapse;min-width:980px}th,td{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08);vertical-align:top;text-align:left}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:rgba(255,255,255,.68);background:rgba(255,255,255,.03)}td small{color:var(--muted)}.urlCell{max-width:300px;word-break:break-word}
.badge{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:900;border:1px solid rgba(255,255,255,.12)}.badge.on{background:rgba(152,168,90,.12);border-color:rgba(152,168,90,.34)}.badge.warn{background:rgba(255,165,0,.09);border-color:rgba(255,165,0,.26)}.badge.off{background:rgba(255,255,255,.05)}
.inlineEdit{display:grid;gap:10px;padding:12px 0;min-width:260px}summary{list-style:none}summary::-webkit-details-marker{display:none}
.limited{max-width:560px}
.adminCreate{grid-template-columns:2fr 1fr 1fr auto;align-items:end}
@media (max-width:980px){.adminCreate{grid-template-columns:1fr}}
