:root{--felt:#0b6b3a;--felt-dark:#084d29;--bg:#0f1115;--panel:#191c22;--panel-2:#21252e;--border:#2c313c;--text:#e8eaed;--muted:#9aa2b1;--accent:#f2c14e;--danger:#e05260;--win:#3fb96a;--loss:#e05260;--radius:10px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}a{color:var(--accent);text-decoration:none}h1,h2,h3{margin:0 0 .5rem}small{color:var(--muted)}.app{min-height:100vh;display:flex}.sidebar{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;gap:.25rem;width:230px;padding:1rem;display:flex}.sidebar .brand{color:var(--accent);margin-bottom:1rem;font-size:1.2rem;font-weight:700}.sidebar a{color:var(--text);border-radius:8px;padding:.55rem .7rem;font-size:.95rem}.sidebar a:hover{background:var(--panel-2)}.sidebar a.active{background:var(--felt);color:#fff}.sidebar .spacer{flex:1}.content{flex:1;max-width:1100px;padding:1.5rem 2rem}.topbar{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.auth-wrap{background:radial-gradient(circle at 50% 30%, var(--felt), var(--felt-dark) 60%, #042014);place-items:center;min-height:100vh;display:grid}.auth-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;width:360px;padding:2rem;box-shadow:0 20px 60px #0006}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;padding:1.1rem 1.25rem}.grid{gap:1rem;display:grid}.grid.cols-2{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid.cols-3{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}label{color:var(--muted);margin:.6rem 0 .2rem;font-size:.8rem;display:block}input,select{background:var(--panel-2);width:100%;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.55rem .65rem;font-size:.95rem}input:focus,select:focus{border-color:var(--accent);outline:none}.row{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.row>*{flex:1}.checkbox{align-items:center;gap:.5rem;display:flex}.checkbox input{width:auto}button{cursor:pointer;background:var(--panel-2);color:var(--text);border:none;border:1px solid var(--border);border-radius:8px;padding:.55rem .9rem;font-size:.9rem}button:hover{border-color:var(--muted)}button.primary{background:var(--accent);color:#1a1500;border:none;font-weight:600}button.primary:hover{filter:brightness(1.05)}button.felt{background:var(--felt);color:#fff;border:none}button.danger{color:var(--danger);border-color:var(--danger);background:0 0}button.small{padding:.3rem .55rem;font-size:.8rem}button:disabled{opacity:.5;cursor:not-allowed}.btn-row{flex-wrap:wrap;gap:.5rem;display:flex}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.6rem .5rem;font-size:.92rem}th{color:var(--muted);font-weight:600}tr:hover td{background:var(--panel-2)}.num{text-align:right;font-variant-numeric:tabular-nums}.pill{background:var(--panel-2);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.15rem .5rem;font-size:.72rem;display:inline-block}.pill.manager{color:var(--accent);background:#f2c14e26;border-color:#0000}.pill.status-1{color:var(--win)}.pill.status-2{color:var(--muted)}.chip-dot{vertical-align:middle;border:2px solid #fff9;border-radius:50%;width:16px;height:16px;margin-right:.4rem;display:inline-block}.pos{color:var(--win)}.neg{color:var(--loss)}.error{color:var(--danger);margin-top:.5rem;font-size:.85rem}.muted{color:var(--muted)}.stat-tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.8rem;display:grid}.tile{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.tile .v{font-size:1.6rem;font-weight:700}.tile .l{color:var(--muted);font-size:.8rem}.empty{color:var(--muted);text-align:center;padding:2rem}.center{place-items:center;min-height:60vh;display:grid}.drag-handle{cursor:grab;color:var(--muted);padding:0 .4rem}.inline-list{flex-direction:column;gap:.5rem;display:flex}.table-grid{flex-wrap:wrap;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.table-grid .card{flex:0 auto;min-width:240px;max-width:100%;margin-bottom:0;padding:.75rem .85rem;overflow-x:auto}.table-card-head{justify-content:space-between;align-items:center;margin-bottom:.35rem;display:flex}.table-card-head h3{margin:0;font-size:1rem}.seat-list td{padding:.3rem;font-size:.88rem}.seat-list td.seat{text-align:right;width:1.6rem;color:var(--muted);font-variant-numeric:tabular-nums}.seat-list td.actions{text-align:right;white-space:nowrap}.seat-list td.move-form{background:var(--panel-2);padding:.5rem}.seat-list td.move-form label:first-child{margin-top:0}.purchase-cell{justify-content:flex-end;align-items:center;gap:.25rem;display:inline-flex}.purchase-cell input{text-align:right;opacity:.85;cursor:default;width:80px}.purchase-cell button{min-width:1.8rem}.purchase-cell .purchase-count{text-align:left;min-width:1.6rem;font-size:.75rem}.clock-card{text-align:center}.clock-head{text-align:left;justify-content:space-between;align-items:center;display:flex}.clock-level{color:var(--accent);font-size:1.3rem;font-weight:700}.clock-time{font-variant-numeric:tabular-nums;letter-spacing:.02em;margin:.25rem 0 .5rem;font-size:clamp(3.5rem,12vw,7rem);font-weight:800;line-height:1.05}.clock-time.ending{color:var(--loss)}.clock-bar{background:var(--panel-2);border-radius:999px;max-width:640px;height:6px;margin:0 auto .9rem;overflow:hidden}.clock-bar>div{background:var(--accent);height:100%;transition:width .25s linear}.clock-blinds{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:.15em 1.1em;font-size:clamp(2.2rem,6vw,4rem);display:flex}.blind-item{flex-direction:column;align-items:center;line-height:1.05;display:flex}.blind-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:max(.9rem,.28em);font-weight:600}.clock-blinds strong{font-variant-numeric:tabular-nums;font-weight:800}.clock-next{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:.4rem;display:flex}.clock-controls{justify-content:center;margin-top:1rem}.clock-sound{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;margin-top:.9rem;font-size:.85rem;display:flex}.clock-sound select{width:auto;padding:.3rem .5rem;font-size:.85rem}.clock-sound input[type=range]{width:110px;padding:0}.clock-sound .checkbox{color:var(--text);margin:0;font-size:.85rem}.clock-card.is-fullscreen{background:var(--bg,#0f1115);border:none;border-radius:0;flex-direction:column;justify-content:center;margin:0;padding:2rem 3rem;display:flex}.clock-card.is-fullscreen .clock-level{font-size:3rem}.clock-card.is-fullscreen .clock-time{font-size:min(32vw,45vh)}.clock-card.is-fullscreen .clock-bar{width:100%;max-width:80vw;height:10px}.clock-card.is-fullscreen .clock-blinds{font-size:min(13vw,20vh)}.clock-card.is-fullscreen .clock-next{font-size:1.8rem}.clock-tables{text-align:left;border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1rem}.clock-tables .table-grid{margin-bottom:0}.clock-tables .table-grid .card{background:var(--panel-2)}.clock-tables .seat-list tr:hover td{background:0 0}.clock-tables .seat-list td.move-form{background:var(--panel)}.clock-card.is-fullscreen.has-tables{justify-content:flex-start;padding-top:1rem;padding-bottom:1rem;overflow-y:auto}.clock-card.is-fullscreen>*{flex-shrink:0}.clock-card.is-fullscreen.has-tables .clock-time{margin:0 0 .35rem;font-size:min(13vw,19vh);line-height:1}.clock-card.is-fullscreen.has-tables .clock-level{font-size:1.9rem}.clock-card.is-fullscreen.has-tables .clock-blinds{font-size:min(7vw,10.5vh)}.clock-card.is-fullscreen.has-tables .clock-bar{margin-bottom:.5rem}.clock-card.is-fullscreen.has-tables .clock-controls{margin-top:.6rem}.clock-card.is-fullscreen.has-tables .clock-sound{margin-top:.5rem}.clock-card.is-fullscreen.has-tables .clock-tables{margin-top:.75rem;padding-top:.75rem}.clock-card.is-fullscreen.has-tables .clock-next{margin-top:.2rem;font-size:1.3rem}.clock-card.is-fullscreen .table-card-head h3{font-size:1.4rem}.clock-card.is-fullscreen .seat-list td{padding:.22rem .4rem;font-size:1.2rem}.seat-list td.buy{white-space:nowrap;text-align:right;width:1%}.seat-list td.buy select{width:auto;margin-right:.25rem;padding:.2rem .3rem;font-size:.78rem}.seat-list td.buy .buy-label{margin-right:.3rem;font-size:.75rem}.seat-list td.buy button{min-width:1.7rem}.seat-list td.buy button+button{margin-left:.2rem}.seat-list td.actions{width:1%}.buy-badge{color:var(--accent);vertical-align:middle;background:#f2c14e26;border-radius:999px;margin-left:.35rem;padding:0 .35rem;font-size:.7rem;display:inline-block}.clock-card.is-fullscreen .seat-list td.buy select{font-size:.85rem}.clock-card.is-fullscreen .buy-badge{font-size:.9rem}.seat-list td:nth-child(2){white-space:nowrap}.clock-body{grid-template-columns:1fr;align-items:center;display:grid}.clock-body.has-chips{grid-template-columns:minmax(0,1fr) minmax(0,3.2fr) minmax(0,1fr);gap:1rem}.clock-main{min-width:0}.chip-column{flex-direction:column;gap:.55rem;display:flex}.chip-column.left{align-items:flex-end}.chip-column.right{align-items:flex-start}.chip-row{align-items:center;gap:.6rem;display:flex}.chip-column.left .chip-row{flex-direction:row-reverse}.chip-value{font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:800}.poker-chip{filter:drop-shadow(0 2px 3px #00000080);flex-shrink:0}.clock-card.is-fullscreen .chip-column{gap:min(1.2vh,.8rem)}.clock-card.is-fullscreen .poker-chip{width:min(8vh,84px);height:min(8vh,84px)}.clock-card.is-fullscreen .chip-value{font-size:min(4.2vh,2.4rem)}@media (width<=820px){.clock-body.has-chips{grid-template-columns:1fr}.clock-body.has-chips .clock-main{order:-1}.chip-column{flex-flow:wrap;justify-content:center;align-items:center}.chip-column.left .chip-row{flex-direction:row}}.seat-list button.out-btn{color:var(--accent);border-color:#f2c14e80}.seat-list td.actions button+button{margin-left:.25rem}.out-card .out-pool{font-size:.8rem}.out-card td.seat{text-align:left;width:2.6rem}.out-card td.out-cash{color:var(--win);font-weight:700}.out-card tr.winner td{color:var(--accent);font-weight:700}.clock-card.is-fullscreen .out-card .out-pool{font-size:1rem}.clock-payouts{flex-wrap:wrap;justify-content:center;align-items:center;gap:.3rem 1.1rem;margin-top:.35rem;font-size:1rem;display:flex}.clock-payouts strong{color:var(--win);font-variant-numeric:tabular-nums}.clock-payouts .muted strong{color:var(--text)}.clock-payout-edit{text-align:left;background:var(--panel-2);border-radius:10px;max-width:520px;margin:.75rem auto 0;padding:.75rem}.clock-card.is-fullscreen .clock-payouts{font-size:1.25rem}.clock-resume{z-index:1000;cursor:pointer;color:var(--text);text-align:center;background:#0a0c10e0;border:none;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2rem;display:flex;position:fixed;inset:0}.clock-resume:hover{border:none}.clock-resume-title{color:var(--accent);font-size:clamp(2rem,6vw,4.5rem);font-weight:800}.clock-resume-detail{color:var(--muted);max-width:40ch;font-size:clamp(1rem,2.2vw,1.5rem)}.draft-note{color:var(--accent);background:#f2c14e1f;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.75rem;margin:0 0 .75rem;padding:.5rem .75rem;font-size:.88rem;display:flex}.rsvp-when{margin:.25rem 0 1rem;font-size:1.35rem;font-weight:700}.rsvp-buttons{gap:.75rem;margin-top:.75rem;display:flex}.rsvp-buttons button{flex:1;padding:.8rem;font-size:1.05rem}.rsvp-status{font-weight:700}.rsvp-status.in{color:var(--win)}.rsvp-status.out{color:var(--muted)}.rsvp-counts{flex-wrap:wrap;gap:1rem;margin-bottom:.5rem;font-size:.9rem;display:flex}.rsvp-counts .in{color:var(--win);font-weight:700}.rsvp-list td{padding:.35rem .5rem;font-size:.88rem}.rsvp-answer.in{color:var(--win);font-weight:700}.rsvp-answer.out{color:var(--loss)}.game-title{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.game-title h1{margin:0}.start-picker{flex-direction:column;gap:.5rem;display:flex}.start-picker-dates{flex-wrap:wrap;gap:.4rem;display:flex}.start-picker-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.start-picker-row input[type=date]{width:auto}.start-picker-row select{width:auto;min-width:9rem}.start-picker-summary{color:var(--accent);font-size:.88rem}.start-picker .error{margin-top:0}.card-toggle{color:inherit;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;padding:0;display:flex}.card-toggle:hover{border:none}.card-toggle:hover h3{color:var(--accent)}.card-toggle h3{margin:0}.card-toggle-chevron{color:var(--muted);width:1rem}.card-toggle-summary{font-size:.88rem}.payout-unassigned{color:var(--accent);margin-top:.5rem;font-size:.85rem}.card.confirm-danger{border-color:var(--danger)}.report-filters .row>div>label:first-child{margin-top:0}.segmented{display:inline-flex}.segmented button{border-radius:0}.segmented button:first-child{border-radius:8px 0 0 8px}.segmented button:last-child{border-radius:0 8px 8px 0}.segmented button+button{margin-left:-1px}.segmented button.active{background:var(--felt);color:#fff;border-color:var(--felt)}.period-step{align-items:center;gap:.35rem;display:flex}.period-step select{width:auto}.report-summary{margin-bottom:.5rem;font-size:.85rem}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--text)}tfoot th{border-bottom:none;border-top:2px solid var(--border);color:var(--text)}.player-picker{position:relative}.picker-box{background:var(--panel-2);border:1px solid var(--border);cursor:text;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.35rem;padding:.3rem .4rem;display:flex}.picker-box:focus-within{border-color:var(--accent)}.picker-box input{background:0 0;border:none;flex:1;width:auto;min-width:12rem;padding:.3rem}.pill.picked{color:var(--text);align-items:center;gap:.3rem;font-size:.82rem;display:inline-flex}.pill.picked button{color:var(--muted);background:0 0;border:none;padding:0 .2rem;line-height:1}.pill.picked button:hover{color:var(--danger)}.picker-clear{padding:.2rem .5rem;font-size:.78rem}.picker-list{z-index:10;background:var(--panel);border:1px solid var(--border);border-radius:8px;max-height:18rem;margin:.25rem 0 0;padding:.25rem 0;list-style:none;position:absolute;left:0;right:0;overflow-y:auto;box-shadow:0 6px 18px #0006}.picker-list li{cursor:pointer;padding:.45rem .75rem}.picker-list li.hi{background:var(--panel-2);color:var(--accent)}.print-only{display:none}@media print{@page{margin:1.5cm}html,body{color:#000!important;background:#fff!important}.sidebar,.topbar,.report-filters,.report-summary{display:none!important}.app{min-height:0;display:block}.content{max-width:none;padding:0}.print-only{display:block}.print-head{margin-bottom:1rem;font-size:11pt}.print-head h1{margin:0 0 .3rem;font-size:16pt}.print-head .printed{color:#555;margin-top:.3rem;font-size:9pt}.report-card{box-shadow:none;background:0 0;border:none;padding:0}table{font-size:10pt}th,td{border-bottom:1px solid #bbb;padding:.3rem .4rem;color:#000!important}tr:hover td{background:0 0}thead{display:table-header-group}tr{break-inside:avoid}tfoot th{border-top:2px solid #000}.pill{background:0 0;border:1px solid #888;color:#333!important}}.card.notice-card{border-color:var(--accent);color:var(--accent);justify-content:space-between;align-items:center;gap:1rem;display:flex}.popup-backdrop{z-index:1000;background:#0000008c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.card.popup{border-color:var(--danger);text-align:center;width:100%;max-width:420px;margin:0}.card.popup h3{margin-top:0}.popup-reference{font-size:1.05rem}.popup-reference strong{letter-spacing:.08em;color:var(--accent);font-family:ui-monospace,Consolas,monospace}.card.popup button{min-width:6rem}.error-log td{vertical-align:top;font-size:.85rem}.error-log tr.open td{background:var(--panel-2)}.error-log .ref{white-space:nowrap;color:var(--accent);font-family:ui-monospace,Consolas,monospace}.error-log .path{word-break:break-all}.error-detail{white-space:pre-wrap;word-break:break-word;background:var(--bg,#0f1115);border:1px solid var(--border);border-radius:8px;max-height:22rem;margin:.4rem 0 0;padding:.6rem;font-family:ui-monospace,Consolas,monospace;font-size:.78rem;overflow:auto}.notice-text{color:var(--win);font-size:.9rem}.texting-consent{margin-top:.5rem}.checkbox.consent-line{color:var(--text);align-items:flex-start;margin:.4rem 0;font-size:.82rem;line-height:1.35}.checkbox.consent-line input{flex-shrink:0;margin-top:.15rem}.consent-note{margin:.4rem 0 0;font-size:.8rem}.pill.status-3{color:var(--loss)}.public{flex-direction:column;min-height:100vh;display:flex}.public-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.public-brand{color:var(--accent);font-size:1.15rem;font-weight:700;text-decoration:none}.public-main{flex:1;width:100%;max-width:860px;margin:0 auto;padding:1.5rem;line-height:1.55}.public-main h2{margin-top:1.75rem}.public-footer{text-align:center;border-top:1px solid var(--border);padding:1.25rem;font-size:.85rem}.hero{text-align:center;padding:2rem 0 1rem}.hero h1{font-size:clamp(1.6rem,4vw,2.4rem)}.features{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem;margin:1.5rem 0;display:grid}.features .card{margin:0}.features h3{margin-top:0}.sms-preview{max-width:480px}.sms-samples th{vertical-align:top;width:30%;font-weight:600}.sms-samples td{font-family:ui-monospace,Consolas,monospace;font-size:.85rem}
