/* Metropolis Business Dashboard / DZ-inspired dark-only theme v0.2
   Pure presentation layer: no database, auth, or workflow changes. */
:root {
  color-scheme: dark;
  --bg: #07131f;
  --sidebar: #0b1927;
  --surface: #101d29;
  --surface-raised: #17232e;
  --ink: #f2f5f9;
  --muted: #a4b1bf;
  --subtle: #8495a6;
  --gold: #dfb255;
  --gold-bright: #f4c96a;
  --gold-dark: #9f7430;
  --stroke: #34414a;
  --stroke-gold: rgba(227,176,78,.5);
  --success: #36c7a0;
  --shadow: 0 14px 36px rgba(0,0,0,.2);
}
* { box-sizing: border-box; }
html { font-family: Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Arial, sans-serif; background: var(--bg); color: var(--ink); }
body { margin: 0; min-width: 320px; background: var(--bg); color: var(--ink); font-size: 14px; }
a { color: inherit; text-decoration: none; }
button, select { font: inherit; }
button:focus-visible, select:focus-visible, a:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 3px; }
::selection { background: rgba(226,176,83,.35); color: #fff; }
.layout { display:grid; grid-template-columns: 236px minmax(0,1fr); min-height:100vh; }
.sidebar { position:relative; isolation:isolate; display:flex; flex-direction:column; overflow:hidden; padding:25px 13px 20px; color:#dce5f1; background:linear-gradient(168deg,#0d1c2c 0%,#091724 60%,#0a1725 100%); border-right:1px solid rgba(227,176,78,.17); }
.sidebar::before { content:""; position:absolute; z-index:-1; pointer-events:none; inset:auto -310px -140px -180px; height:610px; background:url("orbits.svg") center / contain no-repeat; opacity:.4; transform:rotate(174deg); }
.brand { display:flex; align-items:center; gap:12px; padding:0 10px 36px; border-bottom:1px solid rgba(238,244,250,.06); margin-bottom:20px; }
.brand-mark { width:45px; height:45px; flex:0 0 45px; display:grid; place-items:center; border-radius:12px; border:1px solid var(--gold); background:linear-gradient(135deg,#192733,#101923); box-shadow:0 0 22px rgba(220,162,52,.1); font-size:29px; font-weight:850; color:var(--gold-bright); letter-spacing:-3px; padding-right:3px; }
.brand strong { display:block; color:#fff; font-size:13px; letter-spacing:.75px; }
.brand small { display:block; margin-top:4px; font-size:11px; color:#b5c0cd; }
.sidebar-label { font-size:10px; font-weight:780; letter-spacing:1.7px; color:var(--gold); padding:0 13px; margin:12px 0 14px; }
.menu { display:flex; flex-direction:column; gap:6px; }
.menu-link { position:relative; display:flex; align-items:center; gap:13px; min-height:45px; padding:10px 13px; color:#bac8d7; border:1px solid transparent; border-radius:10px; font-weight:570; transition:background .15s,color .15s,border-color .15s; }
.menu-link:hover { color:#fff; background:rgba(218,175,86,.09); border-color:rgba(218,175,86,.18); }
.menu-link.is-active { color:#fff; border-color:rgba(228,179,82,.52); background:linear-gradient(92deg,rgba(218,164,66,.33),rgba(218,164,66,.17)); box-shadow:inset 3px 0 0 var(--gold-bright), 0 3px 20px rgba(0,0,0,.18); }
.menu-icon { width:21px; flex:0 0 21px; display:grid; place-items:center; font-size:19px; color:#9cabbc; }
.is-active .menu-icon { color:var(--gold-bright); }
.sidebar-bottom { margin-top:auto; padding-top:36px; }
.admin-pill { display:flex; align-items:center; gap:9px; padding:13px; border:1px solid rgba(223,178,85,.22); border-radius:10px; background:rgba(13,29,42,.72); font-size:12px; color:#d9e2ef; }
.dot, .system-dot { width:8px; height:8px; flex:0 0 8px; background:var(--success); border-radius:50%; box-shadow:0 0 0 3px rgba(54,199,160,.1); }
.sidebar-bottom small { display:block; padding:13px 13px 0; color:#8c9cac; font-size:11px; line-height:1.65; }
.content { position:relative; min-width:0; isolation:isolate; background:radial-gradient(ellipse 75% 48% at 85% -6%,rgba(58,64,69,.17),transparent 80%),linear-gradient(155deg,#0a1723,#071420 70%,#0a1622); }
.content::before { content:""; z-index:-1; position:absolute; top:65px; right:-130px; width:min(970px,90%); height:600px; background:url("orbits.svg") center/contain no-repeat; opacity:.42; pointer-events:none; }
.topbar { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:12px; height:66px; padding:0 34px; border-bottom:1px solid rgba(224,175,80,.22); background:linear-gradient(90deg,rgba(14,28,39,.98),rgba(16,27,38,.92)); }
.crumb { color:#9babbc; font-size:13px; }
.crumb span { color:var(--gold-dark); padding:0 12px; }
.crumb strong { color:#f3f5f9; }
.header-right { display:flex; align-items:center; gap:9px; color:#adbcca; font-size:12px; white-space:nowrap; }
.header-divider { height:20px; width:1px; margin:0 8px; background:rgba(233,205,154,.25); }
main { position:relative; z-index:0; width:min(100%,1640px); padding:35px 34px 42px; margin:0 auto; }
.intro { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:19px; }
.eyebrow { color:var(--gold); font-size:10px; font-weight:850; letter-spacing:2px; }
h1 { margin:9px 0 8px; color:#fff; font-size:clamp(25px,2.1vw,34px); line-height:1.15; letter-spacing:-.9px; font-weight:770; }
h2 { margin:0 0 7px; color:#f7f8fa; font-size:16px; font-weight:730; }
.intro p, .panel-title p { color:var(--muted); margin:0; font-size:12px; }
.updated { color:var(--muted); white-space:nowrap; font-size:12px; padding-bottom:3px; }
.refresh { display:inline-block; color:var(--gold-bright); font-weight:650; margin-left:15px; }
.refresh:hover { color:#ffe3a0; text-decoration:underline; text-underline-offset:3px; }
.notice { display:flex; align-items:center; gap:13px; margin-bottom:17px; padding:15px 17px; color:#e9d9b9; border:1px solid var(--stroke-gold); border-left:3px solid var(--gold-bright); border-radius:11px; background:linear-gradient(90deg,rgba(111,77,30,.25),rgba(22,28,32,.88)); box-shadow:0 4px 18px rgba(0,0,0,.08); font-size:12px; line-height:1.55; }
.notice strong { color:var(--gold-bright); }
.notice-icon { display:grid; place-items:center; height:25px; width:25px; min-width:25px; border-radius:50%; background:var(--gold-bright); color:#14202c; font-weight:850; font-size:14px; }
.filter-bar { display:flex; align-items:end; gap:16px; flex-wrap:wrap; padding:19px 20px; margin-bottom:20px; background:linear-gradient(130deg,rgba(17,29,41,.98),rgba(18,27,37,.95)); border:1px solid var(--stroke-gold); border-radius:13px; box-shadow:var(--shadow); }
.filter-field { display:flex; flex-direction:column; gap:8px; min-width:220px; }
.filter-field.wide { flex:1; min-width:265px; max-width:410px; }
.filter-field label { color:#dde4eb; font-size:12px; font-weight:630; }
.filter-field select { appearance:none; width:100%; height:44px; padding:0 40px 0 14px; border:1px solid #495762; border-radius:8px; background-color:#172837; color:#f4f5f7; color-scheme:dark; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23e5c178' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-position:right 13px center; background-repeat:no-repeat; cursor:pointer; }
.filter-field select:hover { border-color:#c29850; }
.filter-field select option,.filter-field select optgroup { background:#142231; color:#f3f4f6; }
.apply { height:44px; min-width:145px; padding:0 21px; border:1px solid #f0c66b; border-radius:8px; background:linear-gradient(135deg,#f0c96d,#d5a03e); box-shadow:0 7px 20px rgba(201,144,50,.2); color:#19222c; font-weight:780; cursor:pointer; }
.apply:hover { background:linear-gradient(135deg,#ffe1a0,#e8b550); transform:translateY(-1px); }
.apply:active { transform:translateY(0); }
.apply span { margin-left:9px; }
.kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; margin-bottom:18px; }
.kpi-card,.panel { position:relative; background:linear-gradient(140deg,rgba(24,34,44,.98),rgba(14,26,36,.98)); border:1px solid rgba(228,181,91,.34); border-radius:13px; box-shadow:var(--shadow); }
.kpi-card { min-width:0; min-height:150px; padding:22px 19px 19px; overflow:hidden; }
.kpi-card::after { content:""; position:absolute; top:-70px; right:-70px; height:175px; width:175px; border-radius:50%; background:radial-gradient(circle,rgba(232,183,85,.09),transparent 68%); pointer-events:none; }
.kpi-card:first-child,.kpi-card:nth-child(3) { border-left:3px solid var(--gold); padding-left:17px; }
.kpi-head { display:flex; flex-direction:row-reverse; align-items:center; justify-content:flex-end; gap:12px; font-size:12px; line-height:1.4; color:#e3e7ed; font-weight:590; }
.kpi-icon { display:grid; place-items:center; width:43px; height:43px; flex:0 0 43px; border:1px solid rgba(222,167,70,.42); border-radius:50%; background:linear-gradient(140deg,rgba(229,174,72,.25),rgba(194,139,41,.08)); box-shadow:0 0 18px rgba(210,156,60,.08); font-size:21px; font-weight:730; color:var(--gold-bright); }
.kpi-value { margin:18px 0 6px; font-size:clamp(24px,2.25vw,34px); font-weight:800; line-height:1.1; color:#fff; letter-spacing:-.85px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.kpi-value small { color:#f0f2f4; font-size:17px; font-weight:650; }
.kpi-sub { font-size:11px; color:#a4b2c0; line-height:1.5; }
.split-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(330px,1fr); gap:16px; margin-bottom:18px; }
.panel { padding:23px; min-width:0; }
.panel-title { display:flex; justify-content:space-between; align-items:start; gap:12px; }
.tiny-label { padding:7px 10px; flex-shrink:0; font-size:10px; line-height:1; font-weight:730; color:var(--gold-bright); border:1px solid rgba(228,176,85,.28); border-radius:30px; background:rgba(211,155,52,.1); white-space:nowrap; }
.chart-scroll { margin-top:19px; }
.chart { width:100%; min-height:180px; overflow:visible; }
.chart-bar { fill:#d9a94d; transition:fill .15s; }
.chart-bar:hover { fill:#ffe099; }
.axis-label { fill:#aebcc9; font-size:11px; }
.panel-foot { padding-top:7px; font-size:11px; color:#9aacbb; }
.panel-foot::before,.table-note::before { content:"i"; display:inline-grid; place-items:center; width:14px; height:14px; border:1px solid #98aab9; border-radius:50%; font-size:10px; font-weight:800; margin-right:8px; }
.comparison { margin-top:17px; }
.comparison>div { padding:14px 0; border-bottom:1px solid #303e4a; }
.comparison>div:last-child { border-bottom:0; }
.comparison span { display:block; margin-bottom:7px; color:#b6c2ce; font-size:12px; }
.comparison-values { display:flex; gap:8px; flex-wrap:wrap; justify-content:space-between; align-items:baseline; }
.comparison-values strong { color:#fff; font-size:18px; font-weight:740; font-variant-numeric:tabular-nums; }
.comparison-values small { font-size:11px; color:#9eacb8; }
.table-note { display:flex; align-items:start; color:#9faebd; font-size:11px; line-height:1.65; margin:17px 0 0; }
.table-note::before { flex:0 0 14px; margin-top:2px; }
.ranking-panel { margin-bottom:18px; }
.table-scroll { overflow:auto; margin-top:19px; }
table { width:100%; border-collapse:collapse; white-space:nowrap; }
th { padding:14px 14px; background:#1b2a36; color:#c6d0db; text-align:right; font-weight:650; font-size:11px; }
th:first-child { text-align:left; border-radius:8px 0 0 8px; }
th:last-child { border-radius:0 8px 8px 0; }
td { padding:14px; text-align:right; border-bottom:1px solid #2b3845; color:#e0e8f0; font-variant-numeric:tabular-nums; }
td:first-child { text-align:left; }
tr:last-child td { border-bottom:0; }
tbody tr:hover { background:rgba(224,175,83,.07); }
.entity-name { font-weight:640; }
.entity-name small { display:block; margin-top:4px; color:#9bacbc; font-size:10px; font-weight:450; }
.empty { text-align:center!important; color:#a9b6c5; padding:25px; }
.status-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:18px 0; }
.status-pill { padding:7px 11px; border:1px solid rgba(54,199,160,.25); background:rgba(54,199,160,.1); color:#78e1c4; border-radius:25px; font-size:11px; font-weight:750; white-space:nowrap; }
.status-dl { margin:19px 0 0; }
.status-dl div { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 0; border-top:1px solid #2c3946; }
.status-dl dt { color:#abb9c7; font-size:12px; }
.status-dl dd { text-align:right; font-size:13px; font-weight:710; color:#f1f4f8; margin:0; font-variant-numeric:tabular-nums; }
.footer { margin:27px 0 0; padding-top:18px; border-top:1px solid rgba(231,187,96,.18); color:#9cabb9; font-size:11px; line-height:1.8; }
.footer span { float:right; white-space:nowrap; padding-left:15px; color:var(--gold); }
.error-body { min-height:100vh; display:grid; place-items:center; padding:25px; }
.error-card { width:min(100%,540px); padding:35px; background:linear-gradient(140deg,#1a2733,#0f1d2a); border:1px solid var(--stroke-gold); border-radius:15px; box-shadow:var(--shadow); }
.error-card a { color:var(--gold-bright); text-decoration:underline; }
@media(max-width:1250px) { .kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .split-grid { grid-template-columns:1fr; } }
@media(max-width:850px) { .layout { display:block; } .sidebar { padding:13px 14px; min-height:auto; } .brand { padding:0 3px 13px; margin-bottom:9px; } .sidebar-label,.sidebar-bottom { display:none; } .menu { flex-direction:row; gap:5px; overflow:auto; scrollbar-width:thin; } .menu-link { white-space:nowrap; padding:9px 12px; } .menu-icon { font-size:17px; } .topbar { height:52px; padding:0 18px; } main { padding:25px 17px; } .intro { flex-direction:column; align-items:start; gap:12px; } .filter-bar { gap:12px; } .filter-field,.filter-field.wide { min-width:180px; max-width:none; flex:1 1 190px; } }
@media(max-width:550px) { .header-right { font-size:0; gap:0; } .header-right .system-dot { margin-right:2px; } .header-divider { margin:0 8px; } .kpi-grid,.status-grid { grid-template-columns:1fr; } .split-grid { display:block; } .split-grid>.panel+.panel { margin-top:15px; } .kpi-value { font-size:31px; } .updated { white-space:normal; } .apply { flex:1 1 100%; } .panel { padding:17px; } .footer span { display:block; float:none; padding-left:0; } }
@media(prefers-reduced-motion:reduce){ *,*::before,*::after { transition:none!important; animation:none!important; } }
.menu-icon svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }

/* v0.3: Entrepreneur directory, group overview and company detail */
.company-intro,.company-section { margin-bottom:18px; }
.company-intro .panel-title { align-items:center; }
.company-intro h2 { margin:9px 0 9px; font-size:22px; }
.secondary-action { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:40px; padding:9px 14px; white-space:nowrap; border-radius:9px; border:1px solid rgba(223,178,85,.43); background:rgba(223,178,85,.06); color:var(--gold-bright); font-size:12px; font-weight:730; }
.secondary-action:hover { border-color:var(--gold); background:rgba(223,178,85,.14); }
.detail-pills { display:flex; flex-wrap:wrap; gap:9px; margin-top:18px; }
.detail-pill { display:inline-flex; align-items:center; padding:9px 12px; border-radius:25px; background:rgba(164,185,205,.09); border:1px solid rgba(164,185,205,.16); color:#cad4de; font-size:12px; }
.detail-pill.gold { color:var(--gold-bright); background:rgba(223,178,85,.1); border-color:rgba(223,178,85,.28); }
.group-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:18px; }
.group-card { display:flex; flex-direction:column; gap:13px; min-width:0; padding:19px 16px; background:linear-gradient(145deg,rgba(20,34,47,.93),rgba(11,22,34,.92)); border:1px solid rgba(223,178,85,.23); border-radius:11px; transition:border-color .15s,background .15s; }
.group-card:hover,.group-card.selected { border-color:var(--gold); background:linear-gradient(145deg,rgba(46,44,40,.98),rgba(20,30,39,.98)); }
.group-card.selected { box-shadow:inset 3px 0 0 var(--gold); }
.group-card-top { display:flex; justify-content:space-between; gap:8px; font-size:14px; color:#f3f6fa; }
.group-card-top strong { overflow-wrap:anywhere; }
.group-card-top span { color:var(--gold); font-size:17px; }
.group-meta { display:flex; gap:9px; flex-wrap:wrap; color:#d4dce6; font-size:12px; }
.group-meta span { border:1px solid rgba(223,178,85,.14); border-radius:25px; padding:6px 9px; }
.group-card small { margin-top:auto; color:#d9b976; font-size:11px; }
.company-search { margin:20px 0 13px; }
.company-search label { display:block; color:#b7c4d1; font-size:12px; font-weight:700; margin-bottom:8px; }
.company-search-row { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.company-search input { flex:1 1 260px; min-width:0; max-width:430px; height:44px; border:1px solid #475765; background:#142535; border-radius:8px; color:#f2f6fa; padding:0 15px; font:inherit; }
.company-search input:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }
.company-search .apply { min-width:110px; }
.entity-detail-link { color:#f4d293; text-decoration:underline; text-decoration-color:rgba(222,178,85,.22); text-underline-offset:4px; }
.entity-detail-link:hover { color:#fff; text-decoration-color:var(--gold); }
.zero-label { display:inline-block; color:#9eaebe; padding:6px 9px; border-radius:25px; background:rgba(164,185,205,.08); font-size:10px; white-space:nowrap; }
.company-detail { margin-top:18px; }
.company-detail .panel-title p { line-height:1.5; }
@media(max-width:1450px) { .group-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:1100px) { .group-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .group-grid { grid-template-columns:1fr; } .company-intro .panel-title { align-items:stretch; flex-direction:column; } .secondary-action { white-space:normal; } }

/* v0.4: Schichtzeiten / Stundenwert bleiben auch auf schmalen Displays lesbar */
.duty-note { margin: 14px 0 18px; }
.ranking-panel td:nth-last-child(-n + 2),
.ranking-panel th:nth-last-child(-n + 2),
.company-detail td:nth-last-child(-n + 2),
.company-detail th:nth-last-child(-n + 2) { white-space: nowrap; }

/* v0.5: Driver/vehicle drill-down, same Goldnacht palette */
.directory-meta { color:#b5c3ce; font-size:12px; margin:-3px 0 15px; line-height:1.65; }
.operator-profile { margin:18px 0; }
.operator-stats { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.operator-stats > div { border:1px solid rgba(223,178,85,.25); border-radius:10px;
  padding:16px; background:rgba(8,21,32,.57); display:flex; flex-direction:column; gap:12px; }
.operator-stats span { color:#b8c9d6; font-size:12px; }
.operator-stats strong { color:#f8f9fa; font-size:clamp(17px,1.45vw,24px); overflow-wrap:anywhere; }
.operator-detail-grid { margin:18px 0 22px; }
.operator-detail-grid .table-scroll { overflow-x:auto; }
.operator-detail-grid table { min-width:420px; }
@media(max-width:1250px) { .operator-stats {grid-template-columns:repeat(3,minmax(0,1fr));} }
@media(max-width:750px) { .operator-stats {grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(max-width:480px) { .operator-stats {grid-template-columns:1fr;} }


/* v0.6: Kalenderwochenvergleich, Goldnacht */
.week-panel { margin:18px 0; }
.week-panel .panel-title { margin-bottom:17px; }
.week-panel .panel-title .eyebrow { display:block; margin-bottom:8px; }
.weekly-modes { display:flex; gap:10px; flex-wrap:wrap; margin:15px 0 20px; }
.weekly-mode { display:inline-flex; align-items:center; border-radius:9px; padding:11px 15px;
  border:1px solid rgba(225,181,89,.29); background:#142331; color:#e4e9f0;
  font-size:12px; font-weight:700; }
.weekly-mode:hover { border-color:var(--gold); }
.weekly-mode.selected { color:#132130; background:var(--gold); border-color:var(--gold); }
.weekly-periods { display:flex; align-items:stretch; flex-wrap:wrap; gap:14px; }
.weekly-periods > div:not(.weekly-arrow) { display:flex; flex-direction:column; flex:1 1 235px; padding:15px;
  background:rgba(9,22,33,.65); border-radius:10px; border:1px solid rgba(222,179,89,.25); gap:7px; }
.weekly-periods small,.weekly-totals span { color:#b8c9d6; font-size:12px; }
.weekly-periods strong { color:#f6f6f7; font-size:17px; }
.weekly-arrow { flex:0 0 15px; display:flex; align-items:center; justify-content:center; color:var(--gold); font-size:20px; }
.weekly-method { color:#a5b7c6; font-size:12px; margin:12px 0; }
.weekly-totals { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:17px 0; }
.weekly-totals > div { display:flex; flex-direction:column; gap:9px; padding:17px;
  border-radius:10px; border:1px solid rgba(223,178,85,.19); background:rgba(11,25,37,.75); }
.weekly-totals strong { color:#fff; font-size:clamp(19px,1.7vw,27px); }
.weekly-totals small { color:#b9c6d1; font-size:11px; line-height:1.5; }
.weekly-ranking { margin:18px 0; }
.weekly-ranking table { min-width:960px; }
.weekly-ranking thead tr:first-child th { text-align:center; border-bottom:1px solid #405064; color:var(--gold-bright); }
.weekly-ranking thead tr:first-child th:first-child { text-align:left; }
.weekly-ranking th { line-height:1.3; }
.weekly-ranking td.delta-positive { color:#79c7ad; font-weight:750; }
.weekly-ranking td.delta-negative { color:#e6a0a0; font-weight:750; }
.weekly-ranking .table-note { margin-top:12px; }
@media(max-width:900px){ .weekly-totals{grid-template-columns:1fr;} .weekly-arrow { display:none; } }

/* Goldnacht v1.0: Freie Zeitraeume, Importqualitaet, Monatsvergleich, CSV */
.filter-field.date-field { min-width:175px; flex:0 1 175px; }
.filter-field input[type="date"] { height:44px; padding:0 12px; border:1px solid #495762;
 color:#f4f5f7; background:#172837; border-radius:8px; color-scheme:dark; font:inherit; font-size:12px; }
.filter-field input[type="date"]:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }
.quality-notice { margin-top:10px; }
.quality-notice.quality-alert { border-left-color:#e58b73; background:linear-gradient(110deg,rgba(90,34,38,.38),rgba(17,27,36,.89)); }
.quality-notice.quality-ok { border-left-color:#38b999; background:linear-gradient(110deg,rgba(19,71,58,.25),rgba(17,27,36,.89)); }
.quality-notice a { color:#f6cb75; text-decoration:underline; }
.export-strip { display:flex; align-items:center; gap:12px; flex-wrap:wrap; justify-content:space-between; color:#b6c4ce;
 font-size:12px; padding:0 2px 20px; }
.monthly-details { margin:16px 0; }
.monthly-details summary { display:flex; align-items:center; justify-content:space-between; gap:16px;
 font-size:17px; font-weight:750; cursor:pointer; list-style:none; }
.monthly-details summary::-webkit-details-marker { display:none; }
.monthly-details summary::before { content:'▸'; color:#ecc176; }
.monthly-details[open] summary::before { content:'▾'; }
.monthly-details .table-scroll { margin-top:19px; }
.monthly-details table { min-width:960px; }
.monthly-details thead tr:first-child th { text-align:center; color:var(--gold-bright); }
.queue-health { margin:20px 0; }
.queue-health table { min-width:620px; }
.status-pill.stale { background:rgba(219,140,73,.1); color:#f4c978; border-color:rgba(220,177,79,.32); }
@media(max-width:1100px){.filter-field.date-field {flex:1 1 170px;}.filter-bar {column-gap:10px;}}

/* Version 1.1: partner pilot login */
.logout-form { margin-top:12px; }
.logout-form button {cursor:pointer;max-width:100%;}
.login-page { min-height:100vh;display:flex;align-items:center;justify-content:center; background:radial-gradient(ellipse at 45% 15%,#192b3d 0%,#091623 50%,#07101c 100%);color:#f5f8fc; }
.login-card {width:min(430px,calc(100vw - 36px)); padding:40px;border-radius:18px;border:1px solid #ad893b;background:linear-gradient(160deg,#192532,#111c28);box-shadow:0 28px 90px #0008; }
.login-brand {display:flex;align-items:center;gap:15px;margin-bottom:25px;}
.login-card h1 {font-size:28px;margin:10px 0 6px;}
.login-card p {margin-bottom:25px;color:#aab7c6;}
.login-card label {display:block;font-weight:600;font-size:13px;margin:20px 0 7px;}
.login-card input:not([type=hidden]) {width:100%;box-sizing:border-box;padding:14px;background:#223343;color:#fff;border:1px solid #405566;border-radius:9px;}
.login-card input:focus {outline:2px solid #dcb15b;}
.login-card button {margin:23px 0 18px;width:100%;padding:14px;cursor:pointer;}
.login-card small {font-size:12px;color:#aab7c6;}

/* Goldnacht v1.2: compact premium admin layout */
@media(min-width:851px){.layout{grid-template-columns:218px minmax(0,1fr)}.sidebar{padding:19px 10px 15px}.sidebar .brand{padding-bottom:24px}.menu{gap:3px}.menu-link{min-height:40px;padding:7px 12px;font-size:12px}.topbar{height:56px;padding:0 26px}main{padding:23px 26px 32px}.intro{margin-bottom:13px}h1{font-size:clamp(24px,2vw,30px);margin:6px 0}.filter-bar{padding:13px 16px;gap:9px;margin-bottom:13px}.filter-field select,.filter-field input[type=date],.apply{height:39px}.filter-field{gap:5px}.kpi-grid{gap:11px;margin-bottom:11px}.kpi-card{min-height:111px;padding:14px 15px!important}.kpi-head{font-size:11px;gap:8px}.kpi-icon{width:31px;height:31px;flex-basis:31px;font-size:16px}.kpi-value{margin:12px 0 3px;font-size:clamp(23px,2vw,29px)}.kpi-sub{font-size:10px}.panel{padding:17px}.chart-scroll{margin-top:10px}.chart{min-height:160px}.notice{padding:10px 13px;margin-bottom:12px}.split-grid{gap:12px;margin-bottom:12px}}
.nav-alert{width:8px;height:8px;background:#ffc869;box-shadow:0 0 0 4px rgba(245,177,71,.12),0 0 13px rgba(249,196,89,.5);border-radius:50%;margin-left:auto;display:inline-block;flex-shrink:0}
.quality-notice{border-color:rgba(216,168,87,.25);background:linear-gradient(90deg,rgba(82,60,32,.2),rgba(15,27,39,.75))}.quality-notice .notice-icon{width:22px;height:22px;min-width:22px;font-size:12px}.quality-notice div{font-size:11px}
.insight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:2px 0 12px}.insight-pill{display:flex;align-items:center;gap:9px;padding:12px 14px;border:1px solid rgba(230,186,102,.19);border-radius:10px;background:linear-gradient(120deg,rgba(17,34,46,.82),rgba(28,34,39,.7));min-width:0;position:relative}.insight-pill>span:first-child{color:#b5c6d4;font-size:11px;flex:1}.insight-pill strong{font-size:19px;font-variant-numeric:tabular-nums;white-space:nowrap}.insight-pill small{font-size:12px;color:var(--gold)}.insight-arrow{position:absolute;top:3px;right:5px;font-size:11px;color:var(--gold);opacity:.8}.insight-pill:hover{border-color:var(--gold)}.overview-shortcuts{display:flex;align-items:center;gap:17px;margin-bottom:13px;flex-wrap:wrap;font-size:11px}.overview-shortcuts a{color:#e9c781;text-decoration:underline;text-decoration-color:#e9c78144;text-underline-offset:4px}
.chart-panel{background:linear-gradient(142deg,rgba(25,40,51,.98),rgba(9,24,35,.98))}.chart{filter:drop-shadow(0 4px 12px rgba(219,156,49,.06))}.chart-bar{fill:url(#goldChart);stroke:rgba(255,237,188,.36);stroke-width:.7;filter:drop-shadow(1px 3px 2px rgba(3,9,15,.45));transform-box:fill-box;transform-origin:50% 100%;transition:filter .2s,opacity .2s,transform .2s;cursor:help}.chart-bar:hover{fill:#ffe5a5;filter:drop-shadow(0 0 9px rgba(249,207,115,.42));transform:scale(1.025,1.035)}
.method-details summary{cursor:pointer;color:#b9c5d0;list-style:none;font-size:11px}.method-details summary::before{content:'▸';color:var(--gold);margin-right:7px}.method-details[open] summary::before{content:'▾'}.method-details div{padding:9px 0 4px}.method-details span{color:var(--gold)}
.admin-main{max-width:1620px}.admin-heading{align-items:center}.settings-tabs{display:flex;align-items:center;gap:8px;margin:17px 0 20px;flex-wrap:wrap}.settings-tab{display:inline-flex;gap:9px;align-items:center;padding:11px 17px;border:1px solid rgba(232,183,85,.24);border-radius:10px;background:rgba(20,33,46,.65);color:#c2d0dc;font-size:12px;font-weight:700}.settings-tab:hover,.settings-tab.is-active{border-color:rgba(232,183,85,.7);background:linear-gradient(110deg,rgba(178,128,53,.24),rgba(28,37,45,.6));color:#fff}.settings-tab.is-active{box-shadow:inset 3px 0 0 var(--gold)}.mini-count{font-size:10px;border:1px solid rgba(223,178,85,.4);padding:2px 6px;border-radius:15px;color:var(--gold)}
.admin-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:16px 0}.admin-mini{min-width:0;padding:17px;background:linear-gradient(140deg,#152637,#192732);border:1px solid rgba(221,173,76,.23);border-radius:13px;display:flex;flex-direction:column;gap:7px}.admin-mini span{color:#aebdcc;font-size:12px}.admin-mini strong{font-size:26px;color:#fff;font-variant-numeric:tabular-nums}.admin-mini strong small{font-size:13px}.admin-mini>small{color:#b3c0ce;font-size:11px}
.admin-columns{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(450px,1.5fr);gap:15px;align-items:start}.admin-users,.admin-editor{min-width:0}.users-list{display:flex;flex-direction:column;gap:7px;margin-top:11px;max-height:750px;overflow:auto}.user-account{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid rgba(180,200,210,.14);border-radius:10px;background:#10202f;transition:background .15s,border-color .15s;min-width:0}.user-account:hover,.user-account.selected{background:#22313b;border-color:rgba(228,185,92,.54)}.account-avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:rgba(222,179,88,.14);color:#eac36e;font-size:14px;font-weight:800;flex-shrink:0}.account-name{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.account-name strong{overflow-wrap:anywhere;font-size:12px}.account-name small{font-size:10px;color:#a8b7c6;overflow-wrap:anywhere}.account-status{font-size:10px;border:1px solid rgba(84,202,151,.3);color:#73d4a7;border-radius:20px;padding:4px 7px}.account-status.disabled{border-color:#b37b65;color:#e5a59b}
.settings-input{width:100%;min-width:0;border:1px solid #445a6e;border-radius:9px;color:#fff;background:#152a39;min-height:41px;padding:10px 12px;font:inherit}.settings-input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.small-form-label{display:block;color:#b2c1cc;margin:15px 0 7px;font-size:11px}.settings-form{margin-top:17px}.settings-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.form-block,.reset-password-form label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:700;color:#bdcbd7}.form-block input:disabled{opacity:.7;cursor:not-allowed}
.toggle-row{display:flex;align-items:center;gap:10px;padding:12px;background:rgba(222,178,85,.07);border:1px solid rgba(222,178,85,.21);border-radius:10px;margin:10px 0 17px;font-size:12px;color:#f7ddb0;cursor:pointer}.toggle-row input,.grant-option input{accent-color:#e5b858;width:17px;height:17px;flex-shrink:0}.access-head{margin:17px 0 10px;display:flex;flex-direction:column;gap:4px}.access-head strong{font-size:13px}.access-head small,.grant-help{font-size:11px;color:#b4c5d0;line-height:1.5}
.grant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.grant-panel{min-width:0;border:1px solid rgba(232,183,85,.21);border-radius:10px;padding:12px;background:rgba(9,22,34,.48)}.grant-title{display:flex;justify-content:space-between;font-size:12px;font-weight:750;gap:8px;margin-bottom:10px}.grant-title span{font-size:11px;color:#dbbc77}.grant-scroll{max-height:225px;overflow:auto;display:flex;flex-direction:column;gap:3px;margin-top:7px;scrollbar-width:thin}.grant-option{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.4;border-radius:7px;padding:7px 6px;cursor:pointer;color:#dde7ed}.grant-option:hover{background:rgba(220,174,74,.12)}.grant-option small{display:block;color:#94a9b8}.grant-help{margin:11px 0 0}
.settings-actions{display:flex;gap:15px;align-items:center;margin:18px 0 0;flex-wrap:wrap}.settings-actions>span{color:#aab8c6;line-height:1.5;font-size:11px;flex:1}.account-utilities{border-top:1px solid rgba(221,179,80,.19);margin-top:20px;padding-top:12px;display:grid;gap:8px}.account-utilities details{border:1px solid rgba(180,200,210,.19);padding:11px;border-radius:9px}.account-utilities summary{cursor:pointer;color:#f0d28e;font-size:12px;font-weight:750}.account-utilities p{font-size:11px;color:#aeb9c4}.reset-password-form{padding-top:11px;display:flex;flex-wrap:wrap;gap:10px}.reset-password-form label{min-width:180px;flex:1}.reset-password-form button{cursor:pointer}
.settings-flash{border-radius:9px;padding:13px 16px;font-size:12px;margin-bottom:14px;border:1px solid rgba(77,199,147,.34);background:rgba(32,98,73,.16);color:#c3f0da;line-height:1.7}.settings-flash.flash-error{border-color:rgba(236,162,112,.35);background:rgba(114,62,39,.18);color:#f4d8b0}.settings-flash .tiny-label{margin-left:9px}
.settings-two-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-two-cols table{min-width:400px}.admin-empty{padding:25px 10px}.status-small{background:rgba(222,182,96,.09);border:1px solid rgba(222,182,96,.21);padding:4px 7px;border-radius:12px;color:#e7ca91;font-size:10px}
[hidden]{display:none!important}
@media(max-width:1200px){.admin-columns{grid-template-columns:1fr}.admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-two-cols{grid-template-columns:1fr}}
@media(max-width:750px){.insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grant-grid,.settings-form-grid{grid-template-columns:1fr}.admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:470px){.insight-grid,.admin-summary{grid-template-columns:1fr}.insight-pill strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){.chart-bar{transition:none!important;transform:none!important}}


/* v1.3 - mobile-first ranking and dense handheld layouts */
.ranking-teaser{border:1px solid rgba(232,191,110,.22);border-radius:12px;background:linear-gradient(145deg,#192b39,#10212e);padding:14px 17px;margin:0 0 13px}
.ranking-teaser-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}
.ranking-teaser-head div{display:flex;flex-direction:column;gap:3px}.ranking-teaser-head strong{font-size:14px;color:#f5e0af}.ranking-teaser-head span{font-size:11px;color:#acbbca}
.ranking-teaser-head a{font-size:11px;color:#f1c876;white-space:nowrap}
.teaser-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.teaser-card{background:rgba(7,20,31,.45);border:1px solid rgba(237,188,107,.12);border-radius:10px;padding:12px;min-width:0;display:flex;flex-direction:column;gap:5px}
.teaser-card small,.teaser-card span{color:#b0bfd0;font-size:11px}.teaser-card strong{color:#f5f7fa;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ranking-explain,.ranking-detail{margin-bottom:14px}
.ranking-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:16px 0 9px}
.ranking-controls label{display:flex;flex:1 1 180px;flex-direction:column;gap:6px;color:#b9c8d6;font-size:11px}
.ranking-controls select{height:40px;border:1px solid #485b69;border-radius:8px;padding:0 10px;background:#172837;color:#f5f6f9;min-width:0;width:100%}
.ranking-warning{padding:12px 14px;border:1px solid rgba(246,179,82,.34);border-left:3px solid #ecc16d;background:rgba(119,77,26,.15);border-radius:9px;margin:12px 0;color:#efd6a1;font-size:12px;line-height:1.55}
.ranking-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.rank-list{background:linear-gradient(145deg,#10212d,#162936);padding:14px;border-radius:11px;border:1px solid rgba(164,190,215,.12);min-width:0}
.rank-list h3{margin:0 0 8px;font-size:14px;color:#f2d094}.rank-list.bottom h3{color:#bdc9d5}
.rank-entry{display:flex;align-items:center;gap:10px;padding:12px 6px;border-top:1px solid #2c4050;color:#edf3f6;min-width:0;text-decoration:none}
.rank-entry:hover{background:rgba(221,180,105,.06)}.rank-place{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:50%;border:1px solid rgba(240,193,110,.35);font-size:11px;color:#f0cc86}
.rank-list.bottom .rank-place{color:#b6c3d0;border-color:rgba(181,195,207,.23)}
.rank-person{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.rank-person strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-person small{font-size:10px;color:#afc0cd}
.rank-score{font-size:19px;font-weight:800;color:#f3d89d;font-variant-numeric:tabular-nums;white-space:nowrap}.rank-score small{font-weight:500;font-size:10px;color:#aebecd;margin-left:3px}
.rank-empty{color:#adbdc9;padding:17px 7px;font-size:12px;line-height:1.55}
@media(max-width:850px){.sidebar{position:sticky;top:0;z-index:30;background:#0b1927;border-bottom:1px solid rgba(237,196,114,.17)}.menu{scroll-snap-type:x proximity;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.menu-link{flex-shrink:0;min-height:40px;scroll-snap-align:start}.ranking-controls .apply{min-height:42px}}
@media(max-width:660px){.ranking-duo{grid-template-columns:1fr}.ranking-teaser-head{align-items:flex-start}.ranking-teaser-head span{line-height:1.35}.chart-scroll{overflow-x:auto}.chart{min-width:530px}.comparison-values{align-items:flex-start}.teaser-grid{gap:7px}}
@media(max-width:550px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kpi-card{min-height:105px;padding:12px!important}.kpi-head{font-size:10px}.kpi-icon{width:26px;height:26px;flex-basis:26px;font-size:13px}.kpi-value{font-size:clamp(19px,5vw,27px);margin:9px 0 4px;white-space:normal;overflow-wrap:anywhere}.kpi-sub{font-size:9px}.teaser-card{padding:10px}.teaser-card strong{font-size:12px}.teaser-card span{font-size:10px}.panel-title{flex-wrap:wrap}.ranking-controls label{flex-basis:calc(50% - 8px)}.ranking-controls label:first-child{flex-basis:100%}.ranking-controls .apply{flex-basis:100%}.intro{gap:6px}main{padding:12px 11px 25px}.topbar{padding:0 12px}.filter-bar{padding:12px;gap:9px}.filter-field,.filter-field.wide{min-width:0;flex:1 1 100%}.filter-field.date-field{flex:1 1 calc(50% - 8px);min-width:0}.ranking-teaser-head a{font-size:10px}.rank-score{font-size:16px}}
@media(max-width:380px){.ranking-teaser-head{flex-direction:column}.teaser-grid{grid-template-columns:1fr}.rank-entry{gap:7px}.ranking-controls label{flex-basis:100%}}
/* v1.4 one-login TOTP enrollment */
.mfa-key { margin-top:12px; padding:12px 10px; overflow-wrap:anywhere; text-align:center; font-family:ui-monospace,Consolas,monospace; font-size:clamp(14px,4vw,19px); letter-spacing:1.5px; color:#f0cd83; background:rgba(10,20,30,.6); border-radius:8px; }
