:root{color-scheme:dark;--bg:#0b1020;--text:#edf2ff;--muted:#aab6d5;--accent:#6f8cff}
html{scrollbar-gutter:stable}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{min-height:100vh;margin:0;font:16px/1.5 Inter,Segoe UI,Arial,sans-serif;background-color:var(--bg);background-image:radial-gradient(circle at top right,#223567,var(--bg) 50%);background-attachment:fixed;background-repeat:no-repeat;color:var(--text)}
.shell{max-width:1100px;margin:auto;padding:56px 24px}
.auth-shell{max-width:560px;min-height:100vh;margin:0 auto;padding:24px;display:flex;flex-direction:column;justify-content:center}
.auth-heading{margin-bottom:22px}
.auth-card{background:#151d35e8;border:1px solid #ffffff12;border-radius:20px;padding:30px;box-shadow:0 18px 60px #0003}
.auth-card>p{color:var(--muted)}
header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:30px}
h1{font-size:42px;line-height:1.05;margin:4px 0 10px}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:#91a5ff;font-size:12px;margin:0}
.subtitle,.card>p{color:var(--muted)}
.header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.password-menu{position:relative}
.password-menu summary{list-style:none;cursor:pointer;border-radius:999px;background:#273252;color:#edf2ff;padding:8px 12px;font-size:14px}
.password-menu summary::-webkit-details-marker{display:none}
.password-menu form{position:absolute;z-index:2;right:0;top:42px;width:min(330px,90vw);padding:18px;background:#151d35;border:1px solid #ffffff20;border-radius:14px;box-shadow:0 18px 50px #0008}
.password-menu form label:first-child{margin-top:0}
#sheets-note{min-height:0;margin:0}
#google .item-meta{margin-top:12px}
.confirm-dialog{width:min(460px,calc(100vw - 32px));padding:26px;background:#151d35;color:var(--text);border:1px solid #ffffff24;border-radius:18px;box-shadow:0 24px 70px #0009}
.confirm-dialog::backdrop{background:#080d1bd9;backdrop-filter:blur(3px)}
.confirm-dialog h2{margin:0 0 10px;font-size:22px}
.confirm-message{margin:0;color:var(--muted)}
.confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.confirm-actions button{margin:0}
nav{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}
.grid{display:grid;grid-template-columns:1fr 1.2fr;gap:20px}
.card{background:#151d35e8;border:1px solid #ffffff12;border-radius:20px;padding:28px;box-shadow:0 18px 60px #0003}
.wide{margin-bottom:20px}
#keywords>.wide{margin-top:20px}
h2{margin-top:0}
label{display:block;margin:15px 0;color:#dbe3ff;font-size:14px}
input{display:block;width:100%;margin-top:7px;padding:12px;border-radius:10px;border:1px solid #536187;background:#0c1327;color:var(--text);font:inherit}
.saved-settings-status{margin:8px 0 12px;color:#a9ffd9;font-size:14px}
button{border:0;border-radius:10px;padding:12px 16px;font:600 15px inherit;background:#5664a0;color:#fff;cursor:pointer;margin-top:8px}
button.primary{background:var(--accent)}
button.secondary{background:#273252}
button.danger{background:#612a3b}
button:disabled{opacity:.6;cursor:wait}
.tab{margin:0;background:transparent;color:var(--muted)}
.tab.active{background:#334887;color:#fff}
.badge{padding:8px 12px;border-radius:999px;background:#303951;color:#dbe3ff;white-space:nowrap}
.badge.connected{background:#164c3a;color:#a9ffd9}
.badge.error{background:#622b38;color:#ffd3d9}
.note{min-height:1.5em;color:#b8c7ff}
.page{display:none}
.page.active{display:block}
.page.active.grid{display:grid}
#qr-image{display:block;width:230px;height:230px;background:white;border-radius:12px;padding:10px;margin:22px 0 12px}
#account{padding:14px;background:#132b29;border-radius:12px;margin-top:18px;color:#c0ffe0}
.inline-form{display:flex;gap:10px;align-items:center}
.inline-form input{margin:0}
.button-help-row{display:flex;align-items:center;gap:8px;margin-top:8px}
.button-help-row button{margin-top:0}
#channel-note{min-height:0;margin:0}
#channels-list{margin-top:8px}
.team-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}
@media(min-width:761px){.team-form label{margin-bottom:0}.team-form button{margin-top:0}}
#team-note{min-height:0;margin:4px 0 0}
#team-list{margin-top:8px}
.matches-filters{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:0 14px;align-items:end;padding:16px;background:#0c132755;border:1px solid #ffffff12;border-radius:14px}
.matches-filters label{margin:4px 0 12px}
.matches-filters input,.matches-filters select{width:100%}
.matches-filters select{display:block;margin-top:7px;padding:12px;border-radius:10px;border:1px solid #536187;background:#0c1327;color:var(--text);font:inherit}
.matches-search{grid-column:span 2}
.matches-filter-actions{display:flex;gap:10px;align-items:center;padding-bottom:12px}
.matches-filter-actions button{margin:0}
#results .matches-date-note{margin:8px 0}
#results #matches-filter-note{margin:0}
#results #matches-list{margin-top:8px}
#results #matches-list>.item-meta{margin:0}
#matches-load-more{display:block;margin:20px auto 0}
.items{margin-top:18px}
.item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid #ffffff12}
.item:first-child{border-top:0}
.item-title{font-weight:650}
.item-meta{font-size:13px;color:var(--muted);margin-top:2px}
.small-danger{margin:0;padding:8px 11px;font-size:13px}
.check,.radio{display:flex;gap:9px;align-items:center}
.option-help-row{display:grid;grid-template-columns:minmax(0,230px) 18px;align-items:center;column-gap:8px;width:100%;max-width:256px;margin:12px 0;min-height:22px}
.option-help-row>.radio,.option-help-row>.check{margin:0}
.keyword-match-options .option-help-row>.check{margin:0}
.help-tip{position:relative;flex:0 0 auto}
.help-tip>span:first-child{display:grid;place-items:center;width:18px;height:18px;border:1px solid #91a5ff;border-radius:50%;color:#b8c7ff;font-size:12px;font-weight:700;line-height:1;cursor:default;user-select:none}
.help-tip>.tooltip{display:none;position:absolute;z-index:5;left:calc(100% + 8px);top:50%;transform:translateY(-50%);width:min(270px,70vw);padding:10px 12px;border:1px solid #536187;border-radius:10px;background:#0c1327;color:var(--text);font-size:13px;line-height:1.45;box-shadow:0 8px 24px #0008;cursor:default}
.button-help-row .help-tip>.tooltip{width:min(340px,75vw)}
#keywords .help-tip>.tooltip{width:min(320px,70vw)}
.help-tip:hover>.tooltip,.help-tip:focus-visible>.tooltip{display:block}
.help-tip:focus-visible>span:first-child{outline:2px solid #a9bdff;outline-offset:2px}
@media(max-width:760px){.option-help-row{grid-template-columns:minmax(0,1fr) 18px;max-width:100%}.help-tip>.tooltip{left:auto;right:0;top:auto;bottom:calc(100% + 9px);transform:none}}
.check input,.radio input{display:inline;width:auto;margin:0}
.keyword-match-options{margin-top:24px;padding-top:16px;border-top:1px solid #ffffff18}
.keyword-match-options>p{margin:0 0 8px;color:var(--muted);font-size:16px}
.keyword-match-options .check{margin:12px 0}
.check input.round-check{appearance:none;width:13px;height:13px;min-width:13px;min-height:13px;flex:0 0 13px;display:grid;place-content:center;margin:0;padding:0;border:1px solid #8995ab;border-radius:50%;background:#0c1327;cursor:pointer}
.check input.round-check::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);transform:scale(0);transition:transform .12s ease-in-out}
.check input.round-check:checked::before{transform:scale(1)}
.check input.round-check:focus-visible{outline:2px solid #a9bdff;outline-offset:2px}
@media(max-width:760px){.shell{padding:32px 16px}header,.grid{display:block}.grid .card{margin-bottom:16px}h1{font-size:34px}.inline-form{display:block}.inline-form input{margin:7px 0}.page.active.grid{display:block}.header-actions{justify-content:flex-start}.team-form{display:block}.matches-filters{grid-template-columns:1fr 1fr}.matches-search{grid-column:span 2}.matches-filter-actions{grid-column:span 2}}
@media(max-width:420px){.matches-filters{grid-template-columns:1fr}.matches-search,.matches-filter-actions{grid-column:auto}}
