/* Good Court Club — modern dark theme. Original light theme: work/ui-backup-before-dark/styles.css */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+TC:wght@400;500;600;700;800;900&display=swap');
:root{
  color-scheme:dark;
  font-family:'DM Sans','Noto Sans TC',system-ui,-apple-system,'Segoe UI',sans-serif;font-synthesis:none;
  --bg:#0b0d12;--bg-2:#0e1117;--surface:#12151c;--surface-2:#161a23;--surface-3:#1c212c;--surface-4:#232937;
  --border:#232836;--border-2:#2e3445;--border-3:#3a4257;
  --text:#e7eaf1;--text-2:#b4bbca;--muted:#8a92a5;--faint:#5b6273;
  --accent:#8b8dff;--accent-2:#a78bfa;--accent-soft:#8b8dff1f;--accent-line:#8b8dff59;--accent-text:#c3c5ff;
  --teal:#5eead4;--teal-soft:#5eead41a;--peach:#f4a77e;--peach-soft:#f4a77e1c;
  --success:#4ade80;--success-soft:#4ade801a;--warn:#fbbf24;--warn-soft:#fbbf241a;--danger:#f87171;--danger-soft:#f871711c;
  --gradient:linear-gradient(135deg,#6d6ff5,#8b6cf0);--gradient-hover:linear-gradient(135deg,#7b7dff,#9b7bfa);
  --card:linear-gradient(180deg,var(--surface),#10131a);
  --shadow:0 1px 0 #ffffff08 inset,0 18px 40px -24px #000c;
  --radius:16px;
  /* Legacy names still used by the responsive rules below. */
  --pine:var(--accent);--pine-dark:#7b7dff;--orange:var(--peach);--ink:var(--text);--paper:var(--bg);--line:var(--border);--soft:var(--surface-2);--cream:var(--surface);
  color:var(--text);background:var(--bg)
}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(1100px 520px at 82% -10%,#8b8dff17,transparent 62%),radial-gradient(800px 460px at 10% 105%,#5eead40d,transparent 60%),var(--bg);background-attachment:fixed}
button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}button{color:inherit}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
h1,h2,h3,p{margin:0}button svg{flex-shrink:0}.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}
::selection{background:#8b8dff55;color:#fff}
*{scrollbar-width:thin;scrollbar-color:var(--border-3) transparent}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.skip-link{position:fixed;top:-100px;left:20px;padding:12px;background:var(--surface-3);color:var(--text);border-radius:8px;z-index:100}.skip-link:focus{top:10px}

/* Header */
.site-header{height:88px;background:#0b0d12cc;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30;backdrop-filter:blur(14px)}
.header-inner{max-width:1240px;height:100%;padding:0 30px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;gap:11px;align-items:center;font-size:20px;letter-spacing:.5px;font-weight:800;white-space:nowrap;color:#f4f5fa}
.brand small{display:block;font-size:9px;letter-spacing:2.1px;margin-top:3px;color:var(--muted);font-weight:600}
.brand-mark{width:43px;height:47px;background:linear-gradient(140deg,#8b8dff33,#5eead41f);border:1px solid #8b8dff40;box-shadow:0 6px 18px -6px #8b8dff66;border-radius:13px 13px 17px 17px;display:grid;place-items:center;transform:rotate(-5deg)}
.brand-mark svg{width:35px;height:35px;fill:none;stroke:var(--text);stroke-width:1.4}.brand-mark circle{fill:var(--peach);stroke:none}
.main-nav{height:100%;display:flex;align-items:stretch;gap:36px}
.main-nav a{font-size:14px;font-weight:600;display:flex;align-items:center;gap:7px;color:var(--muted);position:relative;transition:color .15s}
.main-nav a:hover{color:var(--text)}
.main-nav a.active{color:#fff}
.main-nav a.active:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:3px 3px 0 0;box-shadow:0 0 14px #8b8dff99}
.nav-count:not(:empty){width:18px;height:18px;background:var(--accent-soft);color:var(--accent-text);border:1px solid #8b8dff40;font-size:10px;display:grid;place-items:center;border-radius:50%}
.account-button{border:0;background:none;display:flex;align-items:center;gap:9px;text-align:left;font-size:13px;font-weight:600;color:var(--text)}
.avatar{width:36px;height:36px;background:var(--peach-soft);border:1px solid #f4a77e40;color:var(--peach);display:grid;place-items:center;border-radius:50%;font-size:14px;font-weight:500}
.account-button small{display:block;color:var(--muted);font-size:10px;margin-top:3px;font-weight:400}
.chevron{margin-left:8px;color:var(--muted)}

/* Hero */
.page-shell{max-width:1240px;padding:32px 30px 52px;margin:auto}
.hero{display:grid;grid-template-columns:1.05fr 1fr;background:radial-gradient(600px 340px at 78% 30%,#8b8dff24,transparent 70%),radial-gradient(420px 260px at 0% 100%,#5eead414,transparent 70%),var(--card);border-radius:20px;position:relative;overflow:hidden;min-height:368px;border:1px solid var(--border);box-shadow:var(--shadow)}
.hero-copy{padding:40px 0 30px 42px;position:relative;z-index:2}
.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:8px;width:max-content;max-width:100%;background:linear-gradient(90deg,var(--teal),var(--accent) 50%,var(--peach));-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow>span{height:6px;width:6px;border-radius:50%;background:var(--peach);box-shadow:0 0 10px var(--peach)}
.hero h1{font-size:48px;font-weight:800;line-height:1.35;letter-spacing:-1.5px;margin-top:15px;color:#f6f7fb}
.hero-accent{background:linear-gradient(90deg,var(--accent),var(--accent-2) 45%,var(--peach));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-copy>p{font-size:14px;line-height:1.9;color:var(--text-2);margin-top:15px;letter-spacing:.3px}
.hero-actions{display:flex;gap:18px;align-items:center;margin-top:24px}
.hero-actions>span{color:var(--muted);font-size:10px;display:flex;gap:5px;align-items:center}.hero-actions>span .icon{width:16px;color:var(--peach)}
.hero-trust{display:flex;gap:19px;margin-top:23px}
.hero-trust>span{display:flex;gap:5px;align-items:center;font-size:10px;color:var(--text-2)}
.hero-trust .icon{width:12px;height:12px;stroke-width:2;color:var(--teal)}

/* Buttons */
.button-primary,.button-outline,.button-danger{border:1px solid transparent;padding:12px 18px;border-radius:10px;display:inline-flex;justify-content:center;align-items:center;gap:12px;font-size:13px;font-weight:600;min-height:44px;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s,color .16s}
.button-primary{background:var(--gradient);color:#fff;box-shadow:0 1px 0 #ffffff33 inset,0 10px 26px -10px #8b8dffcc}
.button-primary:hover:not(:disabled){background:var(--gradient-hover);transform:translateY(-1px);box-shadow:0 1px 0 #ffffff40 inset,0 14px 30px -10px #8b8dffee}
.button-primary:active:not(:disabled){transform:none}
.button-outline{background:var(--surface-3);border-color:var(--border-3);color:var(--text)}
.button-outline:hover{background:var(--surface-4);border-color:var(--accent-line);color:#fff}
.button-danger{background:var(--danger-soft);border-color:#f8717159;color:#fca5a5}
.button-danger:hover{background:#f8717130;border-color:#f8717180;color:#fff}
.button-primary.small,.button-outline.small{padding:9px 12px;min-height:37px;font-size:11px;gap:9px}
.button-primary.small .icon,.button-outline.small .icon{width:15px;height:15px}
.text-button{background:none;border:0;font-size:12px;display:inline-flex;gap:8px;align-items:center;padding:6px 0;color:var(--accent-text);white-space:nowrap}
.text-button:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}.text-button .icon{width:16px}

/* Hero art */
.hero-art{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;padding:25px 15px 26px 0}
.hero-art:before{content:'';position:absolute;width:360px;height:360px;border:1px solid #8b8dff26;border-radius:50%;left:42px;top:17px}
.hero-art:after{content:'';position:absolute;width:280px;height:280px;border:1px dashed #5eead426;border-radius:50%;left:82px;top:57px;z-index:0}
.hero-art img{width:110%;max-width:560px;position:relative;z-index:1;transform:translate(-4px,5px);filter:drop-shadow(0 22px 28px #000a)}
.hero-label{position:absolute;right:32px;top:26px;color:var(--muted);font-size:9px;line-height:1.6;letter-spacing:2.5px;z-index:2}
.art-caption{position:absolute;bottom:28px;left:47px;right:36px;display:flex;align-items:center;gap:8px;background:#12151ccc;border:1px solid var(--border-2);border-radius:10px;padding:13px 14px;font-size:11px;color:var(--text-2);z-index:3;backdrop-filter:blur(10px)}
.art-caption>span:last-child{margin-left:auto;font-size:17px;color:var(--accent)}
.live-dot,.demo-dot{width:6px;height:6px;display:inline-block;background:var(--success);border-radius:50%;flex-shrink:0;box-shadow:0 0 0 3px #4ade8026,0 0 10px #4ade8099}

/* Events */
.events-section{margin-top:42px;scroll-margin-top:108px}
.section-title{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:23px}
.section-title h2{font-size:24px;font-weight:700;letter-spacing:-.5px;color:#f6f7fb}
.section-title .eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:8px}
.heading-count{font-size:11px;font-weight:400;letter-spacing:0;color:var(--muted);margin-left:14px;vertical-align:middle}
.section-note{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);padding:6px 12px;border:1px solid var(--border-2);border-radius:999px;background:var(--surface)}
.section-note .icon{width:16px;height:16px;color:var(--accent)}
.date-selector{display:flex;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:9px;overflow-x:auto;scrollbar-width:thin;box-shadow:var(--shadow)}
.date-option{border:1px solid transparent;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px;flex:1;border-radius:10px;min-width:70px;color:var(--muted);transition:background .15s,border-color .15s}
.date-option strong{font-size:18px;color:var(--text);font-weight:600}
.date-option>span:first-child{font-size:10px}
.date-option.selected{background:var(--gradient);color:#e0e1ff;box-shadow:0 1px 0 #ffffff33 inset,0 10px 24px -12px #8b8dffcc}
.date-option.selected strong{color:#fff}
.date-option:hover:not(.selected){background:var(--surface-3);border-color:var(--border-2)}
.date-option.all-dates{min-width:150px;gap:5px;flex:1.35}
.all-dates strong{font-size:13px}.all-dates span{font-size:9px;opacity:.8}.all-dates .icon{width:17px;height:17px;margin-bottom:2px}
.date-dots{display:flex;gap:3px;height:5px;margin-top:2px}
.date-dots i{height:4px;width:4px;background:var(--accent);border-radius:50%;opacity:.7}
.selected .date-dots i{background:#fff;opacity:.8}
.filter-row{display:flex;align-items:center;justify-content:space-between;margin:22px 0 19px;gap:12px}
.filter-chips{display:flex;gap:8px;flex-wrap:wrap}
.filter-chip{background:var(--surface);color:var(--text-2);border:1px solid var(--border-2);border-radius:999px;padding:8px 14px;font-size:11px;display:flex;align-items:center;gap:5px;transition:background .15s,border-color .15s,color .15s}
.filter-chip.active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-text);font-weight:600}
.filter-chip:hover{border-color:var(--border-3);color:var(--text)}
.filter-chip .icon{width:13px;height:13px;color:var(--peach)}
.result-count{font-size:10px;color:var(--muted)}
.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}

/* Event card */
.event-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:22px 21px 18px;transition:box-shadow .2s,transform .2s,border-color .2s;min-width:0;box-shadow:var(--shadow)}
.event-card:hover{box-shadow:0 1px 0 #ffffff0d inset,0 22px 44px -22px #8b8dff66;border-color:var(--accent-line);transform:translateY(-3px)}
.card-top{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:24px}
.category{font-size:10px;font-weight:600;display:flex;align-items:center;gap:6px;color:var(--teal)}
.category-dot{width:6px;height:6px;background:var(--teal);border-radius:50%;box-shadow:0 0 8px currentColor}
.beginner .category{color:var(--peach)}.beginner .category-dot{background:var(--peach)}
.advanced .category{color:var(--accent-2)}.advanced .category-dot{background:var(--accent-2)}
.training .category{color:var(--warn)}.training .category-dot{background:var(--warn)}
.badge{display:inline-flex;align-items:center;white-space:nowrap;font-size:9px;font-weight:600;padding:4px 9px;border-radius:999px;line-height:1.3;border:1px solid transparent}
.badge.green{background:var(--success-soft);color:var(--success);border-color:#4ade8033}
.badge.amber{background:var(--warn-soft);color:var(--warn);border-color:#fbbf2433}
.badge.gray{background:var(--surface-3);color:var(--text-2);border-color:var(--border-2)}
.card-heading{display:flex;gap:15px;align-items:center;margin-bottom:20px;min-height:67px}
.date-tile{width:51px;min-width:51px;display:flex;flex-direction:column;align-items:center;gap:2px;border-right:1px solid var(--border-2);padding-right:13px;color:var(--muted)}
.date-tile span{font-size:9px}
.date-tile strong{font-size:29px;line-height:1.1;font-weight:700;background:linear-gradient(180deg,#fff,var(--accent-text));-webkit-background-clip:text;background-clip:text;color:transparent}
.card-time{font-size:10px;letter-spacing:.9px;color:var(--muted);margin-bottom:7px;font-variant-numeric:tabular-nums}
.event-card h3{font-size:16px;line-height:1.6;letter-spacing:-.25px;font-weight:600;color:var(--text)}
.card-title{border:0;padding:0;background:none;text-align:left;line-height:inherit;font:inherit;color:inherit}
.card-title:hover{color:var(--accent-text)}
.card-meta{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted)}
.card-meta .icon{width:13px;height:13px;color:var(--accent)}
.card-tags{display:flex;gap:6px;margin-top:11px;flex-wrap:wrap}
.card-tags span{font-size:9px;padding:4px 8px;background:var(--surface-3);color:var(--text-2);border:1px solid var(--border-2);border-radius:999px}
.capacity-line{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:23px;font-size:11px;color:var(--text);font-variant-numeric:tabular-nums}
.capacity-line>span>small{font-size:9px;color:var(--muted)}
.avatars{display:flex;align-items:center;padding-left:0}
.avatars>span{width:23px;height:23px;display:grid;place-items:center;font-size:7px;font-weight:700;border:2px solid var(--surface);border-radius:50%;background:var(--avatar-color);margin-left:-6px;color:#0b0d12}
.avatars>span:first-child{margin-left:0}
.avatars>small{font-size:9px;color:var(--muted);margin-left:6px}
.capacity-track{height:5px;background:var(--surface-4);border-radius:10px;overflow:hidden;margin-top:10px}
.capacity-track span{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--accent));border-radius:10px;box-shadow:0 0 10px #8b8dff80}
.card-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);margin-top:19px;padding-top:16px;gap:9px}
.price{font-size:21px;font-weight:700;white-space:nowrap;letter-spacing:-.3px;color:#fff;font-variant-numeric:tabular-nums}
.price small{font-size:10px;color:var(--muted);font-weight:400}
.price span{font-size:9px;color:var(--muted);font-weight:400;letter-spacing:0}

/* Club note & footer */
.club-note{display:flex;align-items:center;gap:20px;padding:26px 28px;background:linear-gradient(120deg,#8b8dff1a,#5eead40d 60%,transparent),var(--surface);border:1px solid var(--accent-line);border-radius:var(--radius);margin-top:30px}
.note-icon{width:44px;height:44px;background:var(--accent-soft);border:1px solid #8b8dff40;color:var(--accent);border-radius:14px;display:grid;place-items:center;flex-shrink:0;transform:rotate(-8deg)}
.note-icon svg{width:25px;height:25px}
.club-note h3{font-size:15px;font-weight:600;margin-bottom:7px;color:#f6f7fb}
.club-note p{font-size:12px;color:var(--text-2);line-height:1.8}
.club-note .text-button{margin-left:auto;font-size:12px}
.site-footer{max-width:1180px;border-top:1px solid var(--border);padding:25px 0 32px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);gap:20px}
.site-footer>div{display:flex;align-items:center;gap:12px}
.footer-brand{font-size:10px;letter-spacing:1.3px;font-weight:700;background:linear-gradient(90deg,var(--teal),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.site-footer .text-button{font-size:10px;color:var(--text-2)}

/* Inner pages */
.inner-page{min-height:calc(100vh - 200px);padding-top:42px}
.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:20px}
.page-heading h1{font-size:32px;letter-spacing:-.8px;margin:12px 0;color:#f6f7fb}
.page-heading p{font-size:12px;color:var(--muted);line-height:1.8}
.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:26px}
.summary-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.summary-card{border:1px solid var(--border);background:var(--card);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:12px;position:relative;box-shadow:var(--shadow);overflow:hidden}
.summary-card:before{content:'';position:absolute;left:0;top:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),transparent 70%);opacity:.7}
.summary-card>span{font-size:12px;color:var(--muted)}
.summary-card>strong{font-size:30px;font-weight:700;letter-spacing:-.7px;color:#fff;font-variant-numeric:tabular-nums}
.summary-card strong small{font-size:11px;color:var(--muted);font-weight:400;letter-spacing:0}
.summary-card>.icon{position:absolute;right:22px;top:22px;color:var(--accent);width:21px}
.summary-card>.stat-foot{font-size:11px;color:var(--muted)}
.notice{display:flex;gap:15px;background:var(--accent-soft);border:1px solid var(--accent-line);padding:17px 21px;border-radius:12px;margin-bottom:32px;align-items:center}
.notice>.icon{color:var(--accent)}
.notice strong{font-size:13px;font-weight:600;display:block;color:var(--text)}
.notice span{font-size:12px;color:var(--text-2);display:block;margin-top:5px;line-height:1.7}
.my-list{display:flex;flex-direction:column;gap:14px}
.my-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:25px;display:flex;align-items:center;gap:26px;box-shadow:var(--shadow);transition:border-color .2s}
.my-card:hover{border-color:var(--border-3)}
.my-card .date-tile{width:65px;min-width:65px;padding-right:23px;gap:4px}.my-card .date-tile strong{font-size:35px}
.my-card-info{flex:1}
.my-status{display:flex;gap:7px;margin-bottom:9px;flex-wrap:wrap}
.my-card h3{font-size:18px;font-weight:600;color:var(--text)}
.my-card p{font-size:12px;color:var(--muted);margin-top:9px;line-height:1.7}.my-card p>span{margin:0 5px}
.my-card-info>small{font-size:10px;color:var(--muted);display:block;margin-top:7px}
.my-card-actions{display:flex;flex-direction:column;align-items:flex-end;gap:11px}
.my-card-actions>strong{font-size:18px;font-weight:700;color:#fff}
.my-card-actions .text-button{font-size:10px}
.is-canceled{background:var(--bg-2)}.is-canceled h3{text-decoration:line-through;color:var(--muted)}
.muted{color:var(--muted)!important}
.demo-notice{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;padding:12px 0 22px;line-height:1.8}
.demo-notice .icon{width:15px;height:15px;color:var(--warn)}

/* Host workspace */
.management-layout{display:grid;grid-template-columns:275px minmax(0,1fr);gap:22px;align-items:start}
.event-sidebar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.sidebar-heading{padding:20px;display:flex;align-items:center;justify-content:space-between}
.sidebar-heading h2{font-size:14px;font-weight:600;color:var(--text)}
.sidebar-heading>span{font-size:11px;color:var(--accent-text);background:var(--accent-soft);padding:2px 9px;border-radius:999px}
.manage-event{display:flex;flex-direction:column;width:100%;padding:17px 37px 17px 20px;gap:7px;border:0;border-top:1px solid var(--border);background:transparent;text-align:left;position:relative;color:var(--text);transition:background .15s}
.manage-event>span{font-size:11px;color:var(--muted)}
.manage-event>strong{font-size:13px;line-height:1.7;font-weight:500}
.manage-event>small{font-size:11px;color:var(--muted)}
.manage-event.selected{background:linear-gradient(90deg,#8b8dff24,#8b8dff08);box-shadow:inset 3px 0 var(--accent)}
.manage-event.selected>strong{color:#fff}
.manage-event:hover{background:var(--surface-2)}
.manage-event>.icon{position:absolute;right:12px;top:44px;width:13px;color:var(--muted)}
.roster-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);overflow:hidden;box-shadow:var(--shadow)}
.roster-heading{padding:26px;display:flex;justify-content:space-between;gap:20px;align-items:start}
.roster-heading h2{font-size:20px;margin:12px 0;line-height:1.6;color:#f6f7fb}
.roster-heading p{font-size:12px;color:var(--muted);margin-top:6px}
.roster-summary{display:flex;gap:24px;background:var(--bg-2);padding:18px 26px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.roster-summary>span{font-size:11px;color:var(--muted)}
.roster-summary strong{font-size:18px;color:#fff;font-weight:700;margin-right:5px;font-variant-numeric:tabular-nums}
.roster-summary>span:first-child strong{color:var(--teal)}
.roster-toolbar{padding:18px 22px;display:flex;gap:10px;align-items:center}
.search-field{border:1px solid var(--border-2);border-radius:10px;display:flex;align-items:center;padding:0 10px;gap:6px;flex:1;min-width:100px;background:var(--bg-2);transition:border-color .15s,box-shadow .15s}
.search-field>.icon{width:15px;color:var(--muted)}
.search-field input{width:100%;min-width:0;border:0;font-size:12px;padding:11px 0;background:transparent;color:var(--text)}
.search-field input::placeholder{color:var(--faint)}
.search-field input:focus-visible{outline:none}
.search-field:focus-within{border-color:#8b8dff99;box-shadow:0 0 0 4px #8b8dff1f}
.search-field .text-button{font-size:11px}
.table-scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;white-space:nowrap;color:var(--text)}
th{background:var(--bg-2);font-size:11px;color:var(--muted);font-weight:500;letter-spacing:.5px;padding:12px 18px}
th:first-child,td:first-child{padding-left:26px}
td{border-bottom:1px solid var(--border);padding:12px 18px}
tbody tr{transition:background .15s}tbody tr:hover{background:#ffffff05}
td>strong{font-weight:500}
td>small{display:block;color:var(--muted);font-size:10px;margin-top:5px}
.payment-button{border:1px solid var(--border-2);background:var(--surface-3);font-size:11px;color:var(--text-2);padding:6px 10px;border-radius:999px;display:flex;align-items:center;gap:4px;min-height:31px}
.payment-button:hover{border-color:var(--border-3);color:#fff}
.payment-button.paid{background:var(--success-soft);border-color:#4ade8033;color:var(--success)}
.payment-button .icon{width:12px;height:12px}
.payment-button.refund{background:var(--warn-soft);color:var(--warn);border-color:#fbbf2440}
.attendance-button{border:1px solid var(--border-2);width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--surface-3);color:var(--faint);transition:background .15s,color .15s,box-shadow .15s}
.attendance-button:hover{color:var(--text-2)}
.attendance-button.present{background:var(--success-soft);border-color:#4ade8059;color:var(--success);box-shadow:0 0 12px -2px #4ade8066}
.attendance-button .icon{width:14px;height:14px}
.icon-button{border:1px solid var(--border-2);background:var(--surface-3);border-radius:9px;width:35px;height:35px;display:grid;place-items:center;flex-shrink:0;color:var(--text-2)}
.icon-button:hover{background:var(--surface-4);border-color:var(--accent-line);color:#fff}
.icon-button .icon{width:17px;height:17px}
.icon-button.mini{width:26px;height:26px;border:0;background:transparent;color:var(--muted)}
.icon-button.mini:hover{background:var(--danger-soft);color:#fca5a5}
.icon-button.mini .icon{width:13px;height:13px}
.canceled-row td{color:var(--muted)}
.table-empty{text-align:center;padding:35px!important;color:var(--muted)}
.roster-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 24px}
.roster-bottom small{font-size:11px;color:var(--muted)}
.roster-bottom .text-button{font-size:11px}
.text-button.danger,.danger{color:#fca5a5}
.activity-log{margin-top:25px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:17px 22px;font-size:12px}
.activity-log summary{cursor:pointer;font-weight:500;color:var(--text)}
.activity-log summary>span{font-size:11px;color:var(--muted);margin-left:10px}
.activity-log>div{display:flex;gap:20px;padding-top:15px;color:var(--text-2);line-height:1.6}
.activity-log time{color:var(--muted);font-variant-numeric:tabular-nums}
.activity-log>p{margin-top:15px;color:var(--muted)}
.promotion-callout{display:flex;gap:12px;align-items:center;justify-content:space-between;background:var(--warn-soft);border-bottom:1px solid #fbbf2426;padding:14px 22px;color:#fcd57a;font-size:12px;line-height:1.7}
.empty-state{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:55px 22px;border:1px dashed var(--border-3);border-radius:var(--radius);background:radial-gradient(ellipse at 50% 20%,#8b8dff14,transparent 60%),var(--bg-2)}
.empty-state>.icon{width:34px;height:34px;color:var(--accent);margin-bottom:18px}
.empty-state h3{font-size:18px;margin-bottom:10px;color:var(--text)}
.empty-state p{font-size:12px;color:var(--muted);line-height:1.8}
.empty-state .button-outline{margin-top:22px}

/* Dialog */
dialog{border:1px solid var(--border-3);border-radius:18px;padding:0;width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 48px);box-shadow:0 24px 90px #000b;background:var(--surface);color:var(--text);overflow-y:auto}
dialog::backdrop{background:#05070dbd;backdrop-filter:blur(5px)}
#dialogContent{padding:30px}
.dialog-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:22px}
.dialog-heading h2{font-size:24px;line-height:1.5;letter-spacing:-.4px;margin-top:9px;color:#f6f7fb}
.dialog-heading .eyebrow{font-size:9px;letter-spacing:1.5px}
.dialog-heading .icon-button{border:0;background:var(--surface-3)}
.detail-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.detail-badges .badge{font-size:10px;padding:5px 10px}
.detail-facts{display:grid;gap:18px;padding-bottom:25px;border-bottom:1px solid var(--border)}
.detail-facts>div{display:flex;gap:12px;align-items:flex-start}
.detail-facts .icon{color:var(--accent);width:19px;height:19px}
.detail-facts span{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted)}
.detail-facts strong{font-size:14px;color:var(--text);font-weight:500}
.detail-section{margin-top:24px}
.detail-section h3{font-size:14px;font-weight:600;margin-bottom:12px;color:var(--text)}
.detail-section p{font-size:12px;line-height:1.9;color:var(--text-2);white-space:pre-wrap}
.rules-box{background:var(--bg-2);border:1px solid var(--border-2);padding:18px 20px;border-radius:12px;margin-top:24px}
.rules-box h3{font-size:12px;font-weight:600;display:flex;align-items:center;gap:7px;color:var(--text)}
.rules-box .icon{width:15px;height:15px;color:var(--teal)}
.rules-box ul{padding-left:17px;margin:12px 0 0;font-size:12px;line-height:1.9;color:var(--text-2)}
.rules-box li{margin-bottom:5px}.rules-box li::marker{color:var(--accent)}
.rules-box p{font-size:12px;color:var(--text-2);line-height:1.9;margin-top:12px}
.player-chips{display:flex;gap:7px;flex-wrap:wrap}
.player-chips>span{background:var(--surface-3);border:1px solid var(--border-2);padding:5px 11px;font-size:11px;border-radius:999px;color:var(--text-2)}
.player-chips>small{font-size:11px;color:var(--muted)}
.dialog-footer{position:sticky;bottom:-30px;background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 0 2px;border-top:1px solid var(--border);margin-top:28px;z-index:3}
.dialog-footer .price{font-size:25px}.dialog-footer .price small,.dialog-footer .price span{font-size:11px}
.booking-recap{background:var(--bg-2);border:1px solid var(--border-2);border-left:3px solid var(--accent);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:8px;margin-bottom:22px}
.booking-recap strong{font-size:14px;font-weight:600;color:var(--text)}
.booking-recap span{font-size:12px;color:var(--muted)}

/* Forms */
.field{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:500;color:var(--text-2);margin-bottom:18px;min-width:0}
.field input,.field select,.field textarea{border:1px solid var(--border-2);border-radius:9px;padding:11px 12px;font-size:13px;min-width:0;max-width:100%;color:var(--text);background:var(--bg-2);transition:border-color .15s,box-shadow .15s}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--border-3)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#8b8dff99;box-shadow:0 0 0 4px #8b8dff1f;outline:none}
.field select option{background:var(--surface-2);color:var(--text)}
.field input::placeholder,.field textarea::placeholder{color:var(--faint)}
.field textarea{resize:vertical}
.checkbox-line{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.8;margin:20px 0;color:var(--text-2)}
.checkbox-line input{width:17px;height:17px;accent-color:var(--accent);flex-shrink:0;margin:3px 0}
.checkbox-line small{display:block;color:var(--muted);font-size:11px}
.checkbox-line.agreement{font-size:12px}
.booking-total{border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:17px 0;margin:23px 0;align-items:center}
.booking-total span{font-size:12px;color:var(--muted)}
.booking-total strong{font-size:24px;font-weight:700;color:#fff}
.demo-form-note{font-size:11px;line-height:1.8;color:var(--muted);margin-top:15px}
.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:26px}
.form-error{font-size:12px;color:#fca5a5;background:var(--danger-soft);border:1px solid #f8717140;padding:11px 13px;border-radius:9px;margin-top:16px;line-height:1.6}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.form-grid.three{grid-template-columns:1.2fr 1fr 1fr}
.confirm-copy{font-size:13px;color:var(--text-2);line-height:1.9}
.success-state{text-align:center;padding:8px 5px 20px}
.success-icon{width:72px;height:72px;background:var(--success-soft);border:1px solid #4ade8040;display:grid;place-items:center;border-radius:50%;margin:10px auto 20px;color:var(--success);box-shadow:0 0 0 8px #4ade800d,0 12px 30px -10px #4ade8066}
.success-icon svg{width:30px;height:30px}
.success-state>.badge{font-size:12px;margin-bottom:20px}
.success-state h3{font-size:18px;font-weight:600;margin-bottom:13px;color:var(--text)}
.success-state p{font-size:12px;color:var(--text-2);line-height:1.9}
.success-state small{font-size:11px;color:var(--muted);display:block;margin-top:18px}
.profile-intro{display:flex;align-items:center;gap:17px;padding:12px 0}
.avatar.large{width:58px;height:58px;flex-shrink:0;font-size:24px}
.profile-intro strong{font-size:14px;font-weight:500}
.profile-intro p{font-size:12px;color:var(--text-2);line-height:1.9;margin-top:7px}
.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--surface-4);border:1px solid var(--border-3);color:var(--text);font-size:12px;line-height:1.8;padding:14px 22px;box-shadow:0 18px 50px -12px #000c,0 0 0 1px #8b8dff1a;border-radius:12px;z-index:100;opacity:0;pointer-events:none;max-width:calc(100vw - 32px);width:max-content;transition:opacity .2s,transform .2s}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* Sports and event presets */
.sport-tag{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:4px 10px;border-radius:999px;line-height:1.3;white-space:nowrap;border:1px solid transparent}
.sport-tag.sport-pickleball,.card-tags .sport-pickleball{background:var(--teal-soft);color:var(--teal);border-color:#5eead433}
.sport-tag.sport-badminton,.card-tags .sport-badminton{background:var(--accent-soft);color:var(--accent-text);border-color:#8b8dff40}
.sport-tag.sport-tennis,.card-tags .sport-tennis{background:var(--peach-soft);color:var(--peach);border-color:#f4a77e40}
.sport-filter{display:flex;align-items:center;gap:18px;margin-top:23px}
.sport-filter>span{font-size:12px;color:var(--muted)}
.sport-filter>div{display:flex;gap:7px;flex-wrap:wrap}
.sport-filter-button{font-size:12px;font-weight:500;padding:9px 16px;border:1px solid var(--border-2);border-radius:10px;background:var(--surface);color:var(--text-2);transition:background .15s,border-color .15s,color .15s}
.sport-filter-button.active{background:var(--gradient);color:#fff;border-color:transparent;box-shadow:0 8px 20px -10px #8b8dffcc}
.sport-filter-button:hover:not(.active){background:var(--surface-3);border-color:var(--border-3);color:var(--text)}
.template-box{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:12px;padding:17px 18px;margin-bottom:22px}
.template-box .field{margin-bottom:7px}
.field-help{font-size:11px;color:var(--muted);line-height:1.85}
.template-box select{width:100%}
.preset-roster{border:1px solid var(--border-2);border-radius:12px;padding:18px;margin-top:23px;background:var(--bg-2)}
.preset-roster-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.preset-roster-head h3{font-size:14px;font-weight:600;color:var(--text)}
.preset-roster-head h3 span{font-size:10px;font-weight:400;color:var(--muted);margin-left:8px}
.preset-roster .field{margin-bottom:10px}
.participant-summary{font-size:12px;font-weight:500;color:var(--success);background:var(--success-soft);border:1px solid #4ade8026;border-radius:9px;padding:10px 12px;margin-top:12px;line-height:1.7}
.participant-summary.invalid{color:#fca5a5;background:var(--danger-soft);border-color:#f8717140}

/* Readability sizes (kept from the light theme) */
.card-meta,.card-time{font-size:12px}.card-tags span,.avatars>small,.category{font-size:11px}.badge{font-size:10px}.date-tile span{font-size:11px}

/* Responsive */
@media(min-width:1440px){.page-shell{padding-top:40px}.hero{min-height:400px}.hero h1{font-size:53px}.hero-copy{padding:43px 0 36px 48px}.hero-art img{max-width:590px}}
@media(max-width:1100px){.main-nav{gap:22px}.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero h1{font-size:42px}.hero-copy{padding:32px 0 28px 30px}.hero-actions>span{display:none}.hero-art:before{left:0}.hero-art:after{left:40px}.hero-art img{width:117%}.art-caption{left:17px;right:22px}.management-layout{grid-template-columns:235px minmax(0,1fr);gap:16px}.summary-card{padding:20px}.summary-card>strong{font-size:26px}.roster-summary{gap:19px}.roster-heading{padding:21px}.roster-heading h2{font-size:18px}th,td{padding:12px}.site-footer{margin:0 30px;flex-wrap:wrap}.site-footer>div{flex-wrap:wrap}}
@media(max-width:760px){.site-header{height:120px}.header-inner{padding:14px 20px 0;flex-wrap:wrap;gap:0;align-content:space-between}.brand{font-size:17px}.brand small{font-size:8px;letter-spacing:1.6px}.brand-mark{width:35px;height:40px}.brand-mark svg{width:30px}.account-button{font-size:12px}.account-button small{font-size:9px}.avatar{width:33px;height:33px}.main-nav{order:3;width:100%;height:44px;justify-content:space-between;gap:10px}.main-nav a{font-size:12px;justify-content:center;flex:1}.page-shell{padding:20px 20px 35px}.hero{min-height:325px;grid-template-columns:1.1fr .85fr}.hero-copy{padding:27px 0 22px 25px}.hero .eyebrow{font-size:8px;letter-spacing:1.1px}.hero h1{font-size:34px;line-height:1.4;letter-spacing:-1px;margin-top:12px}.hero-copy>p{font-size:11px;margin-top:12px;line-height:1.9}.hero-actions{margin-top:18px}.hero-actions .button-primary{font-size:11px;padding:10px 12px;min-height:39px}.hero-trust{gap:10px;margin-top:18px}.hero-trust>span{font-size:8px;gap:3px}.hero-trust .icon{width:10px}.hero-art{padding:0}.hero-art img{width:155%;max-width:none;transform:translate(-3px,8px)}.hero-art:before{width:260px;height:260px;top:30px;left:-22px}.hero-art:after{width:200px;height:200px;top:60px;left:8px}.hero-label{right:15px;top:20px;font-size:7px;letter-spacing:1.6px}.art-caption{display:none}.events-section{margin-top:30px;scroll-margin-top:140px}.section-title{margin-bottom:18px}.section-title h2{font-size:22px}.section-title .eyebrow{font-size:8px}.heading-count{font-size:10px;margin-left:9px}.section-note{font-size:10px}.section-note .icon{display:none}.date-selector{padding:7px;gap:4px}.date-option{min-width:60px;padding:11px 8px}.date-option.all-dates{min-width:110px}.date-option strong{font-size:16px}.all-dates strong{font-size:11px}.all-dates span{font-size:8px}.filter-row{margin:17px 0}.filter-chips{gap:6px}.filter-chip{font-size:10px;padding:7px 9px}.result-count{font-size:9px}.event-grid{gap:14px}.event-card{padding:18px 17px}.card-top{margin-bottom:19px}.card-heading{gap:12px;min-height:66px;margin-bottom:17px}.event-card h3{font-size:15px}.date-tile{width:46px;min-width:46px;padding-right:10px}.card-bottom{gap:5px}.price{font-size:20px}.card-bottom .small{font-size:10px;padding:8px 10px;gap:6px}.avatars>small{font-size:8px}.club-note{padding:21px 20px;gap:14px}.club-note h3{font-size:13px}.club-note p{font-size:10px}.club-note>.text-button{display:none}.site-footer{margin:0 20px;padding:22px 0;gap:15px;font-size:8px}.footer-brand{font-size:9px}.site-footer>div{gap:9px}.inner-page{padding-top:30px}.page-heading{align-items:flex-start;margin-bottom:22px}.page-heading h1{font-size:27px}.page-heading p{font-size:11px}.page-heading>.button-primary,.page-heading>.button-outline{font-size:11px;padding:9px 12px;gap:6px;margin-top:16px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.summary-grid.three{gap:10px}.summary-card{padding:18px 15px;gap:12px}.summary-card>span{font-size:10px}.summary-card>strong{font-size:24px}.summary-card strong small{font-size:9px}.summary-card>.icon{display:none}.summary-card>.stat-foot{font-size:9px}.notice{padding:15px;margin-bottom:26px}.notice strong{font-size:11px}.notice span{font-size:10px}.my-card{padding:20px;gap:17px}.my-card .date-tile{min-width:50px;width:50px;padding-right:13px}.my-card h3{font-size:16px;line-height:1.7}.my-card p{font-size:10px}.my-card-actions>strong{font-size:16px}.my-card-info>small{font-size:9px;line-height:1.7}.my-card-actions .button-outline{font-size:10px;padding:9px}.management-layout{grid-template-columns:1fr}.event-sidebar{display:flex;overflow-x:auto;border-radius:12px}.sidebar-heading{display:none}.manage-event{min-width:200px;max-width:200px;border-top:0;border-right:1px solid var(--line);padding:15px 27px 15px 16px}.manage-event.selected{box-shadow:inset 0 -3px var(--pine)}.manage-event>.icon{display:none}.manage-event>strong{font-size:11px}.manage-event>span{font-size:9px}.roster-heading h2{font-size:19px}.roster-summary{justify-content:space-between;gap:10px}.roster-summary strong{font-size:19px}.demo-notice{font-size:10px;padding-top:0}.roster-panel{margin-top:3px}}
@media(max-width:500px){.page-shell{padding-left:16px;padding-right:16px}.header-inner{padding-left:18px;padding-right:18px}.hero{grid-template-columns:1.2fr .8fr;min-height:304px;border-radius:14px}.hero-copy{padding:24px 0 22px 22px}.hero h1{font-size:34px}.hero-copy>p{font-size:10px;line-height:1.9;white-space:nowrap}.hero-art img{width:220%;transform:translate(-4px,4px);opacity:.94}.hero-art{align-items:center;overflow:hidden}.hero-label{font-size:6px;letter-spacing:1px;right:9px;top:21px}.hero-art:before{width:210px;height:210px;left:-35px;top:54px}.hero-art:after{width:160px;height:160px;left:-10px;top:79px}.hero-trust{gap:10px;white-space:nowrap}.hero-trust>span{font-size:8px}.hero-trust>span:last-child{display:none}.hero-actions .button-primary{padding:10px 14px;font-size:11px}.hero .eyebrow{font-size:6.5px;letter-spacing:1px;white-space:nowrap}.hero .eyebrow>span{width:4px;height:4px}.section-title h2{font-size:21px}.section-note{font-size:9px;white-space:nowrap}.heading-count{font-size:9px;margin-left:7px}.section-title .eyebrow{font-size:7px;letter-spacing:1.2px}.date-option{min-width:59px}.date-option.all-dates{min-width:102px}.date-option>span:first-child{font-size:9px}.all-dates strong{font-size:11px}.filter-row{gap:8px;align-items:center}.filter-chips{gap:5px}.filter-chip{font-size:9px;padding:7px 9px}.filter-chip .icon{width:11px}.result-count{display:none}.event-grid{grid-template-columns:1fr;gap:15px}.event-card{padding:21px 23px 19px}.card-top{margin-bottom:21px}.category{font-size:11px}.badge{font-size:10px}.event-card h3{font-size:18px}.card-heading{gap:18px;min-height:65px}.card-time{font-size:11px}.date-tile{width:52px;min-width:52px}.date-tile strong{font-size:32px}.date-tile span{font-size:10px}.card-meta{font-size:11px}.card-tags span{font-size:10px}.capacity-line{margin-top:20px}.avatars>small{font-size:10px}.avatars>span{width:25px;height:25px;font-size:8px}.card-bottom .small{font-size:12px;padding:10px 14px;min-height:40px}.price{font-size:24px}.price small{font-size:11px}.price span{font-size:10px}.card-bottom{padding-top:17px}.club-note{padding:20px 17px;gap:12px;align-items:flex-start}.note-icon{width:33px;height:33px}.note-icon .icon{width:21px}.club-note h3{font-size:12px;line-height:1.6}.club-note p{font-size:10px}.site-footer{margin-left:18px;margin-right:18px}.site-footer>div:last-child{font-size:8px;gap:7px;line-height:1.7}.page-heading{flex-direction:column;gap:3px}.page-heading h1{font-size:28px}.page-heading>.button-primary,.page-heading>.button-outline{margin-top:10px;font-size:12px}.page-heading p{font-size:11px}.summary-grid.three{gap:8px}.summary-grid.three .summary-card{padding:16px 11px}.summary-card>strong{font-size:24px}.summary-grid.three .summary-card>strong{font-size:22px}.summary-grid.three .summary-card strong small{font-size:8px}.summary-card>span{font-size:10px}.my-card{gap:14px;flex-wrap:wrap;padding:18px}.my-card-info{min-width:170px}.my-card h3{font-size:15px}.my-card .date-tile{min-width:40px;width:40px;padding-right:9px}.my-card .date-tile strong{font-size:30px}.my-card-actions{width:100%;flex-direction:row;align-items:center;border-top:1px solid var(--line);padding-top:14px;gap:12px}.my-card-actions>strong{margin-right:auto;font-size:16px}.my-card-actions .text-button{font-size:10px;order:2}.my-card-actions .button-outline{font-size:10px;order:3}.my-card .badge{font-size:9px}.my-card p{font-size:10px}.roster-heading{padding:21px 18px}.roster-heading h2{font-size:17px}.roster-heading p{font-size:10px}.roster-toolbar{padding:16px 13px;gap:7px}.roster-toolbar .button-primary.small{font-size:10px;padding:9px;gap:3px}.roster-toolbar .button-outline.small{padding:9px}.roster-summary{padding:16px 18px}.roster-summary>span{font-size:9px}.roster-summary strong{font-size:17px;margin-right:3px}th,td{padding:12px 10px}th:first-child,td:first-child{padding-left:16px}table{font-size:11px}td>.badge{font-size:9px}.roster-bottom{padding:15px;flex-wrap:wrap}.roster-bottom small{font-size:8px}.activity-log{padding:16px}.activity-log>div{gap:12px;font-size:10px}.demo-notice{align-items:flex-start;font-size:10px;line-height:1.9}dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);border-radius:14px}#dialogContent{padding:22px}.dialog-heading h2{font-size:21px}.dialog-heading .eyebrow{font-size:8px;letter-spacing:1px}.detail-facts strong{font-size:12px}.detail-facts span{font-size:10px}.detail-section p{font-size:12px}.rules-box{padding:16px}.rules-box ul{font-size:10px}.dialog-footer{bottom:-22px;padding-top:18px}.dialog-footer .button-primary,.dialog-footer .button-outline{padding:12px;font-size:11px;gap:8px}.dialog-footer .price{font-size:23px}.dialog-footer .price span{font-size:10px}.form-grid.three{grid-template-columns:1fr 1fr}.form-grid.three>.field:first-child{grid-column:1/-1}.field input,.field select,.field textarea{font-size:16px}.booking-recap strong{font-size:13px}.booking-recap span{font-size:10px}.form-actions .button-primary,.form-actions .button-outline,.form-actions .button-danger{font-size:12px}.profile-intro p{font-size:11px}.toast{bottom:15px;font-size:11px;padding:12px 17px}}
@media(max-width:500px){.hero-copy>p{font-size:11px}.hero-trust>span{font-size:9px}.card-meta,.card-time{font-size:12px}.card-tags span,.avatars>small{font-size:11px}.roster-heading p,.notice span,.my-card p{font-size:11px}.manage-event>strong{font-size:12px}.manage-event>span,.manage-event>small{font-size:10px}.promotion-callout{flex-direction:column;align-items:flex-start}.roster-bottom small{font-size:10px}}
@media(max-width:500px){.hero-art{position:absolute;right:-25px;bottom:-10px;width:200px;height:190px;overflow:visible}.hero-art img{width:220px;flex-shrink:0;transform:none}.hero-art:before,.hero-art:after,.hero-label{display:none}#eventForm .form-grid.three:first-of-type{grid-template-columns:1fr}}
@media(max-width:500px){.sport-filter{align-items:flex-start;gap:10px;flex-direction:column;margin-top:18px}.sport-filter>div{width:100%;gap:6px}.sport-filter-button{padding:9px 11px;font-size:11px;flex:1}.sport-tag{font-size:10px}.template-box,.preset-roster{padding:15px}.preset-roster-head{gap:10px}.field-help{font-size:11px}#eventForm .date-fields{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Shared registration and identity */
[hidden]{display:none!important}
.connection-status{max-width:1180px;margin:0 auto;padding:12px 36px 0;display:flex;align-items:center;justify-content:flex-end;gap:14px;color:var(--muted);font-size:11px;min-height:35px;line-height:1.6}
.connection-status.is-offline{color:var(--warn)}
.connection-status .text-button{font-size:11px;white-space:nowrap}
#accountArea{flex-shrink:0}#accountArea>.button-primary{font-size:12px;padding:10px 15px;white-space:nowrap}
.account-name{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
button:disabled{cursor:wait;opacity:.55}a.button-primary,a.button-outline{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.rules-box p+p{margin-top:12px}.empty-state>.button-primary{margin-top:18px}.page-heading h1{overflow-wrap:anywhere}
@media(max-width:760px){.connection-status{padding:10px 20px 0;font-size:10px;justify-content:space-between}.account-name{max-width:95px}#accountArea>.button-primary{font-size:11px;padding:9px 11px}}

/* Guest access and host applications */
.header-account{display:flex;align-items:center;gap:14px;margin-left:auto}.host-signin{font-size:11px;color:var(--muted);text-decoration:none;white-space:nowrap}.host-signin:hover{color:var(--accent-text)}
.profile-tools{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.profile-tools button{font-size:12px}.guest-access-note{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:12px;padding:16px 20px;margin:0 0 24px}.guest-access-note p{font-size:12px;color:var(--text-2);line-height:1.8}.guest-access-note .profile-tools{margin:0;flex-shrink:0}.guest-access-note button{white-space:nowrap}
.host-applications{margin:0 0 28px;padding:20px;border:1px solid var(--border-2);border-radius:14px;background:var(--surface)}.host-applications .section-title{margin-bottom:15px}.host-applications h2{font-size:18px}.host-application-list{display:grid;gap:10px}.host-application-card{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px;border-radius:10px;background:var(--bg-2);border:1px solid var(--border)}.host-application-card strong{font-size:13px}.host-application-card p{font-size:12px;color:var(--text-2);margin:6px 0;overflow-wrap:anywhere}.host-application-card small{font-size:11px;color:var(--muted)}.host-application-actions{display:flex;gap:12px;align-items:center;flex-shrink:0}.host-application-status{margin:15px 0;padding:12px 15px;border:1px solid var(--accent-line);border-radius:10px;color:var(--accent-text);font-size:12px;line-height:1.8}
#privateManagementLink{font-size:12px;direction:ltr}
@media(max-width:760px){.header-account{gap:9px}.host-signin{font-size:10px}.header-account .account-name{max-width:90px}.header-account .avatar{display:none}.guest-access-note{align-items:flex-start;flex-direction:column;padding:16px}.host-application-card{align-items:flex-start;flex-direction:column}.host-applications{padding:15px}.host-applications h2{font-size:16px}}

/* Host credentials and retained activity records */
.host-login-button{padding:0;border:0;background:none;color:var(--text-2);font-size:11px;white-space:nowrap}.host-login-button:hover{color:var(--accent-text)}
.event-recycle{margin-top:26px;padding:20px;border:1px solid var(--border-2);border-radius:14px;background:var(--surface)}.event-recycle .section-title{margin-bottom:12px}.event-recycle h2{font-size:18px}.recycle-list{display:grid;gap:12px;margin-top:16px}.recycle-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;background:var(--bg-2);border:1px solid var(--border);border-radius:10px}.recycle-card h3{font-size:14px;margin:8px 0;overflow-wrap:anywhere}.recycle-card p,.recycle-card small{font-size:11px;color:var(--muted);line-height:1.8}.recycle-card>.button-outline{flex-shrink:0}.recycle-empty{margin-top:14px}.archive-table{margin:20px 0;border:1px solid var(--border);border-radius:10px}.archive-table table{min-width:420px}.field input[readonly]{color:var(--muted);background:var(--bg-2)}
@media(max-width:760px){.header-account{gap:8px}.host-login-button,.host-signin{font-size:10px}.header-account .account-name{max-width:70px}.header-account .account-button{gap:5px}.event-recycle{padding:16px}.recycle-card{padding:14px;align-items:flex-start;flex-direction:column}.event-recycle h2{font-size:16px}.guest-access-note .profile-tools{flex-shrink:1}}
@media(max-width:400px){.header-account .account-name small{display:none}.header-account .chevron{display:none}.header-account .account-name{font-size:11px}.header-account{gap:7px}.brand{font-size:16px}.brand-mark{width:30px}}

/* Shared account access */
.auth-help-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px}.auth-help-row .text-button{font-size:12px}.profile-account-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.profile-account-details .field{margin:0}.profile-account-details input{min-width:0;font-size:12px}.header-account .host-login-button{font-size:11px}
@media(max-width:500px){.profile-account-details{grid-template-columns:1fr}.header-account .host-login-button{font-size:10px}.auth-help-row{gap:12px}}
