/* Mitdashboard – kundedashboards
   Palet: kølig tåge (papir), blæk, skifer, kundens farve som accent,
   rav til manuelle bookinger. Én skrift: Schibsted Grotesk (selvhostet). */

@font-face { font-family: "Schibsted Grotesk"; src: url("fonts/schibsted-grotesk-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Schibsted Grotesk"; src: url("fonts/schibsted-grotesk-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Schibsted Grotesk"; src: url("fonts/schibsted-grotesk-latin-600-normal.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Schibsted Grotesk"; src: url("fonts/schibsted-grotesk-latin-700-normal.woff2") format("woff2"); font-weight: 700; font-display: swap; }

:root {
  --paper: #eef2f1;
  --surface: #ffffff;
  --ink: #17201f;
  --slate: #56635f;
  --faint: #8a9794;
  --line: #d6dfdd;
  --line-soft: #e6ecea;
  --manual: #9a5b13;
  --manual-wash: #fbf2e3;
  --manual-line: #ecd3a8;
  --radius: 10px;
  --gutter: clamp(16px, 3.2vw, 40px);
  --font: "Schibsted Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body.md {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 400 15px/1.5 var(--font);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.md a { color: var(--accent-ink); }
.md-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.md svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.md :focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 4px; }

/* ---------- Topbar ---------- */
.md-top { background: var(--surface); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 20; }
.md-top__inner { display: flex; align-items: center; gap: 28px; padding: 0 var(--gutter); min-height: 64px; max-width: 1680px; margin: 0 auto; }
.md-brand { display: flex; align-items: center; text-decoration: none; color: var(--ink) !important; font-weight: 700; font-size: 17px; letter-spacing: -.01em; }
.md-brand img { max-height: 38px; max-width: 190px; display: block; }
.md-tabs { display: flex; gap: 4px; align-self: stretch; }
.md-tabs a { display: flex; align-items: center; padding: 0 14px; color: var(--slate) !important; text-decoration: none; font-weight: 500; border-bottom: 3px solid transparent; margin-bottom: -1px; }
.md-tabs a:hover { color: var(--ink) !important; }
.md-tabs a[aria-current] { color: var(--ink) !important; border-bottom-color: var(--accent); font-weight: 600; }
.md-user { margin-left: auto; display: flex; align-items: center; gap: 18px; font-size: 14px; }
.md-user a { color: var(--slate) !important; text-decoration: none; }
.md-user a:hover { color: var(--ink) !important; text-decoration: underline; }
.md-user__name { color: var(--faint); }

.md-main { flex: 1; width: 100%; max-width: 1680px; margin: 0 auto; padding: 28px var(--gutter) 48px; }

/* ---------- Knapper ---------- */
.md-btn { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: 8px; border: 1px solid var(--line); background: var(--surface); color: var(--ink) !important; font: 600 14px/1 var(--font); text-decoration: none; cursor: pointer; white-space: nowrap; }
.md-btn:hover { border-color: var(--slate); }
.md-btn--solid { background: var(--accent); border-color: var(--accent); color: #fff !important; }
.md-btn--solid:hover { background: var(--accent-ink); border-color: var(--accent-ink); }
.md-btn--quiet { background: transparent; }
.md-btn--wide { width: 100%; justify-content: center; height: 46px; font-size: 15px; }
.md-count { display: inline-block; min-width: 20px; padding: 1px 6px; border-radius: 99px; background: var(--line-soft); color: var(--slate); font-size: 12px; font-weight: 600; text-align: center; }

/* ---------- Dagens hoved ---------- */
.md-dayhead { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 26px; }
.md-date { display: flex; align-items: center; gap: 14px; }
.md-date h1 { margin: 0; display: flex; flex-direction: column; }
.md-date__wd { font-size: clamp(28px, 3.2vw, 40px); font-weight: 700; letter-spacing: -.025em; line-height: 1; }
.md-date__rest { font-size: clamp(15px, 1.4vw, 18px); font-weight: 500; color: var(--slate); margin-top: 6px; display: flex; align-items: center; gap: 10px; }
.md-today-tag { font-style: normal; font-size: 13px; font-weight: 600; color: var(--accent-ink); background: var(--accent-wash); padding: 3px 9px; border-radius: 99px; }
.md-step { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line); background: var(--surface); color: var(--ink) !important; flex: none; }
.md-step:hover { border-color: var(--ink); }
.md-step svg { width: 20px; height: 20px; }
.md-datepick { display: flex; gap: 10px; align-items: center; margin-left: auto; }
.md-refresh { margin: 0; }
.md-exphead .md-refresh { margin-left: auto; }
.md-refresh button.is-busy svg { animation: md-spin 1s linear infinite; }
@keyframes md-spin { to { transform: rotate(360deg); } }
.md input[type=date], .md input[type=text], .md input[type=password], .md input[type=search] {
  font: 500 15px var(--font); color: var(--ink); height: 40px; padding: 0 12px;
  border: 1px solid var(--line); border-radius: 8px; background: var(--surface);
}
.md input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-wash); }

/* ---------- Nøgletal ---------- */
.md-figures { display: flex; flex-wrap: wrap; gap: 10px 38px; margin: 0 0 22px; padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.md-fig { display: flex; flex-direction: column-reverse; margin: 0; }
.md-fig dt { color: var(--slate); font-size: 14px; }
.md-fig dd { margin: 0; font-size: 28px; font-weight: 700; letter-spacing: -.02em; line-height: 1.1; }
.md-fig--main dd { color: var(--accent-ink); }

/* ---------- Værktøjslinje ---------- */
.md-toolbar { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-bottom: 14px; }
.md-search { position: relative; display: flex; align-items: center; flex: 1 1 260px; max-width: 360px; }
.md-search svg { position: absolute; left: 12px; color: var(--faint); }
.md-search input { width: 100%; padding-left: 38px !important; }
.md-seg { display: inline-flex; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; padding: 3px; }
.md-seg button { font: 500 14px var(--font); color: var(--slate); background: none; border: 0; border-radius: 6px; height: 32px; padding: 0 12px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.md-seg button[aria-pressed=true] { background: var(--ink); color: #fff; }
.md-seg button[aria-pressed=true] .md-count { background: rgba(255,255,255,.18); color: #fff; }
.md-print { margin-left: auto; }

/* ---------- Samlet liste ---------- */
.md-summary { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); margin-bottom: 14px; }
.md-summary summary { cursor: pointer; padding: 12px 16px; font-weight: 600; display: flex; align-items: center; gap: 8px; list-style: none; }
.md-summary summary::-webkit-details-marker { display: none; }
.md-summary summary::before { content: ""; width: 7px; height: 7px; border-right: 2px solid var(--slate); border-bottom: 2px solid var(--slate); transform: rotate(-45deg); transition: transform .15s; margin-right: 4px; }
.md-summary[open] summary::before { transform: rotate(45deg); }
.md-summary ul { margin: 0; padding: 4px 16px 16px 40px; columns: 3 260px; column-gap: 32px; }
.md-summary li { break-inside: avoid; padding: 3px 0; }

/* ---------- Tavlen (bookinger) ---------- */
.md-board { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); overflow-x: auto; }
.md-table { width: 100%; border-collapse: collapse; min-width: 860px; }
.md-c-time { width: 1%; }
.md-cell--time { white-space: nowrap; }
.md-c-guest { width: 19%; }
.md-c-entry { width: 10%; }
.md-c-extra { width: 18%; }
.md-table thead th { text-align: left; padding: 12px 14px; font-size: 13px; font-weight: 600; color: var(--slate); border-bottom: 1px solid var(--line); white-space: nowrap; }
.md-slot + .md-slot { border-top: 1px solid var(--line); }
.md-row + .md-row { border-top: 1px solid var(--line-soft); }
.md-cell { padding: 13px 14px; vertical-align: top; text-align: left; font-weight: 400; }
.md-cell ul { list-style: none; margin: 0; padding: 0; }
.md-cell li + li { margin-top: 3px; }
.md-cell--time { background: var(--paper); border-right: 1px solid var(--line-soft); }
.md-cell--time b { display: block; font-size: 17px; font-weight: 700; letter-spacing: -.01em; }
.md-row:not(.is-first) .md-cell--time b { visibility: hidden; }
.md-cell--guest strong { display: block; font-weight: 600; font-size: 16px; line-height: 1.3; }
.md-entry { display: flex; align-items: baseline; gap: 10px; }
.md-big { font-size: 24px; font-weight: 700; line-height: 1; letter-spacing: -.02em; min-width: 1.1em; }
.md-sub { color: var(--slate); font-size: 14px; line-height: 1.35; }
.md-q { font-weight: 700; }
.md-time { color: var(--slate); white-space: nowrap; }
.md-phone { display: inline-block; margin-top: 2px; color: var(--slate) !important; font-size: 14px; text-decoration: none; }
.md-phone:hover { text-decoration: underline; }
.md-badge { display: inline-block; margin-top: 5px; font-size: 12px; font-weight: 600; color: var(--manual); background: var(--manual-wash); border: 1px solid var(--manual-line); padding: 1px 8px; border-radius: 99px; }
.md-row.is-manual .md-cell:not(.md-cell--time) { background: #fdf9f1; }
.md-row.is-manual .md-cell--guest { box-shadow: inset 3px 0 0 var(--manual); }
.md-row:hover .md-cell:not(.md-cell--time) { background: #f5f8f7; }
.md-row.is-manual:hover .md-cell:not(.md-cell--time) { background: #fbf3e4; }
.md-nomatch { padding: 18px; color: var(--slate); margin: 0; }

/* ---------- Tom tilstand ---------- */
.md-empty { background: var(--surface); border: 1px dashed var(--line); border-radius: var(--radius); padding: 40px; text-align: center; color: var(--slate); }
.md-empty__lead { font-size: 20px; font-weight: 600; color: var(--ink); margin: 0 0 6px; }

/* ---------- Udtræk ---------- */
.md-exphead { display: flex; align-items: baseline; gap: 18px; flex-wrap: wrap; margin-bottom: 18px; }
.md-exphead h1 { margin: 0; font-size: clamp(28px, 3.2vw, 40px); font-weight: 700; letter-spacing: -.025em; line-height: 1; }
.md-exphead__range { margin: 0; font-size: 17px; font-weight: 500; color: var(--slate); }
.md-range { display: flex; justify-content: space-between; align-items: flex-end; gap: 14px 24px; flex-wrap: wrap; margin-bottom: 22px; }
.md-range__fields { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
.md-range label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--slate); font-weight: 500; }
.md-presets { display: flex; gap: 8px; flex-wrap: wrap; }
.md-chip { display: inline-flex; align-items: center; height: 34px; padding: 0 13px; border-radius: 99px; border: 1px solid var(--line); background: var(--surface); color: var(--ink) !important; text-decoration: none; font-size: 14px; font-weight: 500; }
.md-chip:hover { border-color: var(--slate); }
.md-chip[aria-current] { background: var(--ink); border-color: var(--ink); color: #fff !important; }

.md-download { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; background: var(--accent-wash); border: 1px solid color-mix(in srgb, var(--accent) 25%, transparent); border-radius: var(--radius); padding: 18px 20px; margin-bottom: 22px; }
.md-download h2 { margin: 0 0 2px; font-size: 18px; font-weight: 700; }
.md-download p { margin: 0; color: var(--slate); font-size: 14px; }
.md-download__btns { display: flex; gap: 10px; }
.md-figures--export dd { font-size: 30px; }

.md-split { margin: -6px 0 26px; }
.md-split__bar { height: 10px; border-radius: 99px; background: var(--manual); overflow: hidden; }
.md-split__bar span { display: block; height: 100%; background: var(--accent); }
.md-split p { margin: 8px 0 0; font-size: 14px; color: var(--slate); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.md-key { display: inline-block; width: 10px; height: 10px; border-radius: 3px; }
.md-key--online { background: var(--accent); }
.md-key--manual { background: var(--manual); margin-left: 14px; }

.md-chart, .md-overview { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px 20px 20px; margin-bottom: 22px; }
.md-chart h2, .md-overview h2 { margin: 0 0 14px; font-size: 18px; font-weight: 700; }
.md-bars { display: flex; align-items: flex-end; gap: clamp(1px, .3vw, 4px); height: 180px; border-bottom: 1px solid var(--line); overflow: hidden; }
.md-bars.is-dense { gap: 0; }
.md-bar { flex: 1 1 0; min-width: 0; height: 100%; display: flex; align-items: flex-end; justify-content: center; border-radius: 3px 3px 0 0; }
.md-bar span { display: block; width: 100%; background: color-mix(in srgb, var(--accent) 45%, #fff); border-radius: 3px 3px 0 0; min-height: 0; }
.md-bars.is-dense .md-bar span { width: 70%; border-radius: 1px 1px 0 0; }
.md-bar.is-weekend span { background: var(--accent-ink); }
.md-bar:hover span, .md-bar:focus-visible span { background: var(--ink); }
.md-bars__key { display: inline-flex; gap: 14px; align-items: center; }
.md-bars__key i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 5px; vertical-align: -1px; }
.md-bars__key .k-wd { background: color-mix(in srgb, var(--accent) 45%, #fff); }
.md-bars__key .k-we { background: var(--accent-ink); }
.md-bars__axis { display: flex; justify-content: space-between; color: var(--slate); font-size: 13px; margin-top: 6px; }

.md-ov + .md-ov { margin-top: 26px; }
.md-ov h3 { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0 0 8px; padding-bottom: 8px; border-bottom: 2px solid var(--accent); font-size: 16px; }
.md-ov.is-manual h3 { border-bottom-color: var(--manual); }
.md-ov h3 span { font-weight: 500; color: var(--slate); font-size: 14px; display: flex; gap: 18px; }
.md-ov h3 b { color: var(--ink); font-weight: 700; font-size: 16px; }
.md-ev { border-bottom: 1px solid var(--line-soft); }
.md-ev summary { display: grid; grid-template-columns: 1fr 90px 140px; gap: 12px; padding: 10px 0; cursor: pointer; font-weight: 600; list-style: none; }
.md-ev summary::-webkit-details-marker { display: none; }
.md-ev__name::before { content: ""; display: inline-block; width: 6px; height: 6px; border-right: 2px solid var(--slate); border-bottom: 2px solid var(--slate); transform: rotate(-45deg); margin: 0 10px 2px 2px; transition: transform .15s; }
.md-ev[open] .md-ev__name::before { transform: rotate(45deg); }
.md-ev table { width: 100%; border-collapse: collapse; margin: 0 0 10px; font-size: 14px; }
.md-ev thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.md-ev th { text-align: left; font-weight: 500; color: var(--faint); padding: 4px 0 4px 18px; font-size: 13px; }
.md-ev td { padding: 5px 0 5px 18px; border-top: 1px solid var(--line-soft); }
.md-ev th:not(:first-child), .md-ev td:not(:first-child) { width: 90px; }
.md-ev th:last-child, .md-ev td:last-child { width: 140px; }
.md-num { text-align: right; white-space: nowrap; }

/* ---------- Portal / login ---------- */
.md-view-plain .md-main { display: grid; place-items: center; padding-top: 8vh; }
.md-portal { width: 100%; max-width: 420px; }
.md-portal__mark svg { width: 44px; height: 44px; fill: var(--accent); stroke: none; }
.md-portal h1 { font-size: 40px; font-weight: 700; letter-spacing: -.035em; line-height: 1.05; margin: 14px 0 8px; }
.md-portal__lead { color: var(--slate); font-size: 17px; margin: 0 0 24px; }
.md-login { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 24px; display: flex; flex-direction: column; gap: 16px; }
.md-login label { display: flex; flex-direction: column; gap: 6px; font-weight: 500; font-size: 14px; }
.md-login input[type=text], .md-login input[type=password] { height: 46px; font-size: 16px; }
.md-login .md-check { flex-direction: row; align-items: center; gap: 8px; color: var(--slate); font-weight: 400; }
.md-portal__forgot { text-align: center; font-size: 14px; color: var(--slate) !important; }
.md-alert { background: var(--manual-wash); border: 1px solid var(--manual-line); color: var(--manual); padding: 10px 14px; border-radius: 8px; font-size: 14px; }
.md-sites { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.md-sites a { display: flex; flex-direction: column; padding: 14px 18px; background: var(--surface); border: 1px solid var(--line); border-radius: 10px; text-decoration: none; color: var(--ink) !important; font-weight: 600; font-size: 17px; }
.md-sites a:hover { border-color: var(--accent); }
.md-sites span { color: var(--slate); font-weight: 400; font-size: 14px; }
.md-portal__foot { display: flex; gap: 18px; align-items: center; margin-top: 22px; font-size: 14px; }
.md-portal__foot a:not(.md-btn) { color: var(--slate) !important; }

/* ---------- Bund ---------- */
.md-foot { padding: 16px var(--gutter) 24px; max-width: 1680px; width: 100%; margin: 0 auto; font-size: 13px; color: var(--faint); display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.md-foot--plain { justify-content: center; }
.md a.md-powered { display: inline-flex; align-items: center; gap: 5px; padding: 6px 12px; border: 1px solid var(--line); border-radius: 99px; background: var(--surface); color: var(--slate) !important; text-decoration: none; font-size: 13px; }
.md a.md-powered strong { color: var(--ink); font-weight: 700; }
.md a.md-powered:hover { border-color: var(--ink); }
.md-sync.is-error { color: var(--manual); font-weight: 500; }

/* ---------- Indlæser ---------- */
.md-loading { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 50; pointer-events: none; opacity: 0; }
.md-loading span { display: block; height: 100%; width: 40%; background: var(--accent); animation: md-load 1s ease-in-out infinite; }
body.is-loading .md-loading { opacity: 1; }
body.is-loading .md-main { opacity: .55; transition: opacity .2s .15s; }
@keyframes md-load { from { transform: translateX(-100%); } to { transform: translateX(250%); } }
@media (prefers-reduced-motion: reduce) { .md-loading span { animation: none; width: 100%; } * { transition: none !important; } }

/* ---------- Mobil og tablet ---------- */
@media (max-width: 900px) {
  .md-top__inner { flex-wrap: wrap; gap: 6px 18px; padding-top: 10px; }
  .md-tabs { order: 3; width: 100%; height: 44px; }
  .md-user__name { display: none; }
  .md-figures { gap: 8px 26px; }
  .md-fig dd { font-size: 23px; }
  .md-print { display: none; }
  .md-board { background: transparent; border: 0; overflow: visible; }
  .md-table, .md-table tbody, .md-table tr, .md-table td, .md-table th { display: block; width: auto; min-width: 0; }
  .md-table thead, .md-table colgroup { display: none; }
  .md-slot { margin-bottom: 12px; }
  .md-slot + .md-slot { border-top: 0; }
  .md-row { background: var(--surface); border: 1px solid var(--line) !important; border-radius: var(--radius); margin-bottom: 8px; padding: 6px 0; overflow: hidden; }
  .md-row[hidden], .md-slot[hidden] { display: none; }
  .md-cell { display: flex; gap: 10px; padding: 5px 14px; }
  .md-cell:empty { display: none; }
  .md-cell[data-label]::before { content: attr(data-label); flex: 0 0 92px; color: var(--slate); font-size: 13px; padding-top: 2px; }
  .md-cell--time { background: none; border: 0; padding-bottom: 0; }
  .md-row:not(.is-first) .md-cell--time b { visibility: visible; }
  .md-cell--time b { font-size: 14px; color: var(--accent-ink); }
  .md-cell--guest { flex-direction: column; gap: 0; padding-top: 0; padding-bottom: 8px; }
  .md-row.is-manual { border-left: 3px solid var(--manual) !important; }
  .md-row.is-manual .md-cell--guest { box-shadow: none; }
  .md-row .md-cell:not(.md-cell--time) { background: none !important; }
  .md-big { font-size: 18px; }
  .md-ev summary { grid-template-columns: 1fr 60px 110px; }
  .md-ev th:not(:first-child), .md-ev td:not(:first-child) { width: 60px; }
  .md-ev th:last-child, .md-ev td:last-child { width: 110px; }
  .md-download__btns { width: 100%; }
}

/* ---------- Udskrift (dagsliste til receptionen) ---------- */
@media print {
  @page { margin: 12mm; size: landscape; }
  body.md { background: #fff; font-size: 11px; display: block; }
  .md-top, .md-toolbar, .md-step, .md-datepick, .md-refresh, .md-sync, .md-loading { display: none !important; }
  .md-foot { padding: 8px 0 0; justify-content: flex-end; }
  .md a.md-powered { border: 0; padding: 0; }
  .md-main { padding: 0; max-width: none; }
  .md-dayhead { margin-bottom: 10px; }
  .md-date__wd { font-size: 22px; }
  .md-figures { padding: 8px 0; margin-bottom: 10px; }
  .md-fig dd { font-size: 18px; }
  .md-summary { display: none; }
  .md-board { border: 0; overflow: visible; }
  .md-table { min-width: 0; }
  .md-row { break-inside: avoid; }
  .md-row[hidden] { display: none; }
  .md-cell { padding: 5px 8px; }
  .md-cell--time { background: none; }
  .md-row.is-manual .md-cell:not(.md-cell--time) { background: none; }
  .md-badge { border: 1px solid #000; color: #000; background: none; }
}
.md-thsub { display: block; font-weight: 400; color: var(--faint); font-size: 12px; white-space: normal; }

/* ---------- Fremdrift ---------- */
.md-progress { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 12px 16px 14px; margin-bottom: 22px; }
.md-progress[hidden] { display: none; }
.md-progress__row { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; margin-bottom: 8px; }
.md-progress__label { color: var(--slate); }
.md-progress__pct { font-weight: 700; }
.md-progress__bar { height: 8px; border-radius: 99px; background: var(--line-soft); overflow: hidden; }
.md-progress__bar span { display: block; height: 100%; background: var(--accent); border-radius: 99px; transition: width .4s ease; }
.md-progress.is-error { border-color: var(--manual-line); }
.md-progress.is-error .md-progress__label { color: var(--manual); }
@media print { .md-progress { display: none !important; } }

/* ---------- Partnervisning ---------- */
.md-partner-tag { font-size: 13px; font-weight: 600; color: var(--accent-ink); background: var(--accent-wash); padding: 4px 10px; border-radius: 99px; white-space: nowrap; }
@media (max-width: 900px) { .md-partner-tag { order: 2; } }
.md-is-partner .md-badge, .md-is-partner .md-seg { display: none; }
.md-is-partner .md-row.is-manual .md-cell:not(.md-cell--time) { background: none; }
.md-is-partner .md-row.is-manual .md-cell--guest { box-shadow: none; }
.md-is-partner .md-row.is-manual { border-left-color: var(--line) !important; }

/* ---------- Konto / avatar ---------- */
.md-account { margin-left: auto; position: relative; }
.md-account summary { list-style: none; display: flex; align-items: center; gap: 10px; cursor: pointer; padding: 6px 8px 6px 6px; border-radius: 99px; border: 1px solid transparent; }
.md-account summary::-webkit-details-marker { display: none; }
.md-account summary:hover, .md-account[open] summary { border-color: var(--line); background: var(--paper); }
.md-avatar { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--accent); color: #fff; font-weight: 700; font-size: 13px; letter-spacing: .02em; flex: none; }
.md-avatar--lg { width: 44px; height: 44px; font-size: 16px; }
.md-account__who { display: flex; flex-direction: column; line-height: 1.2; }
.md-account__who b { font-size: 14px; font-weight: 600; }
.md-account__who small { font-size: 12px; color: var(--slate); }
.md-account__caret { width: 16px !important; height: 16px !important; color: var(--slate); }
.md-account__menu { position: absolute; right: 0; top: calc(100% + 8px); width: 280px; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 12px 32px rgba(23,32,31,.12); padding: 8px; z-index: 30; }
.md-account__head { display: flex; gap: 12px; align-items: center; padding: 10px 10px 14px; border-bottom: 1px solid var(--line-soft); margin-bottom: 6px; }
.md-account__head div { display: flex; flex-direction: column; min-width: 0; }
.md-account__head b { font-size: 15px; }
.md-account__head div span { font-size: 13px; color: var(--slate); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.md-account__head small { font-size: 12px; color: var(--accent-ink); font-weight: 600; margin-top: 2px; }
.md-account__menu a { display: block; padding: 9px 10px; border-radius: 8px; color: var(--ink) !important; text-decoration: none; font-size: 14px; }
.md-account__menu a:hover { background: var(--paper); }
.md-account__logout { border-top: 1px solid var(--line-soft); margin-top: 6px; border-radius: 0 0 8px 8px !important; }
@media (max-width: 900px) { .md-account__who { display: none; } .md-account { order: 2; } }
@media print { .md-account { display: none; } }
@media (max-width: 640px) {
  .md-bars__axis { flex-wrap: wrap; row-gap: 6px; }
  .md-bars__axis > .md-bars__key { order: 3; width: 100%; flex-wrap: wrap; }
}
