*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#09090b;--surface:#18181b;--border:#27272a;--text:#f4f4f5;--text-muted:#71717a;--accent:#ef4444;--accent-hover:#dc2626;--danger:#e85555;--success:#22c55e}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.5}body:before{content:"";z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Ccircle cx='1' cy='1' r='1' fill='rgba(255%2C255%2C255%2C0.12)'/%3E%3C/svg%3E");background-size:28px 28px;position:fixed;inset:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1100px;margin:0 auto;padding:0 24px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}.btn{cursor:pointer;color:var(--text);border:none;border-radius:6px;justify-content:center;align-items:center;padding:10px 20px;font-size:14px;font-weight:500;transition:background .15s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:6px;padding:10px 14px;font-size:14px}.input:focus{border-color:var(--accent);outline:none}.label{color:var(--text-muted);margin-bottom:6px;font-size:13px;display:block}.form-group{margin-bottom:16px}.error{color:var(--danger);margin-top:4px;font-size:13px}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.05}}.rec-dot{animation:2.6s ease-in-out infinite rec-pulse}.nav-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;align-items:center;gap:8px;padding:4px 0;display:flex;overflow-x:auto}.nav-scroll::-webkit-scrollbar{display:none}.grid-2col{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grid-3col{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.grid-4col{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.grid-5col{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (max-width:640px){.card{padding:16px}.grid-4col{grid-template-columns:repeat(2,1fr)}.grid-5col{grid-template-columns:repeat(2,1fr);gap:10px}.grid-3col{grid-template-columns:1fr}}
