:root{--red-700:#a51f34;--red-600:#c4243e;--red-500:#e23845;--red-100:#fbe1e4;--blue-200:#a7e0f9;--blue-100:#e3f6fd;--white:#fff;--black:#101112;--ink-900:#221f1d;--ink-700:#4a4542;--ink-500:#7a7570;--ink-300:#b3ada6;--ink-150:#e6e0d8;--ink-100:#f1ece4;--ink-050:#faf7f2;--cream-100:#fdf8f0;--terracotta-600:#b5563d;--terracotta-100:#f7e6de;--gold-600:#b8863a;--gold-100:#faf0dd;--brand-primary:var(--red-600);--brand-primary-active:var(--red-700);--brand-accent:var(--red-500);--brand-sky:var(--blue-200);--surface-app:var(--cream-100);--surface-card:var(--white);--surface-sunken:var(--ink-050);--surface-inverse:var(--ink-900);--border-default:var(--ink-150);--border-strong:var(--ink-300);--text-primary:var(--ink-900);--text-secondary:var(--ink-500);--text-inverse:var(--white);--text-on-brand:var(--white);--link:var(--red-600);--link-hover:var(--red-700);--status-paid-bg:#e6f4ea;--status-paid-fg:#1e7a3b;--status-paid-dot:#2fa350;--status-due-bg:var(--gold-100);--status-due-fg:var(--gold-600);--status-due-dot:#c99a44;--status-overdue-bg:var(--terracotta-100);--status-overdue-fg:var(--terracotta-600);--status-overdue-dot:var(--terracotta-600);--font-display:"Poppins", system-ui, -apple-system, sans-serif;--font-body:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"Space Mono", ui-monospace, monospace;--text-2xl:32px;--text-xl:26px;--text-lg:20px;--text-md:17px;--text-base:15px;--text-sm:13px;--text-xs:11px;--lh-tight:1.1;--lh-normal:1.4;--lh-relaxed:1.6;--weight-regular:400;--weight-medium:500;--weight-bold:700;--weight-heavy:700;--tracking-caps:.06em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--tap-min:44px;--shadow-none:none;--shadow-card:0 1px 2px #1011120f;--shadow-overlay:0 8px 24px #10111229;--ease-standard:cubic-bezier(.2, .7, .3, 1);--duration-fast:.12s;--duration-normal:.18s;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--navy:var(--ink-900);--navy-light:var(--ink-700);--gold:var(--blue-100);--red:var(--brand-primary);--red-dark:var(--brand-primary-active);--grey:var(--text-secondary);--danger:var(--brand-primary);--success:var(--status-paid-fg)}*{box-sizing:border-box}body{font-family:var(--font-body);background:var(--surface-app);color:var(--text-primary);margin:0}a{color:var(--link)}a:hover{color:var(--link-hover)}#app{flex-direction:column;min-height:100dvh;display:flex}#app.has-shell{height:100dvh;min-height:0;overflow:hidden}#content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;min-height:0;display:flex;overflow-y:auto}.bottom-nav{border-top:1px solid var(--border-default);background:var(--white);padding:6px 0 max(6px, var(--sab));flex:none;display:flex;position:static}.bottom-nav button{min-height:var(--tap-min);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:0;flex-direction:column;flex:1;justify-content:flex-start;align-items:center;gap:2px;padding:6px 0;display:flex}.bottom-nav button.active{color:var(--brand-primary);font-weight:var(--weight-bold)}.bottom-nav .nav-icon{flex:none;width:22px;height:22px;display:block}.bottom-nav .nav-label{line-height:15px}.header{background:var(--brand-primary);color:var(--text-on-brand);padding:var(--space-5) var(--space-4);text-align:center}.header h1{font-family:var(--font-display);font-size:var(--text-lg);margin:0}.main{padding:var(--space-5) var(--space-4);flex:none;width:100%;max-width:480px;margin:0 auto}.card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-4);box-shadow:var(--shadow-card)}.fixture-title{font-family:var(--font-body);font-weight:600;font-size:var(--text-md);margin:0 0 var(--space-1)}.fixture-meta{color:var(--text-secondary);font-size:var(--text-sm);margin:0 0 var(--space-4)}.btn-row{gap:var(--space-3);display:flex}button{min-height:var(--tap-min);padding:0 var(--space-4);border-radius:var(--radius-pill);font-family:var(--font-body);font-size:var(--text-base);cursor:pointer;border:none;flex:1;font-weight:600}.btn-yes{background:var(--status-paid-fg);color:var(--text-inverse)}.btn-no{background:var(--brand-primary);color:var(--text-inverse)}.btn-yes.selected,.btn-no.selected{outline:3px solid var(--brand-primary-active)}.btn-primary{background:var(--brand-primary);color:var(--text-on-brand);width:100%}.btn-secondary{background:var(--white);color:var(--text-primary);border:1px solid var(--border-strong);width:auto;padding:0 var(--space-4)}.btn-filter{background:var(--white);color:var(--text-primary);border:1px solid var(--border-strong);flex:1}.btn-filter.selected{background:var(--ink-900);border-color:var(--ink-900);color:var(--text-inverse)}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),select,textarea{width:100%;min-width:0;min-height:var(--tap-min);padding:0 var(--space-3);margin:0 0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--white);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-md);display:block}textarea{padding:var(--space-2) var(--space-3);min-height:88px;line-height:var(--lh-normal)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand-sky);outline-offset:1px;border-color:var(--ink-500)}input[type=checkbox],input[type=radio]{width:20px;height:20px;margin:0 var(--space-2) 0 0;accent-color:var(--brand-primary);vertical-align:middle;flex:none}input[type=file]{margin:var(--space-1) 0 var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);display:block}input[type=file]::file-selector-button{min-height:var(--tap-min);margin-right:var(--space-3);padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--white);color:var(--text-primary);font-family:var(--font-body);font-weight:600;font-size:var(--text-sm);cursor:pointer}label.check-inline{min-height:var(--tap-min);font-size:var(--text-base);cursor:pointer;align-items:center;display:flex}label:has(>input[type=checkbox]){min-height:var(--tap-min);font-size:var(--text-base);cursor:pointer;align-items:center;display:flex}label:has(>input[type=radio]){min-height:var(--tap-min);font-size:var(--text-base);cursor:pointer;align-items:center;display:flex}.status-banner{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);margin-bottom:var(--space-4)}.status-warn{background:var(--gold-100);color:var(--text-primary);box-shadow:inset 3px 0 0 var(--gold-600)}.status-ok{background:var(--status-paid-bg);color:var(--status-paid-fg)}.summary-row{text-align:center;justify-content:space-around;display:flex}.summary-row .num{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;display:block}.summary-row .label{font-size:var(--text-xs);color:var(--text-secondary)}.dues-grid-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.dues-grid{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.dues-grid th,.dues-grid td{padding:var(--space-1);text-align:center;border-bottom:1px solid var(--border-default);white-space:nowrap}.dues-grid .dues-player{text-align:left;background:var(--white);z-index:1;min-width:7.5rem;position:sticky;left:0}.dues-grid .dues-cat{font-size:var(--text-xs);letter-spacing:.05em;color:var(--text-secondary);text-transform:uppercase;border-bottom:none}.dues-grid .dues-item-head{font-weight:600;font-size:var(--text-xs);white-space:normal;max-width:6rem}.dues-grid .dues-item-head .fixture-meta{font-size:var(--text-xs);margin:0;font-weight:400}.chip{min-width:var(--tap-min);min-height:32px;padding:0 var(--space-2);border-radius:var(--radius-pill);font-weight:700;font-size:var(--text-sm);flex:none;justify-content:center;align-items:center;width:auto;line-height:1;display:inline-flex}.chip-unpaid{background:var(--ink-100);color:var(--text-secondary)}.chip-self_reported{background:var(--gold-100);color:var(--text-primary)}.chip-verified{background:var(--status-paid-bg);color:var(--status-paid-fg)}.chip-covered{background:var(--blue-100);color:var(--text-primary)}.chip-rejected{background:var(--status-overdue-bg);color:var(--status-overdue-fg)}.chip-none{color:var(--ink-300);background:0 0}.dues-item-row{padding:var(--space-3) 0;border-bottom:1px solid var(--border-default)}.dues-item-row:last-child{border-bottom:none}.import-grid td,.import-grid th{font-size:var(--text-xs)}.import-chip-ok{background:var(--status-paid-bg);color:var(--status-paid-fg)}.import-chip-duplicate{background:var(--gold-100);color:var(--text-primary)}.import-chip-error{background:var(--status-overdue-bg);color:var(--status-overdue-fg)}.import-error td{opacity:.7}.import-detail{font-size:var(--text-xs)}.announcement-pinned{border-left:3px solid var(--brand-primary)}.section-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin:var(--space-5) 0 var(--space-2);font-weight:700}.dues-status-ok{color:var(--status-paid-fg)}.dues-status-pending{color:var(--text-secondary)}.btn-link{min-height:var(--tap-min);text-align:center;box-sizing:border-box;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.receipt-list{margin:0 0 var(--space-3);font-size:var(--text-sm);padding:0;list-style:none}.receipt-list li{align-items:center;gap:var(--space-2);min-height:var(--tap-min);display:flex}.link-btn{color:var(--link);padding:0 var(--space-2);width:auto;min-height:var(--tap-min);font-size:var(--text-sm);background:0 0;border:none;flex:none;text-decoration:underline}.field-label{font-size:var(--text-sm);color:var(--text-secondary);margin:var(--space-2) 0 var(--space-1);display:block}.check-grid{gap:0 var(--space-2);margin-bottom:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.plain-list{margin:0;padding:0;list-style:none}.plain-list li{padding:var(--space-1) 0;border-bottom:1px solid var(--border-default);font-size:var(--text-base)}.plain-list li:last-child{border-bottom:none}.metro-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.metro-col{background:var(--white);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-3);box-shadow:var(--shadow-card)}.metro-row{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;border-bottom:1px solid var(--border-default);font-size:var(--text-sm);display:flex}.metro-row:last-child{border-bottom:none}.metro-row select{width:auto;padding:0 var(--space-2);font-size:var(--text-sm);margin:0}.metro-moved{background:var(--gold-100);margin:0 calc(-1 * var(--space-2));padding-left:var(--space-2);padding-right:var(--space-2);border-radius:var(--radius-sm)}.home{gap:var(--space-4);padding:calc(var(--space-4) + var(--sat)) var(--space-4) var(--space-4);flex-direction:column;flex:none;width:100%;max-width:480px;margin:0 auto;display:flex}.app-header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.brand{align-items:center;gap:var(--space-3);min-width:0;display:flex}.brand-mark{width:auto;height:46px;display:block}.brand-wordmark{width:auto;height:26px;display:block}.icon-btn{width:48px;height:48px;min-width:var(--tap-min);min-height:var(--tap-min);border-radius:var(--radius-pill);color:var(--text-primary);cursor:pointer;background:0 0;border:none;flex:none;place-items:center;padding:0;display:grid}.icon-btn .nav-icon{width:24px;height:24px;display:block}.card2{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-card)}.hero-card{border-left:3px solid var(--brand-primary)}.eyebrow{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.eyebrow-brand{font-family:var(--font-body);font-size:var(--text-sm);color:var(--brand-primary);align-items:center;gap:6px;font-weight:600;display:flex}.hero-title{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-xl);line-height:var(--lh-tight);color:var(--text-primary);margin:4px 0 0}.hero-meta{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-secondary);margin:4px 0 0}.hero-blurb{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary);margin:var(--space-2) 0 0;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.hero-actions{margin-top:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.btn2{justify-content:center;align-items:center;gap:var(--space-2);height:var(--tap-min);padding:0 var(--space-4);border-radius:var(--radius-pill);font-family:var(--font-body);font-weight:var(--weight-bold);font-size:var(--text-sm);cursor:pointer;transition:transform var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);flex:none;display:inline-flex}.btn2:active{transform:scale(.97)}.btn2-primary{background:var(--brand-primary);color:var(--text-on-brand);border:none}.btn2-secondary{background:var(--white);color:var(--text-primary);border:1px solid var(--border-strong)}.btn2-ghost{color:var(--brand-primary);background:0 0;border:none}.btn2-block{width:100%}.btn2:disabled{background:var(--white);color:var(--ink-300);border:1px solid var(--border-strong);cursor:default;transform:none}.rsvp-row{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.rsvp-row .btn2{min-width:0;padding:0 var(--space-2);line-height:1.05}.pill{border-radius:var(--radius-pill);width:auto;font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps);flex:none;align-items:center;gap:6px;padding:6px 12px;line-height:1;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px}.pill-paid{background:var(--status-paid-bg);color:var(--status-paid-fg)}.pill-paid:before{background:var(--status-paid-dot)}.pill-unpaid{background:var(--status-overdue-bg);color:var(--status-overdue-fg)}.pill-unpaid:before{background:var(--status-overdue-dot)}.pill-neutral{background:var(--ink-100);color:var(--text-primary)}.pill-neutral:before{background:var(--ink-500)}.pill-due{background:var(--status-due-bg);color:var(--status-due-fg)}.pill-due:before{background:var(--status-due-dot)}.tile-row{gap:var(--space-2);grid-template-columns:1fr 1fr;align-items:stretch;display:grid}.tile{text-align:left;min-width:0;font:inherit;color:inherit;cursor:pointer;display:block}.tile-inner{box-sizing:border-box;flex-direction:column;min-height:68px;display:flex}.tile-head{align-items:center;gap:var(--space-2);display:flex}.tile-foot{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-top:10px;display:flex}.tile-updates .tile-inner{justify-content:center;align-items:flex-start;gap:6px}.tile-num{font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);color:var(--text-primary)}.tile-num.is-complete{color:var(--status-paid-fg)}.tile-sub{font-family:var(--font-body);font-weight:400;font-size:var(--text-sm);color:var(--text-secondary)}.upcoming-title{margin:4px 0 0}.upcoming-meta{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary);margin:4px 0 0}.upcoming-card .rsvp-row{margin-top:var(--space-3)}.upcoming-social{border-top:1px solid var(--border-default);margin-top:var(--space-3);padding-top:var(--space-2)}.list-item{align-items:center;gap:var(--space-3);min-height:var(--tap-min);display:flex}.li-body{flex:1;min-width:0}.li-title{font-family:var(--font-body);font-weight:var(--weight-medium);font-size:var(--text-base);color:var(--text-primary);margin:0}.li-sub{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary);margin:0}.up-empty{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary);margin:var(--space-2) 0 0}.home[data-fit-step="1"] .hero-blurb{-webkit-line-clamp:1}.home[data-fit-step="2"] .hero-blurb,.home[data-fit-step="3"] .upcoming-social .li-sub{display:none}.sheet-backdrop{z-index:1000;background:#10111280;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--white);padding:var(--space-6) var(--space-5) calc(var(--space-6) + var(--sab));width:100%;max-width:480px;box-shadow:var(--shadow-overlay);border-radius:20px 20px 0 0;max-height:85vh;overflow-y:auto}.sheet-grab{background:var(--ink-150);width:36px;height:4px;margin:0 auto var(--space-4);border-radius:2px}.sheet-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--text-primary);margin:0 0 var(--space-3)}.sheet-body{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-secondary);margin-bottom:var(--space-5)}.sheet-actions{flex-direction:column;gap:10px;display:flex}.sheet-actions .btn2{width:100%;height:var(--tap-min);font-size:var(--text-base)}.sheet-field{margin-bottom:var(--space-3);text-align:left}.sheet-field label{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:4px;display:block}.sheet-note{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-3)}.sheet.is-scroll-body{flex-direction:column;display:flex;overflow:hidden}.sheet.is-scroll-body>.sheet-grab,.sheet.is-scroll-body>.sheet-title,.sheet.is-scroll-body>.sheet-actions{flex:none}.sheet.is-scroll-body>.sheet-body{min-height:0;margin-left:calc(-1 * var(--space-5));margin-right:calc(-1 * var(--space-5));padding:0 var(--space-5);flex:auto;overflow-y:auto}.toast{left:var(--space-4);right:var(--space-4);bottom:calc(84px + var(--sab));z-index:1100;background:var(--surface-inverse);max-width:448px;color:var(--text-inverse);font-family:var(--font-body);font-size:var(--text-sm);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay);margin:0 auto;line-height:1.4;position:fixed}.toast-success{border-left:4px solid var(--status-paid-dot)}.toast-top{top:calc(var(--space-4) + var(--sat));bottom:auto}.page-head{z-index:4;align-items:center;gap:var(--space-2);width:100%;max-width:480px;padding:calc(var(--space-3) + var(--sat)) var(--space-4) var(--space-2);background:var(--surface-app);margin:0 auto;display:flex;position:sticky;top:0}.page-head .icon-btn{flex:none}.page-back{margin-left:calc(-1 * var(--space-2))}.page-titles{flex:1;min-width:0}.page-brand{margin:0 0 var(--space-1);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--brand-primary);font-weight:700}.page-title{min-width:0;font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-xl);line-height:var(--lh-tight);color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.page-head+.main{padding-top:var(--space-2)}.page-head{flex-wrap:wrap}.page-head-below{flex:1 0 100%}.sch-tabs{align-items:flex-end;gap:var(--space-5);border-bottom:1px solid var(--border-default);display:flex}.sch-tab{min-height:var(--tap-min);min-width:64px;padding:0 var(--space-1);font-family:var(--font-body);font-size:var(--text-md);color:var(--text-secondary);background:0 0;border:none;border-bottom:3px solid #0000;border-radius:0;flex:none;font-weight:600}.sch-tab.is-on{color:var(--text-primary);border-bottom-color:var(--brand-primary)}.sch-tab-actions{gap:var(--space-2);align-self:center;margin-left:auto;display:flex}.sch-action{min-height:var(--tap-min);padding:0 var(--space-2);font-family:var(--font-body);font-size:var(--text-sm);color:var(--link);background:0 0;border:none;flex:none;font-weight:700}.sch-main{padding-top:var(--space-3)}.sch-list{padding:var(--space-1) var(--space-4) var(--space-2)}.sch-month{margin:var(--space-3) 0 0;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-weight:700}.sch-row{min-height:60px;padding:var(--space-2) 0;border-top:1px solid var(--border-default);cursor:pointer;flex-direction:column;justify-content:center;display:flex}.sch-month+.sch-row{border-top:none}.sch-row:focus-visible{outline:2px solid var(--brand-sky);outline-offset:2px;border-radius:var(--radius-sm)}.sch-row-main{align-items:center;gap:var(--space-2);display:flex}.sch-row-title{min-width:0;font-size:var(--text-base);color:var(--text-primary);flex:1;font-weight:600}.sch-row-sub{font-size:var(--text-sm);color:var(--text-secondary)}.time-tbc{color:var(--status-due-fg);font-weight:var(--weight-bold)}.sch-type{padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);background:var(--ink-100);color:var(--text-secondary);flex:none;font-weight:700}.sch-type-game{background:var(--blue-100);color:var(--text-primary)}.sch-type-social{background:var(--gold-100);color:var(--text-primary)}.sch-row .vol-status{margin-top:var(--space-2)}#sch-new-event-sheet .sheet-body{text-align:left}.dues-main{gap:var(--space-3);flex-direction:column;display:flex}.dues-summary .eyebrow{margin-bottom:var(--space-1)}.dues-summary-num{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-xl);line-height:var(--lh-tight);margin:0}.dues-summary-sub{margin:var(--space-1) 0 var(--space-3);color:var(--text-secondary);font-size:var(--text-base)}.dues-summary-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.dues-summary-actions .btn2{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.num{font-family:var(--font-mono)}.dues-list{padding:var(--space-2) var(--space-4)}.dues-section{margin:var(--space-3) 0 var(--space-1);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-weight:700}.dues-section-note{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--text-secondary)}.dues-row{align-items:center;gap:var(--space-3);width:100%;min-height:60px;padding:var(--space-2) 0;border:none;border-top:1px solid var(--border-default);text-align:left;font:inherit;color:var(--text-primary);cursor:pointer;background:0 0;border-radius:0;display:flex}.dues-section+.dues-row,.dues-section-note+.dues-row{border-top:none}.dues-dot{border-radius:50%;flex:none;width:12px;height:12px}.dues-dot-paid{background:var(--status-paid-dot)}.dues-dot-due{background:var(--status-due-dot)}.dues-dot-unpaid{background:var(--status-overdue-dot)}.dues-dot-neutral{background:var(--ink-300)}.dues-row-body{flex-direction:column;flex:1;min-width:0;display:flex}.dues-row-name{font-weight:600;font-size:var(--text-base)}.dues-row-sub{font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dues-row .pill{flex:none}.dues-sheet-meta{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--text-secondary)}.dues-sheet-status{margin:0 0 var(--space-3);font-size:var(--text-sm)}[data-dues-sheet] .btn-link{margin-bottom:var(--space-3);color:var(--text-on-brand)}[data-dues-sheet] form{margin-top:var(--space-2);text-align:left}.trips-main{gap:var(--space-3);padding-top:var(--space-3);flex-direction:column;display:flex}.trip-eyebrow{margin-bottom:var(--space-1)}.trip-card-head{align-items:flex-start;gap:var(--space-3);display:flex}.trip-card-title{min-width:0;font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-lg);line-height:var(--lh-tight);flex:1;margin:0}.trip-card-head .pill{flex:none}.trip-card-meta{margin:var(--space-2) 0 var(--space-1);color:var(--text-secondary);font-size:var(--text-base)}.trip-card-counts{margin:0 0 var(--space-3);color:var(--text-secondary);font-size:var(--text-sm)}.trip-card .btn2{min-width:140px}.join-shell{box-sizing:border-box;background:var(--surface-app);min-height:100dvh;padding:var(--space-6) var(--space-5) var(--space-5);gap:var(--space-5);flex-direction:column;display:flex}.join-head{flex-direction:column;gap:6px;display:flex}.join-eyebrow{align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-700);margin:0;display:flex}.join-eyebrow img{object-fit:contain;width:28px;height:28px}.join-title{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-2xl);text-wrap:balance;margin:0;line-height:1.15}.join-steps{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.join-step{flex-direction:column;gap:6px;display:flex}.join-step-bar{border-radius:var(--radius-pill);background:var(--ink-150);height:4px}.join-step.is-done .join-step-bar{background:var(--ink-900)}.join-step-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--ink-700)}.join-step.is-current .join-step-label{font-weight:var(--weight-bold);color:var(--ink-900)}.join-error{background:var(--status-overdue-bg);color:var(--ink-900);border-radius:var(--radius-md);padding:var(--space-3) 14px;font-size:var(--text-sm);line-height:var(--lh-normal);align-items:flex-start;gap:10px;margin:0;display:flex}.join-dot{background:var(--status-overdue-dot);border-radius:50%;flex-shrink:0;width:8px;height:8px}.join-error .join-dot{margin-top:6px}.join-card{padding:var(--space-5);gap:var(--space-4);flex-direction:column;display:flex}.join-form{gap:var(--space-4);flex-direction:column;margin:0;display:flex}.join-intro{font-size:var(--text-base);color:var(--ink-700);text-wrap:pretty;margin:0;line-height:1.45}.join-intro strong,.join-signed-in strong{font-weight:var(--weight-bold);color:var(--ink-900)}.join-field{flex-direction:column;gap:6px;display:flex}.join-field label{font-size:var(--text-sm);font-weight:var(--weight-bold)}.join-field input{height:52px;font-size:var(--text-md);border-radius:var(--radius-md);border:1px solid var(--border-strong);margin:0}.join-field input.join-code{height:60px;font-family:var(--font-mono);font-size:var(--text-xl);letter-spacing:.35em;text-align:center}.join-field input.join-code.is-error,.join-field input.join-code.is-error:focus-visible{border-color:var(--terracotta-600)}.join-signed-in{padding-top:var(--space-3);border-top:1px solid var(--border-default);font-size:var(--text-sm);line-height:var(--lh-normal);color:var(--ink-700);margin:0}.join-pill{align-self:flex-start;align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);padding:6px var(--space-3);font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--ink-900);display:inline-flex}.join-pill-due{background:var(--status-due-bg)}.join-pill-due .join-dot{background:var(--status-due-dot)}.join-pill-overdue{background:var(--status-overdue-bg)}.join-asked{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-700);margin:0}.join-still{background:var(--status-due-bg);border-radius:var(--radius-md);padding:var(--space-3) 14px;font-size:var(--text-sm);line-height:var(--lh-normal);margin:0}.join-after{gap:var(--space-2);flex-direction:column;display:flex}.join-note{font-size:var(--text-sm);color:var(--ink-700);text-wrap:pretty;margin:0;line-height:1.45}.join-after .join-note{margin-bottom:var(--space-1)}.join-help{margin-bottom:var(--space-1);flex-direction:column;gap:2px;display:flex}.join-help-title{font-size:var(--text-base);font-weight:var(--weight-bold)}.join-help-body{font-size:var(--text-sm);color:var(--ink-700);text-wrap:pretty;line-height:1.45}.join-resend{font-family:var(--font-mono)}.join-linking{gap:var(--space-4);flex-direction:column;display:flex}.join-progress{border-radius:var(--radius-pill);background:var(--ink-150);height:6px;display:block;overflow:hidden}.join-progress span{border-radius:var(--radius-pill);background:var(--ink-900);width:55%;height:100%;display:block}.join-contact{white-space:normal;height:auto;min-height:var(--tap-min);text-align:center}.load-error{gap:var(--space-2);margin-top:var(--space-6);flex-direction:column;display:flex}.load-error-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--weight-bold);color:var(--text-primary);margin:0}.load-error-body{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-secondary);margin:0 0 var(--space-2)}.load-error .btn2{min-height:var(--tap-min);flex:none}.vol{font-family:var(--font-body);color:var(--text-primary);background:var(--surface-app);min-height:100%}.vol button{flex:none}.vol-head{z-index:5;background:var(--surface-app);border-bottom:1px solid var(--border-default);padding:calc(var(--space-2) + var(--sat)) var(--space-4) var(--space-2);position:sticky;top:0}.vol-bar{align-items:center;gap:var(--space-2);display:flex}.vol-bar,.vol-stats,.vol-head>.vol-progress,.vol-chips{max-width:448px;margin-left:auto;margin-right:auto}.vol-title{min-width:0;font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--weight-bold);white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;overflow:hidden}.vol-loading-note{font-family:var(--font-body);color:var(--text-secondary);font-weight:400;font-size:var(--text-sm)}.vol-stats{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-1);min-height:32px;display:flex}.vol-admin-links{align-items:center;gap:6px;display:flex}.vol-link{min-height:var(--tap-min);font:inherit;color:var(--brand-primary);cursor:pointer;background:0 0;border:none;padding:0 2px;font-weight:600}.vol-progress{background:var(--ink-150);height:4px;margin:var(--space-1) 0;border-radius:2px;overflow:hidden}.vol-progress span{background:var(--status-paid-dot);height:100%;display:block}.vol-chips{gap:var(--space-2);margin-top:var(--space-2);display:flex}.vol-chip{padding:0 var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--white);height:32px;font:inherit;font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;font-weight:600}.vol-chip.is-on{background:var(--ink-900);border-color:var(--ink-900);color:var(--white)}.vol-chip{min-width:var(--tap-min);height:auto;min-height:var(--tap-min)}.vol-body{padding:var(--space-3) var(--space-4) var(--space-6);width:100%;max-width:480px;margin:0 auto}.vol-rail{display:none}.vol-group{margin-bottom:var(--space-3)}.vol-group-head{justify-content:space-between;align-items:center;height:32px;display:flex}.vol-group-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-weight:700}.vol-info{width:var(--tap-min);height:var(--tap-min);margin:-6px calc(-1 * var(--space-3)) -6px 0;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.vol-info .nav-icon{width:18px;height:18px}.vol-row{border-radius:var(--radius-sm);flex-direction:column;justify-content:center;min-height:44px;padding:4px 6px;display:flex}.vol-row+.vol-row{margin-top:2px}.vol-row-captioned{min-height:52px}.vol-row-main{align-items:center;gap:6px;min-width:0;display:flex}.vol-time{font-family:var(--font-mono);font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;flex:0 0 100px;overflow:hidden}.vol-role{border-radius:var(--radius-pill);background:var(--ink-100);min-width:0;max-width:110px;font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;padding:2px 8px;overflow:hidden}.vol-role-spacer{flex:0 1 0}.vol-avatars{flex:1 0 auto;align-items:center;gap:4px;display:flex}.vol-avatar{background:var(--ink-700);width:24px;height:24px;color:var(--white);font-size:var(--text-xs);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex;position:relative}.vol-open-dot{border:1.5px dashed var(--gold-600);box-sizing:border-box;border-radius:50%;flex:none;width:24px;height:24px}.vol-src{box-sizing:border-box;vertical-align:middle;border-radius:50%;width:9px;height:9px;display:inline-block}.vol-avatar .vol-src{border:1.5px solid var(--white);position:absolute;bottom:-2px;right:-2px}.vol-src-admin{background:var(--brand-primary)}.vol-src-auto{background:var(--white);border:1.5px solid var(--brand-primary)!important}.vol-actions{flex:none;gap:0;margin-left:auto;display:flex}.vol-act{min-height:var(--tap-min);min-width:var(--tap-min);font:inherit;font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;background:0 0;border:none;padding:0 4px;font-weight:600}.vol-act-claim{color:var(--brand-primary)}.vol-act:disabled{color:var(--ink-300);cursor:default}.vol-full{font-size:var(--text-sm);color:var(--text-secondary);padding:0 var(--space-2)}.vol-caption{font-size:var(--text-xs);color:var(--text-secondary);padding-left:106px}.vol-row-mine{background:var(--blue-100);box-shadow:inset 3px 0 0 var(--blue-200)}.vol-row-full{background:var(--surface-sunken)}.vol-row-gap:not(.vol-row-mine){background:var(--gold-100);box-shadow:inset 3px 0 0 var(--gold-600)}.vol-legend{font-size:var(--text-xs);color:var(--text-secondary);margin:var(--space-2) 0 0;align-items:center;gap:6px;display:flex}.vol-legend .vol-src-auto{margin-left:var(--space-2)}.vol-empty{text-align:left}.vol-empty-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-md);margin:0 0 var(--space-2)}.vol-empty-body{color:var(--text-secondary);font-size:var(--text-sm);margin:0 0 var(--space-4)}.vol-empty .btn2+.btn2{margin-top:var(--space-2)}.vol-filter-empty{color:var(--text-secondary);font-size:var(--text-sm);text-align:center;padding:var(--space-6) 0}.vol-banner-done{background:var(--status-paid-bg);color:var(--status-paid-fg);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3);font-size:var(--text-sm);flex-direction:column;gap:2px;display:flex}.vol-gaps-prompt{margin-top:var(--space-4);border:1.5px dashed var(--gold-600);background:var(--gold-100);border-radius:var(--radius-md);padding:var(--space-4);font-size:var(--text-sm)}.vol-gaps-prompt p{margin:0 0 var(--space-3)}.skel{background:var(--ink-100);border-radius:var(--radius-lg)}.skel-hero{height:220px}.skel-tile{flex:1;height:102px}.skel-upcoming{height:260px}.home-skeleton .tile-row{gap:var(--space-3);display:flex}.screen-skeleton{gap:var(--space-3);flex-direction:column;display:flex}.skel-card{height:160px}.skel-list{height:320px}.vol-skel{background:var(--ink-150);border-radius:var(--radius-sm);margin-bottom:var(--space-2)}.vol-skel-label{width:30%;height:12px;margin-top:var(--space-3)}.vol-skel-row{height:44px}.vol-info-windows{margin:0 0 var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-primary);padding:0;list-style:none}.vol-info-desc{margin:0}.vol-preview,.vol-rail-gaps{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--text-primary);padding:0;list-style:none}.vol-preview li,.vol-rail-gaps li{justify-content:space-between;gap:var(--space-2);border-bottom:1px solid var(--border-default);padding:6px 0;display:flex}#vol-assign-search{box-sizing:border-box;width:100%;min-width:0;margin-top:var(--space-2);min-height:var(--tap-min);padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--white);font-family:var(--font-body);font-size:var(--text-md);color:var(--text-primary);display:block}.vol-pick-list{max-height:45vh;margin:var(--space-2) 0;overflow-y:auto}.vol-pick{width:100%;min-height:var(--tap-min);padding:var(--space-2) 0;border:none;border-bottom:1px solid var(--border-default);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:0;flex-direction:column;align-items:flex-start;display:flex}.vol-pick-name{color:var(--text-primary);font-weight:600}.vol-pick-load{color:var(--text-secondary);font-size:var(--text-xs);font-weight:400}.vol-share-preview{background:var(--surface-sunken);border-radius:var(--radius-md);padding:var(--space-3);color:var(--text-primary);font-size:var(--text-sm)}.vol-share-link{color:var(--link);word-break:break-all}.sheet-actions a.btn2{box-sizing:border-box;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.vol-status{width:100%;margin-top:var(--space-2);padding:var(--space-2) var(--space-3);min-height:var(--tap-min);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-sm);text-align:left;color:var(--text-primary);background:var(--ink-100);cursor:pointer;border:1px solid #0000;font-weight:600;display:block}.vol-status-mine{background:var(--blue-100);border-color:var(--blue-200)}.vol-status-open{background:var(--gold-100);border:1.5px dashed var(--gold-600);color:var(--gold-600)}.vol-status-admin{background:var(--white);border-color:var(--border-default)}.vol-status-bar{background:var(--ink-150);border-radius:2px;height:4px;margin-top:4px;display:block;overflow:hidden}.vol-status-bar span{background:var(--status-paid-dot);height:100%;display:block}.vt-list{padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3)}.vt-row{align-items:center;gap:var(--space-1);border-bottom:1px solid var(--border-default);display:flex}.vt-row-main{min-width:0;padding:var(--space-2) 0;flex-direction:column;flex:1;display:flex}.vt-row-name{font-weight:600}.vt-row-meta{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.vt-panel{padding:var(--space-3) 0;border-bottom:1px solid var(--border-default)}.vt-field{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-3);display:block}.vt-field input,.vt-field textarea{box-sizing:border-box;width:100%;min-width:0;min-height:var(--tap-min);padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--white);font-family:var(--font-body);font-size:var(--text-md);color:var(--text-primary);margin-top:4px;display:block}.vt-field textarea{padding:var(--space-2) var(--space-3)}.vt-field input[type=datetime-local]{font-size:var(--text-md);padding:0 var(--space-2)}.vt-field input#vt-role{padding-right:56px}.vt-counter-wrap{display:block;position:relative}.vt-counter{right:var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary);pointer-events:none;position:absolute;top:50%;transform:translateY(-40%)}.vt-two{gap:var(--space-2);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.vt-stepper{align-items:center;gap:var(--space-2);margin-top:4px;display:flex}.vt-stepper input{text-align:center;width:64px;margin:0;padding:0}.vt-step{width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--white);font-size:var(--text-md);padding:0}.vt-hint{font-size:var(--text-xs);color:var(--text-secondary)}.vt-person{color:var(--text-primary);justify-content:space-between;align-items:center;display:flex}.vt-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.vt-actions .btn2{flex:auto}#vt-editor .vol-body>.btn2+.btn2,#vt-editor .card2+.btn2{margin-top:var(--space-2)}.seg-tabs{background:var(--ink-100);border-radius:var(--radius-pill);margin-bottom:var(--space-4);padding:3px;display:flex}.seg-tab{min-height:var(--tap-min);border-radius:var(--radius-pill);font-size:var(--text-sm);color:var(--text-secondary);background:0 0;border:none;flex:1;padding:0;font-weight:600}.seg-tab.is-on{background:var(--white);color:var(--text-primary);box-shadow:var(--shadow-card)}.award-sub{color:var(--text-secondary);font-size:var(--text-sm);margin:0 0 var(--space-3)}.award-leaders{background:var(--gold-100);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-2)}.award-leaders .eyebrow{color:var(--gold-600);margin-bottom:var(--space-1)}.award-row{align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-sm);display:flex}.award-row.is-me{background:var(--blue-100)}.award-rank{font-family:var(--font-mono);color:var(--text-secondary);flex:0 0 20px}.award-name{flex:1;min-width:0}.award-you{font-size:var(--text-xs);color:var(--text-secondary)}.award-count{font-weight:700}.award-foot{font-size:var(--text-xs);color:var(--text-secondary);margin:var(--space-3) 0 0}.menu-new{margin-left:var(--space-2);border-radius:var(--radius-pill);background:var(--brand-primary);color:var(--text-on-brand);font-size:var(--text-xs);vertical-align:middle;padding:1px 8px;font-weight:700;display:inline-block}@media (width>=1024px){.vol-admin .vol-bar,.vol-admin .vol-stats,.vol-admin .vol-head>.vol-progress,.vol-admin .vol-chips{max-width:1056px}.vol-layout{max-width:1120px;margin:0 auto}.vol-admin .vol-layout{gap:var(--space-6);padding:var(--space-6) var(--space-8);grid-template-columns:minmax(0,1fr) 340px;align-items:start;display:grid}.vol-admin .vol-body{max-width:none;padding:0}.vol-admin .vol-list{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-4)}.vol-admin .vol-rail{top:var(--space-6);display:block;position:sticky}.vol-rail .btn2{margin-top:var(--space-3)}.vol-rail-num{font-family:var(--font-display);font-size:var(--text-xl);margin:var(--space-2) 0;font-weight:700}.vol-rail-num span{font-size:var(--text-sm);color:var(--text-secondary);font-weight:400}.vol-rail-note{color:var(--text-secondary);font-size:var(--text-sm)}.vol-time{flex-basis:140px}.vol-caption{padding-left:146px}.sheet-backdrop{align-items:center}.sheet{border-radius:var(--radius-lg);max-width:440px;padding-bottom:var(--space-6)}.sheet-grab{display:none}.toast{left:auto;right:var(--space-8);bottom:var(--space-6);width:400px}}.join-queue-banner{text-align:left;cursor:pointer;width:100%}.join-admin .mono{font-family:var(--font-mono)}.join-queue{gap:var(--space-3);flex-direction:column;display:flex}.join-request{padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.join-request-name{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-lg);margin:0}.join-request-meta{font-size:var(--text-sm);color:var(--ink-700);word-break:break-all;margin:2px 0 0}.join-request-note{font-size:var(--text-sm);color:var(--ink-700);text-wrap:pretty;margin:0;line-height:1.45}.join-request-row{gap:var(--space-2);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.join-request-row .btn2{min-width:0;padding:0 var(--space-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.join-empty{padding:var(--space-5);flex-direction:column;gap:6px;display:flex}.join-empty-title{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-lg);margin:0}.join-link-card{padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.join-pill-on{background:var(--status-paid-bg)}.join-pill-on .join-dot{background:var(--status-paid-dot)}.join-pill-off{background:var(--surface-sunken)}.join-pill-off .join-dot{background:var(--ink-300)}.join-link-url{font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--lh-normal);background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:10px var(--space-3);word-break:break-all;margin:0}.join-link-actions{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.join-link-actions .btn2{min-width:0;padding:0 var(--space-2)}.join-link-manage{gap:var(--space-2);border-top:1px solid var(--border-default);padding-top:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.join-contact-card{margin-top:var(--space-3);padding:var(--space-4);align-items:center;gap:var(--space-3);display:flex}.join-contact-main{flex:1;min-width:0}.join-contact-title{font-size:var(--text-sm);font-weight:var(--weight-bold);margin:0}.join-contact-who{font-size:var(--text-sm);color:var(--ink-700);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;overflow:hidden}.join-contact-card .btn2{flex:none}.join-link-text{font-family:var(--font-mono);font-size:var(--text-xs);word-break:break-all;color:var(--text-secondary)}.join-qr{background:#fff;border-radius:12px;max-width:280px;margin:0 auto;padding:12px}.join-qr svg{width:100%;height:auto;display:block}.join-players{margin-top:var(--space-3);padding:0;overflow:hidden}.join-player{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);box-sizing:border-box;border-top:1px solid var(--border-default);min-height:60px;display:flex}.join-player:first-child{border-top:0}.join-player-text{min-width:0}.join-player-name{font-weight:var(--weight-bold);font-size:var(--text-base);margin:0}.join-player-status{font-size:var(--text-xs);color:var(--ink-700);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.join-row-action{min-height:var(--tap-min);min-width:var(--tap-min);padding:0 var(--space-1);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--brand-primary);white-space:nowrap;cursor:pointer;background:0 0;border:none;flex:none}.join-pick-list{flex-direction:column;max-height:50vh;display:flex;overflow-y:auto}.join-pick{min-height:var(--tap-min);padding:0 var(--space-1);border:none;border-bottom:1px solid var(--border-default);font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;display:flex}.join-pick-tag{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--ink-700)}.trip-screen>.page-head{position:relative}.page-back.has-text{width:auto;padding:0 var(--space-3) 0 var(--space-1);gap:var(--space-1);align-items:center;display:inline-flex}.page-back-text{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-medium)}.trip-main{padding-top:0;padding-bottom:0}.mono{font-family:var(--font-mono)}.trip-title-block{padding-bottom:var(--space-2);flex-direction:column;gap:2px;display:flex}.trip-eyebrow-row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.trip-eyebrow-row .eyebrow{margin:0}.trip-edit-btn{border-radius:var(--radius-md);min-height:var(--tap-min);margin:-14px calc(-1 * var(--space-2)) -14px auto;padding:0 var(--space-2);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--link);cursor:pointer;background:0 0;border:none;flex:none}.trip-meta,.trip-need-sub,.trip-row.is-one-line .trip-row-sub{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.trip-name{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-xl);line-height:var(--lh-tight);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}#trip-screen[data-fit-step="1"] .trip-notes,#trip-screen[data-fit-step="2"] .trip-notes{display:none}#trip-screen[data-fit-step="1"] .trip-top,#trip-screen[data-fit-step="2"] .trip-top{gap:var(--space-2)}#trip-screen[data-fit-step="1"] .trip-title-block,#trip-screen[data-fit-step="2"] .trip-title-block{padding-bottom:var(--space-1)}#trip-screen[data-fit-step="2"] .trip-name{font-size:var(--text-lg)}.trip-meta{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary);margin:2px 0 0}.trip-top{gap:var(--space-3);flex-direction:column;display:flex}.trip-banner{align-items:center;gap:var(--space-2);min-height:var(--tap-min);box-sizing:border-box;border:1.5px dashed var(--gold-600);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-primary);display:flex}.trip-banner-text{flex:1;min-width:0}.trip-banner-when{font-weight:var(--weight-bold)}.trip-banner-day{font-weight:var(--weight-bold);color:var(--gold-600)}.trip-you{background:var(--blue-100);border-left:3px solid var(--blue-200);border-radius:var(--radius-lg);overflow:hidden}.trip-you-sheet{margin-top:var(--space-2)}.trip-row{align-items:center;gap:var(--space-3);min-height:56px;padding:6px var(--space-4);border-top:1px solid var(--border-default);box-sizing:border-box;display:flex}.trip-you>.trip-row:first-child{border-top:none}.trip-row-label{width:56px;font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;flex:none;font-weight:600}.trip-row-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.trip-row-main{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);font-weight:600;line-height:1.3}.trip-row-main.mono{font-family:var(--font-mono)}.trip-row-sub{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary);line-height:1.35}.trip-row .btn2{padding:0 var(--space-3)}.trip-card-title{font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);color:var(--text-primary);margin:0}.trip-card-sub{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary);margin:2px 0 0}.trip-ask-row{margin-top:var(--space-4)}.trip-no-body{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);margin:10px 0 var(--space-3)}.trip-mine-line{align-items:center;gap:var(--space-2);width:100%;min-height:var(--tap-min);padding:0 var(--space-4);background:var(--blue-100);border-radius:var(--radius-md);box-shadow:inset 3px 0 0 var(--blue-200);font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-primary);text-align:left;cursor:pointer;border:none;display:flex}.trip-mine-line-label{font-weight:var(--weight-bold)}.trip-mine-line-text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.trip-needs .eyebrow{margin:0 0 var(--space-1)}.trip-need{align-items:center;gap:var(--space-3);min-height:48px;padding:var(--space-1) var(--space-4);margin:0 calc(-1 * var(--space-4));border-top:1px solid var(--border-default);display:flex}.trip-needs .eyebrow+.trip-need{border-top:none}.trip-need.is-todo{background:var(--gold-100);box-shadow:inset 3px 0 0 var(--gold-600)}.trip-need-text{flex:1;min-width:0}.trip-need-title{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);margin:0;font-weight:600}.trip-need-sub{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary);margin:0}.trip-chev{font-size:var(--text-lg);color:var(--text-secondary);flex:none;line-height:1}.trip-more-row{width:calc(100% + 2 * var(--space-4));min-height:var(--tap-min);margin:0 calc(-1 * var(--space-4));padding:0 var(--space-4);border:none;border-top:1px solid var(--border-default);font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border-radius:0;flex:none;justify-content:space-between;align-items:center;font-weight:600;display:flex}.trip-no-deadline{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary);margin:0}.trip-empty-note{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-secondary);margin:0}.trip-counts{padding:0;overflow:hidden}.trip-count-row{align-items:center;gap:var(--space-2);width:100%;min-height:var(--tap-min);padding:0 var(--space-4);border:none;border-top:1px solid var(--border-default);font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);text-align:left;cursor:pointer;box-sizing:border-box;background:0 0;border-radius:0;flex:none;display:flex}.trip-count-row:first-child{border-top:none}.trip-count-n{font-weight:var(--weight-bold)}.trip-count-text{min-width:0;font-weight:var(--weight-medium);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.trip-count-meta{font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap}.sheet .trip-person,.sheet .trip-spot,.sheet .trip-need{margin:0 calc(-1 * var(--space-5));padding-left:var(--space-5);padding-right:var(--space-5)}.sheet .trip-people,.sheet .trip-spots,.sheet .trip-needs-all{color:var(--text-primary)}.sheet .trip-cost{padding-top:0}.trip-person{align-items:center;gap:var(--space-2);min-height:44px;margin:0 calc(-1 * var(--space-4));padding:0 var(--space-4);border-top:1px solid var(--border-default);display:flex}.trip-person.is-me{background:var(--blue-100);box-shadow:inset 3px 0 0 var(--blue-200)}.trip-person-name{min-width:0;font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--text-primary);flex:1}.trip-person.is-me .trip-person-name{font-weight:var(--weight-bold)}.trip-person-mode{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary)}.you-chip{font-size:var(--text-xs);font-weight:var(--weight-bold);background:var(--blue-200);border-radius:var(--radius-pill);padding:2px var(--space-2);margin-left:var(--space-2)}.trip-empty{padding:var(--space-6) 0;text-align:center;font-family:var(--font-body);font-size:var(--text-base);color:var(--text-secondary);margin:0}.trip-spot{align-items:center;gap:var(--space-3);min-height:64px;margin:0 calc(-1 * var(--space-4));padding:10px var(--space-4);border-top:1px solid var(--border-default);display:flex}.trip-spot.is-mine{background:var(--blue-100);box-shadow:inset 3px 0 0 var(--blue-200)}.trip-spot.is-full{background:var(--surface-sunken)}.trip-spot.is-open{background:var(--gold-100);box-shadow:inset 3px 0 0 var(--gold-600)}.trip-spot-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.trip-spot-head{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.trip-spot-title{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);font-weight:600}.trip-spot-meta{font-size:var(--text-sm);color:var(--text-secondary)}.trip-spot-sub{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary)}.trip-badge{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--text-secondary)}.trip-dots{gap:var(--space-1);margin-top:var(--space-1);display:flex}.trip-dots .dot{box-sizing:border-box;border-radius:50%;width:22px;height:22px;display:inline-block}.trip-dots .dot.is-taken{background:var(--ink-300)}.trip-dots .dot.is-mine{background:var(--blue-200)}.trip-dots .dot.is-open{border:1.5px dashed var(--gold-600)}.trip-cost{gap:var(--space-3);padding-top:var(--space-4);flex-direction:column;display:flex}.trip-cost-card{gap:var(--space-2);flex-direction:column;display:flex}.trip-cost-line{justify-content:space-between;gap:var(--space-2);font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);display:flex}.trip-cost-line.is-total{font-weight:var(--weight-bold)}.trip-cost-card .trip-cost-line.is-total{border-top:1px solid var(--border-default);padding-top:var(--space-2)}.trip-cost-line.is-minor{font-size:var(--text-sm);color:var(--text-secondary)}.trip-cost-text{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);margin:0}.trip-cost-note{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary);margin:0}.trip-cost-head{justify-content:space-between;align-items:baseline;display:flex}.trip-cost-title{font-family:var(--font-body);font-size:var(--text-base);font-weight:600}.trip-cost-count{font-size:var(--text-sm);color:var(--text-secondary)}.trip-share{align-items:center;gap:var(--space-2);border-top:1px solid var(--border-default);min-height:52px;display:flex}.trip-share-who{flex-direction:column;flex:1;min-width:0;display:flex}.trip-share-name{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-medium)}.trip-share-note{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-secondary)}input.trip-share-amount{text-align:right;width:96px;font-family:var(--font-mono);flex:none;margin:0}.trip-share.is-adjusted input.trip-share-amount{border-color:var(--gold-600);background:var(--gold-100)}.trip-share-big{align-items:center;gap:var(--space-3);margin-top:var(--space-1);font-size:var(--text-xl);font-weight:var(--weight-bold);display:flex}.trip-loading{text-align:center;font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary);margin:var(--space-4) 0 0}#trip-skeleton .trip-title-block{gap:var(--space-2)}.skel-line{border-radius:var(--radius-sm);height:12px;display:block}.skel-line-lg{height:26px}.skel-banner{border-radius:var(--radius-md);height:44px}.skel-you,.skel-counts{height:220px;margin-top:var(--space-3)}.trip-nf{margin-top:var(--space-2)}.trip-nf .btn2{margin-top:var(--space-4)}.seg{background:var(--ink-100);border-radius:var(--radius-pill);margin-bottom:var(--space-3);gap:2px;padding:3px;display:flex}.seg-opt{min-height:var(--tap-min);border-radius:var(--radius-pill);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--text-primary);cursor:pointer;background:0 0;border:none;flex:1}.seg-opt[aria-pressed=true]{background:var(--white);box-shadow:var(--shadow-card);font-weight:var(--weight-bold)}.trip-warn{background:var(--gold-100);border-radius:var(--radius-md);padding:10px var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-primary);margin-bottom:var(--space-3)}.trip-field-head{margin:var(--space-2) 0 var(--space-2)}.chip-grid{gap:var(--space-2);margin-bottom:var(--space-3);grid-template-columns:1fr 1fr;display:grid}label.chip-opt{min-height:var(--tap-min);padding:0 var(--space-3);border:1.5px solid var(--border-strong);border-radius:var(--radius-md);background:var(--white);font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);cursor:pointer;text-align:center;justify-content:center;align-items:center;margin:0;font-weight:600;display:flex}label.chip-opt input{opacity:0;pointer-events:none;position:absolute}label.chip-opt:has(input:checked){background:var(--ink-900);border-color:var(--ink-900);color:var(--white)}.field-grid{gap:0 var(--space-2);grid-template-columns:1fr 1fr;display:grid}.field-grid .field-label,.sheet .field-label{color:var(--text-primary);margin:0;font-weight:600}.sheet .field-label input,.sheet .field-label select{margin-top:var(--space-1)}label.check-row{align-items:center;gap:var(--space-3);min-height:var(--tap-min);font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);cursor:pointer;flex:1;min-width:0;margin:0;display:flex;position:relative}.assign-list{flex-direction:column;display:flex}.assign-row{align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-3);margin:0 calc(-1 * var(--space-3));border:none;border-top:1px solid var(--border-default);font-family:var(--font-body);color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;display:flex}.assign-row.is-on{background:var(--blue-100);box-shadow:inset 3px 0 0 var(--blue-200)}.assign-row:disabled{color:var(--ink-300);cursor:default}.assign-name{min-width:0;font-size:var(--text-base);font-weight:var(--weight-medium);flex:1}.assign-row.is-on .assign-name{font-weight:var(--weight-bold)}.assign-flag{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--gold-600);margin-left:var(--space-2)}.assign-where{font-size:var(--text-sm);color:var(--text-secondary)}.place-row{gap:var(--space-2);padding:var(--space-2) 0;border-top:1px solid var(--border-default);flex-direction:column;display:flex}.place-name{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);font-weight:600}.chip-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip-pill{min-height:var(--tap-min);border-radius:var(--radius-pill);border:1.5px solid var(--border-strong);background:var(--white);font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);cursor:pointer;padding:0 14px;font-weight:600}.chip-pill.is-on{background:var(--ink-900);border-color:var(--ink-900);color:var(--white)}.chip-pill:disabled{color:var(--ink-300);opacity:.5;cursor:default}.lock-sum{background:var(--surface-sunken);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);gap:var(--space-1);margin-bottom:var(--space-3);flex-direction:column;display:flex}.lock-sum .trip-cost-line{font-size:var(--text-sm)}.lock-row{border-top:1px solid var(--border-default);align-items:center;display:flex}.lock-bucket{min-height:var(--tap-min);padding:0 var(--space-1);font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-weight:600}label.check-row>input[type=checkbox]{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.check-box{box-sizing:border-box;border:1.5px solid var(--border-strong);background:var(--white);border-radius:6px;flex:none;place-items:center;width:24px;height:24px;display:inline-grid}label.check-row>input:checked+.check-box{background:var(--ink-900);border-color:var(--ink-900)}label.check-row>input:checked+.check-box:after{content:"✓";color:var(--white);font-size:var(--text-base);font-weight:var(--weight-bold);line-height:1}label.check-row>input:focus-visible+.check-box{outline:2px solid var(--brand-sky);outline-offset:2px}.field-grid{grid-template-columns:minmax(0,.75fr) minmax(0,2fr)}.field-grid>.field-label{min-width:0}.assign-list,.lock-list{max-height:32vh;overflow-y:auto}.assign-row{width:calc(100% + 2 * var(--space-3));border-radius:0}.field-zone{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-regular);color:var(--text-secondary)}.trip-share>input.trip-share-amount[data-adjust-amount][inputmode]{width:96px;font-family:var(--font-mono);text-align:right;flex:none;margin:0}.trip-share.is-adjusted>input.trip-share-amount[data-adjust-amount][inputmode]{border-color:var(--gold-600);background:var(--gold-100)}
