/* Stegvis visual identity — shared by the dashboard, login and account pages. */
:root{--forest:#123c2e;--forest-hover:#205640;--lime:#b8df52;--paper:#faf9f4;--mist:#eff3e9;--ink:#123c2e;--orange:#b8df52;--muted:#61756b;--line:#dfe5dc;color:#193c30;background:var(--paper);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
body,.auth-body{background:var(--paper);color:#193c30}h1,h2,h3{color:var(--forest)}h1{font-weight:650;letter-spacing:-1.4px}button,input,select{font-family:inherit}
.sidebar{background:var(--forest);border:0;color:#fffdf7}.brand{gap:9px;font-size:30px;letter-spacing:-1.8px;font-weight:750;line-height:1;margin-bottom:55px}.brand-symbol{width:43px;height:43px;flex:none}.sidebar .brand-symbol{content:url('/brand/symbol-light.svg?v=2')}.brand-word{color:var(--forest)}.sidebar .brand-word{color:#fffdf7}
.sidebar .nav-label{color:#adbdad}.sidebar .nav{color:#d4dfd3}.sidebar .nav.active{background:var(--lime);color:var(--forest);border-radius:10px}.sidebar .nav:hover{background:#285440;color:white}.sidebar .nav.active:hover{background:#c7e878;color:var(--forest)}.sidebar-bottom>strong,.sidebar-bottom p,.sidebar .account-email{color:#bbcdbd}.sidebar .local-icon{color:var(--lime)}.sidebar .athlete{color:#fffdf7;border-color:#38604d}.avatar{background:var(--lime);color:var(--forest)}.sidebar .logout{color:#e7eee2;background:transparent;border-color:#54745b}
.eyebrow,.intro .eyebrow{color:#627960;letter-spacing:1.7px}.intro p,.breadcrumb,.period,.connection,.subtle{color:#61756b}.primary{background:var(--forest);color:#fffdf7;border-radius:10px;font-weight:650}.primary:hover{background:var(--forest-hover)}.intro .primary{background:var(--lime);color:var(--forest);border:1px solid #a6cc47}.intro .primary:hover{background:#c7e878}.secondary{border-color:#d4dfcd;color:#355544;border-radius:9px}.secondary:hover{background:var(--mist)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #709628;outline-offset:3px}
.card,.stats article,.garmin-card,.identity-card{border-radius:16px;border-color:var(--line)}.stats article{padding-top:22px;border-top:3px solid #dfe9cd}.stat-value strong{font-weight:600;color:var(--forest)}.stat-label,.stat-label span,.stats small,.stat-value>span,.chart-footer,.legend{color:#647663}.stats article:first-child{border-top-color:var(--lime)}.tabs button.active{background:var(--forest);color:white;box-shadow:none}.tabs button,.tabs select{color:#5b705e}.pill,.sport-icon{background:#ecf2df;color:#44673f}.table th,.table td,.activity-title small,.latest-card .date,.latest-card p,.latest-metrics small{color:#657760}.activity-title strong{color:var(--forest);font-weight:600}.table tbody tr:hover{background:#f8faef}.search input{background:#f1f5e9;color:var(--forest)}
.insight-card{background:var(--forest);border-radius:16px}.insight-card h2{color:#fffdf7}.insight-card .eyebrow{color:#c1d4ac}.insight-card p{color:#cedbcc}.insight-card small{color:#b7cbb4;border-color:#527152}.insight-symbol{background:#315d42;color:var(--lime)}.insight-metric{color:var(--lime)}.insight-card:after{border-color:#b8df5240}.legend i{background:#43866a}
.garmin-card{background:#f0f4e5}.garmin-info p,.garmin-info small,.queue-toolbar p,.queue-summary-hint,.queue-stage small,.queue-columns h3 small,.queue-event,.queue-broker{color:#60735c}.garmin-mark{color:var(--forest)}.queue-stage.active{background:#eaf5cd;border-color:#a6cc47}.live-indicator{color:#477329}.queue-stage{border-radius:11px}.empty,.empty strong,.hint,.private-note,.help-link,dialog p,footer{color:#64765f}.drop-zone{background:#f5f8ed;border-color:#91ad70}.drop-zone.dragging{background:#eaf5cd;border-color:#709628}.detail-stats,.analysis-note{background:#f0f5e6}.analysis-note{border-left-color:#94ba43}.toast{background:var(--forest);color:#fffdf7}
.auth-story h1{font-size:58px;font-weight:700;line-height:1.08}.auth-story .brand{margin-bottom:48px}.auth-story>p,.auth-story>small,.story-line p,.auth-card>p,.auth-card small,.auth-note{color:#60735c}.story-line>span{background:var(--lime);color:var(--forest);font-weight:700}.auth-card{border-radius:22px;border-color:var(--line);box-shadow:0 18px 65px #123c2e0b}.auth-tabs{background:#eef3e5}.auth-tabs .active{background:var(--forest);color:white}.auth-card input:focus,.settings-card input:focus{outline-color:#709628}.auth-card .primary{background:var(--lime);color:var(--forest)}
.identity-card{background:#edf3df}.identity-avatar{background:var(--forest);color:var(--lime)}.identity-badge{background:var(--lime);color:var(--forest)}.settings-hint,.settings-card small,.identity-card small{color:#65775e}.connection-status,.session-row .current{background:#eef5df;color:#456237}progress,.auto-toggle input{accent-color:#709628}.settings-tabs a{color:#3e6045}.settings-tabs a:hover{color:#142f21}.data-summary strong{color:var(--forest)}
@media(max-width:1150px) and (min-width:901px){.brand{font-size:25px;gap:5px}.brand-symbol{width:36px;height:36px}}
@media(max-width:900px){.sidebar .brand-word{display:none}.sidebar .brand{gap:0}.sidebar .brand-symbol{width:43px;height:43px}}
@media(max-width:560px){header{height:auto;min-height:68px;flex-wrap:wrap;padding:14px 0}.breadcrumb{font-size:8px}.breadcrumb:before{content:'stegvis';display:block;font-size:20px;font-weight:750;letter-spacing:-1px;color:var(--forest);margin-bottom:5px}.auth-story h1{font-size:42px}.auth-story .brand-word{display:inline}.intro h1{font-size:30px}}
.coach-card{margin:0 0 24px;scroll-margin-top:20px}.coach-intro{font-size:12px;color:#61756b}.coach-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.coach-grid h3{font-size:15px;margin-top:24px}.coach-note{padding:16px 0;border-bottom:1px solid var(--line)}.coach-note strong{font-size:13px}.coach-note p{font-size:12px;color:#61756b;margin:8px 0 0;line-height:1.8}.goal-banner{background:#edf3df;border:1px solid #d9e5c4;padding:23px;border-radius:13px;display:flex;justify-content:space-between;gap:25px}.goal-banner h3{margin:10px 0;font-size:23px;letter-spacing:-.5px}.goal-banner p{font-size:12px;margin:0;color:#52694c}.goal-metric{min-width:200px;display:flex;flex-direction:column;justify-content:center}.goal-metric strong{font-size:21px}.goal-metric span{font-size:10px;margin:8px 0;color:#52694c}.goal-metric progress{width:100%;height:8px}.coach-method{margin-top:24px;font-size:11px;color:#61756b}.coach-method summary{cursor:pointer}.coach-method a{text-decoration:underline}.coach-method p{max-width:850px}#goal-form input,#goal-form select{width:100%;padding:12px;border:1px solid #dfe5dc;border-radius:8px;background:white;color:#123c2e}#goal-remove{display:block;margin-top:16px}#goal-message{color:#97432c}@media(max-width:700px){.coach-grid{grid-template-columns:1fr;gap:0}.goal-banner{flex-direction:column}.goal-banner h3{font-size:20px}.goal-metric{min-width:0}.coach-card .card-heading{align-items:flex-start}}

/* Shared goal fields: equal size, contrast and focus across native controls. */
#goal-dialog,#annual-dialog{border:1px solid var(--line);border-radius:20px;max-height:90dvh;overflow:auto;color:var(--forest)}
#goal-form input,#goal-form select,#annual-form input{display:block;box-sizing:border-box;width:100%;height:48px;min-height:48px;margin:0;padding:12px 14px;border:1px solid #cad5c6;border-radius:10px;background:#fff;color:var(--forest);font-family:inherit;font-size:16px;line-height:1.4;font-weight:400;color-scheme:light;-webkit-text-fill-color:var(--forest)}
#goal-form select{appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='m5 8 5 5 5-5' fill='none' stroke='%23123c2e' stroke-width='1.5'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat}
#goal-form input::placeholder{color:#6a796b;-webkit-text-fill-color:#6a796b;font-size:14px}
#goal-form input::-webkit-datetime-edit{color:var(--forest)}
#goal-form .field-label,#annual-form .field-label{display:block;margin:20px 0 8px;font-size:13px;font-weight:600;color:var(--forest)}
#goal-remove[hidden],#annual-remove[hidden]{display:none}#annual-remove{margin-top:16px}#annual-message{color:#97432c}.annual-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0 16px}.annual-banner{margin-bottom:24px}

.annual-types{border:0;padding:0;margin:24px 0}.annual-types legend{font-size:13px;font-weight:600;margin-bottom:12px}#annual-types{display:grid;grid-template-columns:1fr 1fr;gap:12px}#annual-types label{display:flex;align-items:center;gap:8px;font-size:13px}#annual-form #annual-types input{appearance:auto;width:18px;height:18px;min-height:18px;margin:0;padding:0;accent-color:var(--forest)}@media(max-width:480px){#annual-types{grid-template-columns:1fr}}
#forgot-form .subtle,#forgot-form>a{display:block;margin-top:16px;font-size:13px}#forgot-form>a{color:var(--forest);text-decoration:underline}#send-verification{margin:8px 0 18px}
