:root{--bg: #eef1f5;--card: #ffffff;--text: #1c2430;--muted: #66707c;--border: #dfe3e8;--accent: #1f5fb0;--accent-ink: #ffffff;--on: #b3261e;--on-bg: #fbe9e7;--off: #2f7d46;--off-bg: #e7f4ec;--radius: 12px;--shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 6px 20px rgba(16, 24, 40, .06);color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #10151c;--card: #171d26;--text: #e7ecf2;--muted: #93a0af;--border: #29323d;--accent: #4d90e0;--on: #ff7a70;--on-bg: #3a1c1a;--off: #6fd08c;--off-bg: #16301f;--shadow: 0 1px 2px rgba(0,0,0,.3), 0 6px 20px rgba(0,0,0,.35);color-scheme:dark}}:root[data-theme=dark]{--bg: #10151c;--card: #171d26;--text: #e7ecf2;--muted: #93a0af;--border: #29323d;--accent: #4d90e0;--on: #ff7a70;--on-bg: #3a1c1a;--off: #6fd08c;--off-bg: #16301f;--shadow: 0 1px 2px rgba(0,0,0,.3), 0 6px 20px rgba(0,0,0,.35);color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font:15px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);padding:env(safe-area-inset-top,0) 0 env(safe-area-inset-bottom,0)}.muted{color:var(--muted)}.error{color:var(--on);background:var(--on-bg);border:1px solid color-mix(in srgb,var(--on) 25%,transparent);padding:10px 12px;border-radius:8px;margin:12px 0 0}button{font:inherit;font-weight:600;min-height:44px;padding:10px 18px;border:0;border-radius:8px;background:var(--accent);color:var(--accent-ink);cursor:pointer;transition:filter .15s ease}button:hover:not(:disabled){filter:brightness(1.06)}button:disabled{opacity:.5;cursor:default}button.link{background:none;color:var(--accent);min-height:auto;padding:6px 4px}input{font:inherit;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text)}input:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:13px}.card.login{width:100%;max-width:380px;margin:max(8vh,32px) auto;padding:28px 24px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card.login h1{margin:0 0 4px;font-size:22px}.card.login form{display:flex;flex-direction:column;gap:16px;margin-top:20px}.card.login button{width:100%;margin-top:4px}.app{max-width:1100px;margin:0 auto;padding:16px}.app header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:8px}.app header h1{margin:0;font-size:20px}.session{display:flex;align-items:center;gap:8px}.filters{display:grid;grid-template-columns:1fr;gap:12px;margin:12px 0 20px;padding:16px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.filters button{width:100%}@media (min-width: 620px){.app{padding:24px}.filters{grid-template-columns:1fr 180px auto;align-items:end}.filters button{width:auto}}.count{margin:0 0 10px;font-weight:600}.results{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:top}tbody tr:last-child td{border-bottom:0}th{background:color-mix(in srgb,var(--muted) 8%,transparent);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}td.raw{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.tag{display:inline-block;padding:3px 10px;border-radius:999px;font-weight:700;font-size:12px;white-space:nowrap}.tag.on{background:var(--on-bg);color:var(--on)}.tag.off{background:var(--off-bg);color:var(--off)}@media (max-width: 619px){table,thead,tbody,tr,th,td{display:block}thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.results{background:transparent;border:0;box-shadow:none;overflow:visible}tr{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:12px;padding:4px 2px}td{border:0;padding:8px 14px;display:grid;grid-template-columns:38% 1fr;gap:10px;align-items:baseline}td:before{content:attr(data-label);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}td.raw{grid-template-columns:1fr}td.raw:before{margin-bottom:2px}}.session{gap:6px}.session .user{margin-right:4px;max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;width:40px;padding:0;border-radius:8px;background:transparent;color:var(--text);border:1px solid transparent}.icon-btn:hover:not(:disabled){background:color-mix(in srgb,var(--muted) 14%,transparent);filter:none}.menu{position:relative;display:inline-flex}.popover{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:168px;background:var(--card);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:12px}.popover-title{margin:0 0 8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.theme-options{display:flex;gap:6px}.chip{flex:1;min-height:36px;padding:6px 10px;font-size:13px;font-weight:600;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text)}.chip:hover:not(.active){background:color-mix(in srgb,var(--muted) 12%,transparent);filter:none}.chip.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.success{color:var(--off);background:var(--off-bg);border:1px solid color-mix(in srgb,var(--off) 25%,transparent);padding:10px 12px;border-radius:8px;margin:12px 0 0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:color-mix(in srgb,#000 45%,transparent);display:flex;align-items:flex-start;justify-content:center;padding:max(8vh,24px) 16px;overflow-y:auto}.modal{width:100%;max-width:420px;padding:20px 22px 24px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0;font-size:18px}.modal form{display:flex;flex-direction:column;gap:16px;margin-top:16px}.modal button[type=submit]{width:100%;margin-top:4px}.role-fixed{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-weight:600;font-size:13px}.role-fixed .muted{flex-basis:100%;font-weight:400}
