.swimPoolDialog,.swimPoolSession{--sp-bg:#181b20;--sp-text:#f2f4f7;--sp-muted:#bec5cf;--sp-border:#555d68;--sp-soft:#252a31;--sp-accent:#ffd33d;--sp-warning:#ffe39b;color:var(--sp-text);font-family:inherit;letter-spacing:0}
body[data-theme="light"] .swimPoolDialog,body[data-theme="light"] .swimPoolSession{--sp-bg:#fff;--sp-text:#18212d;--sp-muted:#475465;--sp-border:#bac3cf;--sp-soft:#f2f5f8;--sp-accent:#e3ad00;--sp-warning:#704800}
.swimPoolDialog{box-sizing:border-box;width:min(920px,calc(100% - 24px));max-width:none;max-height:calc(100dvh - 24px);margin:auto;padding:0;background:var(--sp-bg);border:1px solid var(--sp-border);border-radius:8px;overflow:auto;box-shadow:0 16px 60px #0006;font-size:14px}
.swimPoolDialog::backdrop{background:#0009}
.swimPoolDialog *{box-sizing:border-box;letter-spacing:0}
.swimPoolDialog header,.swimPoolDialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;background:var(--sp-bg)}
.swimPoolDialog header{border-bottom:1px solid var(--sp-border)}
.swimPoolDialog footer{border-top:1px solid var(--sp-border);flex-wrap:wrap}
.swimPoolDialog h2{font-size:20px;margin:0;color:var(--sp-text)}
.swimPoolDialog h3{font-size:16px;margin:0 0 8px;color:var(--sp-text)}
.swimPoolDialog p{line-height:1.5;margin:8px 0;color:var(--sp-muted)}
.swimPoolContent{padding:16px}
.swimPoolFields{display:grid;grid-template-columns:minmax(170px,2fr) minmax(120px,1fr) minmax(110px,1fr) auto;align-items:end;gap:12px;margin:16px 0}
.swimPoolFields label{display:grid;gap:6px;font-weight:600;color:var(--sp-text)}
.swimPoolDialog input,.swimPoolDialog select,.swimPoolDialog button{font:inherit;max-width:100%;min-width:0;min-height:44px;padding:9px 12px;border:1px solid var(--sp-border);border-radius:6px;color:var(--sp-text);background:var(--sp-soft);box-shadow:none}
.swimPoolDialog select,.swimPoolDialog input[type="number"]{width:100%}
.swimPoolDialog button{cursor:pointer;font-weight:700;white-space:normal}
.swimPoolDialog button.swimPoolPrimary{background:var(--sp-accent);color:#111;border-color:var(--sp-accent)}
.swimPoolDialog button:disabled{opacity:.5;cursor:not-allowed}
.swimPoolDialog :focus-visible,.swimPoolSession :focus-visible{outline:3px solid #168fb0;outline-offset:3px}
.swimPoolDialog [data-pool-close]{width:44px;flex:0 0 44px;font-size:24px;line-height:1}
.swimPoolPreviewSession{border-top:1px solid var(--sp-border);padding:16px 0}
.swimPoolDialog .swimPoolBalance{display:inline-block;color:var(--sp-text);margin-left:8px}
.swimPoolDialog .swimPoolWarning{color:var(--sp-warning);font-weight:600}
.swimPoolDialog summary{padding:10px 0;cursor:pointer;color:var(--sp-text)}
.swimPoolTable{overflow-x:auto}
.swimPoolDialog table{width:100%;border-collapse:collapse;table-layout:fixed}
.swimPoolDialog th,.swimPoolDialog td{padding:10px 8px;text-align:left;vertical-align:top;border-bottom:1px solid var(--sp-border);overflow-wrap:anywhere;background:var(--sp-bg);color:var(--sp-text);font-size:13px}
.swimPoolDialog th{background:var(--sp-soft);font-weight:700}
.swimPoolDialog small{color:var(--sp-muted)}
.swimPoolAccept{display:flex;align-items:center;gap:10px;padding:12px 0;color:var(--sp-text);line-height:1.5}
.swimPoolDialog input[type="checkbox"]{width:22px;height:22px;min-height:22px;flex-shrink:0;accent-color:#168fb0}
.swimPoolRestore{display:flex;flex-wrap:wrap;gap:8px}
.swimPoolDialog [hidden]{display:none!important}
/* Keep the host athlete mobile table/card transforms outside this dialog. */
#swimPoolDialog .swimPoolPreviewSession{background:transparent!important;border:0!important;border-top:1px solid var(--sp-border)!important;border-radius:0!important;box-shadow:none!important;padding:16px 0!important}
#swimPoolDialog table{display:table!important;width:100%!important;min-width:0!important;background:transparent!important;border:0!important}
#swimPoolDialog thead{display:table-header-group!important}
#swimPoolDialog tbody{display:table-row-group!important}
#swimPoolDialog tr{display:table-row!important;border:0!important;border-radius:0!important;background:transparent!important;padding:0!important}
#swimPoolDialog td,#swimPoolDialog th{display:table-cell!important;border:0!important;border-bottom:1px solid var(--sp-border)!important;padding:10px 6px!important;text-align:left!important;color:var(--sp-text)!important;background:var(--sp-bg)!important}
#swimPoolDialog th{background:var(--sp-soft)!important}
#swimPoolDialog td:before{display:none!important}
#swimPoolDialog button,#swimPoolDialog input,#swimPoolDialog select{border-radius:6px!important}
#swimPoolDialog #swimPoolApply{background:var(--sp-accent)!important;color:#111!important;border-color:var(--sp-accent)!important}
#swimPoolDialog [data-pool-close]{width:44px!important;min-height:44px!important}
#swimPoolDialog input[type="checkbox"]{width:22px!important;min-height:22px!important}
.swimPoolSession{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:8px 0;padding:8px 0;border-top:1px solid var(--sp-border);font-size:12px}
.swimPoolSession>span{color:var(--sp-text);overflow-wrap:anywhere}
.swimPoolSession button.btn{min-height:40px;padding:8px 10px;font:inherit;font-weight:700;background:var(--sp-soft);color:var(--sp-text);border:1px solid var(--sp-border);border-radius:6px;white-space:normal}
@media(max-width:767px){.swimPoolFields{grid-template-columns:1fr 1fr}.swimPoolFields>label:first-child{grid-column:1/-1}.swimPoolDialog footer{align-items:stretch}.swimPoolRestore{width:100%}.swimPoolRestore button{flex:1}.swimPoolDialog footer>.swimPoolPrimary{width:100%}.swimPoolContent{padding:12px}.swimPoolDialog th,.swimPoolDialog td{padding:8px 4px;font-size:12px}.swimPoolDialog .swimPoolBalance{display:block;margin:4px 0}}
@media print{.swimPoolDialog,.swimPoolSession button,[data-pool-open="0"]{display:none!important}}
