/* === CSS extrahiert aus portal-preise-historie.html (extrahiert 2026-04-26) === */
  @import url('/shared/fonts/inter.css');
  *{margin:0;padding:0;box-sizing:border-box}
  :root{--bg:linear-gradient(145deg,#eef2f7 0%,#e4ecf4 25%,#dfe8f0 50%,#e8eef5 75%,#f0f4f8 100%);--nav-bg:rgba(255,255,255,0.55);--nav-border:rgba(255,255,255,0.5);--card-bg:rgba(255,255,255,0.45);--card-border:rgba(255,255,255,0.6);--card-hover-bg:rgba(255,255,255,0.65);--card-shadow:0 2px 16px rgba(0,0,0,0.04);--text-primary:#1c1c1e;--text-secondary:#636366;--text-tertiary:#8e8e93;--badge-bg:rgba(4,179,214,0.1);--badge-color:#04b3d6;--toggle-bg:rgba(0,0,0,0.06);--toggle-knob:#fff;--input-bg:rgba(255,255,255,0.6);--input-border:rgba(0,0,0,0.08)}
  [data-theme="dark"]{--bg:linear-gradient(145deg,#0a0a1a 0%,#0f1528 20%,#151022 40%,#1a0f1e 60%,#12111a 80%,#0d1318 100%);--nav-bg:rgba(255,255,255,0.05);--nav-border:rgba(255,255,255,0.09);--card-bg:rgba(255,255,255,0.06);--card-border:rgba(255,255,255,0.1);--card-hover-bg:rgba(255,255,255,0.1);--card-shadow:0 2px 16px rgba(0,0,0,0.2);--text-primary:#f5f5f7;--text-secondary:#a1a1a6;--text-tertiary:#636366;--badge-bg:rgba(4,179,214,0.15);--badge-color:#2cc5e4;--toggle-bg:rgba(255,255,255,0.1);--toggle-knob:#1c1c1e;--input-bg:rgba(255,255,255,0.06);--input-border:rgba(255,255,255,0.1)}
  body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;min-height:100vh;background:var(--bg);background-size:400% 400%;animation:g 20s ease infinite;-webkit-font-smoothing:antialiased}
  @keyframes g{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
  nav{position:sticky;top:0;z-index:100;background:var(--nav-bg);backdrop-filter:blur(44px) saturate(180%);-webkit-backdrop-filter:blur(44px) saturate(180%);border-bottom:1px solid var(--nav-border);padding:0 24px;height:52px;display:flex;align-items:center;justify-content:space-between}
  .nav-left{display:flex;align-items:center;gap:10px;min-width:0;flex-shrink:1;overflow:hidden}
  .nav-logo{height:26px}[data-theme="dark"] .nav-logo{filter:brightness(2.2) contrast(0.85)}
  .nav-brand{font-size:15px;font-weight:700;color:var(--text-primary)}
  .nav-divider{width:1px;height:18px;background:var(--nav-border)}
  .nav-sub{font-size:12px;color:var(--text-secondary);white-space:nowrap}
  .nav-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
  .nav-back{font-size:12px;color:var(--badge-color);text-decoration:none;font-weight:500;display:flex;align-items:center;gap:4px}
  .theme-toggle{display:flex;align-items:center;gap:5px;cursor:pointer;padding:3px;border-radius:16px;background:var(--toggle-bg)}
  .toggle-icon{font-size:12px}
  .toggle-track{width:32px;height:18px;border-radius:9px;background:var(--toggle-bg);position:relative}
  .toggle-knob{width:14px;height:14px;border-radius:50%;background:var(--toggle-knob);position:absolute;top:2px;left:2px;transition:transform .3s}
  [data-theme="dark"] .toggle-knob{transform:translateX(14px)}
  .container{max-width:1600px;margin:0 auto;padding:24px}
  .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}
  .page-header h1{font-size:22px;font-weight:700;color:var(--text-primary)}
  .header-meta{font-size:12px;color:var(--text-tertiary)}
  .stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px}
  .stat-card{background:var(--card-bg);backdrop-filter:blur(20px);border:1px solid var(--card-border);border-radius:14px;padding:14px 16px;text-align:center}
  .stat-val{font-size:22px;font-weight:700;color:var(--text-primary)}
  .stat-label{font-size:11px;color:var(--text-tertiary);margin-top:2px}
  .filter-bar{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap;align-items:center}
  .search-wrap{position:relative;flex:1;min-width:200px}
  .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:14px;color:var(--text-tertiary);pointer-events:none}
  .info-box{display:flex;gap:14px;align-items:flex-start;background:linear-gradient(135deg,rgba(4,179,214,0.08),rgba(4,179,214,0.01));border:1px solid var(--card-border);border-left:3px solid var(--badge-color);backdrop-filter:blur(20px);border-radius:14px;padding:14px 18px;margin-bottom:20px;box-shadow:0 2px 12px rgba(4,179,214,0.04)}
  .info-box-icon{flex-shrink:0;width:32px;height:32px;border-radius:10px;background:rgba(4,179,214,0.15);display:flex;align-items:center;justify-content:center;color:var(--badge-color)}
  .info-box-body{flex:1;min-width:0}
  .info-box-title{font-size:11px;font-weight:700;color:var(--badge-color);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
  .info-box-text{font-size:13px;color:var(--text-secondary);line-height:1.55}
  .search-input{width:100%;padding:10px 12px 10px 36px;border-radius:10px;border:1px solid var(--input-border);background:var(--input-bg);backdrop-filter:blur(10px);font-size:13px;font-family:inherit;color:var(--text-primary);outline:none}
  .search-input:focus{border-color:var(--badge-color);box-shadow:0 0 0 3px rgba(4,179,214,0.12)}
  .filter-select{padding:10px 12px;border-radius:10px;border:1px solid var(--input-border);background:var(--input-bg);backdrop-filter:blur(10px);font-size:13px;font-family:inherit;color:var(--text-primary);cursor:pointer;outline:none}
  .chip-group{display:flex;gap:6px;flex-wrap:wrap}
  .chip{padding:8px 14px;border-radius:999px;border:1px solid var(--input-border);background:var(--input-bg);font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer;user-select:none}
  .chip.active{background:var(--badge-color);border-color:var(--badge-color);color:#fff}
  .toggle-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;border:1px solid var(--input-border);background:var(--input-bg);cursor:pointer;user-select:none;font-size:12px;color:var(--text-secondary)}
  .toggle-pill input{cursor:pointer}
  .main-card{background:var(--card-bg);backdrop-filter:blur(20px);border:1px solid var(--card-border);border-radius:16px;box-shadow:var(--card-shadow);overflow:hidden}
  .tbl-wrap{overflow-x:auto}
  table{width:100%;border-collapse:collapse;font-size:13px;table-layout:auto}
  td:first-child,th:first-child{min-width:200px}
  thead{background:rgba(0,0,0,0.02)}[data-theme="dark"] thead{background:rgba(255,255,255,0.03)}
  th{padding:10px 12px;text-align:left;font-weight:600;color:var(--text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;border-bottom:1px solid var(--card-border);cursor:pointer}
  th:hover{color:var(--badge-color)}
  td{padding:11px 14px;border-bottom:1px solid rgba(0,0,0,0.03);color:var(--text-primary);white-space:nowrap}
  [data-theme="dark"] td{border-bottom-color:rgba(255,255,255,0.04)}
  tr:hover td{background:var(--card-hover-bg)}
  tr.clickable{cursor:pointer}
  .preis{font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
  .delta-up{color:#ff453a;font-weight:700}
  .delta-down{color:#30d158;font-weight:700}
  .delta-flat{color:var(--text-tertiary)}
  .kat-badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:500;background:var(--badge-bg);color:var(--badge-color);max-width:140px;overflow:hidden;text-overflow:ellipsis}
  .empty-state{text-align:center;padding:60px 20px;color:var(--text-tertiary)}
  .empty-state-icon{font-size:40px;margin-bottom:12px}
  .result-count{font-size:12px;color:var(--text-tertiary);padding:10px 16px;border-top:1px solid var(--card-border)}
  .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.6);backdrop-filter:blur(12px);z-index:500;display:flex;align-items:center;justify-content:center;padding:20px}
  .modal{background:#f5f5f7;border:1px solid rgba(0,0,0,0.1);border-radius:20px;max-width:800px;width:100%;max-height:80vh;overflow-y:auto;padding:28px;box-shadow:0 20px 60px rgba(0,0,0,0.4)}
  [data-theme="dark"] .modal{background:#1c1c1e;border-color:rgba(255,255,255,0.15)}
  .modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}
  .modal-title{font-size:18px;font-weight:700;color:var(--text-primary)}
  .modal-sub{font-size:12px;color:var(--text-tertiary);margin-top:4px}
  .modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-tertiary);padding:4px 8px;border-radius:8px}
  .modal-close:hover{background:rgba(0,0,0,0.06)}
  [data-theme="dark"] .modal-close:hover{background:rgba(255,255,255,0.1)}
  .chart-area{width:100%;height:220px;background:rgba(0,0,0,0.03);border-radius:12px;padding:20px;position:relative;margin-bottom:16px}
  [data-theme="dark"] .chart-area{background:rgba(255,255,255,0.06)}
  .chart-svg{width:100%;height:100%}
  .chart-line{fill:none;stroke:#04b3d6;stroke-width:2.5}
  .chart-dot{fill:#04b3d6;r:4}
  .chart-grid{stroke:rgba(0,0,0,0.08);stroke-width:0.5}
  [data-theme="dark"] .chart-grid{stroke:rgba(255,255,255,0.08)}
  .chart-label{font-size:10px;fill:#636366;font-weight:500}
  [data-theme="dark"] .chart-label{fill:#a1a1a6}
  .verlauf-table{width:100%;font-size:13px;border-collapse:collapse;margin-top:8px}
  .verlauf-table td,.verlauf-table th{padding:8px 12px;border-bottom:1px solid rgba(0,0,0,0.05);text-align:left}
  .verlauf-table th{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;border-bottom:2px solid var(--card-border)}
  [data-theme="dark"] .verlauf-table td{border-bottom-color:rgba(255,255,255,0.06)}
  .verlauf-table tr:hover td{background:rgba(0,0,0,0.03)}
  [data-theme="dark"] .verlauf-table tr:hover td{background:rgba(255,255,255,0.04)}
  @media(max-width:600px){nav{padding:0 12px}.container{padding:16px 12px}.page-header h1{font-size:18px}.filter-bar{flex-direction:column;align-items:stretch}.search-wrap{min-width:100%}td,th{padding:8px 6px;font-size:12px}.stats-row{grid-template-columns:repeat(2,1fr)}.modal{padding:16px;margin:10px}}


/* === Auto-Klassen aus inline style="..." in portal-preise-historie.js (12 unique) === */
.s-09ccb6 { color:var(--text-tertiary); }
.s-dace2f { margin-left:6px; }
.s-632c2a { color:#30d158; }
.s-3ae4da { color:#ff453a; }
.s-539b04 { text-align:center; }
.s-0b5e2b { color:var(--text-tertiary);font-size:11px; }
.s-08a0ed { text-align:right; }
.s-2c273c { color:' + color + '; }
.s-9155c9 { color:var(--text-secondary); }
.s-77742b { text-align:center;color:var(--text-tertiary); }
.s-931755 { color:' + color + ';text-align:center; }
.s-ffb44b { text-align:center;padding:60px;color:var(--text-tertiary); }
