/* NHL 1.31.0 — Midnight dark theme (independent of nhl-light.css).
   Palette: #0e141d page, #1c2633 cards, #283647 inset surfaces,
   #f0f3f6 primary text, #b7c5d4 secondary, #ec1905 signature red.
   Designed as the matched dark-mode sibling; app logic is unchanged. */

:root{
  color-scheme:dark;
  --bg:#0e141d;
  --ink:#f0f3f6;
  --muted:#b7c5d4;
  --line:#354559;
  --accent:#ec1905;
  --accent2:#b7c5d4;
  --brand-red:#ec1905;
  --brand-dark:#0e141d;
  --brand-burgundy:#b7c5d4;
  --brand-card:#1c2633;
  --brand-panel:#283647;
  --brand-border:#354559;
  --brand-silver:#1c2633;
  --brand-muted:#b7c5d4;
  --midnight-bg:#0e141d;
  --midnight-card:#1c2633;
  --midnight-soft:#283647;
  --midnight-muted:#b7c5d4;
  --midnight-text:#f0f3f6;
  --midnight-red:#ff7568;
  --midnight-rule:#354559;
}

/* Whole app and safe-area backdrop: keep the deep midnight base. */
html{background:#0e141d}
body,
body.nhl-auth-mode{
  color:var(--midnight-text)!important;
  background:#0e141d!important;
}
.ambient{display:none}
.app-shell{color:var(--midnight-text)}
.topbar{
  color:var(--midnight-text);
  background:transparent;
  border:0;
  box-shadow:none;
}
.topbar::before{
  background:#0e141d;
  box-shadow:0 8px 18px #00000025;
}
.brand,.topbar .brand,.topbar .brand span,
.topbar .version{color:#b7c5d4!important}
.v1-menu-trigger,.v1-menu-trigger:active{
  color:#b7c5d4;
  background:transparent;
  border:0;
}
.brand-logo{box-shadow:none;border:0}
.topbar .version{
  border:0!important;background:transparent!important;
  box-shadow:none!important;
}
footer{color:#91a4b9;border-top-color:var(--midnight-rule)}

/* Headings, intro text, and shared surfaces. */
h1,h1 em,.v1-section-heading h1,
.v1-card h2,.v1-card h3,.tools-heading h2,.leaders-header h2,
.v1-group-title,.v1-card-heading h2,
.stat-headleft strong,.stat-control-top>div>strong{
  color:var(--midnight-text);
}
.v1-section-heading h1{font-weight:850}
.v1-kicker,.v1-section-heading .v1-kicker,.eyebrow,
.stat-small{color:var(--midnight-red)}
.v1-kicker{letter-spacing:.13em}
.v1-section-heading>p:not(.v1-kicker),.intro,
.v1-muted,.leaders-subtitle,.leaders-disclaimer,.points-status,
.v1-tip-person small,.v1-category-row small,.v1-month-row small,
.stat-headleft small,.stat-control-top>div>small,.stat-player span,
.stat-origin,.card-note,.helper,.cloud-hint,.stat-small,
.nhl-home-empty,.nhl-home-foot,.nhl-home-fineprint{
  color:#b7c5d4;
}
.eyebrow-line{background:var(--midnight-red)}
.v1-card,.hero-card,.small-card,.tools-card,.leaders-card,
.stat-section,.nhl-home-panel{
  color:var(--midnight-text);
  background:var(--midnight-card);
  border:0;
  border-radius:19px;
  box-shadow:0 5px 16px #00000030;
}
.v1-card,.nhl-home-panel{box-shadow:0 5px 18px #00000030}
.v1-metric{
  background:var(--midnight-soft);
  color:var(--midnight-text);
  border:0;
}
.v1-metric span,.v1-mini-grid span,.v1-rank-latest,
.v1-detail small,.v1-order,.v1-group-title{color:#b7c5d4}
.v1-metric strong,.v1-mini-grid strong{color:var(--midnight-text)}
.v1-list-card{background:var(--midnight-card)}
.v1-info-row,.v1-tip-person,.v1-detail,.v1-category-row,
.v1-month-row,.v1-rank,.stat-row,.stat-entries,.stat-bulk-item,
.v1-access-user,.v1-access-group{
  border-color:var(--midnight-rule);
}

/* Light-mode hero: preserve the crest, replace the black-backed neon
   'current leader' banner with actual live text and a restrained red detail. */
.nhl-overview-hero{
  background:linear-gradient(125deg,#283647 0%,#1c2633 100%);
  color:var(--midnight-text);
  border:0;
  box-shadow:0 7px 22px #00000040;
}
.nhl-overview-hero::before{
  background:linear-gradient(100deg,transparent 68%,#ec190509);
}
.nhl-overview-logo-frame{
  background:#283647;
  box-shadow:inset 0 0 0 2px #9cabbc38,0 5px 12px #00000040;
}
.nhl-overview-logo{filter:none}
.nhl-overview-hero-copy{border-left:1px solid #65798e}
.nhl-overview-leader-banner{display:none}
.nhl-overview-hero-copy::before{
  content:"NUVARANDE LEDARE";
  display:block;
  color:#b7c5d4;
  font-size:clamp(9px,2.5vw,12px);
  font-weight:850;
  letter-spacing:.065em;
  line-height:1.4;
  margin:0 0 9px;
}
.nhl-overview-leader-name{
  color:var(--midnight-text);
  text-shadow:none;
  font-weight:850;
}

/* Dashboard tiles and season highlights. */
.nhl-home-panel h2,.nhl-home-highlight,.nhl-home-big-number,
.nhl-home-next-content strong,.nhl-home-hot-info strong,
.nhl-home-hot-top strong,.nhl-home-rank>strong,
.nhl-home-rank-person,.nhl-standings-history-link strong,
.nhl-standings-month-list .nhl-month-label strong,
.nhl-results-month-list .nhl-month-label strong{
  color:var(--midnight-text);
}
.nhl-home-kicker,.nhl-home-rank>strong small,
.nhl-home-hot-info small,.nhl-home-hot-count small,
.nhl-home-hot-row small,.nhl-home-date,
.nhl-home-last-push-date,.nhl-home-payout-row,
.nhl-results-month-list .nhl-month-label small,
.nhl-standings-history-link small{
  color:#b7c5d4;
}
.nhl-home-panel-head button,.nhl-home-panel-hint,
.nhl-home-last-push-arrow,.nhl-home-big-number small,
.nhl-home-hot-count,.nhl-home-hot-top span,
.nhl-home-payout-row>strong,.nhl-standings-history-arrow{
  color:var(--midnight-red);
}
.nhl-home-rank,.nhl-home-hot-row{
  background:transparent;
  color:var(--midnight-text);
  border-bottom:1px solid var(--midnight-rule);
}
.nhl-home-rank-num,.nhl-home-hot-position{
  background:#283647;
  color:var(--midnight-muted);
}
.nhl-home-rank:first-child .nhl-home-rank-num{
  background:var(--midnight-red);
  color:#fff;
}
.nhl-home-progress-track{background:#38485b}
.nhl-home-progress-track span{background:var(--midnight-red)}
.nhl-home-date{background:#283647;border:0}
.nhl-home-payout-row{
  background:var(--midnight-soft);
  border:0;
}
.nhl-standings-history-link{
  background:var(--midnight-card);
  color:var(--midnight-text);
}
.nhl-home-panel-linked:hover{filter:brightness(.98)}

/* Standings, ranking drilldowns, and month folder navigation. */
.v1-rank,.v1-category-row,.v1-month-row,
.nhl-standings-history-link{
  color:var(--midnight-text);
}
.v1-rank-name,.v1-tip-person strong,.v1-info-row strong,
.v1-detail strong,.v1-category-row strong,.v1-month-row strong,
.v1-order li,.v1-tip-person>span,
.nhl-standings-ranks .v1-rank .v1-rank-name{
  color:var(--midnight-text);
}
.v1-rank-position,.nhl-result-folder{
  background:#283647;
  color:var(--midnight-muted);
  border:0;
}
.v1-rank-points,.v1-detail>b,.v1-category-row>span:last-child,
.v1-month-row>span:last-child,.v1-textlink,.v1-back,
.v1-chevron,.nhl-results-month-list .nhl-month-arrow,
.nhl-standings-month-total,.nhl-standings-month-tail,
.nhl-standings-history-arrow{
  color:var(--midnight-red);
}
.v1-rankings .v1-rank:active,
.v1-category-row:active,.v1-month-row:active,
.nhl-results-month-list .v1-month-row:active{
  background:#263545;
}
.nhl-standings-ranks .nhl-rank-place-1{
  color:#f1c762;
  background:linear-gradient(90deg,#93701e48,transparent 92%);
}
.nhl-standings-ranks .nhl-rank-place-2{
  color:#c7d1da;
  background:linear-gradient(90deg,#96abbc33,transparent 92%);
}
.nhl-standings-ranks .nhl-rank-place-3{
  color:#d99b70;
  background:linear-gradient(90deg,#a7683955,transparent 92%);
}
.nhl-standings-ranks .nhl-rank-place-4{
  color:#ff7568;
  background:linear-gradient(90deg,#ec19052b,transparent 92%);
}
.nhl-standings-ranks .nhl-rank-place-1 .v1-rank-position{
  color:#f1c762;background:#4a3e27;
}
.nhl-standings-ranks .nhl-rank-place-2 .v1-rank-position{
  color:#ced8e0;background:#374554;
}
.nhl-standings-ranks .nhl-rank-place-3 .v1-rank-position{
  color:#dca179;background:#4b382e;
}
.nhl-standings-ranks .nhl-rank-place-4 .v1-rank-position{
  color:#ff8d81;background:#512b31;
}
.nhl-standings-ranks .v1-rank .v1-rank-points{color:inherit}
.nhl-standings-ranks .v1-rank:active{filter:brightness(.96)}

/* Standings timeline — keep each person's distinct line color. */
.nhl-timeline-hint,.nhl-timeline-details summary,
.nhl-timeline-help,.nhl-timeline-note,
.nhl-timeline-person small,.nhl-timeline-details td small{
  color:var(--midnight-muted);
}
.nhl-timeline-person strong,
.nhl-timeline-details table{color:var(--midnight-text)}
.nhl-timeline-grid{stroke:#415267}
.nhl-timeline-vertical{stroke:#344457}
.nhl-timeline-x-label,.nhl-timeline-y-label{fill:var(--midnight-muted)}
.nhl-timeline-svg circle{stroke:var(--midnight-card)}
.nhl-timeline-details,
.nhl-timeline-details th,.nhl-timeline-details td{
  border-color:var(--midnight-rule);
}
.nhl-standings-timeline .nhl-rank-text-1{color:#f1c762}
.nhl-standings-timeline .nhl-rank-text-2{color:#c7d1da}
.nhl-standings-timeline .nhl-rank-text-3{color:#d99b70}
.nhl-standings-timeline .nhl-rank-text-4{color:#ff7568}

/* Stats and category views. */
.stat-control-top,.stat-control{color:var(--midnight-text)}
.stat-section summary{background:var(--midnight-card)}
.stat-section[open] summary{background:#283647}
.stat-headleft strong,.stat-player strong{color:var(--midnight-text)}
.stat-headright b,.stat-number,.stat-shared{color:var(--midnight-red)}
.stat-position,.stat-expand{color:var(--midnight-muted)}
.stat-control-top button{color:#fff}
.stat-month-label,.stat-control-top>div>small{color:var(--midnight-muted)}
.stat-row.stat-match{background:#303f50}
.stat-pending{background:#283647;color:var(--midnight-muted)}
.stat-bulk-preview{box-shadow:0 5px 16px #00000030}
.stat-bulk-preview h3,.stat-bulk-item strong{color:var(--midnight-text)}
.stat-bulk-item small,.stat-player span{color:var(--midnight-muted)}

/* Controls: secondary buttons stay beige; red reserved for primary actions. */
.v1-filters button,.stat-filters button,.nhl-admin-tabs button{
  background:#283647;
  color:var(--midnight-muted);
  border:0;
  box-shadow:none;
}
.v1-filters button.selected,.stat-filters button.selected,
.nhl-admin-tabs button.active,
.v1-menu-panel>button[data-route].active{
  color:#fff;
  background:var(--midnight-red);
  border:0;
  box-shadow:none;
}
.button-primary,.stat-apply,.nhl-entry-submit{
  color:#fff;
  background:var(--midnight-red);
  border:0;
  box-shadow:0 5px 14px #ec190535;
}
.button-primary:active,.stat-apply:active,.nhl-entry-submit:active{
  background:#a9180b;
}
.v1-secondary,.button-outline,.v1-remove{
  background:#283647;
  color:var(--midnight-muted);
  border:0;
}
.v1-secondary:active,.button-outline:active{background:#324257}
.v1-remove{background:#483039;color:#ff978c}
.v1-form label,.cloud-label,.v1-access-controls label,
.nhl-account-selects label,.nhl-entry-form label{
  color:var(--midnight-text);
}
.v1-form input,.v1-form select,.stat-month-select,
.v1-access-controls select,.nhl-account-selects select,
.tools-card textarea,.tools-card input[type="email"],
.tools-card input[type="password"],.nhl-entry-form input{
  background:#101923;
  color:var(--midnight-text);
  border:0;
  box-shadow:inset 0 0 0 1px #7d92a333;
}
input::placeholder,textarea::placeholder{color:#91a4b9}
input:focus-visible,select:focus-visible,textarea:focus-visible,
button:focus-visible,.nhl-home-card-link:focus-visible{
  outline:2px solid var(--midnight-red);
  outline-offset:2px;
}
.v1-access-choice,.nhl-admin-panel .v1-access-choice{
  color:var(--midnight-muted);
}
.v1-access-choice input,.nhl-admin-panel .v1-access-choice input{
  accent-color:var(--midnight-red);
}

/* Admin, permissions, and usage report. */
.nhl-admin-kv span,.nhl-account-identity small,
.nhl-usage-tile span,.nhl-usage-person-main small,
.nhl-usage-top,.nhl-usage-person-metrics span,
.nhl-monthly-checks>div{color:var(--midnight-muted)}
.nhl-admin-kv strong,.nhl-account-identity strong,
.nhl-usage-tile strong,.nhl-usage-person-main strong,
.nhl-usage-person-metrics b,.nhl-admin-panel .v1-access-group h3,
.v1-access-user strong,.v1-access-group h3{
  color:var(--midnight-text);
}
.nhl-admin-kv,.nhl-account-row,.nhl-usage-person,
.nhl-admin-panel .v1-access-group,.nhl-monthly-check-table th,
.nhl-monthly-check-table td{
  border-color:var(--midnight-rule);
}
.nhl-account-row.is-owner{border-color:#796345}
.nhl-owner-label{color:#b7c5d4;background:#4a3b2a;border:0}
.nhl-usage-tile{
  color:var(--midnight-text);
  background:var(--midnight-soft);
  border:0;
}
.nhl-usage-person-metrics span{background:var(--midnight-soft);border:0}
.nhl-dev-safe-note,.v1-alert,.stat-warning{
  background:#463827;
  color:#f4d1a2;
  border:0;
}
.v1-notice,.cloud-status.ok{
  background:#203d38;
  color:#b0e4ce;
  border:0;
}
.v1-account-status:not([hidden]),.cloud-status{
  background:#283647;
  color:var(--midnight-text);
  border:0;
}
.cloud-status.error,.nhl-entry-feedback{
  background:#4d282b;
  color:#ffd1c9;
  border:0;
}
.nhl-monthly-check-table{color:var(--midnight-text)}
.nhl-monthly-check-table thead th{color:var(--midnight-muted)}
.nhl-monthly-check-table tbody th{color:var(--midnight-text)}
.nhl-monthly-check-table tbody td strong{color:var(--midnight-red)}
.nhl-monthly-checks span{color:#a8deb9}

/* Full-screen hamburger menu in the new palette. */
.v1-menu-overlay{
  background:var(--midnight-bg);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.v1-menu-panel{
  background:var(--midnight-bg);
  color:var(--midnight-text);
  border:0;
  box-shadow:none;
}
.v1-menu-top{color:var(--midnight-text);border-bottom-color:var(--midnight-rule)}
.v1-menu-top button{
  color:var(--midnight-muted);
  background:var(--midnight-soft);
  border:0;
}
.v1-menu-panel>button[data-route]{
  color:var(--midnight-text);
  background:transparent;
}
.v1-menu-panel>button[data-route]:active{background:#304154}
.v1-menu-panel>button[data-route].active:active{background:#a9180b}
.v1-menu-note{color:var(--midnight-muted)}
.v1-menu-panel>button.nhl-menu-logout{
  color:#ff8d81;
  border-top-color:var(--midnight-rule);
}

/* Sign-in and other auth states use the same warm, light system. */
body.nhl-auth-mode .ambient{display:none}
.nhl-entry-panel{
  background:var(--midnight-card);
  color:var(--midnight-text);
  border:0;
  box-shadow:0 10px 34px #00000050;
}
.nhl-entry-emblem{
  background:#283647;
  border:0;
  box-shadow:0 5px 14px #00000040;
}
.nhl-entry-panel h1{color:var(--midnight-text)}
.nhl-entry-eyebrow{color:var(--midnight-red)}
.nhl-entry-subtitle,.nhl-entry-loading,
.nhl-entry-footer,.nhl-usage-disclosure{color:var(--midnight-muted)}
.nhl-entry-switch{color:#ff8276}
.nhl-entry-spinner{border-color:#354559;border-top-color:var(--midnight-red)}


/* Monthly correction labels remain readable on dark cards. */
.nhl-results-corrections .v1-info-row > span{
  color:var(--midnight-muted);
  font-weight:650;
}

/* Deltagarnamn och kontokopplingar i midnight-paletten. */
.nhl-participants{min-width:0}
.nhl-participants>h2{margin-bottom:8px}
.nhl-participant-verification{margin:13px 0 15px;padding:11px 13px;background:#283647;color:#f0f3f6;border:1px solid #455872;border-radius:11px;font-size:12px;font-weight:700}
.nhl-participant-row{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:15px 0;border-bottom:1px solid #354559}
.nhl-participant-row:last-of-type{border-bottom:0}
.nhl-participant-heading{min-width:0;display:flex;flex-direction:column;gap:4px}
.nhl-participant-heading strong{font-size:14px;color:#f0f3f6}
.nhl-participant-heading small{font-size:11px;color:#b7c5d4;line-height:1.5}
.nhl-participant-row label{min-width:0;display:flex;flex-direction:column;gap:6px;font-weight:650;font-size:11px;color:#b7c5d4}
.nhl-participant-row input,.nhl-participant-row select{display:block;width:100%;min-width:0;min-height:43px;padding:10px 11px;box-sizing:border-box;border:1px solid #506177;border-radius:10px;background:#0e141d;color:#f0f3f6;font-size:13px;font-weight:600;box-shadow:none}
.nhl-participant-row input:focus-visible,.nhl-participant-row select:focus-visible{outline:2px solid #b7c5d4;outline-offset:2px}
.nhl-participant-row select:disabled{opacity:.6}
.nhl-participant-identity{min-width:0;margin:0;color:#b7c5d4;font-size:11px;line-height:1.5;overflow-wrap:anywhere}
.nhl-participant-identity code{color:#f0f3f6}
.nhl-account-linked-email{display:block;margin:3px 0;color:#b7c5d4;font-size:11px;overflow-wrap:anywhere}
@media(min-width:700px){
 .nhl-participant-row{grid-template-columns:135px minmax(0,1fr) minmax(0,1.15fr);align-items:end;gap:9px 13px}
 .nhl-participant-heading{align-self:center}
 .nhl-participant-identity{grid-column:2 / -1}
}

/* DEV 1.50 – redigera förnamn och efternamn separat, även på mobil. */
.nhl-participant-name-fields{
 display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
 gap:9px;min-width:0;
}
.nhl-participant-name-fields label{min-width:0}
@media(max-width:390px){
 .nhl-participant-name-fields{grid-template-columns:minmax(0,1fr);gap:10px}
}

/* Midnight-specific finishing: deep blue-black with red used intentionally. */
:root{
  color-scheme:dark;
  --bg:#0e141d;
  --ink:#f0f3f6;
  --muted:#b7c5d4;
  --line:#354559;
  --accent:#ec1905;
  --accent2:#91a4b9;
  --midnight-bg:#0e141d;
  --midnight-card:#1c2633;
  --midnight-soft:#283647;
  --midnight-muted:#b7c5d4;
  --midnight-text:#f0f3f6;
  --midnight-red:#ff7568;
  --midnight-rule:#354559;
}
body,body.nhl-auth-mode{background:#0e141d!important;color:#f0f3f6!important}
.topbar::before{background:#0e141d;box-shadow:0 9px 24px #0005}
.v1-card,.nhl-home-panel,.stat-section{
  background:#1c2633;
  border:0;
  box-shadow:0 8px 24px #00000030;
}
.nhl-overview-hero{
  background:linear-gradient(128deg,#253549 0%,#1c2633 78%);
  box-shadow:0 11px 25px #0004;
}
.nhl-overview-hero::before{background:linear-gradient(90deg,transparent 65%,#ec19050b)}
.nhl-overview-logo-frame{
  background:#111923;
  box-shadow:inset 0 0 0 2px #465268,0 6px 15px #0006;
}
.nhl-home-rank,.nhl-home-hot-row,.v1-info-row,
.v1-tip-person,.v1-detail,.stat-row{
  border-bottom-color:#354559;
}
.v1-rank,.v1-category-row,.v1-month-row,
.nhl-standings-history-link{background:transparent}
.nhl-standings-history-link{background:#1c2633}
.nhl-home-panel-linked:active,.nhl-standings-history-link:active{filter:brightness(1.12)}
/* Red small text has a softer accessible companion on navy. */
.v1-kicker,.v1-section-heading .v1-kicker,.eyebrow,
.stat-small,.nhl-entry-eyebrow,
.v1-rank-points,.v1-detail>b,.v1-category-row>span:last-child,
.v1-month-row>span:last-child,.v1-textlink,.v1-back,
.nhl-home-panel-head button,.nhl-home-panel-hint,.nhl-home-big-number small,
.nhl-home-hot-count,.nhl-home-hot-top span,.nhl-home-payout-row>strong,
.nhl-results-month-list .nhl-month-arrow,.nhl-standings-month-total,
.nhl-standings-month-tail,.nhl-standings-history-arrow,
.stat-headright b,.stat-number,.stat-shared,
.nhl-home-last-push-date,.nhl-home-last-push-arrow{
  color:#ff7568;
}
/* The brand's original red remains the active/primary hue. */
.button-primary,.stat-apply,.nhl-entry-submit,
.v1-filters button.selected,.stat-filters button.selected,
.nhl-admin-tabs button.active,.v1-menu-panel>button[data-route].active{
  background:#d21a0a;
  color:#fff;
  border:0;
}
.nhl-home-progress-track span{background:#ec1905}
.nhl-home-rank:first-child .nhl-home-rank-num{background:#d21a0a;color:#fff}
.v1-rank-position,.nhl-result-folder,.nhl-home-rank-num{
  background:#283647;
  color:#b7c5d4;
}
/* Distinct rank medals, aligned with the light theme. */
.nhl-standings-ranks .nhl-rank-place-1{color:#f1c762;background:linear-gradient(90deg,#a57e253b,transparent 85%)}
.nhl-standings-ranks .nhl-rank-place-2{color:#c7d1da;background:linear-gradient(90deg,#8c9dac33,transparent 85%)}
.nhl-standings-ranks .nhl-rank-place-3{color:#d99b70;background:linear-gradient(90deg,#ab75423b,transparent 85%)}
.nhl-standings-ranks .nhl-rank-place-4{color:#ff7568;background:linear-gradient(90deg,#ec190523,transparent 85%)}
.nhl-standings-ranks .nhl-rank-place-1 .v1-rank-position{background:#493b24;color:#f1c762}
.nhl-standings-ranks .nhl-rank-place-2 .v1-rank-position{background:#344251;color:#c7d1da}
.nhl-standings-ranks .nhl-rank-place-3 .v1-rank-position{background:#47362d;color:#d99b70}
.nhl-standings-ranks .nhl-rank-place-4 .v1-rank-position{background:#4e292e;color:#ff7568}
.nhl-standings-ranks .v1-rank .v1-rank-points{color:inherit}
/* Graph lines remain individually identified by player; grid supports reading. */
.nhl-timeline-grid{stroke:#435166}
.nhl-timeline-vertical{stroke:#354559}
.nhl-timeline-x-label,.nhl-timeline-y-label{fill:#b7c5d4}
.nhl-timeline-svg circle{stroke:#1c2633}
.nhl-timeline-details table{color:#f0f3f6}
/* Register/edit controls, including participant first and last names. */
.v1-form input,.v1-form select,.stat-month-select,.v1-access-controls select,
.nhl-account-selects select,.nhl-participant-row input,.nhl-participant-row select,
.tools-card textarea,.tools-card input[type="email"],
.tools-card input[type="password"],.nhl-entry-form input{
  color:#f0f3f6;
  background:#101923;
  border:0;
  box-shadow:inset 0 0 0 1px #405268;
}
.v1-form input::placeholder,.nhl-entry-form input::placeholder,
.nhl-participant-row input::placeholder{color:#91a4b9}
.nhl-participant-heading strong,.nhl-participant-identity code,
.nhl-account-identity strong,.nhl-usage-person-main strong{color:#f0f3f6}
.nhl-participant-heading small,.nhl-participant-identity,
.nhl-participant-row label,.nhl-account-linked-email{color:#b7c5d4}
.nhl-participant-verification{
  color:#f0f3f6;
  background:#283647;
  border:0;
}
.nhl-dev-notice{
  background:#443521;
  color:#ffe0ac;
  border:1px solid #947448;
  box-shadow:none;
}
.nhl-dev-notice a{color:#ffe0ac}
/* Auth and menu should feel integrated with the app rather than separate skins. */
.v1-menu-overlay,.v1-menu-panel{background:#0e141d}
.v1-menu-top{color:#f0f3f6;border-bottom-color:#354559}
.v1-menu-panel>button[data-route]{color:#f0f3f6}
.v1-menu-panel>button[data-route]:active{background:#283647}
.v1-menu-note{color:#b7c5d4}
.nhl-entry-panel{background:#1c2633;border:0;box-shadow:0 18px 48px #0005}
.nhl-entry-emblem{background:#101923;box-shadow:0 5px 14px #0005}
.nhl-entry-form input:focus-visible,.nhl-participant-row input:focus-visible,
.nhl-participant-row select:focus-visible{outline:2px solid #ff7568;outline-offset:2px}
/* A full white/red contrast stays intact in the Midnight theme. */
.nhl-monthly-check-table tbody td strong,.nhl-monthly-checks span{color:#ff7568}
.nhl-results-corrections .v1-info-row > span{color:#b7c5d4;font-weight:650}
button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible{outline:2px solid #ff7568;outline-offset:2px}

/* Midnight-friendly timeline series, with stable participant identity. */
.nhl-timeline-svg path[stroke="#98533f"]{stroke:#d58a72}
.nhl-timeline-svg circle[fill="#98533f"]{fill:#d58a72}
.nhl-timeline-person:nth-child(1) .nhl-timeline-dot{background:#d58a72!important}
.nhl-timeline-svg path[stroke="#c87745"]{stroke:#e8ae6d}
.nhl-timeline-svg circle[fill="#c87745"]{fill:#e8ae6d}
.nhl-timeline-person:nth-child(2) .nhl-timeline-dot{background:#e8ae6d!important}
.nhl-timeline-svg path[stroke="#e2ac68"]{stroke:#83b4cf}
.nhl-timeline-svg circle[fill="#e2ac68"]{fill:#83b4cf}
.nhl-timeline-person:nth-child(3) .nhl-timeline-dot{background:#83b4cf!important}
.nhl-timeline-svg path[stroke="#9b826f"]{stroke:#bca5d8}
.nhl-timeline-svg circle[fill="#9b826f"]{fill:#bca5d8}
.nhl-timeline-person:nth-child(4) .nhl-timeline-dot{background:#bca5d8!important}
