@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root { --navy:#121b30; --navy2:#1b2943; --ink:#19233a; --muted:#8390a5; --border:#e8ebf1; --soft:#f5f7fb; --blue:#496df5; --green:#b8f18c; --white:#fff; }
* { box-sizing:border-box; }
body { margin:0; background:var(--soft); color:var(--ink); font-family:'DM Sans',system-ui,sans-serif; -webkit-font-smoothing:antialiased; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
button:disabled { opacity:.55;cursor:wait; }
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid #b3c2ff;outline-offset:2px; }
.layout { display:grid; grid-template-columns:244px minmax(0,1fr); min-height:100vh; }
.sidebar { position:sticky;top:0;height:100vh;min-height:680px;background:var(--navy); color:#fff; padding:32px 19px 24px;display:flex;flex-direction:column; }
.brand { display:flex;align-items:center;gap:12px;padding:0 11px; font-family:Manrope,sans-serif; letter-spacing:.17em;font-size:19px; font-weight:800; }
.brand-mark {display:inline-grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:11px;background:var(--green);color:var(--navy);font-weight:900;font-size:29px;line-height:1;letter-spacing:0;}
.brand-sub {display:block;margin-top:2px;font-size:8px;letter-spacing:.18em;color:#91a1ba;font-family:'DM Sans',sans-serif;font-weight:700;}
.sidebar-section-title {margin:67px 12px 16px;color:#7788a3;font-size:10px;font-weight:700;letter-spacing:.17em;}
.nav { display:flex;flex-direction:column;gap:7px; }
.nav-item { width:100%;border:0;color:#9faec4;background:transparent;border-radius:11px;display:flex;gap:14px;align-items:center;text-align:left;min-height:48px;padding:11px 14px;font-size:13px;font-weight:700;transition:.2s; }
.nav-item:hover {color:white;background:#28354e;}
.nav-item.active {background:#30405f;color:#fff;box-shadow:inset 3px 0 0 var(--green);}
.nav-icon {font-size:23px;width:22px;text-align:center;line-height:1;font-weight:500;}
.sidebar-bottom {margin-top:auto;}
.skater-chip {border-top:1px solid #304059;padding:20px 7px 8px;display:flex;align-items:center;gap:11px;}
.avatar,.top-avatar {display:grid;place-items:center;background:#cfdaff;color:#2e4a85;font-weight:800;border-radius:100%;}
.avatar {width:37px;height:37px;}
.skater-chip b {font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:145px;}
.skater-chip small {font-size:10px;color:#94a2b9;display:block;margin-top:3px;}
.sidebar-info {font-size:10px;color:#8899ae;padding:16px 11px 2px;}
.main-content {min-width:0;}
.topbar {height:78px;background:white;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 48px;}
.topbar-left,.topbar-right {display:flex;align-items:center;gap:21px;}
.crumb {font-size:10px;font-weight:800;letter-spacing:.17em;color:#a4adba;}
.mode-label {font-size:10px;background:#ecf1ff;color:#4e6caa;letter-spacing:.12em;border-radius:7px;padding:8px 10px;font-weight:800;}
.top-avatar {width:33px;height:33px;font-size:12px;}
.mobile-logo,.mobile-nav {display:none;}
.page-wrap {max-width:1570px;margin:0 auto;padding:39px 48px 20px;}
.notice {display:flex;gap:13px;align-items:flex-start;border-radius:12px;padding:13px 17px;margin-bottom:22px;background:#fff8dd;border:1px solid #f8e8a4;color:#685321;font-size:12px;line-height:1.6;}
.notice strong {font-weight:800;}
.notice-dot {width:9px;height:9px;border-radius:50%;background:#dfa129;flex-shrink:0;margin-top:6px;}
.page-head {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px;}
.eyebrow {font-weight:800;letter-spacing:.17em;font-size:9px;color:#8d9ab0;text-transform:uppercase;}
h1,h2,h3,p {margin-top:0;}
h1,h2,h3 {font-family:Manrope,sans-serif;letter-spacing:-.05em;}
h1 {font-size:35px;line-height:1.3;margin:7px 0 4px;font-weight:800;}
.period {color:var(--blue);}
.subhead {font-size:13px;color:var(--muted);margin:0;}
.btn {display:inline-flex;gap:13px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:9px;min-height:39px;padding:10px 16px;font-size:12px;font-weight:800;transition:transform .15s,background .15s;white-space:nowrap;}
.btn:hover {transform:translateY(-1px);}
.btn-primary {background:var(--blue);color:#fff;box-shadow:0 5px 15px #526fe41c;}
.btn-primary:hover {background:#3659e9;}
.btn-secondary {background:#fff;color:#425574;border-color:#dfe6f2;}
.btn-secondary:hover {background:#f7f9ff;}
.stat-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:20px;}
.stat-card {min-height:153px;background:white;border:1px solid var(--border);border-radius:13px;padding:21px 20px;box-shadow:0 4px 18px #1e376007;}
.stat-label {display:flex;justify-content:space-between;gap:7px;color:#8d9bb0;font-size:10px;font-weight:800;letter-spacing:.09em;}
.stat-label span {font-size:22px;color:#9da9bb;font-weight:500;line-height:.6;}
.stat-value {font-family:Manrope,sans-serif;font-size:29px;font-weight:800;letter-spacing:-.055em;margin:17px 0 7px;color:#202d45;white-space:nowrap;}
.stat-value small {font-size:15px;color:#8d9bb0;letter-spacing:normal;}
.stat-detail {font-size:11px;color:#8b97a9;}
.stat-card.positive .stat-value {color:#26966c;}
.main-grid {display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,.75fr);gap:19px;margin-bottom:20px;}
.panel {background:white;border:1px solid var(--border);border-radius:13px;box-shadow:0 4px 18px #1e376007;padding:25px;min-width:0;}
.panel-header {display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:21px;}
.panel h2 {font-size:19px;font-weight:800;line-height:1.35;margin:7px 0 0;}
.panel-desc {font-size:11px;color:#97a2b2;margin:6px 0 0;line-height:1.5;}
.segment-control {display:flex;align-items:center;padding:3px;background:#f3f5f9;border-radius:9px;gap:3px;flex-wrap:nowrap;}
.segment {border:0;background:transparent;border-radius:7px;padding:8px 11px;color:#7d889c;font-size:10px;font-weight:800;white-space:nowrap;}
.segment.selected {background:white;color:#344d9d;box-shadow:0 2px 8px #c0cad337;}
.filter-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;padding:13px 0 12px;border-top:1px solid var(--border);}
.select-field {display:block;font-size:10px;color:#909bad;font-weight:800;}
.select-field select {margin-top:7px;width:100%;border:1px solid #e6eaf2;border-radius:8px;background:white;color:#50617d;padding:9px 9px;font-size:11px;min-height:37px;max-width:100%;}
.chart-wrap {width:100%;overflow:hidden;}
.trend-chart {width:100%;height:auto;display:block;margin:4px auto;overflow:visible;}
.chart-key {display:flex;align-items:center;gap:7px;font-size:10px;color:#8b97a9;padding:5px 7px 0;}
.blue-dot {display:inline-block;background:var(--blue);width:8px;height:8px;border-radius:50%;}
.chart-current {margin-left:auto;}
.chart-current strong {color:#3c4e70;}
.empty-chart {min-height:245px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#8995a6;text-align:center;gap:10px;}
.empty-chart span {color:#b4c1dd;font-size:51px;line-height:.7;}
.empty-chart b {color:#394b64;font-size:13px;}
.empty-chart p {max-width:250px;font-size:11px;line-height:1.6;}
.side-panel .eyebrow {margin-bottom:4px;}
.insight {display:flex;gap:12px;padding:15px 0;border-bottom:1px solid var(--border);align-items:flex-start;}
.insight-ico {display:grid;place-items:center;width:35px;height:35px;flex-shrink:0;border-radius:9px;background:#f0f3fe;color:#6d84e1;font-size:20px;}
.insight b {display:block;color:#4c5c75;font-size:11px;font-weight:800;line-height:1.5;}
.insight p {font-size:12px;color:#8c98aa;margin:5px 0 0;line-height:1.6;}
.tip {margin-top:18px;background:#f2f7ec;border-radius:9px;border:1px solid #e5f1db;color:#60734a;padding:14px;font-size:11px;line-height:1.65;}
.recent-panel {margin-bottom:24px;}
.text-link,.text-button {border:0;background:none;color:#5273e5;font-size:11px;font-weight:800;white-space:nowrap;}
.text-link:hover {text-decoration:underline;}
.table-scroll {overflow-x:auto;max-width:100%;}
table {border-collapse:collapse;width:100%;font-size:12px;text-align:left;white-space:nowrap;}
th {color:#9aa5b7;font-size:9px;letter-spacing:.1em;font-weight:800;padding:13px 10px;background:#fafbfe;}
td {border-bottom:1px solid #edf0f6;padding:15px 10px;color:#52617a;}
tr:last-child td {border-bottom:0;}
td:first-child b {color:#34435f;font-weight:800;font-size:11px;}
.cell-sub {font-size:10px;color:#a0aabb;margin-top:6px;overflow:hidden;text-overflow:ellipsis;max-width:210px;}
.distance-tag {display:inline-block;padding:6px 10px;border-radius:6px;background:#f0f3fb;color:#526b9c;font-weight:800;font-size:10px;}
.time-cell {font-family:Manrope,sans-serif;font-size:13px;color:#334360;font-weight:800;}
.units,.muted {color:#a4aebd;}
.icon-button {border:0;background:#f4f6fb;color:#677892;border-radius:7px;padding:5px 9px;font-size:16px;margin-right:6px;}
.icon-button.danger {color:#d97373;}
.empty-state {text-align:center;padding:55px 10px;}
.empty-figure {font-size:50px;color:#b7c1db;}
.empty-state h3 {margin:12px 0 5px;font-size:18px;}
.empty-state p {color:#8b98aa;font-size:12px;margin-bottom:18px;}
.footnote {font-size:10px;color:#a9b2bf;text-align:center;padding:5px 0 20px;}
.entry-panel {max-width:940px;margin:0 auto 40px;padding:29px;}
.form-intro {font-size:11px;color:#a0aabc;}
.entry-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0;}
.input-field {font-size:12px;color:#596780;font-weight:800;display:flex;flex-direction:column;gap:9px;min-width:0;}
.input-field input,.input-field select,.input-field textarea {width:100%;border:1px solid #dfe6f1;background:#fbfcfe;color:#293952;border-radius:9px;min-height:44px;padding:10px 12px;outline:none;font-size:13px;font-weight:500;}
.input-field textarea {resize:vertical;}
.input-field small {font-size:10px;font-weight:500;color:#95a2b4;line-height:1.4;}
.distance-summary {grid-column:1/-1; border-radius:9px; background:#eef4ff; color:#4b5e84; border:1px solid #dbe6ff; padding:14px 16px; font-size:12px; align-self:stretch;}
.distance-summary strong {color:#3156c9; font-size:16px; margin-left:7px;}
.distance-summary small {display:block; margin-top:5px; color:#687b9c; font-size:11px;}
.time-area {display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--border);margin-top:25px;padding:26px 0 20px;}
.time-area h3 {font-size:19px;margin:6px 0;}
.time-area p {font-size:11px;color:#9ca5b5;margin:0;}
.time-fields {display:flex;align-items:center;gap:9px;}
.time-fields label {font-size:9px;font-weight:800;color:#94a2b7;letter-spacing:.09em;display:flex;flex-direction:column;align-items:center;gap:9px;}
.time-fields span {font-size:25px;font-weight:800;margin-top:14px;color:#9ca7bb;}
.time-fields input {text-align:center;border:1px solid #dce4f2;border-radius:9px;background:#f7f9fe;color:#324668;font-family:Manrope,sans-serif;font-size:26px;width:79px;height:65px;font-weight:800;}
.live-preview {border:1px dashed #9dafde;background:#f4f7ff;padding:16px;border-radius:10px;color:#667794;font-size:12px;display:flex;flex-wrap:wrap;gap:15px 26px;}
.live-preview b {color:#405cc2;}
.race-fields {border-top:1px solid var(--border);margin:25px 0;padding-top:23px;}
.hide {display:none!important;}
.full-field {margin:18px 0;}
.form-actions {display:flex;align-items:center;justify-content:flex-end;gap:10px;border-top:1px solid var(--border);padding-top:22px;margin-top:23px;}
.settings-grid {display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.settings-grid .panel {align-self:start;min-height:390px;}
.settings-grid .panel h2 {margin-bottom:10px;}
.settings-fields {display:grid;gap:17px;margin:30px 0 25px;}
.settings-action {display:flex;align-items:center;gap:14px;padding:20px 0;border-bottom:1px solid var(--border);}
.settings-action:last-child {border-bottom:0;}
.settings-action>span {font-size:23px;color:#7e98eb;}
.settings-action>div {flex:1;min-width:0;}
.settings-action b {font-size:11px;}
.settings-action p {font-size:10px;color:#a2aaba;margin:6px 0 0;line-height:1.5;}
.error-note {border-radius:8px;border:1px solid #f2b6b6;color:#9b3636;background:#fff3f3;margin:12px 0 24px;padding:11px 15px;font-size:12px;line-height:1.55;overflow-wrap:anywhere;}
.error-note .text-button {float:right;color:#a15757;}
.welcome-layout {min-height:100vh;display:flex;align-items:center;justify-content:center;padding:25px;background:radial-gradient(circle at 0 0,#dee5fa 0,transparent 44%),#f7f8fc;}
.welcome-card {border-radius:22px;background:white;padding:30px 44px 40px;width:min(100%,470px);box-shadow:0 12px 55px #12234a16;}
.large-brand {padding:0;font-size:22px;}
.large-brand .brand-sub {color:#8898ad;}
.welcome-graphic {height:172px;background:#17233b;margin:29px 0 24px;border-radius:17px;position:relative;overflow:hidden;}
.welcome-graphic:before,.welcome-graphic:after {content:'';position:absolute;width:240px;height:240px;border:1px solid #496385;transform:rotate(25deg);border-radius:50%;top:-120px;right:-15px;}
.welcome-graphic:after {width:180px;height:180px;top:-88px;right:18px;}
.welcome-arrow {font-size:95px;font-weight:800;color:var(--green);position:absolute;top:2px;left:56px;line-height:1.4;}
.welcome-caption {font-size:14px;position:absolute;bottom:24px;right:23px;color:white;font-weight:800;letter-spacing:-.03em;}
.welcome-card h1 {font-size:29px;margin:8px 0 12px;}
.welcome-card .muted {font-size:13px;line-height:1.75;margin-bottom:22px;color:#8491a5;}
.wide {width:100%;margin-top:10px;padding:13px;}
.microtext {font-size:10px;color:#9ba5b4;text-align:center;margin:16px 0 0;}
.loading-screen {min-height:100vh;display:flex;flex-direction:column;gap:30px;align-items:center;justify-content:center;}
.loading-screen .brand {color:#233453;}
.loading-screen p {font-size:12px;color:#93a0b1;}
@media(max-width:1320px) { .topbar {padding:0 30px;} .page-wrap {padding:32px 30px;} .stat-grid {gap:12px;} .stat-card {padding:19px 15px;} .stat-value {font-size:26px;} .main-grid {grid-template-columns:minmax(0,1.5fr) minmax(250px,.8fr);} .panel {padding:20px;} .panel-header {flex-wrap:wrap;} }
@media(max-width:1040px) { .layout {grid-template-columns:205px minmax(0,1fr);} .sidebar {padding:29px 13px;} .stat-grid {grid-template-columns:repeat(2,1fr);} .main-grid {grid-template-columns:1fr;} .side-panel {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;} .side-panel >.eyebrow,.side-panel>h2,.tip {grid-column:1/-1;} .settings-grid {grid-template-columns:1fr;} }
@media(max-width:700px) { .layout {display:block;} .sidebar {display:none;} .topbar {height:63px;padding:0 18px;} .mobile-logo {display:inline-flex;align-items:center;gap:8px;font-family:Manrope,sans-serif;font-size:14px;font-weight:800;letter-spacing:.12em;} .mobile-logo .brand-mark {width:26px;height:26px;font-size:20px;border-radius:8px;} .crumb {display:none;} .topbar-right {gap:9px;} .page-wrap {padding:26px 15px 85px;} .page-head {align-items:flex-end;margin-bottom:21px;} h1 {font-size:27px;} .subhead {font-size:11px;} .add-top {padding:10px 12px;font-size:10px;min-height:36px;} .stat-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:11px;} .stat-card {min-height:120px;padding:16px 13px;} .stat-label {font-size:8px;letter-spacing:.05em;} .stat-value {font-size:23px;margin:13px 0 5px;} .stat-detail {font-size:9px;line-height:1.45;} .panel {padding:19px 15px;} .main-grid {gap:11px;margin-bottom:11px;} .performance-panel .panel-header {gap:14px;} .panel h2 {font-size:18px;} .segment-control {width:100%;} .segment {flex:1;font-size:9px;padding:9px 3px;} .filter-grid {gap:7px;} .select-field {font-size:9px;} .select-field select {font-size:10px;padding:9px 3px;} .side-panel {display:block;} .chart-key {font-size:9px;flex-wrap:wrap;} .chart-current {flex-basis:100%;margin:7px 0 0;} .recent-panel {margin-bottom:12px;} .entry-grid {grid-template-columns:1fr;gap:15px;} .entry-panel {padding:20px 16px;} .time-area {flex-direction:column;align-items:flex-start;} .time-fields {align-self:center;} .time-fields input {width:77px;height:61px;} .mobile-nav {display:flex;position:fixed;bottom:0;left:0;right:0;z-index:4;background:#fff;border-top:1px solid #e5e9f1;justify-content:space-around;padding:7px 4px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -4px 15px #12233c0c;} .mobile-nav .nav-item {min-height:54px;display:flex;flex:1;flex-direction:column;gap:4px;justify-content:center;align-items:center;font-size:9px;padding:4px 1px;border-radius:8px;white-space:nowrap;} .mobile-nav .nav-icon {font-size:21px;} .mobile-nav .nav-item.active {box-shadow:inset 0 2px 0 var(--blue);color:#4b6bef;background:#f0f3ff;} .mobile-nav .nav-item:not(.active) {color:#8d9bae;} .settings-grid .panel {min-height:auto;} .settings-action {flex-wrap:wrap;} .settings-action .btn {margin-left:auto;} .form-intro {display:none;} .welcome-card {padding:26px;} .notice {font-size:10px;} }
@media(max-width:390px) { .page-head {display:block;} .add-top {margin-top:15px;} .stat-value {font-size:21px;} .filter-grid {grid-template-columns:1fr 1fr;} .filter-grid .select-field:last-child {grid-column:1/-1;} .time-fields input {width:70px;} }
.volume-panel {margin-bottom:24px;}
.volume-chart {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;min-height:220px;padding:10px 12px 0;align-items:end;}
.volume-col {height:203px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;}
.volume-value {color:#718099;font-size:11px;font-weight:700;white-space:nowrap;margin-bottom:8px;}
.volume-track {height:153px;width:100%;max-width:75px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(to top,transparent calc(25% - 1px),#eff2f7 25%,transparent calc(25% + 1px),transparent calc(50% - 1px),#eff2f7 50%,transparent calc(50% + 1px),transparent calc(75% - 1px),#eff2f7 75%,transparent calc(75% + 1px));}
.volume-bar {width:100%;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#637fff,#4466e8);min-height:0;}
.volume-month {color:#8491a5;font-size:11px;margin-top:12px;}
@media(max-width:700px) {.volume-chart {gap:8px;padding:0;min-height:200px;}.volume-value {font-size:9px;}.volume-track {height:140px;}.volume-month {font-size:10px;}}
/* Multi-skater layout additions */
.sidebar-switch {border:0;background:transparent;color:#b7f18e;font-size:11px;font-weight:800;margin:2px 7px 10px;padding:5px 0;text-align:left;}
.top-profile-switch {max-width:180px;border:1px solid #dce4f2;background:#f8faff;border-radius:9px;padding:8px 11px;font-size:11px;color:#364d76;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.skater-list {display:grid;gap:12px;margin:20px 0 25px;}
.skater-card {display:flex;align-items:center;gap:15px;min-width:0;background:#f8faff;border:1px solid #e2e8f3;padding:17px;border-radius:12px;}
.skater-card.active-skater {border-color:#7e94ed;background:#f0f4ff;}
.skater-card-avatar {display:grid;place-items:center;flex-shrink:0;border-radius:12px;height:45px;width:45px;font-size:19px;font-weight:800;background:#dfe7ff;color:#3b5dac;}
.skater-card-copy {flex:1;min-width:0;}
.skater-card-copy b {display:block;font-size:14px;color:#354563;overflow-wrap:anywhere;}
.skater-card-copy small {display:block;font-size:11px;line-height:1.5;color:#8190a7;margin-top:4px;}
.active-tag {border-radius:99px;background:#d7e7cc;color:#3d6a2f;font-size:10px;font-weight:800;padding:7px 10px;}
.filter-grid {grid-template-columns:repeat(4,minmax(0,1fr));}
@media(max-width:700px) {
  .top-profile-switch {max-width:135px;font-size:10px;padding:8px;}
  .topbar-right .mode-label {display:none;}
  .filter-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .skater-card {padding:12px;gap:9px;flex-wrap:wrap;}
  .skater-card-avatar {width:38px;height:38px;}
  .skater-card .btn {font-size:10px;padding:8px;}
  .mobile-nav .nav-item {font-size:8px;}
}
@media(max-width:390px) {
  .filter-grid .select-field:last-child {grid-column:auto;}
  .top-profile-switch {max-width:120px;}
}
/* V3: accessible invite, team and navigation actions */
.invite-form {display:flex;flex-direction:column;gap:12px;margin-top:17px;}
.invite-form .btn {align-self:start;}
.invite-result {margin-top:18px;padding:15px;border:1px solid #c5d6fa;border-radius:12px;background:#f1f6ff;overflow-wrap:anywhere;}
.invite-result input {font-size:12px;}
.member-row {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #e5eaf2;font-size:12px;overflow-wrap:anywhere;}
.member-row small {display:block;font-weight:600;color:#728096;font-size:10px;margin-top:3px;}
.member-row .btn {flex-shrink:0;padding:9px 11px;font-size:11px;min-height:35px;}
.revoked-shares {padding:12px;margin:15px 0;background:#fff8ef;border:1px solid #f2ddb9;border-radius:12px;}
.topbar-right .text-button {font-size:11px;white-space:nowrap;background:#eef3ff;border:1px solid #d8e1ff;border-radius:8px;padding:7px 9px;color:#3556a2;font-weight:800;}
@media (max-width:700px) {
  .topbar-right .mode-label {display:none;}
  .topbar-right .text-button {font-size:10px;padding:8px;}
  .invite-form .btn {width:100%;}
  .member-row {align-items:flex-start;}
}

/* Install invitation and safe software updates (outside Firebase-rendered #app). */
.stride-notices { position:fixed; bottom:17px; left:50%; transform:translateX(-50%); width:min(540px,calc(100vw - 24px)); z-index:1000; display:flex; flex-direction:column; gap:8px; pointer-events:none; }
.stride-promo { pointer-events:auto; display:flex; gap:10px; align-items:center; padding:13px 12px 13px 16px; background:#121b30; border:1px solid #304567; box-shadow:0 12px 36px #0e1b3d55; border-radius:14px; color:white; font:12px/1.45 'DM Sans',sans-serif; }
.stride-promo-copy { display:flex; flex-direction:column; gap:2px; min-width:0; flex:1; }
.stride-promo-copy strong { font-size:13px; font-weight:800; }
.stride-promo-copy span { color:#d2deed; }
.stride-promo-button { background:#b8f18c; border:0; color:#172437; padding:10px 12px; border-radius:9px; font-weight:800; font-size:12px; white-space:nowrap; }
.stride-promo-dismiss { padding:3px 6px; background:transparent; border:0; color:#bdcbe1; font-size:21px; }
.stride-update-promo { background:#304b78; }
@media(max-width:600px) { .stride-notices { bottom:78px; } .stride-promo { padding:12px 9px 12px 12px; } .stride-promo-button { padding:9px; } }

/* V6: optional athlete creation and social-style account workspace */
.welcome-card.account-hub { width:min(100%,610px); padding:34px 38px; }
.account-hub-heading { margin-top:28px; }
.account-hub-heading .muted { margin-bottom:24px; }
.account-hub-options { display:flex; flex-direction:column; gap:16px; }
.hub-choice { display:flex; align-items:center; gap:14px; }
.hub-choice-icon { width:40px; height:40px; display:grid; place-items:center; border-radius:11px; background:#eef2ff; color:#4561c3; font-size:22px; font-weight:700; flex-shrink:0; }
.hub-choice h2 { margin:0 0 3px; font-size:15px; letter-spacing:-.02em; }
.hub-choice p { margin:0; font-size:11px; line-height:1.6; color:#8793a6; }
.account-hub .join-invite-form { border-radius:14px; background:#f8faff; padding:17px; border:1px solid #e7ecf7; }
.account-hub .join-invite-form h2 { font-size:16px; margin-bottom:5px; }
.account-hub .join-invite-form .panel-desc { font-size:11px; }
.account-hub .microtext { margin-top:20px; }
.account-hub .text-link { margin-top:12px; }
.account-hub-create .entry-panel { max-width:none; border:0; padding:7px 0 0; margin:0; box-shadow:none; }
.account-hub-create .entry-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.my-space-grid { display:grid; gap:18px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.my-space-grid .panel { min-width:0; }
.my-space-grid .join-invite-form { margin-top:18px; }
.hub-empty { background:#f8faff; border:1px dashed #dbe4f8; color:#6b7f9c; padding:18px; border-radius:12px; font-size:12px; line-height:1.7; margin:18px 0; }
.space-privacy-note { grid-column:1 / -1; font-size:11px; }
@media(max-width:1050px) { .my-space-grid {grid-template-columns:1fr;} }
@media(max-width:700px) { .welcome-card.account-hub {padding:23px 17px;} .account-hub-create .entry-grid {grid-template-columns:1fr;} .my-space-grid .panel {padding:17px 14px;} }
