:root{--bg:#050a05;--panel:#0a110a;--panel-2:#0e170e;--border:#1d3a1d;--text:#3dff74;--muted:#2f9d57;--accent:#39ff14;--accent-hover:#7bff5c;--green:#39ff14;--amber:#ffc234;--red:#ff5b5b;--radius:4px;--glow:0 0 6px rgba(57,255,20,0.45);--font:"SF Mono","JetBrains Mono","Fira Code",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;text-shadow:0 0 1px rgba(57,255,20,.25)}body:after{z-index:9999;background:repeating-linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,0) 2px,rgba(0,20,0,.18) 3px,rgba(0,0,0,0) 4px);opacity:.6}body:after,body:before{content:"";position:fixed;inset:0;pointer-events:none}body:before{z-index:9998;background:radial-gradient(ellipse at center,rgba(0,0,0,0) 60%,rgba(0,0,0,.45) 100%)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-shadow:var(--glow)}.container{max-width:1100px;margin:0 auto;padding:32px 24px 80px}header.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}header.topbar h1{font-size:20px;font-weight:700;margin:0;letter-spacing:.04em;text-transform:uppercase;text-shadow:var(--glow)}header.topbar .sub{color:var(--muted);font-size:13px;margin-top:4px;letter-spacing:.02em}.btn{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:#04140a;border:1px solid var(--accent);border-radius:var(--radius);padding:9px 16px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;text-transform:uppercase;letter-spacing:.04em;transition:background .12s ease,box-shadow .12s ease}.btn:hover{background:var(--accent-hover);box-shadow:0 0 10px rgba(57,255,20,.5)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{background:transparent;border:1px solid var(--border);color:var(--text);text-shadow:var(--glow)}.btn.ghost:hover{background:rgba(57,255,20,.08);border-color:var(--accent);box-shadow:none}.btn.small{padding:5px 10px;font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-bottom:28px}.stat{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.stat .label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.stat .value{font-size:26px;font-weight:700;margin-top:8px;letter-spacing:.02em;text-shadow:var(--glow)}.stat.s-total{order:1}.stat.s-paid{order:2}.stat.s-rev{order:3}.stat.s-wd{order:4}.icon-btn{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:2px;display:inline-flex;align-items:center}.icon-btn:hover{color:var(--accent);filter:drop-shadow(0 0 4px rgba(57,255,20,.6))}.modal-overlay{position:fixed;inset:0;z-index:10001;background:rgba(0,8,0,.7);display:flex;align-items:center;justify-content:center;padding:24px}.modal{width:100%;max-width:460px;background:var(--panel);border:1px solid var(--accent);border-radius:var(--radius);box-shadow:0 0 24px rgba(57,255,20,.2);overflow:hidden}.grid-2{display:grid;grid-template-columns:360px 1fr;grid-gap:24px;gap:24px;align-items:start}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.card .card-head,.modal .card-head{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.card .card-head h2,.modal .card-head h2{margin:0;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;text-shadow:var(--glow)}.card .card-body,.modal .card-body{padding:20px}label.field{display:block;margin-bottom:16px}label.field span{display:block;font-size:13px;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}input[type=number],input[type=password],input[type=text],select{width:100%;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);caret-color:var(--accent);padding:10px 12px;font-size:14px;font-family:inherit;outline:none}input::placeholder{color:rgba(47,157,87,.6)}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 8px rgba(57,255,20,.3)}.checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-bottom:16px}.checkbox input{width:auto;accent-color:var(--accent)}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:460px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:10px 16px}td,th{border-bottom:1px solid var(--border)}td{padding:12px 16px;vertical-align:middle}tr:last-child td{border-bottom:none}.badge{display:inline-block;font-size:11px;font-weight:700;padding:3px 9px;border-radius:var(--radius);letter-spacing:.05em;text-transform:uppercase;border:1px solid}.badge.paid{color:var(--green);background:rgba(57,255,20,.1);text-shadow:var(--glow)}.badge.unpaid{color:var(--amber);background:rgba(255,194,52,.1)}.badge.active{color:var(--accent-hover);background:rgba(57,255,20,.1)}.badge.inactive{color:var(--muted);background:rgba(47,157,87,.08)}.mono{font-family:var(--font);font-size:12px}.empty,.muted{color:var(--muted)}.empty{padding:40px;text-align:center;font-size:14px;letter-spacing:.02em}.row-actions{display:flex;gap:8px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--panel-2);border:1px solid var(--accent);color:var(--text);padding:12px 20px;border-radius:var(--radius);font-size:14px;letter-spacing:.02em;text-shadow:var(--glow);box-shadow:0 0 16px rgba(57,255,20,.25);z-index:10000}.toast.err{border-color:var(--red);color:var(--red);text-shadow:none;box-shadow:0 0 16px rgba(255,91,91,.25)}.copy-link{cursor:pointer}.copy-link:hover{text-shadow:var(--glow)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:360px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:32px}.login-card h1{font-size:18px;margin:0 0 4px;text-transform:uppercase;letter-spacing:.06em;text-shadow:var(--glow)}.login-card p{color:var(--muted);font-size:13px;margin:0 0 24px}.login-card .err{color:var(--red);font-size:13px;margin-top:12px}@media (max-width:820px){.stats{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.stat.s-rev{order:2}.stat.s-paid{order:3}}