:root{color-scheme:light;--bg: #f7fbfa;--surface: #ffffff;--surface-soft: #eff6f5;--surface-muted: #f4f7f6;--aqua-container: #d4eeec;--coral-container: #ffeae7;--line: #e2dcd8;--text: #173331;--muted: #6f7775;--coral: #ff7466;--coral-dark: #d9574d;--aqua: #258581;--aqua-dark: #1d6a67;--green: var(--coral);--green-dark: var(--aqua-dark);--lime: #ffb36a;--free: #a4dd57;--pending: #ffe9a8;--booked: #ffe0d8;--blocked: #e9ebe8;--warning: #b76a18;--shadow: 0 18px 46px rgba(91, 44, 39, .1)}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}h1,h2,h3,h4,p{margin:0}table{width:100%;border-collapse:collapse}th,td{padding:13px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}td{font-size:14px}tr:last-child td{border-bottom:0}.clickable-row{cursor:pointer}.clickable-row:hover td{background:var(--surface-soft)}.muted{color:var(--muted)}.eyebrow{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.shell{display:grid;grid-template-columns:260px minmax(780px,1fr);min-height:100vh}.sidebar{position:sticky;top:0;align-self:start;display:flex;flex-direction:column;gap:28px;height:100vh;min-height:100vh;overflow:visible;padding:22px 18px;border-right:1px solid var(--line);background:#fffaf7}.brand{display:flex;flex-direction:column;gap:6px;padding:10px 8px 4px}.brand-lockup{width:160px;height:auto;display:block}.brand-subtitle{display:block;color:var(--muted);font-size:13px;font-weight:600;letter-spacing:.01em;padding-left:2px}.portal-brand{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 8px 24px #5b2c270f}.portal-brand-banner{min-height:42px;display:flex;align-items:center;padding:0 14px;background:var(--aqua);color:#fff;font-size:14px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.portal-brand-body{padding:18px 14px}.portal-brand-lockup{display:block;width:100%;height:auto}.nav{display:grid;gap:4px;min-height:0;overflow-y:auto}.nav button,.nav a{width:100%;padding:11px 12px;border-radius:7px;background:transparent;color:#43514f;font-size:14px;text-decoration:none;text-align:left}.nav button:hover,.nav button.active,.nav a:hover{background:var(--surface-soft);color:var(--green-dark)}.nav button.active{font-weight:700}.account-menu{position:relative;margin-top:auto}.account-menu-trigger{display:grid;grid-template-columns:28px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;min-height:44px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);text-align:left;box-shadow:0 8px 20px #5b2c270d}.account-menu-trigger:hover{background:var(--surface-soft)}.account-avatar{display:grid;width:28px;height:28px;border-radius:50%;background:var(--surface-soft);color:var(--green-dark);font-size:12px;font-weight:800;place-items:center}.account-menu-copy{display:grid;gap:1px;min-width:0}.account-menu-copy strong,.account-popover-header strong,.account-popover-section strong{overflow:hidden;font-size:13px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.account-menu-copy span,.account-popover-header span,.account-popover-section span{overflow:hidden;color:var(--muted);font-size:12px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.account-menu-chevron{color:var(--muted);font-size:18px;line-height:1;text-align:center}.account-popover{position:absolute;right:0;bottom:calc(100% + 8px);left:0;z-index:50;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 18px 50px #101e1c2e}.account-popover-header,.account-popover-section{display:grid;gap:4px;padding:12px;border-bottom:1px solid var(--line)}.account-menu-label{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.account-menu-action{width:100%;min-height:42px;padding:0 12px;background:var(--surface);color:var(--text);font-size:13px;font-weight:700;text-align:left}.account-menu-action:hover{background:var(--surface-soft);color:var(--green-dark)}.main{padding:24px 28px 40px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.topbar h1{font-size:25px;font-weight:720;line-height:1.2}.top-logo{width:38px;height:38px;border-radius:10px;object-fit:cover}.top-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.search{position:relative;display:block}.search span{position:absolute;top:8px;left:12px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.search input{width:248px;height:48px;padding:20px 12px 6px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);outline:none}.search input:focus{border-color:var(--green);box-shadow:0 0 0 3px #ff746629}.btn-primary,.btn-secondary,.btn-danger{min-height:40px;padding:0 15px;border-radius:8px;font-weight:700}.btn-primary{background:var(--green);color:#fff}.btn-secondary{border:1px solid var(--line);background:var(--surface);color:var(--green-dark)}.btn-danger{border:1px solid #ffd1c9;background:#fff0ed;color:#9c3722}.btn-compact{min-height:36px}.btn-mini{min-height:30px;padding:0 10px;border-radius:6px;background:var(--surface-soft);color:var(--green-dark);font-size:12px;font-weight:800}.btn-mini.danger{background:#fff0ed;color:#9c3722}.btn-mini:disabled{cursor:default;opacity:.45}.btn-text{background:transparent;color:var(--green);font-size:13px;font-weight:700}.btn-icon{width:34px;height:34px;border-radius:7px;background:var(--surface-soft);color:var(--text);font-size:22px;line-height:1}.pill{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#e5faf8;color:var(--green-dark);font-size:12px;font-weight:700}.pill.warn{background:#fff0da;color:var(--warning)}.pill.neutral{background:#edf0ef;color:#4c5552}.status-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#e5faf8;color:var(--green-dark);font-size:12px;font-weight:700}.panel{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);overflow:auto}.panel-title{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;border-bottom:1px solid var(--line)}.panel h3{font-size:16px}.panel-empty{padding:24px 18px;color:var(--muted);font-size:14px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.section-heading h2{font-size:22px;line-height:1.25}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.metric{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);display:grid;gap:8px;min-height:128px;padding:16px}.metric>span{color:var(--muted);font-size:13px;font-weight:700}.metric>strong{font-size:34px;line-height:1}.metric>small{color:var(--muted);font-size:12px}.grid-two{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:16px}.access-list{display:grid;gap:0}.access-list>div{display:grid;gap:5px;padding:16px 18px;border-bottom:1px solid var(--line)}.access-list>div:last-child{border-bottom:0}.access-list span{color:var(--muted);font-size:13px;font-weight:700}.access-list small{color:var(--muted);font-size:12px}.action-group{display:flex;gap:8px;white-space:nowrap}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a12105c;z-index:100;display:flex;align-items:center;justify-content:center}.dialog{width:min(860px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:0 24px 80px #101e1c47;padding:24px;display:grid;gap:18px}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.dialog-header h2{font-size:22px}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.dialog-action-spacer{flex:1}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px}.form-label{display:grid;grid-template-rows:30px 40px;align-items:end stretch;gap:6px;min-width:0;color:var(--muted);font-size:12px;font-weight:800;line-height:1.15;text-transform:uppercase}.form-label.wide{grid-column:1/-1;grid-template-rows:18px 40px}.form-label.tall{grid-template-rows:30px auto}.form-input,.form-select{align-self:stretch;width:100%;min-height:40px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--text);font-family:inherit;font-size:14px;font-weight:650;line-height:1.2;outline:none}.form-input:focus,.form-select:focus{border-color:var(--green);box-shadow:0 0 0 3px #16785e1f}.form-textarea{align-self:stretch;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--text);font:inherit;outline:none;resize:vertical}.form-status{min-height:18px;color:var(--warning);font-size:13px;font-weight:700}.form-note{padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted);color:var(--muted);font-size:13px;line-height:1.45}.form-note.wide{grid-column:1/-1}.form-label.matchaway-lookup{display:grid;grid-template-rows:none;align-items:stretch;gap:8px}.lookup-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.lookup-selected{display:grid;gap:2px;padding:10px 12px;border:1px solid #bfe7e1;border-radius:8px;background:#effbf9;color:var(--ink);font-size:13px;text-transform:none;letter-spacing:0}.lookup-selected span{color:var(--muted);font-weight:600}.lookup-help,.lookup-empty{margin:0;color:var(--muted);font-size:13px;font-weight:600;text-transform:none;letter-spacing:0}.lookup-results{border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden}.lookup-result{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left}.lookup-result:last-child{border-bottom:0}.lookup-result:hover{background:var(--surface-soft)}.lookup-result strong{display:block;font-size:14px}.lookup-result small{display:block;margin-top:2px;color:var(--muted);font-size:12px;font-weight:600}.lookup-result-id{flex:0 0 auto;color:var(--teal);font-size:12px;font-weight:800}.checkbox-label{display:flex;align-items:center;gap:8px;color:var(--text);font-size:14px;font-weight:600;text-transform:none;grid-column:1/-1;cursor:pointer;min-height:unset;grid-template-rows:unset}.participants-fieldset{grid-column:1/-1;display:grid;gap:10px;margin:0;padding:0;border:0}.participants-fieldset legend{margin-bottom:2px;color:var(--muted);font-size:12px;font-weight:800;line-height:1.15;text-transform:uppercase}.participants-list{display:grid;gap:8px}.participant-row{display:grid;grid-template-columns:minmax(150px,.34fr) minmax(0,1fr) 112px 34px;gap:8px;align-items:center}.participant-row.matchaway,.participant-row.club_guest,.participant-row.other{grid-template-columns:minmax(150px,.34fr) minmax(0,1fr) 34px}.participant-row.other.with-contact{grid-template-columns:minmax(150px,.28fr) minmax(180px,1fr) minmax(130px,.55fr) minmax(170px,.7fr) 34px}.participant-row .form-select,.participant-row .form-input{min-height:38px}.btn-icon-light{width:34px;height:34px;border:1px solid var(--line);border-radius:7px;background:var(--surface-muted);color:var(--text);font-size:20px;line-height:1}.btn-icon-light:disabled{cursor:not-allowed;opacity:.45}.participant-add{justify-self:start;min-height:34px;padding:0 12px}.detail-list{display:grid;grid-template-columns:140px minmax(0,1fr);gap:10px 16px;margin:0}.detail-list dt{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.detail-list dd{margin:0;color:var(--text);font-size:14px}.detail-list-compact{display:grid;gap:4px;margin:0;padding:0;list-style:none}.detail-list-compact li{color:var(--text);font-size:14px;line-height:1.35}.planner-heading{display:grid;grid-template-columns:180px 1fr 300px;align-items:center;gap:18px;margin-bottom:14px}.date-nav{display:grid;grid-template-columns:34px 1fr 34px;overflow:hidden;height:34px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.date-nav button{background:var(--surface);color:var(--text);font-size:13px;font-weight:700}.date-nav button+button{border-left:1px solid var(--line)}.date-nav .btn-today{color:var(--muted);font-size:17px}.club-title{text-align:center}.club-title h2{color:#062f32;font-size:24px;line-height:1.2}.club-title span{display:block;margin-top:3px;color:#8b9490;font-size:12px;font-weight:700;text-transform:uppercase}.planner-legend{display:flex;justify-content:flex-end;gap:14px;color:var(--muted);font-size:12px;font-weight:700}.planner-legend span{display:inline-flex;align-items:center;gap:6px}.planner-legend i{display:inline-block;width:12px;height:12px;border:1px solid rgba(0,0,0,.08);border-radius:3px}.planner-legend .l-free{background:var(--free)}.planner-legend .l-padel-free{background:#a8d4f5}.planner-legend .l-pending{background:var(--pending)}.planner-legend .l-booked{background:var(--booked)}.planner-legend .l-blocked{background:var(--blocked)}.planner-panel{overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.schedule-grid{display:grid;min-width:max-content}.time-cell,.court-label,.slot-cell,.sport-divider{min-height:48px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.time-cell{position:sticky;top:0;z-index:3;display:flex;align-items:center;padding-left:6px;background:#fffaf7;color:#07333a;font-size:12px;font-weight:800}.time-cell:first-child{left:0;z-index:4;padding-left:14px}.sport-divider,.court-label{position:sticky;left:0;z-index:2;display:flex;align-items:center;padding:0 14px;background:#fffaf7}.sport-divider{grid-column:1/-1;min-height:48px;color:#8a9590;font-size:14px}.schedule-empty{grid-column:1/-1;min-height:96px;padding:28px;border-bottom:1px solid var(--line);background:var(--surface-muted);color:var(--muted);font-weight:700}.court-label span{display:grid;gap:3px;min-width:0;font-size:12px}.court-label strong{font-size:13px;line-height:1.15;overflow-wrap:anywhere}.court-label small{color:var(--muted);line-height:1.2;overflow-wrap:anywhere}.slot-cell{position:relative;display:flex;align-items:center;min-height:48px;padding:5px;background:var(--surface-muted);cursor:pointer}.slot-cell.free{background:var(--free)}.slot-cell.free.padel{background:#a8d4f5}.slot-cell.booked{background:var(--booked)}.slot-cell.pending{background:var(--pending)}.slot-cell.blocked{background:var(--blocked)}.slot-cell.free:after{content:none}.booking-block{z-index:1;align-self:stretch;display:flex;align-items:center;min-width:0;margin:5px 3px;padding:0 8px;border-radius:6px;cursor:pointer}.booking-block.booked{background:var(--booked)}.booking-block.pending{background:var(--pending)}.booking-block.blocked{background:var(--blocked)}.booking-avatar-stack{display:flex;align-items:center;min-width:0}.booking-avatar{display:grid;width:24px;height:24px;margin-left:-6px;border:2px solid #fff;border-radius:50%;background:#c9d1d8;color:#fff;font-size:9px;font-weight:800;object-fit:cover;place-items:center}.booking-avatar:first-child{margin-left:0}.booking-avatar.teal{background:var(--green-dark)}.booking-avatar.ink{background:#263331}.booking-avatar.gold{background:#cf8c1c}.booking-stack{display:flex;align-items:center}.avatar{display:grid;width:24px;height:24px;margin-left:-7px;border:2px solid #fff;border-radius:50%;background:#c9d1d8;color:#fff;font-size:10px;font-weight:800;place-items:center}.avatar:first-child{margin-left:0}.avatar.teal{background:var(--green-dark)}.avatar.ink{background:#263331}.avatar.gold{background:#cf8c1c}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top left,rgba(255,116,102,.07),transparent 34%),linear-gradient(180deg,#fffaf7,#fbf5f2);padding:34px 28px}.auth-card{width:min(440px,100%);border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.auth-banner{min-height:56px;display:flex;align-items:center;padding:0 28px;background:var(--aqua);color:#fff;font-size:17px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.auth-card-body{padding:32px;display:grid;gap:24px}.auth-brand{display:grid;justify-items:center}.auth-brand img{display:block;width:min(100%,374px);height:auto}.auth-tabs{display:flex;border-bottom:2px solid var(--line)}.auth-tab{padding:10px 18px;background:transparent;color:var(--muted);font-size:14px;font-weight:700;border-bottom:2px solid transparent;margin-bottom:-2px}.auth-tab.active{color:var(--green-dark);border-bottom-color:var(--green)}.auth-form{display:grid;gap:14px}.auth-form h2{font-size:20px}.auth-status{font-size:13px;color:var(--warning);font-weight:700;min-height:18px}.auth-error{margin-top:2px;color:var(--warning);font-size:13px;font-weight:700}.auth-submit{width:100%;height:44px;margin-top:4px;border-radius:8px;background:var(--coral);color:#fff;font-size:15px;font-weight:700}.auth-submit:disabled{cursor:default;opacity:.6}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#fffaf7}.auth-overlay .auth-screen{min-height:100vh}.auth-overlay-close{position:fixed;right:22px;top:20px;z-index:51;width:38px;height:38px;border-radius:8px;background:#fff0ed;color:var(--ink);font-size:22px;font-weight:800}.auth-overlay-close:hover{background:#ffe3de}.social-buttons{display:grid;gap:10px}.social-btn{min-height:44px;border:1px solid #dadce0;border-radius:8px;background:#fff;color:#3c4043;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px}.social-btn.apple{border-color:#000;background:#000;color:#fff;font-family:-apple-system,BlinkMacSystemFont,sans-serif}.social-btn.google{font-family:Roboto,Inter,ui-sans-serif,system-ui,sans-serif}.or-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.or-divider:before,.or-divider:after{content:"";flex:1;height:1px;background:var(--line)}.coach-chip{display:flex;align-items:center;gap:10px}.coach-name{font-size:14px;font-weight:700}.topbar-title{font-size:18px;font-weight:720}.venue-search-panel{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:18px;margin-bottom:16px;display:grid;gap:12px}.search-result-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.search-result-row:last-child{border-bottom:0}.search-result-meta{display:flex;align-items:center;gap:8px}.venue-type-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase}.venue-type-badge.hotel{background:#e0f4f0;color:var(--green-dark)}.venue-type-badge.club{background:var(--surface-soft);color:var(--coral-dark)}.no-results{color:var(--muted);font-size:14px}.sport-checks,.level-focus-checks{display:flex;gap:14px;flex-wrap:wrap}.check-label{display:flex;align-items:center;gap:6px;font-size:14px;cursor:pointer}.avail-form-panel{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:18px 20px;margin-bottom:16px}.avail-form-panel h3{font-size:16px;margin-bottom:14px}#facilities-table{min-width:980px}.planner-detail,.approval-panel,.verification-panel{margin-top:16px}@media(max-width:1180px){.topbar{align-items:flex-start}.planner-heading{grid-template-columns:180px 1fr}.planner-legend{grid-column:1/-1;justify-content:flex-start}}.recovery-title{font-size:24px;margin:0}.recovery-link{color:var(--coral-dark);text-align:center;text-decoration:underline;font-weight:600}.recovery-action{display:block;text-align:center;text-decoration:none}.recovery-hint{color:var(--muted);font-size:13px}.material-symbols-rounded{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-flex;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-webkit-font-feature-settings:"liga";vertical-align:middle}.page-wrap{min-height:100vh;background:var(--bg)}.page{max-width:900px;margin:0 auto;padding:28px 20px 80px}.page.wide{max-width:1100px}.top-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 24px;background:var(--surface);border-bottom:1px solid var(--line);gap:24px}.top-nav__brand{font-size:18px;font-weight:800;color:var(--text);text-decoration:none;letter-spacing:-.01em}.top-nav__brand span{color:var(--coral)}.top-nav__links{display:flex;align-items:center;gap:4px;flex:1}.top-nav__link{padding:6px 12px;border-radius:7px;background:transparent;color:var(--muted);font-size:14px;font-weight:600;text-decoration:none;border:none;cursor:pointer;transition:background .1s,color .1s}.top-nav__link:hover,.top-nav__link.active{background:var(--surface-soft);color:var(--text)}.top-nav__link.active{font-weight:700;color:var(--aqua-dark)}.group-label{font-size:12px;font-weight:700;color:var(--aqua-dark);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;margin-top:4px}.wizard-progress{height:4px;border-radius:999px;background:var(--surface-soft);overflow:hidden;margin-bottom:24px}.wizard-progress__bar{height:100%;background:var(--coral);border-radius:999px;transition:width .2s ease}.wizard-step-title{font-size:22px;font-weight:800;margin-bottom:18px}.wizard-actions{display:flex;align-items:center;gap:10px;margin-top:28px}.wizard-actions .spacer{flex:1}.choice-option{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font-size:15px;font-weight:600;text-align:left;cursor:pointer}.choice-option+.choice-option{margin-top:10px}.choice-option.active{border-color:var(--aqua);background:var(--aqua-container);color:var(--aqua-dark)}.choice-option__radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--line);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.choice-option.active .choice-option__radio{border-color:var(--aqua)}.choice-option.active .choice-option__radio:after{content:"";width:9px;height:9px;border-radius:50%;background:var(--aqua)}.result-list{border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden;margin-top:8px}.result-row{width:100%;padding:11px 14px;text-align:left;background:transparent;border:none;border-bottom:1px solid var(--line);cursor:pointer;font-size:14px;display:flex;align-items:center;gap:8px}.result-row:last-child{border-bottom:none}.result-row:hover{background:var(--surface-soft)}.result-row.active{background:var(--aqua-container)}.summary-row{padding:8px 0;border-bottom:1px solid var(--line)}.summary-row:last-of-type{border-bottom:none}.summary-row__label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.summary-row__value{font-size:14px;color:var(--text)}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0}.toggle-row__label{font-size:15px;font-weight:700}.match-dashboard{display:flex;background:var(--coral-container);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow);text-decoration:none;color:var(--text)}a.match-dashboard:hover{transform:translateY(-1px);transition:transform .1s}.match-dashboard__tile{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 10px;text-align:center;min-width:0}.match-dashboard__tile+.match-dashboard__tile{border-left:1px solid rgba(255,116,102,.2)}.match-dashboard__icon{font-size:18px;line-height:1}.match-dashboard__count{font-size:24px;font-weight:800;color:var(--coral);line-height:1}.match-dashboard__label{font-size:11px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.match-dashboard.compact{box-shadow:none}.match-dashboard.compact .match-dashboard__tile{padding:10px 6px;gap:2px}.match-dashboard.compact .match-dashboard__icon{font-size:15px}.match-dashboard.compact .match-dashboard__count{font-size:19px}.match-dashboard.compact .match-dashboard__label{font-size:10px}.top-nav__right{display:flex;align-items:center;gap:10px}.section-hd{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}.section-hd h2{font-size:20px;font-weight:720;color:var(--text)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.trip-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 20px;box-shadow:var(--shadow);cursor:pointer;transition:transform .1s,box-shadow .1s;text-decoration:none;display:block;color:var(--text)}.trip-card:hover{transform:translateY(-2px);box-shadow:0 24px 56px #5b2c2724}.trip-card__dest{font-size:18px;font-weight:720;margin-bottom:4px}.trip-card__dates{color:var(--muted);font-size:13px;margin-bottom:12px}.trip-card__sports{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.sport-pill{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;text-transform:capitalize}.sport-pill.tennis{background:#e8f5f0;color:var(--aqua-dark)}.sport-pill.padel{background:var(--surface-soft);color:var(--coral-dark)}.trip-card__stats{display:flex;gap:14px;font-size:12px;color:var(--muted);font-weight:600}.trip-card__stats strong{color:var(--text);font-size:14px}.trip-card__hotel{font-size:13px;color:var(--muted);margin-bottom:4px}.player-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;box-shadow:var(--shadow);display:flex;align-items:center;gap:14px;cursor:pointer;text-decoration:none;color:var(--text);transition:transform .1s}.player-card:hover{transform:translateY(-1px)}.player-card__avatar{width:48px;height:48px;border-radius:50%;background:var(--surface-muted);border:1px solid var(--line);object-fit:cover;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:var(--muted)}.player-card__info{flex:1;min-width:0}.player-card__name{font-size:15px;font-weight:700;margin-bottom:2px}.player-card__meta{font-size:12px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}.match-score{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:48px}.match-score__value{font-size:20px;font-weight:800;color:var(--aqua-dark);line-height:1}.match-score__label{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.match-score.great .match-score__value{color:var(--aqua-dark)}.match-score.good .match-score__value{color:var(--lime)}.match-score.ok .match-score__value{color:var(--muted)}.level-badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;background:var(--surface-muted);font-size:12px;font-weight:700;color:var(--text)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:56px 24px;color:var(--muted);text-align:center}.empty-state__icon{font-size:36px;opacity:.5}.empty-state p{font-size:15px;max-width:280px}.request-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:var(--shadow)}.request-card+.request-card{margin-top:10px}.request-card__info{flex:1;min-width:0}.request-card__who{font-size:15px;font-weight:700}.request-card__when{font-size:12px;color:var(--muted);margin-top:2px}.request-card__sport{font-size:12px;color:var(--muted)}.request-card__actions{display:flex;gap:8px;flex-shrink:0}.venue-card,.coach-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px 18px;box-shadow:var(--shadow)}.venue-card__name,.coach-card__name{font-size:15px;font-weight:700;margin-bottom:4px}.venue-card__meta,.coach-card__meta{font-size:13px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px}.auth-box{width:min(420px,100%);background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:36px 32px;box-shadow:var(--shadow)}.auth-box__brand{text-align:center;margin-bottom:28px}.auth-box__brand-name{font-size:26px;font-weight:800;color:var(--text)}.auth-box__brand-name span{color:var(--coral)}.auth-box__brand-sub{font-size:14px;color:var(--muted);margin-top:4px}.auth-box h2{font-size:20px;margin-bottom:20px}.auth-fields{display:grid;gap:14px}.auth-field label{display:grid;gap:6px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.auth-field input{height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:15px;outline:none;width:100%;box-sizing:border-box}.auth-field input:focus{border-color:var(--coral);box-shadow:0 0 0 3px #ff746624}.auth-submit{width:100%;height:44px;background:var(--coral);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;margin-top:4px}.auth-submit:hover{background:var(--coral-dark)}.auth-submit:disabled{opacity:.6;cursor:default}.auth-switch{text-align:center;margin-top:16px;font-size:13px;color:var(--muted)}.auth-switch button{background:transparent;border:none;color:var(--coral-dark);font-size:13px;font-weight:700;cursor:pointer;padding:0}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;margin:16px 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--line)}.auth-social{display:grid;grid-template-columns:1fr 1fr;gap:10px}.auth-social-btn{height:42px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font-size:14px;font-weight:600;cursor:pointer}.auth-error{color:var(--coral-dark);font-size:13px;font-weight:600;min-height:18px;margin-top:4px}.onboard-wrap{min-height:100vh;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:24px}.onboard-card{width:min(520px,100%);background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:36px 32px;box-shadow:var(--shadow)}.onboard-step{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}.onboard-title{font-size:24px;font-weight:800;margin-bottom:6px}.onboard-sub{color:var(--muted);font-size:14px;margin-bottom:24px}.onboard-fields{display:grid;gap:16px}.onboard-field label{display:grid;gap:6px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.onboard-input,.onboard-select{height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:15px;outline:none;width:100%;box-sizing:border-box}.onboard-input:focus,.onboard-select:focus{border-color:var(--coral);box-shadow:0 0 0 3px #ff746624}.level-picker{display:flex;gap:8px;flex-wrap:wrap}.level-btn{padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:13px;font-weight:700;cursor:pointer;color:var(--muted)}.level-btn.active{background:var(--coral);color:#fff;border-color:var(--coral)}.lang-chips{display:flex;gap:8px;flex-wrap:wrap}.lang-chip{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:13px;font-weight:700;cursor:pointer;color:var(--muted);gap:6px}.lang-chip.active{background:var(--surface-soft);color:var(--coral-dark);border-color:var(--coral)}.onboard-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.home-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:32px}.home-hero h1{font-size:26px;font-weight:800;line-height:1.2}.home-hero p{font-size:14px;color:var(--muted);margin-top:4px}.filter-bar{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.filter-chip{padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:13px;font-weight:700;cursor:pointer;color:var(--muted)}.filter-chip.active{background:var(--aqua-dark);color:#fff;border-color:var(--aqua-dark)}.req-tabs{display:flex;gap:0;border-bottom:2px solid var(--line);margin-bottom:20px}.req-tab{padding:10px 18px;background:transparent;border:none;font-size:14px;font-weight:700;cursor:pointer;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-2px}.req-tab.active{color:var(--aqua-dark);border-bottom-color:var(--aqua-dark)}.trip-detail-header{margin-bottom:28px}.trip-detail-header h1{font-size:28px;font-weight:800;margin-bottom:4px}.trip-detail-header .trip-meta{color:var(--muted);font-size:14px;display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}.profile-header{display:flex;align-items:center;gap:20px;margin-bottom:28px;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.profile-avatar{width:72px;height:72px;border-radius:50%;background:var(--surface-muted);border:2px solid var(--line);object-fit:cover;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;color:var(--muted);flex-shrink:0}.profile-name{font-size:20px;font-weight:800}.profile-sub{font-size:14px;color:var(--muted);margin-top:2px}.profile-section{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px 22px;box-shadow:var(--shadow);margin-bottom:14px}.profile-section h3{font-size:15px;font-weight:700;margin-bottom:14px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.profile-field{display:grid;gap:6px;margin-bottom:14px}.profile-field:last-child{margin-bottom:0}.profile-field label{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.profile-input{height:40px;padding:0 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);font:inherit;font-size:14px;outline:none;width:100%;box-sizing:border-box}.profile-input:focus{border-color:var(--coral);box-shadow:0 0 0 3px #ff746624}.destination-hero{margin-bottom:28px}.destination-hero h1{font-size:30px;font-weight:800;margin-bottom:4px}.destination-hero p{color:var(--muted);font-size:15px}.destination-stats{display:flex;gap:20px;margin-bottom:28px;flex-wrap:wrap}.destination-stat{display:flex;flex-direction:column;gap:2px}.destination-stat__value{font-size:24px;font-weight:800;color:var(--text);line-height:1}.destination-stat__label{font-size:12px;color:var(--muted);font-weight:600}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:48px;color:var(--muted);font-size:14px;font-weight:600}.inline-form{display:grid;gap:14px}.inline-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-field{display:grid;gap:6px}.form-field label{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.form-field input,.form-field select{height:40px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--text);font:inherit;font-size:14px;outline:none;width:100%;box-sizing:border-box}.form-field input:focus,.form-field select:focus{border-color:var(--coral);box-shadow:0 0 0 3px #ff746624}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.chat-wrap{display:flex;flex-direction:column;height:calc(100vh - 120px)}.chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:10px}.chat-bubble{max-width:72%;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.45}.chat-bubble.mine{align-self:flex-end;background:var(--coral);color:#fff;border-bottom-right-radius:4px}.chat-bubble.theirs{align-self:flex-start;background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:4px}.chat-input-bar{display:flex;gap:10px;padding:12px 20px;border-top:1px solid var(--line);background:var(--surface)}.chat-input{flex:1;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:14px;outline:none}.chat-input:focus{border-color:var(--coral)}@media(max-width:640px){.top-nav__links{display:none}.page{padding:16px 14px 80px}.inline-form-row,.cards-grid{grid-template-columns:1fr}}
