
:root{
  --red:#e30613; --dark:#0f172a; --muted:#64748b; --bg:#f3f7fb; --card:#ffffff;
  --line:#e2e8f0; --shadow:0 24px 60px rgba(15,23,42,.10);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:
radial-gradient(circle at top left,rgba(227,6,19,.08),transparent 32%),
linear-gradient(135deg,#fff 0%,#eef5ff 100%);color:var(--dark);min-height:100vh}
a{text-decoration:none;color:inherit}
.topnav{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.2px}
.brand-mark{width:38px;height:38px;border-radius:14px;background:linear-gradient(135deg,var(--red),#9b0008);color:#fff;display:grid;place-items:center;font-weight:950;box-shadow:0 12px 25px rgba(227,6,19,.25)}
.links{display:flex;gap:10px;align-items:center}
.links a{font-weight:800;color:#334155;padding:12px 15px;border-radius:14px}
.links a:hover{background:#fff;color:var(--red);box-shadow:0 8px 22px rgba(15,23,42,.08)}
.wrap{max-width:1180px;margin:0 auto;padding:38px 22px}
.hero,.pro-hero{border-radius:32px;padding:34px;background:
linear-gradient(135deg,#101827 0%,#1f2937 54%,#e30613 160%);color:#fff;box-shadow:var(--shadow);display:flex;justify-content:space-between;gap:20px;align-items:center;overflow:hidden;position:relative}
.hero:before{content:"";position:absolute;right:-80px;top:-80px;width:240px;height:240px;background:rgba(227,6,19,.35);filter:blur(10px);border-radius:50%}
.logo-badge{display:inline-flex;align-items:center;gap:10px;font-weight:900;color:#fff;margin-bottom:10px}
.logo-badge span{width:32px;height:32px;border-radius:12px;background:var(--red);display:grid;place-items:center;color:#fff}
.hero h1{font-size:42px;line-height:1.05;margin:0 0 10px}
.hero p{color:#dbeafe;margin:0;font-size:17px;max-width:640px}
.btn{border:0;border-radius:16px;padding:14px 20px;background:linear-gradient(135deg,var(--red),#ff3441);color:#fff;font-weight:900;box-shadow:0 14px 30px rgba(227,6,19,.24);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.btn.secondary{background:#fff;color:var(--dark);box-shadow:0 12px 25px rgba(15,23,42,.10)}
.btn.danger{background:#111827;color:#fff}
.smallbtn{padding:10px 14px;font-size:13px;border-radius:12px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:22px}
.stat-card{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:26px;padding:24px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.icon3d{font-size:34px;width:58px;height:58px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(145deg,#fff,#f1f5f9);box-shadow:inset 0 1px 0 #fff,0 14px 22px rgba(15,23,42,.12);margin-bottom:14px}
.stat{font-size:38px;font-weight:950;letter-spacing:-1px}
.muted{color:var(--muted)}
.small{font-size:13px}
.split{display:grid;grid-template-columns:1.5fr .9fr;gap:22px;margin-top:22px}
.card{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:28px;padding:26px;box-shadow:var(--shadow)}
.card h2{margin:0 0 10px;font-size:24px}
.card-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:14px}
.table-scroll{overflow:auto}
table{width:100%;border-collapse:separate;border-spacing:0 10px}
th{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#64748b;text-align:left;padding:6px 12px}
td{background:#f8fafc;padding:14px 12px;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}
td:first-child{border-left:1px solid #e2e8f0;border-radius:14px 0 0 14px}
td:last-child{border-right:1px solid #e2e8f0;border-radius:0 14px 14px 0}
.empty,.notice,.error{padding:16px;border-radius:18px;background:#f8fafc;border:1px solid var(--line);color:#475569}
.notice{background:#ecfdf5;color:#047857;border-color:#bbf7d0;margin:0 0 18px}
.error{background:#fef2f2;color:#b91c1c;border-color:#fecaca;margin:0 0 18px}
.page-head{margin-bottom:22px}
.page-head h1{font-size:42px;letter-spacing:-1.2px;margin:0 0 6px}
.form-grid{display:grid;gap:14px}
label{font-weight:900}
input,select,textarea{width:100%;margin-top:7px;padding:14px 16px;border:1px solid #dbe3ef;border-radius:16px;font-size:15px;background:#fff}
.site-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:22px}
.site-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:var(--shadow)}
.site-card.inactive{opacity:.68}
.site-top{display:flex;justify-content:space-between;gap:15px;align-items:center}
.site-top h2{margin:0;font-size:24px}
.pill{padding:8px 12px;border-radius:999px;background:#fee2e2;color:#b91c1c;font-weight:900;font-size:12px}
.nfc-url{margin:14px 0;padding:12px;border-radius:16px;background:#0f172a;color:#e2e8f0;font-family:ui-monospace,Consolas,monospace;font-size:12px;overflow:auto}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.mini-card{border:1px solid var(--line);border-radius:18px;padding:16px;background:#f8fafc}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}
.auth-left{padding:60px;background:linear-gradient(135deg,#111827,#0f172a 55%,#e30613 150%);color:white;display:flex;flex-direction:column;justify-content:center}
.auth-left h1{font-size:58px;line-height:1;margin:16px 0}.auth-left p{font-size:18px;color:#dbeafe}.features{display:grid;gap:12px;margin-top:25px}.features div{padding:14px 16px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.08)}
.auth-right{display:flex;align-items:center;justify-content:center;padding:40px}
.auth-card{width:min(620px,100%);background:white;border:1px solid var(--line);border-radius:32px;padding:34px;box-shadow:var(--shadow)}
.auth-card h1{font-size:42px;margin:0 0 8px}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-left{padding:34px}.auth-left h1{font-size:38px}.auth-right{padding:18px}.auth-card{padding:24px}.grid{grid-template-columns:repeat(2,1fr)}.split,.site-grid{grid-template-columns:1fr}}
@media(max-width:800px){.topnav{height:auto;align-items:flex-start;gap:12px;flex-direction:column;padding:16px}.links{flex-wrap:wrap}.links a{padding:10px 11px;font-size:13px}.wrap{padding:22px 14px}.hero{display:block;padding:26px}.hero h1,.page-head h1{font-size:32px}}
