.datebar{display:flex;align-items:center;gap:var(--sp-md,12px);flex-wrap:wrap}.datebar-spacer{flex:1 1}.date-nav{display:inline-flex;align-items:center;border:1px solid var(--ds-border,#e2e7ec);border-radius:var(--r-md,10px);overflow:hidden}.date-nav button{border:none;background:var(--ds-surface,#fff);padding:8px 11px;cursor:pointer;color:var(--ds-text,#2b3a47);transition:background var(--t-fast,.12s)}.date-nav button:hover{background:var(--ds-surface-2,#f8fafb)}.current-date{font-family:var(--font-display);font-size:var(--fs-h1,25px);font-weight:800;letter-spacing:-.01em;text-transform:capitalize}.date-relative{margin-left:8px;font-family:var(--font-body);font-size:var(--fs-caption,12px);color:var(--ds-primary);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.day-stats{display:flex;align-items:stretch;flex-wrap:wrap}.day-vital{display:flex;flex-direction:column;padding:0 var(--sp-lg,16px);border-left:1px solid var(--ds-border)}.day-vital:first-child{border-left:none;padding-left:0}.day-vital-value{font-family:var(--font-display);font-size:21px;font-weight:800;letter-spacing:-.01em;line-height:1.15}.day-vital-value.is-warn{color:var(--ds-warning)}.day-vital-label{font-size:var(--fs-caption,12px);color:var(--ds-muted);font-weight:600;margin-top:1px}.grid-wrap{border:1px solid var(--ds-border,#e2e7ec);border-radius:var(--r-lg,14px);overflow:hidden;background:var(--ds-surface,#fff)}.grid-scroll{overflow-x:auto;overflow-y:visible}.grid{display:flex;position:relative;width:100%;min-width:max-content}.grid .gutter{flex:0 0 56px}.grid .court-col{flex:1 1;min-width:160px}.gutter{border-right:1px solid var(--ds-border,#e2e7ec);background:var(--ds-surface,#fff);position:-webkit-sticky;position:sticky;left:0;z-index:4;min-width:56px}.court-name{font-weight:700;font-size:var(--fs-small,13px)}.court-meta{font-size:var(--fs-caption,12px);color:var(--ds-muted,#6b7c8a)}.court-swatch{width:10px;height:10px;border-radius:3px;flex:none;display:inline-block;margin-right:6px}.ghost-label{font-size:var(--fs-caption,12px);font-weight:700;color:#fff}.open-form{display:flex;flex-direction:column;gap:var(--sp-md,12px);max-width:420px}.denom-grid{display:grid;grid-template-columns:1fr 70px 1fr;grid-gap:var(--sp-sm,8px) var(--sp-md,12px);gap:var(--sp-sm,8px) var(--sp-md,12px);align-items:center}.denom-row{display:contents}.denom-value{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.denom-count,.denom-input{width:100%;text-align:center}.denom-subtotal{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ds-muted,#6b7c8a)}.quick-amount{padding:8px;border:1px solid var(--ds-border,#e2e7ec);border-radius:var(--r-sm,6px);background:var(--ds-surface,#fff);cursor:pointer;font-weight:700;transition:all var(--t-fast,.12s)}.quick-amount:hover{border-color:var(--ds-primary,#de6435);color:var(--ds-primary,#de6435)}.totals-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:var(--sp-lg,16px);gap:var(--sp-lg,16px);margin-bottom:var(--sp-xl,24px)}.total-card{background:var(--ds-surface,#fff);border:1px solid var(--ds-border,#e2e7ec);border-left:3px solid var(--ds-border-strong,#c7cfd6);border-radius:var(--r-md,8px);padding:var(--sp-md,12px) var(--sp-lg,16px)}.total-card.is-accent{border-left-color:var(--ds-primary,#de6435)}.total-card.is-warn{border-left-color:var(--ds-danger,#e5484d)}.total-label{display:block;color:var(--ds-muted,#6b7c8a);font-size:var(--fs-caption,12px);font-weight:700;text-transform:uppercase;letter-spacing:.03em}.total-value{display:block;font-family:var(--font-display);font-size:23px;font-weight:800;letter-spacing:-.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:3px}.total-card.is-warn .total-value{color:var(--ds-danger,#e5484d)}.total-hint{display:block;color:var(--ds-muted,#6b7c8a);margin-top:2px}.fee,.total-hint{font-size:var(--fs-caption,12px)}.fee{color:var(--ds-warning,#c77d20)}.drawer-backdrop{position:fixed;inset:0;background:rgba(4,6,10,.6);z-index:40;animation:ds-fade var(--t-fast,.12s)}.drawer-head{padding:var(--sp-lg,16px);border-bottom:1px solid var(--ds-border,#e2e7ec);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-md,12px)}.drawer-title{font-size:var(--fs-caption,12px);color:var(--ds-muted,#6b7c8a);font-weight:700;text-transform:uppercase}.drawer-head-actions{display:flex;align-items:center;gap:var(--sp-sm,8px);flex:none}.drawer-name{font-size:var(--fs-h2,22px);font-weight:800;letter-spacing:-.01em}.drawer-meta{display:flex;gap:var(--sp-md,12px);flex-wrap:wrap;color:var(--ds-muted,#6b7c8a);font-size:var(--fs-small,13px);margin-top:4px}.drawer-body{flex:1 1;overflow-y:auto;padding:var(--sp-lg,16px);gap:var(--sp-lg,16px)}.drawer-body,.drawer-section{display:flex;flex-direction:column}.drawer-section{gap:var(--sp-sm,8px)}.drawer-section>h3{font-size:var(--fs-caption,12px);font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--ds-muted,#6b7c8a);margin:0}.drawer-loading{padding:var(--sp-2xl,40px);text-align:center;color:var(--ds-muted,#6b7c8a)}.dup-list{display:flex;flex-direction:column;gap:var(--sp-sm,8px)}.dup-item{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-md,12px);padding:var(--sp-md,12px);border:1px solid var(--ds-warning,#c77d20);background:var(--ds-warning-soft,#fbf1e0);border-radius:var(--r-md,10px)}.account-box{display:flex;flex-direction:column;gap:2px;padding:var(--sp-lg,16px);border-radius:var(--r-lg,10px);background:var(--ds-success-soft);margin-bottom:var(--sp-lg,16px)}.account-box.is-owed{background:var(--ds-danger-soft)}.account-label{font-size:var(--fs-caption,12px);color:var(--ds-muted,#6b7c8a);font-weight:700;text-transform:uppercase;letter-spacing:.03em}.account-box .account-label{color:inherit;opacity:.75}.account-value{font-family:var(--font-display);font-size:28px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.account-box .account-value{color:var(--ds-success)}.account-box.is-owed .account-value{color:var(--ds-danger)}.account-hint{font-size:var(--fs-caption,12px);color:var(--ds-muted,#6b7c8a)}.account-box .account-hint{color:inherit;opacity:.75}.stat-box-label{display:block;font-size:var(--fs-caption,12px);color:var(--ds-muted,#6b7c8a);font-weight:600}.stat-box-value{display:block;font-family:var(--font-display);font-size:20px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:2px}.stat-box-value.is-warn{color:var(--ds-warning,#c77d20)}.expense-list{display:flex;flex-direction:column;gap:var(--sp-sm,8px)}.expense-row{display:flex;align-items:center;gap:var(--sp-md,12px);padding:var(--sp-sm,8px) var(--sp-md,12px);border:1px solid var(--ds-border,#e2e7ec);border-left:3px solid var(--ds-border-strong,#c7cfd6);border-radius:var(--r-md,8px)}.expense-row.is-overdue{border-left-color:var(--ds-danger,#e5484d)}.expense-main{display:flex;flex-direction:column;flex:1 1;min-width:0}.expense-concept{font-weight:600}.expense-amount{font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.expense-row.is-overdue .expense-amount{color:var(--ds-danger,#e5484d)}.field-group{gap:var(--sp-md,12px)}.field-block,.field-group{display:flex;flex-direction:column}.field-block{gap:5px}.field-pair{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--sp-md,12px);gap:var(--sp-md,12px)}.field-value{font-weight:700}.field-hint{color:var(--ds-muted,#6b7c8a)}.field-error,.field-hint{font-size:var(--fs-caption,12px)}.field-error{color:var(--ds-danger,#c0392b);font-weight:600}.dialog-title{font-size:var(--fs-h3,18px);font-weight:800;margin:0 0 var(--sp-md,12px)}.dialog-actions{display:flex;gap:var(--sp-sm,8px);justify-content:flex-end;margin-top:var(--sp-lg,16px)}.tournament-detail{display:flex;flex-direction:column;gap:var(--sp-xl,24px)}.tournament-banner-lg{height:180px;border-radius:var(--r-lg,14px);background-size:cover;background-position:50%;background-color:var(--ds-surface-2,#f8fafb)}.match-score-btn{padding:6px 12px;border:1px solid var(--ds-border,#e2e7ec);border-radius:var(--r-sm,6px);background:var(--ds-surface,#fff);cursor:pointer;font-weight:700;font-size:var(--fs-small,13px)}.match-score-btn:hover{border-color:var(--ds-primary,#de6435);color:var(--ds-primary,#de6435)}.score-actions{display:flex;gap:var(--sp-sm,8px);justify-content:flex-end;margin-top:var(--sp-md,12px)}.is-scoring{box-shadow:inset 0 0 0 2px var(--ds-primary,#de6435)}.demo-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--r-pill,999px);background:var(--ds-warning-soft,#fbf1e0);color:var(--ds-warning,#c77d20);font-size:var(--fs-caption,12px);font-weight:700}.demo-note{background:var(--ds-info-soft,#e8f1fa);border:1px solid var(--ds-info,#2b6cb0);border-radius:var(--r-md,10px);padding:var(--sp-md,12px);font-size:var(--fs-small,13px);color:var(--ds-text-2,#4a5c6a)}.demo-link{color:var(--ds-primary,#de6435);font-weight:700;text-decoration:none}.demo-link:hover{text-decoration:underline}.clubs{display:flex;flex-direction:column;gap:var(--sp-sm,8px)}.club{display:flex;align-items:center;gap:var(--sp-md,12px);padding:var(--sp-md,12px);border:1px solid var(--ds-border,#e2e7ec);border-radius:var(--r-md,10px);background:var(--ds-surface,#fff);cursor:pointer;text-align:left;width:100%;transition:border-color var(--t-fast,.12s),box-shadow var(--t-fast,.12s)}.club:hover{border-color:var(--ds-primary,#de6435);box-shadow:var(--sh-subtle,0 1px 2px rgba(43,58,71,.06))}.club-mark{width:38px;height:38px;border-radius:50%;background:var(--ds-primary,#de6435);color:#fff;display:grid;place-items:center;font-weight:800;flex:none}.club-body{flex:1 1;display:flex;flex-direction:column}.club-name{font-weight:700}.club-role{font-size:var(--fs-caption,12px)}.club-arrow,.club-role{color:var(--ds-muted,#6b7c8a)}.club-warn{font-size:var(--fs-caption,12px);color:var(--ds-warning,#c77d20);font-weight:700}.auth-link-muted{font-size:var(--fs-small,13px)}.auth-link-muted,.k{color:var(--ds-muted,#6b7c8a)}.k{font-weight:600}.v{font-weight:700}.more-sheet-backdrop{position:fixed;inset:0;background:rgba(4,6,10,.6);z-index:50;animation:ds-fade var(--t-fast,.12s)}.more-sheet{position:fixed;left:0;right:0;bottom:0;max-height:80dvh;background:var(--ds-surface,#1c1a17);border-top:1px solid var(--ds-border);border-radius:var(--r-xl,12px) var(--r-xl,12px) 0 0;box-shadow:var(--sh-modal);z-index:51;display:flex;flex-direction:column;animation:sheet-slide-up var(--t-normal,.2s);padding-bottom:env(safe-area-inset-bottom,0)}@keyframes sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.more-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-md,12px) var(--sp-lg,16px);border-bottom:1px solid var(--ds-border)}.more-sheet-title{font-weight:800;font-size:var(--fs-h3)}.more-sheet-close{border:none;background:transparent;cursor:pointer;color:var(--ds-muted);padding:4px;border-radius:var(--r-sm)}.more-sheet-links{display:flex;flex-direction:column;padding:var(--sp-sm,8px);gap:2px;overflow-y:auto}.more-sheet-link{display:flex;align-items:center;gap:var(--sp-md,12px);padding:13px 14px;border-radius:var(--r-md);color:var(--ds-text);font-weight:600;font-size:15px;text-decoration:none}.more-sheet-link.is-active{background:var(--ds-primary-soft);color:var(--ds-primary)}