/* StartLine event shell, vendored from the main site's dist/event-shell.css
   (shared with the dragon and pickleball events). Keep in step with that file;
   registration-specific additions are at the end. */
/* StartLine event shell: one visual system, adapted through event configuration. */

@media screen {
  .focus-brand { font-weight:700; white-space:nowrap; text-decoration:none; }
  .focus-topbar .top-actions { margin-left:auto; display:flex; align-items:center; gap:8px; min-width:0; }
  .focus-topbar .operator { display:block; overflow-wrap:anywhere; text-align:right; }
  :where(.focus-shell,.event-dialog) .button { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:44px; padding:8px 15px; border:1px solid var(--line); border-radius:9px; background:var(--paper); font-weight:550; line-height:1.4; text-align:center; text-decoration:none; }
  :where(.focus-shell,.event-dialog) .button:hover { background:var(--soft); text-decoration:none; }
  :where(.focus-shell,.event-dialog) .button.primary { background:var(--accent); border-color:var(--accent); color:white; }
  :where(.focus-shell,.event-dialog) .button.primary:hover { background:#344381; }
  :where(.focus-shell,.event-dialog) .button.danger { color:var(--danger); }
  .focus-nav[hidden],.focus-topbar [hidden] { display:none; }
  .focus-shell .content#main,.focus-shell .content { min-width:0; max-width:none; }
  .event-dialog { border:1px solid var(--line); padding:0; width:min(720px,calc(100% - 32px)); max-height:calc(100dvh - 48px); color:var(--ink); }
  .event-dialog::backdrop { background:#20273877; backdrop-filter:blur(2px); }
  .event-dialog .dialog-head { display:flex; align-items:center; justify-content:space-between; gap:14px; border-bottom:1px solid var(--line); }
  .event-dialog .dialog-head h2 { margin:0; }
  .event-dialog .close { min-width:44px; min-height:44px; background:none; border:0; font-size:24px; color:var(--muted); flex-shrink:0; }
  .event-dialog .dialog-error:not(:empty) { border:1px solid #dcbbc0; border-radius:8px; padding:12px; background:#fff1f2; color:var(--danger); margin-bottom:12px; }
  .event-dialog .dialog-error:empty { display:none; }
  .event-dialog .form-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; }
  .event-dialog input,.event-dialog select,.event-dialog textarea { min-height:44px; }
  @media(max-width:760px) { .event-dialog { max-height:calc(100dvh - env(safe-area-inset-top) - 16px); width:calc(100% - 16px); } }
}

@media screen {
:root {--bg:#f3f5f8; --paper:#fff; --ink:#192338; --muted:#68758b; --line:#e3e8f0; --accent:#3c4eb0; --soft:#edf0f6; --accent-soft:#edf0fc; --radius:16px;}
.focus-shell {display:grid; grid-template-columns:176px minmax(0,1fr); max-width:1600px; min-height:100dvh; margin:0 auto;}
.focus-sidebar {position:sticky; top:0; height:100dvh; display:flex; flex-direction:column; padding:29px 14px 18px; background:var(--paper); border-right:1px solid var(--line);}
.focus-brand {display:block; padding:0 12px 32px; font-size:24px; letter-spacing:-1px; color:var(--ink);}
.focus-brand span {margin-left:0; display:block; font-size:10px; letter-spacing:2px; color:var(--muted); font-weight:500; margin-top:2px;}
.focus-nav {margin:0; width:100%; max-width:none; display:flex; flex-direction:column; gap:7px; padding:0; border:0; overflow:visible;}
.focus-nav button {display:flex; align-items:center; gap:11px; min-height:46px; padding:11px 12px; border:0; border-radius:10px; color:var(--muted); font-size:13px; font-weight:550; text-align:left; white-space:nowrap; background:transparent;}
.focus-nav button:hover {color:var(--accent); background:#f6f7fb;}
.focus-nav button.active,.focus-nav button[aria-current=page] {background:#edf0fc; color:var(--accent); box-shadow:none;}
.focus-nav button::after {display:none;}
.focus-nav-icon {flex-shrink:0;}
.focus-sidebar-note {margin-top:auto; padding:24px 12px 0; color:var(--muted); font-size:10px; letter-spacing:1px;}
.focus-workspace {min-width:0; display:flex; flex-direction:column;}
.focus-topbar {display:flex; align-items:center; gap:20px; padding:22px 30px 18px; background:transparent; border-bottom:1px solid var(--line);}
.focus-event {min-width:0; flex:1;}
.focus-event-kicker {display:block; color:var(--accent); font-size:10px; font-weight:650; letter-spacing:1px; margin-bottom:3px;}
.focus-event h1 {font-size:16px; font-weight:650; letter-spacing:0; overflow-wrap:anywhere; line-height:1.55;}
.focus-event p {font-size:11px; color:var(--muted); margin-top:3px;}
.focus-topbar .operator {font-size:12px; color:var(--ink); max-width:180px;}
.focus-topbar .operator small {display:block; font-size:10px; color:var(--muted);}
.focus-topbar .button {font-size:11px; padding:8px 12px; background:transparent;}
.focus-shell .content#main,.focus-shell .content {padding:26px 30px 32px; width:100%; flex:1;}
.focus-shell .toolbar {margin-bottom:20px;}
.focus-shell .toolbar h2 {font-size:24px; font-weight:700; letter-spacing:-.5px;}
.focus-shell .toolbar .subtitle {color:var(--muted); font-size:12px; margin-top:4px;}
.focus-shell .card {border-radius:16px; box-shadow:none;}
.focus-shell .button {border-radius:9px;}
.focus-footer {display:flex; justify-content:space-between; border-top:1px solid var(--line); padding:16px 30px; color:var(--muted); font-size:10px; flex-wrap:wrap; gap:8px;}
.focus-skip {position:fixed; left:12px; top:-100px; z-index:100; padding:12px; border-radius:8px; background:white;}
.focus-skip:focus {top:12px;}
:is(#editor,.event-dialog) {border-color:var(--line); border-radius:18px; box-shadow:0 25px 100px #19233826;}
:is(#editor,.event-dialog) .dialog-head {padding:20px 24px; background:var(--paper);}
:is(#editor,.event-dialog) .dialog-head h2 {font-size:18px;}
:is(#editor,.event-dialog) .dialog-body {padding:22px 24px;}
:is(#editor,.event-dialog) .field>span:first-child {font-size:12px; font-weight:600;}
:is(#editor,.event-dialog) input,:is(#editor,.event-dialog) select,:is(#editor,.event-dialog) textarea {border-radius:9px;}
:is(#editor,.event-dialog) .form-section {border-radius:12px;}
@media (max-width:1000px) {
.focus-shell {grid-template-columns:150px minmax(0,1fr);}
.focus-sidebar {padding-left:8px; padding-right:8px;}
.focus-topbar {padding:18px 22px;}
.focus-shell .content#main,.focus-shell .content {padding:22px;}
}
@media (max-width:760px) {
.focus-shell {display:flex; flex-direction:column;}
.focus-sidebar,.focus-workspace {display:contents;}
.focus-brand,.focus-sidebar-note {display:none;}
.focus-topbar {order:0; padding:13px 16px 11px; gap:10px; flex-wrap:nowrap; align-items:center; background:var(--paper); border:0;}
.focus-event-kicker {font-size:9px; margin-bottom:1px;}
.focus-event h1 {font-size:13px; line-height:1.45; letter-spacing:0;}
.focus-event p {font-size:10px; line-height:1.5; margin-top:4px;}
.focus-topbar .top-actions {flex-direction:column; flex-shrink:0; gap:2px; align-items:flex-end;}
.focus-topbar .operator {max-width:95px; font-size:10px; text-align:right;}
.focus-topbar .operator small {font-size:9px;}
.focus-topbar .button {min-height:44px; padding:5px 8px; font-size:10px;}
.focus-nav {order:1; display:grid; grid-template-columns:repeat(var(--event-nav-columns,6),minmax(0,1fr)); gap:0; padding:5px 8px 8px; background:var(--paper); border-bottom:1px solid var(--line);}
.focus-nav button {flex-direction:column; justify-content:center; gap:4px; min-height:55px; padding:7px 0; font-size:10px; line-height:1.2; letter-spacing:-.2px; border-radius:9px;}
.focus-nav .focus-nav-icon {width:18px; height:18px;}
.focus-shell .content#main,.focus-shell .content {order:2; padding:20px 16px 28px;}
.focus-shell .toolbar {margin-bottom:16px; align-items:center;}
.focus-shell .toolbar h2 {font-size:21px;}
.focus-shell .toolbar .subtitle {font-size:11px;}
.focus-shell .toolbar>.button {min-height:40px; font-size:11px; padding:8px 10px;}
.focus-footer {order:3; padding:14px 16px calc(16px + env(safe-area-inset-bottom)); font-size:9px;}
:is(#editor,.event-dialog) .dialog-head {padding:16px;}
:is(#editor,.event-dialog) .dialog-body {padding:16px;}
:is(#editor,.event-dialog) input,:is(#editor,.event-dialog) select,:is(#editor,.event-dialog) textarea {font-size:16px;}
}
}
@media print {
.focus-sidebar,.focus-skip {display:none!important;}
.focus-shell,.focus-workspace {display:block;}
}
.focus-home {--focus-hero:#253570;--focus-hero-muted:#d1d9f4;min-width:0}
.focus-heading {display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:26px}
.focus-heading>div {min-width:0}
.focus-heading h1 {font-size:clamp(23px,2.4vw,32px);font-weight:600;line-height:1.35;letter-spacing:-.5px;overflow-wrap:anywhere}
.focus-eyebrow {display:block;font-size:11px;color:var(--muted);letter-spacing:1.2px;margin-bottom:9px}
.focus-heading p {font-size:13px;color:var(--muted);margin:9px 0 0;overflow-wrap:anywhere}
.focus-heading>.button {flex-shrink:0}
.focus-grid {display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:20px;align-items:start}
.focus-secondary {margin-top:22px}
.focus-panel,.focus-feature {min-width:0;border-radius:var(--radius,16px);padding:24px;background:var(--paper);border:1px solid var(--line)}
.focus-panel {container-type:inline-size}
.focus-section-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.focus-section-heading h2 {font-size:18px;line-height:1.45;font-weight:600;overflow-wrap:anywhere}
.focus-section-heading>.button {font-size:12px;padding:6px 10px;min-height:44px;flex-shrink:0}
.focus-count {font-size:12px;color:var(--muted);white-space:nowrap}
.focus-feature {background:var(--focus-hero);color:#fff;border-color:var(--focus-hero)}
.focus-feature .focus-section-heading {margin-bottom:6px}
.focus-feature .focus-section-heading h2 {font-size:14px;letter-spacing:.5px;color:var(--focus-hero-muted)}
.focus-feature-note {color:var(--focus-hero-muted);font-size:12px;line-height:1.7;margin:16px 0 0}
.focus-progress {padding:8px 0 20px}
.focus-progress>strong {font-size:52px;font-variant-numeric:tabular-nums;line-height:1.2;font-weight:600;color:var(--accent)}
.focus-progress>strong>span {font-size:22px;color:var(--muted);font-weight:400}
.focus-progress>p {font-size:13px;color:var(--muted);margin-top:12px}
.focus-quick-link {display:flex;align-items:center;gap:14px;padding:17px 0;border-top:1px solid var(--line)}
.focus-quick-link:first-of-type {border-top:0;padding-top:0}
.focus-quick-link:last-child {padding-bottom:0}
.focus-quick-link>div {flex:1;min-width:0}
.focus-quick-link h3 {font-size:15px;font-weight:600;overflow-wrap:anywhere}
.focus-quick-link p {font-size:12px;color:var(--muted);margin:5px 0 0;overflow-wrap:anywhere}
.focus-quick-link>.button {min-height:44px;font-size:12px;padding:7px 12px;flex-shrink:0}
.focus-empty {padding:18px 0 8px}
.focus-empty h3 {font-size:17px;font-weight:500;line-height:1.5}
.focus-empty p {font-size:13px;color:var(--muted);margin:8px 0 18px;line-height:1.75}
.focus-match-label,.focus-panel-meta {color:var(--muted);font-size:12px}
.focus-help {font-size:13px;color:var(--muted);line-height:1.8;margin:16px 0 20px;overflow-wrap:anywhere}
.focus-plan-status {font-size:20px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}
.focus-task {display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}
.focus-task:first-child {padding-top:0}
.focus-task:last-child {border-bottom:0}
.focus-task h3 {font-size:16px;font-weight:600}
.focus-task p {font-size:12px;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}
.focus-task-count {display:grid;place-items:center;width:42px;min-height:44px;border-radius:10px;background:var(--soft);color:var(--accent);font-size:24px;font-weight:600;font-variant-numeric:tabular-nums}
.focus-task-count.is-warning {color:var(--danger);background:#fff0ef}
.focus-task .button {font-size:12px;padding:8px 11px;min-height:44px}
.focus-inline-stats {display:flex;gap:18px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:18px;padding-top:17px}
.focus-inline-stats>span {font-size:12px;color:var(--muted);white-space:nowrap}
.focus-inline-stats strong {color:var(--ink);font-size:20px;display:inline-block;margin-right:6px;font-variant-numeric:tabular-nums}
.focus-context-note {font-size:13px;color:var(--warn);background:#fff7e9;border:1px solid #f0dfbf;border-radius:10px;padding:12px 16px;margin:0 0 18px}
@media(max-width:1100px) {
.focus-grid {grid-template-columns:minmax(0,1.25fr) minmax(240px,1fr)}
.focus-panel,.focus-feature {padding:20px}
.focus-task {gap:10px}
}
@media(max-width:820px) {
.focus-grid {grid-template-columns:1fr;gap:16px}
.focus-secondary {margin-top:16px}
.focus-heading {margin-bottom:20px}
.focus-heading h1 {font-size:25px}
.focus-task {grid-template-columns:40px minmax(0,1fr) auto}
}
@media(max-width:480px) {
.focus-heading {align-items:flex-start;gap:10px}
.focus-heading h1 {font-size:23px}
.focus-heading>div {flex:1}
.focus-heading>.button {font-size:12px;padding:8px 10px}
.focus-heading p {font-size:12px;line-height:1.65}
.focus-panel,.focus-feature {padding:18px}
.focus-section-heading {margin-bottom:16px}
.focus-section-heading h2 {font-size:17px}
.focus-task {grid-template-columns:35px minmax(0,1fr);gap:10px;padding:15px 0}
.focus-task-count {width:35px;font-size:22px}
.focus-task>.button {grid-column:2;justify-self:start}
.focus-task h3 {font-size:15px}
.focus-inline-stats {gap:13px}
.focus-inline-stats strong {font-size:19px}
.focus-context-note {padding:11px 13px}
}
@media print {
.focus-home {display:none}
}
.role-choices {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.role-choices [aria-pressed=true] {background:var(--soft);border-color:var(--accent);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.role-select-fallback {display:none}
.identity-fields .button {margin-top:6px}
.identity-form>p {margin-bottom:16px}
@media(max-width:760px) {
.role-choices {grid-template-columns:repeat(2,minmax(0,1fr))}
}
.identity-form {display:grid;gap:16px;min-width:0}
.identity-fields {display:grid;gap:14px;border:0;padding:0;margin:0;min-width:0}
.identity-fields[hidden] {display:none}
.identity-description {min-height:3.2em;overflow-wrap:anywhere}
.identity-form .field,.identity-form select,.identity-form input {min-width:0;width:100%}
.identity-form .form-actions {margin-top:4px}
.identity-form .form-actions .button {min-height:44px}
@media(max-width:420px) {
.identity-form {gap:12px}
.identity-form input,.identity-form select {font-size:16px}
.identity-form .form-actions .button {width:100%}
.identity-description {min-height:0}
}

@media screen and (max-width:760px) {
  .focus-nav[data-columns="1"] { --event-nav-columns:1; }
  .focus-nav[data-columns="2"] { --event-nav-columns:2; }
  .focus-nav[data-columns="3"] { --event-nav-columns:3; }
  .focus-nav[data-columns="4"] { --event-nav-columns:4; }
  .focus-nav[data-columns="5"] { --event-nav-columns:5; }
  .focus-nav[data-columns="6"] { --event-nav-columns:6; }
  .focus-nav[data-columns="7"] { --event-nav-columns:7; }
  .focus-nav[data-columns="8"] { --event-nav-columns:8; }
}
.focus-brand{display:flex;align-items:center;gap:8px}
.focus-brand .brand-mark{display:block;width:34px;height:34px;flex:0 0 34px;border-radius:11px;overflow:hidden;margin:0}
.focus-brand .brand-mark svg,.focus-topbar-mark svg{display:block;width:100%;height:100%}
.focus-brand .brand-copy{display:flex;flex-direction:column;min-width:0}
.focus-brand .brand-name{display:block;font-size:21px;line-height:1.05;letter-spacing:-1px;color:var(--ink);font-weight:800}
.focus-brand .brand-sport{display:block;margin:2px 0 0;font-size:10px;line-height:1.4;letter-spacing:2px;color:var(--muted);font-weight:500}
.focus-topbar-mark{display:none}
@media (max-width:1000px){
  .focus-brand{gap:7px}
  .focus-brand .brand-mark{width:30px;height:30px;flex-basis:30px}
  .focus-brand .brand-name{font-size:18px}
}
@media (max-width:760px){
  .focus-brand{display:none}
  .focus-topbar-mark{display:block;width:34px;height:34px;flex:0 0 34px;border-radius:10px;overflow:hidden;margin:1px 2px 0 0;align-self:flex-start}
}

/* Registration additions: navigation links share the button look. */
.focus-nav a{display:flex;align-items:center;gap:11px;min-height:46px;padding:11px 12px;border-radius:10px;color:var(--muted);font-size:13px;font-weight:550;text-decoration:none;white-space:nowrap}
.focus-nav a:hover{color:var(--accent);background:#f6f7fb}
.focus-nav-section{margin:14px 12px 4px;font-size:10px;letter-spacing:1px;color:var(--muted)}
@media (max-width:760px){
  .focus-nav a{flex-direction:column;justify-content:center;gap:4px;min-height:55px;padding:7px 0;font-size:10px;line-height:1.2;border-radius:9px}
  .focus-nav-section{display:none}
}
.brand-mark img,.focus-topbar-mark img{display:block;width:100%;height:100%}
.focus-brand::before{content:none}
.focus-footer .button{min-height:32px;padding:4px 10px;font-size:11px}
.footer-password{display:none}
@media (max-width:760px){
  .focus-topbar [data-action="change-password"]{display:none}
  .footer-password{display:inline-flex}
}
