.tc-tables-backdrop{position:fixed;z-index:10020;inset:0;display:grid;place-items:center;padding:22px;background:#00162fc4}.tc-tables-window{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;box-sizing:border-box;width:min(1500px,calc(100vw - 44px));height:min(880px,calc(100vh - 44px));overflow:hidden;border:1px solid #6c7c87;border-radius:10px;background:#c8c8c8;color:#0a2745;box-shadow:0 24px 70px #00162f99}.tc-tables-window>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 14px 8px;background:#efefef}.tc-tables-window>header h2{margin:0;font-size:20px}.tc-table-toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.tc-tables-window button,.tc-table-detail button,.tc-table-report button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:43px;padding:7px 17px;border:1px solid #a8afb4;border-radius:5px;background:linear-gradient(#fff,#ddd);color:#0a2745;font:inherit;font-size:15px;font-weight:700;cursor:pointer}.tc-tables-window button:hover:not(:disabled),.tc-table-detail button:hover:not(:disabled),.tc-table-report button:hover:not(:disabled){border-color:#078ea2;background:#e4f4f4}.tc-tables-window button:disabled,.tc-table-detail button:disabled{opacity:.38;cursor:not-allowed}.tc-tables-window .tc-action-primary,.tc-table-detail .tc-action-primary{border-color:#078ea2;background:#078ea2;color:#fff}.tc-table-toolbar button.active{border-color:#078ea2;background:#078ea2;color:#fff}.tc-table-summary{display:grid;grid-template-columns:repeat(9,minmax(75px,1fr));padding:9px 14px;border-top:4px solid #111;border-bottom:4px solid #111;background:#f7f7f7;font-size:13px}.tc-table-summary span{text-align:center}.tc-room-grid{display:grid;grid-template-columns:repeat(10,minmax(75px,1fr));grid-template-rows:repeat(5,minmax(90px,1fr));gap:0;min-height:0;margin:12px;overflow:auto;background:#c8c8c8}.tc-tables-window .tc-room-table{position:relative;display:grid;grid-template-rows:8px 1fr 8px;min-width:75px;min-height:90px;padding:0;border:1px solid #858585;border-radius:2px;background:linear-gradient(145deg,#fff,#ededed);box-shadow:1px 2px 3px #0004;color:#0a2745}.tc-tables-window .tc-room-table strong{place-self:center;font-size:28px;font-weight:500}.tc-tables-window .tc-room-table.open{background:linear-gradient(145deg,#fff,#dff4f2)}.tc-tables-window .tc-room-table.selected{z-index:2;outline:4px solid #078ea2;outline-offset:-4px}.tc-tables-window .tc-room-table.unavailable{filter:grayscale(1);opacity:.48}.tc-table-alerts,.tc-table-seats{display:grid;grid-template-columns:repeat(10,1fr);width:100%;height:8px}.tc-table-alerts i,.tc-table-seats i{display:block;border-right:1px solid #fff8;background:#b9c2c7}.tc-table-alerts i:first-child.active{background:#b0202d}.tc-table-seats i.occupied{background:#23864b}.tc-table-seats i.held{background:#d69b12}.tc-table-seats i.blocked{background:#9b1c28}.tc-table-seats i.card{background:#167f9a}.tc-table-help{margin:0;padding:6px 14px 10px;color:#405668;font-size:12px;background:#efefef}
.tc-table-detail-backdrop,.tc-table-report-backdrop{position:absolute;z-index:3;inset:0;display:grid;place-items:center;padding:28px;background:#00162fb8}.tc-table-detail{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;box-sizing:border-box;width:min(1120px,calc(100% - 56px));height:min(720px,calc(100% - 56px));overflow:hidden;border:1px solid #71818c;border-radius:8px;background:#e2e4e5;color:#0a2745;box-shadow:0 18px 55px #00162f99}.tc-table-detail>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 13px;background:#858585}.tc-table-detail>header>div:first-child{min-width:180px}.tc-table-detail>header span,.tc-table-detail>header p{color:#f3f3f3;font-size:11px}.tc-table-detail>header h2,.tc-table-detail>header p{margin:0}.tc-table-detail>header h2{color:#fff;font-size:27px}.tc-table-detail>header>div:last-child{display:flex;gap:6px;flex-wrap:wrap}.tc-table-detail-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 14px;border-top:3px solid #111;border-bottom:3px solid #111;background:#f7f7f7;font-size:13px}.tc-table-detail-summary label{display:flex;align-items:center;gap:6px;font-weight:700}.tc-table-detail-summary input{width:17px;height:17px;accent-color:#078ea2}.tc-table-detail-body{display:grid;grid-template-columns:minmax(0,1fr) 310px;min-height:0}.tc-table-detail-body>section,.tc-table-detail-body>aside{min-height:0;padding:14px}.tc-table-detail-body>aside{border-left:1px solid #aab3b8;background:#f4f4f4}.tc-table-detail-body h3{margin:0 0 11px;font-size:17px}.tc-table-seat-grid{display:grid;grid-template-columns:repeat(5,minmax(105px,1fr));gap:8px}.tc-table-detail .tc-table-seat{display:grid;min-height:78px;align-content:center;gap:2px;padding:8px;background:#fff}.tc-table-seat small,.tc-table-seat span{color:#637786;font-size:11px}.tc-table-seat strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-table-detail .tc-table-seat.occupied{border-color:#23864b;background:#e6f4eb}.tc-table-detail .tc-table-seat.held{border-color:#d69b12;background:#fff3ce}.tc-table-detail .tc-table-seat.blocked{border-color:#9b1c28;background:#f8e3e5}.tc-table-detail .tc-table-seat.card{box-shadow:inset 0 -5px #167f9a}.tc-table-detail .tc-table-seat.selected{outline:3px solid #078ea2}.tc-unseated-list{display:grid;align-content:start;gap:6px;max-height:100%;overflow:auto}.tc-table-detail .tc-unseated-list button{display:grid;justify-content:stretch;min-height:52px;padding:7px 10px;text-align:left;background:#fff}.tc-unseated-list span{color:#617687;font-size:11px}.tc-table-detail .tc-unseated-list button.selected{border-color:#078ea2;background:#dff3f5}.tc-unseated-list p{color:#617687}.tc-seat-state-actions{display:flex;gap:7px;margin-top:12px}.tc-table-detail>footer,.tc-table-report>footer{display:flex;justify-content:flex-end;gap:7px;padding:9px 13px;border-top:1px solid #aab3b8;background:#d0d4d6}.tc-table-detail .tc-danger{border-color:#a41e2c;color:#941725}
.tc-table-report{display:grid;grid-template-rows:auto minmax(0,1fr) auto;box-sizing:border-box;width:min(900px,calc(100% - 80px));height:min(650px,calc(100% - 80px));overflow:hidden;border:1px solid #71818c;border-radius:8px;background:#fff;color:#0a2745;box-shadow:0 18px 55px #00162f99}.tc-table-report>header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#858585;color:#fff}.tc-table-report>header h3{margin:0}.tc-table-report>header button{min-width:42px;padding:0;font-size:24px}.tc-table-log,.tc-table-report-list{min-height:0;overflow:auto;padding:14px}.tc-table-log p{display:flex;justify-content:space-between;gap:18px;margin:0;padding:11px;border-bottom:1px solid #d7dcdf}.tc-table-log span{color:#607485}.tc-table-report-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:10px}.tc-table-report-list article{display:grid;gap:4px;padding:12px;border:1px solid #aeb9bf;background:#f6f6f6}.tc-table-report-list span,.tc-table-report-list small{color:#607485}.tc-table-report-list b{color:#078ea2}
@media(max-width:1100px){.tc-tables-backdrop{place-items:start;padding:12px}.tc-tables-window{width:1450px;height:850px}.tc-table-detail-backdrop,.tc-table-report-backdrop{position:fixed}.tc-table-detail{width:1080px;height:700px}}

/* Der Raumplan behält die kompakten Maße aus Einstellungen > Turniertische.
   Führende, vollständig unbenutzte Spalten werden vom Renderer entfernt. */
.tc-room-grid{grid-template-columns:repeat(var(--tc-room-columns,10),92px);grid-template-rows:repeat(5,92px);align-content:start;justify-content:start;gap:8px;padding:0;overflow:auto}
.tc-tables-window .tc-room-table{grid-template-rows:1fr 8px;width:92px;min-width:92px;height:92px;min-height:92px}
.tc-tables-window .tc-room-table strong{font-size:28px}

/* PokerAtlas-nahe Kapazitätsanzeige: geschlossen weiß, geöffnet rot,
   bei ein bis zwei Restplätzen orange und ohne Restplatz grün. */
.tc-tables-window{width:min(var(--tc-window-width,1500px),calc(100vw - 44px));height:min(var(--tc-window-height,880px),calc(100vh - 44px))}
.tc-room-grid{grid-template-rows:repeat(var(--tc-room-rows,5),92px)}
.tc-tables-window .tc-room-table.table-closed{background:#fff;color:#0a2745}
.tc-tables-window .tc-room-table.table-open{border-color:#b51218;background:#e31b23;color:#fff}
.tc-tables-window .tc-room-table.table-near-full{border-color:#c98900;background:#edae16;color:#fff}
.tc-tables-window .tc-room-table.table-full{border-color:#087016;background:#11851d;color:#fff}
.tc-tables-window .tc-room-table.table-open:hover:not(:disabled){background:#e31b23;color:#fff}.tc-tables-window .tc-room-table.table-near-full:hover:not(:disabled){background:#edae16;color:#fff}.tc-tables-window .tc-room-table.table-full:hover:not(:disabled){background:#11851d;color:#fff}
.tc-tables-window .tc-room-table{grid-template-rows:1fr 21px}
.tc-table-seats{box-sizing:border-box;height:21px;padding:0 5px 5px;gap:3px;background:transparent}
.tc-table-seats i,.tc-table-seats i.held,.tc-table-seats i.blocked,.tc-table-seats i.card{height:16px;border:0;border-radius:1px;background:#fff}
.tc-table-seats i.occupied{background:#050505}

/* Absolut verankert, damit Safari die leeren Sitzsegmente nicht auf ihre
   intrinsische Breite zusammenschiebt. */
.tc-tables-window .tc-room-table>.tc-table-seats{position:absolute!important;right:5px!important;bottom:5px!important;left:5px!important;z-index:2!important;display:grid!important;grid-template-columns:repeat(var(--tc-seat-count,10),minmax(0,1fr))!important;width:auto!important;height:16px!important;margin:0!important;padding:0!important;gap:3px!important;overflow:visible!important;visibility:visible!important;opacity:1!important}
.tc-tables-window .tc-room-table>.tc-table-seats>i{display:block!important;width:100%!important;min-width:0!important;height:16px!important;visibility:visible!important;opacity:1!important}

/* Primärbuttons behalten beim Hover ihre lesbare weiße Beschriftung. */
.tc-tables-window .tc-action-primary:hover:not(:disabled),.tc-table-detail .tc-action-primary:hover:not(:disabled),.tc-player-maintenance .tc-action-primary:hover:not(:disabled){border-color:#087d8e!important;background:#087d8e!important;color:#fff!important}

/* Der aktive Auswahlmodus bleibt auch beim Hover eindeutig und lesbar. */
.tc-table-toolbar button.active:hover:not(:disabled){border-color:#087d8e!important;background:#087d8e!important;color:#fff!important}

/* Die Aktionsbuttons im Kopf der Tischdetailansicht verwenden exakt dieselbe
   Typografie und Farbvererbung wie die Buttons im Fußbereich. */
.tc-table-detail>header button>span{color:inherit!important;font-size:15px!important}

/* Sieben Kennzahlen nach dem Entfernen der Hold-Funktion. */
.tc-table-summary{grid-template-columns:repeat(7,minmax(75px,1fr))}

/* Seat Next wird wie bei PokerAtlas direkt an der Tischnummer signalisiert. */
.tc-room-table-label{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0}
.tc-tables-window .tc-room-table .tc-room-table-label strong{place-self:auto;font-size:28px}
.tc-table-state-indicator{display:grid!important;place-items:center;width:28px;height:28px;border:2px solid #7f8b93;border-radius:50%;background:#fff;color:#0a2745!important;box-shadow:0 1px 3px #0006;font-size:23px!important;font-variation-settings:'FILL' 1}
.tc-table-detail .tc-table-seat.seat-next{border-color:#078ea2;background:#e1f5f7;box-shadow:inset 0 -5px #078ea2}
.tc-seat-state-actions button.active,.tc-seat-state-actions button.active:hover:not(:disabled){border-color:#078ea2;background:#078ea2;color:#fff}

/* Gemeinsame Block-Schnellwahl links von Seats per Table. */
.tc-seat-controls{grid-template-columns:minmax(0,1fr) auto;justify-content:stretch}
.tc-block-seats{display:flex;gap:4px;flex-wrap:wrap}
.tc-console .tc-block-seats button{width:31px;min-height:31px;padding:0;border-color:#8399a9;border-radius:4px;font-size:12px}
.tc-console .tc-block-seats button.active,.tc-console .tc-block-seats button.active:hover:not(:disabled){border-color:#9a1b28;background:#9a1b28;color:#fff}
.tc-console .tc-block-seats button.partial{border-color:#d69b12;background:#fff3ce;color:#0a2745}

/* Die Detailansicht verwendet denselben hellen Header wie die Gesamtansicht. */
.tc-table-detail{grid-template-rows:auto minmax(0,1fr) auto}
.tc-table-detail>header{background:#efefef}
.tc-table-detail>header h2{color:#0a2745;font-size:20px}
.tc-table-detail>header button.active,.tc-table-detail>header button.active:hover:not(:disabled){border-color:#9a1b28;background:#9a1b28;color:#fff}
.tc-table-detail>footer{justify-content:space-between}
.tc-table-detail>footer>div{display:flex;gap:7px}
.tc-table-detail>footer>div:first-child button.active,.tc-table-detail>footer>div:first-child button.active:hover:not(:disabled){border-color:#078ea2;background:#078ea2;color:#fff}

/* Klare Trennung wie am oberen Rand des Detail-Footers. */
.tc-table-detail>header{border-bottom:1px solid #aab3b8}

/* Die Gesamtansicht endet direkt mit dem Raumraster und besitzt keinen Footer. */
.tc-tables-window{grid-template-rows:auto auto minmax(0,1fr)}

/* Drei klar getrennte Bereiche im Detail-Footer: Sitzaktionen, Kapazität,
   Spieleraktionen. */
.tc-table-detail>footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}
.tc-table-detail>footer>div:last-child{justify-self:end}
.tc-max-players{display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.tc-max-players label{color:#0a2745;font-size:14px;font-weight:800}
.tc-max-players select{box-sizing:border-box;width:58px;height:43px;padding:6px 8px;border:1px solid #a8afb4;border-radius:5px;background:#fff;color:#0a2745;font:inherit;font-size:15px;font-weight:700}

/* PokerAtlas-nahe Sitzansicht: Die Plätze liegen auf einer festen physischen
   Position rund um den Tisch. Platz 11 nutzt die freie Position oberhalb von
   Platz 10 in der Tischmitte. */
.tc-table-detail-body>.tc-table-seating{display:grid;padding:12px 14px}
.tc-table-seat-grid{position:relative;display:block;width:100%;height:100%;min-height:430px;overflow:hidden}
.tc-poker-table-shape{position:absolute;z-index:0;inset:12% 6% 11%;border:8px solid #07557a;border-radius:48% / 46%;background:radial-gradient(ellipse at 50% 42%,#29a9d2 0,#1487b7 54%,#09658f 100%);box-shadow:inset 0 0 0 3px #5bc6df66,inset 0 -18px 34px #003d6788,0 8px 15px #00162f42}
.tc-table-detail .tc-table-seat{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-sizing:border-box;width:24%;height:96px;min-height:0;padding:7px 9px;border:1px solid #9caab3;border-radius:5px;background:#f8fafbe8;box-shadow:0 3px 8px #00162f45;color:#0a2745;transform:translateX(-50%)}
.tc-table-detail .tc-table-seat:hover:not(:disabled){background:#eef9fa}
.tc-table-detail .tc-table-seat.occupied{border-color:#0a2745;background:#eef3f5ed}
.tc-table-detail .tc-table-seat.blocked{border-color:#9b1c28;background:#f8e3e5ed}
.tc-table-detail .tc-table-seat.seat-next{border-color:#078ea2;background:#e1f5f7ed;box-shadow:inset 0 -5px #078ea2,0 3px 8px #00162f45}
.tc-table-detail .tc-table-seat.selected{z-index:3;outline:4px solid #078ea2;outline-offset:-4px}
.tc-table-detail .tc-table-seat .tc-seat-number{position:absolute;top:5px;left:6px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#87949c;color:#fff;font-size:12px;font-weight:900}
.tc-table-detail .tc-table-seat.occupied .tc-seat-number{background:#0a2745}
.tc-table-detail .tc-table-seat.blocked .tc-seat-number{background:#9b1c28}
.tc-table-detail .tc-table-seat .tc-seat-main-icon{display:block;color:#0a2745;font-size:43px!important;line-height:1;font-variation-settings:'FILL' 1}
.tc-table-detail .tc-table-seat:not(.occupied):not(.blocked) .tc-seat-main-icon{color:#8798a3;font-size:48px!important}
.tc-table-detail .tc-table-seat.blocked .tc-seat-main-icon{color:#9b1c28}
.tc-table-detail .tc-table-seat strong{display:block;width:100%;overflow:hidden;color:#0a2745;font-size:12px;line-height:1.15;text-align:center;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}
.tc-table-detail .tc-table-seat strong[data-seat-player-name]{font-size:16px;white-space:nowrap;overflow-wrap:normal}
.tc-seat-next-label{position:absolute;right:5px;bottom:4px;color:#078ea2!important;font-size:9px!important;font-weight:900;text-transform:uppercase}
.tc-table-seat[data-seat-position="1"]{left:37.5%;bottom:0}
.tc-table-seat[data-seat-position="2"]{left:12.5%;bottom:0}
.tc-table-seat[data-seat-position="3"]{top:50%;left:12.5%;transform:translate(-50%,-50%)}
.tc-table-seat[data-seat-position="4"]{top:0;left:12.5%}
.tc-table-seat[data-seat-position="5"]{top:0;left:37.5%}
.tc-table-seat[data-seat-position="6"]{top:0;left:62.5%}
.tc-table-seat[data-seat-position="7"]{top:0;left:87.5%}
.tc-table-seat[data-seat-position="8"]{top:50%;left:87.5%;transform:translate(-50%,-50%)}
.tc-table-seat[data-seat-position="9"]{left:87.5%;bottom:0}
.tc-table-seat[data-seat-position="10"]{left:62.5%;bottom:0}
.tc-table-seat[data-seat-position="11"]{z-index:1;top:50%;left:62.5%;transform:translate(-50%,-50%)}

/* Drei kompakte Sitzreihen wie im PokerAtlas-Dialog. Dadurch schließen die
   seitlichen Plätze 3 und 8 nahezu bündig an obere und untere Reihe an. */
.tc-table-detail{height:min(520px,calc(100% - 56px))}
.tc-table-seat-grid{align-self:center;height:320px;min-height:320px}

/* Kompakte Spielerlisten rechts: Unseated belegt ein Drittel, Busted zwei
   Drittel. Beide Tabellen scrollen unabhängig innerhalb ihres Bereichs. */
.tc-table-detail-body{grid-template-columns:minmax(0,1fr) 390px}
.tc-table-detail-body>.tc-table-player-lists{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,2fr);min-height:0;padding:0;overflow:hidden}
.tc-table-player-lists>section{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden}
.tc-table-player-lists>section+section{border-top:1px solid #aab3b8}
.tc-table-player-lists h3{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:8px 10px;border-bottom:1px solid #d5dadd;background:#e8ebed;font-size:13px}
.tc-table-player-lists h3 span{display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:11px;background:#0a2745;color:#fff;font-size:11px}
.tc-compact-table-wrap{min-height:0;overflow:auto;background:#f8f8f8}
.tc-compact-player-table{width:100%;border-collapse:separate;border-spacing:0;color:#0a2745;font-size:11px}
.tc-compact-player-table th{position:sticky;z-index:1;top:0;padding:5px 7px;border-bottom:1px solid #c8cfd3;background:#dfe4e6;color:#536979;font-size:9px;text-align:left;text-transform:uppercase;white-space:nowrap}
.tc-compact-player-table td{padding:5px 7px;border-bottom:1px solid #dce1e3;vertical-align:middle}
.tc-compact-player-table tr:not(.empty):hover td{background:#e9f5f6}
.tc-compact-player-table tr[data-table-entry]{cursor:pointer}
.tc-compact-player-table tr[data-table-entry].selected td{background:#d8f0f2}
.tc-compact-player-table tr.disabled{opacity:.45}
.tc-compact-player-table td strong{display:block;font-size:12px;line-height:1.2}
.tc-compact-player-table td time{display:block;line-height:1.2;white-space:normal}
.tc-compact-player-table tr.empty td{padding:12px 8px;color:#667a89;text-align:center}
.tc-table-detail .tc-compact-player-table button{gap:3px;min-height:27px;padding:3px 6px;border-color:#078ea2;background:#fff;color:#078696;font-size:10px}
.tc-table-detail .tc-compact-player-table button:hover:not(:disabled){background:#078ea2;color:#fff}
.tc-table-detail .tc-compact-player-table button .material-symbols-icon{font-size:14px}
.tc-busted-player-table th:nth-child(1){width:31%}.tc-busted-player-table th:nth-child(2){width:24%}.tc-busted-player-table th:nth-child(3){width:28%}.tc-busted-player-table th:nth-child(4){width:17%}
