/* Approved Equizelo palette; shared with EquizeloTheme.cs. No external font requests. */
:root { --forest:#174C3E; --forest-dark:#103B30; --canvas:#F7F5EF; --ink:#26332F; --green:#174C3E; --muted:#59665F; --line:#DCE3DC; --equizelo-sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.equizelo-pilot { color:var(--ink); font-family:var(--equizelo-sans); }
.equizelo-pilot .mud-button-root { text-transform:none; font-weight:700; letter-spacing:0; min-height:46px; }
.equizelo-pilot .mud-button-root:not(.mud-button-filled) { background:transparent; }
.equizelo-pilot .mud-button-root.mud-button-text { border:0; }
.equizelo-pilot .mud-input { background:transparent; }
.equizelo-pilot .mud-input input { min-height:unset; border:0; border-radius:0; background:transparent; }
.equizelo-pilot .mud-input input:focus-visible { outline:0; }
.pilot-eyebrow { color:var(--forest); font-size:11px; font-weight:700; letter-spacing:1.7px; margin:0 0 16px; }
.auth-shell { min-height:100dvh; background:var(--canvas); display:flex; flex-direction:column; }
.auth-header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:28px clamp(24px,5vw,80px); }
.auth-brand { display:flex; gap:12px; align-items:center; color:var(--forest); text-decoration:none; font:750 29px/1.1 var(--equizelo-sans); letter-spacing:-1.2px; }
.auth-brand img { object-fit:contain; }
.auth-brand small { display:block; font:9px/1.6 Manrope,Arial,sans-serif; letter-spacing:1.6px; margin-top:5px; }
.auth-header-note { color:var(--muted); font-size:12px; }
.auth-content { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(32px,7vw,110px); width:min(1180px,100%); margin:auto; padding:32px 32px 56px; outline:none; }
.auth-story h1 { font:750 clamp(36px,4.2vw,60px)/1.08 var(--equizelo-sans); letter-spacing:-2.2px; margin:0 0 24px; }
.auth-story h1 em { color:var(--forest); font-style:normal; }
.auth-story>p:not(.pilot-eyebrow) { color:var(--muted); font-size:16px; line-height:1.8; max-width:420px; }
.auth-story-details { display:flex; flex-wrap:wrap; gap:12px 20px; border-top:1px solid var(--line); margin-top:32px; padding-top:24px; color:var(--forest); font-size:12px; }
.auth-story-details span::before { content:'•'; margin-right:8px; }
.auth-form-area { min-width:0; }
.auth-card.mud-paper { padding:clamp(24px,3vw,40px); border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 12px 45px #174c3e07; }
.auth-card h2 { font:600 27px/1.25 Manrope,Arial,sans-serif; letter-spacing:-.7px; margin:0 0 12px; }
.auth-description { color:var(--muted); font-size:14px; line-height:1.6; margin:0 0 26px; }
.auth-fields { display:flex; flex-direction:column; width:100%; }
.auth-fields label { font-size:13px; font-weight:600; margin-bottom:7px; }
.auth-fields input:not([type=hidden]) { display:block; width:100%; min-width:0; min-height:48px; padding:12px 14px; border:1px solid #BCC9C0; border-radius:9px; background:#fff; color:var(--ink); font:inherit; font-size:16px; margin-bottom:18px; }
.auth-fields input[aria-describedby] { margin-bottom:5px; }
.auth-fields small { font-size:12px; color:var(--muted); margin-bottom:18px; }
.auth-fields input:focus { border-color:var(--forest); outline:2px solid var(--forest); outline-offset:2px; }
.auth-fields .password-field { position:relative; margin-bottom:18px; }
.auth-fields .password-field input:not([type=hidden]) { margin-bottom:0; padding-right:92px; }
.auth-fields .password-visibility { position:absolute; right:8px; top:50%; transform:translateY(-50%); min-height:36px; padding:5px 9px; border:0; border-radius:7px; background:transparent!important; color:var(--forest)!important; box-shadow:none; font-size:12px; font-weight:700; }
.auth-fields .password-visibility:hover { background:#EFF4F0!important; }
.auth-fields .mud-button-root { margin-top:6px; }
.auth-bottom-link { border-top:1px solid var(--line); padding-top:24px; margin-top:26px; font-size:13px; text-align:center; }
.auth-bottom-link a { font-weight:700; color:var(--forest); text-decoration:underline; }
.link-button { border:0; background:transparent; color:var(--forest); cursor:pointer; font:inherit; font-weight:700; text-decoration:underline; }
.horse-cover-photo { display:block; width:min(100%, 440px); max-height:280px; margin:0 0 18px; border-radius:14px; object-fit:cover; border:1px solid var(--line); }
.auth-card .hint { font-size:12px; line-height:1.6; color:var(--muted); margin-top:20px; }
.auth-card .message { margin:16px 0; }
.auth-organizations { display:grid; gap:12px; }
.auth-organizations button { width:100%; display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; padding:16px; text-align:left; }
.auth-organizations span { font-weight:400; }
.auth-footer { padding:20px clamp(24px,5vw,80px); border-top:1px solid var(--line); color:var(--forest); font-size:12px; display:flex; justify-content:space-between; gap:12px; }
.auth-footer span { color:var(--muted); }
.horse-pilot .pilot-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; margin-bottom:28px; }
.horse-pilot h1 { font:750 38px/1.12 var(--equizelo-sans); letter-spacing:-1.35px; margin:0 0 8px; }
.horse-pilot .pilot-heading p { color:var(--muted); }
.horse-pilot .horse-section { padding:24px; margin-bottom:24px; border:1px solid var(--line); border-radius:16px; }
.horse-pilot .section-title { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; align-items:center; margin-bottom:24px; }
.horse-pilot h2 { font-size:20px; font-weight:600; margin:0 0 6px; }
.horse-pilot .section-title p { color:var(--muted); font-size:13px; }
.horse-pilot .horse-card { height:100%; padding:20px; border:1px solid var(--line); border-radius:12px; }
.horse-pilot .horse-card h3 { font-size:19px; font-weight:700; margin:12px 0 16px; overflow-wrap:anywhere; }
.horse-pilot .horse-card dl { display:grid; grid-template-columns:1fr 1fr; gap:8px; font-size:13px; margin:16px 0; }
.horse-pilot .horse-card dt { color:var(--muted); }
.horse-pilot .horse-card dd { text-align:right; overflow-wrap:anywhere; }
.horse-pilot .horse-links { display:flex; flex-wrap:wrap; gap:4px; border-top:1px solid var(--line); padding-top:12px; }
.horse-pilot .horse-links a { min-height:44px; padding:10px 8px; color:var(--forest); font-size:13px; font-weight:600; text-decoration:underline; }
.horse-pilot .pilot-empty { text-align:center; padding:40px 16px; color:var(--muted); }
.horse-pilot .pilot-empty h3 { color:var(--ink); font-size:20px; margin:14px 0 8px; }
.horse-pilot .pilot-empty p { max-width:450px; margin:auto; }
.horse-pilot .horse-date { display:flex; flex-direction:column; gap:7px; font-size:13px; }
.horse-pilot .horse-date input { padding:12px; border:1px solid #BCC9C0; border-radius:12px; width:100%; background:white; min-height:56px; }
.horse-pilot .horse-select { display:flex; flex-direction:column; gap:7px; font-size:13px; }
.horse-pilot .horse-select select { min-height:56px; padding:12px; border:1px solid #BCC9C0; border-radius:12px; width:100%; background:white; color:var(--ink); }
.horse-pilot .pilot-form-actions { display:flex; justify-content:flex-end; gap:12px; margin-top:24px; }
@media(max-width:800px) {
    .auth-header { padding:20px 24px; }
    .auth-header-note { display:none; }
    .auth-content { grid-template-columns:minmax(0,1fr); max-width:560px; padding:20px 20px 36px; gap:24px; }
    .auth-story { display:none; }
    .auth-card.mud-paper { padding:28px 24px; }
    .auth-footer { flex-wrap:wrap; padding:20px 24px; }
    .horse-pilot .horse-section { padding:18px; }
}
@media(prefers-reduced-motion:reduce) { .equizelo-pilot * { transition:none!important; animation:none!important; } }

/* Application pages share these tokens without changing application behavior. */
.equizelo-pilot .page-heading { align-items:center; margin-bottom:32px; }
.equizelo-pilot .page-heading h1 { color:var(--ink); font:750 clamp(32px,3.5vw,43px)/1.1 var(--equizelo-sans); letter-spacing:-1.5px; }
.equizelo-pilot .page-heading>div>p:not(.eyebrow) { max-width:620px; line-height:1.65; }
.equizelo-pilot .eyebrow { color:var(--forest); font-size:10px; letter-spacing:1.8px; }
.equizelo-pilot .panel,.equizelo-pilot .metrics article { border-color:var(--line); border-radius:16px; box-shadow:0 8px 30px #174c3e08; }
.equizelo-pilot article.panel + article.panel { margin-top:18px; }
.equizelo-pilot .profile-actions { display:flex; align-items:center; margin:20px 0; }
.equizelo-pilot .panel h2 { color:var(--ink); font-size:19px; font-weight:700; letter-spacing:-.25px; }
.equizelo-pilot button,.equizelo-pilot .button-link { border-radius:10px; background:var(--forest); border-color:var(--forest); box-shadow:none; }
.equizelo-pilot .button-link:not(.ghost),.equizelo-pilot button:not(.ghost):not(.mud-button-text),.equizelo-pilot .mud-button-filled { color:#fff!important; }
.equizelo-pilot button:hover,.equizelo-pilot .button-link:hover { background:var(--forest-dark); }
.equizelo-pilot .ghost { background:#fff!important; border-color:#B9C9BE!important; color:var(--forest)!important; }
.equizelo-pilot .ghost:hover { background:#EFF4F0!important; }
.equizelo-pilot .message { border-radius:12px; padding:14px 16px; }
.equizelo-pilot .empty-state { padding:48px 22px; border:1px dashed #C5D4C8; border-radius:12px; background:#FAFCFA; }
.equizelo-pilot .empty-state span { display:inline-grid; place-items:center; height:48px; width:48px; border-radius:50%; color:var(--forest); background:#E6F0E9; }
.equizelo-pilot .metrics { gap:16px; }
.equizelo-pilot .metrics article { min-height:140px; padding:20px; }
.equizelo-pilot .metrics span { color:var(--forest); background:#E6F0E9; border-radius:12px; }
.equizelo-pilot .metrics strong { color:var(--ink); font:750 32px/1.1 var(--equizelo-sans); letter-spacing:-1px; }
.equizelo-pilot .dashboard-grid { gap:16px; }
.equizelo-pilot .activity,.equizelo-pilot .alert { padding:16px 0; }
.equizelo-pilot .activity { grid-template-columns:48px 28px minmax(0,1fr) auto; }
.equizelo-pilot .activity>b,.equizelo-pilot .activity>span { color:var(--forest); }
.equizelo-pilot .alert>b { background:var(--forest); }
.equizelo-pilot .health-link { color:var(--forest); text-decoration:underline; text-underline-offset:3px; }
.equizelo-pilot .horse-row,.equizelo-pilot .agenda-row,.equizelo-pilot .team-row,.equizelo-pilot .vaccination-row,.equizelo-pilot .document-row { border-color:#E2E9E3; padding:16px 8px; }
.equizelo-pilot .horse-row.head,.equizelo-pilot .agenda-row.head,.equizelo-pilot .team-row.head,.equizelo-pilot .vaccination-row.head,.equizelo-pilot .document-row.head { color:var(--muted); }
.equizelo-pilot .form-grid,.equizelo-pilot .team-grid { gap:18px; }
.equizelo-pilot .form-grid label,.equizelo-pilot .team-grid label { color:var(--ink); font-size:13px; }
.equizelo-pilot .form-grid input,.equizelo-pilot .form-grid select,.equizelo-pilot .form-grid textarea,.equizelo-pilot .team-grid input,.equizelo-pilot .team-grid select,.equizelo-pilot .activity-form input,.equizelo-pilot .activity-form select,.equizelo-pilot .activity-form textarea,.equizelo-pilot .team-row select { min-height:46px; border-color:#B9C9BE; border-radius:10px; padding:11px 12px; }
.equizelo-pilot .form-grid input:focus,.equizelo-pilot .form-grid select:focus,.equizelo-pilot .form-grid textarea:focus,.equizelo-pilot .team-grid input:focus,.equizelo-pilot .team-grid select:focus { border-color:var(--forest); outline:2px solid #174c3e33; }
.equizelo-pilot .form-actions { margin-top:24px; }
.equizelo-pilot .list-title { margin-bottom:18px; }
.equizelo-pilot .activity-status { border-radius:999px; }
.equizelo-pilot .activity-status.scheduled { background:#F4EEDC; color:#755916; }
.equizelo-pilot .activity-status.completed { background:#E6F0E9; color:var(--forest); }
.equizelo-pilot .owner-badge { display:inline-flex; align-items:center; background:#E6F0E9; color:var(--forest); border-radius:999px; padding:5px 9px; font-size:12px; font-weight:700; }
.equizelo-pilot .roles>div { border-radius:12px; border-color:var(--line); background:#FAFCFA; }
.equizelo-pilot .roles code { color:var(--forest); }
.equizelo-pilot .document-row>span,.equizelo-pilot .agenda-row>span { overflow-wrap:anywhere; }
.equizelo-pilot .timeline-list { display:grid; gap:0; margin-top:18px; }
.equizelo-pilot .timeline-item { display:grid; grid-template-columns:132px minmax(0,1fr); gap:16px; padding:14px 0; border-top:1px solid #E2E9E3; }
.equizelo-pilot .timeline-item time { color:var(--muted); font-size:12px; }
.equizelo-pilot .timeline-item strong,.equizelo-pilot .timeline-item small { display:block; overflow-wrap:anywhere; }
.equizelo-pilot .timeline-item small { color:var(--muted); margin-top:4px; }
.equizelo-pilot .identity-editor { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:22px; padding-top:22px; border-top:1px solid #E2E9E3; }
.equizelo-pilot .identity-editor>div { padding:18px; border:1px solid var(--line); border-radius:12px; background:#FAFCFA; }
.equizelo-pilot .identity-editor h3 { margin:0 0 14px; font-size:15px; }
.equizelo-pilot .identity-editor button { margin-top:16px; }
.equizelo-pilot .document-validity { display:inline-flex; padding:5px 8px; border-radius:999px; font-size:11px; font-weight:700; white-space:nowrap; }
.equizelo-pilot .document-validity.valid { background:#E6F0E9; color:var(--forest); }.equizelo-pilot .document-validity.due { background:#F4EEDC; color:#755916; }.equizelo-pilot .document-validity.expired { background:#FBE7E2; color:#9B3020; }.equizelo-pilot .document-validity.neutral { background:#F0F3F0; color:var(--muted); }
.equizelo-pilot .document-filter { display:flex; align-items:end; flex-wrap:wrap; gap:10px; }.equizelo-pilot .document-filter label { display:grid; gap:5px; font-size:12px; color:var(--muted); }.equizelo-pilot .document-filter select { min-height:38px; border:1px solid #B9C9BE; border-radius:8px; padding:6px 9px; background:#fff; color:var(--ink); }
.equizelo-pilot .dashboard-retry { margin:8px 0 0 10px; }
.equizelo-pilot .workspace-notice { display:grid; grid-template-columns:190px minmax(0,1fr); gap:14px; margin-bottom:18px; background:#f7faf7; }
.equizelo-pilot .workspace-notice strong { color:var(--forest); }
.equizelo-pilot .workspace-notice p { color:var(--muted); }
.equizelo-pilot .workspace-switcher { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 30px; }
.equizelo-pilot .workspace-option { display:inline-flex; align-items:center; gap:8px; min-height:42px; padding:8px 13px; font-size:13px; }
.equizelo-pilot .workspace-option.selected { background:var(--forest); color:#fff; }
.equizelo-pilot .workspace-heading { margin:0 0 20px; }
.equizelo-pilot .workspace-heading h2 { margin:5px 0 5px; color:var(--ink); font:750 25px/1.2 var(--equizelo-sans); letter-spacing:-.6px; }
.equizelo-pilot .workspace-heading p:not(.eyebrow) { margin:0; color:var(--muted); }
.equizelo-pilot .workspace-metrics { margin-bottom:18px; }
.equizelo-pilot .workspace-row { display:grid; grid-template-columns:112px minmax(0,1fr) auto; gap:14px; align-items:center; padding:15px 0; border-top:1px solid #E2E9E3; }
.equizelo-pilot .workspace-row time { color:var(--forest); font-size:12px; font-weight:750; }
.equizelo-pilot .workspace-row strong,.equizelo-pilot .workspace-row small { display:block; }
.equizelo-pilot .workspace-row small { color:var(--muted); margin-top:3px; }
.equizelo-pilot .access-explainer { margin:4px 0 18px; padding:14px 16px; border:1px solid #DCE7DE; border-radius:12px; background:#FAFCFA; }
.equizelo-pilot .access-explainer h3 { margin:0 0 4px; color:var(--forest); font-size:14px; }
.equizelo-pilot .access-explainer p { margin:0; color:var(--muted); font-size:13px; }
.sidebar,.app-header { font-family:var(--equizelo-sans); }
.sidebar .brand { font:750 25px/1.05 var(--equizelo-sans); letter-spacing:-1px; }
.sidebar .brand small { font-family:var(--equizelo-sans); font-weight:700; }
.equizelo-pilot .list-title { gap:20px; }
.equizelo-pilot .list-title>button,.equizelo-pilot .list-title>.button-link { flex:none; white-space:nowrap; }
.sidebar .brand { display:flex; align-items:flex-start; gap:8px; color:#fff; }
.sidebar .brand img { object-fit:contain; filter:brightness(0) invert(1); }
.sidebar .brand span { color:#fff; }
.sidebar .brand small { font-size:9px; letter-spacing:1px; color:#c8d8ce; }
@media(max-width:720px) { .equizelo-pilot .page-heading { align-items:stretch; }.equizelo-pilot .page-heading>button,.equizelo-pilot .page-heading>.button-link { width:100%; }.equizelo-pilot .metrics article { min-height:126px; }.equizelo-pilot .panel { border-radius:14px; } }
@media(max-width:520px) { .equizelo-pilot .timeline-item { grid-template-columns:1fr; gap:5px; } }
@media(max-width:720px) { .equizelo-pilot .identity-editor { grid-template-columns:1fr; } }
@media(max-width:720px) { .equizelo-pilot .workspace-notice { grid-template-columns:1fr; }.equizelo-pilot .workspace-switcher { display:grid; grid-template-columns:1fr 1fr; }.equizelo-pilot .workspace-option { justify-content:center; }.equizelo-pilot .workspace-row { grid-template-columns:1fr; gap:5px; }.equizelo-pilot .workspace-row .activity-status { justify-self:start; } }

/* Connection states replace the browser's generic blue reconnection box. */
#components-reconnect-modal.equizelo-reconnect { position:fixed; z-index:2000; inset:0; display:grid; place-items:center; padding:24px; background:#102d2580; font-family:var(--equizelo-sans); }
#components-reconnect-modal.components-reconnect-hide { display:none; }
.equizelo-reconnect-card { width:min(100%,380px); padding:32px; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 22px 60px #102d2555; text-align:center; }
.equizelo-reconnect-card>div { display:none; }
#components-reconnect-modal.components-reconnect-show .components-reconnect-show,#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed,#components-reconnect-modal.components-reconnect-rejected .components-reconnect-rejected { display:block; }
.equizelo-reconnect-card strong { display:block; color:var(--ink); font-size:17px; letter-spacing:-.3px; }
.equizelo-reconnect-card p { margin:7px 0 0; color:var(--muted); font-size:14px; }
.equizelo-reconnect-card button { margin-top:20px; color:#fff; }
.equizelo-reconnect-mark { display:grid; place-items:center; width:52px; height:52px; margin:0 auto 18px; border-radius:50%; background:#e6f0e9; }
.equizelo-reconnect-mark i { width:22px; height:22px; border:2px solid #8cab9e; border-top-color:var(--forest); border-radius:50%; animation:equizelo-spin .8s linear infinite; }
@keyframes equizelo-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .equizelo-reconnect-mark i { animation:none; border-color:var(--forest); } }
/* Weekly training planning: the cards deliberately make simultaneous slots equally visible. */
.equizelo-pilot .activity-form input,.equizelo-pilot .activity-form select,.equizelo-pilot .activity-form textarea{display:block;width:100%;padding:10px;border:1px solid var(--line);border-radius:7px;margin-top:6px;font:inherit;background:#fff}.equizelo-pilot .participant-picker{display:flex;gap:12px;flex-wrap:wrap;padding:9px;border:1px solid var(--line);border-radius:7px}.equizelo-pilot .participant-picker label{display:inline-flex;gap:5px;align-items:center}.equizelo-pilot .training-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:12px;margin-top:16px}.equizelo-pilot .training-slot{padding:15px;border:1px solid var(--line);border-radius:10px;background:#fff}.equizelo-pilot .training-slot h3{margin:8px 0 4px}.equizelo-pilot .training-slot p,.equizelo-pilot .training-slot small{color:var(--muted)}
