:root{--bg: #eff3f2;--surface: #ffffff;--border: #dce4e3;--text: #1b2a32;--ink: #1b2a32;--muted: #7a8a91;--primary: #0f7b8a;--primary-light: #6fc7d1;--primary-bg: #e2f1f3;--ok: #27865a;--ok-bg: #e4f2ea;--danger: #cc4433;--danger-bg: #f9e8e5;--warning: #c98a15;--warning-bg: #f8efdb;--font-sans: "Barlow", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Barlow Semi Condensed", "Barlow", system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--text)}a{color:var(--primary)}h1,h2,h3{font-family:var(--font-display);letter-spacing:.2px}.topbar{position:relative;display:flex;align-items:center;gap:24px;padding:12px 24px;background:var(--ink);border-bottom:1px solid var(--ink)}.topbar .brand-logo{height:40px;width:auto;display:block}.topbar-brand{display:flex;flex-shrink:0}.topbar-menu{display:flex;align-items:center;gap:16px;flex:1}.topbar-menu-right{display:flex;align-items:center;gap:14px;margin-left:auto}.navlink{color:#ffffffb8;text-decoration:none;font-weight:600;font-size:14px;padding:4px 0;border-bottom:2px solid transparent}.navlink:hover{color:#fff}.navlink.active{color:#fff;border-bottom:2px solid var(--primary-light)}.topbar button{background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.22)}.topbar button:hover{background:#fff3}.topbar-toggle{display:none;background:transparent;border:0;cursor:pointer;padding:8px;margin-left:auto}.topbar-toggle:hover{background:transparent}.burger{display:block;width:24px;height:18px;position:relative}.burger i{position:absolute;left:0;width:100%;height:2px;background:#fff;border-radius:2px;transition:transform .25s,opacity .2s,top .25s}.burger i:nth-child(1){top:0}.burger i:nth-child(2){top:8px}.burger i:nth-child(3){top:16px}.burger.open i:nth-child(1){top:8px;transform:rotate(45deg)}.burger.open i:nth-child(2){opacity:0}.burger.open i:nth-child(3){top:8px;transform:rotate(-45deg)}@media(max-width:820px){.topbar-toggle{display:block}.topbar-menu{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;flex:none;background:var(--ink);border-top:1px solid rgba(255,255,255,.08);box-shadow:0 16px 32px #00000047;padding:6px 0 12px;display:none;z-index:60}.topbar-menu.open{display:flex}.topbar-menu>.navlink{padding:14px 24px}.topbar-menu-right{flex-direction:column;align-items:stretch;gap:0;margin-left:0;border-top:1px solid rgba(255,255,255,.08);margin-top:6px;padding-top:6px}.topbar-menu-right .navlink{padding:14px 24px}.topbar-menu-right button{margin:10px 24px 0}}.container{max-width:1100px;margin:0 auto;padding:24px}.subs-banner{padding:10px 24px;font-size:14px;font-weight:600;text-align:center}.subs-banner.trial{background:var(--warning-bg);color:var(--warning)}.subs-banner.blocked{background:var(--danger-bg);color:var(--danger)}.subs-banner a{color:inherit;font-weight:700}.admin-grid{display:grid;gap:10px}.inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}.inline-form .field-sm{display:flex;flex-direction:column}.inline-form input,.inline-form select{min-width:120px}.list-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.list-row:last-child{border-bottom:0}.linkbtn{border:0;background:none;color:var(--danger);cursor:pointer;font-size:13px}.code-pill{font-family:ui-monospace,monospace;font-size:20px;font-weight:700;letter-spacing:2px;color:var(--primary);background:var(--primary-bg);padding:8px 14px;border-radius:8px;display:inline-block}.config-layout{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}@media(max-width:900px){.config-layout{grid-template-columns:1fr}}.helper{position:sticky;top:16px}.helper .card{max-height:calc(100vh - 40px);overflow-y:auto}.helper-group{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;margin:12px 0 4px}.helper-item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border)}.helper-item:last-child{border-bottom:0}.helper-item .hi-name{font-size:13px}.helper-item .hi-range{color:var(--muted);font-size:12px}.badge.amb{background:#fef3c7;color:#b45309}.thumb{width:40px;height:40px;object-fit:cover;border-radius:6px;border:1px solid var(--border);display:block}.report .thumb{width:54px;height:54px}.card:has(>table){overflow-x:auto;-webkit-overflow-scrolling:touch}.card>table{min-width:480px}@media(max-width:600px){.row{gap:8px}.container{padding:16px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px}.row{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}.stat{flex:1;min-width:160px}.stat .value{font-family:var(--font-display);font-size:36px;font-weight:700;color:var(--ink)}.stat .label{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}label{font-size:13px;color:var(--muted);display:block;margin-bottom:4px}input,button,select{font:inherit;padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text)}button.primary{background:var(--primary);color:#fff;border:none;cursor:pointer;font-weight:700}button{cursor:pointer}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:600}.badge{padding:2px 8px;border-radius:6px;font-weight:700;font-size:12px}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.bad{background:var(--danger-bg);color:var(--danger)}.section-title{font-family:var(--font-display);font-size:17px;font-weight:700;margin:24px 0 8px;color:var(--ink)}.login-wrap{min-height:100vh;display:grid;place-items:center}.login-card{width:320px}.login-card input{width:100%;margin-bottom:12px}.error{color:var(--danger);font-size:14px}.report{background:#fff;color:#000}.report h2{margin:0}.report .meta{color:#333;font-size:13px;margin:4px 0 16px}.report table{font-size:12px}.report th,.report td{border:1px solid #999;padding:4px 6px}.report .day-title{font-size:14px;font-weight:800;margin:18px 0 6px}@media print{.no-print{display:none!important}body{background:#fff}.container{max-width:none;padding:0}.report{padding:0}}
