:root{--bg-deep: #07161d;--bg: #0c2430;--bg-panel: #123041;--bg-elevated: #183a4d;--line: rgba(140, 196, 214, .18);--text: #e8f4f8;--muted: #8fb3c2;--accent: #3ecfba;--accent-2: #f0b429;--danger: #ef6b6b;--ok: #4ade80;--shadow: 0 24px 60px rgba(0, 0, 0, .35);--radius: 14px;--font: "Sora", sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font);color:var(--text);background:radial-gradient(1200px 600px at 10% -10%,rgba(62,207,186,.16),transparent 55%),radial-gradient(900px 500px at 90% 0%,rgba(240,180,41,.1),transparent 50%),linear-gradient(180deg,var(--bg-deep),var(--bg) 40%,#0a1e28);background-attachment:fixed}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--accent)}.app-shell{max-width:1200px;margin:0 auto;padding:28px 20px 64px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.brand{display:flex;flex-direction:column;gap:4px}.brand h1{margin:0;font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.03em}.brand p{margin:0;color:var(--muted);font-size:.95rem}.top-actions{display:flex;gap:10px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:var(--bg-elevated);color:var(--text);border-radius:999px;padding:.65rem 1.1rem;transition:transform .15s ease,background .15s ease,border-color .15s ease}.btn:hover{transform:translateY(-1px);border-color:#3ecfba73}.btn.primary{background:linear-gradient(135deg,#2bb9a6,#3ecfba);color:#062019;border-color:transparent;font-weight:600}.btn.danger{background:#ef6b6b1f;border-color:#ef6b6b59;color:#ffb4b4}.btn.ghost{background:transparent}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}.stat{background:color-mix(in srgb,var(--bg-panel) 88%,transparent);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.stat .label{color:var(--muted);font-size:.8rem}.stat .value{margin-top:6px;font-size:1.55rem;font-weight:650;letter-spacing:-.03em}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.toolbar input,.toolbar select,.field input,.field select,.field textarea{width:100%;background:var(--bg-deep);border:1px solid var(--line);color:var(--text);border-radius:12px;padding:.75rem .9rem;outline:none}.toolbar input,.toolbar select{width:auto;min-width:180px}.toolbar input:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:#3ecfba8c;box-shadow:0 0 0 3px #3ecfba1f}.list{display:grid;gap:10px}.row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb,var(--bg-panel) 90%,transparent);transition:border-color .15s ease,transform .15s ease}.row:hover{border-color:#3ecfba59;transform:translateY(-1px)}.row-main{display:flex;flex-direction:column;gap:6px;min-width:0}.row-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row-title strong{font-size:1.05rem}.badge{font-size:.72rem;font-family:var(--mono);border:1px solid var(--line);border-radius:999px;padding:.2rem .55rem;color:var(--muted)}.badge.on{color:#9ef0c4;border-color:#4ade8059;background:#4ade8014}.badge.off{color:#ffb4b4;border-color:#ef6b6b59;background:#ef6b6b14}.row-desc{color:var(--muted);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-meta{font-family:var(--mono);font-size:.78rem;color:var(--muted)}.row-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);background:color-mix(in srgb,var(--bg-panel) 92%,transparent);border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow);animation:rise .45s ease both}.login-card h1{margin:0 0 8px;font-size:1.8rem;letter-spacing:-.03em}.login-card p{margin:0 0 22px;color:var(--muted)}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.field label{font-size:.85rem;color:var(--muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#030c10b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px;z-index:40;animation:fade .2s ease both}.modal{width:min(760px,100%);max-height:min(90vh,920px);overflow:auto;background:var(--bg-panel);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow);animation:rise .28s ease both}.modal h2{margin:0 0 16px;letter-spacing:-.02em}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.error,.toast{border-radius:12px;padding:10px 12px;margin-bottom:12px;font-size:.9rem}.error{background:#ef6b6b1f;border:1px solid rgba(239,107,107,.35);color:#ffc2c2}.toast{background:#3ecfba1f;border:1px solid rgba(62,207,186,.35);color:#baf5eb}.empty{text-align:center;padding:48px 20px;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius)}.public-url{font-family:var(--mono);font-size:.82rem;color:var(--accent-2);word-break:break-all}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@media(max-width:820px){.stats{grid-template-columns:1fr 1fr}.row{grid-template-columns:1fr}.row-actions{justify-content:flex-start}.grid-2{grid-template-columns:1fr}}
