:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f1ee;color:#211c1d;--bg: #f4f1ee;--panel: #ffffff;--panel-2: #f8f5f2;--panel-3: #111111;--border: #ded8d3;--text: #211c1d;--muted: #716b68;--primary: #ed1c24;--primary-strong: #c9151c;--primary-soft: #fff1f2;--green: #16a34a;--green-strong: #15803d;--blue: #2563eb;--amber: #d97706;--red: #ed1c24;--violet: #7c3aed;--gray: #64748b;--body-gradient: radial-gradient(circle at top left, rgba(237, 28, 36, .12), transparent 34rem), linear-gradient(135deg, #fffaf6 0%, var(--bg) 42%, #ece7e2 100%);--sidebar-bg: linear-gradient(180deg, #ffffff 0%, #fbf8f5 58%, #f1ece7 100%);--navbar-bg: rgba(255, 255, 255, .88);--login-bg: radial-gradient(circle at 20% 12%, rgba(237, 28, 36, .24), transparent 24rem), linear-gradient(135deg, #111111 0%, #2a2021 45%, #f4f1ee 45.2%, #ffffff 100%);--public-bg: radial-gradient(circle at 15% 10%, rgba(237, 28, 36, .2), transparent 28rem), linear-gradient(135deg, #111111 0%, #241d1e 40%, #f4f1ee 40.2%, #ffffff 100%);--input-bg: #ffffff;--chip-bg: #ffffff;--nav-text: #403839;--label-text: #403839;--table-head: #595250;--datagrid-bg: #ffffff;--datagrid-header-bg: #f8f5f2;--datagrid-footer-bg: #fbf8f5;--datagrid-hover-bg: #fff1f2;--datagrid-menu-bg: #ffffff;--datagrid-scrollbar: rgba(237, 28, 36, .42);--success-soft: #ecfdf3;--success-text: #14532d;--danger-soft: #fff1f2;--danger-text: #991b1b;--row-alt: #f8f5f2;--shadow-soft: 0 12px 38px rgba(17, 17, 17, .06);--shadow-card: 0 10px 28px rgba(17, 17, 17, .05);--shadow-large: 0 24px 90px rgba(17, 17, 17, .22);--overlay: rgba(2, 6, 11, .72)}:root[data-theme=dark]{color-scheme:dark;background:#151112;color:#f8f3f0;--bg: #151112;--panel: #1f1a1b;--panel-2: #2a2325;--panel-3: #080707;--border: #403638;--text: #f8f3f0;--muted: #b9adaa;--primary: #ff3b42;--primary-strong: #ed1c24;--primary-soft: #391719;--green: #22c55e;--green-strong: #16a34a;--blue: #60a5fa;--amber: #f59e0b;--red: #ff3b42;--violet: #a78bfa;--gray: #94a3b8;--body-gradient: radial-gradient(circle at top left, rgba(237, 28, 36, .18), transparent 34rem), linear-gradient(135deg, #0f0c0d 0%, #151112 48%, #21191b 100%);--sidebar-bg: linear-gradient(180deg, #181415 0%, #211b1d 58%, #151112 100%);--navbar-bg: rgba(31, 26, 27, .9);--login-bg: radial-gradient(circle at 20% 12%, rgba(237, 28, 36, .2), transparent 24rem), linear-gradient(135deg, #080707 0%, #151112 55%, #261c1e 100%);--public-bg: radial-gradient(circle at 15% 10%, rgba(237, 28, 36, .18), transparent 28rem), linear-gradient(135deg, #080707 0%, #151112 45%, #261c1e 100%);--input-bg: #171314;--chip-bg: #241f20;--nav-text: #eee6e2;--label-text: #eee6e2;--table-head: #d8ccc8;--datagrid-bg: #1f1a1b;--datagrid-header-bg: #171314;--datagrid-footer-bg: #241f20;--datagrid-hover-bg: #2a2325;--datagrid-menu-bg: #241f20;--datagrid-scrollbar: rgba(255, 59, 66, .48);--success-soft: rgba(34, 197, 94, .14);--success-text: #bbf7d0;--danger-soft: rgba(237, 28, 36, .15);--danger-text: #fecdd3;--row-alt: #282223;--shadow-soft: 0 16px 42px rgba(0, 0, 0, .34);--shadow-card: 0 14px 32px rgba(0, 0, 0, .28);--shadow-large: 0 24px 90px rgba(0, 0, 0, .48);--overlay: rgba(0, 0, 0, .78)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--body-gradient);color:var(--text)}html,body,#root{max-width:100%;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:24px;height:100vh;padding:22px 16px;border-right:1px solid var(--border);background:var(--sidebar-bg);box-shadow:var(--shadow-soft)}.brand,.login-brand{display:flex;align-items:center;gap:12px}.logo-link{color:inherit;text-decoration:none}.logo-link:hover{color:inherit}.brand{min-height:78px;padding:6px 4px 18px;border-bottom:3px solid var(--primary)}.brand-logo{display:block;object-fit:contain}.sidebar-logo{width:190px;max-width:100%;height:auto}.login-logo{width:min(310px,100%);height:auto;margin:0 auto}:root[data-theme=dark] .brand,:root[data-theme=dark] .login-brand{background:transparent}:root[data-theme=dark] .brand-logo{filter:drop-shadow(0 10px 18px rgba(0,0,0,.32))}:root[data-theme=dark] .login-brand p{color:var(--muted)}:root[data-theme=dark] .public-availability-hero img{filter:drop-shadow(0 10px 18px rgba(0,0,0,.32))}.brand strong,.login-brand h1{display:block;margin:0;font-size:20px}.brand small,.login-brand p,.navbar p,.page-title p,.muted{margin:0;color:var(--muted)}.brand-mark{display:grid;width:40px;height:40px;place-items:center;border-radius:8px;background:linear-gradient(135deg,#22c55e,#38bdf8);color:#07110c;font-weight:900}.brand-mark.large{width:54px;height:54px;font-size:26px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sidebar nav{display:grid;gap:6px}.sidebar a,.sidebar-logout,.profile-pill,.theme-toggle{display:flex;align-items:center;gap:10px;min-height:42px;padding:10px 12px;border:1px solid transparent;border-radius:8px;color:var(--nav-text)}.sidebar a.active,.sidebar a:hover,.sidebar-logout:hover,.profile-pill:hover,.theme-toggle:hover{border-color:#ed1c2433;background:var(--primary-soft);color:var(--text)}.sidebar .brand.logo-link{min-height:78px;padding:6px 4px 18px;border:0;border-bottom:3px solid var(--primary);border-radius:0;background:transparent;color:inherit}.sidebar .brand.logo-link:hover{border-bottom-color:var(--primary);background:transparent;color:inherit}.sidebar-logout,.theme-toggle{margin-top:auto;width:100%;background:transparent}.theme-toggle{margin-top:0;width:auto}.navbar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.navbar-actions .theme-toggle,.navbar-actions .profile-pill{width:42px;justify-content:center;padding:0}.navbar-actions .fullscreen-toggle{width:44px;min-height:44px;flex-shrink:0;touch-action:manipulation}.navbar-actions .pwa-install-button{width:auto;min-height:44px;padding:0 12px;gap:8px;touch-action:manipulation}dialog.pwa-install-dialog{color:var(--text);width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0}.pwa-install-dialog::backdrop{background:#0009}.pwa-install-dialog li{margin-bottom:10px}.navbar .pwa-orientation-hint{max-width:42rem;margin:8px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}.fullscreen-toggle[aria-pressed=true]{color:var(--text);background:var(--primary-soft)}.fullscreen-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.floating-theme-toggle{position:fixed;z-index:10;top:20px;right:20px;border-color:#ed1c2433;background:var(--panel);box-shadow:var(--shadow-card)}.main-panel{min-width:0}html:has(.dashboard-page),body:has(.dashboard-page){width:100%;height:100vh;height:100dvh;overflow:hidden}body:has(.dashboard-page) #root,body:has(.dashboard-page) .app-shell,.app-shell.dashboard-layout{width:100%;height:100vh;height:100dvh;max-width:100%;overflow:hidden}.dashboard-layout .sidebar{gap:12px;padding:14px 12px;overflow:hidden}.dashboard-layout .brand{min-height:56px;padding:4px 4px 10px}.dashboard-layout .sidebar-logo{width:150px}.dashboard-layout .sidebar a,.dashboard-layout .sidebar-logout{min-height:36px;padding:7px 10px}.main-panel:has(.dashboard-page),.dashboard-layout .main-panel{height:100vh;height:100dvh;overflow:hidden}.main-panel:has(.dashboard-page) .navbar,.dashboard-layout .navbar{min-height:64px;padding:10px 24px}.main-panel:has(.dashboard-page) .navbar h1,.dashboard-layout .navbar h1{font-size:20px;line-height:1.1}.main-panel:has(.dashboard-page) .navbar p,.dashboard-layout .navbar p{font-size:13px}.main-panel:has(.dashboard-page) .page-wrap,.dashboard-layout .page-wrap{height:calc(100vh - 64px);height:calc(100dvh - 64px);padding:12px;overflow:hidden}.navbar{position:sticky;z-index:5;top:0;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;padding:16px 28px;border-bottom:1px solid var(--border);background:var(--navbar-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.navbar h1,.page-title h2,.panel h3{margin:0}.page-wrap{padding:28px}.page-stack{display:grid;gap:22px}.page-title,.panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.panel{padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:var(--shadow-soft)}.panel.narrow{max-width:760px}.stats-grid,.table-grid,.dashboard-grid{display:grid;gap:16px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid{grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr)}.dashboard-page{height:calc(100vh - 132px);min-height:0;max-width:100%;overflow:hidden;gap:12px;grid-template-rows:auto minmax(0,1fr)}.main-panel:has(.dashboard-page) .dashboard-page,.dashboard-layout .dashboard-page{height:100%;overflow:hidden}.dashboard-stats{gap:10px}.dashboard-stats .stat-card{min-height:72px;padding:12px 14px}.dashboard-stats .stat-card span{font-size:13px}.dashboard-stats .stat-card strong{margin-top:4px;font-size:22px}.dashboard-compact-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.9fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:12px;max-width:100%;min-height:0;overflow:hidden}.dashboard-compact-grid.no-closures .dashboard-servers-panel{grid-row:1 / 3}.dashboard-panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;padding:12px;overflow:hidden}.dashboard-sessions-panel{grid-row:1 / 3}.dashboard-page .panel-header{min-height:28px;margin-bottom:8px}.dashboard-page .panel-header h3{font-size:16px}.dashboard-page .table-shell{width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;border-radius:10px}.dashboard-page .mui-table-shell .MuiDataGrid-root{border-radius:10px}.dashboard-page .mui-table-shell .MuiDataGrid-columnHeader,.dashboard-page .mui-table-shell .MuiDataGrid-cell{padding-right:10px;padding-left:10px;font-size:13px}.dashboard-page table{min-width:0;table-layout:fixed}.dashboard-page th,.dashboard-page td{overflow:hidden;padding:8px 10px;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.dashboard-page .empty-cell{padding:24px 12px}.tables-sections{display:grid;gap:26px}.table-section{display:grid;gap:16px}.table-section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:10px;border-bottom:2px solid rgba(237,28,36,.18)}.table-section-header h3{margin:0;font-size:22px}.table-section-header p{margin:4px 0 0;color:var(--muted)}.table-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}.table-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card,.table-card{border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:var(--shadow-card)}.stat-card{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:108px;padding:18px}.stat-card span{display:block;color:var(--muted)}.stat-card strong{display:block;margin-top:8px;font-size:28px}.cash-closed-banner{display:grid;gap:6px;padding:14px 16px;border:1px solid rgba(34,197,94,.32);border-radius:14px;background:var(--success-soft);color:var(--success-text)}.cash-closed-banner div{display:flex;align-items:center;gap:8px}.cash-closed-banner p{margin:0;color:var(--success-text)}.tone-green svg{color:var(--green)}.tone-red svg{color:var(--primary)}.tone-blue svg{color:var(--blue)}.tone-amber svg{color:var(--amber)}.tone-violet svg{color:var(--violet)}.table-card{position:relative;isolation:isolate;display:grid;gap:16px;min-height:224px;padding:16px;overflow:hidden;border-color:#ffffff24;border-top-width:4px;background:#171112;color:#fff}.table-card:before,.table-card:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";pointer-events:none}.table-card:before{z-index:-2;background-position:center;background-size:cover;transform:scale(1.03)}.table-card:after{z-index:-1;background:linear-gradient(90deg,#080506e6,#080506b3 50%,#0805066b),linear-gradient(180deg,#0805061f,#080506d1)}.table-card-snooker:before{background-image:url(/assets/snooker-card-bg-CcPKWKSo.png)}.table-card-pool:before{background-image:url(/assets/pool-card-bg-D0yGx4J4.png)}.table-card>*{position:relative;z-index:1}.status-disponible{border-top-color:var(--green)}.status-occupee{border-top-color:var(--amber)}.status-reservee{border-top-color:var(--blue)}.status-maintenance{border-top-color:var(--gray)}.table-card-top,.card-actions,.row-actions,.form-actions,.segmented{display:flex;align-items:center;gap:8px}.table-card-top{justify-content:space-between}.table-card h3{margin:0;font-size:20px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.62)}.table-card p{margin:4px 0 0;color:#ffffffc7;text-shadow:0 1px 2px rgba(0,0,0,.54)}.status-chip,.timer{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border:1px solid var(--border);border-radius:999px;background:var(--chip-bg);color:var(--text);white-space:nowrap}.timer{gap:5px;min-width:112px;min-height:24px;padding:3px 9px;border-color:#22c55e40;background:color-mix(in srgb,var(--success-soft) 72%,transparent);color:var(--green);font-size:12px;line-height:1;font-variant-numeric:tabular-nums;font-weight:700}.timer svg{flex:0 0 auto}.timer strong{min-width:58px;font-weight:800;text-align:right}.timer-label{color:currentColor;font-size:11px;font-weight:700;opacity:.82}.timer-planned{border-color:color-mix(in srgb,var(--blue) 34%,var(--border));background:color-mix(in srgb,var(--blue) 12%,var(--chip-bg));color:var(--blue)}.timer-ended,.timer-overrun{border-color:#ed1c2459;background:var(--danger-soft);color:var(--primary)}.table-meta,.profile-list{display:grid;gap:10px;margin:0}.profile-panel{position:relative;padding-right:72px}.profile-password-button{position:absolute;top:16px;right:16px;z-index:1;width:42px;min-height:42px;border-color:#ed1c2457;background:linear-gradient(135deg,var(--primary),var(--primary-strong));color:#fff;box-shadow:0 10px 22px #ed1c243d}.profile-password-button:hover{border-color:#ed1c2475;background:linear-gradient(135deg,var(--primary-strong),var(--primary));color:#fff;transform:translateY(-1px)}.table-meta div,.profile-list div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px}dt{color:var(--muted)}dd{margin:0}.table-card dt{color:#ffffffb8;text-shadow:0 1px 2px rgba(0,0,0,.54)}.table-card dd{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.54)}.table-card .status-chip,.table-card .timer,.table-card .icon-button{border-color:#ffffff38;background:#0c0809ad;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.table-card .button.primary{box-shadow:0 10px 22px #ed1c2440}.button,.icon-button,.segmented button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:9px 13px;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);color:var(--text)}.button.small{min-height:32px;padding:6px 10px;font-size:13px}.button.full{width:100%}.button.primary,.segmented button.active{border-color:#ed1c2452;background:linear-gradient(135deg,var(--primary),var(--primary-strong));color:#fff}.button.success{border-color:#22c55e59;background:var(--success-soft);color:var(--success-text)}.button.danger{border-color:#ef444461;background:var(--danger-soft);color:var(--danger-text)}.button.ghost{background:transparent}.icon-button{width:38px;padding:0}.table-shell{min-width:0;height:min(var(--table-height, 376px),calc(100vh - 220px));overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--datagrid-bg)}.mui-table-shell .MuiDataGrid-root{width:100%;height:100%;border-radius:14px;background:var(--datagrid-bg)}.mui-table-shell .MuiDataGrid-main{min-width:0}.mui-table-shell .MuiDataGrid-columnHeader,.mui-table-shell .MuiDataGrid-cell{padding-right:14px;padding-left:14px}.mui-table-shell .MuiDataGrid-cell:focus,.mui-table-shell .MuiDataGrid-cell:focus-within,.mui-table-shell .MuiDataGrid-columnHeader:focus,.mui-table-shell .MuiDataGrid-columnHeader:focus-within{outline:none}.mui-table-shell .MuiDataGrid-columnSeparator{color:var(--border)}.mui-table-shell .MuiDataGrid-virtualScroller{background:var(--datagrid-bg)}.mui-table-shell .MuiDataGrid-scrollbar{scrollbar-color:var(--datagrid-scrollbar) transparent}.mui-table-shell .row-actions{justify-content:flex-end;flex-wrap:nowrap}.compact-actions{width:100%;gap:8px}.mui-table-shell .session-actions{justify-content:flex-end}.table-action-button{width:40px;min-width:40px;min-height:40px;padding:0}.table-action-button svg{flex:0 0 auto}.MuiDataGrid-menu .MuiPaper-root,.MuiDataGrid-panel .MuiPaper-root,.MuiDataGrid-columnsManagement,.MuiDataGrid-filterForm,.MuiPopover-root .MuiMenu-paper{border:1px solid var(--border);background:var(--datagrid-menu-bg)!important;color:var(--text);box-shadow:var(--shadow-large)}.MuiDataGrid-menu .MuiMenuItem-root,.MuiPopover-root .MuiMenuItem-root,.MuiDataGrid-panel .MuiFormLabel-root,.MuiDataGrid-panel .MuiInputBase-root,.MuiDataGrid-panel .MuiTypography-root{color:var(--text)}.MuiDataGrid-menu .MuiMenuItem-root:hover,.MuiPopover-root .MuiMenuItem-root:hover{background:var(--datagrid-hover-bg)}.MuiDataGrid-panel .MuiInputBase-root{border:1px solid var(--border);border-radius:8px;background:var(--input-bg)}.MuiDataGrid-panel .MuiSvgIcon-root,.MuiPopover-root .MuiSvgIcon-root{color:var(--muted)}table{width:100%;min-width:760px;border-collapse:collapse}th,td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}th{color:var(--table-head);font-size:13px;font-weight:700}td{color:var(--text)}tr:last-child td{border-bottom:0}.empty-cell{padding:32px;color:var(--muted);text-align:center}.form-grid,.filters-bar{display:grid;gap:14px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-form{align-items:start}.assignment-mode{display:grid;gap:7px;min-width:0}.assignment-mode-tabs{flex-wrap:wrap}.assignment-section-field{display:grid;gap:8px;min-width:0}.assignment-section-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.assignment-section-option{display:grid;gap:6px;min-width:0;min-height:86px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);color:var(--text);text-align:left}.assignment-section-option strong,.assignment-section-option span{overflow:hidden;text-overflow:ellipsis}.assignment-section-option strong{font-size:15px}.assignment-section-option span{color:var(--muted);font-size:13px;line-height:1.35}.assignment-section-option:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary) 48%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.assignment-section-option:disabled{cursor:not-allowed;opacity:.55}.assignment-section-option.active{border-color:#ed1c2461;background:var(--primary-soft);color:var(--primary)}.assignment-section-option.active span{color:currentColor}.assignment-form .form-actions{grid-column:1 / -1}.session-start-form{grid-template-columns:1fr}.session-start-selects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.session-start-selects.has-custom-duration{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(130px,.7fr)}.session-start-selects.single-select{grid-template-columns:minmax(0,1fr)}.session-start-selects.single-select.has-custom-duration{grid-template-columns:minmax(0,1fr) minmax(130px,.7fr)}.session-start-selects label{min-width:0}.custom-select-field{position:relative;display:grid;gap:7px;min-width:0;color:var(--label-text)}.custom-select-label{font-size:14px;font-weight:700}.custom-select-button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:46px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--border) 86%,var(--text) 14%);border-radius:10px;background:linear-gradient(90deg,transparent calc(100% - 42px),color-mix(in srgb,var(--panel-2) 88%,transparent) calc(100% - 42px)),linear-gradient(180deg,color-mix(in srgb,var(--input-bg) 92%,#ffffff 8%),var(--input-bg));color:var(--text);text-align:left;box-shadow:inset 0 1px #ffffff0a;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.custom-select-button:hover{border-color:color-mix(in srgb,var(--primary) 38%,var(--border))}.custom-select-button:disabled{cursor:not-allowed;background:color-mix(in srgb,var(--panel-2) 78%,var(--input-bg));color:var(--muted);opacity:.72}.custom-select-button[aria-expanded=true]{border-color:color-mix(in srgb,var(--primary) 72%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent),inset 0 1px #ffffff0f}.custom-select-value{min-width:0;overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.custom-select-placeholder{color:var(--muted)}.custom-select-chevron{flex:0 0 auto;color:var(--muted);transition:transform .18s ease}.custom-select-button[aria-expanded=true] .custom-select-chevron{transform:rotate(180deg)}.custom-select-menu{position:fixed;z-index:120;display:grid;gap:4px;max-height:min(260px,calc(100vh - 32px));margin:0;padding:6px;overflow-y:auto;border:1px solid color-mix(in srgb,var(--border) 86%,var(--text) 14%);border-radius:12px;background:color-mix(in srgb,var(--panel) 96%,var(--bg));box-shadow:var(--shadow-large);list-style:none}.custom-select-option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:38px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--text);cursor:pointer;font:inherit;text-align:left;-webkit-user-select:none;user-select:none;transition:background-color .16s ease,color .16s ease}.custom-select-option:hover,.custom-select-option.active{background:var(--primary-soft);color:var(--text)}.custom-select-option.selected{background:color-mix(in srgb,var(--primary) 18%,var(--chip-bg));color:var(--primary);font-weight:800}.custom-select-option.placeholder{color:var(--muted)}.custom-select-option.disabled{cursor:not-allowed;opacity:.54}.custom-select-option.disabled:hover,.custom-select-option.disabled.active{background:transparent;color:var(--muted)}.custom-select-option svg{flex:0 0 auto;color:currentColor}.custom-select-error{color:var(--primary);font-size:12px;font-weight:700}.custom-select-field.has-error .custom-select-button{border-color:var(--primary)}.select-with-hint{display:grid;gap:7px;min-width:0}.panel-filter-select{width:min(225px,100%)}.session-start-selects select,.session-start-selects input{min-height:46px}.filters-bar{grid-template-columns:repeat(6,minmax(130px,1fr));padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.report-filters-panel{display:grid;gap:14px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:var(--shadow-soft)}.report-period-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.report-period-label{display:inline-flex;align-items:center;gap:8px;color:var(--label-text);font-weight:800}.report-period-tabs{flex-wrap:wrap;justify-content:flex-end}.assignment-guided-form{display:grid;gap:12px}.assignment-guided-form .assignment-mode-tabs button{min-height:36px;padding:8px 12px;font-size:14px}.assignment-guided-form .assignment-preview{padding:10px 12px;gap:4px}.assignment-guided-form .form-actions{margin-top:0}.assignment-guided-form .assignment-section-grid{grid-template-columns:1fr;gap:8px}.assignment-guided-form .assignment-section-option{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 14px}.assignment-guided-form .assignment-choice-marker{display:grid;place-items:center;flex:0 0 22px;height:22px;border:1px solid var(--border);border-radius:50%;color:var(--text)}.assignment-guided-form .active .assignment-choice-marker{background:var(--primary);color:#fff;border-color:var(--primary)}.assignment-choice-description{display:grid;gap:4px}.assignment-guided-form .assignment-choice-description strong{color:var(--text)}.assignment-guided-form .assignment-choice-description>span{color:var(--muted)}.assignment-optional-end summary{cursor:pointer;color:var(--muted);font-size:13px}.assignment-optional-end label{display:grid;gap:8px;margin-top:12px}.assignment-preview{display:grid;gap:5px;padding:12px 14px;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;font-size:14px}.assignment-preview span,.assignment-preview small{color:var(--muted)}.assignment-selection-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px}.assignment-selection-bar label{display:flex;align-items:center;gap:8px;font-size:14px}.assignment-selection-bar>span{color:var(--muted);font-size:13px;margin-right:auto}.assignment-selection-bar input[type=checkbox],input.assignment-row-checkbox{width:18px;height:18px;min-height:18px;margin:0;padding:0;accent-color:var(--primary);cursor:pointer;vertical-align:middle}.assignment-removal-list{list-style:none;padding:0;max-height:240px;overflow-y:auto}.assignment-removal-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid var(--border)}.assignment-removal-list span{color:var(--muted)}.report-view-tabs{width:fit-content;flex-wrap:wrap}.report-view-tabs button{min-height:38px;padding:8px 13px;font-weight:800}.report-view-tabs svg{flex:0 0 auto}.report-period-tabs button{min-height:34px;padding:7px 12px;font-size:13px}.report-custom-range,.report-filter-grid{display:grid;gap:12px}.report-custom-range{grid-template-columns:repeat(2,minmax(180px,240px));padding-top:12px;border-top:1px solid var(--border)}.report-filter-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end}.report-filter-reset{min-height:40px}.report-pool-idle-panel,.report-credit-panel{min-width:0;overflow:hidden}.report-text-cell{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-detail-content{display:grid;gap:14px}.server-overview{display:grid;gap:18px;min-width:0}.closure-summary-compact{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,2fr);align-items:center;gap:24px}.closure-summary-compact .closure-total-card{grid-template-columns:1fr}.closure-summary-compact .server-payment-breakdown{padding:0;border:0}.closure-period-caption{margin:0;font-size:13px;color:var(--muted)}.closure-note-disclosure{color:var(--muted);font-size:13px}.closure-note-disclosure summary{cursor:pointer;color:var(--text)}.closure-note-disclosure p{margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.closure-view-switch{flex-wrap:wrap}.closure-payments-filter{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.closure-payments-filter>span{font-size:13px;color:var(--muted)}.closure-payments-filter>:last-child{width:230px;max-width:100%}.closure-payment-responsible{font-size:12px;color:var(--muted);overflow-wrap:anywhere;text-align:right}@media(max-width:600px){.closure-summary-compact{grid-template-columns:1fr;gap:16px}}.server-overview-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.server-overview-heading h3{margin:0 0 4px;font-size:23px}.server-overview-heading p{margin:0;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.server-overview-period{color:var(--muted);font-size:12px;text-align:right}.server-money-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}.server-money-grid>div{padding:15px 18px;border:1px solid var(--border);border-radius:12px;background:var(--panel-2)}.server-money-grid dt{color:var(--muted);font-size:13px;margin-bottom:8px}.server-money-grid dd{margin:0;font-size:clamp(20px,2.3vw,28px);font-weight:750;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.server-money-grid .server-money-paid{background:var(--success-soft)}.server-money-paid dd{color:var(--success-text)}.server-money-grid .server-money-unpaid{border-color:var(--primary)}.server-activity-strip{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:14px;color:var(--muted)}.server-activity-strip strong{color:var(--text)}.server-overview h4{margin:0;font-size:15px}.server-payment-breakdown{display:grid;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--border)}.server-payment-breakdown dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0}.server-payment-breakdown dl>div{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}.server-payment-breakdown dt{color:var(--muted);font-size:13px}.server-payment-breakdown dd{margin:0;font-size:15px;font-weight:650}.server-recent-sessions{display:grid;gap:10px;min-width:0}.server-session-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:12px;overflow:hidden}.server-session-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:11px 15px}.server-session-list li+li{border-top:1px solid var(--border)}.server-session-list li:nth-child(odd){background:var(--panel-2)}.server-session-description,.server-session-payment{display:grid;gap:4px;min-width:0}.server-session-description{overflow-wrap:anywhere}.server-session-description>strong{font-size:14px}.server-session-description small{font-size:12px;color:var(--muted);font-weight:400}.server-session-description>span{font-size:13px;color:var(--muted)}.server-session-payment{justify-items:end;font-size:15px;font-variant-numeric:tabular-nums}.server-payment-status{font-size:12px;padding:3px 8px;border-radius:6px}.server-payment-status.is-paid{color:var(--success-text);background:var(--success-soft)}.server-payment-status.is-unpaid{color:var(--text);background:var(--panel-2);border:1px solid var(--border)}.server-session-pagination{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}.server-session-pagination>span{color:var(--muted);font-size:12px}.server-session-pagination>div{display:flex;gap:8px}@media(max-width:600px){.server-overview-heading{align-items:flex-start;flex-direction:column;gap:6px}.server-money-grid{grid-template-columns:1fr;gap:8px}.server-money-grid>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px}.server-money-grid dt{margin-bottom:0}.server-money-grid dd{font-size:20px}.server-payment-breakdown dl{grid-template-columns:1fr;gap:8px}.server-payment-breakdown dl>div{justify-content:space-between}.server-session-list li{gap:10px;padding:10px}.server-session-description small{display:block;margin-top:3px}}.session-detail-section{display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2)}.session-detail-section h3{margin:0;font-size:17px}.session-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:0}.session-detail-item{display:grid;gap:3px;min-width:0}.session-detail-item dt{color:var(--muted);font-size:12px;font-weight:800}.session-detail-item dd{min-width:0;overflow-wrap:anywhere;font-weight:700}.closure-note{margin:0;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--muted);font-weight:700;line-height:1.45}.closure-detail-table-wrap{min-width:0;overflow-x:auto;border:1px solid var(--border);border-radius:8px}.closure-detail-table{width:100%;min-width:680px;border-collapse:collapse}.closure-detail-table th,.closure-detail-table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.closure-detail-table th{color:var(--table-head);font-size:12px;font-weight:800;background:var(--datagrid-header-bg)}.closure-detail-table td{font-size:13px;font-weight:700}.closure-detail-table tr:last-child td{border-bottom:0}.empty-inline{margin:0;color:var(--muted);font-weight:700}label{display:grid;gap:7px;color:var(--label-text);font-size:14px;font-weight:700}.field-hint{color:var(--muted);font-size:12px;line-height:1.35}.settings-form-section{padding-top:8px;border-top:1px solid var(--border)}.settings-form-section:first-child{padding-top:0;border-top:0}.settings-form-section h3{margin:0;font-size:16px}.settings-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:16px;align-items:start;max-width:1120px}.settings-side-stack,.settings-panel{display:grid;gap:16px}.settings-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--border)}.settings-panel-header h3{margin:0;font-size:18px}.settings-panel-header span{display:block;margin-top:3px;color:var(--muted);font-size:13px;font-weight:700}.settings-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-field-grid label:first-child{grid-column:1 / -1;max-width:460px}.settings-compact-field{max-width:260px}.payment-method-settings{display:grid;gap:0;overflow:hidden;border:1px solid var(--border);border-radius:8px}.payment-method-setting{display:grid;grid-template-columns:minmax(92px,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border);background:transparent}.payment-method-setting:last-child{border-bottom:0}.payment-method-setting strong{display:block;font-size:14px}.payment-state-segmented{gap:3px;padding:3px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2)}.payment-state-segmented button{min-height:32px;padding:6px 10px;border-color:transparent;background:transparent;font-size:12px;font-weight:800;white-space:nowrap}.payment-state-segmented button.active{color:#fff;box-shadow:none}.payment-state-segmented button.active.payment-state-enabled{border-color:color-mix(in srgb,var(--green) 72%,var(--border));background:linear-gradient(135deg,var(--green),var(--green-strong))}.payment-state-segmented button.active.payment-state-disabled{border-color:color-mix(in srgb,var(--red) 72%,var(--border));background:linear-gradient(135deg,var(--red),var(--primary-strong))}.payment-state-segmented button.active.payment-state-hidden{border-color:color-mix(in srgb,var(--amber) 72%,var(--border));background:linear-gradient(135deg,var(--amber),#b45309)}.settings-save-bar{grid-column:1 / -1;display:flex;justify-content:flex-end}.password-modal-form{grid-template-columns:1fr}.password-target{display:grid;gap:3px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2)}.password-target span,.password-target small{color:var(--muted)}.password-target span{font-size:12px;font-weight:700}.password-target strong{color:var(--text)}.assignment-notice{display:grid;gap:16px}.assignment-notice-hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}.assignment-notice-hero strong{display:block;margin-bottom:3px;font-size:19px}.assignment-notice-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;background:var(--success-soft);color:var(--success-text)}.assignment-notice-sections{display:grid;gap:10px}.assignment-notice-section{display:grid;gap:12px;padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--panel-2)}.assignment-notice-section-title{display:flex;align-items:center;gap:8px;color:var(--text)}.assignment-notice-section-title svg{color:var(--green)}.assignment-notice-tables{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.assignment-notice-tables .status-chip{gap:6px;border-radius:12px}.assignment-notice-empty{margin:0;padding:14px;border:1px dashed var(--border);border-radius:12px;color:var(--muted);text-align:center}.assignment-notice-hero p{margin:0;font-size:13px;line-height:1.5}.assignment-notice-count{margin-left:auto;color:var(--muted);font-size:12px}.assignment-notice-table{display:grid;justify-items:center;align-content:center;gap:8px;min-width:0;padding:12px 6px;border:1px solid var(--border);border-radius:9px;background:var(--panel)}.assignment-notice-table strong{font-size:13px;text-align:center;overflow-wrap:anywhere}.assignment-notice-table.is-snooker svg{color:var(--success-text)}.assignment-notice-table.is-pool svg{color:var(--muted)}.assignment-notice-footer .button{width:100%;justify-content:center;gap:10px}.session-end-form{display:grid;gap:18px}.session-end-payment{display:grid;gap:10px;min-width:0;margin:0;padding:0;border:0}.session-end-payment legend{padding:0;color:var(--label-text);font-size:14px;font-weight:800}.payment-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.payment-method-option{position:relative;display:grid;gap:8px;min-width:0;min-height:78px;padding:12px 10px;border:1px solid color-mix(in srgb,var(--border) 88%,var(--text) 12%);border-radius:10px;background:linear-gradient(180deg,color-mix(in srgb,var(--input-bg) 92%,#ffffff 8%),var(--input-bg));color:var(--text);font-weight:800;text-align:center;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease}.payment-method-option:hover{border-color:color-mix(in srgb,var(--primary) 46%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.payment-method-option.selected{border-color:color-mix(in srgb,var(--primary) 76%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--primary-soft) 82%,var(--input-bg)),var(--input-bg));color:var(--primary);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 24%,transparent)}.payment-method-icon{display:inline-grid;width:30px;height:30px;place-items:center;justify-self:center;border-radius:8px;background:var(--chip-bg);color:var(--muted)}.payment-method-option.selected .payment-method-icon{background:var(--primary);color:#fff}.payment-method-check{position:absolute;top:8px;right:8px;color:currentColor}.session-end-note textarea{min-height:98px;resize:vertical}.session-end-actions{flex-wrap:wrap;justify-content:flex-end;padding-top:2px}.session-end-secondary{border-color:#ed1c2447;color:var(--primary)}.session-end-submit{border-color:#ed1c2452;background:linear-gradient(135deg,var(--primary),var(--primary-strong));color:#fff}.session-payment-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2)}.session-payment-summary strong,.session-payment-summary span{min-width:0}.session-payment-summary span{color:var(--primary);font-weight:800;white-space:nowrap}input,select,textarea{width:100%;min-height:46px;border:1px solid color-mix(in srgb,var(--border) 86%,var(--text) 14%);border-radius:10px;background:linear-gradient(180deg,color-mix(in srgb,var(--input-bg) 92%,#ffffff 8%),var(--input-bg));color:var(--text);padding:10px 12px;box-shadow:inset 0 1px #ffffff0a;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary) 38%,var(--border))}input:focus,select:focus,textarea:focus{border-color:color-mix(in srgb,var(--primary) 72%,var(--border));outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent),inset 0 1px #ffffff0f}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;background:color-mix(in srgb,var(--panel-2) 78%,var(--input-bg));color:var(--muted);opacity:.72}input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 78%,transparent)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:44px;background-image:linear-gradient(90deg,transparent calc(100% - 42px),color-mix(in srgb,var(--panel-2) 88%,transparent) calc(100% - 42px)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23716b68' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:0 0,right 12px center;background-size:100% 100%,17px 17px}select option{background:var(--panel);color:var(--text)}:root[data-theme=dark] select{background-image:linear-gradient(90deg,transparent calc(100% - 42px),color-mix(in srgb,var(--panel-2) 82%,transparent) calc(100% - 42px)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23b9adaa' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}input[type=date],input[type=time],input[type=datetime-local],input[type=number]{font-variant-numeric:tabular-nums}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.68}:root[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator,:root[data-theme=dark] input[type=time]::-webkit-calendar-picker-indicator,:root[data-theme=dark] input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.4)}textarea{min-height:86px;line-height:1.45;resize:vertical}.wide{grid-column:1 / -1}.form-actions{justify-content:flex-end;margin-top:6px}.chart-box{width:100%;min-height:280px}.back-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:8px;color:var(--primary);font-size:14px;font-weight:700}.snooker-layout,.pool-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:18px;align-items:start;max-width:100%;min-width:0}.snooker-main-column,.pool-main-column{display:grid;gap:18px;min-width:0}.snooker-current-empty{min-height:170px}.snooker-current{border-top:4px solid var(--primary)}.pool-current{display:grid;gap:18px;border-top:4px solid var(--green)}.pool-current.status-occupee{border-top-color:var(--amber)}.pool-current.status-reservee{border-top-color:var(--blue)}.pool-current.status-maintenance{border-top-color:var(--gray)}.snooker-current .panel-header{align-items:flex-start}.snooker-current .timer,.pool-current .timer{margin-left:auto}.snooker-versus{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;margin:16px 0 14px;text-align:center}.snooker-versus strong{min-width:0;overflow:hidden;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--panel-2);font-size:22px;text-overflow:ellipsis;white-space:nowrap}.snooker-versus span{color:var(--primary);font-weight:900;text-transform:uppercase}.snooker-versus.compact{margin:10px 0 16px}.snooker-versus.compact strong{padding:12px;font-size:18px}.snooker-current .table-meta,.pool-session-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.snooker-current .card-actions{flex-wrap:wrap}.next-match-preview{border-color:#ed1c2447;background:linear-gradient(135deg,var(--panel) 0%,var(--primary-soft) 100%)}.snooker-start-actions,.pool-start-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.snooker-start-actions .button,.pool-start-actions .button{white-space:nowrap}.snooker-start-form{grid-template-columns:repeat(2,minmax(220px,1fr))}.snooker-queue-panel,.pool-queue-panel{position:sticky;top:94px;max-width:100%;min-width:0;overflow:hidden}.snooker-queue-header,.pool-queue-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start}.snooker-queue-header>div{min-width:0}.pool-queue-header>div{min-width:0}.snooker-queue-header h3,.snooker-queue-header p,.pool-queue-header h3,.pool-queue-header p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.snooker-queue-header .button,.pool-queue-header .button{min-width:0;max-width:100%;white-space:nowrap}.snooker-queue-add-button,.pool-queue-add-button{padding-inline:16px}.next-player-chip{padding:12px 14px;border:1px solid rgba(237,28,36,.22);border-radius:12px;background:var(--primary-soft);color:var(--text)}.pool-next-session-chip{display:flex;align-items:center;justify-content:space-between;gap:12px}.pool-next-session-chip div{min-width:0}.pool-next-session-chip small{display:block;margin-top:3px;color:var(--muted)}.pool-server-select{max-width:420px}.queue-list{display:grid;gap:10px;margin-top:14px}.queue-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.queue-row>div{min-width:0}.queue-row strong,.queue-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-row small{display:block;margin-top:3px;color:var(--muted)}.snooker-history-panel,.pool-history-panel{min-width:0;overflow:hidden}.pool-history-customer{display:grid;gap:2px;min-width:0}.pool-history-customer strong,.pool-history-customer span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pool-history-customer span{color:var(--muted);font-size:12px}.match-history-players{display:flex;align-items:center;gap:7px;min-width:0;width:100%}.match-history-players strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-history-players span{flex:0 0 auto;color:var(--primary);font-size:12px;font-weight:900;text-transform:uppercase}.match-history-name{display:block;min-width:0;overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.queue-position{display:grid;width:34px;height:34px;place-items:center;border-radius:999px;background:var(--panel-3);color:#fff;font-weight:800}.tournament-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px;align-items:start}.tournament-form,.tournament-list,.tournament-management,.tournament-player-list,.bracket-round-matches{display:grid;gap:14px}.tournament-player-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.tournament-player-entry{align-items:end;grid-template-columns:minmax(0,1fr) auto}.tournament-player-add-button{min-width:130px;min-height:46px;font-weight:800;white-space:nowrap}.tournament-player-add-button:hover{box-shadow:0 0 0 3px #ed1c2429}.tournament-player-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-height:440px;overflow:auto;padding-right:4px}.initial-player-list{max-height:260px;overflow:auto;padding-right:4px}.tournament-list-panel select{width:auto;min-width:180px}.tournament-list-item{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--panel);color:var(--text);text-align:left}.tournament-list-item.active,.tournament-list-item:hover{border-color:#ed1c2459;background:var(--primary-soft)}.tournament-list-item small{display:block;margin-top:4px;color:var(--muted)}.winner-chip{border-color:#16a34a4d;background:var(--success-soft);color:var(--success-text);font-weight:700}.tournament-management{grid-template-columns:minmax(260px,.35fr) minmax(0,.65fr);margin-top:18px}.match-detail-summary{display:grid;gap:18px}.match-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.match-detail-heading h3{margin:0 0 5px;font-size:22px}.match-detail-heading p{margin:0;font-size:13px;color:var(--muted)}.match-detail-payment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.match-detail-payment>div{padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--panel-2)}.match-detail-payment dt{font-size:13px;color:var(--muted);margin-bottom:6px}.match-detail-payment dd{margin:0;font-size:24px;font-weight:750;overflow-wrap:anywhere}.match-detail-payment>.is-paid{background:var(--success-soft)}.match-detail-payment .is-paid dd,.match-detail-payment .is-paid>span{color:var(--success-text)}.match-detail-payment>div>span{display:block;margin-top:4px;font-size:13px}.match-detail-facts{gap:16px}.match-detail-facts dd{margin:0;font-size:16px}.match-detail-close{justify-self:end}@media(max-width:480px){.match-detail-heading{align-items:flex-start;flex-wrap:wrap}.match-detail-payment dd{font-size:20px}.match-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}.tournaments-simple .tournament-list-panel{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.6fr);gap:24px;align-items:end}.tournaments-simple .tournament-list-panel>.panel-header{margin:0;gap:12px}.tournaments-simple .tournament-detail-panel>.panel-header{align-items:flex-start;flex-wrap:wrap;gap:16px}.tournaments-simple .tournament-detail-panel>.panel-header .row-actions{flex-wrap:wrap}.tournaments-simple .tournament-management{grid-template-columns:minmax(0,1fr);margin-top:14px}.tournaments-simple .tournament-management>[hidden]{display:none}.tournaments-simple .tournament-bracket-panel,.tournaments-simple .tournament-players-panel{padding:0;border:0;background:transparent}.tournament-detail-tabs,.tournament-round-tabs{flex-wrap:wrap;gap:8px}.tournament-detail-tabs{margin-top:16px}.tournament-round-tabs{margin:12px 0 16px}.tournament-round-tabs button{min-height:34px;padding:6px 12px;font-size:13px}.tournaments-simple .bracket-grid{display:block;min-width:0}.tournaments-simple .bracket-round-matches{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));align-items:start}.tournaments-simple .bracket-match{min-width:0}.tournaments-simple .bracket-player span,.tournaments-simple .winner-actions button{overflow-wrap:anywhere;white-space:normal}.tournaments-simple .tournament-players-panel>.tournament-player-list{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));margin-top:16px}.tournament-create-panel .tournament-form{gap:12px}.tournament-create-panel .initial-player-list{max-height:150px}.tournament-create-panel .tournament-player-header p{margin:0;font-size:13px}@media(max-width:700px){.tournaments-simple .tournament-list-panel{grid-template-columns:minmax(0,1fr);gap:16px}}.tournament-players-panel,.tournament-bracket-panel{min-width:0;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--panel-2)}.tournament-players-panel h4,.tournament-bracket-panel h4,.bracket-round h5{margin:0}.inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin:14px 0}.tournament-player-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.tournament-player-row span{color:var(--primary);font-weight:800}.bracket-scroll{overflow-x:auto;padding-bottom:6px}.bracket-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);gap:14px;min-width:max-content}.bracket-round{display:grid;align-content:start;gap:12px}.bracket-round h5{color:var(--primary);font-size:15px;text-transform:uppercase;letter-spacing:.02em}.bracket-match{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:var(--shadow-card)}.bracket-match-title,.bracket-match-status{color:var(--muted);font-size:12px;font-weight:700}.bracket-player{min-height:38px;padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2)}.bracket-player.winner{border-color:#16a34a59;background:var(--success-soft);color:var(--success-text);font-weight:800}.bracket-player.loser{color:var(--muted);text-decoration:line-through}.winner-actions{display:grid;gap:7px}.loader-screen,.loader-inline{display:grid;place-items:center}.loader-screen{min-height:100vh}.loader-inline{min-height:260px}.spinner{width:34px;height:34px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:20px;overflow-y:auto;background:var(--overlay)}.modal{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(640px,100%);max-height:min(86vh,780px);overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:var(--shadow-large)}.modal-sm{width:min(430px,100%)}.modal-lg{width:min(900px,100%)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:19px}.modal-body{min-height:0;overflow-y:auto;padding:18px}.login-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:var(--login-bg)}.login-panel{display:grid;gap:24px;width:min(430px,100%);padding:28px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--panel) 96%,transparent);box-shadow:var(--shadow-large)}.login-brand{display:grid;justify-items:center;gap:10px;text-align:center}.login-panel.compact{text-align:center}.login-form{display:grid;gap:16px}.remember-option{display:flex;align-items:center;gap:10px;width:fit-content;color:var(--label-text);font-size:14px;font-weight:800}.remember-option input{width:18px;height:18px;min-height:18px;margin:0;accent-color:var(--primary)}.input-icon{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;min-height:46px;border:1px solid color-mix(in srgb,var(--border) 86%,var(--text) 14%);border-radius:10px;background:linear-gradient(180deg,color-mix(in srgb,var(--input-bg) 92%,#ffffff 8%),var(--input-bg));padding:0 12px;transition:border-color .18s ease,box-shadow .18s ease}.input-icon:focus-within{border-color:color-mix(in srgb,var(--primary) 72%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.input-icon svg{color:var(--muted)}.input-icon input{min-height:44px;border:0;background:transparent;box-shadow:none;padding-left:0}.input-icon input:focus{box-shadow:none}.login-password-field{display:grid;gap:7px;min-width:0;font-size:14px;font-weight:700}.login-password-input{grid-template-columns:22px minmax(0,1fr) 44px;padding-right:0}.login-password-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted)}.login-password-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:-3px}.login-form input::placeholder{color:var(--muted);opacity:1}.public-availability-page{min-height:100vh;padding:32px;background:var(--public-bg)}.public-availability-hero{display:flex;align-items:center;gap:22px;width:min(1180px,100%);margin:0 auto 22px;padding:20px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:var(--shadow-large)}.public-availability-hero img{width:min(220px,38vw);height:auto}.public-logo-link{display:block;flex:0 0 auto}.public-availability-hero h1,.public-availability-sections h2{margin:0}.public-availability-hero p,.public-availability-updated{margin:8px 0 0;color:var(--muted)}.public-availability-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;width:min(1180px,100%);margin:0 auto 10px;padding:10px;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:14px;background:color-mix(in srgb,var(--panel) 76%,transparent);box-shadow:var(--shadow-card)}.public-filter-buttons{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:6px;flex:0 1 420px;width:min(420px,100%);padding:4px;border:1px solid color-mix(in srgb,var(--border) 78%,transparent);border-radius:11px;background:color-mix(in srgb,var(--input-bg) 68%,transparent)}.public-filter-buttons button{min-width:0;min-height:42px;padding:0 15px;border-radius:8px;font-weight:800}.public-filter-buttons button.active{box-shadow:0 10px 22px #ed1c242e}.public-icon-button{width:46px;height:46px;min-width:46px;min-height:46px;flex:0 0 46px;padding:0;border-radius:10px}.public-theme-button{border-color:color-mix(in srgb,var(--border) 82%,rgba(255,255,255,.16));background:color-mix(in srgb,var(--input-bg) 68%,transparent)}.public-theme-button:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary) 42%,var(--border));background:var(--primary-soft);transform:translateY(-1px)}.public-availability-status{display:flex;align-items:center;justify-content:space-between;gap:12px;width:min(1180px,100%);margin:0 auto 18px}.public-availability-status .public-availability-updated{width:auto;margin:0}.public-availability-sections{display:grid;gap:24px;width:min(1180px,100%);margin:0 auto}.public-availability-sections section{display:grid;gap:14px}.availability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.availability-card{position:relative;isolation:isolate;display:grid;gap:14px;min-height:210px;padding:16px;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-top:4px solid var(--green);border-radius:16px;background:#171112;box-shadow:var(--shadow-card);color:#fff}.availability-card:before,.availability-card:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";pointer-events:none}.availability-card:before{z-index:-2;background-position:center;background-size:cover;transform:scale(1.03)}.availability-card:after{z-index:-1;background:linear-gradient(90deg,#080506e0,#080506a8 48%,#08050661),linear-gradient(180deg,#0805062e,#080506c7)}.availability-snooker:before{background-image:url(/assets/snooker-card-bg-CcPKWKSo.png)}.availability-pool:before{background-image:url(/assets/pool-card-bg-D0yGx4J4.png)}.availability-card>*{position:relative;z-index:1}.availability-occupied{border-top-color:var(--amber)}.availability-reserved{border-top-color:var(--blue)}.availability-maintenance{border-top-color:var(--gray)}.availability-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.availability-card h3{margin:0;font-size:22px}.availability-card p{margin:4px 0 0;color:#ffffffc7}.availability-card .status-chip{border-color:#ffffff38;background:#0c0809ad;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.availability-message{color:#fff!important;font-size:18px;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.62)}.availability-meta{display:grid;gap:8px;margin-top:auto}.availability-meta div{display:flex;align-items:center;gap:8px;color:#ffffffeb;text-shadow:0 1px 2px rgba(0,0,0,.54)}@media(max-width:1100px){.app-shell{grid-template-columns:84px minmax(0,1fr)}.brand div,.sidebar a span,.sidebar-logout span{display:none}.brand{justify-content:center;min-height:58px;padding:0 0 14px}.sidebar-logo{width:54px}.sidebar{align-items:center}.stats-grid,.dashboard-grid,.table-grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.snooker-layout,.pool-layout{grid-template-columns:minmax(0,1fr)}.tournament-layout,.tournament-management{grid-template-columns:1fr}.tournament-player-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.snooker-queue-panel,.pool-queue-panel{position:static}.filters-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.availability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-layout{grid-template-columns:1fr}}@media(max-width:760px){.app-shell{display:block}.app-shell.dashboard-layout{display:grid;grid-template-columns:72px minmax(0,1fr);height:100dvh;overflow:hidden}.sidebar{position:static;display:grid;grid-template-columns:auto minmax(0,1fr) auto;width:100%;height:auto;padding:12px;border-right:0;border-bottom:1px solid var(--border)}.dashboard-layout .sidebar{display:flex;width:auto;height:100dvh;padding:8px;border-right:1px solid var(--border);border-bottom:0;overflow:hidden}.sidebar-logo{width:132px}.dashboard-layout .sidebar-logo{width:48px}.sidebar nav{display:flex;overflow-x:auto}.dashboard-layout .sidebar nav{display:grid;overflow:hidden}.sidebar a{min-width:42px}.navbar,.page-title,.panel-header{align-items:flex-start;flex-direction:column}.page-wrap,.navbar,.public-availability-page{padding:18px}.public-availability-hero,.public-availability-status{align-items:flex-start;flex-direction:column}.public-filter-buttons{flex:1 1 auto;width:100%}.public-filter-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.public-filter-buttons button{padding:0 8px}.stats-grid,.dashboard-grid,.table-grid,.table-grid-three,.form-grid,.assignment-section-grid,.session-detail-grid,.session-start-selects,.session-start-selects.has-custom-duration,.session-start-selects.single-select.has-custom-duration,.filters-bar,.report-custom-range,.report-filter-grid,.tournament-player-grid,.inline-form,.availability-grid,.settings-field-grid{grid-template-columns:1fr}.payment-method-setting{grid-template-columns:1fr;align-items:stretch}.payment-state-segmented{width:100%}.payment-state-segmented button{flex:1 1 0;min-width:0}.report-period-row,.report-period-tabs,.report-view-tabs{align-items:stretch;justify-content:flex-start}.report-view-tabs{width:100%}.report-view-tabs button{flex:1 1 0}.dashboard-page{height:auto;overflow:visible}.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-compact-grid{grid-template-columns:1fr;grid-template-rows:auto}.dashboard-sessions-panel,.dashboard-compact-grid.no-closures .dashboard-servers-panel{grid-column:auto;grid-row:auto}.tournament-player-header,.row-actions,.card-actions{flex-wrap:wrap}.snooker-versus,.snooker-versus.compact{grid-template-columns:1fr}.snooker-versus strong{font-size:19px}.snooker-current .table-meta,.pool-session-meta,.snooker-queue-header,.pool-queue-header{grid-template-columns:1fr}.snooker-queue-add-button,.pool-queue-add-button{width:100%}.pool-next-session-chip{align-items:stretch;flex-direction:column}.queue-row{grid-template-columns:auto minmax(0,1fr)}.queue-row .row-actions{grid-column:1 / -1}.table-meta div,.profile-list div{grid-template-columns:1fr;gap:3px}.profile-panel{padding-right:58px}}.app-shell .page-stack,.app-shell .panel,.app-shell .table-shell,.app-shell .form-grid>*,.app-shell .stats-grid>*,.app-shell .table-grid>*,.app-shell .page-title>*,.app-shell .panel-header>*{min-width:0}.navbar-heading{display:flex;align-items:center;gap:12px;min-width:0}.navbar-title{min-width:0}.navbar h1{font-size:clamp(18px,2.1vw,26px);overflow-wrap:anywhere}.mobile-menu-toggle{display:none}.sidebar,.dashboard-layout .sidebar{overflow-y:auto;overscroll-behavior:contain}.sidebar a svg,.sidebar-logout svg{flex-shrink:0}.app-shell .page-title{flex-wrap:wrap}.app-shell .page-title h2{overflow-wrap:anywhere}.app-shell .row-actions,.app-shell .card-actions{flex-wrap:wrap}dialog.mobile-navigation{position:fixed;inset:0 auto 0 0;margin:0;padding:0;width:min(320px,calc(100vw - 36px));max-width:none;height:100dvh;max-height:100dvh;border:0;color:var(--text);background:var(--panel);overflow-y:auto;overscroll-behavior:contain}.mobile-navigation::backdrop{background:#0009}html:has(dialog.mobile-navigation[open]),body:has(dialog.mobile-navigation[open]){overflow:hidden}.mobile-navigation-content{position:relative;min-height:100%}.mobile-navigation .mobile-menu-close{position:absolute;top:12px;right:8px;z-index:1;width:44px;height:44px}.mobile-navigation .sidebar{position:static;display:flex;flex-direction:column;align-items:stretch;width:100%;height:auto;min-height:100dvh;padding:max(18px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom));gap:16px;overflow:visible;border:0}.mobile-navigation .sidebar .brand{justify-content:flex-start;padding-right:36px}.mobile-navigation .sidebar-logo{width:176px}.mobile-navigation .sidebar nav{display:grid;overflow:visible;gap:6px}.mobile-navigation .sidebar a span,.mobile-navigation .sidebar-logout span{display:inline}.mobile-navigation .sidebar a,.mobile-navigation .sidebar-logout{min-height:44px}.mobile-navigation .sidebar-logout{margin-top:auto}@media(max-width:1100px),(max-height:600px){html:has(.app-shell),body:has(.app-shell){height:auto;min-height:100%;overflow:auto}body:has(.app-shell) #root{height:auto;min-height:100dvh;overflow:visible}body:has(.app-shell) .app-shell{display:block;height:auto;min-height:100dvh;overflow:visible}.app-shell>.sidebar{display:none}.app-shell .main-panel{width:100%;height:auto;min-height:100dvh;overflow:visible}.app-shell .main-panel .page-wrap{height:auto;padding:16px;overflow:visible}.app-shell .table-shell{height:var(--table-height, 376px);min-height:240px}.MuiDataGrid-virtualScroller{overscroll-behavior-x:contain}.app-shell .navbar{padding:12px 16px;min-height:64px;gap:10px}.navbar .mobile-menu-toggle{display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;flex-shrink:0;padding:0}.navbar-actions{gap:6px}.navbar-actions .theme-toggle,.navbar-actions .profile-pill{min-width:44px;min-height:44px}.app-shell .main-panel .dashboard-page{height:auto;overflow:visible;grid-template-rows:auto auto}.dashboard-page .dashboard-compact-grid{grid-template-rows:auto;overflow:visible}.dashboard-page .dashboard-panel{min-height:0;grid-template-rows:auto auto;align-content:start}.dashboard-page .table-shell{height:var(--table-height);min-height:220px}.dashboard-page .dashboard-sessions-panel,.dashboard-page .dashboard-compact-grid.no-closures .dashboard-servers-panel{grid-row:auto}.app-shell .table-section-header{flex-wrap:wrap}.app-shell .table-section-header>*{min-width:0}.modal-backdrop{padding:12px}.modal{max-height:calc(100dvh - 24px)}.modal-header{flex-shrink:0}.modal-header h2{overflow-wrap:anywhere}.modal-header .icon-button{min-width:44px;min-height:44px}.modal-body{overscroll-behavior:contain}}@media(min-width:761px)and (max-width:1100px){.app-shell .navbar{flex-direction:row;align-items:center}.app-shell .dashboard-compact-grid,.app-shell .table-grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.app-shell .navbar{align-items:stretch}.navbar-heading{width:100%}.navbar-actions{justify-content:flex-end}.app-shell .main-panel .page-wrap,.app-shell .panel{padding:14px}.app-shell .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .dashboard-compact-grid{grid-template-columns:minmax(0,1fr)}.app-shell .dashboard-panel{padding:10px}.app-shell .dashboard-sessions-panel{grid-column:auto}.app-shell .page-title{align-items:stretch}.app-shell .page-title>.button{width:100%}.app-shell .filters-bar,.app-shell .form-grid,.app-shell .report-filter-grid,.app-shell .report-custom-range,.modal .form-grid{grid-template-columns:minmax(0,1fr)}.app-shell .report-view-tabs,.app-shell .report-period-tabs{flex-wrap:wrap}.app-shell .report-view-tabs button{flex:1 1 120px;white-space:normal}.app-shell .segmented{max-width:100%;flex-wrap:wrap}.app-shell .bracket-scroll{max-width:100%;overflow-x:auto}.modal .row-actions,.modal .card-actions{flex-wrap:wrap}.modal-header{padding:10px 12px}.modal-body{padding:14px}.MuiTablePagination-toolbar{flex-wrap:wrap;justify-content:flex-end;padding-left:4px!important}.MuiTablePagination-selectLabel,.MuiTablePagination-input{display:none!important}.login-page{padding:76px 16px 24px;min-height:100dvh}.login-panel{padding:24px 18px;width:100%}}@media(max-width:380px){.app-shell .stats-grid{grid-template-columns:minmax(0,1fr)}.navbar h1{font-size:18px}}@media(max-height:600px){.app-shell .navbar{position:relative}}@media(max-height:600px)and (min-width:600px){.app-shell .navbar{flex-direction:row;align-items:center;padding:8px 12px}.navbar-heading{width:auto}.navbar h1{font-size:18px}.navbar-actions{flex-wrap:nowrap}.app-shell .main-panel .page-wrap{padding:12px}.app-shell .table-grid-three,.app-shell .table-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(pointer:coarse){.app-shell input,.app-shell select,.app-shell textarea,.modal input,.modal select,.modal textarea,.login-form input{font-size:16px}.app-shell .button,.app-shell .segmented button,.modal .button{min-height:44px}.app-shell .MuiDataGrid-cell .button{min-height:32px}}
