:root{color-scheme:light;--bg:#f4efe8;--card:#fffdf9;--line:#dfd4c7;--text:#201b17;--muted:#73685e;--accent:#1d5fd1;--accent-strong:#174ca7;--danger:#b63f33;--success:#287748}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background:radial-gradient(circle at top,rgba(255,255,255,.7),transparent 45%),linear-gradient(180deg,#f7f2eb 0,var(--bg) 100%);color:var(--text);font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}a{color:var(--accent);text-decoration:none}button,input{font:inherit}.shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px}.card{width:min(100%,560px);background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:0 24px 64px rgba(40,28,15,.08);padding:28px}.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.title{margin:10px 0 8px;font-size:32px;line-height:1.1}.subtitle{margin:0;color:var(--muted);line-height:1.6}.stack{display:grid;grid-gap:14px;gap:14px;margin-top:22px}.label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.button,.input,.textarea{width:100%;border-radius:14px;border:1px solid var(--line);padding:12px 14px;background:#fff}.input:focus,.textarea:focus{outline:2px solid rgba(29,95,209,.18);border-color:var(--accent)}.button{background:var(--accent);border-color:var(--accent);color:white;font-weight:600;cursor:pointer}.button:hover{background:var(--accent-strong)}.button-secondary{background:transparent;color:var(--text)}.hint,.message{font-size:14px;line-height:1.5}.hint{color:var(--muted)}.message{border-radius:14px;padding:12px 14px;background:#f8f2eb;border:1px solid var(--line)}.message-error{color:var(--danger);border-color:rgba(182,63,51,.2);background:rgba(182,63,51,.08)}.message-success{color:var(--success);border-color:rgba(40,119,72,.24);background:rgba(40,119,72,.08)}.row{display:flex;gap:12px;flex-wrap:wrap}.row>*{flex:1 1 180px}.footer-links{margin-top:20px;display:flex;justify-content:space-between;gap:12px;font-size:14px}.code-block{margin-top:16px;border-radius:14px;background:#1d1814;color:#f4e7d8;padding:14px;font-family:Consolas,monospace;font-size:13px;overflow-x:auto}.admin-shell{min-height:100vh;width:min(1180px,calc(100% - 32px));margin:0 auto;padding:32px 0}.admin-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:24px}.toolbar-actions{display:flex;gap:10px;flex-wrap:wrap}.button-inline{width:auto;min-width:104px}.admin-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);grid-gap:18px;gap:18px;margin-bottom:18px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-panel,.stat-card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 48px rgba(40,28,15,.06)}.stat-card{padding:18px}.mini-row span,.stat-card span,td span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.stat-card strong{display:block;margin-top:8px;font-size:28px}.admin-panel{padding:18px;overflow:hidden}.admin-panel h2,.admin-panel h3{margin:0 0 14px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}td,th{text-align:left;border-bottom:1px solid var(--line);padding:11px 10px;vertical-align:top}th{color:var(--muted);font-size:12px;font-weight:600}.inline-form{display:flex;gap:8px}.inline-form button,.inline-form input{border:1px solid var(--line);border-radius:10px;padding:8px 10px}.inline-form input{width:130px}.inline-form button{background:var(--accent);color:white;cursor:pointer}.compact-form{gap:10px}.mini-list{display:grid;grid-gap:8px;gap:8px;margin-top:14px}.mini-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff}.danger-button{border:1px solid rgba(182,63,51,.22);border-radius:10px;padding:8px 12px;background:rgba(182,63,51,.08);color:var(--danger);cursor:pointer}.danger-button:hover{background:rgba(182,63,51,.14)}.empty-cell{color:var(--muted);text-align:center}.usage-stats{margin-bottom:18px}@media (max-width:900px){.admin-grid,.admin-header,.stats-grid{grid-template-columns:1fr}.admin-header{display:grid}}