:root{--bg: #0f1115;--bg-2: #161922;--panel: #1c2030;--border: #2a2f43;--fg: #e8eaf3;--fg-dim: #9aa0b4;--accent: #6c8cff;--accent-2: #8e6cff;--danger: #ff5a78;--ok: #45d39a;--warn: #ffc35a;--radius: 10px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit}.admin-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.admin-sidebar{background:var(--bg-2);border-right:1px solid var(--border);padding:20px 16px;display:flex;flex-direction:column;gap:24px}.admin-brand{font-weight:800;letter-spacing:.04em;color:var(--fg);font-size:14px}.admin-nav{display:flex;flex-direction:column;gap:4px}.admin-nav a{display:block;padding:8px 12px;border-radius:8px;color:var(--fg-dim)}.admin-nav a:hover{background:#ffffff0d;color:var(--fg);text-decoration:none}.admin-nav a[aria-current=page]{background:#6c8cff26;color:var(--fg)}.admin-user{margin-top:auto;padding:12px;background:var(--panel);border-radius:8px;font-size:12px;color:var(--fg-dim)}.admin-user .email{color:var(--fg);display:block;word-break:break-all}.admin-user button{margin-top:8px;width:100%;padding:6px 10px;background:#ff5a781a;border:1px solid rgba(255,90,120,.35);color:var(--danger);border-radius:6px;cursor:pointer}.admin-main{padding:28px 32px;max-width:1200px}.admin-main h1{font-size:22px;margin:0 0 4px}.admin-main .lead{color:var(--fg-dim);margin:0 0 24px}.placeholder-card{background:var(--panel);border:1px dashed var(--border);padding:24px;border-radius:var(--radius);color:var(--fg-dim)}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:32px;width:100%;max-width:400px}.login-card h1{margin:0 0 8px;font-size:18px}.login-card .lead{color:var(--fg-dim);margin:0 0 24px;font-size:13px}.field{margin-bottom:16px}.field label{display:block;font-size:12px;color:var(--fg);margin-bottom:6px;font-weight:600}.field input{width:100%;padding:10px 12px;background:var(--bg-2);border:1px solid var(--border);border-radius:8px;color:var(--fg);font:inherit}.field input:focus{outline:none;border-color:var(--accent);background:#6c8cff0d}.btn-primary{width:100%;padding:11px 14px;background:linear-gradient(90deg,var(--accent),var(--accent-2));border:0;color:#fff;font-weight:700;border-radius:8px;cursor:pointer;font-size:14px}.btn-primary:disabled{opacity:.6;cursor:progress}.error-message{margin-top:14px;padding:10px 12px;background:#ff5a781a;border:1px solid rgba(255,90,120,.35);color:var(--danger);border-radius:8px;font-size:13px}.error-message:empty{display:none}.form-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:24px;max-width:720px}.form-row{margin-bottom:16px}.form-row label{display:block;font-size:12px;color:var(--fg);margin-bottom:6px;font-weight:600}.form-row input[type=text],.form-row input[type=url],.form-row input[type=number],.form-row select,.form-row textarea{width:100%;padding:9px 12px;background:var(--bg-2);border:1px solid var(--border);border-radius:8px;color:var(--fg);font:inherit;font-size:13px}.form-row textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5;resize:vertical;min-height:110px}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--accent)}.form-row .hint{display:block;margin-top:4px;font-size:11px;color:var(--fg-dim)}.form-actions{display:flex;gap:10px;margin-top:24px}.btn{padding:9px 18px;border-radius:8px;border:0;cursor:pointer;font-weight:700;font-size:13px}.btn-submit{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#fff}.btn-cancel{background:#ffffff0d;color:var(--fg);border:1px solid var(--border);text-decoration:none;display:inline-block}.btn-cancel:hover{text-decoration:none}.section-block{margin:24px 0 10px}.section-block h2{font-size:14px;color:var(--fg);margin:0 0 4px;letter-spacing:.02em}.section-block p{color:var(--fg-dim);font-size:12px;margin:0 0 12px}
