:root {
  --ui-focus-color:var(--accent-ink,var(--accent,var(--bh-blue,#0A84FF)));
  --ui-focus-ring:0 0 0 3px color-mix(in srgb,var(--ui-focus-color) 32%,transparent);
  --ui-safe-top:max(12px,env(safe-area-inset-top));
  --ui-safe-left:max(12px,env(safe-area-inset-left));
}

html[data-product] {
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scrollbar-gutter:stable;
  --kobolt:var(--bh-blue);
  --blue:var(--bh-blue);
  --kobolt-deep:var(--bh-blue-deep);
  --purple:var(--bh-blue-deep);
  --cyan:var(--bh-blue-2);
  --tangerine:var(--bh-pop);
  --amber:var(--bh-pop);
  --tangerine-deep:var(--bh-pop-deep);
  --pink:var(--bh-pop-deep);
  --success:var(--bh-green);
  --green:var(--bh-green);
  --danger:var(--bh-danger);
  --red:var(--bh-danger);
  --warn:var(--bh-pop);
  --info:var(--bh-blue-deep);
  --blaek:var(--bh-ink);
  --kobolt-deep-rgb:82,115,201;
  --accent-2-rgb:157,182,240;
  --tangerine-rgb:242,169,101;
  --tangerine-deep-rgb:219,147,79;
  --success-rgb:87,194,154;
  --danger-rgb:237,138,143;
}

html[data-product] body {
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
html[data-product] .v8 { --v8-r-md:14px; --v8-r-lg:18px; --v8-r-xl:24px; }

html[data-product] :where(h1,h2,h3) {
  text-wrap:balance;
}

html[data-product] :where(p,li,dd) {
  text-wrap:pretty;
}

html[data-product] :where(button,input,select,textarea) {
  font-family:inherit;
}

html[data-product] :where(button,[role="button"],a[href],input,select,textarea,[tabindex]):focus-visible {
  outline:3px solid var(--ui-focus-color) !important;
  outline-offset:2px !important;
  box-shadow:var(--ui-focus-ring);
}

html[data-product] :where(button,input,select,textarea):disabled,
html[data-product] :where([aria-disabled="true"]) {
  cursor:not-allowed;
}

html[data-product] :where(input,textarea)::placeholder {
  color:var(--bh-ink-3,var(--color-text-3,#6E7689));
  opacity:.88;
}

html[data-product] :where([aria-busy="true"]) {
  cursor:progress;
}

html[data-product] :where(main,[role="main"],[data-ui-main]) {
  scroll-margin-block-start:24px;
}

html[data-product] .skip-link {
  position:fixed !important;
  inset:auto auto auto var(--ui-safe-left) !important;
  top:var(--ui-safe-top) !important;
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  padding:10px 16px !important;
  overflow:visible !important;
  border:1px solid color-mix(in srgb,var(--ui-focus-color) 34%,transparent) !important;
  border-radius:999px !important;
  background:var(--card-solid,var(--panel,var(--bh-surface,#fff))) !important;
  color:var(--bh-ink,var(--ink,#1C2540)) !important;
  box-shadow:var(--shadow-md,0 12px 32px rgba(15,23,42,.14)) !important;
  font-weight:750 !important;
  line-height:1 !important;
  text-decoration:none !important;
  transform:translateY(calc(-100% - var(--ui-safe-top) - 12px));
  opacity:0;
  pointer-events:none;
  transition:transform 160ms ease,opacity 160ms ease;
  z-index:2147483000 !important;
}

html[data-product] .skip-link:focus,
html[data-product] .skip-link:focus-visible {
  transform:translateY(0);
  opacity:1;
  pointer-events:auto;
}

@media (pointer:coarse),(max-width:760px) {
  html[data-product] :where(button,[role="button"],input,select,textarea) {
    min-block-size:44px !important;
  }

  html[data-product] :where(button,[role="button"]) {
    min-inline-size:44px !important;
  }
}

@media (max-width:760px) {
  html[data-product] { --glass-blur:var(--glass-blur-mobile,10px); }
  html[data-product] {
    scrollbar-gutter:auto;
  }
}

@media (prefers-reduced-motion:reduce) {
  html[data-product] {
    scroll-behavior:auto !important;
  }

  html[data-product] *,
  html[data-product] *::before,
  html[data-product] *::after {
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.001ms !important;
  }
}

@media (prefers-reduced-transparency:reduce) {
  html[data-product] :where(.sidebar,.rail,.pln-sidebar,.hrm-sidebar,.side,.adv-sidebar,.topbar,.app-topbar,.pln-topbar,.hrm-topbar,.adv-topbar,.mail-topbar,.modal-content,.dialog,.ccm-product-popup,.dropdown-menu,.pln-set-panel) {
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    background:var(--card-solid,var(--surface-hi,var(--bh-surface,#fff))) !important;
  }
}

@media (prefers-contrast:more) {
  html[data-product] {
    --bh-line:color-mix(in srgb,var(--bh-ink) 28%,transparent);
    --bh-edge:color-mix(in srgb,var(--accent-ink,var(--bh-ink)) 42%,transparent);
  }

  html[data-product] :where(button,input,select,textarea,[role="button"],.card,.glass-card,.widget-card) {
    border-width:2px !important;
  }
}

@media (forced-colors:active) {
  html[data-product] :where(button,[role="button"],a[href],input,select,textarea,[tabindex]):focus-visible {
    outline:3px solid Highlight !important;
    box-shadow:none !important;
  }
}

.gdpr-consent {
  position:fixed;
  inset:0;
  z-index:100001;
  display:grid;
  place-items:center;
  padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));
  background:rgba(0,0,0,.7);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
}
.gdpr-consent__dialog {
  display:flex;
  flex-direction:column;
  width:min(520px,100%);
  max-height:min(760px,calc(100dvh - 32px));
  overflow:hidden;
  background:var(--card-solid,#1e1f28);
  border:1px solid var(--border);
  border-radius:20px;
  box-shadow:var(--glass-shadow,0 24px 80px rgba(0,0,0,.35));
}
.gdpr-consent__dialog:focus { outline:none; }
.gdpr-consent__body { overflow-y:auto; overscroll-behavior:contain; padding:24px 24px 8px; }
.gdpr-consent__head { margin-bottom:14px; text-align:center; }
.gdpr-consent__head h2 { margin:0; color:var(--text-1); font:900 1.2rem var(--font-brand); }
.gdpr-consent__head p { margin:6px auto 0; max-width:44ch; color:var(--text-3); font-size:.75rem; line-height:1.5; }
.gdpr-consent__section {
  margin:0 0 12px;
  padding:13px;
  color:var(--text-2);
  font-size:.72rem;
  line-height:1.55;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:12px;
}
.gdpr-consent__choices legend { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.gdpr-consent__choices label { display:flex; align-items:center; gap:9px; min-height:32px; cursor:pointer; }
.gdpr-consent__choices input { flex:0 0 auto; width:18px; height:18px; margin:0; accent-color:var(--accent); }
.gdpr-consent__actions {
  position:sticky;
  bottom:0;
  display:grid;
  gap:7px;
  padding:12px 24px 18px;
  background:var(--card-solid,#1e1f28);
  border-top:1px solid var(--border);
}
.gdpr-consent__submit {
  min-height:48px;
  padding:12px 16px;
  color:var(--action-ink,var(--color-on-accent));
  font:800 .88rem var(--font-brand);
  background:linear-gradient(150deg,var(--action-bg,var(--accent)),var(--action-bg-2,var(--accent)));
  border:0;
  border-radius:12px;
  cursor:pointer;
}
.gdpr-consent__actions a { display:block; min-height:40px; padding:10px; color:var(--text-2); font:600 .72rem var(--font-brand); text-align:center; text-decoration:none; background:var(--surface); border:1px solid var(--border); border-radius:10px; box-sizing:border-box; }
@media (max-width:480px) {
  .gdpr-consent { place-items:end center; padding:max(8px,env(safe-area-inset-top)) 0 0; }
  .gdpr-consent__dialog { max-height:calc(100dvh - max(8px,env(safe-area-inset-top))); border-radius:20px 20px 0 0; }
  .gdpr-consent__body { padding:18px 16px 4px; }
  .gdpr-consent__head { display:grid; grid-template-columns:34px 1fr; column-gap:10px; text-align:left; }
  .gdpr-consent__head > div { grid-row:1 / span 2; margin:0 !important; }
  .gdpr-consent__head h2 { font-size:1.05rem; }
  .gdpr-consent__head p { margin-top:3px; }
  .gdpr-consent__section { padding:11px; line-height:1.45; }
  .gdpr-consent__actions { padding:10px 16px calc(12px + env(safe-area-inset-bottom)); }
}

html[data-product="canvas"] .canvas-toast {
  max-width:min(420px,calc(100vw - 32px)) !important;
}
html[data-product="canvas"] :where(.cv-board .w,.w) { border:1px solid var(--bh-line); border-radius:var(--bh-r-block); box-shadow:var(--bh-spec),var(--bh-shadow-flat); }
html[data-product="canvas"] :where(.w-title,.w-head .w-title) { color:var(--bh-ink-2); font-family:var(--bh-display); font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
html[data-product="canvas"] .bignum { color:var(--bh-ink); font-weight:600; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
html[data-product="canvas"] :where(.lb-row,.lb-pro-row) { border-radius:var(--bh-r-tile); }
html[data-product="canvas"] .lb-rank { color:var(--bh-ink-3); font-variant-numeric:tabular-nums; }
html[data-product="canvas"] .lb-name { color:var(--bh-ink); font-weight:600; }
html[data-product="canvas"] :where(.lb-val,.metric-item) { font-variant-numeric:tabular-nums; }
html[data-product="canvas"] :where(.lbl,.w-body .lbl) { color:var(--bh-ink-2); }
html[data-product="canvas"] .w-head { align-items:center; margin-bottom:10px; }
html[data-product="canvas"] .bignum.accent { background:linear-gradient(135deg,var(--bh-blue),var(--bh-blue-2)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
html[data-product="canvas"] .lb-bar-wrap { overflow:hidden; background:var(--bh-track-fill); border-radius:var(--bh-r-pill); }
html[data-product="canvas"] .lb-bar { background:linear-gradient(90deg,var(--bh-blue),var(--bh-blue-2)); border-radius:var(--bh-r-pill); box-shadow:0 0 10px var(--accent-soft); }
html[data-product="canvas"] .lb-val { color:var(--bh-ink); font-weight:600; }
html[data-product="canvas"] :where(.lb-row.win,.lb-row--top,.lb-row.is-first,.lb-pro-row.win) { background:linear-gradient(180deg,var(--accent-soft),var(--bh-glass-stop)); border:1px solid var(--bh-edge); box-shadow:var(--bh-spec); }
html[data-product="canvas"] :where(.lb-row.win .lb-val,.lb-row--top .lb-val) { color:var(--success); }
html[data-product="canvas"] .w-filter-chip { border:1px solid var(--bh-line); border-radius:var(--bh-r-pill); }
html[data-product="canvas"] .w-empty-illust { opacity:.55; }
html[data-product="canvas"] :where(.apex-chart svg .nc-thresh-label rect,.apex-chart svg > g[pointer-events="none"] > path[stroke-linejoin="round"]) { fill:var(--bh-surface) !important; stroke:var(--bh-line) !important; stroke-width:1 !important; filter:drop-shadow(0 2px 6px rgba(16,24,48,.16)) !important; }
html[data-product="canvas"] :where(.cv-board .w [class*="-val"],.cv-board .w [class*="-num"],.cv-board .w [class*="metric"],.cv-board .w .big,.cv-board .w .lb-idx,.cv-board .w td[class*="num"],.cv-board .w .stat-value) { font-variant-numeric:tabular-nums; letter-spacing:-.02em; }
html[data-product="canvas"] :where(.cv-board .w [class*="gauge"] text,.cv-board .w [class*="gauge"] [class*="center"],.cv-board .w h1,.cv-board .w h2,.cv-board .w h3,.cv-board .w .card-h) { font-family:var(--bh-display); }

html[data-product="hrm"] :where(.hrm-card,.hrm-ov-card,.hrm-employee-card,.hrm-org-card,.hrm-pl-card,.hrm-step,.hrm-integration-card,.hrm-ov-row),
html[data-product="planner"] :where(.pln-card,.pln-tl-card,.pln-open-shift-card,.pln-claim-card,.pln-bytte-card,.pln-fravaer-card,.pln-briefing,.pln-integration-card,.pln-my-swap) {
  background:var(--card-bg);
  border:1px solid var(--bh-line);
  border-radius:var(--bh-r-block);
  box-shadow:var(--bh-spec),var(--bh-shadow-flat);
}
html[data-product="hrm"] .hrm-ov-big,
html[data-product="planner"] .pln-balance { font-family:var(--bh-mono); font-weight:600; color:var(--bh-ink); letter-spacing:-.02em; }
html[data-product="hrm"] :where(.hrm-btn,.hrm-reveal-btn),
html[data-product="planner"] .pln-btn { border-radius:var(--bh-r-tile); }
html[data-product="hrm"] :where(.hrm-filter-chip,.hrm-tag-choice) { border-radius:var(--bh-r-pill); }
html[data-product="hrm"] .hrm-btn--danger { color:#fff !important; background:linear-gradient(150deg,#E2574C,#C0392B) !important; border-color:transparent !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.3),var(--bh-shadow-flat) !important; }
html[data-product="planner"] .pln-shift { border-radius:var(--bh-r-tile); }
html[data-product="hrm"] :where(.hrm-directory-search,.hrm-form-row input),
html[data-product="planner"] :where(.pln-field input,.pln-form-row input) { border-radius:var(--bh-r-tile); }
html[data-product="hrm"] .hrm-ov-card--primary { background:linear-gradient(160deg,rgba(var(--accent-rgb),.1),var(--card-bg)); }
html[data-product="planner"] :where(.pln-grid__day--today,.pln-card--accent) { background:linear-gradient(180deg,rgba(var(--accent-rgb),.12),var(--card-bg)); }
html[data-product="hrm"] .hrm-modal,
html[data-product="planner"] :where(.pln-modal,.pln-modal__box) { border-radius:var(--bh-r-block); }
@media (max-width:760px) {
  html[data-product="canvas"] .canvas-toast {
    right:12px !important;
    bottom:calc(82px + env(safe-area-inset-bottom)) !important;
    max-width:calc(100vw - 24px) !important;
    padding:10px 12px !important;
    font-size:.72rem !important;
  }
}
