:root{--bg0:#f0f4f8;--bg1:#fff;--bg2:#e8edf3;--bg3:#dde3ea;--navy:#1b3f6e;--navy2:#2c5f8a;--cream:#0d1b2a;--cream2:#2c3e50;--muted:#7a8fa6;--blue:#7aaad4;--red:#c0392b;--green:#1a6b5a;--radius:10px;--radius-sm:6px;--tab-h:60px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background:var(--bg0);color:var(--cream);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:15px;overflow-x:hidden}#root{flex-direction:column;max-width:430px;min-height:100vh;margin:0 auto;display:flex}input,select,textarea{border-radius:var(--radius);border:1px solid var(--bg3);background:var(--bg2);color:var(--cream);appearance:none;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--navy);outline:none}input::placeholder{color:var(--muted)}input[type=date]{color:var(--cream)}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237A8FA6' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.field-label{color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:700;display:block}.btn{border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:15px 20px;font-family:inherit;font-size:16px;font-weight:800;transition:background .15s,transform .1s;display:flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-primary{background:var(--navy);color:#fff}.btn-primary:active:not(:disabled){background:#163460}.btn-outline{background:var(--bg2);color:var(--cream2);border:1px solid var(--bg3);font-size:15px;font-weight:700}.btn-outline:active:not(:disabled){background:var(--bg3)}.btn-ghost{color:var(--muted);background:0 0;border:none;width:auto;padding:10px 14px;font-size:14px;font-weight:600}.btn-danger{color:var(--red);background:0 0;border:1px solid #c0392b66;width:auto;padding:10px 14px;font-size:14px;font-weight:600}.btn-danger:active:not(:disabled){background:#c0392b1a}.btn-sm{border-radius:var(--radius-sm);padding:8px 14px;font-size:13px;font-weight:700}.btn-auto{width:auto}.auth-page{background:var(--bg0);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--bg1);border-radius:var(--radius);border:1px solid var(--bg3);flex-direction:column;gap:20px;width:100%;max-width:380px;padding:24px;display:flex}.auth-brand{letter-spacing:1.5px;text-transform:uppercase;color:var(--navy);font-size:11px;font-weight:500}.auth-card h2{color:var(--cream);letter-spacing:-.3px;margin-top:2px;font-size:22px;font-weight:700}.auth-form{flex-direction:column;gap:12px;display:flex}.card{background:var(--bg1);border-radius:var(--radius);border:1px solid var(--bg3);margin-bottom:10px;padding:14px}.card-title{text-transform:uppercase;letter-spacing:1px;color:#fff;background:var(--navy);border-radius:var(--radius) var(--radius) 0 0;margin:-14px -14px 12px;padding:10px 14px;font-size:12px;font-weight:800}.app-shell{flex-direction:column;min-height:100vh;display:flex}.loading-screen{background:var(--bg0);min-height:100vh;color:var(--muted);justify-content:center;align-items:center;font-size:15px;display:flex}.wizard-page{background:var(--bg0);flex-direction:column;min-height:100vh;padding-bottom:32px;display:flex}.wizard-header{background:var(--bg1);border-bottom:1px solid var(--bg3);z-index:10;padding:16px 16px 0;position:sticky;top:0}.wizard-header-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.wizard-brand{letter-spacing:1.5px;text-transform:uppercase;color:var(--navy);font-size:11px;font-weight:500}.wizard-step-indicator{color:var(--muted);letter-spacing:.5px;font-size:11px;font-weight:700}.wizard-progress-track{background:var(--bg3);border-radius:2px;height:3px;margin-bottom:-1px}.wizard-progress-fill{background:var(--navy);border-radius:2px;height:100%;transition:width .3s}.wizard-body{flex-direction:column;flex:1;gap:16px;width:100%;max-width:430px;margin:0 auto;padding:20px 16px;display:flex}.wizard-step-title{color:var(--cream);letter-spacing:-.3px;font-size:22px;font-weight:700}.wizard-step-subtitle{color:var(--muted);margin-top:4px;font-size:13px}.wizard-footer{gap:10px;width:100%;max-width:430px;margin:0 auto;padding:16px;display:flex}.wizard-footer .btn{flex:1}.schedule-day{background:var(--bg1);border:1px solid var(--bg3);border-radius:var(--radius);margin-bottom:10px;overflow:hidden}.schedule-day-header{text-transform:uppercase;letter-spacing:1.2px;color:#fff;background:var(--navy);justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;font-size:12px;font-weight:700;display:flex}.schedule-day-body{flex-direction:column;gap:8px;padding:12px 14px;display:flex}.schedule-day-body select{padding:8px 32px 8px 10px;font-size:13px}.round-inputs{border-left:2px solid var(--navy);flex-direction:column;gap:8px;padding-left:10px;display:flex}.round-input-row{align-items:center;gap:8px;display:flex}.round-input-row input{flex:1;font-size:14px}.btn-remove-round{color:var(--muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;width:auto;padding:0 4px;font-family:inherit;font-size:18px;line-height:1}.btn-remove-round:active{color:var(--red)}.btn-add-round{color:var(--navy);letter-spacing:.5px;cursor:pointer;text-transform:uppercase;background:0 0;border:none;align-items:center;gap:4px;width:auto;padding:4px 0;font-family:inherit;font-size:11px;font-weight:800;display:flex}.player-counter{background:var(--bg1);border:1px solid var(--bg3);border-radius:var(--radius);justify-content:center;align-items:center;gap:20px;padding:24px 20px;display:flex}.player-counter-btn{border:1px solid var(--bg3);background:var(--bg2);width:64px;height:64px;color:var(--cream);cursor:pointer;border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;font-family:inherit;font-size:32px;font-weight:300;display:flex}.player-counter-btn:active{background:var(--bg3)}.player-counter-btn:disabled{opacity:.3;cursor:not-allowed}.player-counter-display{text-align:center;width:80px;color:var(--cream);font-size:52px;font-weight:900;line-height:1}.player-counter-label{text-align:center;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-top:8px;font-size:11px;font-weight:600}.tournament-question{color:var(--cream);letter-spacing:-.2px;font-size:17px;font-weight:700}.yes-no-row{gap:8px;display:flex}.yes-no-btn{border-radius:var(--radius);border:1px solid var(--bg3);background:var(--bg2);cursor:pointer;color:var(--muted);flex:1;padding:14px;font-family:inherit;font-size:15px;font-weight:700;transition:all .15s}.yes-no-btn.selected{border-color:var(--navy);background:var(--navy);color:#fff}.team-count-options{flex-wrap:wrap;gap:8px;display:flex}.team-count-btn{border-radius:var(--radius);border:1px solid var(--bg3);background:var(--bg2);cursor:pointer;color:var(--muted);padding:14px 28px;font-family:inherit;font-size:22px;font-weight:900;transition:all .15s}.team-count-btn.selected{border-color:var(--navy);background:var(--navy);color:#fff}.format-tag{background:var(--bg2);color:var(--navy);border:1px solid var(--bg3);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.dashboard-page{background:var(--bg0);min-height:100vh;padding-bottom:var(--tab-h);flex-direction:column;display:flex}.dashboard-topbar{background:var(--bg1);border-bottom:1px solid var(--bg3);z-index:10;padding:16px 16px 12px;position:sticky;top:0}.dashboard-topbar-brand{letter-spacing:1.5px;text-transform:uppercase;color:var(--navy);font-size:11px;font-weight:500}.dashboard-topbar-title{color:var(--cream);letter-spacing:-.3px;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:22px;font-weight:700;overflow:hidden}.dashboard-topbar-dates{color:var(--muted);margin-top:1px;font-size:13px}.dashboard-content{flex-direction:column;flex:1;width:100%;max-width:430px;margin:0 auto;padding:16px;display:flex}.tab-bar{height:var(--tab-h);background:var(--bg1);border-top:1px solid var(--bg3);z-index:100;width:100%;max-width:430px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab-btn{cursor:pointer;width:auto;min-width:0;color:var(--muted);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:10px 2px 8px;font-family:inherit;transition:color .15s;display:flex;position:relative;overflow:hidden}.tab-btn.active{color:var(--navy)}.tab-icon{font-size:20px;line-height:1}.tab-label{letter-spacing:.2px;text-transform:uppercase;font-size:8px;font-weight:600}.section-header{letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-top:6px;margin-bottom:8px;font-size:10px;font-weight:700}.stat-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.stat-card{background:var(--bg1);border:1px solid var(--bg3);border-radius:var(--radius);text-align:center;padding:14px}.stat-value{color:var(--navy);letter-spacing:-.5px;font-size:28px;font-weight:900;line-height:1}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin-top:4px;font-size:10px;font-weight:600}.schedule-summary{flex-direction:column;margin-bottom:10px;display:flex}.schedule-summary-card{background:var(--bg1);border:1px solid var(--bg3);border-radius:var(--radius);overflow:hidden}.schedule-row{border-bottom:1px solid var(--bg2);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.schedule-row:last-child{border-bottom:none}.schedule-row-date{color:var(--cream);font-size:14px;font-weight:600}.type-pill{text-transform:uppercase;letter-spacing:.3px;border-radius:20px;padding:2px 8px;font-size:10px;font-weight:700}.type-pill.golf{color:var(--navy);border:1px solid var(--navy);background:#1b3f6e1a}.type-pill.travel{color:#e05a00;background:#ff6b1a1a;border:1px solid #ff6b1a4d}.type-pill.non_golf{background:var(--bg2);color:var(--muted);border:1px solid var(--bg3)}.pill-row{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;padding:12px 0 4px;display:flex;overflow-x:auto}.pill-row::-webkit-scrollbar{display:none}.pill-btn{border:1px solid var(--bg3);color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:20px;flex-shrink:0;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s}.pill-btn.active{background:var(--navy);border-color:var(--navy);color:#fff}.team-card{background:var(--bg1);border:1px solid var(--bg3);border-radius:var(--radius);margin-bottom:10px;overflow:hidden}.team-card-header{background:var(--navy);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.team-rank{color:#fff;width:28px;font-size:18px;font-weight:900}.team-name{color:#fff;flex:1;margin-left:10px;font-size:16px;font-weight:800}.team-score{color:#ffffffb3;font-size:13px}.tee-time-card{background:var(--bg1);border:1px solid var(--bg3);border-radius:var(--radius);margin-bottom:10px;overflow:hidden}.tee-time-card-header{background:var(--navy);padding:8px 14px}.tee-time-course{text-transform:uppercase;letter-spacing:1px;color:#fff;font-size:12px;font-weight:800}.tee-time-body{padding:12px 14px}.tee-time-date{color:var(--cream);font-size:15px;font-weight:700}.tee-time-tbd{color:var(--muted);margin-top:4px;font-size:13px}.menu-section{background:var(--bg1);border:1px solid var(--bg3);border-radius:var(--radius);margin-bottom:10px;overflow:hidden}.menu-section-label{text-transform:uppercase;letter-spacing:1px;color:var(--muted);padding:4px 0 8px;font-size:10px;font-weight:700}.menu-item{background:var(--bg1);border:none;border-bottom:1px solid var(--bg2);text-align:left;width:100%;color:var(--cream);cursor:pointer;justify-content:space-between;align-items:center;padding:14px 16px;font-family:inherit;font-size:15px;font-weight:600;transition:background .1s;display:flex}.menu-item:last-child{border-bottom:none}.menu-item:active{background:var(--bg2)}.menu-item-chevron{color:var(--bg3);font-size:16px;font-weight:700}.roster-list{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.roster-item{background:var(--bg1);border:1px solid var(--bg3);border-radius:var(--radius);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.roster-name{color:var(--cream);font-size:15px;font-weight:700}.roster-meta{color:var(--muted);margin-top:1px;font-size:12px}.you-badge{background:var(--navy);color:#fff;text-transform:uppercase;letter-spacing:.3px;border-radius:20px;padding:2px 8px;font-size:10px;font-weight:700}.error-msg{color:var(--red);border-radius:var(--radius-sm);background:#c0392b0f;border:1px solid #c0392b33;margin-bottom:10px;padding:10px 14px;font-size:14px}.info-banner{background:var(--bg2);border:1px solid var(--bg3);border-radius:var(--radius);color:var(--cream2);justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;padding:12px 14px;font-size:14px;display:flex}.info-banner-close{color:var(--muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;width:auto;padding:0;font-family:inherit;font-size:18px;line-height:1}.wizard-title{color:var(--cream);letter-spacing:-.3px;font-size:22px;font-weight:700}.schedule-day-label{text-transform:uppercase;letter-spacing:1.2px;color:#fff;font-size:12px;font-weight:700}.menu-item-icon{margin-right:10px}.empty-state{text-align:center;color:var(--muted);padding:40px 20px;font-size:14px;font-style:italic}.empty-state-icon{margin-bottom:12px;font-size:40px;display:block}.divider{border:none;border-top:1px solid var(--bg2);margin:4px 0}
