:root{--blue-med:#2563eb;--bg:#f3f6fb;--panel:#fff;--text:#1a2e44;--muted:#526479;--border:#d9e2ee;--button-text:#fff;--soft:#eaf2ff;--danger:#b91c1c}
body.dark-theme{--blue-med:#60a5fa;--bg:#0b1220;--panel:#111a2e;--text:#f8fafc;--muted:#a9b8ce;--border:rgba(255,255,255,.1);--button-text:#0b1220;--soft:#192d4b;--danger:#fca5a5}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,sans-serif}header,main{max-width:1200px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;align-items:center;gap:16px}h1{font-size:1.65rem;margin:8px 0}h2{font-size:1.25rem}h3{font-size:1.1rem}a{color:var(--blue-med)}button,input,select,textarea{font:inherit}button{border:1px solid var(--blue-med);border-radius:9px;padding:10px 16px;background:var(--blue-med);color:var(--button-text);cursor:pointer}button:disabled{opacity:.6;cursor:wait}.secondary{background:var(--panel);color:var(--text);border-color:var(--border)}input,select,textarea{display:block;width:100%;padding:10px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text)}label{display:block;margin:8px 0;flex:1;min-width:180px}textarea{resize:vertical}.panel{background:var(--panel);padding:22px;border:1px solid var(--border);border-radius:14px;margin-bottom:20px}.row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:13px 10px;border-bottom:1px solid var(--border);vertical-align:top}th{font-weight:600;color:var(--muted)}td small{display:block;overflow-wrap:anywhere}.muted,small{color:var(--muted)}#status.error{color:var(--danger)}.event{padding:14px 0;border-bottom:1px solid var(--border)}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.preview{padding:18px;margin-top:16px;background:var(--soft);border-radius:10px}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue-med);outline-offset:3px}@media(max-width:600px){header,main{padding:14px}header{align-items:flex-start;flex-direction:column}.panel{padding:14px}label{min-width:100%}}
@media(max-width:600px){.table-wrap{overflow:visible}table,tbody,tr,td{display:block;width:100%}thead{display:none}tr{padding:12px 0;border-bottom:1px solid var(--border)}td{border:0;padding:5px 0;overflow-wrap:anywhere}td::before{display:block;color:var(--muted);font-size:.85rem;content:attr(data-label)}}
