:root{color-scheme:dark;--bg:#101321;--panel:#191e30;--line:#2b334b;--muted:#95a0b8;--text:#e9edf5;--gold:#efb957;--green:#67d8b0;--red:#fa8493;font-family:Inter,"Segoe UI",Arial,sans-serif;font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--text);font-size:14px}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}a{color:inherit;text-decoration:none}a:hover{color:var(--gold)}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid var(--gold)}.topbar{height:76px;padding:0 4%;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#141827}.brand{display:flex;align-items:center;gap:12px;letter-spacing:1.8px;font-size:13px;font-weight:500}.brand strong{color:var(--gold);font-weight:600}.brand-icon{font-size:30px;color:var(--gold)}.header-right{display:flex;gap:18px;align-items:center}.version{font-size:11px;color:var(--muted);letter-spacing:1px}main{max-width:1536px;padding:34px 4% 20px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:2.4px;color:var(--gold);font-weight:700;margin:0 0 10px}h1{font-size:30px;letter-spacing:-.7px;margin:0;font-weight:650}h2{font-size:16px;font-weight:600;margin:0;letter-spacing:.1px}h3{font-size:16px}p{line-height:1.55}.subheading{color:var(--muted);margin:9px 0 0;font-size:13px}.button{display:inline-flex;justify-content:center;align-items:center;gap:6px;padding:11px 15px;border-radius:6px;border:1px solid var(--line);font-weight:600;font-size:12px;color:var(--text);background:#252c42;transition:background .15s}.button:hover{background:#313b55;color:var(--text)}.primary{background:var(--gold);color:#211b10;border-color:var(--gold)}.primary:hover{background:#f6cc7e;color:#211b10}.ghost{background:transparent;border-color:#3b445e}.small{padding:8px 11px;font-size:11px}.full{width:100%}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 34px}.metric{padding:20px 22px;background:linear-gradient(115deg,#20273d,#191e30);border:1px solid var(--line);border-radius:9px;min-width:0}.metric-label{color:#b4bfd3;font-size:11px;display:flex;gap:8px;align-items:center;font-weight:500}.metric>strong{display:block;font-size:34px;letter-spacing:-.6px;font-variant-numeric:tabular-nums;font-weight:600;margin:10px 0}.metric small{display:block;font-size:11px;line-height:1.5;color:var(--muted)}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--muted);flex-shrink:0}.dot.green{background:var(--green)}.dot.red{background:var(--red)}.section-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}.muted,.helper{color:var(--muted);font-size:12px;line-height:1.6}.count-pill{font-size:11px;padding:3px 7px;background:#2b3248;border-radius:4px;margin-left:8px;color:var(--muted)}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px}.search{display:flex;align-items:center;flex:1;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:0 13px;color:var(--muted)}.search span{font-size:23px}.search input{border:0;background:transparent;width:100%;padding:12px 0;color:var(--text);outline-offset:0;min-width:100px}select{background:var(--panel);border:1px solid var(--line);color:#bbc5d8;padding:12px 32px 12px 12px;border-radius:6px;font-size:12px}input::placeholder{color:#7f8ba5}.table-wrap{border:1px solid var(--line);border-radius:8px;overflow:auto;background:#151a2b}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;font-size:10px;letter-spacing:.45px;text-transform:uppercase;color:#9ca9c1;background:#1b2236;padding:15px 14px;font-weight:600}td{padding:18px 14px;border-top:1px solid var(--line);font-size:12px;font-variant-numeric:tabular-nums}tbody tr:hover{background:#1e263d}.table-link{display:block;font-weight:600;color:#e4ebf7;margin-bottom:5px;font-size:13px}.id-label{display:block;font-family:ui-monospace,Consolas,monospace;font-size:10px;color:#7f8ba3}.table-name-cell{min-width:210px}.badge{display:inline-flex;align-items:center;gap:6px;border:1px solid #3f4961;border-radius:5px;padding:5px 8px;color:#b3bfd5;font-size:10px;font-weight:650;white-space:nowrap}.badge.live{background:#163b32;color:var(--green);border-color:#285c4d}.badge.bad{background:#402431;color:#ff9bac;border-color:#693342}.badge.wait{background:#3a3225;color:#f1c77e;border-color:#635139}.positive{color:var(--green)}.negative{color:var(--red)}.number{font-size:15px;font-weight:600}.empty{text-align:center;padding:55px 25px;color:var(--muted)}.empty>span{font-size:40px;color:var(--gold)}.helper{margin:14px 0}.back{display:inline-block;font-size:12px;color:#a9b6cd;margin-bottom:24px}.detail-heading{margin-bottom:24px}.title-line{display:flex;gap:12px;align-items:center}.title-line h1{color:var(--gold)}.icon-button{border:1px solid var(--line);background:transparent;color:var(--muted);width:32px;height:32px;border-radius:5px;font-size:18px;flex-shrink:0}.icon-button:hover{color:var(--gold);border-color:#947242}.table-id{color:var(--muted);font-size:11px;margin:9px 0 0}.table-id code{font-size:10px;color:#a4b3cf;margin-left:7px}.table-id>span{display:inline-block;margin-left:13px;color:#6e7b98}.detail-status{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.detail-metrics{margin-bottom:20px}.metric .pair{display:flex;gap:10px;align-items:center;font-size:29px}.slash{color:#58647e;font-size:20px}.progress{height:4px;background:#30384d;border-radius:4px;overflow:hidden;margin-top:17px}.progress i{height:100%;width:0;display:block;background:var(--gold)}.watch-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.panel{background:var(--panel);border:1px solid var(--line);border-radius:9px;margin-bottom:20px;padding:20px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.panel-heading h2{color:#e0e7f4}.video-panel{padding:0;overflow:hidden}.video-panel .panel-heading{padding:17px 20px;margin:0}.video-stage{aspect-ratio:16/9;background:#0a0e18;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.video-stage:fullscreen{height:100vh;width:100vw;aspect-ratio:auto}.video-stage img{height:100%;width:100%;object-fit:contain}.video-empty{text-align:center;color:var(--muted);padding:20px}.video-empty>span{display:block;font-size:46px;opacity:.4;margin-bottom:10px}.video-empty strong{font-size:14px;color:#bac4d8}.video-empty p{font-size:12px;max-width:400px}.video-footer{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 18px;font-size:11px;color:var(--muted)}.manual-label{font-size:9px;color:var(--gold);letter-spacing:1.5px}.shoe-state{display:flex;justify-content:space-between;align-items:center;gap:10px}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:9px 0}.red-button{color:#ff9ca9;background:#382333;border-color:#6c3447}.red-button.active{background:#78344a;color:#fff;border-color:#c6607c}.warning{background:#3a3024;color:#e8bd78;border-color:#665237}.compact{font-size:11px}.facts{display:grid;grid-template-columns:auto 1fr;gap:12px 16px;font-size:11px;padding:17px 0;margin:0;border-top:1px solid var(--line)}.facts dt{color:var(--muted)}.facts dd{margin:0;text-align:right;overflow-wrap:anywhere;color:#d0d9e8}.hands{display:flex;gap:12px;flex-wrap:wrap;min-height:105px}.hand{padding:12px;border:1px solid #46506b;border-radius:7px;min-width:112px;background:#161b2d}.hand.dealer{border-color:#715263}.hand-label{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px;color:#bec9de;font-size:11px}.hand-label b{font-size:13px;color:var(--gold)}.card-row{display:flex;gap:5px}.card{width:36px;height:49px;background:#f1f1ec;color:#1c2636;border:1px solid #fff;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003;font-weight:700;font-size:15px;line-height:1.2}.card small{font-size:13px}.card.red{color:#b82f45}.card.hidden-card{background:repeating-linear-gradient(45deg,#33425d,#33425d 3px,#26344d 3px,#26344d 6px);color:#ccd7e9;border-color:#73809a;font-size:19px}.ranks{display:grid;grid-template-columns:repeat(13,minmax(48px,1fr));gap:9px;overflow:auto;padding-bottom:3px}.rank{background:#151b2c;border:1px solid #303b55;padding:12px 8px 10px;text-align:center;border-radius:6px;min-width:48px}.rank>b{color:var(--gold);font-size:12px}.rank>strong{display:block;margin:10px 0 5px;font-size:21px;font-weight:550;font-variant-numeric:tabular-nums}.rank small{font-size:9px;color:var(--muted);white-space:nowrap}.rank .progress{height:3px;margin-top:10px}.rank .progress i{background:#72aace}.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.event-log{list-style:none;padding:0;margin:0;max-height:220px;overflow:auto}.event-log li{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:12px 0;font-size:12px;color:#c5cfe1}.event-log time{color:var(--muted);font-size:11px;white-space:nowrap}.event-log li:first-child{border:0}.diagnostics summary{cursor:pointer;display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}.diagnostics[open] summary{margin-bottom:18px}footer{border-top:1px solid var(--line);padding-top:20px;margin-top:16px;display:flex;justify-content:space-between;gap:18px;font-size:10px;line-height:1.5;color:#78869f}footer>span:first-child{display:flex;align-items:center;gap:7px}#notice,.error-banner{background:#392b2d;border:1px solid #744552;padding:13px 17px;margin-bottom:20px;color:#f2b1b8;border-radius:6px;font-size:12px}.error{color:#ffa7b6;font-size:12px}dialog{width:460px;max-width:calc(100% - 28px);border:1px solid #48536b;border-radius:10px;background:#1a2033;color:var(--text);padding:24px;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#060915c9}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}#modalFields input[type=text],#modalFields textarea{background:#111727;border:1px solid #45506a;color:var(--text);padding:12px;border-radius:6px;width:100%;font:inherit}#modalFields label{display:block;padding:10px 0;font-size:12px;color:#c9d3e5}#modalFields label small{display:block;color:var(--muted);margin:5px 0 0 24px;font-size:11px;line-height:1.5}#modalFields input[type=radio]{accent-color:var(--gold);margin-right:8px}@media(min-width:1550px){.video-stage{max-height:520px}}@media(max-width:1100px){.watch-grid{grid-template-columns:minmax(0,1fr) 300px}.metric{padding:16px}.toolbar{flex-wrap:wrap}.search{min-width:230px}.ranks{gap:6px}.table-wrap{margin-right:0}}@media(max-width:760px){main{padding:24px 18px}.topbar{padding:0 18px;height:64px}.brand{font-size:10px;letter-spacing:1px}.brand-icon{font-size:25px}.header-right{gap:8px}.page-heading{align-items:flex-start;flex-wrap:wrap}h1{font-size:25px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:24px}.metric>strong{font-size:29px}.watch-grid,.bottom-grid{grid-template-columns:1fr;gap:0}.detail-status{align-items:flex-start}.toolbar>*{flex:1}.toolbar .search{flex-basis:100%}.toolbar select{min-width:140px}.ranks{grid-template-columns:repeat(5,minmax(0,1fr))}.rank{min-width:0}.panel{padding:16px}.video-panel{padding:0}.metric .pair{font-size:24px}.table-id code{overflow-wrap:anywhere}footer{flex-direction:column;gap:7px}.version{display:none}.section-top .muted{font-size:10px}.panel-heading{flex-wrap:wrap}.detail-heading{gap:14px}.title-line{align-items:flex-start}.title-line h1{overflow-wrap:anywhere}.video-footer{padding:10px}.video-footer>span{font-size:10px}}


/* Authentication and device administration share the monitor palette. */
body{min-height:100vh}
.card{display:block;width:calc(100% - 32px);height:auto;max-width:460px;margin:80px auto;padding:36px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 80px #0003;font-size:14px;font-weight:400;line-height:1.5}
.card h1{margin:0 0 14px}.card p{color:var(--muted)}.card label{display:block;margin:24px 0 8px;color:#b4bfd3;font-size:13px}
.card input{width:100%;padding:14px;border:1px solid #45506a;background:#111727;color:var(--text);border-radius:6px;font:inherit}
.card input:focus{outline:2px solid var(--gold)}
button{padding:11px 15px;border-radius:6px;border:1px solid var(--gold);background:var(--gold);color:#211b10;font-weight:600;font-size:12px}
.card form button{width:100%;margin-top:20px}.card .hint{font-size:12px}.card .error{margin-top:16px;color:#ffa7b6}.error:empty{display:none}
.secondary{background:transparent;border-color:#3b445e;color:var(--text)}.danger{background:#402431;border-color:#693342;color:#ff9bac}
.wide{max-width:1536px;margin:auto;padding:34px 4% 24px}.heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:32px}.heading p{color:var(--muted)}
.corner-actions{display:flex;gap:10px;justify-content:flex-end;margin-left:auto}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat{padding:20px 22px;background:linear-gradient(115deg,#20273d,#191e30);border:1px solid var(--line);border-radius:9px}
.stat strong{display:block;font-size:34px;margin:0 0 10px}.stat span{color:var(--muted);font-size:12px}.topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel>p{color:var(--muted);font-size:12px}
td small{display:block;color:var(--muted);margin-top:6px}td button{margin:3px}.badge.approved{background:#163b32;color:var(--green);border-color:#285c4d}.badge.pending{background:#3a3225;color:#f1c77e;border-color:#635139}.badge.revoked{background:#402431;color:#ff9bac;border-color:#693342}
.toolbar{flex-wrap:wrap}.toolbar label{margin:0}.header-right{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:600px){.card{margin-top:36px;padding:26px}.topbar{height:auto;min-height:72px;gap:12px;padding:16px 18px}.brand{gap:7px}.header-right{gap:6px}.header-right button{padding:9px 10px}.heading{align-items:flex-start}.heading h1{font-size:24px}.corner-actions{flex-wrap:wrap;max-width:160px}.stats{gap:8px}.stat{padding:14px 10px}.stat strong{font-size:26px}.wide{padding:24px 18px}}
.activity{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.activity-dot{width:9px;height:9px;display:inline-block;border-radius:50%;flex-shrink:0;background:#788294}.activity-dot.active{background:#67d8b0;box-shadow:0 0 8px #67d8b04d}.activity-dot.offline{background:#788294}.activity-dot.error{background:#fa8493;box-shadow:0 0 8px #fa84934d}.versions{display:inline!important;line-height:1.6;letter-spacing:0}.topbar{height:auto;min-height:76px;gap:16px;padding-top:16px;padding-bottom:16px}.topbar .brand{flex-shrink:0}@media(max-width:760px){.topbar{flex-wrap:wrap}.header-right{margin-left:auto}.versions{font-size:10px}}
#connector-dialog{width:620px}#pair-form{display:grid;gap:12px;margin:20px 0}#connector-dialog input{background:#111727;color:var(--text);border:1px solid #45506a;border-radius:6px;padding:12px;width:100%}.connector-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.table-open{background:none;border:0;padding:0;text-align:left}.detail-eyebrow{margin-top:24px}.ranks{margin-top:20px}

/* Shared overview matches the local monitor. */
#overview .table-link{color:#dce2ed;text-align:left;margin:0 0 5px;padding:0}#overview td{color:#dce2ed}#overview td.positive{color:var(--green)}#overview td.negative{color:var(--red)}#overview td.muted{color:var(--muted)}#overview td.number{font-size:13px;font-weight:600}#overview .stop-note{display:inline-block;margin:0 0 10px 12px;font-size:11px}#overview #stopRun{margin-bottom:0}#overview .toolbar .search{flex:1.8}#overview .toolbar select{flex:0.6}#overview footer{padding-bottom:4px}@media(max-width:760px){#overview .stop-note{display:block;margin:8px 0 12px}}

.playing-card{width:36px;height:49px;background:#f1f1ec;color:#1c2636;border:1px solid #fff;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003;font-weight:700;font-size:15px;line-height:1.2}.playing-card small{font-size:13px}.playing-card.red{color:#b82f45}.playing-card.hidden-card{background:repeating-linear-gradient(45deg,#33425d,#33425d 3px,#26344d 3px,#26344d 6px);color:#ccd7e9;border-color:#73809a;font-size:19px}

/* Main dashboard identity. */
.brand strong{display:flex;align-items:center;gap:10px;color:#fff}
.brand .brand-name{color:#fff}
.brand-main{color:#fff;font:inherit;letter-spacing:inherit}
@media(max-width:600px){.brand-main{font-size:inherit}.brand strong{gap:7px}}

.brand strong{display:block;word-spacing:normal;letter-spacing:1.8px}.brand .brand-main,.brand .brand-monitor{color:var(--gold);font:inherit;letter-spacing:inherit}.brand .brand-name{color:#fff}.metric strong,.number{font-variant-numeric:tabular-nums}

.filter-field{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:11px}.count-filters{flex-basis:100%;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.count-filters fieldset{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:6px;padding:8px 10px;color:var(--muted);margin:0}.count-filters legend{font-size:11px;padding:0 5px}.count-filters input{width:85px;background:var(--panel);border:1px solid var(--line);color:var(--text);padding:8px;border-radius:4px}.column-sort{padding:0;background:transparent;border:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;white-space:nowrap}.column-sort:hover{color:var(--gold)}#overview .toolbar{align-items:flex-end}#overview .toolbar .filter-field select{width:100%}

.connector-row>span{flex:1}.connector-row{flex-wrap:wrap}.source-rename-form{display:flex;gap:8px;width:100%;align-items:center}.source-rename-form input{min-width:0;flex:1}

.badge.offline{background:#292e38;border-color:#454c59;color:#a5adba}
#assignment-dialog{width:800px}

.table-runtime{display:block;margin-top:4px;color:#94a3b8;font-variant-numeric:tabular-nums;}
