:root{--bg:#f5f6f8;--card:#fff;--border:#e2e5ea;--text:#1c2330;--muted:#6b7280;--primary:#2f6fed;--primary-hover:#2657c4;--danger:#d23b3b;--success:#1f9d57;--radius:10px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:900px;margin:0 auto;padding:1.5rem 1rem}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.row{display:flex;gap:.75rem;align-items:center}.spread{justify-content:space-between}.col{display:flex;flex-direction:column;gap:.75rem}label{font-size:.85rem;font-weight:600;color:var(--muted)}input,select,textarea{width:100%;padding:.6rem .7rem;border:1px solid var(--border);border-radius:8px;font:inherit;background:#fff;color:var(--text)}textarea{resize:vertical;min-height:120px}button{font:inherit;font-weight:600;padding:.6rem 1rem;border:1px solid transparent;border-radius:8px;background:var(--primary);color:#fff;cursor:pointer}button:hover{background:var(--primary-hover)}button:disabled{opacity:.6;cursor:not-allowed}button.secondary{background:#fff;color:var(--text);border-color:var(--border)}button.secondary:hover{background:#f0f2f5}button.danger{background:var(--danger)}button.small{padding:.35rem .6rem;font-size:.85rem}.nav{background:var(--card);border-bottom:1px solid var(--border)}.nav-inner{max-width:900px;margin:0 auto;padding:.75rem 1rem;display:flex;align-items:center;gap:1rem}.brand{font-weight:800;font-size:1.1rem}.grow{flex:1 1}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700}.badge.pending{background:#fff3d6;color:#92651a}.badge.approved{background:#def7e8;color:var(--success)}.badge.blocked{background:#fde0e0;color:var(--danger)}.badge.admin{background:#e5edff;color:var(--primary)}.muted{color:var(--muted)}.error,.muted{font-size:.9rem}.error{color:var(--danger)}.ok{color:var(--success);font-size:.9rem}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:.5rem;border-bottom:1px solid var(--border);font-size:.9rem}th{color:var(--muted);font-weight:600}.chat-output{white-space:pre-wrap;background:#fafbfc;border:1px solid var(--border);border-radius:8px;padding:1rem;min-height:160px}