:root {
  --canvas: #f4f6fa;
  --surface: #ffffff;
  --surface-soft: #f8fafc;
  --surface-blue: #f1f6ff;
  --navy: #0b1426;
  --navy-2: #17233a;
  --text: #172033;
  --muted: #667085;
  --muted-2: #98a2b3;
  --line: #e5e9f0;
  --line-strong: #d6dce6;
  --blue: #2f6fed;
  --blue-dark: #2157c8;
  --gold: #f4c542;
  --gold-soft: #fff8dc;
  --green: #1f9d68;
  --red: #e5484d;
  --orange: #e66a2c;
  --shadow-sm: 0 1px 2px rgba(11, 20, 38, .05), 0 4px 14px rgba(11, 20, 38, .04);
  --shadow: 0 12px 34px rgba(11, 20, 38, .08);
  --radius-sm: 10px;
  --radius: 16px;
  --radius-lg: 22px;
  --sidebar: 256px;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { min-height: 100%; background: var(--canvas); font-size: 17px; }
body {
  min-height: 100vh;
  margin: 0;
  color: var(--text);
  background: var(--canvas);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img, video { max-width: 100%; }
svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--navy); font-family: Manrope, Inter, -apple-system, sans-serif; }
h1 { letter-spacing: -.045em; }
h2 { letter-spacing: -.025em; }
:focus-visible { outline: 3px solid rgba(47, 111, 237, .28); outline-offset: 2px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.muted, .help-text, .helptext { color: var(--muted); }
.accent-blue { color: var(--blue)!important; }
.accent-gold { color: #a87500!important; }
.accent-lime { color: var(--green)!important; }
.accent-orange { color: var(--orange)!important; }

/* Shell */
.app-shell { min-height: 100vh; }
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 30;
  display: flex;
  width: var(--sidebar);
  flex-direction: column;
  border-right: 1px solid var(--line);
  background: rgba(255, 255, 255, .97);
  box-shadow: 2px 0 18px rgba(11, 20, 38, .025);
}
.brand { display: flex; align-items: center; gap: 11px; padding: 22px 20px 16px; }
.brand img { width: 42px; height: 42px; filter: drop-shadow(0 5px 10px rgba(47,111,237,.13)); }
.brand > span > strong { display: block; color: var(--navy); font-size: 1.05rem; font-weight: 850; letter-spacing: .08em; }
.brand > span > span { display: block; color: var(--muted); font-size: .65rem; font-weight: 700; letter-spacing: .08em; }
.workspace-chip { display: grid; grid-template-columns: 34px 1fr; gap: 9px; align-items: center; margin: 0 13px 12px; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-soft); }
.workspace-mark { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; background: var(--navy); color: #fff; font-size: .68rem; font-weight: 850; }
.workspace-chip strong, .workspace-chip small { display: block; }
.workspace-chip strong { color: var(--navy); font-size: .75rem; }
.workspace-chip small { color: var(--muted); font-size: .64rem; }
.nav { display: grid; gap: 3px; overflow-y: auto; padding: 0 11px 18px; }
.sidebar-section { padding: 15px 10px 5px; color: var(--muted-2); font-size: .64rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.nav-link { display: flex; min-height: 44px; align-items: center; gap: 10px; padding: 9px 11px; border-radius: 10px; color: #48566d; font-size: .81rem; font-weight: 650; transition: .18s ease; }
.nav-link:hover { background: #f0f4fa; color: var(--navy); }
.nav-link.active { background: var(--navy); color: #fff; box-shadow: 0 8px 18px rgba(11, 20, 38, .13); }
.nav-icon { display: grid; width: 24px; height: 24px; place-items: center; color: var(--blue); }
.nav-link.active .nav-icon { color: var(--gold); }
.nav-count { margin-left: auto; min-width: 21px; padding: 2px 6px; border-radius: 99px; background: var(--red); color: #fff; font-size: .62rem; text-align: center; }
.sidebar-footer { margin-top: auto; border-top: 1px solid var(--line); padding: 14px; background: #fbfcfe; }
.user-mini { display: grid; grid-template-columns: 38px 1fr; gap: 10px; align-items: center; }
.avatar { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: linear-gradient(135deg, var(--blue), #6b8ff0); color: #fff; font-weight: 850; }
.user-mini strong, .user-mini span span { display: block; }
.user-mini strong { overflow: hidden; color: var(--navy); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.user-mini span span { color: var(--muted); font-size: .65rem; }
.system-link, .logout-button { display: block; width: 100%; margin-top: 9px; border: 0; background: transparent; color: var(--muted); font-size: .7rem; text-align: left; }
.system-link:hover, .logout-button:hover { color: var(--blue); }
.main-shell { min-height: 100vh; margin-left: var(--sidebar); }
.topbar { position: sticky; top: 0; z-index: 20; display: flex; min-height: 72px; align-items: center; justify-content: space-between; gap: 20px; padding: 12px clamp(20px, 4vw, 44px); border-bottom: 1px solid rgba(229,233,240,.9); background: rgba(255,255,255,.9); backdrop-filter: blur(16px); }
.topbar-heading { display: flex; align-items: center; gap: 12px; }
.topbar-kicker { color: var(--blue); font-size: .64rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.topbar-title { margin: 1px 0 0; font-size: clamp(1.15rem, 2vw, 1.45rem); }
.topbar-tools { display: flex; align-items: center; gap: 12px; }
.today-chip { padding-right: 14px; border-right: 1px solid var(--line); text-align: right; }
.today-chip span, .today-chip strong { display: block; }
.today-chip span { color: var(--muted); font-size: .61rem; text-transform: uppercase; }
.today-chip strong { color: var(--navy); font-size: .72rem; }
.menu-toggle { display: none; width: 42px; height: 42px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.menu-toggle span { display: block; height: 2px; margin: 4px 0; border-radius: 2px; background: var(--navy); }
.content { width: min(1480px, 100%); margin: 0 auto; padding: 30px clamp(20px, 4vw, 44px) 64px; }

/* Shared components */
.eyebrow { margin: 0 0 7px; color: var(--blue); font-size: .67rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.btn { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 7px; padding: 9px 15px; border: 1px solid transparent; border-radius: 10px; font-weight: 750; transition: .18s ease; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--blue); color: #fff; box-shadow: 0 8px 18px rgba(47,111,237,.18); }
.btn-primary:hover { background: var(--blue-dark); }
.btn-secondary { border-color: var(--line-strong); background: #fff; color: var(--navy); }
.btn-secondary:hover { border-color: #b9c3d2; background: var(--surface-soft); }
.btn-danger { border-color: #f2c5c7; background: #fff5f5; color: var(--red); }
.btn-small { min-height: 34px; padding: 6px 11px; border-radius: 8px; font-size: .72rem; }
.btn-block { width: 100%; }
.panel { margin-bottom: 18px; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.panel-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.panel-header h2 { margin-bottom: 2px; font-size: 1.08rem; }
.panel-subtitle { margin: 0; color: var(--muted); font-size: .74rem; }
.section-title { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 28px 0 14px; }
.section-title.compact { margin-top: 10px; }
.section-title h2 { margin: 0; font-size: 1.22rem; }
.text-link { color: var(--blue); font-size: .74rem; font-weight: 750; }
.badge { display: inline-flex; min-height: 24px; align-items: center; padding: 3px 9px; border-radius: 99px; background: #eef1f5; color: #596579; font-size: .62rem; font-weight: 800; white-space: nowrap; }
.badge-success { background: #eaf8f2; color: #15724b; }
.badge-warning { background: #fff5d6; color: #8f6800; }
.badge-danger { background: #fff0f1; color: #b9383e; }
.badge-info { background: #edf4ff; color: #245bb9; }
.badge-muted { background: #eef1f5; color: #667085; }
.badge-premium { border: 1px solid #ebca65; background: var(--gold-soft); color: #8b6500; }
.messages { display: grid; gap: 8px; margin-bottom: 16px; }
.message { padding: 11px 14px; border: 1px solid #b8e2ce; border-radius: 10px; background: #effaf5; color: #136542; font-size: .78rem; }
.message.error { border-color: #f1c0c3; background: #fff4f4; color: #a52f35; }
.empty, .empty-state { padding: 30px 18px; color: var(--muted); text-align: center; }
.empty-state.compact { padding: 22px 14px; }
.empty-state strong { display: block; color: var(--navy); }
.empty-state p { max-width: 480px; margin: 5px auto 13px; font-size: .75rem; }
.empty-icon { display: grid; width: 44px; height: 44px; margin: 0 auto 10px; place-items: center; border-radius: 13px; background: var(--surface-blue); color: var(--blue); font-weight: 850; }

/* Hero and dashboards */
.hero, .dashboard-welcome, .evaluation-hero { position: relative; overflow: hidden; margin-bottom: 20px; padding: clamp(26px, 4vw, 42px); border: 1px solid #dce4f0; border-radius: var(--radius-lg); background: linear-gradient(125deg, #fff 0%, #f4f8ff 68%, #fff9e8 100%); box-shadow: var(--shadow-sm); }
.hero::after, .dashboard-welcome::after { content: ""; position: absolute; right: -75px; top: -92px; width: 240px; height: 240px; border: 28px solid rgba(47,111,237,.06); border-radius: 50%; box-shadow: 0 0 0 30px rgba(244,197,66,.05); }
.hero h1, .dashboard-welcome h1, .evaluation-hero h1 { position: relative; z-index: 1; max-width: 800px; margin-bottom: 10px; font-size: clamp(2rem, 4vw, 3.45rem); line-height: 1.05; }
.hero p, .dashboard-welcome p, .evaluation-hero p { position: relative; z-index: 1; max-width: 720px; color: var(--muted); }
.hero-actions { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
.dashboard-welcome { display: grid; grid-template-columns: 1fr 190px; gap: 25px; align-items: center; }
.welcome-score { position: relative; z-index: 2; padding: 16px; border: 1px solid #d9e3f1; border-radius: 14px; background: rgba(255,255,255,.8); }
.welcome-score span, .welcome-score strong, .welcome-score small { display: block; }
.welcome-score span { color: var(--blue); font-size: .62rem; font-weight: 850; text-transform: uppercase; }
.welcome-score strong { margin: 4px 0; color: var(--navy); font-size: 1.15rem; }
.welcome-score small { color: var(--muted); font-size: .66rem; }
.stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin: 18px 0; }
.dashboard-stats { grid-template-columns: repeat(5, minmax(0,1fr)); }
.stat-card { min-width: 0; padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: var(--shadow-sm); transition: .18s ease; }
a.stat-card:hover { border-color: #c9d7ed; transform: translateY(-2px); box-shadow: var(--shadow); }
.stat-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.stat-label { color: var(--muted); font-size: .68rem; font-weight: 700; }
.stat-value { overflow: hidden; margin: 7px 0 2px; color: var(--navy); font-size: clamp(1.45rem, 2.5vw, 2.05rem); font-weight: 850; line-height: 1.05; text-overflow: ellipsis; }
.money-value { font-size: clamp(1.15rem, 1.8vw, 1.62rem); }
.stat-note { color: var(--muted-2); font-size: .63rem; }
.metric-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--blue); }
.metric-dot.orange { background: var(--orange); }.metric-dot.lime { background: var(--green); }.metric-dot.blue { background: var(--blue); }
.trend-pill { padding: 2px 7px; border-radius: 99px; background: #eef1f5; color: var(--muted); font-size: .57rem; font-weight: 800; }
.trend-pill.good { background: #eaf8f2; color: var(--green); }.trend-pill.warning { background: #fff2d5; color: #976800; }
.workflow-section { margin: 26px 0 20px; }
.workflow-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; }
.workflow-card { position: relative; min-height: 185px; padding: 17px; border: 1px solid var(--line); border-radius: 15px; background: #fff; transition: .18s ease; }
.workflow-card:hover { border-color: #b8c8e2; transform: translateY(-2px); box-shadow: var(--shadow); }
.workflow-card.primary { border-color: #b9ccef; background: linear-gradient(145deg,#f7faff,#fff); }
.workflow-number { display: block; color: var(--muted-2); font-size: .62rem; font-weight: 850; }
.workflow-icon { display: grid; width: 38px; height: 38px; margin: 11px 0; place-items: center; border-radius: 11px; background: var(--navy); color: var(--gold); font-size: .7rem; font-weight: 850; }
.workflow-card strong, .workflow-card small, .workflow-action { display: block; }
.workflow-card strong { color: var(--navy); font-size: .82rem; }
.workflow-card small { margin-top: 3px; color: var(--muted); font-size: .66rem; }
.workflow-action { position: absolute; bottom: 15px; color: var(--blue); font-size: .64rem; font-weight: 750; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0,1.8fr) minmax(260px,.7fr); gap: 16px; align-items: start; }
.dashboard-side { display: grid; gap: 0; }
.counter-bubble { display: grid; min-width: 28px; height: 28px; place-items: center; border-radius: 50%; background: var(--navy); color: #fff; font-size: .68rem; font-weight: 800; }
.action-list { display: grid; }
.action-item { display: grid; grid-template-columns: 5px 1fr auto; gap: 10px; align-items: center; padding: 12px 0; border-top: 1px solid var(--line); }
.action-indicator { width: 5px; height: 34px; border-radius: 6px; background: var(--blue); }
.action-item.warning .action-indicator { background: var(--gold); }.action-item.danger .action-indicator { background: var(--red); }
.action-item strong, .action-item small { display: block; }.action-item strong { color: var(--navy); font-size: .73rem; }.action-item small { color: var(--muted); font-size: .63rem; }.action-item b { color: var(--blue); font-size: .61rem; }
.all-clear { padding: 22px 10px; text-align: center; }.all-clear span { display: grid; width: 36px; height: 36px; margin: 0 auto 8px; place-items: center; border-radius: 50%; background: #eaf8f2; color: var(--green); }.all-clear strong,.all-clear small { display:block; }.all-clear small { color:var(--muted); font-size:.65rem; }
.quick-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }
.quick-grid a { display: flex; min-height: 58px; align-items: center; gap: 9px; padding: 10px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-soft); }
.quick-grid a:hover { border-color: #bfd0eb; background: var(--surface-blue); }
.quick-grid span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; background: #e7efff; color: var(--blue); font-weight: 850; }.quick-grid strong { color:var(--navy); font-size:.69rem; }

/* Schedules and lists */
.schedule-timeline, .card-list, .list { display: grid; }
.schedule-row { display: grid; grid-template-columns: 54px 12px minmax(180px,1fr) 120px auto; gap: 11px; align-items: center; padding: 12px 2px; border-top: 1px solid var(--line); }
.schedule-row:hover .schedule-main strong { color: var(--blue); }
.schedule-time strong, .schedule-time span { display:block; }.schedule-time strong { color:var(--navy); font-size:.78rem; }.schedule-time span { color:var(--muted); font-size:.62rem; }
.timeline-dot { width: 8px; height: 8px; border: 2px solid #cbd3df; border-radius: 50%; }.timeline-dot.live { border-color: var(--green); background: var(--green); box-shadow: 0 0 0 4px #e7f6ef; }
.schedule-main strong, .schedule-main span { display:block; }.schedule-main strong { color:var(--navy); font-size:.76rem; }.schedule-main span { color:var(--muted); font-size:.64rem; }
.capacity-meter span { color:var(--muted); font-size:.61rem; }.capacity-meter span b { color:var(--navy); }.capacity-meter div { height:4px; margin-top:4px; overflow:hidden; border-radius:4px; background:#edf0f4; }.capacity-meter i { display:block; height:100%; border-radius:4px; background:var(--blue); }
.coach-welcome { grid-template-columns: 1fr minmax(210px,.34fr); }
.next-mission { position:relative; z-index:2; padding:16px; border:1px solid #c9d8ef; border-radius:14px; background:#fff; }.next-mission span,.next-mission strong,.next-mission small { display:block; }.next-mission span { color:var(--blue); font-size:.61rem; font-weight:850; text-transform:uppercase; }.next-mission strong { margin:4px 0; color:var(--navy); font-size:1.05rem; }.next-mission small { color:var(--muted); font-size:.66rem; }
.coach-flow { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.coach-flow-four { grid-template-columns:repeat(4,1fr); }.coach-flow-five { grid-template-columns:repeat(5,1fr); }
.coach-step { display:grid; grid-template-columns:32px 1fr; gap:10px; min-height:92px; padding:13px; border:1px solid var(--line); border-radius:13px; background:#fff; }.coach-step:hover { border-color:#b9c9e2; box-shadow:var(--shadow-sm); }.coach-step > span { display:grid; width:32px; height:32px; place-items:center; border-radius:9px; background:#edf2fa; color:var(--muted); font-size:.62rem; font-weight:850; }.coach-step.active > span { background:var(--blue); color:#fff; }.coach-step.attention { border-color:#e9cf78; background:#fffdf5; }.coach-step strong,.coach-step small { display:block; }.coach-step strong { color:var(--navy); font-size:.75rem; }.coach-step small { color:var(--muted); font-size:.62rem; }.coach-step b { grid-column:2; color:var(--blue); font-size:.62rem; }.coach-step.disabled { opacity:.55; }
.coach-stats { grid-template-columns: repeat(3,1fr); }.coach-stats-four { grid-template-columns:repeat(4,1fr); }
.class-card-row { display:grid; grid-template-columns:52px minmax(180px,1fr) 70px auto 20px; gap:13px; align-items:center; padding:11px 2px; border-top:1px solid var(--line); }.class-card-row:hover .class-info strong { color:var(--blue); }.class-date { display:grid; width:48px; height:48px; place-items:center; align-content:center; border-radius:12px; background:var(--surface-blue); }.class-date strong { color:var(--blue); font-size:1.05rem; line-height:1; }.class-date span { color:var(--muted); font-size:.58rem; text-transform:uppercase; }.class-info strong,.class-info span { display:block; }.class-info strong { color:var(--navy); font-size:.76rem; }.class-info span { color:var(--muted); font-size:.64rem; }.participant-pill { text-align:center; }.participant-pill strong,.participant-pill span { display:block; }.participant-pill strong { color:var(--navy); }.participant-pill span { color:var(--muted); font-size:.59rem; }.row-arrow { color:var(--blue); }
.grid-2, .grid-3 { display:grid; gap:14px; }.grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }.grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.list-item, .quota-row { display:grid; grid-template-columns:auto 1fr auto; gap:11px; align-items:center; padding:11px 0; border-top:1px solid var(--line); }.date-chip { display:grid; min-width:45px; min-height:38px; place-items:center; padding:5px; border-radius:9px; background:var(--surface-blue); color:var(--blue); font-size:.63rem; font-weight:800; }.list-item strong,.list-meta { display:block; }.list-item strong,.quota-row strong { color:var(--navy); font-size:.73rem; }.list-meta { color:var(--muted); font-size:.62rem; }

/* Pages, forms, master data */
.page-intro, .list-page-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:22px; }
.page-intro h1, .list-page-head h1, .form-heading h1, .settings-hero h1 { margin-bottom:8px; font-size:clamp(2rem,4vw,3.2rem); line-height:1.05; }
.page-intro p:last-child, .list-page-head p:last-child, .form-heading > p { max-width:760px; margin-bottom:0; color:var(--muted); }
.master-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.master-group { padding:18px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow-sm); }.master-group.featured { border-color:#c6d5ec; }.master-group-head { display:flex; gap:11px; align-items:center; margin-bottom:13px; }.master-group-head > span { color:#d7deea; font-size:1.5rem; font-weight:850; }.master-group-head p,.master-group-head h2 { margin:0; }.master-group-head p { color:var(--blue); font-size:.6rem; font-weight:850; text-transform:uppercase; }.master-group-head h2 { font-size:.98rem; }.master-card { display:grid; grid-template-columns:40px 1fr auto 12px; gap:10px; align-items:center; padding:12px 0; border-top:1px solid var(--line); }.master-card:hover strong { color:var(--blue); }.master-card-icon { display:grid; width:36px; height:36px; place-items:center; border-radius:10px; background:var(--surface-blue); color:var(--blue); font-size:.66rem; font-weight:850; }.master-card strong,.master-card small { display:block; }.master-card strong { color:var(--navy); font-size:.74rem; }.master-card small { color:var(--muted); font-size:.61rem; }.master-card b { color:var(--navy); font-size:.72rem; }.master-card i { color:var(--blue); font-style:normal; }
.technical-callout { display:grid; grid-template-columns:44px 1fr auto; gap:13px; align-items:center; margin-top:16px; padding:16px; border:1px dashed #cdd5e0; border-radius:14px; background:#fafbfd; }.technical-icon { display:grid; width:40px; height:40px; place-items:center; border-radius:11px; background:#eef2f7; }.technical-callout strong,.technical-callout p { display:block; margin:0; }.technical-callout p { color:var(--muted); font-size:.68rem; }
.form-layout { display:grid; grid-template-columns:minmax(230px,.6fr) minmax(0,1.45fr); gap:28px; align-items:start; }.form-heading { position:sticky; top:96px; padding:12px 0; }.back-link { display:inline-block; margin-bottom:30px; color:var(--muted); font-size:.72rem; font-weight:750; }.back-link:hover { color:var(--blue); }.back-link.standalone { margin-bottom:14px; }.form-assurance { display:flex; gap:10px; align-items:center; margin-top:24px; padding:13px; border:1px solid #cce8dc; border-radius:12px; background:#f3fbf7; }.form-assurance > span:first-child { display:grid; width:28px; height:28px; place-items:center; border-radius:50%; background:#dff4e9; color:var(--green); }.form-assurance strong,.form-assurance small { display:block; }.form-assurance strong { font-size:.7rem; }.form-assurance small { color:var(--muted); font-size:.61rem; }
.operations-form, .form-card { overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow-sm); }.form-section-head { display:flex; justify-content:space-between; gap:12px; padding:16px 20px; border-bottom:1px solid var(--line); background:#fafbfd; }.form-section-head span { color:var(--navy); font-weight:800; }.form-section-head small { color:var(--muted); }.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:20px; }.field-wide,.field-checkbox { grid-column:1/-1; }.field-wrap label, form p > label { display:block; margin-bottom:6px; color:#344054; font-size:.7rem; font-weight:750; }.form-control, form p input, form p select, form p textarea { width:100%; min-height:43px; padding:9px 11px; border:1px solid var(--line-strong); border-radius:9px; background:#fff; color:var(--text); outline:0; }.form-control:focus, form p input:focus, form p select:focus, form p textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(47,111,237,.1); }.form-control:disabled { background:#f2f4f7; color:var(--muted); }.field-wrap textarea { resize:vertical; }.field-wrap .errorlist, .form-alert .errorlist { margin:6px 0 0; padding:0; color:var(--red); font-size:.68rem; list-style:none; }.help-text, .helptext { display:block; margin-top:5px; font-size:.62rem; }.form-alert { margin:16px 20px 0; padding:11px; border:1px solid #f0c4c7; border-radius:10px; background:#fff5f5; color:#a9363b; }
.checkbox-card { display:flex; gap:11px; align-items:flex-start; padding:12px; border:1px solid var(--line); border-radius:11px; background:var(--surface-soft); cursor:pointer; }.checkbox-card input { width:18px; height:18px; margin-top:2px; accent-color:var(--blue); }.checkbox-card strong,.checkbox-card small { display:block; }.checkbox-card small { color:var(--muted); font-weight:400; }
.sticky-form-actions { display:flex; justify-content:flex-end; gap:9px; padding:15px 20px; border-top:1px solid var(--line); background:#fafbfd; }
.settings-hero { display:grid; grid-template-columns:1fr 300px; gap:22px; align-items:center; margin-bottom:16px; padding:26px; border:1px solid #dce4f0; border-radius:var(--radius-lg); background:linear-gradient(120deg,#fff,#f3f7ff); }.pricing-logic { padding:14px; border:1px solid var(--line); border-radius:13px; background:#fff; }.pricing-logic > span { color:var(--muted); font-size:.6rem; font-weight:850; text-transform:uppercase; }.pricing-logic div { display:grid; grid-template-columns:1fr auto 1fr; gap:7px; align-items:center; padding:7px 0; border-bottom:1px solid var(--line); font-size:.68rem; }.pricing-logic div:last-child { border:0; }.pricing-logic i { color:var(--blue); font-style:normal; }.pricing-logic strong { color:var(--green); }.settings-section { display:grid; grid-template-columns:230px 1fr; padding:0; overflow:hidden; }.settings-section-head { padding:20px; border-right:1px solid var(--line); background:#fafbfd; }.settings-section-head > span { display:block; margin-bottom:16px; color:#d5dce7; font-size:1.8rem; font-weight:850; }.settings-section-head h2 { margin-bottom:4px; font-size:1rem; }.settings-section-head p { margin:0; color:var(--muted); font-size:.68rem; }.pricing-fields { grid-template-columns:repeat(3,1fr); }.money-input { display:flex; align-items:center; overflow:hidden; border:1px solid var(--line-strong); border-radius:9px; background:#fff; }.money-input:focus-within { border-color:var(--blue); box-shadow:0 0 0 3px rgba(47,111,237,.1); }.money-input span { padding:0 9px; color:var(--muted); font-size:.72rem; }.money-input .form-control { border:0; border-left:1px solid var(--line); border-radius:0; }.settings-savebar { position:sticky; bottom:12px; z-index:5; display:flex; justify-content:space-between; gap:15px; align-items:center; margin-top:14px; padding:13px 16px; border:1px solid #c8d5e9; border-radius:13px; background:rgba(255,255,255,.96); box-shadow:var(--shadow); backdrop-filter:blur(14px); }.settings-savebar strong,.settings-savebar small { display:block; }.settings-savebar small { color:var(--muted); font-size:.63rem; }

/* Tables and cards */
.data-panel { padding:0; overflow:hidden; }.table-toolbar { display:flex; justify-content:space-between; gap:13px; align-items:center; padding:14px 16px; border-bottom:1px solid var(--line); }.search-form { display:flex; width:min(650px,100%); gap:8px; }.search-form .form-control { min-height:38px; }.filter-form input { flex:1.5; }.filter-form select { flex:.75; }.result-count { color:var(--muted); font-size:.68rem; }.table-wrap { overflow:auto; }table,.data-table { width:100%; border-collapse:collapse; }th { padding:10px 12px; background:#f8fafc; color:var(--muted); font-size:.62rem; font-weight:800; letter-spacing:.05em; text-align:left; text-transform:uppercase; }td { padding:11px 12px; border-top:1px solid var(--line); color:#3e4a5d; font-size:.71rem; }.data-table th:first-child,.data-table td:first-child { padding-left:18px; }.identity-cell { display:flex; align-items:center; gap:9px; min-width:180px; }.table-avatar { display:grid; width:36px; height:36px; flex:0 0 auto; place-items:center; border-radius:10px; background:#e9effa; color:var(--navy); font-weight:850; text-transform:uppercase; }.member-avatar { background:#e8f2ff; color:var(--blue); }.identity-cell strong,.identity-cell small,.table-subline { display:block; }.identity-cell strong { color:var(--navy); }.identity-cell small,.table-subline { color:var(--muted); font-size:.62rem; }.access-ok { color:var(--green); }.access-off { color:var(--muted-2); }.row-action { color:var(--blue); font-size:.68rem; font-weight:800; white-space:nowrap; }.date-time-cell strong,.date-time-cell span { display:block; white-space:nowrap; }.date-time-cell span { color:var(--muted); font-size:.65rem; }.pagination { display:flex; justify-content:space-between; gap:11px; align-items:center; padding:13px 16px; border-top:1px solid var(--line); color:var(--muted); font-size:.68rem; }.pagination > div { display:flex; gap:7px; }
.resource-grid,.package-admin-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }.resource-card,.package-admin-card,.product-card { overflow:hidden; padding:19px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow-sm); }.resource-card:hover,.package-admin-card:hover,.product-card:hover { border-color:#c5d2e6; box-shadow:var(--shadow); }.resource-off,.package-off { opacity:.63; }.resource-card-top,.package-head,.resource-card-foot,.package-foot { display:flex; align-items:center; justify-content:space-between; gap:11px; }.range-target { display:grid; width:44px; height:44px; place-items:center; border:7px solid #e8effb; border-radius:50%; box-shadow:0 0 0 4px #fff3c8; }.range-target i { width:8px; height:8px; border-radius:50%; background:var(--blue); }.resource-card > p,.package-code { margin:17px 0 3px; color:var(--blue); font-size:.61rem; font-weight:850; letter-spacing:.09em; }.resource-card h2,.package-admin-card h2,.product-card h2 { margin-bottom:4px; font-size:1.04rem; }.resource-location { color:var(--muted); font-size:.68rem; }.resource-metrics { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin:16px 0; }.resource-metrics > span { padding:10px; border:1px solid var(--line); border-radius:10px; background:var(--surface-soft); }.resource-metrics small,.resource-metrics strong { display:block; }.resource-metrics small { color:var(--muted); font-size:.58rem; }.resource-metrics strong { color:var(--navy); font-size:.7rem; }.resource-card-foot,.package-foot { padding-top:12px; border-top:1px solid var(--line); color:var(--muted); font-size:.63rem; }.resource-card-foot a,.package-foot a { color:var(--blue); font-weight:800; }.online-dot,.offline-dot { display:inline-block; width:7px; height:7px; margin-right:5px; border-radius:50%; background:var(--green); }.offline-dot { background:#98a2b3; }.package-admin-card > p { min-height:40px; color:var(--muted); font-size:.71rem; }.package-code { margin:0; }.package-price,.price { margin:13px 0; color:var(--navy); font-size:1.45rem; font-weight:850; }.quota-highlight { display:flex; align-items:center; gap:11px; margin:13px 0; padding:12px; border:1px solid #d7e3f5; border-radius:11px; background:var(--surface-blue); }.quota-highlight > strong { color:var(--blue); font-size:1.8rem; line-height:1; }.quota-highlight span,.quota-highlight small { display:block; }.quota-highlight span { color:var(--navy); font-weight:800; }.quota-highlight small { color:var(--muted); font-size:.61rem; font-weight:400; }.product-card { display:flex; min-height:310px; flex-direction:column; }.product-card .btn { margin-top:auto; align-self:flex-start; }.product-benefit { margin:4px 0; color:#48566d; font-size:.7rem; }.private-plus-product { position:relative; border-color:#e4cd7d; background:linear-gradient(155deg,#fff,#fffdf5); }.private-plus-product::before { content:""; position:absolute; inset:0 0 auto; height:4px; background:linear-gradient(90deg,var(--gold),var(--blue)); }

/* Schedule detail */
.schedule-detail-hero { display:grid; grid-template-columns:1fr 180px; gap:22px; align-items:center; padding:26px; border:1px solid #dce4f0; border-radius:var(--radius-lg); background:linear-gradient(125deg,#fff,#f3f7ff); }.schedule-hero-status { display:flex; align-items:center; gap:9px; margin-bottom:12px; color:var(--muted); font-size:.68rem; }.schedule-detail-hero h1 { margin-bottom:8px; font-size:clamp(2rem,4vw,3.2rem); }.schedule-detail-hero p { margin:0; color:var(--muted); }.schedule-date-card { display:grid; place-items:center; padding:15px; border:1px solid #d6e1f2; border-radius:15px; background:#fff; text-align:center; }.schedule-date-card > span { color:var(--blue); font-size:.62rem; font-weight:850; text-transform:uppercase; }.schedule-date-card > strong { color:var(--navy); font-size:2.7rem; line-height:1.1; }.schedule-date-card > b { color:var(--navy); font-size:.74rem; }.schedule-date-card > small { margin-top:8px; padding-top:8px; border-top:1px solid var(--line); color:var(--muted); }.schedule-facts { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin:14px 0; }.schedule-facts > div { display:flex; align-items:center; gap:9px; padding:12px; border:1px solid var(--line); border-radius:12px; background:#fff; }.fact-icon { display:grid; width:31px; height:31px; place-items:center; border-radius:9px; background:var(--surface-blue); color:var(--blue); font-size:.61rem; font-weight:850; }.schedule-facts small,.schedule-facts strong { display:block; }.schedule-facts small { color:var(--muted); font-size:.58rem; }.schedule-facts strong { color:var(--navy); font-size:.7rem; }.participant-row { display:grid; grid-template-columns:40px minmax(170px,1fr) auto auto 90px; gap:10px; align-items:center; padding:10px; border-bottom:1px solid var(--line); }.participant-name strong,.participant-name small { display:block; }.participant-name strong { color:var(--navy); }.participant-name small { color:var(--muted); font-size:.62rem; }.checked-label { color:var(--green); font-size:.66rem; font-weight:800; }

/* Private Plus */
.private-plus-intro { padding-bottom:4px; }.evaluation-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }.evaluation-card { display:flex; min-height:285px; flex-direction:column; padding:20px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow-sm); transition:.2s ease; }.evaluation-card:hover { border-color:#c5d2e6; transform:translateY(-3px); box-shadow:var(--shadow); }.evaluation-card-top,.evaluation-card-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; }.evaluation-person { display:flex; gap:10px; align-items:center; margin:22px 0 16px; }.evaluation-person strong,.evaluation-person small { display:block; }.evaluation-person strong { color:var(--navy); }.evaluation-person small { color:var(--muted); font-size:.64rem; }.evaluation-meta { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; padding:11px; border-radius:11px; background:var(--surface-soft); }.evaluation-meta small,.evaluation-meta strong { display:block; }.evaluation-meta small { color:var(--muted); font-size:.58rem; }.evaluation-meta strong { color:var(--navy); font-size:.69rem; }.evaluation-card > p { margin:14px 0; color:var(--muted); font-size:.7rem; }.evaluation-card-foot { margin-top:auto; padding-top:12px; border-top:1px solid var(--line); color:var(--muted); font-size:.64rem; }.evaluation-card-foot strong { color:var(--blue); }.evaluation-empty { grid-column:1/-1; }
.evaluation-form-section + .evaluation-form-section { border-top:1px solid var(--line); }.upload-drop { padding:14px; border:1px dashed #c3cedd; border-radius:12px; background:#fafcfe; }.upload-drop input[type=file] { padding:8px; background:#fff; }.evaluation-form .sticky-form-actions { position:sticky; bottom:0; z-index:3; }
.evaluation-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }.hero-badges { display:flex; gap:7px; margin-bottom:12px; }.analysis-intro { display:grid; grid-template-columns:1.4fr .8fr; gap:24px; align-items:center; padding:24px; }.analysis-intro h2 { margin:0; font-size:clamp(1.25rem,2.4vw,1.8rem); line-height:1.3; }.recommendation-box { padding:16px; border-left:3px solid var(--gold); border-radius:0 12px 12px 0; background:var(--gold-soft); }.recommendation-box span { color:#8b6500; font-size:.62rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }.recommendation-box p { margin:5px 0 0; color:#4f4530; font-size:.75rem; }.analysis-help { max-width:500px; margin:0; color:var(--muted); font-size:.68rem; text-align:right; }.video-compare-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }.video-analysis-card { overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow-sm); }.video-card-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 16px; }.video-card-head small,.video-card-head strong { display:block; }.video-card-head small { color:var(--blue); font-size:.58rem; font-weight:850; text-transform:uppercase; }.video-card-head strong { color:var(--navy); }.video-card-head time { color:var(--muted); font-size:.66rem; }.video-stage { position:relative; width:100%; overflow:hidden; background:#080d17; aspect-ratio:16/9; }.video-stage video { display:block; width:100%; height:100%; object-fit:contain; }.video-stage canvas { position:absolute; inset:0; z-index:2; width:100%; height:100%; pointer-events:none; }.video-stage canvas.drawing { cursor:crosshair; pointer-events:auto; }.video-toolbar { display:flex; flex-wrap:wrap; gap:6px; align-items:center; padding:10px 12px; border-bottom:1px solid var(--line); background:#fafbfd; }.video-toolbar label { display:flex; align-items:center; gap:6px; color:var(--muted); font-size:.62rem; font-weight:750; }.video-toolbar select,.video-toolbar button { min-height:32px; padding:5px 8px; border:1px solid var(--line-strong); border-radius:7px; background:#fff; color:var(--navy); font-size:.64rem; }.video-toolbar button:hover,.video-toolbar button.active { border-color:var(--blue); background:var(--surface-blue); color:var(--blue); }.toolbar-divider { width:1px; height:24px; margin:0 2px; background:var(--line); }.coach-video-note { padding:14px 16px 16px; }.coach-video-note > span { display:block; margin-bottom:6px; color:var(--muted); font-size:.61rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }.coach-video-note textarea { width:100%; padding:9px 10px; border:1px solid var(--line-strong); border-radius:9px; resize:vertical; }.coach-video-note p { margin:0; color:#48566d; font-size:.73rem; }.coach-video-note .btn { margin-top:8px; }.coach-video-note [data-save-status] { margin-left:8px; color:var(--green); font-size:.62rem; }.evaluation-mini-list { display:grid; }.evaluation-mini-list a { display:grid; grid-template-columns:auto 1fr auto; gap:10px; align-items:center; padding:10px 0; border-top:1px solid var(--line); }.evaluation-mini-list strong,.evaluation-mini-list small { display:block; }.evaluation-mini-list strong { color:var(--navy); font-size:.72rem; }.evaluation-mini-list small { color:var(--muted); font-size:.62rem; }.evaluation-mini-list b { color:var(--blue); font-size:.65rem; }

/* Auth */
.auth-page { display:grid; min-height:100vh; grid-template-columns:minmax(380px,1.05fr) minmax(420px,.95fr); background:#fff; }.auth-visual { position:relative; display:flex; align-items:flex-end; overflow:hidden; padding:clamp(36px,6vw,80px); background:linear-gradient(145deg,#0b1426,#17294c 65%,#24365b); }.auth-visual::before { content:""; position:absolute; inset:auto -120px -160px auto; width:480px; height:480px; border:70px solid rgba(244,197,66,.12); border-radius:50%; box-shadow:0 0 0 55px rgba(47,111,237,.13); }.auth-copy { position:relative; z-index:1; max-width:620px; }.auth-copy img { width:62px; height:62px; margin-bottom:22px; }.auth-copy .eyebrow { color:var(--gold); }.auth-copy h1 { margin-bottom:15px; color:#fff; font-size:clamp(3rem,6vw,5.8rem); line-height:.93; }.auth-copy > p:last-child { max-width:520px; color:#bec9dc; }.auth-form-side { display:grid; place-items:center; padding:34px; background:#fff; }.auth-card { width:min(430px,100%); }.brand-mobile { display:none; align-items:center; gap:9px; margin-bottom:30px; }.brand-mobile img { width:38px; }.auth-card h2 { margin-bottom:7px; font-size:1.9rem; }.auth-card form { margin:23px 0; }.auth-card form p { margin-bottom:13px; }.auth-card .errorlist { padding:0; color:var(--red); font-size:.68rem; list-style:none; }

/* Club tenancy and modern range booking */
.club-switcher { margin:0 13px 4px; padding:8px 10px; border:1px solid var(--line); border-radius:11px; background:#fff; }
.club-switcher label { display:block; margin-bottom:2px; color:var(--muted-2); font-size:.55rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.club-switcher select { width:100%; border:0; background:transparent; color:var(--navy); font-size:.7rem; font-weight:750; outline:0; }
.booking-experience { --booking-gap:22px; }
.booking-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:var(--booking-gap); align-items:start; }
.booking-main { min-width:0; }
.booking-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:20px; padding:26px 28px; overflow:hidden; border:1px solid #dce5f3; border-radius:22px; background:linear-gradient(125deg,#fff 25%,#eef5ff); box-shadow:var(--shadow-sm); }
.booking-intro h1 { max-width:760px; margin-bottom:9px; font-size:clamp(1.75rem,3.3vw,2.8rem); line-height:1.08; }
.booking-intro p:last-child { max-width:720px; margin:0; color:var(--muted); }
.quota-chip { display:grid; min-width:116px; place-items:center; padding:14px; border:1px solid rgba(47,111,237,.18); border-radius:17px; background:#fff; box-shadow:var(--shadow-sm); }
.quota-chip span,.quota-chip small { color:var(--muted); font-size:.61rem; }
.quota-chip strong { color:var(--blue); font-size:2.15rem; line-height:1.1; }
.slot-picker,.class-setup-card { padding:24px; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:var(--shadow-sm); }
.class-setup-card { margin-bottom:18px; }
.slot-step-head { display:grid; grid-template-columns:44px minmax(0,1fr) auto; gap:14px; align-items:start; }
.slot-step-head > span { display:grid; width:44px; height:44px; place-items:center; border-radius:13px; background:var(--navy); color:#fff; font-size:.72rem; font-weight:850; }
.slot-step-head h2 { margin:0 0 3px; font-size:1.12rem; }
.slot-step-head p:last-child { margin:0; color:var(--muted); font-size:.72rem; }
.slot-step-head.compact { margin-top:28px; }
.slot-step-head.compact > span { background:var(--surface-blue); color:var(--blue); }
.week-nav { display:flex; gap:6px; }
.week-nav button { display:grid; width:38px; height:38px; place-items:center; border:1px solid var(--line-strong); border-radius:10px; background:#fff; color:var(--navy); }
.week-nav button:hover:not(:disabled) { border-color:var(--blue); color:var(--blue); }
.week-nav button:disabled { opacity:.35; cursor:not-allowed; }
.day-strip { display:grid; grid-template-columns:repeat(7,minmax(72px,1fr)); gap:8px; margin-top:16px; overflow-x:auto; padding:2px 2px 6px; }
.day-card { display:grid; min-width:72px; place-items:center; padding:11px 7px; border:1px solid var(--line); border-radius:13px; background:var(--surface-soft); color:var(--muted); transition:.18s ease; }
.day-card:hover:not(:disabled) { border-color:#afc6ee; background:var(--surface-blue); transform:translateY(-2px); }
.day-card.active { border-color:var(--blue); background:var(--blue); color:#fff; box-shadow:0 8px 20px color-mix(in srgb,var(--blue) 24%,transparent); }
.day-card:disabled { opacity:.38; cursor:not-allowed; }
.day-name { font-size:.61rem; font-weight:800; text-transform:uppercase; }
.day-number { margin:2px 0; color:inherit; font-size:1.28rem; line-height:1; }
.day-month { font-size:.58rem; }
.duration-pills { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 4px 58px; }
.duration-pills button { min-width:84px; padding:9px 14px; border:1px solid var(--line-strong); border-radius:999px; background:#fff; color:var(--muted); font-weight:750; }
.duration-pills button:hover,.duration-pills button.active { border-color:var(--blue); background:var(--surface-blue); color:var(--blue); }
.duration-pills button.active { box-shadow:inset 0 0 0 1px var(--blue); }
.slot-feedback { margin:14px 0 0 58px; padding:12px 14px; border-radius:11px; background:var(--surface-blue); color:var(--blue); font-size:.7rem; }
.slot-feedback.error { background:#fff0f0; color:var(--red); }.slot-feedback.empty { background:var(--gold-soft); color:#886400; }
.range-slot-list { display:grid; gap:10px; margin:14px 0 0 58px; transition:opacity .15s ease; }.range-slot-list.loading { opacity:.5; }
.range-slot-card { overflow:hidden; border:1px solid var(--line); border-radius:15px; background:#fff; }
.range-slot-head { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 14px; border-bottom:1px solid var(--line); background:#fbfcfe; }
.range-identity { display:grid; grid-template-columns:auto 1fr; column-gap:9px; align-items:center; }
.range-code { grid-row:1/3; display:grid; min-width:46px; height:38px; place-items:center; padding:0 7px; border-radius:10px; background:var(--navy); color:#fff; font-size:.58rem; font-weight:850; }
.range-name { color:var(--navy); font-size:.78rem; }.range-location { color:var(--muted); font-size:.59rem; }
.capacity-tag { padding:5px 8px; border-radius:99px; background:#edf9f3; color:var(--green); font-size:.58rem; font-weight:750; }
.time-slot-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(92px,1fr)); gap:7px; padding:12px; }
.time-slot { display:flex; min-height:52px; flex-direction:column; align-items:flex-start; justify-content:center; padding:7px 9px; border:1px solid #cad6e6; border-radius:10px; background:#fff; color:var(--navy); text-align:left; transition:.16s ease; }
.time-slot strong { font-size:.74rem; }.time-slot small { color:var(--muted); font-size:.54rem; }
.time-slot:hover:not(:disabled) { border-color:var(--blue); background:var(--surface-blue); color:var(--blue); transform:translateY(-1px); }
.time-slot.selected { border-color:var(--blue); background:var(--blue); color:#fff; box-shadow:0 7px 16px color-mix(in srgb,var(--blue) 22%,transparent); }
.time-slot.selected small { color:#dfe9ff; }
.time-slot.unavailable { border-color:#eceff3; background:#f5f6f8; color:#a9b0bb; cursor:not-allowed; }
.time-slot.unavailable small { color:#b7bdc6; }.no-range-slots { grid-column:1/-1; margin:0; color:var(--muted); font-size:.68rem; }
.time-slot.unavailable:has(.slot-occupant) { border-color:#e6dfcf; background:#f8f5ee; color:#8a7b5c; opacity:.76; }
.time-slot.unavailable .slot-occupant { display:-webkit-box; overflow:hidden; color:#8a7652; font-weight:700; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.assisted-booking-page { display:grid; gap:18px; }
.assisted-booking-page .booking-intro,.assisted-booking-page .member-picker { margin-bottom:0; }
.booking-summary-top { position:relative; top:auto; padding:22px; border-top:4px solid var(--blue); }
.booking-summary-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:15px; }
.booking-summary-heading h2 { margin:2px 0 0; }
.summary-readiness { padding:7px 11px; border-radius:999px; background:#eef1f5; color:var(--muted); font-size:.65rem; font-weight:850; }
.summary-readiness.ready { background:#e6f7ef; color:var(--green); }
.booking-summary-content { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(390px,.85fr); gap:14px; align-items:stretch; }
.booking-summary-content > * { min-width:0; }
.summary-overview { display:grid; grid-template-columns:minmax(190px,.7fr) minmax(0,1.3fr); gap:10px; min-width:0; }
.booking-summary-top .assisted-member-summary { display:grid; grid-template-columns:42px minmax(0,1fr); gap:11px; align-items:center; min-height:118px; margin:0; padding:16px; }
.summary-card-icon { display:grid!important; width:42px; height:42px; place-items:center; border-radius:12px; background:var(--navy); color:var(--gold)!important; font-size:.72rem!important; font-weight:850; }
.summary-card-copy { min-width:0; }.summary-card-copy small,.summary-card-copy strong { display:block; }.booking-summary-top .summary-card-copy small { color:var(--muted); font-size:.62rem; }.booking-summary-top .summary-card-copy strong { overflow:hidden; margin-top:3px; color:var(--navy); font-size:.92rem; text-overflow:ellipsis; white-space:nowrap; }
.summary-empty-slot { min-height:118px; grid-template-columns:42px minmax(0,1fr); gap:11px; place-items:center start; padding:16px; text-align:left; }
.summary-empty-slot p { margin:0; font-size:.78rem; }.summary-empty-slot small { display:block; margin-top:3px; line-height:1.45; }
.summary-slot-detail { display:grid; grid-template-columns:minmax(145px,.72fr) minmax(0,1.28fr); gap:10px; min-height:118px; }
.summary-slot-detail.is-empty { opacity:.72; }
.summary-slot-detail.is-empty .summary-range { background:linear-gradient(135deg,#53627a,#718099); }
.summary-slot-detail .summary-range { display:grid; align-content:center; min-width:0; padding:15px; }
.summary-slot-detail .summary-range strong,.summary-slot-detail .summary-range small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.summary-slot-detail dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; align-content:stretch; margin:0; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:#fff; }
.summary-slot-detail dl div { display:grid; align-content:center; gap:4px; min-width:0; padding:13px 14px; border:0; border-left:1px solid var(--line); }
.summary-slot-detail dl div:first-child { border-left:0; }.summary-slot-detail dt { font-size:.58rem; font-weight:750; }.summary-slot-detail dd { overflow:hidden; font-size:.68rem; line-height:1.4; text-align:left; text-overflow:ellipsis; }
.summary-checkout { display:grid; grid-template-columns:minmax(0,1fr) minmax(165px,.62fr); gap:10px; padding:12px; border:1px solid var(--line); border-radius:15px; background:var(--surface-soft); }
.summary-payment { grid-template-columns:1fr; align-content:start; }.summary-payment .choice-label,.summary-payment .field-errors { grid-column:1/-1; }.summary-payment .choice-label { margin:0 0 2px; }
.summary-payment .payment-card { padding:9px 10px; background:#fff; }
.summary-action { display:grid; align-content:center; }.summary-action .booking-submit { margin:0; min-height:50px; }.summary-action .secure-note { line-height:1.45; }
.booking-recap { overflow:hidden; padding:0; border:1px solid #cbd9eb; border-top:0; background:#fff; }
.booking-recap::before { display:block; height:5px; background:linear-gradient(90deg,var(--blue),#4b7bd4 58%,var(--gold)); content:""; }
.booking-recap.is-ready::before { background:linear-gradient(90deg,var(--green),#4ebd8c 58%,var(--gold)); }
.booking-recap-head { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px 22px 17px; border-bottom:1px solid var(--line); background:linear-gradient(115deg,#fff 45%,#f3f7fd); }
.booking-recap-head h2 { margin:2px 0 3px; font-size:1.16rem; }.booking-recap-head p:last-child { margin:0; color:var(--muted); font-size:.66rem; }
.booking-recap .summary-readiness { flex:0 0 auto; padding:8px 12px; border:1px solid #dbe2ec; background:#f5f7fa; font-size:.64rem; }
.booking-recap .summary-readiness.ready { border-color:#bfe8d3; background:#e9f8f0; }
.booking-recap-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(315px,.55fr); align-items:stretch; }
.booking-recap-main { min-width:0; padding:18px 20px 20px; }
.booking-recap-identities { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.booking-recap .recap-identity { display:grid; grid-template-columns:44px minmax(0,1fr); gap:12px; align-items:center; min-width:0; min-height:88px; margin:0; padding:14px; border:1px solid #dbe4f0; border-radius:15px; background:#f8fafd; }
.booking-recap .recap-identity.ready { border-color:#bcd3f4; background:#f2f7ff; }
.booking-recap .recap-range:not(.is-empty) { border-color:#bcd3f4; background:linear-gradient(130deg,#f2f7ff,#fff); }
.booking-recap .recap-identity-icon { display:grid!important; width:44px; height:44px; place-items:center; border-radius:13px; background:var(--navy); color:#fff; font-size:.67rem; font-weight:900; }
.booking-recap .recap-identity-icon.member { background:linear-gradient(135deg,var(--blue),#284f96); }.booking-recap .recap-identity-icon.range { background:linear-gradient(135deg,var(--navy),#334c73); color:var(--gold); }
.recap-identity-copy { display:block; min-width:0; }.recap-identity-copy small,.recap-identity-copy strong,.recap-identity-copy b { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.recap-identity-copy small { color:var(--blue); font-size:.57rem; font-weight:820; text-transform:uppercase; letter-spacing:.05em; }.recap-identity-copy strong { margin:3px 0 2px; color:var(--navy); font-size:.85rem; }.recap-identity-copy b { color:var(--muted); font-size:.59rem; font-weight:620; }
.booking-recap-schedule { display:grid; grid-template-columns:minmax(180px,.85fr) minmax(250px,1.35fr) minmax(150px,.7fr); gap:10px; margin-top:11px; }
.recap-fact { display:grid; grid-template-columns:34px minmax(0,1fr); gap:10px; align-items:start; min-width:0; min-height:108px; padding:14px; border:1px solid var(--line); border-radius:15px; background:#fff; transition:.18s ease; }
.booking-recap-schedule.has-selection .recap-fact { border-color:#ccd9eb; box-shadow:0 6px 18px rgba(23,49,88,.05); }
.recap-fact-icon { display:grid; width:34px; height:34px; place-items:center; border-radius:10px; background:#edf2f8; color:var(--muted); font-size:.53rem; font-weight:900; }
.booking-recap-schedule.has-selection .recap-fact-icon { background:var(--surface-blue); color:var(--blue); }
.recap-fact small,.recap-fact strong,.recap-fact b { display:block; }.recap-fact small { color:var(--muted); font-size:.56rem; font-weight:720; }.recap-fact strong { margin-top:4px; color:var(--navy); font-size:.72rem; line-height:1.45; }.recap-fact b { margin-top:4px; color:var(--muted); font-size:.56rem; font-weight:650; }
.recap-slot-chips { display:flex; flex-wrap:wrap; gap:4px; margin-top:7px; }.recap-slot-chips > span { padding:4px 6px; border-radius:7px; background:#f0f3f7; color:var(--muted); font-size:.5rem; font-weight:700; }
.recap-slot-chips .recap-slot-chip { background:#e9f1ff; color:var(--blue); }
.booking-recap-checkout { display:grid; align-content:start; gap:12px; min-width:0; padding:18px; border-left:1px solid var(--line); background:#f7f9fc; }
.booking-recap-total { padding:15px 16px; border-radius:15px; background:linear-gradient(135deg,var(--navy),#263c60); color:#fff; }.booking-recap-total span,.booking-recap-total strong,.booking-recap-total small { display:block; }.booking-recap-total span { color:#c7d2e4; font-size:.57rem; font-weight:750; }.booking-recap-total strong { margin:4px 0; color:#fff; font-size:1.25rem; }.booking-recap-total small { color:#c7d2e4; font-size:.55rem; line-height:1.45; }
.booking-recap .summary-payment { display:grid; grid-template-columns:1fr; gap:7px; margin:0; }.booking-recap .summary-payment .payment-card { min-width:0; padding:9px 10px; border-color:#d8e1ed; background:#fff; }.booking-recap .summary-payment .payment-card span { min-width:0; }.booking-recap .summary-payment .payment-card b { white-space:nowrap; }
.booking-recap .summary-action { gap:7px; }.booking-recap .summary-action .secure-note { margin:0; color:var(--muted); font-size:.52rem; text-align:center; }
.assisted-booking-page .slot-picker { width:100%; min-width:0; overflow:hidden; }
.assisted-booking-page .range-slot-list { min-width:0; margin-left:0; overflow:visible; }
.range-area-filter { display:flex; align-items:center; gap:16px; margin:16px 0 0 58px; padding:13px 14px; border:1px solid var(--line); border-radius:14px; background:var(--surface-soft); }
.range-area-filter > div:first-child { flex:0 0 auto; }.range-area-filter span,.range-area-filter small { display:block; }.range-area-filter span { color:var(--navy); font-size:.68rem; font-weight:850; }.range-area-filter small { color:var(--muted); font-size:.58rem; }
.range-area-options { display:flex; min-width:0; flex-wrap:wrap; gap:7px; }.range-area-chip { min-height:35px; padding:7px 12px; border:1px solid var(--line-strong); border-radius:999px; background:#fff; color:var(--muted); font-size:.64rem; font-weight:750; }.range-area-chip:hover,.range-area-chip.active { border-color:var(--blue); background:var(--surface-blue); color:var(--blue); }.range-area-chip.active { box-shadow:inset 0 0 0 1px var(--blue); }
.matrix-scroll-hint { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:8px; color:var(--muted); font-size:.61rem; }.matrix-scroll-hint span { color:var(--navy); font-weight:800; }.matrix-scroll-hint small { font-size:.61rem; }
.multi-slot-scroll { width:100%; max-width:100%; overflow-x:auto; overflow-y:hidden; padding-bottom:8px; border-radius:16px; scrollbar-color:#aebbd0 #edf1f6; scrollbar-width:auto; overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch; }
.multi-slot-scroll::-webkit-scrollbar { height:12px; }.multi-slot-scroll::-webkit-scrollbar-track { border-radius:99px; background:#edf1f6; }.multi-slot-scroll::-webkit-scrollbar-thumb { border:3px solid #edf1f6; border-radius:99px; background:#aebbd0; }.multi-slot-scroll::-webkit-scrollbar-thumb:hover { background:var(--blue); }
.multi-slot-board { display:grid; width:max-content; min-width:100%; grid-template-columns:92px repeat(var(--range-count),230px); gap:1px; overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--line); }
.multi-slot-corner,.multi-slot-range-head,.multi-slot-time,.multi-slot-board .matrix-slot { min-height:92px; background:#fff; }
.multi-slot-corner { position:sticky; left:0; z-index:4; display:grid; place-items:center; background:var(--navy); color:var(--gold); font-size:.72rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.multi-slot-range-head { display:grid; align-content:center; padding:13px 16px; background:var(--navy); color:#fff; }
.multi-slot-range-head span { color:var(--gold); font-size:.65rem; font-weight:850; }.multi-slot-range-head strong { overflow:hidden; color:#fff; font-size:.94rem; text-overflow:ellipsis; white-space:nowrap; }
.multi-slot-time { position:sticky; left:0; z-index:3; display:grid; align-content:center; padding:14px 17px; box-shadow:5px 0 14px rgba(11,20,38,.06); }
.multi-slot-time strong { color:var(--navy); font-size:1rem; }.multi-slot-time small { color:var(--muted); font-size:.64rem; }
.multi-slot-board .matrix-slot { width:100%; min-width:230px; padding:13px 15px; border:0; border-left:4px solid var(--blue); border-radius:0; align-items:flex-start; background:#f6f9ff; }
.multi-slot-board .matrix-slot:hover:not(:disabled) { background:#eaf2ff; transform:none; }
.multi-slot-board .matrix-slot.selected { border-left-color:var(--gold); background:var(--blue); }
.multi-slot-board .matrix-slot.unavailable { border-left-color:#c9a84d; background:#fffaf0; opacity:1; }
.multi-slot-board .matrix-slot.unavailable.no-operation { border-left-color:#cdd3dc; background:#f7f8fa; color:#9ba3af; }
.slot-state { display:block; margin-bottom:3px; color:var(--blue); font-size:.62rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.matrix-slot.unavailable .slot-state { color:#966f00; }.matrix-slot.no-operation .slot-state { color:#89919d; }.matrix-slot.selected .slot-state { color:var(--gold); }
.matrix-slot .slot-primary { display:block; width:100%; overflow:hidden; color:var(--navy); font-size:.84rem; text-overflow:ellipsis; white-space:nowrap; }
.matrix-slot .slot-meta { display:block; width:100%; overflow:hidden; margin-top:3px; color:var(--muted); font-size:.66rem; text-overflow:ellipsis; white-space:nowrap; }
.matrix-slot.selected .slot-primary { color:#fff; }.matrix-slot.selected .slot-meta { color:#dfe8fa; }
.multi-slot-empty { grid-column:1/-1; border:0; border-radius:0; background:#fff; }
.selection-counter { align-self:center; width:auto !important; min-width:92px; padding:8px 11px; border-radius:999px !important; background:var(--gold-soft) !important; color:#826100 !important; white-space:nowrap; }
.slot-empty-state { padding:24px; border:1px dashed var(--line-strong); border-radius:14px; color:var(--muted); text-align:center; }
.booking-checkout { position:sticky; top:94px; }
.booking-summary-card { padding:21px; border:1px solid #d7e1ef; border-radius:20px; background:#fff; box-shadow:var(--shadow); }
.booking-summary-card h2 { margin-bottom:15px; font-size:1.2rem; }
.empty-selection { display:grid; place-items:center; min-height:145px; padding:18px; border:1px dashed #ccd6e4; border-radius:14px; background:var(--surface-soft); text-align:center; }
.empty-selection > span { color:var(--blue); font-size:2rem; }.empty-selection p { margin:4px 0 0; color:var(--navy); font-weight:750; }.empty-selection small { color:var(--muted); }
.summary-range { padding:14px; border-radius:14px; background:linear-gradient(135deg,var(--navy),#213557); color:#fff; }
.summary-range span,.summary-range strong,.summary-range small { display:block; }.summary-range span { color:var(--gold); font-size:.59rem; font-weight:850; }.summary-range strong { margin:2px 0; color:#fff; font-size:1.1rem; }.summary-range small { color:#c5d0e2; font-size:.62rem; }
.selected-slot-summary dl { display:grid; gap:8px; margin:12px 0; }.selected-slot-summary dl div { display:flex; justify-content:space-between; gap:12px; padding-bottom:7px; border-bottom:1px solid var(--line); }.selected-slot-summary dt { color:var(--muted); font-size:.62rem; }.selected-slot-summary dd { margin:0; color:var(--navy); font-size:.65rem; font-weight:750; text-align:right; }
.choice-label { display:block; margin:16px 0 7px; color:var(--muted); font-size:.59rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.payment-choice { display:grid; gap:7px; }.payment-card { display:grid; grid-template-columns:auto 1fr auto; gap:9px; align-items:center; padding:10px; border:1px solid var(--line); border-radius:11px; cursor:pointer; }.payment-card:has(input:checked) { border-color:var(--blue); background:var(--surface-blue); }.payment-card input { accent-color:var(--blue); }.payment-card strong,.payment-card small { display:block; }.payment-card strong { color:var(--navy); font-size:.68rem; }.payment-card small { color:var(--muted); font-size:.55rem; }.payment-card b { color:var(--blue); font-size:.62rem; }
.booking-submit { margin-top:15px; }.booking-submit:disabled { opacity:.45; cursor:not-allowed; }.secure-note { margin:9px 0 0; color:var(--muted); font-size:.57rem; text-align:center; }
.booking-summary-card > .btn-secondary { margin-top:8px; }
.invoice-page { display:grid; gap:16px; }
.invoice-hero { display:grid; grid-template-columns:58px minmax(0,1fr) auto; gap:16px; align-items:center; padding:22px 24px; border:1px solid #d9e4f3; border-radius:20px; background:linear-gradient(120deg,#fff 0%,var(--surface-blue) 72%,var(--gold-soft) 100%); box-shadow:var(--shadow-sm); }
.invoice-brand-mark { display:grid; width:58px; height:58px; place-items:center; border-radius:17px; background:var(--navy); color:var(--gold); font-size:.82rem; font-weight:900; letter-spacing:.06em; box-shadow:inset 0 -4px 0 var(--blue); }
.invoice-hero-copy h1 { margin:0; font-size:clamp(1.35rem,2.5vw,2rem); }.invoice-hero-copy > p:last-child { margin:4px 0 0; color:var(--muted); font-size:.69rem; }.invoice-status { min-height:30px; padding:5px 12px; font-size:.67rem; }
.invoice-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr); gap:16px; align-items:start; }
.invoice-document,.invoice-total-card,.invoice-payment-history,.payment-invoice-preview,.payment-submit-card { border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow-sm); }
.invoice-document { overflow:hidden; }.invoice-parties { display:grid; grid-template-columns:1.1fr 1fr .7fr; border-bottom:1px solid var(--line); background:#fbfcfe; }.invoice-parties > div { min-width:0; padding:18px 20px; }.invoice-parties > div + div { border-left:1px solid var(--line); }.invoice-parties span,.invoice-parties strong,.invoice-parties small { display:block; }.invoice-parties span { margin-bottom:5px; color:var(--muted); font-size:.58rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }.invoice-parties strong { overflow:hidden; color:var(--navy); font-size:.78rem; text-overflow:ellipsis; white-space:nowrap; }.invoice-parties small { margin-top:2px; color:var(--muted); font-size:.61rem; }
.invoice-items-head { display:flex; align-items:end; justify-content:space-between; gap:12px; padding:20px 20px 12px; }.invoice-items-head h2 { margin:0; font-size:1.05rem; }.invoice-items-head > span,.invoice-side-head > span { min-width:28px; padding:4px 8px; border-radius:99px; background:var(--surface-blue); color:var(--blue); font-size:.61rem; font-weight:850; text-align:center; }
.invoice-table-wrap { padding:0 20px 20px; overflow-x:auto; }.invoice-table { width:100%; border-collapse:separate; border-spacing:0; overflow:hidden; border:1px solid var(--line); border-radius:13px; }.invoice-table th { padding:10px 13px; border-bottom:1px solid var(--line); background:var(--navy); color:#fff; font-size:.58rem; letter-spacing:.06em; text-align:left; text-transform:uppercase; }.invoice-table th:not(:first-child),.invoice-table td:not(:first-child) { text-align:right; }.invoice-table td { padding:13px; border-bottom:1px solid var(--line); color:#4b586d; font-size:.68rem; }.invoice-table tr:last-child td { border-bottom:0; }.invoice-table td strong,.invoice-table td small { display:block; }.invoice-table td strong { color:var(--navy); font-size:.72rem; }.invoice-table td small { margin-top:2px; color:var(--muted); font-size:.58rem; }
.invoice-note { margin:0 20px 18px; padding:13px 14px; border-left:3px solid var(--gold); border-radius:0 10px 10px 0; background:var(--gold-soft); }.invoice-note span { color:#886400; font-size:.58rem; font-weight:850; text-transform:uppercase; }.invoice-note p { margin:3px 0 0; color:#5b5134; font-size:.68rem; }
.invoice-rental-schedule { border-bottom:1px solid var(--line); background:linear-gradient(180deg,#f8fbff,#fff); }
.invoice-rental-schedule .invoice-items-head { padding-bottom:9px; }
.invoice-slot-list { display:grid; gap:9px; padding:0 20px 18px; }
.invoice-slot-list article { display:grid; grid-template-columns:62px minmax(180px,1fr) minmax(150px,.75fr); align-items:center; gap:14px; padding:12px; border:1px solid #d8e3f2; border-radius:14px; background:#fff; }
.invoice-slot-date { display:grid; place-items:center; align-content:center; min-height:62px; border-radius:11px; background:var(--navy); color:#fff; text-align:center; }
.invoice-slot-date span,.invoice-slot-date small { color:#c9d5e7; font-size:.55rem; font-weight:750; text-transform:uppercase; }.invoice-slot-date strong { color:var(--gold); font-size:1.25rem; line-height:1.05; }
.invoice-slot-time span,.invoice-slot-time strong,.invoice-slot-time small,.invoice-slot-range span,.invoice-slot-range strong,.invoice-slot-range small { display:block; }
.invoice-slot-time span,.invoice-slot-range span { color:var(--muted); font-size:.55rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.invoice-slot-time strong { margin:2px 0; color:var(--navy); font-size:1.02rem; }.invoice-slot-time small,.invoice-slot-range small { color:var(--muted); font-size:.61rem; }
.invoice-slot-range { min-width:0; padding-left:14px; border-left:1px solid var(--line); }.invoice-slot-range strong { overflow:hidden; margin:2px 0; color:var(--navy); font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }
.invoice-document-foot { display:flex; justify-content:space-between; gap:14px; padding:13px 20px; border-top:1px solid var(--line); background:#fbfcfe; color:var(--muted); font-size:.58rem; }.invoice-document-foot span { color:var(--navy); font-weight:800; }
.invoice-sidebar { display:grid; gap:12px; }.invoice-total-card,.invoice-payment-history { padding:19px; }.invoice-total-card dl { display:grid; gap:8px; margin:13px 0; }.invoice-total-card dl div { display:flex; justify-content:space-between; gap:16px; color:var(--muted); font-size:.66rem; }.invoice-total-card dd { margin:0; color:var(--navy); font-weight:750; }.invoice-total-card .invoice-grand-total { margin-top:3px; padding-top:10px; border-top:1px solid var(--line); color:var(--navy); font-weight:800; }.invoice-paid { color:var(--green)!important; }.invoice-balance { margin:15px -7px 14px; padding:16px; border-radius:14px; background:linear-gradient(135deg,var(--navy),#203457); }.invoice-balance span,.invoice-balance strong,.invoice-balance small { display:block; }.invoice-balance span { color:var(--gold); font-size:.59rem; font-weight:850; text-transform:uppercase; }.invoice-balance strong { margin:3px 0; color:#fff; font-size:1.55rem; }.invoice-balance small { color:#c6d0e1; font-size:.59rem; line-height:1.5; }
.invoice-side-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }.invoice-side-head h2 { margin:0; font-size:1rem; }.payment-timeline { display:grid; margin-top:13px; }.payment-timeline article { display:grid; grid-template-columns:9px minmax(0,1fr) auto; gap:9px; align-items:start; padding:11px 0; border-top:1px solid var(--line); }.payment-dot { width:9px; height:9px; margin-top:5px; border:2px solid #fff; border-radius:50%; background:var(--blue); box-shadow:0 0 0 2px #cddcf6; }.payment-timeline strong,.payment-timeline small { display:block; }.payment-timeline strong { color:var(--navy); font-size:.7rem; }.payment-timeline small { color:var(--muted); font-size:.56rem; }.invoice-empty-payment { padding:17px 4px 4px; color:var(--muted); text-align:center; }.invoice-empty-payment strong,.invoice-empty-payment small { display:block; }.invoice-empty-payment strong { color:var(--navy); font-size:.68rem; }.invoice-empty-payment small { font-size:.57rem; }
.payment-submit-layout { display:grid; grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr); gap:16px; align-items:start; max-width:980px; margin:0 auto; }.payment-invoice-preview { position:sticky; top:94px; padding:24px; background:linear-gradient(145deg,#fff,var(--surface-blue)); }.payment-invoice-preview .invoice-brand-mark { margin-bottom:24px; }.payment-invoice-preview h1 { margin:0; font-size:2rem; }.payment-invoice-preview > p:not(.eyebrow) { color:var(--muted); font-size:.68rem; }.payment-invoice-preview dl { display:grid; gap:0; margin:20px 0; border:1px solid var(--line); border-radius:12px; background:#fff; }.payment-invoice-preview dl div { display:flex; justify-content:space-between; gap:14px; padding:10px 12px; border-top:1px solid var(--line); }.payment-invoice-preview dl div:first-child { border-top:0; }.payment-invoice-preview dt { color:var(--muted); font-size:.62rem; }.payment-invoice-preview dd { margin:0; color:var(--navy); font-size:.65rem; font-weight:750; text-align:right; }.payment-security-note { display:grid; grid-template-columns:25px 1fr; gap:8px; align-items:start; padding:11px; border-radius:11px; background:#eaf8f2; color:var(--green); }.payment-security-note span { display:grid; width:25px; height:25px; place-items:center; border-radius:50%; background:#fff; font-weight:850; }.payment-security-note p { margin:2px 0 0; font-size:.6rem; line-height:1.5; }
.payment-submit-card { padding:24px; }.payment-submit-head { padding-bottom:18px; border-bottom:1px solid var(--line); }.payment-submit-head h2 { margin:0; font-size:1.25rem; }.payment-submit-head > p:last-child { max-width:580px; margin:5px 0 0; color:var(--muted); font-size:.68rem; }.payment-submit-card form { display:grid; gap:16px; padding-top:20px; }.payment-submit-card .btn-secondary { margin-top:-7px; }
.reservation-page { display:grid; gap:16px; }
.public-invoice-shell { width:min(1180px,calc(100% - 32px)); margin:32px auto; }.public-invoice-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.36fr); gap:16px; align-items:start; }.public-invoice-layout > .invoice-total-card { position:sticky; top:24px; padding:20px; }
.reservation-hero { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:25px 27px; overflow:hidden; border:1px solid #d7e2f1; border-radius:22px; background:linear-gradient(125deg,#fff 0%,var(--surface-blue) 67%,var(--gold-soft) 100%); box-shadow:var(--shadow-sm); }
.reservation-hero h1 { margin:2px 0 4px; font-size:clamp(1.55rem,3vw,2.3rem); }.reservation-hero > div > p:last-child { margin:0; color:var(--muted); font-size:.72rem; }.reservation-statuses { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.reservation-notice { display:grid; grid-template-columns:34px minmax(0,1fr); gap:11px; align-items:center; padding:13px 16px; border:1px solid; border-radius:15px; }.reservation-notice > span { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; background:#fff; font-weight:900; }.reservation-notice strong,.reservation-notice p { display:block; }.reservation-notice strong { color:var(--navy); font-size:.72rem; }.reservation-notice p { margin:2px 0 0; font-size:.62rem; line-height:1.45; }.reservation-notice.warning { border-color:#ead9a8; background:#fff9e9; color:#8d6900; }.reservation-notice.success { border-color:#bfe4d3; background:#ecf9f3; color:var(--green); }
.reservation-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr); gap:16px; align-items:start; }.reservation-main,.reservation-finance { display:grid; gap:14px; min-width:0; }.reservation-finance { position:sticky; top:94px; }
.reservation-schedule-card,.reservation-detail-card { padding:21px; }.reservation-blocks { display:grid; gap:9px; }.reservation-blocks article { display:grid; grid-template-columns:64px minmax(0,1fr) minmax(140px,.42fr); gap:14px; align-items:center; padding:14px; border:1px solid var(--line); border-left:4px solid var(--blue); border-radius:14px; background:#fff; }.reservation-date { display:grid; place-items:center; min-height:58px; border-radius:11px; background:var(--navy); color:#fff; }.reservation-date strong { color:var(--gold); font-size:1.25rem; line-height:1; }.reservation-date span { font-size:.54rem; }.reservation-time small,.reservation-time strong,.reservation-time span,.reservation-ranges span,.reservation-ranges strong { display:block; }.reservation-time small { color:var(--blue); font-size:.57rem; font-weight:850; text-transform:uppercase; }.reservation-time strong { margin:2px 0; color:var(--navy); font-size:.93rem; }.reservation-time span { color:var(--muted); font-size:.61rem; }.reservation-ranges { padding-left:14px; border-left:1px solid var(--line); }.reservation-ranges span { color:var(--gold-dark); font-size:.58rem; font-weight:850; }.reservation-ranges strong { color:var(--navy); font-size:.72rem; }
.reservation-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0 0 16px; overflow:hidden; border:1px solid var(--line); border-radius:14px; }.reservation-facts div { padding:14px 16px; border-top:1px solid var(--line); }.reservation-facts div:nth-child(-n+2) { border-top:0; }.reservation-facts div:nth-child(even) { border-left:1px solid var(--line); }.reservation-facts dt { color:var(--muted); font-size:.58rem; font-weight:800; text-transform:uppercase; }.reservation-facts dd { margin:4px 0 0; color:var(--navy); font-size:.72rem; font-weight:800; }.reservation-facts dd small { display:block; margin-top:2px; color:var(--muted); font-size:.56rem; font-weight:500; }
.reservation-invoice-card,.reservation-payment-card { padding:20px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow-sm); }.reservation-invoice-card header { display:flex; align-items:start; justify-content:space-between; gap:10px; }.reservation-invoice-card h2,.reservation-payment-card h2 { margin:1px 0 0; font-size:1.1rem; }.reservation-invoice-lines { display:grid; gap:8px; margin:15px 0; padding:12px 0; border-block:1px solid var(--line); }.reservation-invoice-lines > div { display:flex; justify-content:space-between; gap:12px; color:var(--navy); font-size:.66rem; }.reservation-invoice-lines span small { display:block; color:var(--muted); font-size:.55rem; }.reservation-invoice-card > dl { display:grid; gap:8px; margin:0 0 14px; }.reservation-invoice-card > dl div { display:flex; justify-content:space-between; gap:12px; color:var(--muted); font-size:.63rem; }.reservation-invoice-card > dl dd { margin:0; color:var(--navy); font-weight:800; }.reservation-invoice-card > dl .balance { margin-top:3px; padding:12px; border-radius:11px; background:var(--navy); color:#d9e2f1; }.reservation-invoice-card > dl .balance dd { color:var(--gold); font-size:.88rem; }.invoice-share-actions { display:grid; gap:7px; }.btn-whatsapp { border-color:#1cae62; background:#1cae62; color:#fff; }.btn-whatsapp:hover { border-color:#168c50; background:#168c50; color:#fff; }
.payment-card-head { padding-bottom:13px; border-bottom:1px solid var(--line); }.payment-card-head > p:last-child { margin:4px 0 0; color:var(--muted); font-size:.61rem; line-height:1.45; }.reservation-payment-form { display:grid; gap:13px; padding-top:15px; }.reservation-payment-form .btn + .btn { margin-top:-6px; }.pending-payment-list { display:grid; gap:9px; padding-top:14px; }.pending-payment-list article { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; padding:12px; border:1px solid #ead9a8; border-radius:12px; background:#fff9e9; }.pending-payment-list strong,.pending-payment-list small { display:block; }.pending-payment-list strong { margin-top:5px; color:var(--navy); font-size:.82rem; }.pending-payment-list small { color:var(--muted); font-size:.56rem; }
.table-actions { display:flex; align-items:center; gap:10px; }.row-action.primary { padding:6px 9px; border-radius:7px; background:var(--surface-blue); }
.member-picker { margin-bottom:18px; padding:24px; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:var(--shadow-sm); }
.member-picker-head { display:grid; grid-template-columns:44px 1fr; gap:14px; align-items:start; }.member-step { display:grid; width:44px; height:44px; flex:0 0 auto; place-items:center; border-radius:13px; background:var(--navy); color:#fff; font-size:.72rem; font-weight:850; }.member-picker-head h2 { margin:0 0 3px; font-size:1.12rem; }.member-picker-head p:last-child { margin:0; color:var(--muted); font-size:.72rem; }
.member-search-box { position:relative; display:flex; align-items:center; gap:9px; margin:16px 0 0 58px; padding:0 13px; border:1px solid var(--line-strong); border-radius:12px; background:#fff; }.member-search-box:focus-within { border-color:var(--blue); box-shadow:0 0 0 3px rgba(47,111,237,.1); }.member-search-box svg { width:19px; fill:none; stroke:var(--muted); stroke-width:1.8; }.member-search-box input { width:100%; min-height:46px; border:0; outline:0; color:var(--navy); }.member-search-box > span { color:var(--blue); font-size:.61rem; white-space:nowrap; }
.member-results { display:grid; gap:6px; max-height:290px; margin:8px 0 0 58px; overflow:auto; }.member-result { display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:10px; align-items:center; width:100%; padding:9px 10px; border:1px solid var(--line); border-radius:11px; background:#fff; text-align:left; }.member-result:hover { border-color:#adc5ec; background:var(--surface-blue); }.member-result-avatar { display:grid; width:38px; height:38px; place-items:center; border-radius:10px; background:#e8f2ff; color:var(--blue); font-weight:850; }.member-result-identity strong,.member-result-identity small,.member-result-access strong,.member-result-access small { display:block; }.member-result-identity strong { color:var(--navy); font-size:.7rem; }.member-result-identity small { color:var(--muted); font-size:.58rem; }.member-result-access { text-align:right; }.member-result-access small { color:var(--muted); font-size:.54rem; }.member-result-access strong { color:var(--blue); font-size:.61rem; }.member-result-empty { padding:16px; border:1px dashed var(--line-strong); border-radius:11px; color:var(--muted); font-size:.66rem; text-align:center; }.member-result-empty.error { color:var(--red); }
.selected-member-card { display:grid; grid-template-columns:44px minmax(0,1fr) auto auto; gap:11px; align-items:center; margin:16px 0 0 58px; padding:12px; border:1px solid #bdd2f2; border-radius:13px; background:linear-gradient(120deg,var(--surface-blue),#fff); }.selected-member-avatar { display:grid; width:44px; height:44px; place-items:center; border-radius:12px; background:var(--blue); color:#fff; font-weight:850; }.selected-member-card small,.selected-member-card strong,.selected-member-card b { display:block; }.selected-member-card small { color:var(--muted); font-size:.55rem; }.selected-member-card > span:nth-child(2) strong { color:var(--navy); font-size:.75rem; }.selected-member-card b { color:var(--muted); font-size:.57rem; font-weight:650; }.member-quota { min-width:76px; text-align:right; }.member-quota strong { color:var(--blue); font-size:1.1rem; }.selected-member-card button { padding:7px 9px; border:1px solid var(--line-strong); border-radius:8px; background:#fff; color:var(--blue); font-size:.61rem; font-weight:800; }.member-picker > .field-errors { margin:8px 0 0 58px; }
.assisted-member-summary { margin-bottom:12px; padding:10px 12px; border:1px dashed var(--line-strong); border-radius:11px; background:var(--surface-soft); }.assisted-member-summary span,.assisted-member-summary strong { display:block; }.assisted-member-summary span { color:var(--muted); font-size:.55rem; }.assisted-member-summary strong { color:var(--navy); font-size:.72rem; }.assisted-member-summary.ready { border-style:solid; border-color:#bdd2f2; background:var(--surface-blue); }
.assisted-class-panel { margin-bottom:14px; }.assisted-class-form .member-picker { margin:14px 0 0; padding:18px; box-shadow:none; }.assisted-payment-step { display:grid; grid-template-columns:44px minmax(200px,.8fr) minmax(320px,1.2fr) auto; gap:14px; align-items:center; margin-top:12px; padding:16px 18px; border:1px solid var(--line); border-radius:14px; background:var(--surface-soft); }.assisted-payment-copy h3 { margin:1px 0 3px; font-size:.88rem; }.assisted-payment-copy p:last-child { margin:0; color:var(--muted); font-size:.62rem; }.assisted-payment-options { display:grid; grid-template-columns:1fr 1fr; gap:7px; }.capacity-full-note { display:flex; gap:12px; align-items:center; padding:17px; border:1px solid #cce8dc; border-radius:13px; background:#f3fbf7; }.capacity-full-note > span { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; background:#dff4e9; color:var(--green); }.capacity-full-note strong,.capacity-full-note p { display:block; margin:0; }.capacity-full-note p { color:var(--muted); font-size:.65rem; }
.range-board-page { display:grid; gap:15px; }
.range-board-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:27px 29px; border:1px solid #dbe5f2; border-radius:22px; background:linear-gradient(125deg,#fff 18%,var(--surface-blue)); box-shadow:var(--shadow-sm); }
.range-board-hero h1 { max-width:760px; margin-bottom:8px; font-size:clamp(1.8rem,3.2vw,2.75rem); }.range-board-hero p:last-child { max-width:760px; margin:0; color:var(--muted); }
.board-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:17px 20px; }.board-toolbar h2 { margin:2px 0 0; font-size:1.15rem; }.today-button { width:auto !important; padding:0 13px; font-size:.62rem; font-weight:800; }
.board-day-strip { margin:0; grid-template-columns:repeat(7,minmax(82px,1fr)); }
.occupancy-stats { display:grid; grid-template-columns:repeat(3,minmax(150px,1fr)) minmax(220px,1.35fr); gap:10px; }
.occupancy-stats article { display:flex; align-items:center; gap:11px; padding:15px 17px; border:1px solid var(--line); border-radius:15px; background:#fff; box-shadow:var(--shadow-sm); }.occupancy-stats small,.occupancy-stats strong { display:block; }.occupancy-stats small { color:var(--muted); font-size:.58rem; }.occupancy-stats strong { color:var(--navy); font-size:1.35rem; }.stat-dot { width:11px; height:38px; border-radius:99px; }.stat-dot.available,.board-legend i.available { background:var(--blue); }.stat-dot.occupied,.board-legend i.occupied { background:var(--gold); }.stat-dot.closed,.board-legend i.closed { background:#aab3c1; }
.occupancy-score { display:grid !important; grid-template-columns:1fr 120px; }.occupancy-score > span { height:8px; overflow:hidden; border-radius:99px; background:linear-gradient(90deg,var(--blue) var(--occupancy),#e8edf4 var(--occupancy)); }
.range-board-shell { overflow:hidden; padding:0; }.board-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; padding:20px 22px; border-bottom:1px solid var(--line); }.board-section-head h2 { margin:2px 0 4px; }.board-section-head p:last-child { margin:0; color:var(--muted); font-size:.68rem; }.board-legend { display:flex; flex-wrap:wrap; gap:12px; color:var(--muted); font-size:.59rem; }.board-legend span { display:flex; align-items:center; gap:5px; }.board-legend i { width:8px; height:8px; border-radius:50%; }
.range-board-loading { padding:42px; color:var(--muted); text-align:center; }.range-board-scroll { max-width:100%; overflow:auto; }.range-board-grid { --range-count:1; display:grid; min-width:max-content; grid-template-columns:88px repeat(var(--range-count),minmax(190px,1fr)); background:#e5eaf1; gap:1px; }
.board-corner,.board-range-head,.board-time,.board-cell { min-height:76px; background:#fff; }.board-corner { position:sticky; left:0; z-index:4; display:grid; place-items:center; color:var(--muted); font-size:.58rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }.board-range-head { position:sticky; top:0; z-index:3; display:grid; align-content:center; padding:10px 13px; background:var(--navy); color:#fff; }.board-range-head span { color:var(--gold); font-size:.55rem; font-weight:850; }.board-range-head strong { color:#fff; font-size:.74rem; }.board-range-head small { color:#bfc9d9; font-size:.54rem; }
.board-time { position:sticky; left:0; z-index:2; display:grid; align-content:center; padding:11px 13px; box-shadow:5px 0 12px rgba(20,35,60,.04); }.board-time strong { color:var(--navy); font-size:.78rem; }.board-time small { color:var(--muted); font-size:.53rem; }
.board-cell { display:grid; align-content:center; min-width:190px; padding:10px 12px; border-left:3px solid transparent; text-decoration:none; transition:.16s ease; }.board-cell strong,.board-cell small,.board-cell span { display:block; }.board-cell strong { overflow:hidden; color:var(--navy); font-size:.68rem; text-overflow:ellipsis; white-space:nowrap; }.board-cell small { overflow:hidden; margin-top:2px; color:var(--muted); font-size:.54rem; text-overflow:ellipsis; white-space:nowrap; }.board-cell.available { border-left-color:var(--blue); background:#f4f8ff; }.board-cell.available strong { color:var(--blue); }.board-cell.available:hover { background:#e9f2ff; }.board-cell.occupied { border-left-color:var(--gold); background:#fffaf0; }.board-cell.occupied:hover { background:#fff4d8; }.board-cell.closed { background:#f6f7f9; opacity:.72; }.board-cell.blackout { border-left-color:var(--red); background:#fff2f2; }.board-kind { margin-bottom:3px; color:#8b6500; font-size:.5rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.tenant-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }.tenant-card { padding:20px; border:1px solid var(--line); border-top:4px solid var(--tenant-primary); border-radius:17px; background:#fff; box-shadow:var(--shadow-sm); }.tenant-card.active { box-shadow:0 0 0 2px color-mix(in srgb,var(--tenant-primary) 28%,transparent),var(--shadow); }.tenant-card-head,.tenant-card-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; }.tenant-figure { display:grid; width:48px; height:48px; place-items:center; overflow:hidden; border-radius:14px; background:var(--tenant-primary,var(--navy)); color:#fff; font-weight:850; box-shadow:inset 0 -4px 0 var(--tenant-accent,var(--gold)); }.tenant-figure img { width:100%; height:100%; object-fit:cover; }.tenant-card > .eyebrow { margin-top:17px; }.tenant-card h2 { margin-bottom:5px; }.tenant-card > p:not(.eyebrow) { min-height:42px; color:var(--muted); font-size:.7rem; }.tenant-stats { display:grid; grid-template-columns:repeat(3,1fr); margin:16px 0; border:1px solid var(--line); border-radius:12px; background:var(--surface-soft); }.tenant-stats div { padding:9px; text-align:center; }.tenant-stats div + div { border-left:1px solid var(--line); }.tenant-stats dt { color:var(--muted); font-size:.56rem; }.tenant-stats dd { margin:0; color:var(--navy); font-weight:850; }.tenant-card-foot { padding-top:13px; border-top:1px solid var(--line); }.tenant-card-foot strong { color:var(--green); font-size:.65rem; }
.club-config-hero { display:grid; grid-template-columns:auto 1fr auto; gap:16px; align-items:center; margin-bottom:18px; padding:22px; border-radius:19px; background:linear-gradient(120deg,color-mix(in srgb,var(--tenant-primary) 9%,white),#fff); border:1px solid color-mix(in srgb,var(--tenant-primary) 20%,#e5e9f0); }.tenant-figure.large { width:64px; height:64px; font-size:1.15rem; }.club-config-hero h1 { margin-bottom:3px; }.club-config-hero p:last-child { margin:0; color:var(--muted); }.config-two-column { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); gap:18px; align-items:start; }.compact-form { padding-bottom:0; }.club-admin-list { margin-top:14px; }.admin-access-row { display:grid; grid-template-columns:38px 1fr auto; gap:9px; align-items:center; padding:10px 0; border-top:1px solid var(--line); }.admin-access-row strong,.admin-access-row small { display:block; }.admin-access-row strong { color:var(--navy); font-size:.7rem; }.admin-access-row small { color:var(--muted); font-size:.58rem; }
.progress-report-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }.progress-report-card { display:flex; min-height:330px; flex-direction:column; padding:18px; border:1px solid var(--line); border-radius:17px; background:#fff; box-shadow:var(--shadow-sm); transition:.18s ease; }.progress-report-card:hover { border-color:#bfd0ea; transform:translateY(-2px); box-shadow:var(--shadow); }.progress-card-top { display:grid; grid-template-columns:40px 1fr auto; gap:9px; align-items:center; }.progress-card-top strong,.progress-card-top small { display:block; }.progress-card-top strong { color:var(--navy); font-size:.75rem; }.progress-card-top small { color:var(--muted); font-size:.58rem; }.focus-band { margin:16px 0 12px; padding:11px; border-left:3px solid var(--gold); border-radius:0 10px 10px 0; background:var(--gold-soft); }.focus-band small,.focus-band strong { display:block; }.focus-band small { color:#8b6500; font-size:.55rem; }.focus-band strong { color:#4c3e18; font-size:.72rem; }.score-triplet { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }.score-triplet > div { display:grid; grid-template-columns:1fr auto; gap:2px 5px; padding:8px; border:1px solid var(--line); border-radius:10px; }.score-triplet span { grid-column:1/-1; height:4px; overflow:hidden; border-radius:9px; background:linear-gradient(90deg,var(--blue) var(--score),#e8edf4 var(--score)); }.score-triplet small { color:var(--muted); font-size:.52rem; }.score-triplet b { color:var(--navy); font-size:.62rem; }.progress-report-card > p { margin:14px 0; color:var(--muted); font-size:.68rem; }.progress-card-foot { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto; padding-top:11px; border-top:1px solid var(--line); font-size:.6rem; }.progress-card-foot span { color:var(--muted); }.progress-card-foot strong { color:var(--blue); }
.progress-detail-hero { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; padding:24px; border:1px solid #dbe5f2; border-radius:20px; background:linear-gradient(125deg,#fff,var(--surface-blue)); }.athlete-heading { display:flex; align-items:center; gap:14px; }.avatar.large { width:62px; height:62px; border-radius:18px; font-size:1.2rem; }.athlete-heading h1 { margin-bottom:3px; }.athlete-heading p:last-child { margin:0; color:var(--muted); }.progress-detail-layout { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.progress-detail-layout > .panel:first-child { grid-column:1/-1; }.score-detail-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.score-detail-grid > div { display:grid; grid-template-columns:1fr auto; gap:8px; padding:13px; border:1px solid var(--line); border-radius:12px; }.score-detail-grid span { color:var(--muted); font-size:.63rem; }.score-detail-grid strong { color:var(--navy); }.score-detail-grid > div > div { grid-column:1/-1; height:6px; overflow:hidden; border-radius:99px; background:#e9edf3; }.score-detail-grid i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--blue),#6f95ed); }.progress-narrative p:last-child,.next-focus-card p:last-child { color:#46546a; line-height:1.8; }.next-focus-card { border-top:3px solid var(--gold); }

/* V4.8 connected agenda */
.agenda-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:15px; padding:25px 27px; overflow:hidden; border:1px solid #d9e3f0; border-radius:21px; background:linear-gradient(125deg,#fff 45%,var(--surface-blue)); box-shadow:var(--shadow-sm); }.agenda-hero h1 { max-width:760px; margin:3px 0 7px; }.agenda-hero p:last-child { max-width:760px; margin:0; color:var(--muted); }.agenda-actions { display:flex; flex-wrap:wrap; gap:8px; flex:0 0 auto; }
.agenda-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:15px; }.agenda-stats article { position:relative; padding:15px 17px; overflow:hidden; border:1px solid var(--line); border-radius:15px; background:#fff; box-shadow:var(--shadow-sm); }.agenda-stats article::after { content:""; position:absolute; top:0; right:0; width:5px; height:100%; background:var(--blue); }.agenda-stats article.attention::after { background:var(--gold); }.agenda-stats small,.agenda-stats strong,.agenda-stats span { display:block; }.agenda-stats small { color:var(--muted); font-size:.57rem; }.agenda-stats strong { margin:2px 0; color:var(--navy); font-size:1.35rem; }.agenda-stats span { color:#758196; font-size:.54rem; }
.agenda-filter { display:grid; grid-template-columns:minmax(320px,1fr) 180px 170px auto auto; gap:10px; align-items:end; margin-bottom:13px; padding:14px; }.agenda-tabs { display:flex; align-items:center; gap:5px; padding:4px; border-radius:12px; background:var(--surface-soft); }.agenda-tabs button { flex:1; min-height:37px; padding:7px 10px; border:0; border-radius:9px; background:transparent; color:var(--muted); font:inherit; font-size:.61rem; font-weight:750; cursor:pointer; }.agenda-tabs button.active { background:#fff; color:var(--blue); box-shadow:0 2px 8px rgba(18,46,90,.09); }.agenda-filter label span { display:block; margin-bottom:4px; color:var(--muted); font-size:.54rem; font-weight:750; }.agenda-filter input,.agenda-filter select { width:100%; height:41px; padding:0 10px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--navy); font:inherit; font-size:.62rem; }.agenda-reset { align-self:center; color:var(--muted); font-size:.6rem; font-weight:750; text-decoration:none; }
.agenda-list { display:grid; gap:9px; }.agenda-row { display:grid; grid-template-columns:86px minmax(240px,1fr) minmax(130px,.55fr) minmax(145px,.58fr) 128px; gap:14px; align-items:center; min-height:118px; padding:13px 15px 13px 0; overflow:hidden; border:1px solid var(--line); border-radius:17px; background:#fff; box-shadow:var(--shadow-sm); transition:.16s ease; }.agenda-row:hover { border-color:#c4d3e7; box-shadow:var(--shadow); }.agenda-row.rental { border-left:4px solid var(--blue); }.agenda-row.class-session { border-left:4px solid var(--gold); }.agenda-time { display:grid; align-self:stretch; place-content:center; padding:9px; border-right:1px solid var(--line); text-align:center; }.agenda-time span,.agenda-time small { color:var(--muted); font-size:.51rem; font-weight:750; text-transform:uppercase; }.agenda-time strong { color:var(--navy); font-size:1.45rem; line-height:1; }.agenda-time b { margin-top:7px; color:var(--blue); font-size:.56rem; white-space:nowrap; }.agenda-main { min-width:0; }.agenda-kind { display:flex; align-items:center; gap:7px; }.agenda-kind span { padding:3px 7px; border-radius:99px; background:var(--surface-blue); color:var(--blue); font-size:.51rem; font-weight:850; text-transform:uppercase; }.class-session .agenda-kind span { background:var(--gold-soft); color:#806000; }.agenda-kind small { color:var(--muted); font-size:.5rem; }.agenda-main h2 { overflow:hidden; margin:5px 0; font-size:.84rem; text-overflow:ellipsis; white-space:nowrap; }.agenda-meta { display:flex; flex-wrap:wrap; gap:5px 13px; color:var(--muted); font-size:.57rem; }.agenda-status-stack { display:grid; justify-items:start; gap:5px; }.agenda-status-stack small { color:var(--muted); font-size:.54rem; }.agenda-commercial small,.agenda-commercial strong,.agenda-commercial span { display:block; }.agenda-commercial small { color:var(--muted); font-size:.52rem; }.agenda-commercial strong { overflow:hidden; color:var(--navy); font-size:.63rem; text-overflow:ellipsis; white-space:nowrap; }.agenda-commercial span { color:var(--blue); font-size:.57rem; font-weight:750; }.agenda-capacity small { color:var(--muted); font-size:.52rem; }.agenda-capacity strong { display:block; margin:3px 0 6px; color:var(--navy); font-size:.9rem; }.agenda-capacity strong span { color:var(--muted); font-size:.55rem; }.agenda-capacity > div { height:6px; overflow:hidden; border-radius:99px; background:#e9edf4; }.agenda-capacity i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--blue),#6d91e7); }.agenda-open { justify-self:end; color:var(--blue); font-size:.61rem; font-weight:850; text-decoration:none; white-space:nowrap; }.agenda-empty { padding:48px; }

/* V4.8 club team and login roles */
.team-access-hero { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:22px; align-items:center; margin-bottom:14px; padding:24px 26px; border:1px solid #d8e4f1; border-radius:20px; background:linear-gradient(125deg,#fff,var(--surface-blue)); }.team-access-hero h1 { margin:3px 0 6px; }.team-access-hero p:last-child { max-width:720px; margin:0; color:var(--muted); }.access-login-flow { display:flex; align-items:center; gap:7px; padding:12px 14px; border-radius:14px; background:var(--navy); color:#fff; }.access-login-flow span { display:grid; width:25px; height:25px; place-items:center; border-radius:50%; background:var(--gold); color:var(--navy); font-size:.58rem; font-weight:850; }.access-login-flow strong { font-size:.56rem; white-space:nowrap; }.access-login-flow i { color:#8290a6; font-style:normal; }
.role-explainer { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:14px; }.role-explainer article { display:grid; grid-template-columns:42px 1fr; gap:10px; align-items:center; padding:14px; border:1px solid var(--line); border-radius:14px; background:#fff; }.role-explainer article > span { display:grid; width:42px; height:42px; place-items:center; border-radius:12px; background:var(--surface-blue); color:var(--blue); font-weight:900; }.role-explainer strong { display:block; color:var(--navy); font-size:.68rem; }.role-explainer p { margin:3px 0 0; color:var(--muted); font-size:.56rem; line-height:1.45; }.team-access-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(370px,.95fr); gap:15px; align-items:start; }.team-directory { padding:18px; }.team-directory-list article { display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:9px; align-items:center; padding:11px 0; border-top:1px solid var(--line); }.team-directory-list strong,.team-directory-list small { display:block; }.team-directory-list strong { color:var(--navy); font-size:.68rem; }.team-directory-list small { overflow:hidden; color:var(--muted); font-size:.54rem; text-overflow:ellipsis; white-space:nowrap; }

@media (max-width: 1260px) {
  .dashboard-stats { grid-template-columns:repeat(3,1fr); }
  .workflow-grid { grid-template-columns:repeat(3,1fr); }
  .master-grid,.evaluation-grid { grid-template-columns:repeat(2,1fr); }
  .resource-grid,.package-admin-grid { grid-template-columns:repeat(2,1fr); }
  .coach-flow-four { grid-template-columns:repeat(2,1fr); }
  .coach-flow-five { grid-template-columns:repeat(3,1fr); }
  .booking-summary-content { grid-template-columns:1fr; }.summary-checkout { grid-template-columns:minmax(0,1fr) minmax(190px,.42fr); }.summary-action { align-content:center; }
  .booking-recap-layout { grid-template-columns:1fr; }.booking-recap-checkout { grid-template-columns:minmax(220px,.65fr) minmax(320px,1fr) minmax(190px,.55fr); align-items:center; border-top:1px solid var(--line); border-left:0; }.booking-recap .summary-action { align-content:center; }
  .agenda-row { grid-template-columns:82px minmax(220px,1fr) minmax(120px,.55fr) 120px; }.agenda-commercial,.agenda-capacity { grid-column:3; }.agenda-status-stack { grid-column:4; grid-row:1; }.agenda-open { grid-column:4; grid-row:1; align-self:end; }
}
@media (max-width: 1020px) {
  :root { --sidebar: 236px; }
  .dashboard-grid,.form-layout { grid-template-columns:1fr; }
  .form-heading { position:static; }.form-heading .back-link { margin-bottom:20px; }
  .settings-section { grid-template-columns:1fr; }.settings-section-head { border-right:0; border-bottom:1px solid var(--line); }.settings-section-head > span { margin:0 0 7px; }
  .occupancy-stats { grid-template-columns:repeat(2,1fr); }
  .pricing-fields { grid-template-columns:1fr 1fr; }
  .schedule-facts { grid-template-columns:repeat(2,1fr); }
  .video-compare-grid { grid-template-columns:1fr; }
  .auth-page { grid-template-columns:.85fr 1fr; }
  .booking-layout { grid-template-columns:1fr; }.booking-checkout { position:static; }.booking-checkout .booking-summary-card { display:grid; grid-template-columns:1fr 1fr; gap:12px 18px; }.booking-checkout .booking-summary-card > .eyebrow,.booking-checkout .booking-summary-card > h2,.booking-checkout .booking-summary-card > .booking-submit,.booking-checkout .booking-summary-card > .secure-note,.booking-checkout .booking-summary-card > .btn-secondary { grid-column:1/-1; }
  .booking-recap-checkout { grid-template-columns:minmax(210px,.7fr) minmax(300px,1fr); }.booking-recap .summary-action { grid-column:1/-1; }.booking-recap-schedule { grid-template-columns:minmax(170px,.8fr) minmax(250px,1.25fr) minmax(145px,.7fr); }
  .tenant-grid { grid-template-columns:repeat(2,1fr); }.config-two-column { grid-template-columns:1fr; }
  .progress-report-grid { grid-template-columns:repeat(2,1fr); }
  .assisted-payment-step { grid-template-columns:44px 1fr; }.assisted-payment-options,.assisted-payment-step > .btn { grid-column:2; }
  .invoice-layout { grid-template-columns:1fr; }.invoice-sidebar { grid-template-columns:1fr 1fr; }.invoice-sidebar > .btn { grid-column:1/-1; }.payment-submit-layout { grid-template-columns:1fr; }.payment-invoice-preview { position:static; }
  .reservation-layout { grid-template-columns:1fr; }.reservation-finance { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .public-invoice-layout { grid-template-columns:1fr; }.public-invoice-layout > .invoice-total-card { position:static; }
  .agenda-filter { grid-template-columns:1fr 1fr; }.agenda-tabs { grid-column:1/-1; }.agenda-row { grid-template-columns:78px minmax(0,1fr) 135px; }.agenda-commercial,.agenda-capacity { grid-column:2; }.agenda-status-stack { grid-column:3; }.agenda-open { grid-column:3; }.agenda-stats { grid-template-columns:repeat(2,1fr); }
  .team-access-hero,.team-access-layout { grid-template-columns:1fr; }.access-login-flow { justify-self:start; }
}
@media (max-width: 820px) {
  .sidebar { transform:translateX(-102%); transition:.22s ease; box-shadow:18px 0 40px rgba(11,20,38,.16); }.nav-open .sidebar { transform:translateX(0); }
  .main-shell { margin-left:0; }.menu-toggle { display:block; }.topbar { padding:10px 16px; }.content { padding:22px 16px 48px; }.topbar-tools .today-chip,.topbar-cta { display:none; }
  .dashboard-welcome,.coach-welcome,.settings-hero,.schedule-detail-hero,.analysis-intro { grid-template-columns:1fr; }.welcome-score { display:none; }
  .stats-grid,.dashboard-stats,.coach-stats,.coach-stats-four { grid-template-columns:repeat(2,1fr); }
  .grid-3 { grid-template-columns:1fr 1fr; }
  .analysis-help { text-align:left; }
  .auth-page { grid-template-columns:1fr; }.auth-visual { display:none; }.auth-form-side { min-height:100vh; }.brand-mobile { display:flex; }
  .range-board-hero,.board-section-head { align-items:flex-start; flex-direction:column; }.range-board-hero { padding:22px; }.board-legend { margin-top:4px; }
  .summary-overview { grid-template-columns:1fr; }.summary-slot-detail { min-height:auto; }
  .booking-recap-identities { grid-template-columns:1fr; }.booking-recap-schedule { grid-template-columns:1fr 1fr; }.booking-recap-schedule .recap-time { grid-column:1/-1; grid-row:2; }.booking-recap-checkout { grid-template-columns:1fr; }.booking-recap .summary-action { grid-column:auto; }
  .invoice-parties { grid-template-columns:1fr 1fr; }.invoice-parties > div:last-child { grid-column:1/-1; border-top:1px solid var(--line); border-left:0; }.invoice-sidebar { grid-template-columns:1fr; }.invoice-sidebar > .btn { grid-column:auto; }
  .reservation-finance { grid-template-columns:1fr; }
  .agenda-hero { align-items:flex-start; flex-direction:column; }.role-explainer { grid-template-columns:1fr; }
}
@media (max-width: 620px) {
  .page-intro,.list-page-head,.evaluation-hero { display:grid; align-items:start; }.page-intro .btn,.list-page-head .btn { justify-self:start; }
  .workflow-grid,.master-grid,.resource-grid,.package-admin-grid,.evaluation-grid,.grid-2,.grid-3 { grid-template-columns:1fr; }
  .form-grid,.pricing-fields { grid-template-columns:1fr; }.field-wrap { grid-column:1!important; }
  .search-form,.table-toolbar,.settings-savebar { align-items:stretch; flex-direction:column; }.filter-form { display:grid; grid-template-columns:1fr; }
  .settings-savebar { position:static; }.technical-callout { grid-template-columns:42px 1fr; }.technical-callout .btn { grid-column:1/-1; }
  .schedule-row { grid-template-columns:46px 10px 1fr auto; }.schedule-row .capacity-meter { grid-column:3; }.schedule-row > .badge { grid-column:4; grid-row:1/3; }
  .schedule-facts { grid-template-columns:1fr; }.participant-row { grid-template-columns:40px 1fr auto; }.participant-row > .badge { grid-column:2; justify-self:start; }.participant-row form,.participant-row .checked-label,.participant-row > .muted { grid-column:3; grid-row:1/3; }
  .class-card-row { grid-template-columns:48px 1fr auto; }.class-card-row .participant-pill { grid-column:2; text-align:left; }.class-card-row > .badge { grid-column:3; grid-row:1/3; }.class-card-row .row-arrow { display:none; }
  .stats-grid,.dashboard-stats,.coach-stats,.coach-stats-four { grid-template-columns:1fr 1fr; }
  .coach-flow,.coach-flow-four,.coach-flow-five { grid-template-columns:1fr; }
  .analysis-intro { padding:18px; }.video-toolbar { gap:5px; }.toolbar-divider { display:none; }
  .booking-intro { align-items:flex-start; flex-direction:column; padding:20px; }.quota-chip { grid-template-columns:auto auto auto; gap:5px; min-width:0; }.quota-chip strong { font-size:1.25rem; }
  .slot-picker,.class-setup-card { padding:16px; }.slot-step-head { grid-template-columns:38px 1fr auto; gap:10px; }.slot-step-head > span { width:38px; height:38px; }.slot-step-head p:last-child { grid-column:1/-1; }.day-strip { grid-template-columns:repeat(7,68px); }.duration-pills,.slot-feedback,.range-slot-list,.range-area-filter { margin-left:0; }.range-area-filter { align-items:flex-start; flex-direction:column; gap:9px; }.range-slot-head { align-items:flex-start; }.capacity-tag { display:none; }.time-slot-grid { grid-template-columns:repeat(3,1fr); }.booking-checkout .booking-summary-card { display:block; }.payment-choice { margin-top:12px; }
  .member-picker { padding:16px; }.member-picker-head { grid-template-columns:38px 1fr; }.member-step { width:38px; height:38px; }.member-search-box,.member-results,.selected-member-card,.member-picker > .field-errors { margin-left:0; }.selected-member-card { grid-template-columns:40px 1fr auto; }.member-quota { grid-column:2; text-align:left; }.selected-member-card button { grid-column:3; grid-row:1/3; }.member-result { grid-template-columns:36px 1fr; }.member-result-access { grid-column:2; text-align:left; }.assisted-payment-step { grid-template-columns:38px 1fr; padding:14px; }.assisted-payment-options { grid-column:1/-1; grid-template-columns:1fr; }.assisted-payment-step > .btn { grid-column:1/-1; }
  .tenant-grid { grid-template-columns:1fr; }.club-config-hero { grid-template-columns:auto 1fr; }.club-config-hero > .btn { grid-column:1/-1; justify-self:start; }
  .progress-report-grid,.progress-detail-layout,.score-detail-grid { grid-template-columns:1fr; }.progress-detail-layout > .panel:first-child { grid-column:auto; }.progress-detail-hero { align-items:flex-start; flex-direction:column; }
  .board-toolbar { align-items:flex-start; flex-direction:column; }.board-day-strip { grid-template-columns:repeat(7,68px); overflow-x:auto; }.occupancy-stats { grid-template-columns:1fr 1fr; }.occupancy-stats article { padding:12px; }.occupancy-score { grid-column:1/-1; }.range-board-grid { grid-template-columns:72px repeat(var(--range-count),minmax(165px,1fr)); }.board-cell { min-width:165px; }.selection-counter { grid-column:1/-1; justify-self:start; }
  .booking-summary-top { padding:17px; }.booking-summary-heading { align-items:flex-start; flex-direction:column; }.booking-summary-content,.summary-checkout { grid-template-columns:1fr; }.summary-slot-detail { grid-template-columns:1fr; }.summary-slot-detail dl { grid-template-columns:1fr; }.summary-slot-detail dl div { border-left:0; border-top:1px solid var(--line); }.summary-slot-detail dl div:first-child { border-top:0; }.summary-payment { grid-template-columns:1fr; }.summary-payment .choice-label { grid-column:auto; }.matrix-scroll-hint { align-items:flex-start; flex-direction:column; gap:2px; }.multi-slot-board { grid-template-columns:76px repeat(var(--range-count),205px); }.multi-slot-corner,.multi-slot-range-head,.multi-slot-time,.multi-slot-board .matrix-slot { min-height:88px; }.multi-slot-board .matrix-slot { min-width:205px; padding:12px; }.multi-slot-time { padding:11px; }
  .booking-summary-top.booking-recap { padding:0; }.booking-recap-head { align-items:flex-start; flex-direction:column; padding:17px; }.booking-recap-main,.booking-recap-checkout { padding:14px; }.booking-recap-identities,.booking-recap-schedule { grid-template-columns:1fr; }.booking-recap-schedule .recap-time { grid-column:auto; grid-row:auto; }.recap-fact { min-height:auto; }.booking-recap-total strong { font-size:1.08rem; }
  .invoice-hero { grid-template-columns:48px 1fr; padding:17px; }.invoice-brand-mark { width:48px; height:48px; border-radius:14px; }.invoice-status { grid-column:1/-1; justify-self:start; }.invoice-parties { grid-template-columns:1fr; }.invoice-parties > div + div,.invoice-parties > div:last-child { grid-column:auto; border-top:1px solid var(--line); border-left:0; }.invoice-slot-list { padding:0 14px 14px; }.invoice-slot-list article { grid-template-columns:54px minmax(0,1fr); gap:11px; }.invoice-slot-date { min-height:56px; }.invoice-slot-range { grid-column:2; padding:9px 0 0; border-top:1px solid var(--line); border-left:0; }.invoice-table-wrap { padding:0 14px 14px; }.invoice-items-head { padding:17px 14px 10px; }.invoice-table,.invoice-table tbody,.invoice-table tr,.invoice-table td { display:block; width:100%; }.invoice-table thead { display:none; }.invoice-table tr { padding:8px 12px; border-bottom:1px solid var(--line); }.invoice-table tr:last-child { border-bottom:0; }.invoice-table td { display:grid; grid-template-columns:105px minmax(0,1fr); gap:12px; padding:6px 0; border:0; text-align:right!important; }.invoice-table td::before { content:attr(data-label); color:var(--muted); font-size:.58rem; font-weight:750; text-align:left; }.invoice-document-foot { align-items:flex-start; flex-direction:column; }.payment-submit-card,.payment-invoice-preview { padding:18px; }
  .reservation-hero { align-items:flex-start; flex-direction:column; padding:19px; }.reservation-statuses { justify-content:flex-start; }.reservation-schedule-card,.reservation-detail-card,.reservation-invoice-card,.reservation-payment-card { padding:16px; }.reservation-blocks article { grid-template-columns:56px minmax(0,1fr); }.reservation-ranges { grid-column:1/-1; padding:10px 0 0; border-top:1px solid var(--line); border-left:0; }.reservation-facts { grid-template-columns:1fr; }.reservation-facts div,.reservation-facts div:nth-child(-n+2) { border-top:1px solid var(--line); }.reservation-facts div:first-child { border-top:0; }.reservation-facts div:nth-child(even) { border-left:0; }.pending-payment-list article { grid-template-columns:1fr; }
  .public-invoice-shell { width:min(100% - 20px,1180px); margin:10px auto 28px; }
  .agenda-stats { grid-template-columns:1fr 1fr; }.agenda-filter { grid-template-columns:1fr; }.agenda-tabs { overflow-x:auto; }.agenda-filter .btn,.agenda-reset { justify-self:start; }.agenda-row { grid-template-columns:68px minmax(0,1fr); gap:10px; padding-right:12px; }.agenda-time { grid-row:1/5; }.agenda-status-stack,.agenda-commercial,.agenda-capacity,.agenda-open { grid-column:2; grid-row:auto; justify-self:start; }.agenda-main h2 { white-space:normal; }.access-login-flow { display:grid; grid-template-columns:25px 1fr; width:100%; }.access-login-flow i { display:none; }.team-directory-list article { grid-template-columns:38px 1fr; }.team-directory-list article > .badge { grid-column:2; justify-self:start; }
}

@media print {
  .sidebar,.topbar,.messages,.invoice-sidebar,.invoice-status { display:none!important; }
  .main-shell { margin:0; }.content { width:100%; padding:0; }.invoice-layout { display:block; }.invoice-hero,.invoice-document { border-color:#d5d9e0; box-shadow:none; }.invoice-page { gap:10px; }
}

/* V5.0 equipment management */
.equipment-subnav { display:flex; gap:14px; align-items:center; margin-bottom:14px; padding:8px 9px; border:1px solid #d8e4f1; border-radius:16px; background:rgba(255,255,255,.96); box-shadow:var(--shadow-sm); }
.equipment-subnav-title { display:grid; grid-template-columns:34px auto; gap:9px; align-items:center; padding-right:14px; border-right:1px solid var(--line); }.equipment-subnav-title > span:last-child small,.equipment-subnav-title > span:last-child strong { display:block; }.equipment-subnav-title small { color:var(--muted); font-size:.43rem; text-transform:uppercase; }.equipment-subnav-title strong { margin-top:1px; color:var(--navy); font-size:.58rem; white-space:nowrap; }.equipment-subnav-mark { display:grid; width:34px; height:34px; place-items:center; border-radius:11px; background:linear-gradient(135deg,var(--navy),#29466e); color:var(--gold); font-size:.64rem; font-weight:900; }
.equipment-subnav-links { display:flex; flex:1; gap:3px; align-items:center; }.equipment-subnav-links a { display:flex; gap:6px; align-items:center; min-height:36px; padding:0 10px; border-radius:10px; color:var(--muted); font-size:.53rem; font-weight:800; text-decoration:none; white-space:nowrap; }.equipment-subnav-links a span { color:#8c9bb0; font-size:.65rem; }.equipment-subnav-links a:hover { background:var(--surface-soft); color:var(--navy); }.equipment-subnav-links a.active { background:var(--surface-blue); color:var(--blue); }.equipment-subnav-links a.active span { color:var(--blue); }
.equipment-subnav-action { min-height:36px; padding:10px 13px; border-radius:10px; background:var(--navy); color:#fff; font-size:.53rem; font-weight:850; text-decoration:none; white-space:nowrap; }.equipment-subnav-action:hover,.equipment-subnav-action.active { background:var(--blue); color:#fff; }
.equipment-hero,.equipment-flow-hero,.equipment-usage-hero { display:flex; justify-content:space-between; gap:24px; align-items:center; margin-bottom:14px; padding:25px 27px; overflow:hidden; border:1px solid #d8e4f1; border-radius:21px; background:linear-gradient(125deg,#fff 45%,#eef5ff); box-shadow:var(--shadow-sm); }
.equipment-hero h1,.equipment-flow-hero h1,.equipment-usage-hero h1 { max-width:760px; margin:4px 0 7px; font-size:1.35rem; }.equipment-hero p:last-child,.equipment-flow-hero p:last-child,.equipment-usage-hero p:last-child { max-width:760px; margin:0; color:var(--muted); font-size:.66rem; line-height:1.55; }
.equipment-stats { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-bottom:14px; }.equipment-stats article { display:grid; grid-template-columns:42px 1fr; gap:10px; align-items:center; min-height:94px; padding:14px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:var(--shadow-sm); }.equipment-stat-icon { display:grid; width:42px; height:42px; place-items:center; border-radius:13px; background:var(--surface-blue); color:var(--blue); font-size:.8rem; font-weight:900; }.equipment-stat-icon.ready { background:#e9f8ef; color:#23824b; }.equipment-stat-icon.use { background:#fff5d9; color:#9a7000; }.equipment-stat-icon.late { background:#fff0ed; color:#ba3f32; }.equipment-stat-icon.care { background:#f3efff; color:#7651ad; }.equipment-stats small,.equipment-stats p { color:var(--muted); font-size:.5rem; }.equipment-stats strong { display:block; margin:2px 0; color:var(--navy); font-size:1.25rem; }.equipment-stats p { margin:0; }
.equipment-dashboard-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(330px,.68fr); gap:14px; align-items:start; }.equipment-inventory-panel,.equipment-activity-panel { padding:18px; }.equipment-toolbar { display:flex; justify-content:space-between; gap:12px; align-items:center; margin:12px 0; }.equipment-filter-tabs { display:flex; gap:4px; padding:4px; border-radius:12px; background:var(--surface-soft); }.equipment-filter-tabs a { padding:8px 10px; border-radius:9px; color:var(--muted); font-size:.55rem; font-weight:800; text-decoration:none; white-space:nowrap; }.equipment-filter-tabs a.active { background:#fff; color:var(--blue); box-shadow:0 2px 8px rgba(18,46,90,.09); }.equipment-search { display:flex; min-width:230px; }.equipment-search input { min-width:0; height:38px; padding:0 10px; border:1px solid var(--line); border-radius:10px 0 0 10px; font:inherit; font-size:.57rem; }.equipment-search button { padding:0 12px; border:0; border-radius:0 10px 10px 0; background:var(--navy); color:#fff; font:inherit; font-size:.55rem; font-weight:800; cursor:pointer; }
.equipment-unit-list { display:grid; gap:7px; }.equipment-unit-row { display:grid; grid-template-columns:40px minmax(190px,1.2fr) minmax(110px,.65fr) minmax(135px,.72fr) auto; gap:11px; align-items:center; min-height:76px; padding:10px 12px; border:1px solid var(--line); border-radius:14px; background:#fff; transition:.16s ease; }.equipment-unit-row:hover { border-color:#c5d5e8; box-shadow:var(--shadow-sm); }.equipment-unit-symbol,.equipment-line-symbol { display:grid; width:38px; height:38px; place-items:center; border-radius:12px; background:var(--surface-blue); }.equipment-unit-symbol span,.equipment-line-symbol span { position:relative; width:22px; height:4px; border-radius:99px; background:var(--blue); transform:rotate(-25deg); }.equipment-unit-symbol span::after,.equipment-line-symbol span::after { content:""; position:absolute; right:-2px; top:-3px; width:8px; height:8px; border:2px solid var(--blue); border-left:0; border-bottom:0; transform:rotate(45deg); }.equipment-unit-main small,.equipment-unit-main strong,.equipment-unit-main span,.equipment-unit-place small,.equipment-unit-place strong,.equipment-unit-state small { display:block; }.equipment-unit-main small,.equipment-unit-place small,.equipment-unit-state small { color:var(--muted); font-size:.49rem; }.equipment-unit-main strong { margin:2px 0; color:var(--navy); font-size:.66rem; }.equipment-unit-main span,.equipment-unit-place strong { color:#52637a; font-size:.55rem; }.equipment-unit-state small { margin-top:4px; }.equipment-unit-action { text-align:right; }.equipment-unit-action a,.equipment-unit-action span { color:var(--blue); font-size:.54rem; font-weight:800; text-decoration:none; white-space:nowrap; }
.equipment-status { display:inline-flex; align-items:center; min-height:23px; padding:4px 8px; border-radius:99px; background:#eef1f5; color:#627086; font-size:.49rem; font-weight:850; white-space:nowrap; }.equipment-status-available,.equipment-status-returned,.equipment-status-refunded { background:#e9f8ef; color:#23824b; }.equipment-status-reserved,.equipment-status-pending,.equipment-status-partially_returned { background:#fff5d9; color:#8d6800; }.equipment-status-rented,.equipment-status-club_use,.equipment-status-checked_out,.equipment-status-held { background:#eaf1ff; color:#315fbd; }.equipment-status-overdue,.equipment-status-damaged,.equipment-status-lost,.equipment-status-forfeited { background:#fff0ed; color:#b93e32; }.equipment-status-maintenance,.equipment-status-maintenance_due { background:#f3efff; color:#7450a8; }.equipment-status-inactive,.equipment-status-retired,.equipment-status-cancelled,.equipment-status-not_required { background:#eef1f5; color:#667488; }
.equipment-service-warning { display:block; width:max-content; max-width:100%; margin-top:4px; padding:3px 7px; border-radius:7px; background:#fff5d9; color:#8b6500; font-size:.45rem; font-weight:800; }.equipment-unit-state .equipment-service-warning { margin-top:5px; }
.equipment-activity-list { display:grid; margin:5px 0 15px; }.equipment-activity-list > a { display:grid; grid-template-columns:34px minmax(0,1fr) auto; gap:9px; align-items:center; padding:11px 0; border-top:1px solid var(--line); color:inherit; text-decoration:none; }.equipment-activity-list > a:first-child { border-top:0; }.equipment-activity-type { display:grid; width:34px; height:34px; place-items:center; border-radius:11px; background:#eff3f8; color:var(--navy); font-size:.55rem; font-weight:900; }.equipment-activity-type.rental { background:var(--gold-soft); color:#806000; }.equipment-activity-list small,.equipment-activity-list strong,.equipment-activity-list em { display:block; }.equipment-activity-list small { color:var(--muted); font-size:.46rem; }.equipment-activity-list strong { overflow:hidden; margin:2px 0; color:var(--navy); font-size:.59rem; text-overflow:ellipsis; white-space:nowrap; }.equipment-activity-list em { color:var(--muted); font-size:.48rem; font-style:normal; }.equipment-activity-list b { align-self:start; }
.equipment-master-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:14px; }.equipment-master-actions a { display:grid; grid-template-columns:36px 1fr auto; gap:10px; align-items:center; padding:14px 16px; border:1px solid var(--line); border-radius:15px; background:#fff; color:inherit; text-decoration:none; }.equipment-master-actions a > span { display:grid; width:36px; height:36px; place-items:center; border-radius:11px; background:var(--surface-blue); color:var(--blue); font-size:.55rem; font-weight:900; }.equipment-master-actions strong,.equipment-master-actions small { display:block; }.equipment-master-actions strong { color:var(--navy); font-size:.65rem; }.equipment-master-actions small { margin-top:2px; color:var(--muted); font-size:.52rem; }.equipment-master-actions b { color:var(--blue); }.equipment-category-list { display:grid; gap:13px; }.equipment-category-section { padding:18px; }.equipment-category-section > header { display:flex; justify-content:space-between; gap:16px; align-items:start; padding-bottom:13px; border-bottom:1px solid var(--line); }.equipment-category-section header p { margin:0; color:var(--blue); font-size:.5rem; font-weight:850; }.equipment-category-section header h2 { margin:3px 0; font-size:.88rem; }.equipment-category-section header span { color:var(--muted); font-size:.55rem; }.equipment-category-section header a { color:var(--blue); font-size:.55rem; font-weight:800; text-decoration:none; }.equipment-master-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:13px; }.equipment-master-card { padding:14px; border:1px solid var(--line); border-radius:14px; background:#fff; }.equipment-master-card.is-inactive { opacity:.6; }.equipment-master-card-top { display:flex; justify-content:space-between; gap:8px; }.equipment-master-card-top > span { color:var(--blue); font-size:.5rem; font-weight:850; }.equipment-master-card-top i { margin-left:3px; padding:3px 6px; border-radius:99px; background:var(--surface-soft); color:var(--muted); font-size:.44rem; font-style:normal; font-weight:800; }.equipment-master-card h3 { margin:8px 0 2px; font-size:.72rem; }.equipment-master-card > p { min-height:16px; margin:0 0 10px; color:var(--muted); font-size:.52rem; }.equipment-master-card dl { display:grid; grid-template-columns:1fr 1fr; margin:0 0 11px; border:1px solid var(--line); border-radius:10px; }.equipment-master-card dl div { padding:8px; }.equipment-master-card dl div:nth-child(even) { border-left:1px solid var(--line); }.equipment-master-card dl div:nth-child(n+3) { border-top:1px solid var(--line); }.equipment-master-card dt { color:var(--muted); font-size:.45rem; }.equipment-master-card dd { margin:2px 0 0; color:var(--navy); font-size:.57rem; font-weight:800; }.equipment-master-card dd small { font-size:.42rem; }.equipment-master-card > a { color:var(--blue); font-size:.53rem; font-weight:800; text-decoration:none; }
.equipment-register { overflow:hidden; }.equipment-register-head,.equipment-register > article { display:grid; grid-template-columns:minmax(190px,1.2fr) minmax(120px,.65fr) minmax(130px,.65fr) minmax(130px,.65fr) 100px; gap:12px; align-items:center; padding:12px 16px; }.equipment-register-head { background:var(--surface-soft); color:var(--muted); font-size:.49rem; font-weight:850; text-transform:uppercase; }.equipment-register > article { border-top:1px solid var(--line); }.equipment-register > article > div:first-child strong,.equipment-register > article > div:first-child span,.equipment-register > article > div:first-child small { display:block; }.equipment-register > article > div:first-child strong { color:var(--navy); font-size:.64rem; }.equipment-register > article > div:first-child span { margin:2px 0; font-size:.56rem; }.equipment-register > article small { color:var(--muted); font-size:.47rem; }.equipment-register > article > div[data-label] strong { font-size:.55rem; }.equipment-register .inline-actions { gap:7px; }.equipment-register .inline-actions a { color:var(--blue); font-size:.5rem; font-weight:800; text-decoration:none; }.equipment-condition { display:inline-flex; padding:4px 7px; border-radius:99px; background:#eef1f5; color:#667488; font-size:.49rem; font-weight:850; }.equipment-condition-good { background:#e9f8ef; color:#23824b; }.equipment-condition-maintenance { background:#f3efff; color:#7450a8; }.equipment-condition-damaged,.equipment-condition-lost { background:#fff0ed; color:#b93e32; }
.equipment-flow-steps { display:flex; align-items:center; gap:6px; }.equipment-flow-steps span { display:grid; justify-items:center; gap:4px; color:var(--muted); font-size:.48rem; font-weight:800; white-space:nowrap; }.equipment-flow-steps span b { display:grid; width:27px; height:27px; place-items:center; border:1px solid var(--line); border-radius:50%; background:#fff; }.equipment-flow-steps span.active { color:var(--blue); }.equipment-flow-steps span.active b { border-color:var(--blue); background:var(--blue); color:#fff; }.equipment-flow-steps i { width:22px; height:1px; background:var(--line); }.equipment-usage-layout { display:grid; grid-template-columns:minmax(0,.86fr) minmax(420px,1.14fr); gap:14px; align-items:start; }.equipment-usage-fields,.equipment-unit-picker { padding:19px; }.equipment-usage-note { display:grid; grid-template-columns:26px 1fr; gap:9px; align-items:start; margin-top:14px; padding:12px; border-radius:12px; background:var(--surface-blue); }.equipment-usage-note span { display:grid; width:26px; height:26px; place-items:center; border-radius:50%; background:var(--blue); color:#fff; font-size:.55rem; font-weight:900; }.equipment-usage-note p { margin:0; color:#49607d; font-size:.54rem; line-height:1.55; }.equipment-checkbox-list > div { display:grid; grid-template-columns:1fr 1fr; gap:7px; }.equipment-checkbox-list label { display:grid; grid-template-columns:18px 1fr; gap:8px; align-items:center; min-height:48px; padding:9px 11px; border:1px solid var(--line); border-radius:11px; color:var(--navy); font-size:.55rem; cursor:pointer; }.equipment-checkbox-list label:has(input:checked) { border-color:var(--blue); background:var(--surface-blue); box-shadow:inset 0 0 0 1px var(--blue); }.equipment-checkbox-list input { accent-color:var(--blue); }.equipment-picker-help { margin:10px 0 0; color:var(--muted); font-size:.5rem; }.equipment-sticky-submit { position:sticky; bottom:12px; z-index:4; display:flex; justify-content:flex-end; gap:12px; align-items:center; margin-top:14px; padding:11px 13px; border:1px solid #d7e2ef; border-radius:15px; background:rgba(255,255,255,.96); box-shadow:0 14px 30px rgba(17,35,62,.13); backdrop-filter:blur(10px); }.equipment-sticky-submit div { margin-left:auto; text-align:right; }.equipment-sticky-submit small,.equipment-sticky-submit strong { display:block; }.equipment-sticky-submit small { color:var(--muted); font-size:.48rem; }.equipment-sticky-submit strong { color:var(--navy); font-size:.58rem; }
.equipment-type-choice { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:10px 0 15px; }.equipment-type-choice label { display:grid; grid-template-columns:18px 1fr; gap:9px; align-items:center; min-height:66px; padding:11px 12px; border:1px solid var(--line); border-radius:12px; cursor:pointer; }.equipment-type-choice label:has(input:checked) { border-color:var(--blue); background:var(--surface-blue); box-shadow:inset 0 0 0 1px var(--blue); }.equipment-type-choice input { accent-color:var(--blue); }.equipment-type-choice strong,.equipment-type-choice small { display:block; }.equipment-type-choice strong { color:var(--navy); font-size:.59rem; }.equipment-type-choice small { margin-top:2px; color:var(--muted); font-size:.47rem; line-height:1.4; }.equipment-conditional-fields [hidden],.equipment-checkbox-list [hidden],.equipment-usage-note[hidden] { display:none !important; }.equipment-checkbox-list label > span strong,.equipment-checkbox-list label > span small { display:block; }.equipment-checkbox-list label > span strong { font-size:.54rem; }.equipment-checkbox-list label > span small { margin-top:2px; color:var(--muted); font-size:.45rem; }.equipment-checkbox-list label > span small b { color:#8b6500; font-weight:800; }
.equipment-history-panel { overflow:hidden; }.equipment-history-filters { display:grid; grid-template-columns:minmax(240px,1fr) 170px 175px auto; gap:8px; padding:13px 15px; border-bottom:1px solid var(--line); background:var(--surface-soft); }.equipment-history-filters .form-control { min-height:38px; }.equipment-history-list > header,.equipment-history-list > a { display:grid; grid-template-columns:minmax(145px,.7fr) minmax(210px,1.2fr) minmax(180px,1fr) minmax(150px,.75fr) minmax(120px,.55fr); gap:12px; align-items:center; padding:12px 16px; }.equipment-history-list > header { color:var(--muted); font-size:.47rem; font-weight:850; text-transform:uppercase; }.equipment-history-list > a { border-top:1px solid var(--line); color:inherit; text-decoration:none; }.equipment-history-list > a:hover { background:var(--surface-blue); }.equipment-history-list > a > span strong,.equipment-history-list > a > span small { display:block; }.equipment-history-list > a > span strong { overflow:hidden; color:var(--navy); font-size:.57rem; text-overflow:ellipsis; white-space:nowrap; }.equipment-history-list > a > span small { margin-top:3px; color:var(--muted); font-size:.47rem; }.equipment-history-list > a > span:last-child small { color:var(--blue); font-weight:800; }
.equipment-usage-hero.is-overdue { border-color:#f0c6c1; background:linear-gradient(125deg,#fff 45%,#fff1ef); }.equipment-usage-statuses { display:flex; align-items:center; gap:7px; }.equipment-detail-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr); gap:14px; align-items:start; }.equipment-detail-layout main,.equipment-detail-sidebar { display:grid; gap:14px; }.equipment-detail-card,.equipment-finance-card,.equipment-deposit-card,.equipment-payment-card,.equipment-action-card { padding:18px; }.equipment-transaction-lines { display:grid; }.equipment-transaction-lines article { display:grid; grid-template-columns:38px minmax(180px,1.05fr) minmax(115px,.55fr) minmax(150px,.75fr) auto; gap:10px; align-items:center; min-height:78px; padding:10px 0; border-top:1px solid var(--line); }.equipment-transaction-lines article:first-child { border-top:0; }.equipment-transaction-lines small,.equipment-transaction-lines strong,.equipment-transaction-lines span { display:block; }.equipment-transaction-lines small { color:var(--muted); font-size:.48rem; }.equipment-transaction-lines strong { margin:2px 0; color:var(--navy); font-size:.59rem; }.equipment-transaction-lines span { color:#596a80; font-size:.51rem; }.equipment-facts { display:grid; grid-template-columns:1fr 1fr; margin:0; border:1px solid var(--line); border-radius:12px; }.equipment-facts div { min-height:67px; padding:11px; }.equipment-facts div:nth-child(even) { border-left:1px solid var(--line); }.equipment-facts div:nth-child(n+3) { border-top:1px solid var(--line); }.equipment-facts dt { color:var(--muted); font-size:.48rem; }.equipment-facts dd { margin:4px 0 0; color:var(--navy); font-size:.57rem; font-weight:750; }.equipment-detail-sidebar { position:sticky; top:80px; }.equipment-finance-card header { display:flex; justify-content:space-between; gap:10px; }.equipment-finance-card h2,.equipment-deposit-card h2,.equipment-payment-card h2 { margin:3px 0 5px; font-size:.78rem; }.equipment-finance-lines { display:grid; margin:12px 0; border-top:1px solid var(--line); }.equipment-finance-lines > div { display:flex; justify-content:space-between; gap:10px; padding:9px 0; border-bottom:1px solid var(--line); }.equipment-finance-lines span,.equipment-finance-lines small,.equipment-finance-lines strong { display:block; }.equipment-finance-lines span { font-size:.53rem; }.equipment-finance-lines small { margin-top:2px; color:var(--muted); font-size:.46rem; }.equipment-finance-lines strong { font-size:.55rem; }.equipment-finance-card dl { margin:0 0 12px; }.equipment-finance-card dl div { display:flex; justify-content:space-between; padding:5px 0; font-size:.53rem; }.equipment-finance-card dl .balance { margin-top:5px; padding-top:10px; border-top:1px solid var(--line); color:var(--navy); font-weight:850; }.equipment-finance-card .btn + .btn,.equipment-payment-card .btn + .btn,.equipment-action-card form + form,.equipment-deposit-card .btn + .btn { margin-top:7px; }.equipment-deposit-card > span { margin:7px 0 12px; }.equipment-deposit-card p,.equipment-action-card p { color:var(--muted); font-size:.53rem; line-height:1.5; }.equipment-pending-payment { display:grid; gap:5px; margin-top:10px; padding:11px; border-radius:12px; background:var(--surface-soft); }.equipment-pending-payment span,.equipment-pending-payment small { color:var(--muted); font-size:.48rem; }.equipment-pending-payment strong { color:var(--navy); font-size:.7rem; }.equipment-payment-form { display:grid; gap:9px; margin-top:10px; }.equipment-finished { display:grid; justify-items:center; gap:4px; padding:14px; border-radius:12px; background:#e9f8ef; color:#23824b; }.equipment-finished span { display:grid; width:30px; height:30px; place-items:center; border-radius:50%; background:#23824b; color:#fff; }.equipment-finished strong { font-size:.6rem; }.equipment-finished small { font-size:.48rem; }
.equipment-return-layout { display:grid; grid-template-columns:minmax(300px,.72fr) minmax(420px,1.28fr); gap:18px; align-items:start; }
.equipment-return-summary { position:sticky; top:82px; padding:22px; }
.equipment-return-summary h1 { margin:5px 0 14px; font-size:1.42rem; }
.equipment-return-guidance { margin:14px 0 0; color:var(--muted); font-size:.72rem; line-height:1.6; }
.equipment-return-asset { display:grid; grid-template-columns:58px 1fr; gap:13px; align-items:center; margin:14px 0; padding:15px; border:1px solid var(--line); border-radius:15px; background:linear-gradient(135deg,#fff,var(--surface-blue)); }
.equipment-return-asset > span { display:grid; width:58px; height:58px; place-items:center; border-radius:16px; background:#e8f1ff; }
.equipment-return-asset > span::after { content:"↗"; color:var(--blue); font-size:1.2rem; font-weight:900; }
.equipment-return-asset small,.equipment-return-asset strong,.equipment-return-asset p { display:block; }
.equipment-return-asset small { color:var(--muted); font-size:.62rem; }
.equipment-return-asset strong { margin:2px 0; font-size:.9rem; }
.equipment-return-asset p { margin:0; color:var(--muted); font-size:.65rem; }
.equipment-return-context { display:grid; margin:0; overflow:hidden; border:1px solid var(--line); border-radius:13px; background:#fff; }
.equipment-return-context div { display:grid; grid-template-columns:minmax(105px,.75fr) minmax(0,1.25fr); gap:12px; padding:11px 13px; }
.equipment-return-context div + div { border-top:1px solid var(--line); }
.equipment-return-context dt { color:var(--muted); font-size:.64rem; }
.equipment-return-context dd { margin:0; color:var(--navy); font-size:.69rem; font-weight:750; text-align:right; }
.equipment-return-form { overflow:visible; }
.equipment-return-form-head { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; padding:22px 24px 18px; border-bottom:1px solid var(--line); background:linear-gradient(125deg,#fff 55%,#f1f6ff); border-radius:var(--radius) var(--radius) 0 0; }
.equipment-return-form-head h2 { margin:2px 0 5px; font-size:1.18rem; }
.equipment-return-form-head p:last-child { margin:0; color:var(--muted); font-size:.73rem; }
.equipment-return-form-head > span { flex:0 0 auto; padding:6px 10px; border-radius:99px; background:var(--navy); color:#fff; font-size:.64rem; font-weight:800; }
.equipment-inspection-checklist { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:16px 24px; border-bottom:1px solid var(--line); background:#fafbfd; }
.equipment-inspection-checklist span { display:flex; align-items:center; gap:8px; color:#536178; font-size:.65rem; font-weight:700; }
.equipment-inspection-checklist b { display:grid; flex:0 0 25px; width:25px; height:25px; place-items:center; border-radius:8px; background:#e8f1ff; color:var(--blue); font-size:.61rem; }
.equipment-return-fields { display:grid; gap:0; padding:0 24px; }
.equipment-inspection-field { display:grid; grid-template-columns:42px minmax(0,1fr); gap:14px; padding:20px 0; }
.equipment-inspection-field + .equipment-inspection-field { border-top:1px solid var(--line); }
.equipment-inspection-step { display:grid; width:42px; height:42px; place-items:center; border-radius:12px; background:var(--navy); color:var(--gold); font-size:.67rem; font-weight:850; }
.equipment-inspection-field .field-wrap label { margin-bottom:3px; font-size:.78rem; }
.equipment-inspection-field .form-control { min-height:48px; }
.equipment-inspection-field textarea.form-control { min-height:126px; }
.field-intro { margin:0 0 10px; color:var(--muted); font-size:.68rem; line-height:1.5; }
.equipment-return-warning { display:grid; grid-template-columns:32px 1fr; gap:10px; align-items:center; margin:0 24px 18px; padding:13px 14px; border:1px solid #efdda2; border-radius:12px; background:#fff9e8; }
.equipment-return-warning span { display:grid; width:32px; height:32px; place-items:center; border-radius:50%; background:#b68b18; color:#fff; font-weight:900; }
.equipment-return-warning p { margin:0; color:#755b17; font-size:.68rem; line-height:1.5; }
.equipment-return-actions { display:flex; justify-content:flex-end; gap:10px; padding:16px 24px; border-top:1px solid var(--line); border-radius:0 0 var(--radius) var(--radius); background:#fafbfd; }
.invoice-equipment-period { display:flex; justify-content:space-between; gap:18px; align-items:center; margin:0 18px 14px; padding:15px 16px; border:1px solid #d8e4f1; border-radius:14px; background:linear-gradient(120deg,#fff,var(--surface-blue)); }.invoice-equipment-period h2 { margin:3px 0 0; font-size:.72rem; }.invoice-equipment-period dl { display:grid; grid-template-columns:repeat(3,1fr); min-width:60%; margin:0; border:1px solid var(--line); border-radius:11px; background:#fff; }.invoice-equipment-period dl div { padding:9px 11px; }.invoice-equipment-period dl div + div { border-left:1px solid var(--line); }.invoice-equipment-period dt { color:var(--muted); font-size:.45rem; }.invoice-equipment-period dd { margin:3px 0 0; color:var(--navy); font-size:.53rem; font-weight:800; }

@media (max-width:1260px) { .equipment-stats { grid-template-columns:repeat(3,1fr); }.equipment-master-grid { grid-template-columns:repeat(2,1fr); }.equipment-unit-row { grid-template-columns:38px minmax(180px,1fr) minmax(130px,.65fr) auto; }.equipment-unit-place { display:none; }.equipment-transaction-lines article { grid-template-columns:38px minmax(170px,1fr) minmax(130px,.7fr) auto; }.equipment-transaction-lines article > div:nth-child(3) { grid-column:3; }.equipment-transaction-lines article > div:nth-child(4) { grid-column:3; }.equipment-transaction-lines article > div:last-child { grid-column:4; grid-row:1/3; } }
@media (max-width:1020px) { .equipment-dashboard-layout,.equipment-detail-layout,.equipment-usage-layout,.equipment-return-layout { grid-template-columns:1fr; }.equipment-detail-sidebar,.equipment-return-summary { position:static; }.equipment-toolbar { align-items:stretch; flex-direction:column; }.equipment-search { width:100%; }.equipment-search input { flex:1; }.equipment-register-head,.equipment-register > article { grid-template-columns:minmax(180px,1fr) 125px 130px 90px; }.equipment-register-head span:nth-child(2),.equipment-register > article > div:nth-child(2) { display:none; }.equipment-flow-hero { align-items:flex-start; flex-direction:column; }.equipment-flow-steps { align-self:stretch; justify-content:center; }.equipment-subnav { align-items:stretch; flex-wrap:wrap; }.equipment-subnav-links { order:3; width:100%; overflow-x:auto; }.equipment-history-filters { grid-template-columns:1fr 1fr; }.equipment-history-list > header { display:none; }.equipment-history-list > a { grid-template-columns:1fr 1fr; }.equipment-history-list > a > span:last-child { grid-column:2; grid-row:1; text-align:right; } }
@media (max-width:820px) { .equipment-hero,.equipment-usage-hero { align-items:flex-start; flex-direction:column; }.equipment-stats { grid-template-columns:1fr 1fr; }.equipment-stats article:last-child { grid-column:1/-1; }.equipment-master-actions { grid-template-columns:1fr; }.equipment-master-grid { grid-template-columns:1fr; }.equipment-filter-tabs { overflow-x:auto; }.equipment-unit-row { grid-template-columns:38px minmax(0,1fr) auto; }.equipment-unit-state { grid-column:2; }.equipment-unit-action { grid-column:3; grid-row:1/3; }.equipment-register-head { display:none; }.equipment-register > article { grid-template-columns:1fr 1fr; gap:10px; }.equipment-register > article > div:nth-child(2) { display:block; }.equipment-register > article > div:first-child { grid-column:1/-1; }.equipment-register > article > div::before { content:attr(data-label); display:block; margin-bottom:3px; color:var(--muted); font-size:.44rem; font-weight:800; }.equipment-register > article > div:last-child { grid-column:1/-1; justify-content:flex-start; }.equipment-checkbox-list > div { grid-template-columns:1fr; }.equipment-transaction-lines article { grid-template-columns:38px minmax(0,1fr); }.equipment-transaction-lines article > div:nth-child(n+3),.equipment-transaction-lines article > div:last-child { grid-column:2; grid-row:auto; }.equipment-sticky-submit { flex-wrap:wrap; }.equipment-sticky-submit div { order:-1; width:100%; text-align:left; } }
@media (max-width:620px) { .equipment-hero,.equipment-flow-hero,.equipment-usage-hero { padding:18px; }.equipment-stats { grid-template-columns:1fr; }.equipment-stats article:last-child { grid-column:auto; }.equipment-unit-row { grid-template-columns:36px minmax(0,1fr); }.equipment-unit-state,.equipment-unit-action { grid-column:2; grid-row:auto; text-align:left; }.equipment-master-actions a { grid-template-columns:34px 1fr auto; }.equipment-category-section { padding:14px; }.equipment-register > article { grid-template-columns:1fr; }.equipment-register > article > div:first-child,.equipment-register > article > div:last-child { grid-column:auto; }.equipment-facts { grid-template-columns:1fr; }.equipment-facts div:nth-child(even) { border-left:0; }.equipment-facts div + div { border-top:1px solid var(--line); }.equipment-flow-steps { width:100%; overflow-x:auto; justify-content:flex-start; }.equipment-sticky-submit .btn { flex:1; }.equipment-sticky-submit { bottom:7px; }.equipment-return-summary { padding:5px; }.equipment-subnav-title { border-right:0; }.equipment-subnav-action { margin-left:auto; }.equipment-subnav-links a { padding:0 9px; }.equipment-type-choice,.equipment-history-filters,.equipment-history-list > a { grid-template-columns:1fr; }.equipment-history-list > a > span:last-child { grid-column:auto; grid-row:auto; text-align:left; } }
@media (max-width:820px) { .invoice-equipment-period { align-items:flex-start; flex-direction:column; }.invoice-equipment-period dl { width:100%; } }
@media (max-width:620px) { .invoice-equipment-period { margin:0 14px 14px; }.invoice-equipment-period dl { grid-template-columns:1fr; }.invoice-equipment-period dl div + div { border-top:1px solid var(--line); border-left:0; } }

/* V5.3 readability scale: clearer on every page while retaining compact density. */
.form-control, form p input, form p select, form p textarea { min-height:44px; }
.eyebrow { font-size:.72rem; }
.panel-subtitle { font-size:.78rem; }
.text-link { font-size:.78rem; }
.badge { font-size:.67rem; }
.help-text,.helptext { font-size:.68rem; line-height:1.45; }
.field-wrap label,form p > label { font-size:.75rem; }
.equipment-subnav-title small { font-size:.56rem; }
.equipment-subnav-title strong { font-size:.69rem; }
.equipment-subnav-links a,.equipment-subnav-action { font-size:.64rem; }
.equipment-hero p:last-child,.equipment-flow-hero p:last-child,.equipment-usage-hero p:last-child { font-size:.72rem; }
.equipment-stats small,.equipment-stats p { font-size:.61rem; }
.equipment-filter-tabs a,.equipment-search input,.equipment-search button { font-size:.64rem; }
.equipment-unit-main small,.equipment-unit-place small,.equipment-unit-state small { font-size:.59rem; }
.equipment-unit-main strong { font-size:.74rem; }
.equipment-unit-main span,.equipment-unit-place strong { font-size:.64rem; }
.equipment-status,.equipment-condition { font-size:.58rem; }
.equipment-category-section header p,.equipment-category-section header span,.equipment-category-section header a { font-size:.62rem; }
.equipment-master-card-top > span,.equipment-master-card > p,.equipment-master-card dt,.equipment-master-card > a { font-size:.6rem; }
.equipment-master-card h3 { font-size:.8rem; }
.equipment-master-card dd { font-size:.66rem; }
.equipment-register-head { font-size:.58rem; }
.equipment-register > article > div:first-child strong { font-size:.72rem; }
.equipment-register > article > div:first-child span,.equipment-register > article > div[data-label] strong { font-size:.64rem; }
.equipment-register > article small,.equipment-register .inline-actions a { font-size:.58rem; }
.equipment-flow-steps span { font-size:.57rem; }
.equipment-usage-note p,.equipment-checkbox-list label { font-size:.64rem; }
.equipment-picker-help { font-size:.61rem; }
.equipment-type-choice strong { font-size:.7rem; }
.equipment-type-choice small { font-size:.61rem; }
.equipment-checkbox-list label > span strong { font-size:.65rem; }
.equipment-checkbox-list label > span small { font-size:.58rem; }
.equipment-sticky-submit small { font-size:.58rem; }
.equipment-sticky-submit strong { font-size:.68rem; }
.equipment-history-list > header { font-size:.57rem; }
.equipment-history-list > a > span strong { font-size:.67rem; }
.equipment-history-list > a > span small { font-size:.58rem; }
.equipment-transaction-lines small,.equipment-facts dt,.equipment-pending-payment span,.equipment-pending-payment small { font-size:.58rem; }
.equipment-transaction-lines strong,.equipment-facts dd { font-size:.68rem; }
.equipment-transaction-lines span,.equipment-finance-lines span,.equipment-finance-card dl div,.equipment-deposit-card p,.equipment-action-card p { font-size:.62rem; }
.equipment-finance-lines small { font-size:.57rem; }
.equipment-finance-lines strong { font-size:.65rem; }

@media (max-width:620px) {
  html { font-size:16.5px; }
  .equipment-return-summary { padding:18px; }
  .equipment-return-form-head,.equipment-return-fields,.equipment-return-actions { padding-left:17px; padding-right:17px; }
  .equipment-return-form-head { flex-direction:column; }
  .equipment-inspection-checklist { grid-template-columns:1fr; padding:14px 17px; }
  .equipment-inspection-field { grid-template-columns:36px minmax(0,1fr); gap:11px; }
  .equipment-inspection-step { width:36px; height:36px; }
  .equipment-return-warning { margin-right:17px; margin-left:17px; }
  .equipment-return-actions { align-items:stretch; flex-direction:column-reverse; }
}

/* V6.2 secure member onboarding */
.social-login-button { display:flex; min-height:48px; align-items:center; justify-content:center; gap:10px; margin:16px 0; border:1px solid var(--line-strong); border-radius:12px; background:#fff; color:var(--navy); font-size:.75rem; font-weight:800; box-shadow:var(--shadow-sm); }
.social-login-button:hover { border-color:#aebbd0; background:#f8fafc; }.social-login-button span { display:grid; width:26px; height:26px; place-items:center; border-radius:50%; background:#fff; color:#4285f4; font-size:.9rem; font-weight:900; box-shadow:0 0 0 1px #dce2eb; }
.auth-divider { display:flex; align-items:center; gap:10px; margin:15px 0; color:var(--muted); font-size:.62rem; }.auth-divider::before,.auth-divider::after { content:""; height:1px; flex:1; background:var(--line); }
.otp-card { max-width:500px; }.otp-form input[name="code"] { min-height:62px; font-size:1.65rem; font-weight:850; letter-spacing:.42em; text-align:center; font-variant-numeric:tabular-nums; }.otp-resend { margin:12px 0; text-align:center; }.otp-resend button { border:0; background:transparent; color:var(--blue); font:inherit; font-size:.7rem; font-weight:800; cursor:pointer; }
@media (max-width:620px) { .otp-auth-page .auth-card { padding:24px 19px; }.social-login-button { width:100%; } }
.join-club-actions { display:grid; gap:10px; margin:24px 0 16px; }.join-club-actions .btn { justify-content:center; }.join-club-benefits { display:flex; flex-wrap:wrap; gap:7px; margin-top:20px; }.join-club-benefits span { padding:7px 10px; border-radius:999px; background:#eef8f3; color:#15704c; font-size:.58rem; font-weight:800; }
.onboarding-qr-page > header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:20px; }.onboarding-qr-page > header h1 { margin:3px 0 7px; font-size:clamp(1.8rem,4vw,3rem); }.onboarding-qr-page > header p:last-child { max-width:680px; margin:0; color:var(--muted); }.onboarding-qr-layout { display:grid; grid-template-columns:minmax(280px,.65fr) minmax(360px,1.35fr); gap:18px; align-items:stretch; }.onboarding-qr-card,.onboarding-qr-layout aside { border:1px solid var(--line); border-radius:23px; background:#fff; box-shadow:var(--shadow-sm); }.onboarding-qr-card { display:grid; place-items:center; align-content:center; padding:32px; background:linear-gradient(145deg,#0b1426,#183563); color:#fff; }.onboarding-qr-card img { width:min(280px,100%); padding:12px; border-radius:20px; background:#fff; }.onboarding-qr-card strong { margin-top:18px; font-size:1rem; }.onboarding-qr-card small { margin-top:4px; color:#c5d1e4; }.onboarding-qr-layout aside { padding:30px; }.onboarding-qr-layout aside h2 { margin:4px 0 8px; }.onboarding-qr-layout aside > p:not(.eyebrow) { color:var(--muted); }.onboarding-qr-layout aside label { display:block; margin:20px 0 6px; font-size:.62rem; font-weight:800; }.onboarding-qr-layout aside .btn { margin:12px 0 10px; }.onboarding-qr-layout aside > small { display:block; color:var(--muted); line-height:1.5; }
@media (max-width:820px) { .onboarding-qr-page > header { flex-direction:column; }.onboarding-qr-layout { grid-template-columns:1fr; }.onboarding-qr-card img { width:min(240px,82vw); } }
.access-camera-status.review { color:#9a6c00; }
.access-scan-result.review { border-color:#ead18a; background:linear-gradient(135deg,#fff9e8,#fff); }
.access-scan-result.review .access-result-icon { background:#d29b12; color:#fff; }

/* V6.0 member experience, Xendit checkout, and QR access station */
.member-app-shell { min-height:100vh; background:linear-gradient(180deg,#f6f9ff 0,#f5f7fb 380px); }
.member-topbar { position:sticky; top:0; z-index:40; display:grid; grid-template-columns:auto 1fr auto; gap:28px; align-items:center; min-height:76px; padding:10px clamp(20px,4vw,46px); border-bottom:1px solid rgba(217,225,238,.88); background:rgba(255,255,255,.9); box-shadow:0 5px 20px rgba(11,20,38,.025); backdrop-filter:blur(18px); }
.member-brand { display:flex; align-items:center; gap:10px; }.member-brand-mark { display:grid; width:42px; height:42px; place-items:center; overflow:hidden; border-radius:13px; background:var(--navy); color:var(--gold); font-size:.76rem; font-weight:900; }.member-brand-mark img { width:100%; height:100%; padding:4px; object-fit:contain; }.member-brand strong,.member-brand small { display:block; }.member-brand strong { color:var(--navy); font-family:Manrope,Inter,sans-serif; font-size:.88rem; font-weight:900; letter-spacing:.08em; }.member-brand small { color:var(--muted); font-size:.63rem; }
.member-desktop-nav { display:flex; justify-content:center; gap:5px; }.member-desktop-nav a { padding:9px 12px; border-radius:10px; color:#5f6d82; font-size:.75rem; font-weight:750; }.member-desktop-nav a:hover { background:#f1f5fb; color:var(--navy); }.member-desktop-nav a.active { background:var(--navy); color:#fff; }
.member-profile-chip { display:grid; grid-template-columns:38px auto auto; gap:9px; align-items:center; }.member-profile-chip > span { display:grid; width:38px; height:38px; place-items:center; border-radius:50%; background:linear-gradient(145deg,var(--blue),#6f96f0); color:#fff; font-weight:850; }.member-profile-chip strong,.member-profile-chip small { display:block; max-width:160px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.member-profile-chip strong { color:var(--navy); font-size:.72rem; }.member-profile-chip small { color:var(--muted); font-size:.6rem; }.member-profile-chip form { margin:0; }.member-profile-chip button { display:grid; width:34px; height:34px; place-items:center; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--muted); }
.member-main-shell { min-height:calc(100vh - 76px); }.member-content { width:min(1180px,100%); margin:0 auto; padding:28px clamp(18px,4vw,34px) 80px; }.member-bottom-nav { display:none; }
.member-home-hero { position:relative; display:flex; justify-content:space-between; gap:28px; align-items:center; min-height:230px; margin-bottom:16px; padding:34px clamp(24px,4vw,44px); overflow:hidden; border-radius:26px; background:linear-gradient(128deg,#0b1426 0%,#172b50 68%,#294d87 100%); box-shadow:0 18px 42px rgba(15,31,61,.2); }.member-home-hero::after { content:""; position:absolute; right:-85px; top:-120px; width:330px; height:330px; border:42px solid rgba(255,255,255,.06); border-radius:50%; box-shadow:0 0 0 44px rgba(244,197,66,.08); }.member-home-copy { position:relative; z-index:1; }.member-home-copy .eyebrow { color:var(--gold); }.member-home-copy h1 { margin:0 0 9px; color:#fff; font-size:clamp(2.15rem,5vw,3.75rem); line-height:1; }.member-home-copy > p:last-child { max-width:600px; margin:0; color:#c9d5e8; font-size:.92rem; }.member-pass-preview { position:relative; z-index:2; display:grid; grid-template-columns:46px minmax(130px,1fr) auto; gap:11px; align-items:center; min-width:255px; padding:14px; border:1px solid rgba(255,255,255,.18); border-radius:17px; background:rgba(255,255,255,.1); color:#fff; backdrop-filter:blur(12px); }.member-pass-preview:hover { background:rgba(255,255,255,.15); }.member-pass-mini-icon { display:grid; width:46px; height:46px; place-items:center; border-radius:13px; background:#fff; color:var(--navy); font-size:1.2rem; }.member-pass-preview small,.member-pass-preview strong { display:block; }.member-pass-preview small { color:#b9c9df; font-size:.61rem; }.member-pass-preview strong { font-size:.78rem; }.member-pass-preview b { color:var(--gold); }
.member-primary-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:16px; }.member-action-card { position:relative; display:grid; grid-template-columns:44px 1fr; gap:12px; min-height:220px; padding:20px; overflow:hidden; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:var(--shadow-sm); transition:.2s ease; }.member-action-card::after { content:""; position:absolute; right:-42px; bottom:-58px; width:138px; height:138px; border:20px solid rgba(47,111,237,.045); border-radius:50%; }.member-action-card:hover { border-color:#b9ccee; transform:translateY(-3px); box-shadow:var(--shadow); }.member-action-card.booking { border-color:#bfd1f1; background:linear-gradient(145deg,#f3f7ff,#fff); }.member-action-index { position:absolute; top:16px; right:18px; color:#bdc6d4; font-size:.62rem; font-weight:850; }.member-action-icon { display:grid; width:44px; height:44px; place-items:center; border-radius:13px; background:var(--navy); color:var(--gold); font-size:1.05rem; font-weight:850; }.member-action-card.package .member-action-icon { background:#fff5d8; color:#966c00; }.member-action-card.classes .member-action-icon { background:#e9f8ef; color:var(--green); }.member-action-card div { padding-top:5px; }.member-action-card div > small { color:var(--blue); font-size:.62rem; font-weight:800; text-transform:uppercase; }.member-action-card h2 { margin:3px 0 6px; font-size:1.16rem; }.member-action-card p { margin:0; color:var(--muted); font-size:.72rem; line-height:1.55; }.member-action-card > b { position:absolute; left:76px; bottom:18px; color:var(--blue); font-size:.7rem; }
.member-home-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); gap:14px; }.member-next-card,.member-wallet-card,.member-insight-section { padding:22px; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:var(--shadow-sm); }.member-next-card header,.member-wallet-card header,.member-insight-section > header { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; margin-bottom:14px; }.member-next-card h2,.member-wallet-card h2,.member-insight-section h2 { margin:0; font-size:1.12rem; }.member-next-card header a { color:var(--blue); font-size:.7rem; font-weight:800; }.member-next-session { display:grid; grid-template-columns:60px 1fr auto; gap:13px; align-items:center; padding:14px; border:1px solid #d7e2f2; border-radius:16px; background:linear-gradient(125deg,#f7faff,#fff); }.member-date-tile { display:grid; width:60px; min-height:68px; place-items:center; align-content:center; border-radius:14px; background:var(--blue); color:#fff; }.member-date-tile small,.member-date-tile b { font-size:.56rem; text-transform:uppercase; }.member-date-tile strong { font-size:1.35rem; line-height:1.1; }.member-next-session > span:nth-child(2) small,.member-next-session > span:nth-child(2) strong,.member-next-session > span:nth-child(2) b { display:block; }.member-next-session > span:nth-child(2) small { color:var(--blue); font-size:.62rem; font-weight:800; }.member-next-session > span:nth-child(2) strong { margin:3px 0; color:var(--navy); font-size:.82rem; }.member-next-session > span:nth-child(2) b { color:var(--muted); font-size:.63rem; font-weight:650; }.member-entry-note { margin:10px 0 0; color:var(--muted); font-size:.65rem; }.member-friendly-empty { display:grid; justify-items:center; padding:24px; text-align:center; }.member-friendly-empty > span { display:grid; width:46px; height:46px; place-items:center; border-radius:14px; background:var(--surface-blue); color:var(--blue); font-size:1.15rem; }.member-friendly-empty strong { margin-top:8px; color:var(--navy); }.member-friendly-empty p { max-width:390px; margin:4px auto 13px; color:var(--muted); font-size:.7rem; }.member-friendly-empty.compact { padding:14px 0; }.member-grid-empty { grid-column:1/-1; min-height:240px; border:1px dashed #cbd6e5; border-radius:18px; background:#fff; }
.member-status-pill { padding:5px 9px; border-radius:99px; background:#eaf8f2; color:#16734b; font-size:.61rem; font-weight:850; }.member-wallet-stats { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.member-wallet-stats div { padding:13px; border-radius:13px; background:var(--surface-soft); }.member-wallet-stats span,.member-wallet-stats small { display:block; }.member-wallet-stats span { color:var(--navy); font-size:1.35rem; font-weight:850; }.member-wallet-stats small { color:var(--muted); font-size:.61rem; }.member-entitlement-list { display:grid; margin:10px 0; }.member-entitlement-list article { display:flex; justify-content:space-between; gap:10px; padding:9px 1px; border-top:1px solid var(--line); }.member-entitlement-list strong,.member-entitlement-list small { display:block; }.member-entitlement-list strong { color:var(--navy); font-size:.68rem; }.member-entitlement-list small { color:var(--muted); font-size:.57rem; }.member-entitlement-list b { color:var(--blue); font-size:.7rem; }.member-wallet-alert { display:grid; grid-template-columns:30px 1fr auto; gap:8px; align-items:center; padding:10px; border-radius:12px; background:#fff5d8; color:#725400; }.member-wallet-alert > span:first-child { display:grid; width:30px; height:30px; place-items:center; border-radius:9px; background:#d5a922; color:#fff; font-weight:900; }.member-wallet-alert strong,.member-wallet-alert small { display:block; }.member-wallet-alert strong { font-size:.67rem; }.member-wallet-alert small { font-size:.56rem; }.member-wallet-alert b { font-size:.62rem; }.member-wallet-link { display:flex; justify-content:space-between; color:var(--blue); font-size:.68rem; font-weight:800; }.member-insight-section { margin-top:14px; }.member-insight-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; }.member-insight-grid a { display:grid; grid-template-columns:38px 1fr; gap:10px; padding:12px; border:1px solid var(--line); border-radius:13px; }.member-insight-grid a > span { display:grid; width:38px; height:38px; place-items:center; border-radius:11px; background:var(--navy); color:var(--gold); }.member-insight-grid small,.member-insight-grid strong,.member-insight-grid b { display:block; }.member-insight-grid small { color:var(--muted); font-size:.56rem; }.member-insight-grid strong { margin:2px 0; color:var(--navy); font-size:.67rem; }.member-insight-grid b { color:var(--blue); font-size:.57rem; }
.member-page-hero { display:flex; justify-content:space-between; gap:24px; align-items:center; margin-bottom:20px; padding:30px; border:1px solid #d7e2f1; border-radius:24px; background:linear-gradient(125deg,#fff 32%,#edf4ff); box-shadow:var(--shadow-sm); }.member-page-hero h1 { max-width:730px; margin:0 0 8px; font-size:clamp(1.9rem,4vw,3rem); line-height:1.05; }.member-page-hero p:last-child { max-width:650px; margin:0; color:var(--muted); }.member-page-hero > span { display:grid; min-width:110px; place-items:center; padding:16px; border-radius:16px; background:var(--navy); color:#fff; }.member-page-hero > span strong { font-size:1.8rem; }.member-page-hero > span small { color:#bfcbe0; font-size:.6rem; }.member-section-heading { display:flex; justify-content:space-between; gap:18px; align-items:end; margin:22px 2px 12px; }.member-section-heading h2 { margin:0; font-size:1.2rem; }.member-section-heading > a { color:var(--blue); font-size:.68rem; font-weight:800; }
.member-class-grid { display:grid; gap:11px; }.member-class-card { display:grid; grid-template-columns:68px minmax(0,1fr) 180px; gap:17px; align-items:center; padding:18px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow-sm); transition:.18s ease; }.member-class-card:hover { border-color:#b7c9e7; transform:translateY(-2px); box-shadow:var(--shadow); }.member-class-date { display:grid; width:68px; min-height:80px; place-items:center; align-content:center; border-radius:16px; background:var(--navy); color:#fff; }.member-class-date small,.member-class-date b { font-size:.58rem; text-transform:uppercase; }.member-class-date strong { color:var(--gold); font-size:1.6rem; line-height:1.1; }.member-class-tags { display:flex; gap:7px; align-items:center; }.member-class-tags > span:last-child { color:var(--blue); font-size:.63rem; font-weight:800; }.member-class-main h2 { margin:6px 0 5px; font-size:1rem; }.member-class-meta { display:flex; flex-wrap:wrap; gap:12px; color:var(--muted); font-size:.63rem; }.member-class-capacity { display:flex; gap:8px; align-items:center; margin-top:10px; }.member-class-capacity progress { width:130px; height:6px; overflow:hidden; border:0; border-radius:99px; background:#edf0f4; }.member-class-capacity progress::-webkit-progress-bar { background:#edf0f4; }.member-class-capacity progress::-webkit-progress-value { background:var(--blue); }.member-class-capacity progress::-moz-progress-bar { background:var(--blue); }.member-class-capacity small { color:var(--muted); font-size:.58rem; }.member-class-action { display:grid; justify-items:end; }.member-class-action small { color:var(--muted); font-size:.57rem; }.member-class-action strong { margin:2px 0 9px; color:var(--navy); font-size:.88rem; }.member-class-action .btn { width:100%; }
.member-class-checkout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.65fr); gap:16px; align-items:start; }.member-class-checkout-main,.member-class-booking-card { border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:var(--shadow-sm); }.member-class-checkout-main { overflow:hidden; }.member-back-link { display:inline-block; margin:18px 22px 0; color:var(--blue); font-size:.68rem; font-weight:800; }.member-class-detail-hero { display:flex; justify-content:space-between; gap:20px; align-items:flex-end; padding:25px 22px; }.member-class-detail-hero h1 { margin:9px 0 7px; font-size:clamp(1.7rem,3vw,2.5rem); }.member-class-detail-hero p { margin:0; color:var(--muted); }.member-class-price { min-width:170px; padding:14px; border-radius:14px; background:var(--surface-blue); text-align:right; }.member-class-price small,.member-class-price strong { display:block; }.member-class-price small { color:var(--muted); font-size:.58rem; }.member-class-price strong { color:var(--blue); font-size:1.15rem; }.member-class-facts { display:grid; grid-template-columns:1fr 1fr; margin:0; border-top:1px solid var(--line); }.member-class-facts div { padding:15px 22px; border-bottom:1px solid var(--line); }.member-class-facts div:nth-child(even) { border-left:1px solid var(--line); }.member-class-facts dt { color:var(--muted); font-size:.6rem; }.member-class-facts dd { margin:4px 0 0; color:var(--navy); font-size:.72rem; font-weight:750; }.member-class-note { margin:18px 22px 22px; padding:13px; border-left:3px solid var(--gold); border-radius:0 12px 12px 0; background:var(--gold-soft); }.member-class-note span { color:#866100; font-size:.6rem; font-weight:850; text-transform:uppercase; }.member-class-note p { margin:4px 0 0; color:#645328; font-size:.7rem; }.member-class-booking-card { position:sticky; top:94px; padding:22px; }.member-class-booking-card h2 { margin:0 0 5px; font-size:1.2rem; }.member-class-booking-card > p:not(.eyebrow) { color:var(--muted); font-size:.7rem; }.member-choice-form { display:grid; gap:9px; margin-top:16px; }.member-choice-card { display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:start; padding:13px; border:1px solid var(--line); border-radius:13px; cursor:pointer; }.member-choice-card:has(input:checked) { border-color:var(--blue); background:var(--surface-blue); box-shadow:inset 0 0 0 1px var(--blue); }.member-choice-card input { margin-top:3px; accent-color:var(--blue); }.member-choice-card strong,.member-choice-card small { display:block; }.member-choice-card strong { color:var(--navy); font-size:.7rem; }.member-choice-card small { margin-top:2px; color:var(--muted); font-size:.6rem; }.member-safe-note { display:block; margin-top:10px; color:var(--green); font-size:.6rem; text-align:center; }
.member-package-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.member-package-card { display:flex; min-height:420px; flex-direction:column; padding:20px; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:var(--shadow-sm); }.member-package-card.premium { border-color:#dfc46f; background:linear-gradient(145deg,#fffef9,#fff8dc); }.member-package-card header { display:flex; justify-content:space-between; align-items:center; }.member-package-icon { display:grid; width:44px; height:44px; place-items:center; border-radius:13px; background:var(--navy); color:var(--gold); font-size:1rem; }.member-package-card h2 { margin:16px 0 6px; font-size:1.05rem; }.member-package-card > p { min-height:48px; color:var(--muted); font-size:.68rem; }.member-package-price { display:flex; gap:7px; align-items:baseline; margin:7px 0 14px; }.member-package-price strong { color:var(--navy); font-size:1.4rem; }.member-package-price small { color:var(--muted); font-size:.58rem; }.member-package-card ul { display:grid; gap:8px; margin:0 0 20px; padding:14px 0 0; border-top:1px solid var(--line); list-style:none; }.member-package-card li { display:grid; grid-template-columns:22px 1fr; gap:7px; align-items:center; }.member-package-card li span { display:grid; width:22px; height:22px; place-items:center; border-radius:50%; background:#e9f8ef; color:var(--green); font-size:.58rem; }.member-package-card li b { color:#4d5b70; font-size:.64rem; font-weight:700; }.member-package-card .btn { margin-top:auto; }
.member-pass-page { display:grid; grid-template-columns:minmax(340px,.75fr) minmax(0,1.25fr); gap:18px; align-items:start; max-width:980px; margin:0 auto; }.digital-member-pass { overflow:hidden; border-radius:27px; background:linear-gradient(150deg,#0b1426,#152b50 70%,#234a83); color:#fff; box-shadow:0 24px 54px rgba(11,20,38,.24); }.digital-member-pass > header { display:grid; grid-template-columns:42px 1fr auto; gap:10px; align-items:center; padding:18px 20px; border-bottom:1px solid rgba(255,255,255,.12); }.digital-member-pass header small,.digital-member-pass header strong { display:block; }.digital-member-pass header small { color:#b7c5d9; font-size:.56rem; text-transform:uppercase; }.digital-member-pass header strong { font-size:.72rem; }.member-live-dot { padding:4px 7px; border-radius:99px; background:rgba(37,191,113,.16); color:#70e4a8; font-size:.54rem; }.digital-pass-person { display:grid; grid-template-columns:58px 1fr; gap:13px; align-items:center; padding:21px 20px 12px; }.digital-pass-avatar { display:grid; width:58px; height:58px; place-items:center; border:2px solid rgba(255,255,255,.22); border-radius:18px; background:rgba(255,255,255,.1); font-size:1.3rem; font-weight:850; }.digital-pass-person .eyebrow { color:var(--gold); }.digital-pass-person h1 { margin:2px 0 6px; color:#fff; font-size:1.2rem; }.digital-pass-qr { position:relative; width:245px; max-width:calc(100% - 40px); margin:10px auto 16px; padding:14px; border-radius:22px; background:#fff; box-shadow:0 14px 28px rgba(0,0,0,.18); }.digital-pass-qr img { display:block; width:100%; }.qr-scan-corners { position:absolute; inset:7px; border:2px solid var(--gold); border-radius:18px; pointer-events:none; }.digital-pass-instruction { display:grid; grid-template-columns:36px 1fr; gap:9px; margin:0 20px 18px; padding:12px; border-radius:14px; background:rgba(255,255,255,.08); }.digital-pass-instruction > span { display:grid; width:36px; height:36px; place-items:center; border-radius:10px; background:var(--gold); color:var(--navy); }.digital-pass-instruction strong,.digital-pass-instruction small { display:block; }.digital-pass-instruction strong { font-size:.66rem; }.digital-pass-instruction small { margin-top:2px; color:#bfcce0; font-size:.57rem; }.digital-member-pass > footer { display:flex; justify-content:space-between; gap:10px; padding:11px 20px; background:rgba(0,0,0,.14); color:#aebbd0; font-size:.52rem; }.member-pass-info { display:grid; gap:12px; }.member-gate-status,.member-pass-next,.member-access-history { padding:20px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow-sm); }.member-gate-status { display:grid; grid-template-columns:46px 1fr; gap:12px; align-items:center; }.member-gate-status > span { display:grid; width:46px; height:46px; place-items:center; border-radius:14px; background:var(--surface-blue); color:var(--blue); font-size:1.1rem; font-weight:850; }.member-gate-status.inside > span { background:#e9f8ef; color:var(--green); }.member-gate-status small,.member-gate-status strong { display:block; }.member-gate-status small { color:var(--muted); font-size:.58rem; }.member-gate-status strong { color:var(--navy); font-size:.82rem; }.member-gate-status p { margin:2px 0 0; color:var(--muted); font-size:.62rem; }.member-pass-next h2 { margin:0 0 12px; font-size:1.05rem; }.member-pass-next dl { margin:0; border:1px solid var(--line); border-radius:12px; }.member-pass-next dl div { display:flex; justify-content:space-between; gap:12px; padding:9px 11px; border-top:1px solid var(--line); }.member-pass-next dl div:first-child { border-top:0; }.member-pass-next dt { color:var(--muted); font-size:.61rem; }.member-pass-next dd { margin:0; color:var(--navy); font-size:.64rem; font-weight:750; text-align:right; }.member-pass-next > a { display:block; margin-top:11px; color:var(--blue); font-size:.65rem; font-weight:800; }.member-access-history h2 { margin:0 0 9px; font-size:.9rem; }.member-access-history article { display:grid; grid-template-columns:34px 1fr auto; gap:9px; align-items:center; padding:9px 0; border-top:1px solid var(--line); }.access-direction,.access-log-direction { display:grid; width:34px; height:34px; place-items:center; border-radius:10px; background:#eaf8f2; color:var(--green); font-weight:900; }.access-direction.exit,.access-log-direction.exit { background:#edf4ff; color:var(--blue); }.member-access-history strong,.member-access-history small { display:block; }.member-access-history strong { color:var(--navy); font-size:.65rem; }.member-access-history small { color:var(--muted); font-size:.55rem; }.member-access-history article > b { color:var(--green); font-size:.56rem; }
.xendit-payment-box { margin-top:18px; padding:16px!important; border:1px solid #c9dcf8; border-radius:15px; background:linear-gradient(140deg,#f3f8ff,#fff); }.xendit-brand-row,.reservation-xendit-action > div { display:grid; grid-template-columns:40px 1fr; gap:10px; align-items:center; }.xendit-mark { display:grid; width:40px; height:40px; place-items:center; border-radius:12px; background:#1769ff; color:#fff; font-size:1.05rem; font-weight:900; }.xendit-brand-row strong,.xendit-brand-row small,.reservation-xendit-action strong,.reservation-xendit-action small { display:block; }.xendit-brand-row strong,.reservation-xendit-action strong { color:var(--navy); font-size:.73rem; }.xendit-brand-row small,.reservation-xendit-action small { color:var(--muted); font-size:.6rem; }.xendit-channel-pills { display:flex; flex-wrap:wrap; gap:5px; }.xendit-channel-pills span { padding:4px 8px; border-radius:99px; background:#fff; color:#44617f; font-size:.56rem; font-weight:800; }.payment-method-divider { display:flex; align-items:center; gap:10px; margin:20px 0; color:var(--muted); font-size:.58rem; text-transform:uppercase; }.payment-method-divider::before,.payment-method-divider::after { content:""; height:1px; flex:1; background:var(--line); }.payment-submit-head.compact { padding-bottom:10px; }.manual-payment-form { padding-top:12px!important; }.xendit-unavailable { display:grid; grid-template-columns:34px 1fr; gap:9px; align-items:center; margin-top:16px; padding:12px; border-radius:12px; background:#fff6da; color:#765a0c; }.xendit-unavailable > span { display:grid; width:34px; height:34px; place-items:center; border-radius:10px; background:#dbad23; color:#fff; font-weight:850; }.xendit-unavailable strong,.xendit-unavailable small { display:block; }.xendit-unavailable strong { font-size:.66rem; }.xendit-unavailable small { font-size:.57rem; }.reservation-xendit-action { display:grid; gap:12px; margin:13px 0; padding:14px; border:1px solid #cbdcf6; border-radius:14px; background:var(--surface-blue); }
.access-station-hero { display:flex; justify-content:space-between; gap:22px; align-items:center; margin-bottom:14px; padding:25px 28px; border:1px solid #d6e0ee; border-radius:21px; background:linear-gradient(125deg,#fff,#edf4ff); box-shadow:var(--shadow-sm); }.access-station-hero h1 { margin:0 0 7px; font-size:clamp(1.7rem,3vw,2.5rem); }.access-station-hero p:last-child { max-width:770px; margin:0; color:var(--muted); }.access-station-live { display:flex; align-items:center; gap:7px; padding:8px 11px; border-radius:99px; background:#e9f8ef; color:var(--green); font-size:.62rem; font-weight:850; }.access-station-live i { width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px rgba(31,157,104,.13); }.access-station-layout { display:grid; grid-template-columns:minmax(400px,.9fr) minmax(420px,1.1fr); gap:14px; align-items:start; }.access-camera-card,.access-scan-result,.access-recent-card { overflow:hidden; border:1px solid var(--line); border-radius:19px; background:#fff; box-shadow:var(--shadow-sm); }.access-direction-switch { display:grid; grid-template-columns:1fr 1fr; gap:7px; padding:13px; }.access-direction-switch button { display:grid; grid-template-columns:38px 1fr; gap:8px; padding:11px; border:1px solid var(--line); border-radius:13px; background:#fff; text-align:left; }.access-direction-switch button.active { border-color:var(--blue); background:var(--surface-blue); box-shadow:inset 0 0 0 1px var(--blue); }.access-direction-switch button > span { display:grid; width:38px; height:38px; grid-row:1/3; place-items:center; border-radius:11px; background:#eef2f8; color:var(--navy); font-weight:900; }.access-direction-switch button.active > span { background:var(--blue); color:#fff; }.access-direction-switch strong,.access-direction-switch small { display:block; }.access-direction-switch strong { color:var(--navy); font-size:.7rem; }.access-direction-switch small { color:var(--muted); font-size:.56rem; }.access-camera-frame { position:relative; min-height:400px; overflow:hidden; background:#08101e; aspect-ratio:4/3; }.access-camera-frame video { width:100%; height:100%; object-fit:cover; }.access-camera-overlay { position:absolute; inset:0; z-index:2; display:grid; place-items:center; align-content:center; pointer-events:none; }.access-camera-overlay > span { width:min(270px,65%); border:3px solid rgba(255,255,255,.9); border-radius:24px; box-shadow:0 0 0 999px rgba(4,10,20,.43); aspect-ratio:1; }.access-camera-overlay strong { margin-top:17px; padding:6px 10px; border-radius:99px; background:rgba(5,12,24,.72); color:#fff; font-size:.62rem; }.access-camera-placeholder { position:absolute; inset:0; z-index:3; display:grid; place-items:center; align-content:center; background:linear-gradient(145deg,#0b1426,#172944); color:#fff; text-align:center; }.access-camera-placeholder > span { display:grid; width:64px; height:64px; place-items:center; margin-bottom:10px; border-radius:20px; background:rgba(255,255,255,.1); color:var(--gold); font-size:1.6rem; }.access-camera-placeholder strong,.access-camera-placeholder small { display:block; }.access-camera-placeholder small { margin-top:3px; color:#b9c7db; font-size:.62rem; }.access-camera-status { padding:10px 14px; border-top:1px solid var(--line); color:var(--muted); font-size:.63rem; }.access-camera-status.active,.access-camera-status.allowed { color:var(--green); }.access-camera-status.denied,.access-camera-status.error { color:var(--red); }.access-camera-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:13px; }.access-manual-entry { margin:0 13px 13px; padding:11px; border:1px solid var(--line); border-radius:12px; background:var(--surface-soft); }.access-manual-entry summary { color:var(--blue); font-size:.63rem; font-weight:800; }.access-manual-entry form { margin-top:9px; }.access-manual-entry label { display:block; margin-bottom:4px; color:var(--muted); font-size:.6rem; }.access-manual-entry form > div { display:grid; grid-template-columns:1fr auto; gap:7px; }.access-csrf { display:none; }.access-result-column { display:grid; gap:14px; }.access-scan-result { display:grid; grid-template-columns:62px 1fr; gap:14px; align-items:center; min-height:148px; padding:21px; }.access-result-icon { display:grid; width:62px; height:62px; place-items:center; border-radius:19px; background:#eef2f7; color:#77849a; font-size:1.75rem; font-weight:900; }.access-scan-result small { color:var(--muted); font-size:.6rem; text-transform:uppercase; }.access-scan-result h2 { margin:2px 0 3px; font-size:1.25rem; }.access-scan-result p { margin:0; color:var(--muted); font-size:.69rem; }.access-scan-result b { display:block; margin-top:6px; color:var(--navy); font-size:.62rem; }.access-scan-result.allowed { border-color:#aadcc3; background:linear-gradient(135deg,#f5fff9,#fff); }.access-scan-result.allowed .access-result-icon { background:var(--green); color:#fff; }.access-scan-result.denied,.access-scan-result.error { border-color:#efc3c6; background:linear-gradient(135deg,#fff6f6,#fff); }.access-scan-result.denied .access-result-icon,.access-scan-result.error .access-result-icon { background:var(--red); color:#fff; }.access-recent-card header { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:17px; border-bottom:1px solid var(--line); }.access-recent-card h2 { margin:0; font-size:1rem; }.access-recent-card header > span { display:grid; min-width:31px; height:31px; place-items:center; border-radius:50%; background:var(--navy); color:#fff; font-size:.65rem; font-weight:850; }.access-log-list { max-height:510px; overflow-y:auto; }.access-log-list article { display:grid; grid-template-columns:36px 1fr auto; gap:10px; align-items:start; padding:12px 17px; border-top:1px solid var(--line); }.access-log-list article:first-child { border-top:0; }.access-log-list strong,.access-log-list small,.access-log-list p { display:block; }.access-log-list strong { color:var(--navy); font-size:.7rem; }.access-log-list small { color:var(--muted); font-size:.57rem; }.access-log-list p { margin:3px 0 0; color:#536178; font-size:.61rem; }.access-log-list article > b { padding:3px 7px; border-radius:99px; background:#e9f8ef; color:var(--green); font-size:.55rem; }.access-log-list article.denied > b { background:#fff0f1; color:var(--red); }.access-log-empty { padding:35px; color:var(--muted); font-size:.68rem; text-align:center; }
.access-member-identity { display:grid; grid-template-columns:64px minmax(0,1fr) auto; gap:14px; align-items:center; margin-bottom:14px; padding:22px; border:1px solid var(--line); border-radius:20px; background:linear-gradient(125deg,#fff,#eef4ff); box-shadow:var(--shadow-sm); }.access-member-avatar { display:grid; width:64px; height:64px; place-items:center; border-radius:18px; background:var(--navy); color:var(--gold); font-size:1.35rem; font-weight:850; }.access-member-identity h1 { margin:0 0 6px; font-size:1.6rem; }.access-member-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:14px; align-items:start; }.access-booking-list article { display:grid; grid-template-columns:50px 1fr auto; gap:11px; align-items:center; padding:11px 0; border-top:1px solid var(--line); }.access-booking-list strong,.access-booking-list small { display:block; }.access-booking-list strong { color:var(--navy); font-size:.7rem; }.access-booking-list small { color:var(--muted); font-size:.6rem; }.access-manual-actions { position:sticky; top:92px; padding:20px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow-sm); }.access-manual-actions h2 { margin:0 0 5px; font-size:1.05rem; }.access-manual-actions > p:not(.eyebrow) { color:var(--muted); font-size:.66rem; }.access-manual-actions form + form { margin-top:8px; }.access-member-history article { display:grid; grid-template-columns:36px 1fr; gap:10px; padding:11px 0; border-top:1px solid var(--line); }.access-member-history strong,.access-member-history small { display:block; }.access-member-history strong { color:var(--navy); font-size:.68rem; }.access-member-history small,.access-member-history p { color:var(--muted); font-size:.6rem; }.access-member-history p { margin:3px 0 0; }

@media (max-width:1020px) {
  .member-desktop-nav { gap:1px; }.member-desktop-nav a { padding:8px; font-size:.68rem; }.member-profile-chip > div { display:none; }
  .member-primary-actions { grid-template-columns:1fr 1fr; }.member-action-card:last-child { grid-column:1/-1; min-height:180px; }
  .member-package-grid { grid-template-columns:1fr 1fr; }
  .member-class-checkout,.member-pass-page,.access-station-layout,.access-member-layout { grid-template-columns:1fr; }.member-class-booking-card,.access-manual-actions { position:static; }
  .access-station-layout { max-width:780px; margin:0 auto; }
}
@media (max-width:820px) {
  .member-topbar { grid-template-columns:1fr auto; min-height:66px; padding:9px 16px; }.member-brand-mark { width:38px; height:38px; }.member-brand small { font-size:.56rem; }.member-desktop-nav { display:none; }.member-profile-chip { grid-template-columns:36px auto; }.member-profile-chip > span { width:36px; height:36px; }.member-profile-chip > div { display:none; }.member-main-shell { min-height:calc(100vh - 66px); }.member-content { padding:17px 14px 104px; }.member-bottom-nav { position:fixed; inset:auto 0 0; z-index:45; display:grid; grid-template-columns:repeat(5,1fr); padding:7px max(5px,env(safe-area-inset-left)) calc(7px + env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-right)); border-top:1px solid #dbe2ed; background:rgba(255,255,255,.96); box-shadow:0 -8px 26px rgba(11,20,38,.08); backdrop-filter:blur(18px); }.member-bottom-nav a { display:grid; min-height:52px; place-items:center; align-content:center; gap:1px; border-radius:12px; color:#7b8799; }.member-bottom-nav a.active { background:var(--surface-blue); color:var(--blue); }.member-bottom-nav a > span { font-size:1rem; font-weight:850; }.member-bottom-nav a > small { font-size:.53rem; font-weight:750; }.member-bottom-nav .member-pass-link { margin-top:-19px; min-height:67px; border:6px solid #fff; border-radius:22px; background:var(--navy); color:var(--gold); box-shadow:0 9px 22px rgba(11,20,38,.2); }.member-bottom-nav .member-pass-link.active { background:var(--blue); color:#fff; }
  .member-home-hero { min-height:0; align-items:flex-start; flex-direction:column; padding:25px 21px; }.member-home-copy h1 { font-size:2.35rem; }.member-home-copy > p:last-child { font-size:.8rem; }.member-pass-preview { width:100%; min-width:0; }.member-primary-actions { grid-template-columns:1fr; }.member-action-card,.member-action-card:last-child { grid-column:auto; min-height:176px; }.member-home-grid { grid-template-columns:1fr; }.member-insight-grid { grid-template-columns:1fr; }
  .member-page-hero { align-items:flex-start; flex-direction:column; padding:23px 20px; }.member-page-hero h1 { font-size:2.05rem; }.member-page-hero > span { grid-template-columns:auto auto; gap:7px; min-width:0; padding:9px 12px; }.member-page-hero > span strong { font-size:1rem; }.member-section-heading { align-items:flex-start; flex-direction:column; gap:5px; }
  .member-class-card { grid-template-columns:58px minmax(0,1fr); gap:12px; }.member-class-date { width:58px; min-height:70px; }.member-class-action { grid-column:1/-1; grid-template-columns:1fr auto; align-items:center; justify-items:start; padding-top:11px; border-top:1px solid var(--line); }.member-class-action small { grid-column:1; }.member-class-action strong { grid-column:1; margin:0; }.member-class-action .btn { grid-column:2; grid-row:1/3; width:auto; }.member-class-meta { display:grid; gap:3px; }.member-class-capacity { align-items:flex-start; flex-direction:column; gap:4px; }
  .member-package-grid { grid-template-columns:1fr; }.member-package-card { min-height:0; }.member-class-detail-hero { align-items:flex-start; flex-direction:column; }.member-class-price { width:100%; text-align:left; }
  .digital-member-pass { max-width:440px; margin:0 auto; }.member-pass-info { max-width:560px; margin:0 auto; width:100%; }
  .payment-submit-layout { display:flex; flex-direction:column; }.payment-invoice-preview,.payment-submit-card { width:100%; }
  .access-station-hero { align-items:flex-start; flex-direction:column; }.access-camera-frame { min-height:0; }.access-member-identity { grid-template-columns:54px 1fr; }.access-member-avatar { width:54px; height:54px; }.access-member-identity > .btn { grid-column:1/-1; }
}
@media (max-width:560px) {
  .member-topbar { padding-right:11px; padding-left:11px; }.member-brand > span:last-child strong { font-size:.76rem; }.member-profile-chip > span { display:none; }.member-profile-chip { grid-template-columns:auto; }
  .member-home-hero { border-radius:21px; }.member-home-copy h1 { font-size:2.05rem; }.member-action-card { padding:17px; }.member-next-card,.member-wallet-card,.member-insight-section { padding:17px; }.member-next-session { grid-template-columns:54px 1fr; }.member-date-tile { width:54px; min-height:64px; }.member-next-session > .badge { grid-column:2; justify-self:start; }.member-wallet-stats { grid-template-columns:1fr 1fr; }
  .member-class-card { padding:14px; }.member-class-action { grid-template-columns:1fr; }.member-class-action .btn { grid-column:1; grid-row:auto; width:100%; margin-top:8px; }.member-class-facts { grid-template-columns:1fr; }.member-class-facts div:nth-child(even) { border-left:0; }.member-class-booking-card { padding:18px; }
  .digital-member-pass > footer { align-items:flex-start; flex-direction:column; }.member-pass-page { grid-template-columns:minmax(0,1fr); }.digital-pass-qr { width:220px; }
  .access-direction-switch { grid-template-columns:1fr; }.access-camera-frame { aspect-ratio:1; }.access-camera-actions { grid-template-columns:1fr; }.access-scan-result { grid-template-columns:50px 1fr; padding:17px; }.access-result-icon { width:50px; height:50px; }.access-log-list article { grid-template-columns:34px 1fr; }.access-log-list article > b { grid-column:2; justify-self:start; }.access-manual-entry form > div { grid-template-columns:1fr; }.access-member-identity h1 { font-size:1.25rem; }.access-booking-list article { grid-template-columns:46px 1fr; }.access-booking-list article > .badge { grid-column:2; justify-self:start; }
  .xendit-channel-pills { display:grid; grid-template-columns:1fr 1fr; }.xendit-channel-pills span { text-align:center; }
  .booking-intro { align-items:flex-start; flex-direction:column; padding:20px; }.booking-intro h1 { font-size:1.8rem; }.quota-chip { width:100%; grid-template-columns:1fr auto auto; justify-items:start; }.slot-picker { padding:16px 13px; }.slot-step-head { grid-template-columns:38px minmax(0,1fr); }.slot-step-head > span { width:38px; height:38px; }.slot-step-head > .week-nav,.slot-step-head > .selection-counter { grid-column:1/-1; justify-self:stretch; }.week-nav button { flex:1; }.day-strip { grid-template-columns:repeat(7,minmax(48px,1fr)); overflow-x:auto; }
}

/* V6.1 managed classes and member-first transaction flow */
.management-class-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:22px; align-items:start; }
.management-class-main { min-width:0; }.management-class-intro { align-items:center; }.management-flow-chip { display:flex; gap:8px; align-items:center; flex:0 0 auto; padding:11px 14px; border:1px solid #cbd9ee; border-radius:999px; background:#fff; color:var(--muted); font-size:.62rem; font-weight:750; }.management-flow-chip b { display:grid; width:24px; height:24px; place-items:center; border-radius:50%; background:var(--navy); color:var(--gold); }.management-flow-chip i { color:#a6b0c0; font-style:normal; }
.management-class-section { display:grid; gap:18px; }.management-class-fields { margin-left:58px; }.management-coach-field { margin-left:58px; }.management-coach-field .form-control { min-height:50px; }
.management-roster-head { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; margin-left:58px; }.management-roster-head label,.management-roster-head small { display:block; }.management-roster-head label { color:var(--navy); font-size:.75rem; font-weight:800; }.management-roster-head small { margin-top:3px; color:var(--muted); font-size:.61rem; }.management-roster-head > span { padding:6px 9px; border-radius:999px; background:var(--surface-blue); color:var(--blue); font-size:.61rem; font-weight:850; white-space:nowrap; }
.management-member-search { display:grid; grid-template-columns:35px 1fr; align-items:center; margin-left:58px; overflow:hidden; border:1px solid var(--line-strong); border-radius:11px; background:#fff; }.management-member-search span { color:var(--muted); text-align:center; }.management-member-search input { min-height:44px; border:0; outline:0; color:var(--navy); }
.management-member-roster { max-height:330px; margin-left:58px; overflow:auto; border:1px solid var(--line); border-radius:14px; background:#fff; }.management-member-roster > div > div + div { border-top:1px solid var(--line); }.management-member-roster label { display:flex; gap:11px; align-items:center; min-height:54px; padding:10px 13px; color:#526077; font-size:.7rem; font-weight:700; cursor:pointer; transition:.15s ease; }.management-member-roster label:hover { background:#f7faff; }.management-member-roster label.selected { background:var(--surface-blue); color:var(--blue); }.management-member-roster input { width:18px; height:18px; accent-color:var(--blue); }.management-roster-empty { margin:0 0 0 58px; padding:16px; border:1px dashed var(--line); border-radius:12px; color:var(--muted); font-size:.68rem; text-align:center; }
.management-payment-choice { display:grid; grid-template-columns:minmax(180px,.65fr) minmax(300px,1.35fr); gap:14px; align-items:center; margin-left:58px; padding:14px; border:1px solid var(--line); border-radius:14px; background:var(--surface-soft); }.management-payment-choice > div:first-child strong,.management-payment-choice > div:first-child small { display:block; }.management-payment-choice > div:first-child strong { color:var(--navy); font-size:.72rem; }.management-payment-choice > div:first-child small { margin-top:3px; color:var(--muted); font-size:.59rem; }.management-payment-options { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.management-payment-options .payment-card { background:#fff; }
.management-class-checkout .booking-summary-card { display:grid; gap:11px; }.management-summary-team { display:grid; grid-template-columns:36px 1fr; gap:9px; align-items:center; padding:10px; border:1px solid var(--line); border-radius:12px; background:var(--surface-soft); }.management-summary-team > span { display:grid; width:36px; height:36px; place-items:center; border-radius:10px; background:var(--navy); color:var(--gold); font-size:.62rem; font-weight:900; }.management-summary-team small,.management-summary-team strong { display:block; }.management-summary-team small { color:var(--muted); font-size:.56rem; }.management-summary-team strong { color:var(--navy); font-size:.68rem; }

.member-flow-steps { display:flex; width:min(620px,100%); align-items:center; justify-content:center; margin:0 auto 24px; }.member-flow-steps span { display:flex; gap:7px; align-items:center; color:#8c97a8; font-size:.66rem; font-weight:800; white-space:nowrap; }.member-flow-steps span b { display:grid; width:28px; height:28px; place-items:center; border:1px solid #d5dce6; border-radius:50%; background:#fff; color:#7b8798; font-size:.61rem; }.member-flow-steps span.active { color:var(--blue); }.member-flow-steps span.active b { border-color:var(--blue); background:var(--blue); color:#fff; }.member-flow-steps span.done { color:var(--green); }.member-flow-steps span.done b { border-color:var(--green); background:var(--green); color:#fff; }.member-flow-steps i { width:72px; height:1px; margin:0 10px; background:#d9e0e9; }
.member-back-link { display:inline-flex; margin-bottom:14px; color:var(--blue); font-size:.68rem; font-weight:800; }.member-checkout-layout,.member-invoice-layout,.member-booking-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:16px; align-items:start; }
.member-review-card,.member-order-summary,.member-invoice-card,.member-payment-summary,.member-booking-card,.member-xendit-card,.member-manual-card { border:1px solid var(--line); border-radius:21px; background:#fff; box-shadow:var(--shadow-sm); }.member-review-card { overflow:hidden; }.member-review-card > header { display:grid; grid-template-columns:58px 1fr; gap:15px; padding:27px; background:linear-gradient(125deg,#fff,#eef4ff); }.member-review-icon { display:grid; width:58px; height:58px; place-items:center; border-radius:17px; background:var(--navy); color:var(--gold); font-size:1.25rem; }.member-review-card h1 { margin:2px 0 7px; font-size:clamp(1.7rem,3.2vw,2.5rem); }.member-review-card header p:last-child { max-width:620px; margin:0; color:var(--muted); font-size:.76rem; line-height:1.55; }.member-benefit-section { padding:23px 27px; }.member-benefit-list { display:grid; gap:9px; margin-top:11px; }.member-benefit-list > div { display:grid; grid-template-columns:30px 1fr; gap:10px; align-items:start; padding:12px; border:1px solid var(--line); border-radius:13px; background:var(--surface-soft); }.member-benefit-list > div > span { display:grid; width:30px; height:30px; place-items:center; border-radius:9px; background:#e7f7ef; color:var(--green); font-weight:900; }.member-benefit-list p { margin:0; }.member-benefit-list strong,.member-benefit-list small { display:block; }.member-benefit-list strong { color:var(--navy); font-size:.72rem; }.member-benefit-list small { margin-top:3px; color:var(--muted); font-size:.62rem; line-height:1.45; }
.member-review-assurance,.member-help-strip,.member-payment-unavailable { display:grid; grid-template-columns:35px 1fr; gap:10px; align-items:center; margin:0 27px 25px; padding:12px; border-radius:13px; background:#fff7df; color:#765b13; }.member-review-assurance > span,.member-help-strip > span,.member-payment-unavailable > span { display:grid; width:35px; height:35px; place-items:center; border-radius:10px; background:#dcae23; color:#fff; font-weight:900; }.member-review-assurance p,.member-help-strip p,.member-payment-unavailable p { margin:0; }.member-review-assurance strong,.member-review-assurance small,.member-help-strip strong,.member-help-strip small,.member-payment-unavailable strong,.member-payment-unavailable small { display:block; }.member-review-assurance strong,.member-help-strip strong,.member-payment-unavailable strong { font-size:.65rem; }.member-review-assurance small,.member-help-strip small,.member-payment-unavailable small { margin-top:2px; font-size:.58rem; }
.member-order-summary,.member-payment-summary { position:sticky; top:96px; padding:22px; }.member-order-summary h2,.member-payment-summary h2 { margin:2px 0 17px; font-size:1.12rem; }.member-order-summary dl,.member-payment-summary dl { margin:0 0 17px; }.member-order-summary dl > div,.member-payment-summary dl > div { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-top:1px solid var(--line); }.member-order-summary dt,.member-payment-summary dt { color:var(--muted); font-size:.65rem; }.member-order-summary dd,.member-payment-summary dd { margin:0; color:var(--navy); font-size:.68rem; font-weight:800; text-align:right; }.member-order-total,.member-payment-balance { margin-top:5px; padding-top:15px!important; }.member-order-total dt,.member-payment-balance dt { color:var(--navy)!important; font-weight:850; }.member-order-total dd,.member-payment-balance dd { color:var(--blue)!important; font-size:1.15rem!important; }.member-primary-cta { min-height:51px; font-size:.74rem; }.member-safe-copy { display:flex; gap:6px; align-items:flex-start; justify-content:center; margin:11px 0 0; color:var(--muted); font-size:.56rem; line-height:1.45; text-align:center; }.member-safe-copy span { color:var(--green); font-weight:900; }
.member-invoice-hero,.member-booking-hero { display:grid; grid-template-columns:58px minmax(0,1fr) auto; gap:16px; align-items:center; margin-bottom:15px; padding:25px 27px; border-radius:22px; background:linear-gradient(128deg,#0b1426,#19335e); color:#fff; box-shadow:0 16px 36px rgba(11,20,38,.16); }.member-invoice-hero.paid { background:linear-gradient(128deg,#0c4331,#19714e); }.member-invoice-hero-icon { display:grid; width:58px; height:58px; place-items:center; border-radius:17px; background:rgba(255,255,255,.12); color:var(--gold); font-size:1.25rem; }.member-invoice-hero .eyebrow,.member-booking-hero .eyebrow { color:var(--gold); }.member-invoice-hero h1,.member-booking-hero h1 { margin:2px 0 5px; color:#fff; font-size:clamp(1.5rem,3vw,2.25rem); }.member-invoice-hero p:last-child,.member-booking-hero p:last-child { max-width:690px; margin:0; color:#c5d1e4; font-size:.7rem; }.member-invoice-card,.member-booking-card { overflow:hidden; }.member-invoice-card-head { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:20px 22px; border-bottom:1px solid var(--line); }.member-invoice-card-head h2 { margin:2px 0 0; font-size:1rem; }.member-invoice-card-head > small,.member-invoice-card-head > span { color:var(--muted); font-size:.61rem; }.member-invoice-items { padding:4px 22px; }.member-invoice-items > div { display:flex; justify-content:space-between; gap:15px; padding:15px 0; border-top:1px solid var(--line); }.member-invoice-items > div:first-child { border-top:0; }.member-invoice-items strong,.member-invoice-items small { display:block; }.member-invoice-items strong { color:var(--navy); font-size:.72rem; }.member-invoice-items small { margin-top:3px; color:var(--muted); font-size:.6rem; }.member-invoice-items b { color:var(--navy); font-size:.72rem; white-space:nowrap; }
.member-booking-summary { margin:5px 22px 19px; padding:16px; border:1px solid #d6e2f3; border-radius:15px; background:var(--surface-blue); }.member-booking-summary > div { display:grid; grid-template-columns:54px 1fr; gap:12px; align-items:center; margin-top:10px; }.member-booking-summary .member-date-tile { width:54px; min-height:61px; }.member-booking-summary > div > span:last-child strong,.member-booking-summary > div > span:last-child small { display:block; }.member-booking-summary > div > span:last-child strong { color:var(--navy); font-size:.72rem; }.member-booking-summary > div > span:last-child small { margin-top:3px; color:var(--muted); font-size:.6rem; }.member-help-strip { margin:0 22px 20px; background:#f2f6fc; color:#56657b; }.member-help-strip > span { background:var(--navy); color:var(--gold); }
.member-pay-heading { margin-bottom:15px; text-align:center; }.member-pay-heading h1 { margin:2px 0 5px; font-size:clamp(1.9rem,4vw,2.8rem); }.member-pay-heading p:last-child { margin:0; color:var(--muted); }.member-pay-heading p strong { color:var(--blue); }.member-pay-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr); gap:15px; align-items:start; }.member-xendit-card,.member-manual-card { position:relative; padding:25px; }.member-recommended-label { position:absolute; top:0; right:22px; padding:6px 11px; border-radius:0 0 10px 10px; background:var(--gold); color:#5c4500; font-size:.57rem; font-weight:900; text-transform:uppercase; }.member-xendit-head { display:grid; grid-template-columns:48px 1fr; gap:13px; align-items:start; }.member-xendit-head .xendit-mark { width:48px; height:48px; }.member-xendit-head h2,.member-manual-card h2 { margin:2px 0 5px; font-size:1.15rem; }.member-xendit-head p:last-child,.member-manual-card > div > p:last-child { margin:0; color:var(--muted); font-size:.68rem; line-height:1.5; }.member-xendit-card .xendit-channel-pills { margin:18px 0; }.member-xendit-card .xendit-channel-pills span { flex:1; padding:8px; border:1px solid #d8e3f3; background:#f5f8fd; text-align:center; }.member-payment-unavailable { margin:17px 0 0; }.member-manual-card form { display:grid; gap:12px; margin-top:18px; }
.member-booking-notice { display:grid; grid-template-columns:38px 1fr; gap:10px; align-items:center; margin-bottom:14px; padding:13px 15px; border:1px solid #eedb9e; border-radius:14px; background:#fff8e4; color:#755a12; }.member-booking-notice.success { border-color:#bee5d1; background:#effaf5; color:#176a49; }.member-booking-notice > span { display:grid; width:38px; height:38px; place-items:center; border-radius:11px; background:#d8a91c; color:#fff; font-weight:900; }.member-booking-notice.success > span { background:var(--green); }.member-booking-notice p { margin:0; }.member-booking-notice strong,.member-booking-notice small { display:block; }.member-booking-notice strong { font-size:.7rem; }.member-booking-notice small { margin-top:2px; font-size:.6rem; }.member-booking-hero { grid-template-columns:minmax(0,1fr) auto; }.member-booking-hero > div:last-child { display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }.member-booking-blocks { padding:5px 22px; }.member-booking-blocks > div { display:grid; grid-template-columns:56px 1fr minmax(130px,.45fr); gap:13px; align-items:center; padding:14px 0; border-top:1px solid var(--line); }.member-booking-blocks > div:first-child { border-top:0; }.member-booking-blocks span:nth-child(n+2) small,.member-booking-blocks span:nth-child(n+2) strong,.member-booking-blocks span:nth-child(n+2) b { display:block; }.member-booking-blocks span:nth-child(n+2) small { color:var(--blue); font-size:.58rem; }.member-booking-blocks span:nth-child(n+2) strong { margin:2px 0; color:var(--navy); font-size:.72rem; }.member-booking-blocks span:nth-child(n+2) b { color:var(--muted); font-size:.59rem; font-weight:650; }.member-booking-actions { display:flex; flex-wrap:wrap; gap:8px; padding:17px 22px; border-top:1px solid var(--line); background:var(--surface-soft); }.member-payment-copy { color:var(--muted); font-size:.67rem; line-height:1.55; }

.member-history-list { display:grid; gap:9px; }.member-history-list > a { display:grid; grid-template-columns:58px minmax(0,1fr) auto 22px; gap:13px; align-items:center; padding:13px 15px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:var(--shadow-sm); }.member-history-list > a:hover { border-color:#b9ccee; transform:translateY(-1px); }.member-history-list > a > span:nth-child(2) small,.member-history-list > a > span:nth-child(2) strong,.member-history-list > a > span:nth-child(2) b { display:block; }.member-history-list > a > span:nth-child(2) small { color:var(--blue); font-size:.58rem; font-weight:800; }.member-history-list > a > span:nth-child(2) strong { margin:3px 0; color:var(--navy); font-size:.78rem; }.member-history-list > a > span:nth-child(2) b { color:var(--muted); font-size:.59rem; font-weight:650; }.member-history-list > a > i { color:var(--blue); font-style:normal; font-weight:900; }.member-cancel-page { width:min(760px,100%); margin:0 auto; }.member-cancel-card { display:grid; grid-template-columns:58px 1fr; gap:16px; padding:26px; border:1px solid #efd2d4; border-radius:21px; background:#fff; box-shadow:var(--shadow-sm); }.member-cancel-icon { display:grid; width:58px; height:58px; place-items:center; border-radius:17px; background:#fff0f1; color:var(--red); font-size:1.25rem; font-weight:900; }.member-cancel-card h1 { margin:2px 0 7px; font-size:1.55rem; }.member-cancel-card > div > p:not(.eyebrow) { color:var(--muted); font-size:.7rem; line-height:1.55; }.member-cancel-card form { margin-top:18px; }.member-cancel-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:16px; }

@media (max-width:1080px) {
  .management-class-grid { grid-template-columns:1fr; }.management-class-checkout { position:static; }.management-class-checkout .booking-summary-card { grid-template-columns:1fr 1fr; }.management-class-checkout .booking-summary-card > p,.management-class-checkout .booking-summary-card > h2,.management-class-checkout .empty-selection,.management-class-checkout .selected-slot-summary,.management-class-checkout .booking-submit,.management-class-checkout .secure-note { grid-column:1/-1; }
}
@media (max-width:820px) {
  .member-checkout-layout,.member-invoice-layout,.member-booking-layout,.member-pay-layout { grid-template-columns:1fr; }.member-order-summary,.member-payment-summary { position:static; }.member-invoice-hero { grid-template-columns:50px 1fr; padding:20px; }.member-invoice-hero-icon { width:50px; height:50px; }.member-invoice-hero > .badge { grid-column:2; justify-self:start; }.management-flow-chip { display:none; }
}
@media (max-width:620px) {
  .member-flow-steps { margin-bottom:18px; }.member-flow-steps i { width:22px; margin:0 5px; }.member-flow-steps span { gap:4px; font-size:.54rem; }.member-flow-steps span b { width:24px; height:24px; }.member-review-card > header { grid-template-columns:46px 1fr; padding:19px 17px; }.member-review-icon { width:46px; height:46px; }.member-benefit-section { padding:18px 17px; }.member-review-assurance { margin:0 17px 18px; }.member-order-summary,.member-payment-summary,.member-xendit-card,.member-manual-card { padding:18px; }.member-invoice-card-head { align-items:flex-start; flex-direction:column; padding:17px; }.member-invoice-items { padding:4px 17px; }.member-booking-summary { margin:5px 17px 17px; }.member-help-strip { margin:0 17px 17px; }.member-invoice-hero,.member-booking-hero { border-radius:18px; }.member-booking-hero { grid-template-columns:1fr; }.member-booking-hero > div:last-child { justify-content:flex-start; }.member-booking-blocks { padding:4px 17px; }.member-booking-blocks > div { grid-template-columns:54px 1fr; }.member-booking-blocks > div > span:last-child { grid-column:2; }.member-booking-actions { align-items:stretch; flex-direction:column; padding:15px 17px; }.member-booking-actions .btn { width:100%; }.management-class-fields,.management-coach-field,.management-roster-head,.management-member-search,.management-member-roster,.management-roster-empty,.management-payment-choice { margin-left:0; }.management-payment-choice { grid-template-columns:1fr; }.management-payment-options { grid-template-columns:1fr; }.management-class-checkout .booking-summary-card { display:block; }.management-class-checkout .management-summary-team { margin-bottom:8px; }.member-history-list > a { grid-template-columns:54px minmax(0,1fr) auto; padding:12px; }.member-history-list > a > i { display:none; }.member-history-list > a > .badge { grid-column:2; justify-self:start; }.member-cancel-card { grid-template-columns:46px 1fr; padding:18px; }.member-cancel-icon { width:46px; height:46px; }.member-cancel-actions { align-items:stretch; flex-direction:column-reverse; }.member-cancel-actions .btn { width:100%; }
}
