.puls-stocks-page { max-width:1300px; margin:0 auto; container-type:inline-size; --puls-muted:var(--muted,#716d65); --puls-line:var(--line,#eeece7); color:var(--ink,#302e2a); }
.puls-stocks-page .puls-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.puls-stocks-page h2.section { margin-bottom:6px; }
.puls-stocks-page .puls-muted { color:var(--puls-muted); font-size:13px; line-height:1.5; }
.puls-stocks-page .puls-actions { display:flex; flex-wrap:wrap; gap:8px; }
.puls-stocks-page .puls-source { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:18px 0; font-size:13px; }
.puls-stocks-page .puls-environment { background:#eaf5ec; color:#27623a; padding:5px 10px; border-radius:6px; font-weight:500; }
.puls-stocks-page .puls-environment.test { background:var(--accent-soft,#f7eae2); color:var(--accent,#a64e31); }
.puls-stocks-page .puls-filters { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px; }
.puls-stocks-page .puls-filter { flex:1 1 220px; min-width:0; display:flex; flex-direction:column; gap:7px; font-size:13px; }
.puls-stocks-page .puls-filter label { font-weight:500; }
.puls-stocks-page .puls-filter :is(.combo,.multi-combo,.multi-combo-trigger) { width:100%; min-width:0; }
.puls-stocks-page .puls-filter :is(.combo,.multi-combo) { flex:none; }
.puls-stocks-page .puls-filter :is(.combo-list,.multi-combo-panel) { width:100%; min-width:0; max-width:100%; box-sizing:border-box; }
.puls-stocks-page .puls-filter .combo input { width:100%; min-width:0; min-height:42px; box-sizing:border-box; padding:9px 32px 9px 12px; border:1px solid var(--control-line,#dedad1); border-radius:8px; background:#fff; font:inherit; color:inherit; }
.puls-stocks-page .puls-explanation { color:var(--puls-muted); font-size:13px; line-height:1.6; margin:14px 0 20px; }
.puls-stocks-page .puls-view[hidden] { display:none; }
.puls-stocks-page [hidden] { display:none !important; }
.puls-stocks-page .puls-view-switch { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 16px; }
.puls-stocks-page .puls-view-switch button { min-height:42px; }
.puls-stocks-page .puls-view-switch [aria-pressed="true"] { background:var(--ink,#302e2a); border-color:var(--ink,#302e2a); color:#fff; }
.puls-stocks-page .puls-overview { min-width:0; }
.puls-stocks-page .puls-overview > h3 { margin:20px 0 4px; }
.puls-stocks-page .puls-overview-scroll { overflow:auto; max-height:560px; max-width:100%; border:1px solid var(--puls-line); border-radius:12px; background:#fff; }
.puls-stocks-page .puls-overview-table { width:100%; border-collapse:separate; border-spacing:0; font-size:13px; line-height:1.4; }
.puls-stocks-page .puls-overview-table :is(th,td) { box-sizing:border-box; padding:8px; border-bottom:1px solid var(--puls-line); border-right:1px solid var(--puls-line); text-align:right; vertical-align:middle; min-width:112px; }
.puls-stocks-page .puls-overview-table thead th { position:sticky; top:0; z-index:2; background:#f4f2ed; font-weight:500; white-space:normal; }
.puls-stocks-page .puls-overview-table thead th:first-child { z-index:3; }
.puls-stocks-page .puls-overview-table tr > :first-child { position:sticky; left:0; min-width:200px; max-width:200px; width:200px; text-align:left; border-right:1px solid var(--control-line,#dedad1); }
.puls-stocks-page .puls-overview-table tbody th { z-index:1; background:#fff; }
.puls-stocks-page .puls-overview-table tr > :last-child { border-right:0; }
.puls-stocks-page .puls-overview-table tbody tr:last-child > * { border-bottom:0; }
.puls-stocks-page .puls-overview-branch, .puls-stocks-page .puls-overview-value { cursor:pointer; font:inherit; border:0; border-radius:6px; min-height:36px; padding:6px 8px; }
.puls-stocks-page .puls-overview-branch { background:transparent; color:inherit; text-align:left; font-weight:500; overflow-wrap:anywhere; white-space:normal; width:100%; }
.puls-stocks-page .puls-overview-branch:hover { text-decoration:underline; }
.puls-stocks-page .puls-overview-value { background:#f0efeb; color:#706c65; min-width:54px; font-variant-numeric:tabular-nums; font-weight:500; }
.puls-stocks-page .puls-overview-value.positive { background:#eaf5ec; color:#27623a; }
.puls-stocks-page .puls-overview-value.negative { background:#fff0ea; color:#914228; }
.puls-stocks-page .puls-overview-value:hover { box-shadow:inset 0 0 0 1px currentColor; }
.puls-stocks-page :is(.puls-overview-value,.puls-overview-branch,.puls-overview-scroll):focus-visible { outline:2px solid var(--accent,#a64e31); outline-offset:-2px; }
.puls-stocks-page .puls-overview-missing { color:var(--puls-muted); }
.puls-stocks-page .puls-overview-legend { margin:10px 0; }
.puls-stocks-page .puls-group { margin:12px 0; border:1px solid var(--puls-line); border-radius:12px; background:#fff; overflow:hidden; }
.puls-stocks-page summary { list-style:none; cursor:pointer; }
.puls-stocks-page summary::-webkit-details-marker { display:none; }
.puls-stocks-page .puls-group > summary { display:flex; align-items:center; gap:12px; padding:18px 20px; }
.puls-stocks-page .puls-group > summary::before, .puls-stocks-page .puls-drug > summary::before { content:'›'; width:16px; flex:0 0 16px; text-align:center; font-size:23px; font-weight:400; color:var(--puls-muted); line-height:1; }
.puls-stocks-page details[open] > summary::before { transform:rotate(90deg); }
.puls-stocks-page .puls-group-heading { min-width:0; flex:1; }
.puls-stocks-page .puls-group-regions { margin:4px 0; overflow-wrap:anywhere; }
.puls-stocks-page h3 { margin:0; font-size:17px; font-weight:500; overflow-wrap:anywhere; }
.puls-stocks-page h4 { margin:0 0 8px; font-size:12px; font-weight:400; color:var(--puls-muted); }
.puls-stocks-page .puls-group-count { white-space:nowrap; font-size:12px; color:var(--puls-muted); }
.puls-stocks-page .puls-summary-quantity { padding:4px 10px; border-radius:6px; background:#f0efeb; color:#706c65; font-size:13px; font-weight:500; font-variant-numeric:tabular-nums; text-align:right; }
.puls-stocks-page .puls-summary-quantity.positive { background:#eaf5ec; color:#27623a; }
.puls-stocks-page .puls-summary-quantity.negative { background:#fff0ea; color:#914228; }
.puls-stocks-page .puls-group-body { border-top:1px solid var(--puls-line); padding:0 20px; }
.puls-stocks-page .puls-cities { padding:16px 0; }
.puls-stocks-page .puls-city-list { display:flex; flex-wrap:wrap; gap:6px; list-style:none; margin:0; padding:0; }
.puls-stocks-page .puls-city-list li { padding:4px 10px; border-radius:5px; background:#f4f2ed; color:var(--ink,#302e2a); font-size:13px; }
.puls-stocks-page .puls-nomenclature-list { border-top:1px solid var(--puls-line); }
.puls-stocks-page .puls-drug { border-bottom:1px solid var(--puls-line); }
.puls-stocks-page .puls-drug:last-child { border-bottom:0; }
.puls-stocks-page .puls-drug > summary { display:flex; align-items:center; gap:9px; padding:14px 0; min-height:46px; }
.puls-stocks-page .puls-drug-name { flex:1; min-width:0; font-size:14px; font-weight:500; overflow-wrap:anywhere; }
.puls-stocks-page .puls-table { width:100%; table-layout:fixed; border-collapse:collapse; margin-bottom:8px; font-size:13px; }
.puls-stocks-page .puls-table th { text-align:left; background:#f4f2ed; color:var(--puls-muted); font-size:12px; font-weight:400; padding:8px 10px; }
.puls-stocks-page .puls-table td { padding:13px 10px; vertical-align:middle; border-bottom:1px solid var(--puls-line); overflow-wrap:anywhere; line-height:1.5; }
.puls-stocks-page .puls-table tr:last-child td { border-bottom:0; }
.puls-stocks-page .puls-table th:nth-child(1) { width:53%; }
.puls-stocks-page .puls-table th:nth-child(2) { width:25%; }
.puls-stocks-page .puls-table th:nth-child(3) { width:22%; text-align:right; }
.puls-stocks-page .puls-stock-cell { text-align:right; }
.puls-stocks-page .puls-quantity { display:inline-block; min-width:38px; padding:3px 8px; background:#f0efeb; color:#706c65; border-radius:5px; font-weight:500; font-size:14px; font-variant-numeric:tabular-nums; }
.puls-stocks-page .puls-quantity.positive { background:#eaf5ec; color:#27623a; }
.puls-stocks-page .puls-quantity.negative { background:#fff0ea; color:#914228; }
.puls-stocks-page .puls-stock-meta { display:block; margin-top:3px; font-size:11px; line-height:1.5; color:var(--puls-muted); }
.puls-stocks-page .puls-barcode { font-variant-numeric:tabular-nums; font-size:12px; }
.puls-stocks-page .puls-mobile-unit { display:none; }
.puls-stocks-page .puls-group-note { margin:0; border-top:1px solid var(--puls-line); padding:11px 20px; color:var(--puls-muted); font-size:12px; }
.puls-stocks-page .puls-empty { padding:18px 0; color:var(--puls-muted); line-height:1.6; }
.puls-stocks-page .puls-history-dates { display:flex; align-items:flex-end; gap:12px; flex-wrap:wrap; margin:14px 0; }
.puls-stocks-page .puls-history-dates .puls-filter { flex:0 1 220px; }
.puls-stocks-page .puls-history-dates input { width:100%; min-width:0; box-sizing:border-box; min-height:42px; padding:8px 12px; border:1px solid var(--control-line,#dedad1); border-radius:8px; background:#fff; color:inherit; font:inherit; }
.puls-stocks-page .puls-history-metrics { display:flex; flex-wrap:wrap; gap:5px; width:fit-content; max-width:100%; padding:5px; margin:14px 0; border-radius:10px; background:#f1efe9; }
.puls-stocks-page .puls-history-metrics button { border:0; min-height:42px; padding:9px 14px; border-radius:7px; background:transparent; color:var(--puls-muted); }
.puls-stocks-page .puls-history-metrics button[aria-pressed="true"] { background:#34322d; color:#fff; }
.puls-stocks-page .puls-history-meta { margin:16px 0; }
.puls-stocks-page .puls-history-meta:empty { display:none; }
.puls-stocks-page .puls-history-day-title { font-size:16px; color:inherit; font-weight:500; }
.puls-stocks-page .puls-history-times { font-size:13px; line-height:1.6; }
.puls-stocks-page .puls-history-periods { margin:12px 0 16px; padding:14px 16px; background:#f4f2ed; border-radius:10px; font-size:13px; line-height:1.6; }
.puls-stocks-page .puls-history-periods-differ { background:#fbf4e7; border-left:3px solid #b88a39; }
.puls-stocks-page .puls-history-period-warning { display:block; margin-bottom:8px; color:#765417; }
.puls-stocks-page .puls-history-period-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 24px; margin:0; }
.puls-stocks-page .puls-history-period-grid dt { font-weight:600; }
.puls-stocks-page .puls-history-period-grid dd { margin:2px 0 0; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.puls-stocks-page .puls-history-period-explanation { margin:10px 0 0; }
.puls-stocks-page .puls-history-column-period { display:block; margin-top:5px; font-size:11px; line-height:1.45; font-weight:400; color:var(--puls-muted); }
.puls-stocks-page .puls-history-error { margin:12px 0; }
.puls-stocks-page .puls-history-scroll { overflow:auto; max-width:100%; }
.puls-stocks-page .puls-history-scroll:focus-visible { outline:2px solid var(--accent,#a64e31); outline-offset:-2px; }
.puls-stocks-page .puls-history-table { width:100%; min-width:780px; table-layout:fixed; border-collapse:collapse; font-size:13px; }
.puls-stocks-page .puls-history-table :is(th,td) { padding:12px 14px; border-top:1px solid var(--puls-line); text-align:right; vertical-align:middle; }
.puls-stocks-page .puls-history-table thead th, .puls-stocks-page .puls-history-table tfoot :is(th,td) { background:#f4f2ed; font-weight:500; }
.puls-stocks-page .puls-history-table thead th { white-space:normal; vertical-align:top; overflow-wrap:anywhere; }
.puls-stocks-page .puls-history-table tr > :first-child { width:36%; min-width:240px; text-align:left; }
.puls-stocks-page .puls-history-product { font-weight:400; }
.puls-stocks-page .puls-history-product > span { display:block; margin-top:3px; }
.puls-stocks-page .puls-history-table td { font-variant-numeric:tabular-nums; min-width:90px; }
.puls-stocks-page .puls-history-delta { font-weight:600; }
.puls-stocks-page .puls-history-delta.increase { color:#3a6a8e; }
.puls-stocks-page .puls-history-delta.decrease { color:#914228; }
.puls-stocks-page .puls-history-table .puls-history-decrease { background:#f9eee7; color:#914228; }
.puls-stocks-page .puls-history-table .puls-history-increase { background:#edf3f8; color:#3a6a8e; }
.puls-stocks-page .puls-history-matrix .puls-overview-value.positive { background:#edf3f8; color:#3a6a8e; }
.puls-stocks-page .puls-history-matrix .puls-overview-value.puls-history-unknown { background:#fbf4e7; color:#806228; }
.puls-stocks-page .puls-pagination { display:flex; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:10px; margin:12px 0; font-size:13px; }
@container (max-width:700px) {
  .puls-stocks-page .puls-history-period-grid { grid-template-columns:minmax(0,1fr); }
  .puls-stocks-page .puls-overview-scroll { max-height:65vh; }
  .puls-stocks-page .puls-overview-table tr > :first-child { min-width:132px; max-width:132px; width:132px; }
  .puls-stocks-page .puls-overview-table :is(th,td) { min-width:104px; padding:6px; }
  .puls-stocks-page .puls-heading { gap:10px; }
  .puls-stocks-page .puls-group > summary { display:grid; grid-template-columns:16px minmax(0,1fr); padding:14px 12px; gap:3px 8px; }
  .puls-stocks-page .puls-group > summary::before { grid-row:1 / span 2; }
  .puls-stocks-page .puls-group-count { grid-column:2; white-space:normal; }
  .puls-stocks-page .puls-group-body { padding:0 12px; }
  .puls-stocks-page .puls-group-note { padding:11px 12px; }
  .puls-stocks-page .puls-table thead { display:none; }
  .puls-stocks-page .puls-table, .puls-stocks-page .puls-table tbody { display:block; }
  .puls-stocks-page .puls-table tr { display:grid; grid-template-columns:minmax(0,1fr) minmax(75px,auto); gap:5px 10px; padding:12px 0; border-top:1px solid var(--puls-line); }
  .puls-stocks-page .puls-table td { display:block; padding:0; border:0; width:auto; }
  .puls-stocks-page .puls-table .puls-barcode { grid-column:1; color:var(--puls-muted); }
  .puls-stocks-page .puls-table .puls-stock-cell { grid-column:2; grid-row:1 / span 2; align-self:center; max-width:110px; }
  .puls-stocks-page .puls-mobile-unit { display:inline; font-size:11px; font-weight:400; }
}
.puls-stocks-page .puls-history-branch { font-weight:500; overflow-wrap:anywhere; white-space:normal; }
.puls-stocks-page .puls-history-detail { margin:16px 0; padding:16px; border:1px solid var(--puls-line); border-radius:12px; background:#fff; }
.puls-stocks-page .puls-history-detail > h4 { margin:16px 0 8px; font-size:17px; }
.puls-stocks-page .puls-history-brand-total { font-variant-numeric:tabular-nums; margin:12px 0; }
.puls-stocks-page .puls-history-matrix .puls-overview-value { white-space:nowrap; }
.puls-stocks-page .puls-history-coverage { display:block; margin-top:3px; font-size:11px; line-height:1.4; font-weight:400; white-space:normal; }
.puls-stocks-page .puls-history-partial-value { white-space:nowrap; }
.puls-stocks-page .puls-history-table td.puls-history-partial { background:#fbf4e7; color:#806228; }
