/* NHL 1.25.0 — design from DEV 1.35–1.38.
   Production-only presentation overrides; no DEV data, branding or logic. */

/* Månadsresultat: klickbara mappar och separat rättningsvy. */
.nhl-results-month-list{padding:6px 13px}
.nhl-results-month-list .v1-month-row{display:grid;grid-template-columns:44px minmax(0,1fr) 18px;gap:13px;align-items:center;min-height:76px;padding:12px 5px}
.nhl-results-month-list .v1-month-row:active{background:#401a25;border-radius:10px}
.nhl-result-folder{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:linear-gradient(145deg,#55212e,#31131c);border:1px solid #85404c;color:#ffb2bf}
.nhl-result-folder svg{width:25px;height:25px}
.nhl-results-month-list .nhl-month-label{min-width:0}
.nhl-results-month-list .nhl-month-label strong{display:block;font-size:15px;color:#fff4f5;line-height:1.35}
.nhl-results-month-list .nhl-month-label small{font-size:11px;line-height:1.4;margin-top:5px;color:#c4aab1}
.nhl-results-month-list .nhl-month-arrow{font-size:27px;line-height:1;color:#fa7889}
.nhl-results-detail .v1-back{display:inline-flex;align-items:center;margin-bottom:20px;min-height:40px;padding:7px 0}
.nhl-results-detail .v1-section-heading{margin-bottom:20px}
.nhl-results-corrections .v1-info-row{line-height:1.5}
.nhl-results-corrections .v1-info-row>span{min-width:0;flex:1 1 55%}
.nhl-results-corrections .v1-info-row>strong{min-width:0;flex:1 1 45%;overflow-wrap:anywhere}
@media(max-width:380px){.nhl-results-month-list .v1-month-row{grid-template-columns:40px minmax(0,1fr) 15px;gap:10px}.nhl-result-folder{width:40px;height:40px}}

/* A seamless top bar with an unobstructed, tappable hamburger icon. */
.topbar{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  padding:9px 0;
}
.v1-menu-trigger{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#fff;
  font-size:26px;
}
.v1-menu-trigger:active{
  background:transparent;
  opacity:.72;
}
.topbar .version{
  border:0!important;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
  padding:2px 0;
  color:#d4acb3;
  font-size:9px;
  font-weight:600;
  letter-spacing:0;
}
@media(max-width:440px){
  .topbar .version{font-size:8px;padding:2px 0}
}

/* Full-width, full-height menu; scrolls on smaller phones. */
.v1-menu-overlay{
  inset:0;
  width:100%;
  height:100dvh;
  padding:0;
  align-items:stretch;
  justify-content:stretch;
  background:#13070a;
  backdrop-filter:none;
}
.v1-menu-panel{
  flex:1 1 100%;
  width:100%;
  max-width:none;
  min-width:0;
  height:100%;
  max-height:100%;
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow-y:auto;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  padding:calc(env(safe-area-inset-top) + 25px)
          calc(env(safe-area-inset-right) + 16px)
          calc(env(safe-area-inset-bottom) + 30px)
          calc(env(safe-area-inset-left) + 16px);
}

/* Cards, tiles, chips, buttons and inputs rely on their background contrast.
   Deliberately retain row separators, keyboard focus, and the dark crest frame. */
.v1-card,
.hero-card,
.small-card,
.tools-card,
.leaders-card,
.stat-section,
.stat-bulk-preview,
.v1-metric,
.nhl-home-panel,
.nhl-home-payout-row,
.nhl-usage-tile,
.nhl-usage-person-metrics span,
.nhl-overview-hero,
.nhl-home-date,
.nhl-result-folder,
.nhl-owner-label,
.nhl-dev-safe-note,
.v1-overview-brand,
.v1-overview-brand img,
.leaders-trophy,
.brand-logo,
.v1-menu-logo,
.nhl-entry-panel,
.nhl-entry-emblem,
.v1-account-status:not([hidden]),
.nhl-entry-feedback,
.v1-alert,
.v1-notice,
.stat-warning,
.cloud-status,
.v1-filters button,
.stat-filters button,
.nhl-admin-tabs button,
.v1-form input,
.v1-form select,
.v1-access-controls select,
.nhl-account-selects select,
.stat-month-select,
.tools-card textarea,
.tools-card input[type="email"],
.tools-card input[type="password"],
.nhl-entry-form input,
.button-primary,
.button-outline,
.v1-secondary,
.v1-remove,
.stat-apply,
.nhl-entry-submit,
.v1-menu-top button{
  border:0;
}
.nhl-home-date{background:#351923}
.nhl-owner-label{background:#46301f}
.nhl-home-panel-linked:hover{filter:brightness(1.07)}

/* Accessible focus states are kept, even with borderless inputs. */
.nhl-account-selects select:focus-visible,
.v1-access-controls select:focus-visible,
.v1-form input:focus-visible,
.v1-form select:focus-visible,
.nhl-entry-form input:focus-visible{
  outline:2px solid #f4b0b7;
  outline-offset:2px;
}


/* NHL 1.27.0: full-bleed, opaque sticky top bar from DEV 1.40.
   Keep the buttons inside the usual content width, while the background covers
   the viewport edges and iPhone safe area. Scrolled content goes behind it. */
.topbar{
  position:sticky;
  top:calc(env(safe-area-inset-top) + 6px);
  z-index:40;
  flex-shrink:0;
  isolation:isolate;
  background:transparent;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.topbar::before{
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
  left:50%;
  width:100vw;
  min-width:100%;
  top:calc(0px - env(safe-area-inset-top) - 32px);
  bottom:0;
  transform:translateX(-50%);
  background:linear-gradient(110deg,#1d0b11 0%,#13070b 58%,#100709 100%);
}


/* NHL 1.28.0 — Poängställning features backported from tested DEV, standalone CSS only. */
/* Poängställning: monthly folder navigation inside each standings participant. */
.nhl-standings-month-list .v1-month-row{
 grid-template-columns:44px minmax(0,1fr) auto;
}
.nhl-standings-month-tail{
 display:flex;align-items:center;justify-content:flex-end;gap:12px;
 color:#ffb6c0;white-space:nowrap;
}
.nhl-standings-month-tail b{
 font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;
}
.nhl-standings-month-list .v1-month-row:focus-visible{
 outline:2px solid #ffafbb;outline-offset:-2px;border-radius:10px;
}
.nhl-standings-month-detail .v1-back{display:inline-flex;align-items:center;min-height:40px;margin-bottom:20px}
.nhl-standings-month-detail .v1-section-heading{margin-bottom:20px}
.nhl-standings-month-total{color:#ffb6c0;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:380px){
 .nhl-standings-month-list .v1-month-row{grid-template-columns:40px minmax(0,1fr) auto;gap:8px}
 .nhl-standings-month-tail{gap:7px}
 .nhl-standings-month-tail b{font-size:13px}
}


/* Poängställning: monthly payout archive accessible from Standings. */
.nhl-standings-history-link{
 width:100%;min-height:77px;margin:13px 0 0;
 display:flex;align-items:center;justify-content:space-between;gap:15px;
 text-align:left;cursor:pointer;color:#fff;
 font:inherit;border:0;background:linear-gradient(145deg,#281218,#170a0e);
}
.nhl-standings-history-link strong{display:block;color:#fff;font-size:15px;line-height:1.35}
.nhl-standings-history-link small{display:block;margin-top:5px;color:#d2aab3;font-size:11px;line-height:1.45}
.nhl-standings-history-arrow{color:#ff9ba8;font-size:28px;line-height:1}
.nhl-standings-history-link:focus-visible{outline:2px solid #ffb5bf;outline-offset:3px}
.nhl-standings-history-link:active{filter:brightness(1.13)}
.nhl-standings-payout-history{display:grid;gap:12px;margin-top:14px}
.nhl-standings-payout-history .nhl-home-panel{margin:0}
.nhl-standings-payout-history .nhl-home-panel-head{margin-bottom:9px}
.nhl-standings-payout-history .nhl-home-panel-head h2{font-size:15px}
.nhl-standings-payout-history .nhl-home-payout-row{padding:10px}


/* Poängställning: mobile placement history chart. */
.nhl-standings-timeline{margin-top:12px;min-width:0;overflow:hidden;padding:18px 15px}
.nhl-standings-timeline .nhl-home-panel-head{align-items:baseline;margin-bottom:6px}
.nhl-standings-timeline h2{font-size:16px;margin:0}
.nhl-timeline-hint{font-size:10px;color:#ffb6c0;white-space:nowrap}
.nhl-timeline-help{font-size:11px;color:#ceb1b8;margin:0 0 14px;line-height:1.5}
.nhl-timeline-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px;margin-bottom:12px}
.nhl-timeline-person{display:flex;align-items:center;gap:7px;font-size:12px;min-width:0}
.nhl-timeline-person strong{color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nhl-timeline-person small{color:#cca9b1;margin-left:auto;font-size:10px}
.nhl-timeline-dot{width:9px;height:9px;border-radius:50%;flex:none}
.nhl-timeline-scroll{max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.nhl-timeline-scroll:focus-visible{outline:2px solid #ffa9b5;outline-offset:-2px}
.nhl-timeline-svg{display:block;width:100%;height:auto;max-width:none;font-family:inherit}
.nhl-timeline-grid{stroke:#57323c;stroke-width:1;stroke-dasharray:4 5}
.nhl-timeline-vertical{stroke:#42232d;stroke-width:1}
.nhl-timeline-x-label{fill:#d9b6bf;font-size:12px;font-weight:700}
.nhl-timeline-y-label{fill:#e6c2c9;font-size:12px;font-weight:800}
.nhl-timeline-note{color:#b9949e;font-size:10px;line-height:1.5;margin:4px 0 0}
.nhl-timeline-details{margin-top:13px;border-top:1px solid #482830;padding-top:11px}
.nhl-timeline-details summary{cursor:pointer;color:#f8b3bf;font-size:11px;font-weight:700;line-height:1.6}
.nhl-timeline-details summary:focus-visible{outline:2px solid #ffa9b5;outline-offset:3px}
.nhl-timeline-table-scroll{overflow-x:auto;margin-top:12px}
.nhl-timeline-details table{border-collapse:collapse;min-width:320px;width:100%;color:#f5e4e8;font-size:10px;text-align:left}
.nhl-timeline-details th,.nhl-timeline-details td{padding:9px 7px;border-bottom:1px solid #482830;white-space:nowrap}
.nhl-timeline-details td small{font-size:9px;color:#c79eaa}
@media(min-width:620px){.nhl-timeline-legend{display:flex;flex-wrap:wrap;gap:20px}.nhl-standings-timeline{padding:19px 20px}}


/* Poängställning: rank-based medal colors across standings and movement chart. */
.nhl-standings-ranks .v1-rank{border:0;border-radius:11px;padding:13px 9px;margin:2px 0;min-height:57px}
.nhl-standings-ranks .v1-rank:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.nhl-standings-ranks .v1-rank-position{width:31px;height:31px;border-radius:9px;border:0}
.nhl-standings-ranks .nhl-rank-place-1{
 color:#f3c65a;background:linear-gradient(90deg,#8b651b39,#8b651b0c 78%,transparent);
}
.nhl-standings-ranks .nhl-rank-place-2{
 color:#c7d1da;background:linear-gradient(90deg,#8699a33b,#8699a30c 78%,transparent);
}
.nhl-standings-ranks .nhl-rank-place-3{
 color:#d99b70;background:linear-gradient(90deg,#96532b3b,#96532b0b 78%,transparent);
}
.nhl-standings-ranks .nhl-rank-place-4{
 color:#f2747b;background:linear-gradient(90deg,#9d2b3b44,#9d2b3b0c 78%,transparent);
}
.nhl-standings-ranks .nhl-rank-place-1 .v1-rank-position{color:#f3c65a;background:#6f551e63}
.nhl-standings-ranks .nhl-rank-place-2 .v1-rank-position{color:#c7d1da;background:#6a7d8a59}
.nhl-standings-ranks .nhl-rank-place-3 .v1-rank-position{color:#d99b70;background:#86552e59}
.nhl-standings-ranks .nhl-rank-place-4 .v1-rank-position{color:#f2747b;background:#7b263d61}
.nhl-standings-ranks .v1-rank .v1-rank-points{color:inherit}
.nhl-standings-ranks .v1-rank .v1-rank-name{color:#fff5f6}
.nhl-standings-ranks .v1-rank:active{filter:brightness(1.15)}
.nhl-standings-timeline .nhl-rank-text-1{color:#f3c65a}
.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:#f2747b}
.nhl-standings-timeline .nhl-timeline-details td small{color:inherit;opacity:.83}
