:root{--bg:#0f1115;--surface:#181b22;--surface-2:#20242d;--border:#2a2f3a;--text:#e6e9ef;--muted:#9aa3b2;--accent:#4ade80;--accent-strong:#22c55e;--danger:#f87171;--warning:#fbbf24}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}.container{max-width:760px;margin:0 auto;padding:48px 24px}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:28px;margin-bottom:20px}h1{font-size:1.5rem;margin:0 0 8px}h2{font-size:1.05rem;margin:0 0 14px;color:var(--text)}p.muted{font-size:.92rem;line-height:1.5}label,p.muted{color:var(--muted)}label{display:block;font-size:.85rem;margin-bottom:6px}input[type=email],input[type=file],input[type=password],input[type=text]{width:100%;padding:11px 13px;background:var(--surface-2);border:1px solid var(--border);border-radius:9px;color:var(--text);font-size:.95rem;outline:none;transition:border-color .15s,box-shadow .15s}input::placeholder{color:var(--muted);opacity:.7}input[type=email]:focus,input[type=password]:focus,input[type=text]:focus{border-color:var(--accent-strong);box-shadow:0 0 0 3px rgba(34,197,94,.15)}button{background:var(--accent-strong);color:#06240f;border:none;border-radius:9px;padding:11px 18px;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .15s}button:hover{opacity:.9}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:600}.badge.ok{background:rgba(34,197,94,.15);color:var(--accent)}.badge.err{background:hsla(0,91%,71%,.15);color:var(--danger)}.badge.warn{background:rgba(251,191,36,.15);color:var(--warning)}.row{display:flex;gap:12px;align-items:center}.stat{background:var(--surface-2);border-radius:10px;padding:14px 16px;flex:1 1}.stat .n{font-size:1.6rem;font-weight:700}.stat .l{font-size:.78rem}.list,.stat .l{color:var(--muted)}.list{font-size:.85rem;margin:8px 0 0;padding-left:18px}