:root{--color-bg:#f5f6f8;--color-surface:#fff;--color-primary:#1f6f50;--color-text:#1c1c1e;--color-muted:#6b7280;--color-border:#e5e7eb;--color-error:#d64545;--font-size-title:20px;--font-size-heading:15px;--font-size-subheading:14px;--font-size-body:14px;--font-size-label:13px;--font-size-caption:12px;--font-size-micro:11px;--font-size-metric:22px;--font-size-metric-lg:26px;--font-size-subtitle:18px;--font-size-display:26px;--font-size-row:16px;--font-size-input:16px;--font-size-nano:10px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-none:1;--line-height-display:1.1;--line-height-tight:1.2;--line-height-snug:1.4;--line-height-normal:1.5;--line-height-relaxed:1.55;--tracking-display:-.02em;--tracking-tight:-.015em;--tracking-snug:-.01em;--tracking-normal:0;--tracking-wide:.02em}h1{font-size:var(--font-size-title)}h2{font-size:var(--font-size-heading)}h3,h4{font-size:var(--font-size-subheading)}.tools-page{max-width:1180px}.tools-summary-grid{margin:var(--space-2) 0;border-radius:var(--radius);background:var(--surface);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0;display:grid;overflow:hidden}.tools-summary-grid>div{justify-content:space-between;align-items:baseline;gap:var(--space-3);min-width:0;min-height:var(--control-height);padding:8px var(--space-4);box-shadow:inset 0 1px 0 var(--divider);display:flex}.tools-summary-grid>div:first-child{box-shadow:none}.tools-summary-grid span{color:var(--color-muted);font-size:var(--font-size-label);flex:none}.tools-summary-grid strong{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere;flex:0 auto}.tools-table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.tools-table{border-collapse:collapse;width:100%;min-width:620px;font-size:var(--font-size-body)}.tools-table th,.tools-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e2e8f0;padding:9px 10px}.tools-table th{color:#475569;background:#f8fafc}.tools-status{border-radius:var(--radius-sm);min-height:26px;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);white-space:nowrap;align-items:center;padding:3px 9px;display:inline-flex}.tools-status.is-ok{color:var(--success);background:var(--success-soft)}.tools-status.is-empty{color:#475569;background:#e2e8f0}.tools-status.is-error{color:var(--danger);background:var(--danger-soft)}.tools-warning-list{font-size:var(--font-size-label);color:var(--warning);margin:10px 0;padding-left:22px}.tools-compact-list{gap:6px;margin:8px 0;padding:0;list-style:none;display:grid}.tools-compact-list li{border-radius:var(--radius-sm);border:1px solid #e2e8f0;justify-content:space-between;gap:12px;min-width:0;padding:8px 10px;display:flex}.tools-legacy-sessions summary{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold)}.tools-legacy-sessions .tools-compact-list{font-size:var(--font-size-caption)}.tools-legacy-sessions .tools-compact-list li{padding:6px 8px}.tools-card-list{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;display:grid}.tools-item-card{border-radius:var(--radius);background:#fff;border:1px solid #dbe3ee;min-width:0;padding:12px}.tools-item-card>div{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.tools-value{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:var(--radius-sm);background:#f8fafc;max-height:180px;margin:10px 0;padding:9px;display:block;overflow:auto}.tools-break{overflow-wrap:anywhere;word-break:break-word}.tools-danger-zone{border:1px solid var(--danger);background:var(--danger-soft)}.tools-form-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:12px 0;display:grid}.tools-form-grid label{font-weight:var(--font-weight-bold);flex-direction:column;gap:6px;display:flex}.tools-form-grid input,.tools-form-grid select{border-radius:var(--radius-sm);width:100%;min-height:44px;color:inherit;background:#fff;border:1px solid #cbd5e1;padding:8px 10px}.tools-check{overflow-wrap:anywhere;align-items:flex-start;gap:9px;min-height:44px;padding:9px 0;display:flex}.tools-check input{flex:none;width:20px;height:20px}.tools-page button,.tools-page .page-action-button{min-height:44px}.tools-page button:focus-visible,.tools-page a:focus-visible,.tools-page input:focus-visible,.tools-page select:focus-visible,.tools-page summary:focus-visible{outline-offset:2px;outline:3px solid #2563eb}.admin-write-page{overflow-wrap:anywhere;margin:0 auto;padding:24px 18px 72px}.tools-safety-note{border-radius:var(--radius);background:var(--warning-soft);color:#78350f;border:1px solid #f59e0b;padding:13px 15px}.tools-select-card{width:100%;color:inherit;text-align:left;cursor:pointer}.tools-item-card.is-selected,.tools-select-card.is-selected{border-color:#2563eb;box-shadow:0 0 0 2px #dbeafe}.tools-fieldset{border-radius:var(--radius);border:1px solid #cbd5e1;gap:10px;min-width:0;margin:14px 0;padding:14px;display:grid}.tools-fieldset legend{font-weight:var(--font-weight-bold);padding:0 6px}.court-setting-row{grid-template-columns:minmax(140px,2fr) minmax(115px,1fr) minmax(115px,1fr) auto;align-items:end;gap:9px;display:grid}.court-setting-row label,.tools-confirm-label{min-width:0;font-weight:var(--font-weight-bold);gap:6px;display:grid}.court-setting-row input,.tools-confirm-label input{border-radius:var(--radius-sm);width:100%;min-width:0;min-height:44px;color:inherit;background:#fff;border:1px solid #cbd5e1;padding:8px 10px}.tools-section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.tools-form-grid.closure-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.closure-form-grid label,.closure-form-grid input,.closure-form-grid select{min-width:0}.closure-form-grid input[type=date]{box-sizing:border-box;max-width:100%;height:44px;overflow:hidden}.closure-form-grid select{box-sizing:border-box;appearance:none;background-image:linear-gradient(45deg,#0000 50%,#6b7280 50%),linear-gradient(135deg,#6b7280 50%,#0000 50%);background-position:calc(100% - 16px) calc(50% - 2px),calc(100% - 11px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;height:44px;padding-right:26px}.tools-extra-confirm{border-radius:var(--radius-sm);background:var(--warning-soft);border:1px solid #fb923c;margin:10px 0;padding:12px}@media (max-width:430px){.tools-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tools-card-list,.tools-form-grid{grid-template-columns:1fr}.court-setting-row{grid-template-columns:1fr 1fr}.court-setting-row label:first-child,.court-setting-row button{grid-column:1/-1}.tools-section-heading{flex-direction:column;align-items:stretch}}.readiness-page{overflow-wrap:anywhere;max-width:1180px}.readiness-gates{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.readiness-gate{border-radius:var(--radius);border:1px solid;gap:6px;min-height:126px;padding:18px;display:grid}.readiness-gate.ready{color:var(--success);background:#f0fdf4;border-color:#16a34a}.readiness-gate.blocked{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.readiness-gate strong{font-size:var(--font-size-metric-lg)}.readiness-status-grid{border-radius:var(--radius);background:var(--surface);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0;display:grid;overflow:hidden}.readiness-status-grid article,.readiness-area-grid article{justify-content:space-between;align-items:baseline;gap:var(--space-3);min-width:0;min-height:var(--control-height);padding:10px var(--space-4);box-shadow:inset 0 1px 0 var(--divider);background:0 0;border:none;flex-wrap:wrap;display:flex}.readiness-status-grid article:first-child{box-shadow:none}.readiness-status-grid span,.readiness-area-grid span,.readiness-area-grid small{color:var(--color-muted)}.readiness-status-grid span{font-size:var(--font-size-label);line-height:var(--line-height-snug)}.readiness-status-grid strong{min-width:0;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);text-align:right;font-variant-numeric:tabular-nums;flex:0 auto}.readiness-status-grid span{white-space:nowrap;flex:none}.readiness-status-grid strong{overflow-wrap:anywhere;min-width:0}.readiness-status-grid strong.readiness-code-value,.readiness-status-grid strong.readiness-prose-value{line-height:var(--line-height-normal);overflow-wrap:anywhere;word-break:normal;-webkit-hyphens:none;hyphens:none}.readiness-status-grid strong.readiness-composite-value{min-width:0;font-size:var(--font-size-heading);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug);overflow-wrap:anywhere;word-break:normal;-webkit-hyphens:none;hyphens:none;grid-template-columns:minmax(0,1fr);gap:2px;display:grid}.readiness-status-grid strong.readiness-composite-value span{min-width:0;color:inherit;font-size:inherit;line-height:inherit}.readiness-list{gap:10px;display:grid}.readiness-list article{min-width:0;padding:var(--space-4);border:1px solid var(--divider);border-left:5px solid var(--divider);border-radius:var(--radius-sm);background:var(--surface)}.readiness-list article[data-status=failed],.readiness-list article[data-status=blocked]{border-left-color:var(--danger);background:var(--danger-soft)}.readiness-list article[data-status=pending],.readiness-list article[data-status=pending_external]{border-left-color:var(--warning);background:var(--warning-soft)}.readiness-list article[data-status=passed]{border-left-color:var(--success)}.readiness-list header{justify-content:space-between;gap:10px;display:flex}.readiness-list p{margin:8px 0}.readiness-area-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.readiness-runtime dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;display:grid}.readiness-runtime dl div{border-radius:var(--radius-sm);background:#f8fafc;padding:12px}.readiness-runtime dt{color:var(--color-muted);font-size:var(--font-size-caption)}.readiness-runtime dd{font-weight:var(--font-weight-bold);margin:4px 0 0}.readiness-note{border:1px solid var(--color-border);border-radius:var(--radius-sm);margin:8px 0;padding:12px}.readiness-note p{margin:6px 0}.readiness-note small{color:var(--color-muted)}.readiness-limitations li{margin:6px 0}@media (max-width:900px){.readiness-area-grid,.readiness-runtime dl{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.readiness-gates,.readiness-area-grid,.readiness-runtime dl{grid-template-columns:1fr}.readiness-list header{flex-direction:column;align-items:flex-start}.readiness-page .dashboard-section{padding:12px 11px}}.session-admin-page,.session-admin-page input,.session-admin-page select,.session-admin-page button,.session-admin-page code,.session-admin-page dd{overflow-wrap:anywhere;word-break:break-word;min-width:0}.session-admin-page button,.session-admin-page input,.session-admin-page select{min-height:44px}.session-confirm-grid label{font-size:var(--font-size-label);font-weight:var(--font-weight-bold);gap:5px;display:grid}.session-confirm-grid input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;color:inherit;padding:8px 10px}.session-pagination button{padding:8px 12px}.session-list-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-top:18px;display:flex}.session-list-head span{color:var(--color-muted);font-size:var(--font-size-label)}.session-status{border-radius:var(--radius-sm);background:var(--success-soft);color:var(--success);font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);flex:none;padding:3px 8px}.session-status.status-expired,.session-status.status-invalid_expire{background:var(--danger-soft);color:var(--danger)}.session-status.status-long_lived,.session-status.status-legacy_plain_token_candidate{background:var(--warning-soft);color:var(--warning)}.session-confirm-grid{gap:10px;margin-top:12px;display:grid}.session-confirm-grid .tools-check{align-items:flex-start;display:flex}.session-pagination{justify-content:center;align-items:center;gap:12px;margin:16px 0;display:flex}.session-policy-note{background:#f8fafc;margin-top:16px}.session-policy-note p{margin:6px 0}.period-bar-row{margin:0 0 var(--space-3);padding:0 var(--space-3)}.period-bar-row:first-child{padding-top:var(--space-3)}.period-bar-row>div:first-child{justify-content:space-between;gap:var(--space-3);font-size:var(--font-size-body);display:flex}.period-bar-row span{color:var(--color-muted);font-size:var(--font-size-label)}.period-bar-track{border-radius:var(--radius-lg);background:var(--surface-sunken);height:8px;margin-top:6px;overflow:hidden}.period-bar-track span{border-radius:inherit;background:var(--color-primary);height:100%;display:block}.period-scope{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}*{box-sizing:border-box}html,body{background:var(--color-bg);color:var(--color-text);font-size:var(--font-size-body);line-height:var(--line-height-normal);font-family:var(--font-sans), sans-serif;margin:0;padding:0}main{max-width:480px;min-height:100vh;margin:0 auto;padding:16px}.page-loading{color:var(--color-muted);justify-content:center;align-items:center;display:flex}.login-page{min-height:100vh;padding-bottom:var(--space-6);flex-direction:column;justify-content:center;display:flex}.login-page h1{margin:0 0 var(--space-1);text-align:center;color:var(--accent);font-size:var(--font-size-display);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-display)}.subtitle{margin:0 0 var(--space-6);text-align:center;color:var(--color-muted);font-size:var(--font-size-caption)}.login-form{gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;display:flex}.login-form label{gap:var(--space-2);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-text);flex-direction:column;display:flex}.login-form input{padding:0 var(--space-3);min-height:var(--field-height);border:1px solid var(--ui-field-border);border-radius:var(--radius-sm);background:var(--surface)}.login-form input:focus-visible{border-color:var(--accent);outline:2px solid var(--accent-soft);outline-offset:0}.login-form button[type=submit]{min-height:var(--control-height);border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-size:var(--font-size-body);font-weight:var(--font-weight-bold);border:none}.login-form button[type=submit]:disabled{background:#9bb5ab}.forgot-password-link{padding:var(--space-2);color:var(--color-muted);font-size:var(--font-size-caption);align-self:center;text-decoration:none}.forgot-password-link:hover{color:var(--accent);text-decoration:underline}.password-field{display:block;position:relative}.password-field input{box-sizing:border-box;width:100%;padding-right:44px}.login-form .password-reveal{width:36px;height:var(--control-height-icon);border-radius:var(--radius-sm);color:inherit;font-size:var(--font-size-row);line-height:var(--line-height-none);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.forgot-password-link{text-align:center;min-height:44px;color:var(--color-primary);font-weight:var(--font-weight-bold);justify-content:center;align-items:center;display:flex}.password-reset-card{width:100%;min-width:0;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-lg)}.password-reset-card h1{color:var(--color-primary);margin:3px 0 8px}.password-reset-eyebrow{color:var(--color-primary);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);letter-spacing:.1em;margin:0}.password-reset-step{color:var(--color-muted);font-weight:var(--font-weight-bold);margin:0 0 20px}.password-reset-form{gap:10px;display:grid}.password-reset-form label{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);margin-top:4px}.password-reset-form input{border-radius:var(--radius-sm);width:100%;min-width:0;min-height:48px;color:inherit;font-size:var(--font-size-input);background:#fff;border:1px solid #b8c5c0;padding:11px 12px}.password-reset-form button,.password-reset-login{border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;min-height:48px;font:inherit;font-weight:var(--font-weight-bold);cursor:pointer;border:0;justify-content:center;align-items:center;margin-top:5px;padding:10px 14px;text-decoration:none;display:flex}.password-reset-form button:disabled{cursor:not-allowed;opacity:.55}.password-reset-form input:focus-visible,.password-reset-form button:focus-visible,.password-reset-card a:focus-visible{outline-offset:2px;outline:3px solid #2563eb}.password-reset-code{text-align:center;letter-spacing:.35em;font-variant-numeric:tabular-nums;font-size:var(--font-size-metric)!important}.password-reset-help{color:var(--color-muted);font-size:var(--font-size-label);line-height:var(--line-height-relaxed);margin:2px 0 8px}.password-reset-notice,.password-reset-alert{border-radius:var(--radius-sm);line-height:var(--line-height-relaxed);margin:12px 0;padding:12px 13px}.password-reset-notice{color:var(--success);background:#f0fdf4;border:1px solid #86efac}.password-reset-alert{border:1px solid var(--danger);background:var(--danger-soft);color:var(--danger)}.password-reset-form .password-reset-secondary{border:1px solid var(--color-primary);color:var(--color-primary);background:#fff}.password-reset-form .password-reset-link-button{min-height:44px;color:var(--color-primary);background:0 0;text-decoration:underline}.password-reset-password-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.password-reset-form .password-reset-toggle{color:#14543d;background:#e8f2ee;min-width:72px;margin:0}.password-reset-policy{color:var(--color-muted);font-size:var(--font-size-label);line-height:var(--line-height-relaxed);margin:3px 0 8px;padding-left:22px}.password-reset-back{text-align:center;min-height:44px;color:var(--color-muted);justify-content:center;align-items:center;margin-top:18px;display:flex}.password-reset-login{margin-top:18px}@media (max-width:430px){.password-reset-card{border-radius:var(--radius);padding:20px 16px}.password-reset-password-row{grid-template-columns:1fr}.password-reset-form .password-reset-toggle{width:100%}}.login-form button{font-size:var(--font-size-row);font-weight:var(--font-weight-semibold);color:#fff;background:var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;border:none;margin-top:8px;padding:14px}.login-form button:disabled{opacity:.6;cursor:default}.error-text{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius);background:var(--danger-soft);color:var(--color-error);font-size:var(--font-size-label);line-height:var(--line-height-normal);margin:0;display:flex}.error-text:before{content:"";width:16px;height:16px;-webkit-mask:var(--icon-alert) center / 16px 16px no-repeat;-webkit-mask:var(--icon-alert) center / 16px 16px no-repeat;mask:var(--icon-alert) center / 16px 16px no-repeat;background:currentColor;flex:none;margin-top:1px}.error-text+.error-text{margin-top:var(--space-2)}.user-info{font-size:var(--font-size-label);color:var(--color-muted);margin:0}.role-badge{border-radius:var(--radius-sm);color:var(--color-primary);font-size:var(--font-size-caption);background:#eef2ff;padding:2px 8px;display:inline-block}.logout-button{font-size:var(--font-size-label);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;padding:8px 12px}.member-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.member-card{background:var(--color-surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:12px 14px}.member-card-clickable{padding:0}.member-card-row{padding:8px 10px}.member-card-row.member-card-clickable{padding:0}.member-card-row .member-card-link,.member-card-row:not(.member-card-clickable){flex-wrap:nowrap;align-items:center;gap:5px;min-width:0;display:flex}.member-card-row .member-card-link{padding:8px 10px}.member-row-name{white-space:nowrap;flex:none}.member-row-id{text-align:right;text-overflow:ellipsis;white-space:nowrap;flex:none;min-width:0;overflow:hidden}.member-card-row .category-badge{white-space:nowrap;font-size:var(--font-size-micro);flex:none;padding:2px 6px}.member-card-link{color:inherit;padding:12px 14px;text-decoration:none;display:block}.member-cafe-id{font-size:var(--font-size-caption);color:var(--color-muted)}.member-card-dormant{opacity:.75;border-left:3px solid #f59e0b}.member-card-withdrawn{opacity:.75;border-left:3px solid var(--danger)}.category-badge{border-radius:var(--radius-sm);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);padding:2px 8px;display:inline-block}.category-badge-default{background:var(--tint-quiet);color:var(--color-muted)}.category-badge-dormant{background:var(--warning-soft);color:var(--warning)}.category-badge-officer{color:#1f6f50;background:#e4f1ea}.category-badge-withdrawn{background:var(--danger-soft);color:var(--danger)}.category-badge-test{border:1px dashed var(--divider);color:var(--color-muted);background:0 0}.member-filters{flex-direction:column;gap:8px;margin-bottom:8px;display:flex}.member-search-input{min-height:var(--control-height);box-sizing:border-box;padding:0 var(--space-3);font-size:var(--font-size-body);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%}.member-filter-selects{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.member-filter-selects-3{grid-template-columns:repeat(3,minmax(0,1fr))}.member-filters .member-search-input,.member-filter-select{height:var(--control-height-icon);min-height:var(--control-height-icon);font-size:var(--font-size-label);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);box-sizing:border-box;width:100%}.member-filters .member-search-input{padding:0 10px}.member-filter-select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#6b7280 50%),linear-gradient(135deg,#6b7280 50%,#0000 50%);background-position:calc(100% - 12px) calc(50% - 2px),calc(100% - 7px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding:0 20px 0 7px}.member-list-group{border-top:1px solid var(--color-border);margin-top:18px;padding-top:12px}.member-list-group .home-section-title{color:var(--color-muted);margin:0 0 8px}.member-count-caption{font-size:var(--font-size-label);color:var(--color-muted);margin:4px 0 12px}.admin-page{padding-bottom:32px}.dashboard-cards{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px;display:grid}.dashboard-card{background:var(--color-surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);flex-direction:column;gap:4px;padding:14px;display:flex}.dashboard-card-label{font-size:var(--font-size-caption);color:var(--color-muted)}.dashboard-card-value{font-size:var(--font-size-metric);font-weight:var(--font-weight-bold);color:var(--color-primary)}.dashboard-section{background:var(--surface,var(--color-surface));border-radius:var(--radius);padding:var(--space-4);margin-bottom:var(--space-4)}.dashboard-section h2,.dashboard-section h3{margin:0 0 var(--space-3);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-snug);color:var(--color-muted)}.dashboard-breakdown-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.dashboard-breakdown-list li{font-size:var(--font-size-label);justify-content:space-between;display:flex}.member-detail-card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);text-align:center;margin-top:12px;padding:20px 16px}.member-detail-photo-wrap{justify-content:center;margin-bottom:12px;display:flex}.member-detail-photo{object-fit:cover;width:120px;height:120px;box-shadow:var(--shadow);border-radius:50%}.member-detail-photo-placeholder{width:120px;height:120px;color:var(--color-muted);font-size:var(--font-size-caption);background:#f1f3f5;border-radius:50%;justify-content:center;align-items:center;display:flex}.member-detail-section-title{font-size:var(--font-size-label);color:var(--color-muted);text-align:left;border-top:1px solid var(--color-border);margin:20px 0 8px;padding-top:12px}.preview-save-box>.member-detail-section-title:first-child{border-top:none;margin-top:0;padding-top:0}.preview-save-box h4{font-size:var(--font-size-body);font-weight:var(--font-weight-bold);color:inherit;margin:10px 0 4px}.preview-save-box p:not([class]){font-size:var(--font-size-body);margin:4px 0}.member-detail-fields{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;margin:0;display:grid}.member-detail-field{border-bottom:1px solid var(--color-border);min-width:0;font-size:var(--font-size-body);flex-direction:column;gap:1px;padding:6px 0;display:flex}.member-detail-field-wide{grid-column:1/-1}.member-detail-field:last-child{border-bottom:none}.member-detail-field dt{color:var(--color-muted);font-size:var(--font-size-caption)}.member-detail-field dd{word-break:break-word;margin:0}.member-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.member-form-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}.member-form-row>label,.member-form-row>a{min-width:0}.member-form-row>label{flex-direction:column;justify-content:flex-end;gap:2px;display:flex}input[type=date].member-search-input{appearance:none;box-sizing:border-box;width:100%;min-width:0;max-width:100%}.home-section-title{font-size:var(--font-size-subheading);color:var(--color-muted);margin:0 0 8px}.closure-banner{border-radius:var(--radius-sm);font-size:var(--font-size-label);padding:12px 14px}.closure-banner-active{background:var(--warning-soft);color:var(--warning);flex-direction:column;gap:2px;display:flex}.summary-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.ops-filter-section{margin-top:14px;margin-bottom:16px}.ops-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.ops-filter-grid select,.ops-filter-grid input{height:var(--control-height);min-height:var(--control-height);box-sizing:border-box}.ops-filter-grid select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#6b7280 50%),linear-gradient(135deg,#6b7280 50%,#0000 50%);background-position:calc(100% - 16px) calc(50% - 2px),calc(100% - 11px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:26px}.status-badge{border-radius:var(--radius-sm);color:var(--color-primary);font-size:var(--font-size-caption);background:#eef2ff;margin-right:4px;padding:2px 8px;display:inline-block}.home-footer{font-size:var(--font-size-label);color:var(--color-muted);border-top:1px solid var(--color-border);padding-top:12px}.home-footer-note{font-size:var(--font-size-caption);margin:4px 0 0}.attendance-page{flex-direction:column;gap:16px;padding-bottom:32px;display:flex}.period-filter{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.period-filter label{gap:var(--space-1);min-width:0;font-size:var(--font-size-caption);color:var(--color-muted);flex-direction:column;display:flex}.period-filter select,.period-filter input[type=text],.period-filter input[type=number],.period-filter input[type=search]{width:100%;min-width:0;min-height:var(--control-height);padding:0 var(--space-3);box-sizing:border-box;font-size:var(--font-size-body);border:1px solid var(--ui-field-border,var(--color-border));border-radius:var(--radius-sm);background:var(--surface,var(--color-surface))}.filter-actions{gap:var(--space-3);grid-column:1/-1;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.period-filter>button,.period-filter>.action{align-self:end}.filter-actions .action{min-width:0}.period-filter label:has(>input[type=checkbox]){align-items:center;gap:var(--space-2);min-height:var(--control-height);flex-direction:row}.attendance-monthly-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.attendance-monthly-grid li{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);flex-direction:column;gap:1px;min-width:0;padding:6px;display:flex}.attendance-monthly-month{font-size:var(--font-size-micro);color:var(--color-muted)}.attendance-monthly-value{font-size:var(--font-size-micro);font-weight:var(--font-weight-bold)}.attendance-page-compact{gap:12px}.attendance-page-compact .dashboard-card{padding:8px 10px}.attendance-page-compact .dashboard-card-label{font-size:var(--font-size-micro)}.attendance-page-compact .dashboard-card-value{font-size:var(--font-size-subtitle)}.attendance-page-compact .dashboard-section{padding:10px 12px}.attendance-page-compact .dashboard-section h2{font-size:var(--font-size-body)}.attendance-day-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.attendance-day-card{background:var(--color-surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);font-size:var(--font-size-label);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.attendance-day-date{flex:1;min-width:120px}.attendance-status-badge{border-radius:var(--radius-sm);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);padding:2px 8px;display:inline-block}.attendance-status-attended{background:var(--success-soft);color:#15803d}.attendance-status-missed{color:var(--color-muted);background:#f1f3f5}.attendance-status-closure,.attendance-status-canceled{background:var(--warning-soft);color:var(--warning)}.attendance-status-before-join{color:#3730a3;background:#e0e7ff}.attendance-status-none{color:var(--color-muted);background:0 0}.recent-attendance-list{font-size:var(--font-size-label);flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.recent-attendance-list li{background:var(--color-surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:8px 12px}.attendance-calendar{background:var(--color-surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:10px}.attendance-calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.attendance-calendar-header{margin-bottom:4px}.attendance-calendar-weekday{text-align:center;font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);color:var(--color-muted);padding-bottom:4px}.attendance-calendar-weekday.is-sat{color:#2563eb}.attendance-calendar-weekday.is-sun{color:var(--color-text)}.attendance-calendar-cell{border-radius:var(--radius-sm);min-height:44px;font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);color:var(--color-text);background:0 0;flex-direction:column;justify-content:center;align-items:center;display:flex}.attendance-calendar-cell.attendance-status-attended{color:#fff;background:#22c55ed9}.attendance-calendar-cell.attendance-status-missed{background:#80808024}.attendance-calendar-cell.attendance-status-closure{background:#f59e0b2e}.attendance-calendar-cell.attendance-status-canceled{background:var(--warning-soft)}.attendance-calendar-cell.attendance-status-before-join{color:var(--color-muted);background:#78788012}.attendance-calendar-cell.attendance-status-none{color:#c1c5cb}.attendance-calendar-empty{background:0 0}.attendance-calendar-today{outline:2px solid var(--color-primary);outline-offset:-2px}.attendance-calendar-day-num{line-height:var(--line-height-tight)}.attendance-calendar-legend{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.attendance-day-list-details{font-size:var(--font-size-label);margin-top:10px}.attendance-day-list-details summary{cursor:pointer;color:var(--color-primary);font-size:var(--font-size-label);padding:4px 0}.attendance-day-list-details .attendance-day-list{margin-top:8px}.attendance-check-button{width:100%;min-height:var(--control-height);font-size:var(--font-size-row);font-weight:var(--font-weight-semibold);color:#fff;background:var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:0 14px}.attendance-check-button:disabled{opacity:.6;cursor:default}.page-action-button{min-height:var(--control-height);font-size:var(--font-size-label);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;padding:6px 12px;text-decoration:none;display:inline-flex}.page-action-button:disabled{opacity:.6;cursor:default}.page-action-button:hover:not(:disabled){border-color:var(--ui-field-border)}.page-action-button:active:not(:disabled){background:var(--surface-sunken)}.period-filter input[type=date]{height:var(--control-height);box-sizing:border-box;font-size:var(--font-size-body);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:8px}.weekend-attendance-close-note{font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:baseline;gap:5px;display:inline-flex}.weekend-attendance-countdown{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-bold);white-space:nowrap;color:var(--accent)}.weekend-attendance-day-label{font-size:var(--font-size-body);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.weekend-attendance-count{min-height:var(--control-height-compact);border-radius:var(--radius-sm);color:var(--color-muted);font-size:var(--font-size-label);white-space:nowrap;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:1px;padding:0;display:inline-flex}.weekend-attendance-count:disabled{color:#b9bcc2}.weekend-attendance-count{position:relative}.weekend-attendance-count:after{content:"";position:absolute;inset:-12px -8px}.weekend-attendance-status-note{margin:-2px 0 var(--space-2);font-size:var(--font-size-caption);color:var(--warning)}.weekend-attendance-action-button{min-height:var(--control-height-compact);padding:0 var(--space-4);border-radius:var(--radius-sm);font-size:var(--font-size-label);font-weight:var(--font-weight-bold);white-space:nowrap;border:none;flex:none}.weekend-attendance-action-button.attend{background:var(--accent);color:#fff}.weekend-attendance-action-button.cancel{background:var(--surface-sunken);color:var(--color-text)}.weekend-attendance-action-button:disabled{opacity:.5}.guest-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.guest-form input,.guest-form select{font-size:var(--font-size-body);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:8px}.guest-form-submit{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:#fff;background:var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:8px 14px}.guest-form-submit:disabled{opacity:.6;cursor:default}.guest-card{background:var(--color-surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);font-size:var(--font-size-label);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.guest-card-actions{gap:6px;display:flex}.match-archive-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.match-archive-card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:6px;padding:14px 16px;display:flex}.match-archive-card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.match-archive-card-date{font-size:var(--font-size-label);color:var(--color-muted)}.match-archive-badge{font-size:var(--font-size-micro);border-radius:var(--radius-sm);background:#0000000f;padding:2px 8px}.match-archive-badge.locked{background:var(--surface-sunken);color:var(--color-muted)}.match-archive-card-title{font-size:var(--font-size-row);font-weight:var(--font-weight-semibold)}.match-archive-card-stats{font-size:var(--font-size-label);flex-wrap:wrap;gap:12px;display:flex}.match-archive-card-link{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-primary);align-self:flex-end}.match-archive-detail-header{flex-direction:column;gap:4px;display:flex}.match-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.match-row{background:var(--color-surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.match-row-broken{background:#dc26260f}.match-row-meta{font-size:var(--font-size-caption);color:var(--color-muted);flex-wrap:wrap;gap:8px;display:flex}.match-row-order{font-weight:var(--font-weight-semibold);color:var(--color-text)}.match-row-teams{grid-template-columns:minmax(0, 1fr) var(--match-score-col) minmax(0, 1fr);align-items:center;gap:var(--space-2);display:grid}.match-team{min-width:0;font-size:var(--font-size-label);flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.match-player{text-align:center;overflow-wrap:anywhere;min-width:0;max-width:100%}.match-player.guest{color:#b45309}.match-player.empty{color:var(--color-muted)}.match-player-guest-tag{font-size:var(--font-size-micro);border-radius:var(--radius-sm);background:#b453091f;margin-left:4px;padding:1px 6px}.match-row-score{text-align:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-heading);white-space:nowrap;justify-self:center;padding:2px 0}.match-row-score-empty{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-muted)}.match-row-score.winner-team1,.match-row-score.winner-team2{color:var(--color-primary)}.preview-select-list{flex-direction:column;gap:4px;max-height:260px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.preview-select-item{font-size:var(--font-size-label);border-radius:var(--radius-sm);background:var(--color-surface);padding:6px 8px}.preview-select-item label{cursor:pointer;align-items:center;gap:8px;display:flex}.preview-options-grid{gap:var(--space-3);margin-bottom:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.preview-options-grid label{min-width:0}.preview-options-grid input,.preview-options-grid select{box-sizing:border-box;width:100%;min-width:0}.preview-options-grid label{font-size:var(--font-size-label);color:var(--color-muted);flex-direction:column;gap:4px;display:flex}.preview-options-grid select,.preview-options-grid input{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-body);padding:8px}.preview-inline-checkbox{font-size:var(--font-size-label);align-items:center;gap:6px;display:flex}.preview-warning-list{font-size:var(--font-size-label);color:var(--warning);flex-direction:column;gap:4px;margin:0 0 10px;padding:0;list-style:none;display:flex}.grade-tier-help{padding:0 var(--space-1);font-size:var(--font-size-label);color:var(--color-muted)}.grade-tier-help>summary{min-height:var(--control-height);cursor:pointer;align-items:center;list-style:none;display:flex}.grade-tier-help>summary::-webkit-details-marker{display:none}.grade-tier-help>summary:after{content:"▾";margin-left:var(--space-1)}.grade-tier-help[open]>summary:after{content:"▴"}.grade-tier-help>summary:focus-visible{outline-offset:2px;border-radius:var(--radius-sm);outline:3px solid #2563eb}.grade-tier-help ul{margin:0 0 var(--space-2);padding:0 0 0 var(--space-1);flex-direction:column;gap:2px;list-style:none;display:flex}.grade-tier-help b{color:var(--color-text)}.preview-note-list{font-size:var(--font-size-label);color:var(--color-muted);flex-direction:column;gap:4px;margin:0 0 10px;padding:0;list-style:none;display:flex}.preview-save-box{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius);background:var(--surface,var(--color-surface));gap:var(--space-2);flex-direction:column;display:flex}.preview-save-box.preview-save-success{background:#1f6f5014;border-color:#1f6f5040}.preview-save-warning{font-size:var(--font-size-label);color:var(--warning);margin:0}.preview-save-confirm{font-weight:var(--font-weight-semibold)}.event-match-preview-box{border-top:1px solid var(--color-border)}.event-match-preview-results,.event-match-round{flex-direction:column;gap:8px;display:flex}.event-match-round{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:12px}.event-match-round h3{font-size:var(--font-size-body);margin:0}.event-match-row{border-bottom:1px solid var(--color-border);font-size:var(--font-size-label);grid-template-columns:70px minmax(0,1fr) 24px minmax(0,1fr);align-items:center;gap:6px;padding:8px 0;display:grid}.event-match-row:last-child{border-bottom:0}.event-match-row small{grid-column:2/-1}.event-match-vs{color:var(--color-muted);text-align:center}.event-match-save-box{border-radius:var(--radius-sm);background:#dc26260d;border:1px solid #dc262647;flex-direction:column;gap:10px;margin-top:12px;padding:14px;display:flex}.event-match-save-box h3,.event-match-save-box p{margin:0}.event-match-save-box code{overflow-wrap:anywhere;font-size:var(--font-size-caption)}.event-save-confirm-key{width:100%;margin-top:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.event-match-save-box .danger-button{align-self:flex-start}@media (max-width:520px){.event-match-row{grid-template-columns:1fr}.event-match-row small{grid-column:1}.event-match-vs{text-align:left}.event-match-save-box .danger-button{width:100%}}.danger-button{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:#fff;background:var(--color-error);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:10px 16px}.danger-button:disabled{opacity:.5;cursor:default}.score-edit-inputs{justify-content:center;align-items:center;gap:var(--space-1);min-width:0;font-weight:var(--font-weight-bold);display:flex}.score-edit-input{width:56px;min-width:0;min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-input);text-align:center;flex:none;padding:4px 2px}.score-edit-actions{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:6px;display:flex}.screen-score-editing .match-row-teams{grid-template-columns:minmax(0, 1fr) var(--match-score-col-editing) minmax(0, 1fr)}.score-edit-actions .danger-button{font-size:var(--font-size-caption);padding:6px 10px}.event-detail-date-key{overflow-wrap:anywhere;word-break:break-word;-webkit-user-select:all;user-select:all;width:100%;font-size:var(--font-size-caption);color:var(--color-muted);display:block}.event-score-policy p{margin:4px 0}.event-score-round{border:1px solid var(--color-border);border-radius:var(--radius);background:#ffffff59;margin-bottom:16px;padding:12px}.event-score-round-header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.event-score-round-header h3,.event-score-round-header .member-count-caption{margin:0}.event-round-completed{color:#15803d;background:#16a34a1f}.event-round-in_progress{color:#b45309;background:#f59e0b24}.event-round-not_started{color:var(--color-muted);background:#64748b1f}.event-score-inputs{flex:none}@media (max-width:640px){.event-score-round{padding:10px 8px}.event-score-inputs .score-edit-input{width:52px;min-height:var(--control-height);font-size:var(--font-size-input)}.event-score-round .match-row-teams{gap:8px}.event-score-round .score-edit-actions>button{flex:92px;min-width:0}}.records-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.records-table{border-collapse:collapse;width:100%;min-width:640px;font-size:var(--font-size-label)}.records-table th,.records-table td{text-align:center;white-space:nowrap;border-bottom:1px solid var(--color-border);padding:8px 10px}.records-table th{color:var(--color-muted);font-weight:var(--font-weight-semibold);font-size:var(--font-size-caption)}.records-table td:nth-child(2){text-align:left}.records-table tr.is-me{font-weight:var(--font-weight-bold);background:#1d4ed814}.records-table .point-diff-negative{color:var(--danger)}.event-wrap-anywhere{overflow-wrap:anywhere;word-break:break-word}.event-finalization-banner p{margin:4px 0}.event-finalization-status-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.event-finalize-card{border:1px solid var(--color-border)}.event-finalize-card p{margin:4px 0}.event-finalize-blockers{margin:8px 0;padding:0;list-style:none}.event-finalize-blockers li{overflow-wrap:anywhere;margin:4px 0}.event-finalize-check{font-size:var(--font-size-body);line-height:var(--line-height-snug);align-items:flex-start;gap:8px;margin:8px 0;display:flex}.event-finalize-check input{flex:none;margin-top:3px}.event-finalize-datekey,.event-unlock-reason{box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;max-width:100%;font-size:var(--font-size-label);margin:6px 0;padding:8px 10px;display:block}.event-unlock-card{background:#d9534f0f;border:1px solid #d9534f}.event-unlock-card p{margin:4px 0}.event-unlock-reason-label{font-size:var(--font-size-label);color:var(--color-muted);display:block}.event-unlock-reason{resize:vertical;min-height:60px}.event-records-preview{border:1px solid var(--color-border)}.event-records-commit-zone{border-radius:var(--radius);background:#fee2e273;border:1px solid #ef4444;gap:.65rem;min-width:0;margin-top:1rem;padding:1rem;display:grid}.event-records-commit-zone .danger-button{width:100%;min-height:44px}@media (max-width:420px){.event-records-commit-zone{padding:.75rem}.event-records-checksum,.event-wrap-anywhere{overflow-wrap:anywhere;word-break:break-word}}.preview-only-badge{border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--warning);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);margin:4px 0 8px;padding:2px 10px;display:inline-block}.event-records-warnings li,.event-records-blocked li{overflow-wrap:anywhere;word-break:break-word}.event-records-diff-section{margin-top:10px}.event-records-diff-list li{overflow-wrap:anywhere;word-break:break-word}.event-records-diff-op{border-radius:var(--radius-sm);background:var(--color-surface-muted,#f1f5f9);min-width:34px;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);padding:1px 6px;display:inline-block}.event-records-changes{color:#b45309}.event-records-checksum{overflow-wrap:anywhere;word-break:break-all}.event-records-excluded summary{cursor:pointer;font-size:var(--font-size-label);color:var(--color-muted)}.success-text{color:#15803d;font-size:var(--font-size-label)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.event-card-links,.event-result-badges,.event-result-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.event-result-header,.event-result-page,.event-result-page code,.event-result-page textarea{overflow-wrap:anywhere;word-break:break-word}.event-team-result-score{text-align:center;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;display:grid}.event-team-result-score div{justify-content:center;align-items:baseline;gap:10px;min-width:0;display:flex}.event-team-result-score strong{font-size:clamp(28px,8vw,46px)}.event-team-result-score span{overflow-wrap:anywhere}.event-team-result-colon{font-size:var(--font-size-metric-lg);font-weight:var(--font-weight-bold)}.event-team-result-winner{text-align:center;font-size:var(--font-size-title);font-weight:var(--font-weight-bold)}.event-result-rounds,.event-result-match-list,.event-ranking-list{gap:10px;display:grid}.event-result-round summary{gap:var(--space-3);min-height:var(--control-height);padding:var(--space-3);cursor:pointer;grid-template-columns:minmax(65px,auto) minmax(0,1fr) auto;align-items:center;display:grid}.event-result-match-list{padding:0 12px 12px}.event-result-match{grid-template-columns:minmax(52px, auto) minmax(0, 1fr) var(--match-score-col) minmax(0, 1fr);gap:var(--space-2);text-align:center;border-top:1px solid var(--color-border);font-size:var(--font-size-label);align-items:center;padding:8px 0;display:grid}.event-result-match strong{text-align:center;white-space:nowrap}.event-ranking-formula{margin-top:14px}.event-ranking-formula summary{cursor:pointer;min-height:44px;font-weight:var(--font-weight-bold)}.event-result-share textarea{resize:vertical;width:100%;min-height:280px;font:inherit;line-height:var(--line-height-relaxed)}.event-result-actions{margin-top:10px}.event-result-actions button{min-height:44px}@media (max-width:600px){.event-result-match{grid-template-columns:minmax(0, 1fr) var(--match-score-col) minmax(0, 1fr)}.event-result-match>span:first-child{text-align:left;font-size:var(--font-size-caption);color:var(--color-muted);grid-column:1/-1}.event-result-actions{grid-template-columns:1fr;display:grid}.event-result-actions button{width:100%}}@media (max-width:390px){.event-team-result-score{gap:6px}.event-team-result-score div{flex-direction:column;align-items:center;gap:5px}}.integrity-page,.integrity-page code,.integrity-page dd{overflow-wrap:anywhere;word-break:break-word}.integrity-readonly{gap:var(--space-2);margin:var(--space-3) 0;padding:var(--space-3);border-radius:var(--radius);background:var(--tint-info);color:var(--tint-info-ink);font-size:var(--font-size-label);line-height:var(--line-height-normal);border:none;align-items:baseline;display:flex}.integrity-readonly strong{white-space:nowrap}.integrity-summary-grid{margin:var(--space-3) 0;border-radius:var(--radius);background:var(--divider);grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:1px;display:grid;overflow:hidden}.integrity-summary{min-width:0;padding:var(--space-3) 4px;background:var(--surface);border:none;flex-direction:column;align-items:center;gap:1px;display:flex}.integrity-summary span{color:var(--color-muted);font-size:var(--font-size-caption);order:2}.integrity-summary strong{font-size:var(--font-size-metric-sm);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-display);font-variant-numeric:tabular-nums}.integrity-healthy strong{color:var(--success)}.integrity-attention strong,.integrity-warning strong{color:var(--warning)}.integrity-broken strong,.integrity-critical strong{color:var(--danger)}.integrity-lifecycle>div,.integrity-source-row,.integrity-card-foot,.integrity-pagination{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.integrity-lifecycle span,.integrity-source-row span{border-radius:var(--radius-sm);font-size:var(--font-size-caption);background:#f1f5f9;padding:5px 9px}.integrity-source-row .present{background:var(--success-soft);color:var(--success)}.integrity-source-row .missing{background:var(--danger-soft);color:var(--danger)}.integrity-filter-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.integrity-filter-grid select,.integrity-search input{width:100%;min-width:0;min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:inherit;padding:8px 10px}.integrity-search{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px;display:grid}.integrity-event-list,.integrity-issue-list{gap:10px;display:grid}.integrity-event-card{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);border-left-width:5px;padding:14px}.integrity-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.integrity-card-head h2{margin:6px 0}.integrity-status{border-radius:var(--radius-sm);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);border:1px solid;padding:2px 8px;display:inline-block}.integrity-card-foot{justify-content:space-between;margin-top:10px}.integrity-pagination{justify-content:center;margin:16px 0}.integrity-pagination button{min-height:var(--control-height);padding:7px 14px}.integrity-source-matrix{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.integrity-source-matrix>div{border:1px solid var(--color-border);border-radius:var(--radius-sm);text-align:center;gap:4px;padding:12px;display:grid}.integrity-source-matrix .present{background:#f0fdf4;border-color:#16a34a}.integrity-source-matrix .missing{background:var(--danger-soft);border-color:var(--danger)}.integrity-check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0;display:grid}.integrity-check{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);min-width:0;padding:14px}.integrity-check h2{margin-top:0}.integrity-check dl{margin:0}.integrity-check dl>div{border-top:1px solid var(--color-border);grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);gap:8px;padding:7px 0;display:grid}.integrity-check dt{color:var(--color-muted)}.integrity-check dd{text-align:right;margin:0}.integrity-issue{border:1px solid var(--color-border);border-radius:var(--radius-sm);border-left-width:5px;padding:14px}.integrity-issue>div{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.integrity-issue h3{margin:8px 0}.integrity-issue p{margin:5px 0}@media (max-width:600px){.integrity-filter-grid,.integrity-check-grid{grid-template-columns:1fr}.integrity-card-head{display:grid}.integrity-check dl>div{grid-template-columns:minmax(100px,.8fr) minmax(0,1.2fr)}}@media (max-width:430px){.integrity-readonly{flex-direction:column;align-items:flex-start}.integrity-search{grid-template-columns:1fr}.integrity-search button{width:100%}.integrity-source-matrix{grid-template-columns:1fr}.integrity-card-foot{flex-direction:column;align-items:stretch}.integrity-card-foot a{text-align:center;width:100%}.integrity-check{padding:11px}}.matchup-page,.matchup-page code,.matchup-page select,.matchup-page input{overflow-wrap:anywhere;word-break:break-word}.matchup-page .page-action-button{min-height:44px}.matchup-picker,.matchup-results{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius);background:var(--surface);border:none;min-width:0}.matchup-picker-head,.matchup-result-head,.matchup-team-card h3,.matchup-meter-labels,.matchup-result-team header,.matchup-factor-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.matchup-picker-head h2,.matchup-result-head h2{margin:0 0 4px}.matchup-picker-head p,.matchup-result-head p{color:var(--color-muted);margin:0}.matchup-event-toggle{white-space:nowrap;align-items:center;gap:7px;min-height:44px;display:flex}.matchup-event-toggle input{width:18px;height:18px}.matchup-search{font-weight:var(--font-weight-bold);gap:6px;margin:14px 0 5px;display:grid}.matchup-search em{color:var(--color-muted);font-size:var(--font-size-caption);font-style:normal;font-weight:var(--font-weight-medium);margin-left:6px}.matchup-search input,.matchup-player-field select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-width:0;min-height:44px;color:inherit;padding:9px 11px}.matchup-search-result{color:var(--color-muted);font-size:var(--font-size-label);margin:5px 0}.matchup-team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.matchup-team-card{border-radius:var(--radius);border:2px solid;gap:12px;min-width:0;padding:15px;display:grid}.matchup-team-card.team-one{border-color:var(--color-primary);background:#eef6f2}.matchup-team-card.team-two{background:#eff6ff;border-color:#2563eb}.matchup-team-card h3{margin:0}.matchup-player-field{font-size:var(--font-size-label);font-weight:var(--font-weight-bold);gap:5px;min-width:0;display:grid}.matchup-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:15px;display:flex}.matchup-actions button{min-height:44px}.matchup-result-head>span,.matchup-sample{border-radius:var(--radius-sm);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);background:#f1f5f9;padding:4px 9px;display:inline-block}.matchup-sample.sufficient{background:var(--success-soft);color:var(--success)}.matchup-sample.moderate{color:#1e40af;background:#dbeafe}.matchup-sample.limited,.matchup-sample.insufficient{background:var(--warning-soft);color:var(--warning)}.matchup-meter{border-radius:var(--radius-sm);background:#e2e8f0;height:24px;margin-top:18px;display:flex;overflow:hidden}.matchup-meter .team-one{background:var(--color-primary)}.matchup-meter .team-two{background:#2563eb}.matchup-meter-labels{margin-top:7px}.matchup-meter-labels strong:first-child{color:var(--color-primary)}.matchup-meter-labels strong:last-child{color:#1d4ed8;text-align:right}.matchup-result-team{border:1px solid var(--color-border);border-radius:var(--radius);min-width:0;padding:15px}.matchup-result-team header>div{align-items:baseline;gap:9px;display:flex}.matchup-result-team header strong{font-size:var(--font-size-metric-lg)}.matchup-result-team ul{gap:9px;margin:13px 0;padding:0;list-style:none;display:grid}.matchup-player-stat{border-radius:var(--radius-sm);background:var(--color-surface-muted,#f8fafc);padding:11px}.matchup-player-stat>div{justify-content:space-between;gap:8px;display:flex}.matchup-player-stat>div span{color:var(--color-muted);font-size:var(--font-size-caption);text-align:right}.matchup-player-stat dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:9px 0 0;display:grid}.matchup-player-stat dl div{text-align:center;gap:2px;display:grid}.matchup-player-stat dt{color:var(--color-muted);font-size:var(--font-size-micro)}.matchup-player-stat dd{font-size:var(--font-size-label);font-weight:var(--font-weight-bold);margin:0}.matchup-reference,.matchup-h2h{border-radius:var(--radius-sm);background:#f8fafc;justify-content:space-between;gap:10px;padding:11px;display:flex}.matchup-h2h{align-items:center;margin-top:14px}.matchup-h2h h3,.matchup-h2h p{margin:0}.matchup-factors{margin-top:16px}.matchup-factor-head span{border-radius:var(--radius-sm);font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);white-space:nowrap;padding:2px 7px}.matchup-factors .used{background:var(--success-soft);color:var(--success)}.matchup-factors .reference{background:var(--surface-sunken);color:var(--color-muted)}.matchup-warnings{border-radius:var(--radius-sm);background:var(--warning-soft);border:1px solid #d97706;margin-top:14px;padding:12px}.matchup-warnings h3{margin:0 0 7px}.matchup-warnings ul{margin:0;padding-left:20px}.matchup-disclaimer{border-top:1px solid var(--color-border);margin:15px 0 0;padding-top:12px}.matchup-result-team ul{grid-template-columns:minmax(0,1fr)}@media (max-width:768px){.matchup-team-grid{gap:8px}.matchup-team-card{gap:8px;padding:10px}.matchup-player-stat{padding:8px}}@media (max-width:430px){.matchup-picker,.matchup-results{padding:13px}.matchup-picker-head,.matchup-result-head{flex-direction:column;align-items:flex-start}.matchup-event-toggle{white-space:normal}.matchup-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.matchup-actions .primary-button{grid-column:1/3;width:100%}.matchup-player-stat dd{font-size:var(--font-size-caption)}.matchup-reference,.matchup-h2h{flex-direction:column;align-items:flex-start}}.logs-page,.logs-page input,.logs-page select,.logs-page pre,.logs-page dd{overflow-wrap:anywhere;word-break:break-word}.logs-summary-grid{margin:var(--space-3) 0;border-radius:var(--radius);background:var(--divider);grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:1px;display:grid;overflow:hidden}.logs-summary-card{min-width:0;padding:var(--space-3) var(--space-2);background:var(--surface);font-size:var(--font-size-micro);border:none;border-radius:0;align-content:start;gap:1px;display:grid}.logs-summary-card strong{font-size:var(--font-size-metric-sm);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-display);font-variant-numeric:tabular-nums}.logs-summary-card span,.logs-summary-card small{color:var(--color-muted)}.logs-summary-card.unavailable strong{color:var(--danger)}.logs-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:16px 0 8px;display:grid}.logs-tabs button{min-height:var(--control-height-icon);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:inherit;font-weight:var(--font-weight-bold);padding:8px}.logs-tabs button.active{color:#1e3a8a;background:#dbeafe;border-color:#2563eb}.logs-filter-card{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);gap:11px;min-width:0;padding:14px;display:grid}.logs-common-filters,.logs-type-filters,.logs-date-filters{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.logs-filter-card label{min-width:0;font-size:var(--font-size-label);font-weight:var(--font-weight-bold);gap:5px;display:grid}.logs-filter-card input,.logs-filter-card select{width:100%;min-width:0;min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:inherit;padding:8px 10px}.logs-filter-card .logs-toggle{flex-direction:row;align-items:center;gap:8px;min-height:44px;display:flex}.logs-toggle input{flex:none;width:19px;height:19px;min-height:19px}.logs-filter-actions{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.logs-filter-actions button{min-width:0}.logs-filter-actions button,.logs-pagination button{min-height:var(--control-height);padding:8px 14px}.logs-list-head{flex-wrap:wrap;justify-content:space-between;gap:8px;margin:18px 0 9px;display:flex}.logs-list-head span{color:var(--color-muted);font-size:var(--font-size-label)}.logs-list{gap:10px;display:grid}.logs-card{min-width:0;padding:var(--space-3) var(--space-4);background:var(--surface);border:none;border-radius:0}.logs-card+.logs-card{box-shadow:inset 0 1px 0 var(--divider)}.logs-card>header{align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);grid-template-columns:1fr auto;display:grid}.logs-card>header>div{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.logs-card time{text-align:left;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);color:var(--color-muted);font-variant-numeric:tabular-nums;justify-self:start}.logs-card dl{margin:0}.logs-card dl>div{gap:var(--space-2);border:none;grid-template-columns:minmax(88px,.25fr) minmax(0,1fr);padding:2px 0;display:grid}.logs-card dt{color:var(--color-muted)}.logs-card dd{margin:0}.logs-card details{border-radius:var(--radius-sm);background:#f8fafc;margin-top:8px;padding:9px}.logs-card summary{min-height:var(--control-height-icon);cursor:pointer;font-weight:var(--font-weight-bold)}.logs-card pre{white-space:pre-wrap;margin:8px 0 0;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.logs-badge{border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--warning);font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);padding:3px 7px;display:inline-block}.logs-badge.warning{background:var(--warning-soft);color:var(--warning)}.result-실패,.result-차단{background:var(--danger-soft);color:var(--danger)}.result-성공,.result-자동로그인{background:var(--success-soft);color:var(--success)}.result-기타{color:#475569;background:#f1f5f9}.logs-warning{border-radius:var(--radius-sm);background:var(--warning-soft);color:#78350f;border:1px solid #d97706;padding:10px 12px}.logs-empty{border:1px dashed var(--color-border);border-radius:var(--radius);text-align:center;color:var(--color-muted);padding:24px}.logs-pagination{justify-content:center;align-items:center;gap:12px;margin:16px 0;display:flex}.logs-policy-note{border:1px solid var(--color-border);border-radius:var(--radius);background:#f8fafc;margin-top:18px;padding:14px}.logs-policy-note h2{margin-top:0}.logs-policy-note p{margin:6px 0}@media (max-width:900px){.logs-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:600px){.logs-summary-grid,.logs-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.logs-tabs button:last-child{grid-column:1/3}.logs-card dl>div{grid-template-columns:minmax(85px,.3fr) minmax(0,1fr)}}@media (max-width:430px){.logs-summary-grid{grid-template-columns:1fr}.logs-summary-card,.logs-card{padding:11px}}.logout-button-mark{font-size:var(--font-size-body);line-height:var(--line-height-none)}.court-rental-range{font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;white-space:nowrap}.court-rental-day{min-width:0;padding:var(--space-2) var(--space-4) var(--space-3);flex-direction:column;display:flex}.court-rental-day>.court-weather-row,.court-rental-day>.court-weather-pending{margin-top:auto}.court-rental-day-head{font-size:var(--font-size-caption);flex-wrap:nowrap;align-items:baseline;gap:6px;margin-bottom:6px;display:flex}.court-rental-day-name{white-space:nowrap;font-size:var(--font-size-body);font-weight:var(--font-weight-bold);flex:none}.court-rental-day-sat,.court-rental-day-sun{color:var(--color-text)}.court-rental-place{min-width:0;color:var(--accent);font-weight:var(--font-weight-semibold);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:1px;margin-left:auto;text-decoration:none;display:inline-flex;overflow:hidden}.court-rental-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.court-rental-table{border-collapse:collapse;width:100%;font-size:var(--font-size-micro);table-layout:auto}.court-rental-table th,.court-rental-table td{text-align:center;white-space:nowrap;padding:3px 4px}.court-rental-table thead th:first-child,.court-rental-table tbody th{text-align:left;padding-left:0}.court-rental-table thead th{color:var(--color-muted);font-size:var(--font-size-micro);font-weight:var(--font-weight-semibold);border-bottom:1px solid var(--divider);background:0 0}.court-rental-table tbody th{font-weight:var(--font-weight-semibold);color:var(--color-text)}.court-rental-table tbody tr+tr th,.court-rental-table tbody tr+tr td{border-top:1px solid var(--divider)}.court-rental-empty{font-size:var(--font-size-caption);color:var(--color-muted);margin:0}@media (max-width:430px){.court-rental-card{padding:10px}.court-rental-day{padding:8px 6px}.court-rental-days{gap:6px}.court-rental-table{font-size:var(--font-size-nano)}.court-rental-table th,.court-rental-table td{padding:4px 2px}.court-rental-table thead th:first-child,.court-rental-table tbody th{padding-left:3px;padding-right:3px}.court-rental-day-head{gap:4px}.court-rental-day-name{font-size:var(--font-size-label)}.court-rental-place{font-size:var(--font-size-micro);margin-left:auto}}.member-list-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.member-list-toolbar .member-count-caption{margin:0}.roster-modal-backdrop{z-index:50;background:#0f172a73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.roster-modal{background:var(--color-surface,#fff);border-radius:var(--radius);width:min(560px,100%);max-height:80vh;box-shadow:var(--shadow-lg);padding:18px;overflow-y:auto}.roster-modal-header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:12px;display:flex}.roster-modal-header h2,.roster-modal-header h3{font-size:var(--font-size-subtitle);margin:0}.roster-modal-close{font-size:var(--font-size-metric);line-height:var(--line-height-none);cursor:pointer;color:#6b7280;background:0 0;border:0;padding:0 4px}.close-policy-form{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:10px;display:flex}.close-policy-form label{font-size:var(--font-size-label);color:var(--color-muted);flex-direction:column;gap:4px;display:flex}.close-policy-form select,.close-policy-form input{border:1px solid var(--color-border,#e5e7eb);border-radius:var(--radius-sm);font-size:var(--font-size-body);padding:6px 8px;font-family:inherit}.attendance-attendee-cancel{white-space:nowrap;border:1px solid var(--color-border,#e5e7eb);border-radius:var(--radius-sm);font-size:var(--font-size-micro);color:var(--color-muted);cursor:pointer;background:0 0;align-self:flex-end;margin-top:4px;padding:3px 8px;font-family:inherit}.attendance-attendee-cancel:disabled{opacity:.45;cursor:default}.court-slot-day{margin-top:10px}.court-slot-row{border:1px solid var(--color-border,#e5e7eb);border-radius:var(--radius-sm);flex-wrap:nowrap;align-items:center;gap:4px;margin-top:6px;padding:7px 6px;display:flex}.court-slot-row input[type=text]{flex:80px;min-width:0}.court-slot-row input[type=time]{width:104px;font-size:var(--font-size-label);flex:none;padding-left:6px;padding-right:2px}.court-slot-row input[type=text]{flex:40px}.court-slot-row input{border:1px solid var(--color-border,#e5e7eb);border-radius:var(--radius-sm);font-size:var(--font-size-body);padding:6px 8px;font-family:inherit}.court-slot-row input,.court-slot-row .attendance-attendee-cancel{box-sizing:border-box;height:var(--control-height-compact)}.court-slot-row .attendance-attendee-cancel{flex:none;align-self:center;margin-top:0}.close-policy-form>label{flex:1 1 0;min-width:96px}.close-policy-form select,.close-policy-form input,.close-policy-form .page-action-button{box-sizing:border-box;min-height:var(--control-height);width:100%}.close-policy-form .page-action-button{flex:none;align-self:flex-end;width:auto;min-width:80px}.session-admin-page{max-width:1180px}.session-preview-modal{width:min(520px,100%)}.session-preview-modal .tools-check{align-items:flex-start;gap:8px;display:flex}.session-preview-modal .tools-check span{word-break:keep-all;overflow-wrap:break-word;flex:auto;min-width:0}.session-preview-modal .session-confirm-grid>label:not(.tools-check){font-size:var(--font-size-label);flex-direction:column;gap:4px;display:flex}.session-preview-modal input[type=text],.session-preview-modal input[type=number]{box-sizing:border-box;width:100%}.session-confirm-grid input[type=checkbox]{flex:none;width:20px;min-height:20px}.tools-form-grid label{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-muted)}.tools-form-grid input,.tools-form-grid select{min-height:var(--control-height);font-size:var(--font-size-body);color:var(--color-text)}.tools-item-card .page-action-button,.tools-item-card .secondary-button,.tools-page .dashboard-section>.page-action-button,.tools-page .dashboard-section>.danger-button{min-height:var(--control-height-icon);font-size:var(--font-size-label);padding:6px 14px}.court-basics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.court-basics-grid label{min-width:0;font-size:var(--font-size-label);color:var(--color-muted);flex-direction:column;gap:4px;display:flex}.court-basics-grid input{box-sizing:border-box;width:100%;min-height:var(--control-height);border:1px solid var(--color-border,#e5e7eb);border-radius:var(--radius-sm);font-size:var(--font-size-body);color:var(--color-text);padding:6px 8px;font-family:inherit}.court-basics-grid .court-basics-save{min-height:var(--control-height);grid-column:1/-1;justify-content:center}:root{--action-save:var(--accent);--action-save-strong:var(--accent-strong);--action-delete:var(--danger)}.primary-button,.danger-button{min-height:var(--control-height);padding:0 var(--space-4);border-radius:var(--radius-sm);font-size:var(--font-size-body);font-weight:var(--font-weight-bold);color:#fff;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;font-family:inherit;display:inline-flex}.primary-button{background:var(--action-save)}.primary-button:hover:not(:disabled){background:var(--action-save-strong)}.danger-button{background:var(--action-delete)}.primary-button:disabled,.danger-button:disabled{opacity:.45;cursor:default}.tools-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.tools-capability-grid li{flex-direction:column;align-items:flex-start;gap:2px;padding:6px 8px}.tools-capability-grid li span{font-size:var(--font-size-micro);color:#64748b}.tools-capability-grid li strong{font-size:var(--font-size-caption)}.closure-card{flex-wrap:wrap;align-items:center;gap:8px;padding:9px 12px;display:flex}.closure-card-dates{font-size:var(--font-size-body);font-variant-numeric:tabular-nums}.closure-card-reason{min-width:0;font-size:var(--font-size-label);color:var(--color-muted);flex:auto;margin:0}.closure-card-edit{min-height:var(--control-height-compact);font-size:var(--font-size-label);flex:none;padding:4px 14px}.closure-year-filter{min-width:0;font-size:var(--font-size-label);color:var(--color-muted);white-space:nowrap;align-items:center;gap:6px;display:flex}.closure-year-filter select{min-width:0;min-height:var(--control-height);border:1px solid var(--color-border,#e5e7eb);border-radius:var(--radius-sm);font-size:var(--font-size-label);padding:4px 8px;font-family:inherit}.closure-submit{box-sizing:border-box;align-self:end;height:44px;min-height:44px}.session-admin-page h3{font-size:var(--font-size-heading)}.session-policy-note p{font-size:var(--font-size-caption)}.session-policy-note h3{font-size:var(--font-size-body)}.close-policy-form>label{align-self:stretch}.close-policy-form select,.close-policy-form input{height:var(--control-height)}.close-policy-form select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#6b7280 50%),linear-gradient(135deg,#6b7280 50%,#0000 50%);background-position:calc(100% - 16px) calc(50% - 2px),calc(100% - 11px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:26px}.close-policy-form .close-policy-save{height:var(--control-height);min-height:var(--control-height);flex:none;align-self:flex-end;padding:0 16px}.court-slot-remove{min-width:28px;min-height:var(--control-height-compact);height:var(--control-height-compact);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);flex:none;padding:0 8px}.tools-table{min-width:0;font-size:var(--font-size-caption);table-layout:fixed}.tools-table td:first-child,.tools-table th:first-child{width:42%}.tools-table th:nth-child(2),.tools-table td:nth-child(2){width:16%}.tools-table th,.tools-table td{padding:5px 6px}.tools-table-name{font-weight:var(--font-weight-semibold)}.tools-table-desc{font-size:var(--font-size-nano);color:#7c8a9c;margin-top:1px}.tools-table .tools-status{min-height:20px;font-size:var(--font-size-micro);white-space:nowrap;padding:1px 6px}.tools-window-table{table-layout:auto}.tools-window-table td:first-child,.tools-window-table th:first-child,.tools-window-table th:nth-child(2),.tools-window-table td:nth-child(2){width:auto}.tools-window-table th,.tools-window-table td{text-align:center;white-space:nowrap;padding:5px 4px}.tools-window-table th:first-child,.tools-window-table td:first-child{text-align:left}.logs-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.logs-summary-card strong{font-size:var(--font-size-subtitle)}.logs-summary-card span,.logs-summary-card small{font-size:var(--font-size-micro)}.logs-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.logs-tabs button{min-height:var(--control-height-icon);font-size:var(--font-size-micro);white-space:nowrap;padding:4px 2px}.logs-tabs button:last-child{grid-column:auto}.logs-date-filters label{min-width:0;font-size:var(--font-size-label);font-weight:var(--font-weight-bold);gap:5px;display:grid}.logs-date-filters input[type=date]{min-width:0;max-width:100%;overflow:hidden}.logs-filter-card label{font-size:var(--font-size-micro)}.logs-filter-card input,.logs-filter-card select{height:var(--control-height);min-height:var(--control-height);font-size:var(--font-size-caption);box-sizing:border-box;padding:6px 8px}.logs-filter-card select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#6b7280 50%),linear-gradient(135deg,#6b7280 50%,#0000 50%);background-position:calc(100% - 14px) calc(50% - 2px),calc(100% - 9px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:24px}.logs-type-filters .logs-toggle,.logs-type-filters .logs-type-note{grid-column:1/-1}.logs-card dl>div{font-size:var(--font-size-caption)}.logs-card details{padding:6px 8px}.logs-card summary{min-height:var(--control-height-icon);font-size:var(--font-size-caption)}.logs-card pre{font-size:var(--font-size-micro)}.logs-policy-note,.logs-policy-note p{font-size:var(--font-size-caption)}.excluded-player-delete{min-height:var(--control-height-compact);font-size:var(--font-size-caption);flex:none;padding:3px 14px}.revoke-actions,.security-revoke-all-row{align-items:flex-end;gap:8px;display:flex}.security-revoke-all-row>label{flex:auto;min-width:0}.security-revoke-all-row>label input{box-sizing:border-box;width:100%;min-height:var(--control-height-icon)}.security-revoke-all-row>button{min-height:var(--control-height-icon);white-space:nowrap;flex:none}.security-account-row{border-bottom:1px solid var(--color-border,#e5e7eb);padding:9px 0}.security-account-line{align-items:flex-start;gap:var(--space-3);min-height:var(--control-height);padding:var(--space-1) 0;display:flex}.security-account-who{flex:auto;min-width:0}.security-account-side{align-items:flex-end;gap:var(--space-1);flex-direction:column;flex:none;max-width:52%;display:flex}.security-account-when{font-size:var(--font-size-caption);color:var(--color-muted);font-variant-numeric:tabular-nums;text-align:right}.security-account-act{min-height:var(--control-height-compact);justify-content:flex-end;display:flex}.security-account-act .action{min-height:var(--control-height-compact)}.security-account-state{min-height:var(--control-height-compact);white-space:nowrap}@media (max-width:420px){.security-account-line{align-items:stretch;gap:var(--space-1);flex-direction:column}.security-account-side{flex-direction:row;justify-content:space-between;align-items:center;max-width:none}.security-account-when{text-align:left}}.close-policy-form .close-policy-save{flex:100%;align-self:stretch}.close-policy-form{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.close-policy-form>label{min-width:0}.close-policy-form .close-policy-save{grid-column:1/-1}input:not([type=date]):not([type=time]):not([type=checkbox]):not([type=radio]),textarea{font-size:var(--font-size-input)!important}.tools-form-grid input,.tools-form-grid select,.closure-form-grid input,.closure-form-grid select,.close-policy-form input,.close-policy-form select,.logs-date-filters input,.logs-filter-card input,.logs-filter-card select,.ops-filter-grid input,.ops-filter-grid select,.period-filter input,.period-filter select,.finance-form input,.finance-form select{box-sizing:border-box;min-width:0;max-width:100%}.tools-form-grid input[type=date],.closure-form-grid input[type=date],.logs-date-filters input[type=date],.period-filter input[type=date],.finance-form input[type=date],.tools-form-grid input[type=time],.close-policy-form input[type=time]{appearance:none;text-align:left;width:100%}.logs-card time{font-size:var(--font-size-caption)}.quick-menu-backdrop{z-index:50;background:#0f172a73;justify-content:center;align-items:flex-start;padding:24px 12px;display:flex;position:fixed;inset:0;overflow-y:auto}.quick-menu-panel{border-radius:var(--radius);background:var(--color-surface);width:min(420px,100%);box-shadow:var(--shadow-lg)}.quick-menu-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.quick-menu-body{gap:14px;padding:14px;display:grid}.quick-menu-group-title{font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);color:var(--color-muted);margin:0 0 8px}.quick-menu-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.quick-menu-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:inherit;text-align:center;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;text-decoration:none;display:flex}.quick-menu-icon{font-size:var(--font-size-subtitle);line-height:var(--line-height-display)}.quick-menu-title{font-size:var(--font-size-nano);line-height:var(--line-height-tight);overflow-wrap:anywhere}.guest-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:8px;display:grid}.guest-form-field{min-width:0;font-size:var(--font-size-caption);color:var(--color-muted);flex-direction:column;gap:4px;display:flex}.guest-form input,.guest-form select{width:100%;min-width:0;height:var(--control-height);box-sizing:border-box}.guest-form select,.finance-form select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#6b7280 50%),linear-gradient(135deg,#6b7280 50%,#0000 50%);background-position:calc(100% - 16px) calc(50% - 2px),calc(100% - 11px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:26px}.guest-form-submit{width:100%;height:var(--control-height);box-sizing:border-box;justify-self:end}.guest-card{flex-wrap:nowrap;gap:8px}.guest-card-summary{min-width:0;font-family:inherit;font-size:var(--font-size-label);color:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:none;flex:auto;padding:0}.guest-card-summary strong{font-size:var(--font-size-body)}.guest-card .guest-card-actions{flex-wrap:nowrap;flex:none}.guest-card .guest-card-actions button{min-height:var(--control-height-compact);font-size:var(--font-size-caption);white-space:nowrap;padding:3px 10px}.guest-played-list{font-size:var(--font-size-label);font-variant-numeric:tabular-nums;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:grid}.pull-refresh-indicator{font-size:var(--font-size-caption);color:var(--color-muted);justify-content:center;align-items:center;transition:height .12s ease-out;display:flex;overflow:hidden}.weather-strip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:10px 0 10px 12px}.weather-strip-header{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;padding-right:12px;display:flex}.weather-strip-header .home-section-title{margin:0}.weather-strip-source{font-weight:var(--font-weight-medium);color:var(--color-muted)}.weather-strip-note{font-size:var(--font-size-micro);color:var(--color-muted);white-space:nowrap}.weather-strip-scroll{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:2px;padding-right:12px;display:flex;overflow-x:auto}.weather-hour{scroll-snap-align:start;border-radius:var(--radius-sm);flex-direction:column;flex:none;align-items:center;gap:1px;width:44px;padding:2px 0;display:flex}.weather-hour-time{font-size:var(--font-size-micro);font-weight:var(--font-weight-semibold);color:var(--color-muted);white-space:nowrap}.weather-hour-icon{font-size:var(--font-size-row);line-height:var(--line-height-display)}.weather-hour-temp{font-size:var(--font-size-label);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}.weather-hour-pop,.weather-hour-mm{font-size:var(--font-size-micro);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;min-height:12px;line-height:12px}.weather-hour-pop{color:#2563eb}.weather-hour-none{color:#cbd5e1;font-weight:var(--font-weight-medium)}.weather-hour-mm{color:#64748b;font-weight:var(--font-weight-medium)}.court-weather-row{box-shadow:inset 0 1px 0 var(--divider);flex-wrap:wrap;gap:2px 10px;margin-top:6px;padding-top:6px;display:flex}.court-weather-cell{flex-direction:row;flex:none;align-items:baseline;gap:3px;display:flex}.court-weather-hour{font-size:var(--font-size-micro);font-weight:var(--font-weight-semibold);color:var(--color-muted);white-space:nowrap}.court-weather-icon{font-size:var(--font-size-heading);line-height:var(--line-height-display)}.court-weather-temp{font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}.court-weather-pop{font-size:var(--font-size-micro);font-weight:var(--font-weight-semibold);color:#2563eb;font-variant-numeric:tabular-nums}.court-weather-pending{white-space:nowrap;font-size:var(--font-size-micro);color:var(--color-muted);border-top:1px dashed #d8e9de;margin:8px 0 0;padding-top:8px}.weather-location-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:8px;margin-top:8px;display:grid}.weather-location-field{font-size:var(--font-size-caption);color:var(--color-muted);flex-direction:column;gap:4px;min-width:0;display:flex}.weather-location-field input{box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:0;max-width:100%;padding:8px 10px}.weather-location-save{height:var(--control-height);box-sizing:border-box;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;font-weight:var(--font-weight-bold);cursor:pointer}.weather-location-save:disabled{opacity:.6;cursor:default}.weather-location-hint{font-size:var(--font-size-micro);color:var(--color-muted);line-height:var(--line-height-normal);margin:4px 0 0}:root{--ui-radius:12px;--ui-radius-sm:9px;--ui-gap:12px;--ui-touch:44px;--ui-divider:#ececf0;--ui-field-border:#d7dade;--ui-field-focus:var(--accent);--ui-danger:#c0392b;--ui-danger-tint:#fdf3f2}.manage-block{gap:var(--ui-gap);border-top:1px solid var(--ui-divider);flex-direction:column;padding:18px 0;display:flex}.manage-block:first-of-type{border-top:none}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-row{gap:var(--ui-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (max-width:330px){.field-row{grid-template-columns:1fr}}.field-label{font-size:var(--font-size-label);color:var(--color-muted)}.field-optional{font-size:var(--font-size-caption);color:#9aa1a9;margin-left:6px}.field-hint{font-size:var(--font-size-caption);color:var(--color-muted);line-height:var(--line-height-normal);margin:0}.field-error{font-size:var(--font-size-caption);color:var(--ui-danger);margin:0}.field-success{font-size:var(--font-size-caption);color:var(--action-save,var(--accent));margin:0}.field-input,.field-file{width:100%;min-height:var(--ui-touch);border:1px solid var(--ui-field-border);border-radius:var(--ui-radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-input);padding:0 12px;font-family:inherit}.field-file{padding:10px 12px}.field-input:focus-visible,.field-file:focus-visible{outline:2px solid var(--ui-field-focus);outline-offset:1px;border-color:var(--ui-field-focus)}.field-input:disabled{color:#9aa1a9;cursor:not-allowed;background:#f4f5f7}.field-check{min-height:var(--ui-touch);font-size:var(--font-size-body);align-items:center;gap:10px;display:flex}.field-check input{width:20px;height:20px;accent-color:var(--action-save,var(--accent))}.button{min-height:var(--ui-touch);border-radius:var(--ui-radius-sm);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;padding:0 18px;font-family:inherit;transition:transform .1s ease-out,background-color .12s ease-out;display:inline-flex}.button:active{transform:scale(.98)}.button:focus-visible{outline:2px solid var(--ui-field-focus);outline-offset:2px}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.button-primary{background:var(--action-save,var(--accent));color:#fff}.button-secondary{background:var(--color-surface);border-color:var(--ui-field-border);color:var(--color-text)}.button-danger{background:var(--ui-danger);color:#fff}.manage-danger-inline{border-radius:var(--ui-radius-sm);background:var(--ui-danger-tint);flex-direction:column;gap:10px;margin-top:4px;padding:12px;display:flex}.manage-photo-preview{object-fit:cover;border-radius:var(--ui-radius);border:1px solid var(--ui-divider);width:96px;height:96px}.temp-password-card{border-radius:var(--ui-radius);background:#f2f7f5;border:1px solid #d9e7e2;flex-direction:column;gap:8px;padding:14px;display:flex}.temp-password-label{font-size:var(--font-size-caption);color:var(--color-muted);margin:0}.temp-password-value{font-size:var(--font-size-title);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-wide);-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;margin:0}.temp-password-actions{align-items:center;gap:10px;display:flex}.login-lock-status{gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);box-shadow:inset 0 1px 0 var(--divider);flex-direction:column;display:flex}.app-error{justify-content:center;align-items:center;display:flex}.app-error-card{text-align:center;flex-direction:column;gap:12px;max-width:380px;padding:24px;display:flex}.app-error-title{font-size:var(--font-size-title);letter-spacing:var(--tracking-snug);margin:0}.app-error-body{color:var(--color-muted);line-height:var(--line-height-relaxed);margin:0}.app-error-ref{font-size:var(--font-size-caption);color:#9aa1a9;margin:0}.app-error-actions{justify-content:center;gap:10px;display:flex}@media (prefers-reduced-motion:reduce){.button{transition:background-color .12s ease-out}.button:active{transform:none}}.member-identity-row{flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 10px;display:flex}.member-identity-name{font-size:var(--font-size-title);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--line-height-tight);margin:0}.member-identity-id{font-size:var(--font-size-caption);color:var(--color-muted);overflow-wrap:anywhere}.member-facts-row{border-top:1px solid var(--ui-divider,#ececf0);border-bottom:1px solid var(--ui-divider,#ececf0);grid-template-columns:1fr .7fr 1.6fr;gap:10px;margin:0 0 4px;padding:12px 0;display:grid}.member-fact{min-width:0}.member-fact-label{font-size:var(--font-size-caption);color:var(--color-muted);margin:0 0 2px}.member-fact-value{font-size:var(--font-size-body);overflow-wrap:anywhere;margin:0}@media (max-width:340px){.member-facts-row{grid-template-columns:1fr 1fr}.member-facts-row .member-fact:last-child{grid-column:1/-1}}.member-detail-photo-wrap{margin-bottom:12px}.member-detail-photo,.member-detail-photo-placeholder{object-fit:cover;border-radius:50%;width:72px;height:72px}.member-detail-photo-placeholder{color:var(--color-muted);font-size:var(--font-size-micro);background:#eef0f2;justify-content:center;align-items:center;display:flex}.session-gate{justify-content:center;align-items:center;min-height:70vh;padding:24px 16px;display:flex}.session-gate-card{text-align:center;width:100%;max-width:420px}.session-gate-title{font-size:var(--font-size-title);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);margin:0 0 8px}.session-gate-body{color:var(--color-muted);line-height:var(--line-height-relaxed);margin:0 0 20px}.session-gate-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}:root{--surface:var(--color-surface);--surface-raised:#fff;--surface-sunken:#f1f3f5;--divider:var(--ui-divider);--accent:var(--color-primary);--accent-strong:#17593f;--accent-soft:#eaf3ef;--danger:var(--ui-danger);--danger-soft:var(--ui-danger-tint);--warning:#92400e;--warning-soft:#fef3c7;--success:#166534;--success-soft:#dcfce7;--radius-sm:var(--ui-radius-sm);--icon-chevron-down:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"%236b7280\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m6 9 6 6 6-6\"/></svg>");--icon-alert:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"black\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 4.5 2.5 20h19L12 4.5ZM12 10v4.5M12 17.2v.1\"/></svg>");--radius:var(--ui-radius);--radius-lg:16px;--shadow-sm:0 1px 2px #1018280d;--shadow:0 1px 3px #10182814, 0 1px 2px #1018280a;--shadow-lg:0 8px 24px #1018281f;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--control-height:var(--ui-touch);--control-height-compact:32px;--control-height-icon:36px;--control-height-inline:24px;--match-score-col:88px;--match-score-col-editing:128px;--field-height:var(--ui-touch)}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}:where(input,select,textarea){font-family:inherit;font-size:var(--font-size-input);color:var(--color-text);box-sizing:border-box;max-width:100%}:where(select){width:100%}:where(input,select,textarea,button){min-height:var(--control-height)}:where(input[type=checkbox],input[type=radio]){width:18px;height:18px;min-height:0;accent-color:var(--accent)}:where(button){cursor:pointer;font-family:inherit}:where(button:disabled){cursor:not-allowed;opacity:.55}:where(button,[role=button],a.button):active{transform:scale(.98)}:where(td,th).num,:where(.numeric){font-variant-numeric:tabular-nums;text-align:right}html{overflow-x:hidden}body{overflow-x:clip}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}:where(button,[role=button],a.button):active{transform:none}}@media (prefers-reduced-transparency:reduce){:where([class*=glass],.sheet){background:var(--surface)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}@media (prefers-contrast:more){:root{--divider:#9aa1a9;--ui-field-border:#6b7280;--color-muted:#4b5563;--tint-brand:#d9e9e1;--tint-info:#dbe7fa;--tint-attn:#fbeacd;--tint-quiet:#e6e9ec}}.section{margin:0 0 var(--space-5)}.section>h2{margin:0 0 var(--space-2);font-size:var(--font-size-heading);font-weight:var(--font-weight-bold)}.card{padding:var(--space-4);border:1px solid var(--divider);border-radius:var(--radius);background:var(--surface)}.card+.card{margin-top:var(--space-3)}.card-title{margin:0 0 var(--space-2);font-size:var(--font-size-subheading);font-weight:var(--font-weight-bold)}.badge{border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--color-muted);font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);white-space:nowrap;align-items:center;gap:4px;padding:3px 9px;display:inline-flex}.badge-accent{background:var(--accent-soft);color:var(--accent-strong)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.empty-state{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-muted)}.empty-state-title{margin:0 0 var(--space-1);font-size:var(--font-size-body);font-weight:var(--font-weight-bold);color:var(--color-text)}.empty-state p{font-size:var(--font-size-caption);line-height:var(--line-height-relaxed);margin:0}.empty-state-actions{margin-top:var(--space-4);gap:var(--space-2);justify-content:center;display:flex}.error-state{padding:var(--space-4);border:1px solid var(--danger);border-radius:var(--radius);background:var(--danger-soft);color:var(--danger);font-size:var(--font-size-body);line-height:var(--line-height-relaxed)}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.records-table,.tools-table,.court-rental-table,.tools-window-table{font-variant-numeric:tabular-nums}.records-table-wrap,.tools-table-wrap,.court-rental-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.records-table thead th,.records-table td:first-child,.pull-refresh-indicator{font-variant-numeric:tabular-nums;color:var(--accent)}.court-weather-row{font-variant-numeric:tabular-nums}.match-row-round,.match-row-league,.match-row-type{font-size:var(--font-size-caption);color:var(--color-muted);white-space:nowrap}.match-row-round{font-weight:var(--font-weight-bold);color:var(--color-text)}.event-records-result{gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--surface-sunken);font-size:var(--font-size-label);flex-direction:column;display:flex}.excluded-player-row{gap:var(--space-2)}.screen{min-height:100vh;padding:0 var(--space-4) var(--space-6);max-width:720px;margin:0 auto}.screen-wide{max-width:1040px}.screen-list{max-width:860px}.appbar{z-index:20;align-items:center;gap:var(--space-2);min-height:52px;margin:0 calc(-1 * var(--space-4)) var(--space-4);padding:0 var(--space-2);background:color-mix(in srgb, var(--color-bg) 82%, transparent);-webkit-backdrop-filter:saturate(180%)blur(16px);display:flex;position:sticky;top:0}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.appbar{background:var(--color-bg)}}@media (prefers-reduced-transparency:reduce){.appbar{background:var(--color-bg);-webkit-backdrop-filter:none}}.appbar-title{min-width:0;font-size:var(--font-size-subtitle);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;overflow:hidden}.icon-button{width:36px;height:var(--control-height-icon);border-radius:var(--radius-sm);min-height:0;color:var(--color-text);background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.icon-button:after{content:"";position:absolute;inset:-4px}.icon-button:active{background:var(--surface-sunken)}.icon-button:disabled{opacity:.4}.icon-button-accent{color:var(--accent)}.icon-button[data-busy=true]{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.icon-button[data-busy=true]{opacity:.5;animation:none}}.group-label{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin:0 0 var(--space-2);padding:0 var(--space-1);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-muted);display:flex}.group-body{border-radius:var(--radius);background:var(--surface);overflow:hidden}.group-body+.group-body{margin-top:var(--space-3)}.group-note{margin:var(--space-2) var(--space-1) 0;font-size:var(--font-size-caption);color:var(--color-muted);line-height:var(--line-height-relaxed)}.row{align-items:center;gap:var(--space-3);width:100%;min-height:var(--control-height);padding:10px var(--space-4);color:inherit;text-align:left;font-size:var(--font-size-body);background:0 0;border:none;text-decoration:none;display:flex;position:relative}.row+.row:before{content:"";top:0;left:var(--space-4);background:var(--divider);height:1px;position:absolute;right:0}.row-lead{color:var(--color-muted);flex:none;display:flex}.row-main{flex:1;min-width:0}.row-title{font-weight:var(--font-weight-semibold);overflow-wrap:anywhere;display:block}.row-sub{font-size:var(--font-size-caption);color:var(--color-muted);overflow-wrap:anywhere;margin-top:1px;display:block}.row-chevron{color:#c3c6cc}button.row:active,a.row:active{background:var(--surface-sunken)}.row:disabled{opacity:.45}.row-field{min-height:var(--control-height-inline);height:var(--control-height-inline);max-width:58%;color:var(--accent);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);text-align:right;background:0 0;border:none;flex:none;padding:0}.row-field:focus-visible{outline-offset:4px}select.row-field{width:auto}.row-field-num{font-variant-numeric:tabular-nums;width:4.5ch;min-width:0}.row-choices{gap:var(--space-2)}.row-choices .action{flex:1 1 0;min-width:0}.row-chips{justify-content:flex-end;gap:var(--space-1);flex-wrap:wrap;min-width:0;display:flex}.chip-toggle{min-height:var(--control-height-compact);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--color-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);cursor:pointer;align-items:center;padding:0 10px;display:inline-flex}.chip-toggle input{opacity:0;width:0;height:0;position:absolute}.chip-toggle.is-on{background:var(--tint-brand);color:var(--tint-brand-ink)}.chip-toggle:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.group-label-count{font-weight:var(--font-weight-medium);color:var(--color-muted)}.row-value{max-width:58%;color:var(--color-muted);font-size:var(--font-size-body);font-variant-numeric:tabular-nums;text-align:right;flex:none}.status-chip{border-radius:var(--radius-sm);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);white-space:nowrap;flex:none;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.status-ok{background:var(--tint-brand);color:var(--tint-brand-ink)}.status-attn{background:var(--tint-attn);color:var(--tint-attn-ink)}.status-info{background:var(--tint-info);color:var(--tint-info-ink)}.status-quiet{background:var(--tint-quiet);color:var(--tint-quiet-ink)}.status-danger{background:var(--danger-soft);color:var(--danger)}.tools-overview{margin-bottom:var(--space-4)}.disclosure{margin:var(--space-2) 0 0}.disclosure>summary{align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-1);color:var(--accent);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);cursor:pointer;list-style:none;display:flex}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary:after{content:"";border-bottom:1.75px solid;border-right:1.75px solid;width:7px;height:7px;margin-left:1px;transition:transform .16s ease-out;transform:translateY(-2px)rotate(45deg)}.disclosure[open]>summary:after{transform:translateY(1px)rotate(-135deg)}.disclosure>summary:has(.icon-rotate):after{display:none}@media (prefers-reduced-motion:reduce){.disclosure>summary:after{transition:none}}.disclosure[open]>summary .icon-rotate{transform:rotate(180deg)}.icon-rotate{transition:transform .16s ease-out}@media (prefers-reduced-motion:reduce){.icon-rotate{transition:none}}.disclosure-body{padding:0 var(--space-1) var(--space-2);font-size:var(--font-size-caption);color:var(--color-muted);line-height:var(--line-height-relaxed)}.disclosure-body p{margin:0 0 var(--space-2)}.disclosure-list{padding:0 var(--space-1) var(--space-2) var(--space-5);font-size:var(--font-size-caption);color:var(--color-muted);line-height:var(--line-height-relaxed);margin:0}.disclosure-list li+li{margin-top:var(--space-2)}.disclosure-list code{border-radius:var(--radius-sm);background:var(--tint-quiet);font-size:var(--font-size-caption);padding:1px 4px}.action-row{gap:var(--space-2);padding:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.action{min-width:64px;min-height:var(--control-height);padding:0 var(--space-3);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--color-text);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);border:none;flex:0 auto}.action-primary{background:var(--accent);color:#fff}.action:disabled{opacity:.4}.action:active:not(:disabled){filter:brightness(.95)}.action-destructive{color:var(--danger);background:0 0}.action-destructive:active:not(:disabled){background:var(--danger-soft)}.tile-grid{border-radius:var(--radius);background:var(--surface);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.tile{box-shadow:inset -1px -1px 0 var(--divider);background:var(--surface);min-height:70px;color:var(--color-text);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;text-decoration:none;transition:background-color .12s ease-out;display:flex}.tile-icon{color:var(--accent)}.tile-label{font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);overflow-wrap:anywhere}.tile:active{background:var(--surface-sunken)}.tile-locked{color:var(--color-muted)}.tile-locked .tile-icon{color:#c3c6cc}.icon-tile{position:relative}.tile-lock{background:var(--surface);width:16px;height:16px;color:var(--color-muted);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-3px;right:-3px}@media (min-width:560px){.tile-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:900px){.tile-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.tile{transition:none}}.person-row{align-items:center;gap:var(--space-3);display:flex}.person-action{min-height:var(--control-height-compact);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--color-text);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);border:none;flex:none;padding:0 10px}.person-action:disabled{opacity:.35}.person-action-destructive{color:var(--danger);background:0 0}.person-action-destructive:active:not(:disabled){background:var(--danger-soft)}@media (min-width:640px){.person-list-columns{grid-template-columns:1fr 1fr;display:grid}.person-list-columns .person-row:nth-child(2){box-shadow:none}}.date-stepper{align-items:center;gap:var(--space-2);padding:var(--space-2);display:flex}.date-stepper-main{text-align:center;flex:1;min-width:0}.date-stepper-label{font-size:var(--font-size-subtitle);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-snug);display:block}.date-stepper-today{min-height:var(--control-height-compact);border-radius:var(--radius-sm);color:var(--accent);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);background:0 0;border:none;align-items:center;margin-top:2px;padding:0 10px;display:inline-flex;position:relative}.date-stepper-today:disabled{color:var(--color-muted)}.date-stepper-today:after{content:"";position:absolute;inset:-9px -6px}.date-stepper-picker{display:inline-block;position:relative}.date-stepper-input{opacity:0;cursor:pointer;border:none;width:100%;height:100%;min-height:0;position:absolute;inset:0}.home-screen{padding-top:0}.home-viewport{height:100dvh;height:var(--app-viewport-height,100dvh);position:fixed;inset:0;overflow:hidden}.home-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-y:none;height:100%;min-height:0;overflow:hidden auto}.home-scroll[data-list-sheet-open=true]{overflow-y:hidden}.home-bar{z-index:20;align-items:center;gap:var(--space-3);min-height:56px;margin:0 calc(-1 * var(--space-4)) var(--space-4);padding:var(--space-2) var(--space-4);background:color-mix(in srgb, var(--color-bg) 82%, transparent);-webkit-backdrop-filter:saturate(180%)blur(16px);display:flex;position:sticky;top:0}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.home-bar{background:var(--color-bg)}}@media (prefers-reduced-transparency:reduce){.home-bar{background:var(--color-bg);-webkit-backdrop-filter:none}}.home-bar-refresh{position:relative}.home-bar-refresh:after{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.home-bar-mark{border-radius:var(--radius-sm);flex:none}.home-bar-titles{flex:1;min-width:0}.home-bar-name{font-size:var(--font-size-subtitle);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--line-height-tight);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.home-bar-today{font-size:var(--font-size-caption);color:var(--color-muted);margin:1px 0 0}.home-loading{padding:var(--space-5) 0;color:var(--color-muted);text-align:center}.account-menu{flex:none;position:relative}.account-menu-trigger{width:36px;height:var(--control-height-icon);background:var(--surface);color:var(--accent);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;list-style:none;display:flex}.account-menu-trigger::-webkit-details-marker{display:none}.account-menu[open] .account-menu-trigger{background:var(--accent-soft)}.account-menu-scrim{z-index:30;background:0 0;border:none;min-height:0;position:fixed;inset:0}.account-menu-sheet{z-index:31;border-radius:var(--radius);background:var(--surface);min-width:216px;box-shadow:var(--shadow-lg);position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.account-menu-who{padding:var(--space-3) var(--space-4);box-shadow:inset 0 -1px 0 var(--divider);flex-direction:column;display:flex}.account-menu-name{font-weight:var(--font-weight-bold)}.account-menu-role{font-size:var(--font-size-caption);color:var(--color-muted);margin-top:1px}@media (min-width:640px){.court-rental-days{grid-template-columns:1fr 1fr;display:grid}.court-rental-day+.court-rental-day{box-shadow:inset 1px var(--space-3) 0 -15px var(--divider)}}.action-row-secondary{box-shadow:inset var(--space-4) 1px 0 -15px var(--divider)}.action-row-label{font-size:var(--font-size-caption);color:var(--color-muted);flex:none;align-self:center}.list-search{min-width:0;min-height:var(--control-height-inline);font-size:var(--font-size-body);background:0 0;border:none;flex:1;padding:0}.list-search:focus-visible{outline-offset:6px}.person-list{margin:0;padding:0;list-style:none}.list-empty{padding:var(--space-5) var(--space-4);color:var(--color-muted);font-size:var(--font-size-label);text-align:center;margin:0}.screen-footnote{margin:var(--space-5) 0 0;font-size:var(--font-size-caption);color:var(--color-muted)}.screen-lead{margin:var(--space-1) 0 var(--space-4);font-size:var(--font-size-label);line-height:var(--line-height-normal);color:var(--color-muted)}.user-row+.user-row{box-shadow:inset var(--space-4) 1px 0 -15px var(--divider)}.user-row-sub{font-size:var(--font-size-caption);color:var(--color-muted);margin:1px 0 0}.list-filter{align-items:center;gap:var(--space-2);display:flex}.list-filter select{width:auto;min-height:var(--control-height-inline);color:var(--accent);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);background:0 0;border:none;flex:none;padding:0}.form-note{font-size:var(--font-size-caption);color:var(--color-muted);line-height:var(--line-height-relaxed);margin:0}.form-check{align-items:center;gap:var(--space-2);font-size:var(--font-size-label);line-height:var(--line-height-snug);display:flex}.home-bar-today{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.home-bar-version{color:#b9bcc2;font-variant-numeric:tabular-nums}:root{--tint-brand:#eaf3ef;--tint-brand-ink:#17593f;--tint-info:#eaf1fb;--tint-info-ink:#1d4ed8;--tint-attn:#fdf3e3;--tint-attn-ink:#92400e;--tint-quiet:#f1f3f5;--tint-quiet-ink:#4b5563;--avatar-sm:30px;--avatar:36px;--font-size-metric-sm:19px}.icon-tile{width:38px;height:var(--control-height-icon);border-radius:var(--radius);background:var(--tint-quiet);color:var(--tint-quiet-ink);flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-tile-sm{width:30px;height:var(--control-height-icon);border-radius:var(--radius-sm)}.icon-tile-brand{background:var(--tint-brand);color:var(--tint-brand-ink)}.icon-tile-info{background:var(--tint-info);color:var(--tint-info-ink)}.icon-tile-attn{background:var(--tint-attn);color:var(--tint-attn-ink)}.metric{align-items:baseline;gap:3px;display:inline-flex}.metric-value{font-size:var(--font-size-metric);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-display);font-variant-numeric:tabular-nums;line-height:var(--line-height-display)}.metric-sm .metric-value{font-size:var(--font-size-metric-sm)}.metric-lg .metric-value{font-size:var(--font-size-metric-lg)}.metric-unit{font-size:var(--font-size-caption);color:var(--color-muted);font-weight:var(--font-weight-semibold)}.metric-brand .metric-value{color:var(--tint-brand-ink)}.chip{border-radius:var(--radius-sm);background:var(--tint-quiet);color:var(--tint-quiet-ink);font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);white-space:nowrap;align-items:center;gap:3px;padding:3px 9px;display:inline-flex}.chip-brand{background:var(--tint-brand);color:var(--tint-brand-ink)}.chip-info{background:var(--tint-info);color:var(--tint-info-ink)}.chip-attn{background:var(--tint-attn);color:var(--tint-attn-ink)}.tap{transition:transform .12s ease-out,background-color .12s ease-out}.tap:active{transform:scale(.98)}@media (prefers-reduced-motion:reduce){.tap{transition:background-color .12s ease-out}.tap:active{transform:none}}.appbar,.home-bar{box-shadow:0 1px #1018280a}.court-rental-used{color:var(--tint-brand-ink);font-weight:var(--font-weight-bold)}.court-rental-used:before{content:"";vertical-align:1px;background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.court-rental-free{color:#c3c6cc}.court-rental-place{gap:3px}.weekend-attendance-day-mark{flex:none}.weekend-attendance-day-label{font-size:var(--font-size-label);font-weight:var(--font-weight-bold);color:var(--color-muted);flex:none}.weekend-attendance-count{min-height:var(--control-height-compact);text-align:left;background:0 0;border:none;flex:1;align-items:baseline;gap:3px;padding:0;display:inline-flex}.weekend-attendance-count .metric-value{color:var(--color-text)}.weekend-attendance-count:disabled .metric-value{color:#b9bcc2}.weather-hour-now{background:var(--tint-brand);border-radius:var(--radius-sm)}.weather-hour-now .weather-hour-time{color:var(--tint-brand-ink);font-weight:var(--font-weight-bold)}.weather-hour-now .weather-hour-temp{font-size:var(--font-size-metric-sm);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-display)}.weather-hour-now .weather-hour-icon{font-size:var(--font-size-subtitle)}.weather-hour:not(.weather-hour-now) .weather-hour-time{color:var(--color-muted)}.weather-hour:not(.weather-hour-now) .weather-hour-temp{font-weight:var(--font-weight-semibold)}.tile{gap:var(--space-2);min-height:78px;padding:var(--space-3) 6px}.tile-label{color:var(--color-text)}.tile-locked .icon-tile{color:#c3c6cc;background:#f4f5f6}.tile-locked .tile-label{color:var(--color-muted)}.day-status-head{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.day-status-titles{flex-direction:column;flex:1;min-width:0;display:flex}.day-status-state{font-size:var(--font-size-subtitle);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--line-height-tight)}.day-status-line{font-size:var(--font-size-caption);color:var(--color-muted);overflow-wrap:anywhere;margin:0}.day-status-foot{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-3);box-shadow:inset 0 1px 0 var(--divider);display:flex}.day-status-reason{margin:var(--space-2) 0 0;font-size:var(--font-size-caption);color:var(--tint-attn-ink)}.group-label-icon{align-items:center;gap:5px;display:inline-flex}.action-row-label{align-items:center;gap:4px;display:inline-flex}.action-chip{min-width:0;padding:0 var(--space-3);background:var(--tint-attn);color:var(--tint-attn-ink)}.person-name{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.person-row{position:relative}.person-row+.person-row:before{content:"";background:var(--divider);height:1px;position:absolute;top:0;left:66px;right:0}@media (min-width:640px){.person-list-columns .person-row:nth-child(2):before{display:none}}.account-stats{gap:var(--space-2);margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--surface);flex-direction:column;display:flex}.account-stats-breakdown{flex-wrap:wrap;gap:6px;margin:0;display:flex}.user-row{align-items:center;gap:var(--space-3);width:100%;min-height:60px;padding:8px var(--space-4);color:inherit;text-align:left;background:0 0;border:none;display:flex;position:relative}.user-row+.user-row:before{content:"";background:var(--divider);height:1px;position:absolute;top:0;left:66px;right:0}.user-row-tappable:active{background:var(--surface-sunken)}.user-row-main{flex-direction:column;flex:1;min-width:0;display:flex}.user-row-name{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.user-row-sub{font-size:var(--font-size-caption);color:var(--color-muted)}.user-row-id{font-size:var(--font-size-caption);color:#b9bcc2;font-variant-numeric:tabular-nums;flex:none}.user-row-protected{font-size:var(--font-size-caption);color:var(--color-muted);flex:none;align-items:center;gap:4px;display:inline-flex}[data-sheet-open=true]{overscroll-behavior-y:none!important;overflow:hidden!important}.sheet-viewport{z-index:60;flex-direction:column;justify-content:flex-end;height:100dvh;display:flex;position:fixed;inset:0;overflow:hidden}.sheet-scrim{touch-action:none;overscroll-behavior:none;background:#10182852;animation:.18s ease-out sheet-scrim-in;position:absolute;inset:0}.sheet{width:100%;max-width:520px;max-height:calc(100vh - env(safe-area-inset-top,0px) - var(--space-2));max-height:calc(100dvh - env(safe-area-inset-top,0px) - var(--space-2));min-height:0;padding:6px var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom,0px));border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:saturate(180%)blur(20px);box-shadow:var(--shadow-lg);flex-direction:column;align-self:center;animation:.22s cubic-bezier(.2,.8,.2,1) sheet-in;display:flex;position:relative}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.sheet{background:var(--surface)}}.sheet:focus-visible{outline:none}.sheet-grip{width:36px;height:4px;margin-bottom:var(--space-2);border-radius:var(--radius-sm);background:#d5d8dd;flex:none;align-self:center}.sheet-head{align-items:flex-start;gap:var(--space-2);flex:none;display:flex}.sheet-titles{flex:1;min-width:0}.sheet-title{font-size:var(--font-size-subtitle);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);margin:0}.sheet-subtitle{font-size:var(--font-size-caption);color:var(--color-muted);margin:1px 0 0}.sheet-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;min-height:0;padding-top:var(--space-3);flex:auto;overflow-y:auto}.sheet-form{gap:var(--space-3);flex-direction:column;display:flex}.sheet-danger{margin-top:var(--space-4);padding-top:var(--space-3);box-shadow:inset 0 1px 0 var(--divider)}@keyframes sheet-in{0%{opacity:0;transform:translateY(14%)}}@keyframes sheet-scrim-in{0%{opacity:0}}@media (min-width:720px){.sheet-viewport{justify-content:center}.sheet{max-width:480px;max-height:calc(100vh - var(--space-5) * 2);max-height:calc(100dvh - var(--space-5) * 2);border-radius:var(--radius-lg);padding-bottom:var(--space-5)}@keyframes sheet-in{0%{opacity:0;transform:scale(.97)}}}@media (prefers-reduced-motion:reduce){.sheet,.sheet-scrim{animation:.14s ease-out sheet-scrim-in}}@media (prefers-reduced-transparency:reduce){.sheet{background:var(--surface);-webkit-backdrop-filter:none}}.list-sheet-viewport{z-index:60;height:100dvh;height:var(--app-viewport-height,100dvh);flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0;overflow:hidden}.list-sheet-scrim{touch-action:none;overscroll-behavior:none;background:#10182852;animation:.18s ease-out sheet-scrim-in;position:absolute;inset:0}.list-sheet{width:100%;max-width:520px;max-height:min(82vh,100vh - 72px);max-height:min(82dvh, calc(var(--app-viewport-height,100dvh) - 72px));min-height:0;padding:6px var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom,0px));border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:saturate(180%)blur(20px);box-shadow:var(--shadow-lg);flex-direction:column;align-self:center;animation:.22s cubic-bezier(.2,.8,.2,1) sheet-in;display:flex;position:relative}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.list-sheet{background:var(--surface)}}.list-sheet:focus-visible{outline:none}.list-sheet-grip{width:36px;height:4px;margin-bottom:var(--space-2);border-radius:var(--radius-sm);background:#d5d8dd;flex:none;align-self:center}.list-sheet-head{align-items:flex-start;gap:var(--space-2);flex:none;display:flex}.list-sheet-titles{flex:1;min-width:0}.list-sheet-title{font-size:var(--font-size-subtitle);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);margin:0}.list-sheet-subtitle{font-size:var(--font-size-caption);color:var(--color-muted);margin:1px 0 0}.list-sheet-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;min-height:0;padding-top:var(--space-3);flex:auto;overflow-y:auto}@media (min-width:720px){.list-sheet-viewport{justify-content:center}.list-sheet{max-width:480px;max-height:min(82vh, calc(100vh - var(--space-5) * 2));max-height:min(82dvh, calc(var(--app-viewport-height,100dvh) - var(--space-5) * 2));border-radius:var(--radius-lg);padding-bottom:var(--space-5)}}@media (prefers-reduced-motion:reduce){.list-sheet,.list-sheet-scrim{animation:.14s ease-out sheet-scrim-in}}@media (prefers-reduced-transparency:reduce){.list-sheet{background:var(--surface);-webkit-backdrop-filter:none}}.perm-list{background:var(--tint-quiet)}.perm-row{cursor:pointer}.perm-state{min-width:52px;font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);color:var(--color-muted);justify-content:flex-end;align-items:center;gap:3px;display:inline-flex}.perm-state.is-on{color:var(--tint-brand-ink)}.perm-input{flex:none}.group{margin:0 0 var(--space-3)}.group-label{margin:0 0 6px}.group-note{margin:6px var(--space-1) 0}.weather-strip{margin-bottom:var(--space-4)}.court-rental-days{grid-template-columns:1fr 1fr;display:grid}.court-rental-day{padding:var(--space-2) var(--space-3) var(--space-3)}.court-rental-day+.court-rental-day{box-shadow:inset 1px var(--space-2) 0 -15px var(--divider)}.court-rental-day-head{flex-wrap:wrap;gap:0 4px;margin-bottom:4px}.court-rental-place{max-width:100%;margin-left:0}.court-rental-table th,.court-rental-table td{padding:2px 3px}.court-rental-used:before{margin-right:2px}.weekend-attendance-days{grid-template-columns:1fr 1fr;display:grid}.weekend-attendance-day{padding:var(--space-3)}.weekend-attendance-day+.weekend-attendance-day{box-shadow:inset 1px var(--space-3) 0 -15px var(--divider)}.weekend-attendance-day-main{align-items:center;gap:4px var(--space-2);grid-template-columns:auto 1fr;grid-template-areas:"mark date""count count";min-height:0;display:grid}.weekend-attendance-day-mark{grid-area:mark}.weekend-attendance-day-label{font-size:var(--font-size-caption);grid-area:date}.standings-block+.standings-block{margin-top:var(--space-3)}.standings-league{margin:0 0 var(--space-1);font-size:var(--font-size-caption);color:var(--color-muted)}.standings-list{background:var(--surface);border-radius:var(--radius);margin:0;padding:0;list-style:none;overflow:hidden}.standings-row{align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:var(--space-2) var(--space-3);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.standings-row+.standings-row{border-top:1px solid var(--divider)}.standings-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:var(--font-weight-semibold);overflow:hidden}.standings-record{font-size:var(--font-size-label);color:var(--color-muted);white-space:nowrap;flex-direction:column;align-items:flex-end;gap:1px;display:flex}.standings-record-line{font-variant-numeric:tabular-nums}.standings-record-points{font-size:var(--font-size-caption)}.metric-grid{grid-template-columns:repeat(var(--metric-cols,4), minmax(0, 1fr));background:var(--divider);gap:1px;display:grid}.metric-cell{background:var(--surface);min-height:0;padding:var(--space-3) 4px;color:inherit;background:0 0;border:none;flex-direction:column;align-items:center;gap:1px;display:flex}.metric-cell-value{font-size:var(--font-size-metric-sm);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-display);font-variant-numeric:tabular-nums;line-height:var(--line-height-display)}.metric-cell-label{font-size:var(--font-size-caption);color:var(--color-muted)}.metric-cell-value-compact{font-size:var(--font-size-body);font-variant-numeric:tabular-nums}.metric-cell:active{background:var(--surface-sunken)}.day-status{padding:var(--space-3) var(--space-4)}.day-status-head{gap:var(--space-3);margin-bottom:var(--space-2)}.day-status-foot{padding-top:var(--space-2)}.action-row{padding:var(--space-2) var(--space-3)}.date-stepper{padding:4px var(--space-2)}.person-row+.person-row:before{left:var(--space-4)}.group-note{line-height:var(--line-height-normal)}.group-body .action-row:first-child{padding-top:var(--space-3)}.group-body .action-row:last-child{padding-bottom:var(--space-3)}.list-empty{padding:var(--space-4)}.day-status .disclosure{margin-top:4px}.disclosure>summary{padding:6px var(--space-1)}.screen{padding-bottom:var(--space-5)}.setting-pair{gap:var(--space-3)}.setting-slot{justify-content:space-between;align-items:center;gap:var(--space-2);min-width:0;min-height:var(--control-height);box-sizing:border-box;flex:1 1 0;padding-block:0;display:flex}.setting-label{font-size:var(--font-size-label);line-height:var(--line-height-snug);color:var(--color-muted);flex:none}.setting-value{text-align:right;max-width:none;height:24px;line-height:var(--line-height-snug);box-sizing:border-box;appearance:none;padding-block:0}.person-row{gap:var(--space-2);min-height:44px;padding:2px var(--space-4)}.person-name{min-width:0;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.person-spacer{flex:auto;min-width:0}.person-meta{font-size:var(--font-size-caption);color:var(--color-muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.export-actions{align-items:center;gap:var(--space-2);margin-top:var(--space-3);display:flex}.export-format{appearance:none;width:auto;min-width:0;padding-right:calc(var(--space-3) + 14px);background-image:var(--icon-chevron-down);background-repeat:no-repeat;background-position:right var(--space-3) center;min-height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--ui-field-border);border-radius:var(--radius-sm);background-size:12px 12px;background:var(--surface);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);flex:1 1 0}.export-download{min-width:0;min-height:var(--control-height);flex:1 1 0}.export-download:disabled{background:var(--tint-quiet);color:#b9bcc2;opacity:1}.row-ack{padding-top:var(--space-3);padding-bottom:var(--space-3);align-items:flex-start}.weekend-attendance-day-main{grid-template-columns:auto 1fr;grid-template-areas:"mark date""count state"}.weekend-attendance-count{grid-area:count}.weekend-attendance-state,.weekend-attendance-action-button{grid-area:state;justify-self:end}.weekend-attendance-action-button{position:relative}.weekend-attendance-action-button:after{content:"";position:absolute;inset:-6px}.sheet-metric{margin:0 0 var(--space-3)}.sheet-list{margin:0;padding:0;list-style:none}.sheet-row{align-items:center;gap:var(--space-3);min-height:44px;padding:4px var(--space-4);display:flex;position:relative}.sheet-row+.sheet-row:before{content:"";top:0;left:var(--space-4);background:var(--divider);height:1px;position:absolute;right:0}.sheet-row-rank{min-width:18px;font-size:var(--font-size-caption);color:#b9bcc2;font-variant-numeric:tabular-nums;text-align:right;flex:none}.sheet-row-name{min-width:0;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.sheet-row-meta{font-size:var(--font-size-caption);color:var(--color-muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.row-tappable{cursor:pointer;width:100%;font:inherit;border:none}.row-tappable:active{background:var(--surface-sunken)}.row-title-danger{color:var(--danger)}.group-note-inline{font-weight:var(--font-weight-medium);color:var(--color-muted)}.shell-skeleton{gap:var(--space-4);padding-top:var(--space-2);display:grid}.shell-skeleton-bar{border-radius:var(--radius);background:var(--surface-sunken);height:52px}.shell-skeleton-block{border-radius:var(--radius);background:var(--surface-sunken);height:96px}.shell-skeleton-block-short{height:56px}.session-row{padding:var(--space-3) var(--space-4)}.session-row+.session-row{box-shadow:inset 0 1px 0 var(--divider)}.session-row-line{align-items:flex-start;gap:var(--space-3);min-height:var(--control-height);display:flex}.session-row-who{flex:auto;min-width:0}.session-row-side{align-items:flex-end;gap:var(--space-1);flex-direction:column;flex:none;max-width:52%;display:flex}.session-row-when{font-size:var(--font-size-caption);color:var(--color-muted);font-variant-numeric:tabular-nums;text-align:right}.session-row-actions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.session-row-actions .action{min-height:var(--control-height-compact)}.confirm-lead{margin:0 0 var(--space-3);line-height:var(--line-height-relaxed)}.confirm-facts{margin:0 0 var(--space-3)}.confirm-consequences{margin:0 0 var(--space-4);padding-left:var(--space-4);color:var(--color-muted);font-size:var(--font-size-caption);line-height:var(--line-height-relaxed)}.confirm-reason{margin-top:var(--space-3);font-size:var(--font-size-caption);color:var(--color-muted);flex-direction:column;gap:4px;display:flex}.confirm-reason input{width:100%;min-width:0;height:var(--control-height);box-sizing:border-box;font-size:var(--font-size-body);color:var(--color-text)}.confirm-ack{align-items:flex-start;gap:var(--space-2);min-height:var(--control-height);padding:var(--space-2) 0;font-size:var(--font-size-label);line-height:var(--line-height-snug);cursor:pointer;display:flex}.confirm-ack input{flex:none;width:20px;height:20px;margin-top:1px}.confirm-actions{gap:var(--space-2);display:flex}.confirm-actions .action{flex:1 1 0;min-width:0}.confirm-actions .action-destructive{background:var(--danger);color:#fff}.confirm-actions .action-destructive:active:not(:disabled){background:var(--danger);filter:brightness(.92)}.sheet-setting{margin:0 0 var(--space-3)}.sheet-setting-row{align-items:center;gap:var(--space-3);min-height:var(--control-height);padding:var(--space-1) 0;display:flex}.sheet-setting-label{min-width:0;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);flex:auto}.sheet-setting-control{align-items:center;gap:var(--space-2);flex:0 auto;min-width:0;display:flex}.sheet-setting-control select{flex:auto;min-width:0}.sheet-setting-control .action{flex:none}.note{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius);font-size:var(--font-size-label);line-height:var(--line-height-normal);margin:0;display:flex}.note-icon{flex:none;margin-top:1px}.note>span:not(.note-icon){overflow-wrap:anywhere;min-width:0}.note+.note{margin-top:var(--space-2)}.note-list{margin:var(--space-1) 0 0;padding-left:18px}.note-list li+li{margin-top:var(--space-1)}.note-info{background:var(--tint-quiet);color:var(--color-muted)}.note-warn{background:var(--warning-soft);color:var(--warning)}.note-ok{background:var(--success-soft);color:var(--success)}.note-danger{background:var(--danger-soft);color:var(--danger)}.rank-badge{border-radius:var(--radius-sm);min-width:22px;height:22px;font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.rank-badge-1{color:#92620a;background:#ca8a0429}.rank-badge-2{color:#52525b;background:#78788029}.rank-badge-3{color:#9a3412;background:#b4530924}.rank-badge-rest{background:var(--tint-quiet);color:var(--color-muted)}.session-policy-note{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:14px}.session-policy-note h3{margin-top:0}.court-weather-row{gap:1px 6px;margin-top:4px;padding-top:4px}.weekend-attendance-action-button,.court-slot-remove,.closure-card-edit,.excluded-player-delete,.guest-card .guest-card-actions button,.person-action{position:relative}.weekend-attendance-action-button:after,.court-slot-remove:after,.closure-card-edit:after,.excluded-player-delete:after,.guest-card .guest-card-actions button:after,.person-action:after{content:"";position:absolute;inset:-6px -2px}.profile-head{margin:0 0 var(--space-4)}.profile-name{font-size:var(--font-size-title);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-display);line-height:var(--line-height-tight);margin:0}.profile-meta{font-size:var(--font-size-label);color:var(--color-muted);margin:2px 0 0}.member-row-main{flex:auto;min-width:0;display:block}.member-row-meta{font-size:var(--font-size-caption);color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;display:block;overflow:hidden}.readiness-section{margin:0 0 var(--space-5)}.readiness-section>h2{margin:0 0 var(--space-2);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--color-muted)}.readiness-section>h3{margin:var(--space-4) 0 var(--space-2);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);color:var(--color-muted)}.readiness-section code,.readiness-note,.readiness-note code,.readiness-list small,.readiness-list code{overflow-wrap:anywhere;word-break:normal;min-width:0}.settings-row-block{margin-top:var(--space-3)}.settings-row{color:inherit;align-items:center;gap:var(--space-2);width:100%;min-height:var(--control-height);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);text-align:left;cursor:pointer;text-decoration:none;display:flex}.settings-row-label{font-size:var(--font-size-label);color:var(--color-muted);flex:none}.settings-row-label-destructive{color:var(--color-error)}.settings-row-value{text-overflow:ellipsis;white-space:nowrap;text-align:right;flex:auto;min-width:0;overflow:hidden}.settings-row-chevron{color:var(--color-muted);flex:none;display:inline-flex}.dormant-period-row{align-items:end;gap:var(--space-2);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;display:grid}.dormant-period-row>label{min-width:0}.dormant-period-remove{flex:none}.club-period{gap:var(--space-2);margin-bottom:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.club-period label{gap:var(--space-1);min-width:0;font-size:var(--font-size-label);color:var(--color-muted);flex-direction:column;display:flex}.club-period select{height:var(--control-height);min-width:0}.club-league+.club-league,.club-league+.group{margin-top:var(--space-5)}.club-league-title{margin:0 0 var(--space-2);padding-left:var(--space-1);font-size:var(--font-size-heading);font-weight:var(--font-weight-bold)}.metric-cell>.club-award{min-width:0;max-width:100%}.club-award{flex-direction:column;align-items:center;gap:1px;min-width:0;display:flex}.club-award-name{max-width:100%;font-size:var(--font-size-subtitle);line-height:var(--line-height-tight);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.club-award-detail{font-size:var(--font-size-label);font-weight:var(--font-weight-medium);color:var(--color-muted);font-variant-numeric:tabular-nums}.club-award-empty{color:var(--color-muted)}.club-rank-list{margin:var(--space-2) 0 0;background:var(--surface);border-radius:var(--radius);padding:0;list-style:none;overflow:hidden}.club-rank-row{grid-template-columns:auto minmax(0,1fr) auto auto}.club-rank-no{min-width:16px;font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-muted);font-variant-numeric:tabular-nums}.club-rank-who{flex-direction:column;gap:1px;min-width:0;display:flex}.club-rank-name-link{text-overflow:ellipsis;white-space:nowrap;font-weight:var(--font-weight-semibold);color:var(--color-primary);text-decoration:none;overflow:hidden}.club-rank-league{font-size:var(--font-size-caption);color:var(--color-muted)}.my-rank-body{padding:var(--space-3)}.my-rank-line{font-size:var(--font-size-subtitle);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-snug);line-height:var(--line-height-tight);margin:0}.my-rank-detail{font-size:var(--font-size-caption);color:var(--color-muted);font-variant-numeric:tabular-nums;line-height:var(--line-height-snug);margin:2px 0 0}.standings-score{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:0;min-width:52px;display:flex}.standings-score-value{font-size:var(--font-size-row);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-snug);line-height:var(--line-height-tight);font-variant-numeric:tabular-nums}.standings-score-against{font-size:var(--font-size-caption);color:var(--color-muted);font-variant-numeric:tabular-nums;line-height:var(--line-height-tight)}.segmented{margin-bottom:var(--space-4);border-radius:var(--radius);background:var(--surface-sunken,#eceef1);grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;padding:2px;display:grid}.segmented-item{min-height:var(--control-height-icon);border-radius:calc(var(--radius) - 3px);color:var(--color-muted);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0 4px}.segmented-item.is-active{background:var(--surface);color:var(--color-text);box-shadow:0 1px 2px #00000014}.row-stack{display:block}.row-stack .row-main{margin-bottom:var(--space-2);display:block}.gender-mode{margin-bottom:0}.club-empty{margin:var(--space-4) 0;color:var(--color-muted)}.recent-match-links{gap:var(--space-2);margin-top:var(--space-1);display:flex}.matchup-result-grid{gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:minmax(0,1fr);display:grid}.matchup-player-head{align-items:baseline;gap:var(--space-2);min-width:0;display:flex}.matchup-player-head strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-row);font-weight:var(--font-weight-semibold);overflow:hidden}.matchup-player-head span{font-size:var(--font-size-caption);color:var(--color-muted);white-space:nowrap}.matchup-player-metrics{margin:var(--space-2) 0 0;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid}.matchup-player-metrics>div{flex-direction:column;align-items:center;gap:1px;min-width:0;display:flex}.matchup-player-metrics dt{font-size:var(--font-size-caption);color:var(--color-muted);white-space:nowrap}.matchup-player-metrics dd{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0}.matchup-factor-rows{border-radius:var(--radius);background:var(--surface);flex-direction:column;display:flex;overflow:hidden}.matchup-factor-row{padding:var(--space-2) var(--space-3)}.matchup-factor-row+.matchup-factor-row{border-top:1px solid var(--divider)}.matchup-factor-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.matchup-factor-head strong{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);white-space:nowrap}.matchup-factor-head span{font-size:var(--font-size-caption);color:var(--color-muted);white-space:nowrap}.matchup-factor-values{gap:var(--space-3);font-size:var(--font-size-caption);color:var(--color-muted);font-variant-numeric:tabular-nums;margin:2px 0 0;display:flex}@media (min-width:720px){.matchup-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.plain-list{padding:var(--space-3);font-size:var(--font-size-body);line-height:var(--line-height-relaxed);margin:0;list-style:none}.plain-list li+li{margin-top:var(--space-2)}.my-rank-score{font-size:var(--font-size-metric);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--line-height-display);font-variant-numeric:tabular-nums;margin:2px 0 0}.copy-value{align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-3);border-radius:var(--radius);background:var(--surface-sunken);display:flex}.copy-value-label{font-size:var(--font-size-caption);color:var(--color-muted);white-space:nowrap}.copy-value-text{overflow-wrap:anywhere;min-width:0;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);-webkit-user-select:all;user-select:all;flex:auto}.copy-value-button{min-height:var(--control-height-compact);padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);white-space:nowrap;cursor:pointer;flex:none;align-items:center;gap:4px;display:inline-flex}.manage-groups{margin-top:var(--space-5);flex-direction:column;display:flex}.manage-group+.manage-group{margin-top:var(--space-5)}.manage-group-body{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius);background:var(--surface);flex-direction:column;display:flex}.manage-group-danger .manage-group-body{box-shadow:inset 3px 0 0 var(--color-error)}.manage-group-danger>.group-label{color:var(--color-error)}.manage-group-collapsible>.manage-group-summary{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-1);cursor:pointer;-webkit-tap-highlight-color:transparent;list-style:none;display:flex}.manage-group-collapsible>.manage-group-summary::-webkit-details-marker{display:none}.manage-group-collapsible>.manage-group-summary>span{overflow-wrap:anywhere;min-width:0}.manage-group-collapsible>.manage-group-summary svg{color:var(--color-muted);flex:none;transition:transform .16s ease-out}.manage-group-collapsible[open]>.manage-group-summary svg{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.manage-group-collapsible>.manage-group-summary svg{transition:none}}.manage-group-collapsible>.manage-group-summary:focus-visible{outline-offset:2px;border-radius:var(--radius-sm);outline:3px solid #2563eb}.manage-group-collapsible>.manage-group-body{margin-top:var(--space-2)}.manage-block-lead{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);margin:0}.row-field-code{text-align:center;font-variant-numeric:tabular-nums;max-width:88px}.preview-date-key{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.existing-brackets{margin-top:var(--space-2)}.existing-bracket-key{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.label-action{min-height:var(--control-height);color:var(--color-primary);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;padding:0 2px;display:inline-flex}.manual-roster-sticky{z-index:15;margin:0 calc(-1 * var(--space-2)) var(--space-2);padding:var(--space-2) var(--space-2) var(--space-1);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-bg) 86%, transparent);-webkit-backdrop-filter:saturate(180%)blur(16px);position:sticky;top:52px}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.manual-roster-sticky{background:var(--color-bg)}}@media (prefers-reduced-transparency:reduce){.manual-roster-sticky{background:var(--color-bg);-webkit-backdrop-filter:none}}.manual-roster-title{align-items:baseline;gap:var(--space-2);margin:0 0 var(--space-1);font-size:var(--font-size-micro);font-weight:var(--font-weight-semibold);color:var(--color-muted);display:flex}.manual-roster-hint{font-weight:var(--font-weight-regular);margin-left:auto}.manual-roster{gap:var(--space-1);padding:0 0 var(--space-1);overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0;list-style:none;display:flex;overflow-x:auto}.manual-roster::-webkit-scrollbar{display:none}.manual-roster-chip{padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--font-size-micro);color:var(--color-text);white-space:nowrap;font-variant-numeric:tabular-nums;flex:none;align-items:baseline;gap:3px;display:flex}.manual-roster-name{font-weight:var(--font-weight-semibold)}.manual-roster-count{color:var(--color-muted)}.manual-roster-state{font-weight:var(--font-weight-semibold)}.manual-roster-chip.is-idle .manual-roster-name,.manual-roster-chip.is-idle .manual-roster-state{color:var(--color-muted)}.manual-roster-chip.is-short .manual-roster-state{color:var(--accent)}.manual-roster-chip.is-done .manual-roster-state{color:var(--success)}.manual-roster-chip.is-dup .manual-roster-state{color:var(--warning)}.manual-roster-chip.is-invalid .manual-roster-state{color:var(--danger)}.manual-row-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.manual-row{padding:var(--space-2);border-radius:var(--radius);background:var(--surface-sunken)}.manual-row.has-error{box-shadow:inset 0 0 0 1px var(--danger)}.manual-row-line{align-items:center;gap:var(--space-1);min-width:0;display:flex}.manual-row-no{min-width:24px;font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);line-height:var(--line-height-display);color:var(--color-text);font-variant-numeric:tabular-nums;flex-direction:column;flex:none;justify-content:center;align-items:center;display:flex}.manual-row-round{font-weight:var(--font-weight-regular);color:var(--color-muted)}.manual-pair{flex:1 1 0;gap:3px;min-width:0;display:flex}.manual-vs{padding:0 var(--space-1);font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);color:var(--color-muted);flex:none}.manual-slot{min-width:0;min-height:var(--control-height);padding:0 var(--space-1);border:1px solid var(--divider);border-radius:var(--radius-sm);background:var(--surface);color:var(--color-text);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);text-align:center;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:0;display:flex}.manual-slot-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden}.manual-slot.is-empty{color:var(--color-muted);border-style:dashed}.manual-slot.is-duplicate{border-color:var(--warning)}.manual-slot-dup{font-size:var(--font-size-micro);line-height:var(--line-height-display);font-weight:var(--font-weight-bold);color:var(--warning);flex:none;margin-top:-2px}.manual-row-remove{width:28px;min-height:var(--control-height);color:var(--color-muted);background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.manual-row-remove:disabled{opacity:.35}@media (min-width:600px){.manual-row{padding:var(--space-3)}.manual-row-line{gap:var(--space-2)}.manual-pair{gap:var(--space-1)}.manual-slot{font-size:var(--font-size-label);padding:0 var(--space-2)}.manual-row-no{min-width:34px}}.picker-sheet-list,.picker-sheet-sublist{margin:0;padding:0;list-style:none}.picker-sheet-group{margin:var(--space-3) 0 var(--space-1);font-size:var(--font-size-micro);font-weight:var(--font-weight-semibold);color:var(--color-muted)}.picker-sheet-row{align-items:center;gap:var(--space-2);width:100%;min-height:var(--control-height);padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--font-size-body);text-align:left;background:0 0;border:none;display:flex}.picker-sheet-row:disabled{opacity:.4}.picker-sheet-row.is-current{background:var(--surface-sunken)}.picker-sheet-check{width:16px;color:var(--accent);flex:none;justify-content:center;align-items:center;display:flex}.picker-sheet-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:var(--font-weight-semibold);flex:auto;overflow:hidden}.picker-sheet-state{font-size:var(--font-size-caption);font-variant-numeric:tabular-nums;flex:none}.picker-sheet-state.is-idle{color:var(--color-muted)}.picker-sheet-state.is-short{color:var(--accent)}.picker-sheet-state.is-done{color:var(--success)}.picker-sheet-state.is-dup{color:var(--warning)}.picker-sheet-state.is-invalid{color:var(--danger)}.picker-sheet-row.is-clear .picker-sheet-name{color:var(--color-muted);font-weight:var(--font-weight-regular)}.manual-row-error{margin:var(--space-2) 0 0}.manual-add-row{width:100%;margin-top:var(--space-3)}.existing-bracket-row{align-items:center;gap:var(--space-2);display:flex}.existing-bracket-row .settings-row{flex:auto;min-width:0}.existing-bracket-edit{flex:none}.edit-target-key{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-weight:var(--font-weight-semibold)}.grade-badge{margin-left:var(--space-1);border-radius:var(--radius-sm);background:var(--tint-quiet);color:var(--tint-quiet-ink);font-size:var(--font-size-micro);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;align-items:center;padding:1px 6px;display:inline-flex}.grade-badge.is-unknown{color:var(--tint-quiet-ink);font-weight:var(--font-weight-regular);opacity:.7;background:0 0}.finance-add-open{width:100%;margin-top:var(--space-2)}.finance-form{gap:var(--space-3) var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;display:grid}.finance-field{gap:var(--space-1);min-width:0;font-size:var(--font-size-caption);color:var(--color-muted);flex-direction:column;display:flex}.finance-field input,.finance-field select{width:100%;min-width:0;height:var(--control-height);box-sizing:border-box;padding:0 var(--space-3);font-size:var(--font-size-body);color:var(--color-text);background:var(--surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.finance-field-wide{grid-column:1/-1}.finance-form-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-1);grid-column:1/-1;display:flex}.finance-form-actions>button{min-height:var(--control-height);border-radius:var(--radius-sm)}.finance-readonly-note{margin-top:var(--space-2)}.finance-list .row-main{min-width:0}.finance-row-actions{align-items:center;gap:var(--space-1);flex:none;display:flex}.finance-meta{gap:2px var(--space-2);font-size:var(--font-size-micro);line-height:var(--line-height-snug);color:var(--color-muted);flex-wrap:wrap;margin-top:2px;display:flex}.finance-meta-line{white-space:nowrap;align-items:baseline;gap:4px;min-width:0;display:inline-flex}.finance-meta-label{opacity:.75;flex:none}.finance-row-title{justify-content:space-between;align-items:baseline;gap:var(--space-2);width:100%;min-width:0;display:flex}.finance-row-category{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.finance-amount{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold);flex:none}.finance-amount.is-income{color:var(--tint-info-ink)}.finance-amount.is-expense{color:var(--tint-attn-ink)}.finance-row.is-void .row-title,.finance-row.is-void .row-sub{opacity:.62}.finance-amount.is-void{color:var(--color-muted);text-decoration:line-through}.finance-void-note{color:var(--color-muted)}.finance-void-badge{border-radius:var(--radius-sm);background:var(--tint-quiet);color:var(--tint-quiet-ink);font-size:var(--font-size-micro);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);align-items:center;padding:1px 6px;display:inline-flex}.badge-duplicate{margin-left:var(--space-1);border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--warning);font-size:var(--font-size-micro);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);white-space:nowrap;vertical-align:middle;flex:none;align-items:center;padding:1px 6px;display:inline-flex}.person-picker-head{align-items:center;gap:var(--space-2);padding-right:var(--space-4);display:flex}.person-picker-toggle{align-items:center;gap:var(--space-2);min-width:0;min-height:var(--control-height);padding:0 var(--space-4);color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;flex:auto;display:flex}.person-picker-title{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);flex:none}.person-picker-count{min-width:0;color:var(--color-muted);font-size:var(--font-size-caption);font-variant-numeric:tabular-nums;flex:auto}.person-picker-chevron{color:var(--color-muted);flex:none;display:inline-flex}.person-picker-all{min-width:var(--control-height);min-height:var(--control-height);cursor:pointer;flex:none;justify-content:center;align-items:center;display:inline-flex}.person-picker-body{padding-bottom:var(--space-2)}.stepper{align-items:center;gap:var(--space-1);flex:none;display:inline-flex}.stepper-button{width:var(--control-height);height:var(--control-height);border:1px solid var(--divider);border-radius:var(--radius-sm);background:var(--surface);color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.stepper-button:disabled{opacity:.35;cursor:default}.stepper-button:active:not(:disabled){filter:brightness(.95)}.stepper-value{text-align:center;min-width:2.5ch;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.chip-danger{background:var(--danger-soft);color:var(--danger)}.backup-summary-grid{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.backup-summary-card{align-items:flex-start;gap:var(--space-2);min-width:0;padding:var(--space-3);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.backup-summary-title{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-muted);margin:0}.backup-summary-when{font-variant-numeric:tabular-nums;margin:0}.backup-summary-sub{font-size:var(--font-size-caption);color:var(--color-muted);font-variant-numeric:tabular-nums;margin:0}.backup-filter{gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.backup-filter-button{min-height:var(--control-height-icon);padding:0 var(--space-3);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--color-text);font-size:var(--font-size-caption);border:none}.backup-filter-button[aria-pressed=true]{background:var(--tint-brand);color:var(--tint-brand-ink);font-weight:var(--font-weight-bold)}.backup-history{margin:0;padding:0;list-style:none}.backup-history-item{box-shadow:inset 0 -1px 0 var(--divider)}.backup-history-row{align-items:center;gap:var(--space-2);width:100%;min-height:44px;padding:var(--space-3) 0;color:var(--color-text);text-align:left;background:0 0;border:none;display:flex}.backup-history-main{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.backup-history-when{font-size:var(--font-size-caption);color:var(--color-muted);font-variant-numeric:tabular-nums}.backup-history-kind{overflow-wrap:anywhere}.backup-history-status{align-items:center;gap:var(--space-2);display:flex}.backup-history-duration{font-size:var(--font-size-caption);color:var(--color-muted);font-variant-numeric:tabular-nums}.backup-detail{gap:var(--space-2);padding:0 0 var(--space-3);flex-direction:column;display:flex}.detail-row{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;display:flex}.detail-row-label{font-size:var(--font-size-caption);color:var(--color-muted);overflow-wrap:anywhere;min-width:0}.detail-row-value{font-variant-numeric:tabular-nums;text-align:right}.backup-empty{color:var(--color-muted);margin:0}.guest-edit-panel{padding:var(--space-3) var(--space-4) var(--space-4);background:var(--surface-sunken,#00000008);border-top:1px solid var(--divider);display:block}.guest-edit-grid{gap:var(--space-2);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.guest-edit-name,.guest-edit-grade,.guest-form-grade{grid-column:1/-1}.guest-edit-field{min-width:0;font-size:var(--font-size-caption);color:var(--color-muted);flex-direction:column;gap:4px;display:flex}.guest-edit-field input,.guest-edit-field select{width:100%;min-width:0;height:var(--control-height);box-sizing:border-box;font-size:var(--font-size-body);color:var(--color-text)}.guest-edit-note{margin:var(--space-2) 0 0}.guest-edit-actions{gap:var(--space-2);margin-top:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.guest-edit-actions>*{width:100%;min-width:0;height:var(--control-height);box-sizing:border-box}.row.is-editing{background:var(--surface-sunken,#00000008)}.preview-to-manual{width:100%;margin-top:var(--space-3)}.login-error{white-space:pre-line}.weather-location-button{font:inherit;color:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.weather-location-caret{color:var(--color-muted);margin-left:2px}.weather-location-row{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;min-width:0;padding:10px var(--space-4);color:inherit;text-align:left;font-size:var(--font-size-body);cursor:pointer;background:0 0;border:none;display:flex}.weather-location-row.is-active .sheet-row-name{font-weight:var(--font-weight-semibold)}.weather-extra{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--divider)}.weather-extra-title{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.weather-extra-list{margin:var(--space-2) 0 0;padding:0;list-style:none}.weather-extra-add{width:100%;margin-top:var(--space-3)}.weather-extra-form{margin-top:var(--space-3)}.weather-extra-actions{gap:var(--space-2);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.weather-extra-actions>*{width:100%;min-width:0;height:var(--control-height);box-sizing:border-box}.weather-strip-empty{padding:var(--space-3) var(--space-4);font-size:var(--font-size-label);color:var(--color-muted);margin:0}.weather-preset-lock{font-size:var(--font-size-caption);color:var(--color-muted);white-space:nowrap;flex:none}.finance-hero{margin-bottom:var(--space-4);padding:var(--space-4);border-radius:var(--radius);background:var(--surface);box-shadow:0 1px 2px #0000000f}.finance-hero-label{color:var(--color-muted);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);margin:0}.finance-hero-value{margin:var(--space-1) 0 0;font-size:var(--font-size-metric-lg);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-display);font-variant-numeric:tabular-nums;line-height:var(--line-height-display)}.finance-hero-metrics{gap:var(--space-4);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.finance-hero-metric{flex-direction:column;gap:2px;min-width:0;display:flex}.finance-hero-metric-label{color:var(--color-muted);font-size:var(--font-size-micro)}.finance-hero-metric-value{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.finance-hero-metric-value.is-income{color:var(--tint-info-ink)}.finance-hero-metric-value.is-expense{color:var(--tint-attn-ink)}.finance-hero-note{margin:var(--space-2) 0 0;color:var(--color-muted);font-size:var(--font-size-micro)}.finance-views{margin-top:var(--space-2)}.finance-toolbar .segmented{margin-bottom:var(--space-3)}.link-button{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.dues-summary{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(64px,1fr));display:grid}.dues-summary-item{min-height:var(--control-height);padding:var(--space-2) var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;flex-direction:column;align-items:center;gap:2px;display:flex}.dues-summary-item.is-active{border-color:var(--color-primary);background:var(--tint-quiet)}.dues-summary-count{font-size:var(--font-size-metric);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;line-height:var(--line-height-display)}.dues-summary-label{color:var(--color-muted);font-size:var(--font-size-micro)}.dues-totals{gap:var(--space-4);flex-wrap:wrap;display:flex}.dues-total{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;display:flex}.dues-total-label{color:var(--color-muted);font-size:var(--font-size-micro);font-weight:var(--font-weight-regular)}.dues-total.is-outstanding{color:var(--tint-attn-ink)}.dues-list .row-main{min-width:0}.dues-row-title{align-items:center;gap:var(--space-2);min-width:0;display:flex}.dues-names{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dues-row-sub{color:var(--color-muted)}.dues-badge{border-radius:var(--radius-sm);font-size:var(--font-size-micro);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);flex:none;align-items:center;padding:1px 6px;display:inline-flex}.dues-badge.is-paid{background:var(--tint-info);color:var(--tint-info-ink)}.dues-badge.is-partial,.dues-badge.is-unpaid{background:var(--tint-attn);color:var(--tint-attn-ink)}.dues-badge.is-exempt,.dues-badge.is-unknown{background:var(--tint-quiet);color:var(--tint-quiet-ink)}.dues-amounts{gap:var(--space-3);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.dues-amount{font-size:var(--font-size-label);font-variant-numeric:tabular-nums}.dues-amount-label{margin-right:var(--space-1);color:var(--color-muted);font-size:var(--font-size-micro)}.dues-amount.is-outstanding{color:var(--tint-attn-ink);font-weight:var(--font-weight-semibold)}.dues-year-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.dues-year-card{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--surface)}.dues-year-head{align-items:baseline;gap:var(--space-2);min-width:0;font-weight:var(--font-weight-semibold);display:flex}.dues-year-type{color:var(--color-muted);font-size:var(--font-size-micro);font-weight:var(--font-weight-regular);flex:none}.dues-year-grid{gap:var(--space-1);margin:var(--space-2) 0 0;grid-template-columns:repeat(4,1fr);padding:0;list-style:none;display:grid}.dues-cell{padding:var(--space-1) 0;border-radius:var(--radius-sm);background:var(--tint-quiet);flex-direction:column;align-items:center;gap:1px;display:flex}.dues-cell-month{color:var(--color-muted);font-size:var(--font-size-micro);font-variant-numeric:tabular-nums}.dues-cell-mark{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}.dues-cell.is-paid{background:var(--tint-info);color:var(--tint-info-ink)}.dues-cell.is-partial,.dues-cell.is-unpaid{background:var(--tint-attn);color:var(--tint-attn-ink)}.dues-cell.is-exempt,.dues-cell.is-unknown{background:var(--tint-quiet);color:var(--tint-quiet-ink)}.dues-cell.is-absent{color:var(--color-muted);opacity:.5;background:0 0}.dues-year-foot{gap:var(--space-3);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.dues-legend{gap:var(--space-3);flex-wrap:wrap;display:flex}.dues-picker-note{margin:var(--space-1) 0 0;color:var(--color-muted);font-size:var(--font-size-micro);line-height:var(--line-height-relaxed)}.dues-allocation-list{gap:var(--space-2);margin:var(--space-1) 0 0;padding:0;list-style:none;display:grid}.dues-allocation-row{gap:var(--space-2);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:center;display:grid}.dues-allocation-row input{height:var(--control-height);min-width:0;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.dues-allocation-foot{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-2);display:flex}.dues-allocation-total{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.staff-position,.staff-ordinal{margin-left:var(--space-2);border-radius:var(--radius-sm);background:var(--tint-quiet);color:var(--tint-quiet-ink);font-size:var(--font-size-micro);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);flex:none;align-items:center;padding:1px 6px;display:inline-flex}.staff-missing-note{color:var(--tint-attn-ink)}.benefit-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.benefit-card{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--surface)}.benefit-card.is-ended{opacity:.62}.benefit-title{align-items:baseline;gap:var(--space-2);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);flex-wrap:wrap;margin:0;display:flex}.benefit-type{border-radius:var(--radius-sm);background:var(--tint-info);color:var(--tint-info-ink);font-size:var(--font-size-micro);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);flex:none;padding:1px 6px}.benefit-period{margin:var(--space-1) 0 0;color:var(--color-muted);font-size:var(--font-size-label)}.benefit-reason{margin:var(--space-1) 0 0;color:var(--color-muted);font-size:var(--font-size-micro)}.benefit-people-label{margin:var(--space-3) 0 var(--space-1);color:var(--color-muted);font-size:var(--font-size-micro);font-weight:var(--font-weight-semibold)}.benefit-people{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.benefit-person{align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-2);border-radius:var(--radius-sm);background:var(--tint-quiet);flex-wrap:wrap;display:flex}.benefit-person.is-ended{color:var(--color-muted);background:0 0}.benefit-person-main{align-items:baseline;gap:var(--space-2);min-width:0;display:flex}.benefit-person-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:var(--font-weight-semibold);overflow:hidden}.benefit-person-relation{color:var(--color-muted);font-size:var(--font-size-micro);flex:none}.benefit-person-period{color:var(--color-muted);font-size:var(--font-size-micro);font-variant-numeric:tabular-nums;margin-left:auto}.benefit-form-row{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:center;display:grid}.benefit-form-row input,.benefit-form-row select{height:var(--control-height);min-width:0;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.couple-list .row-main{min-width:0}.couple-row-title{align-items:center;gap:var(--space-2);min-width:0;display:flex}.couple-row-sub{color:var(--color-muted)}.couple-row.is-unconfirmed{background:var(--tint-quiet)}.couple-pending-note{color:var(--tint-attn-ink)}.benefit-scope{gap:var(--space-1) var(--space-2);margin:var(--space-2) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.benefit-scope-item{align-items:center;gap:var(--space-1);border-radius:var(--radius-sm);background:var(--tint-info);color:var(--tint-info-ink);font-size:var(--font-size-micro);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);padding:1px 6px;display:inline-flex}.benefit-scope-note{color:var(--color-muted);font-weight:var(--font-weight-regular)}.benefit-person-scope{color:var(--color-muted);font-size:var(--font-size-micro);flex:1 0 100%}.benefit-policy-note p{margin:0 0 var(--space-1)}.benefit-policy-note p:last-child{margin-bottom:0}
