@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--color-bg: #F0F4FA;--color-surface: #FFFFFF;--color-surface-2: #EEF1F8;--color-surface-3: #F5F7FC;--color-surface-4: #E8ECF5;--color-border: #D4DBE8;--color-primary: #17C3A3;--color-primary-dark: #00897B;--color-accent: #0D1A6E;--color-sidebar: #EEF1F8;--color-text: #1A1D2E;--color-text-muted: #5A6480;--color-text-dim: #8A91AF;--color-increased: #E74C3C;--color-decreased: #2ECC71;--color-same: #8B90A0;--color-new: #F39C12;--retailer-bilka: #1B2A6B;--retailer-rema: #E74C3C;--retailer-fotex: #F39C12;--retailer-meny: #8E44AD;--retailer-netto: #2ECC71;--retailer-spar-glostrup: #3498DB;--retailer-spar-risskov: #00B4A0;--retailer-minkobmand-ro: #E91E63;--retailer-minkobmand-so: #FF9800;--sidebar-width: 280px;--header-height: 56px;--radius: 10px;--radius-lg: 16px;--shadow-sm: 0 2px 8px rgba(0,0,0,.05);--shadow-md: 0 8px 24px rgba(0,0,0,.08)}[data-theme=dark]{--color-bg: #0F1117;--color-surface: #1A1E2A;--color-surface-2: #1A1E2A;--color-surface-3: #1F2436;--color-surface-4: #252D40;--color-border: #2C3150;--color-primary: #1ED9B5;--color-primary-dark: #19b396;--color-accent: #3A55D4;--color-sidebar: #14182A;--color-text: #E8ECF5;--color-text-muted: #8A91AF;--color-text-dim: #5A6070;--shadow-sm: 0 2px 8px rgba(0,0,0,.2);--shadow-md: 0 8px 24px rgba(0,0,0,.4)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--color-bg);color:var(--color-text);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-surface-2)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-dim)}.dashboard-layout{display:flex;height:100vh;overflow:hidden}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--color-sidebar);border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden}.sidebar-header{padding:18px 16px 14px;border-bottom:1px solid var(--color-border)}.sidebar-logo{font-size:13px;font-weight:700;color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase}.sidebar-subtitle{font-size:11px;color:var(--color-text-muted);margin-top:2px}.sidebar-filters{flex:1;overflow-y:auto;padding:12px}.main-area{flex:1;display:flex;flex-direction:column;overflow:hidden}.tab-bar{display:flex;gap:8px;padding:16px 24px;background:var(--color-bg);border-bottom:1px solid var(--color-border);overflow-x:auto;scrollbar-width:none;flex-shrink:0;align-items:center}.tab-bar::-webkit-scrollbar{display:none}.tab-btn{padding:8px 18px;border-radius:20px;border:1px solid transparent;background:transparent;color:var(--color-text-dim);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:none}.tab-btn:hover{color:var(--color-text);background:var(--color-surface-3)}.tab-btn.active{color:#fff;background:var(--color-primary);box-shadow:0 4px 12px #17c3a34d}.tab-content{flex:1;overflow-y:auto;padding:20px}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px}.kpi-card{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px;position:relative;overflow:hidden;transition:transform .15s,box-shadow .15s}.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--color-primary)}.kpi-label{font-size:11px;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.kpi-value{font-size:26px;font-weight:700;color:var(--color-text);line-height:1}.kpi-sub{font-size:11px;color:var(--color-text-dim);margin-top:6px}.charts-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.chart-card{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px}.chart-card-title{font-size:12px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}.table-card{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.table-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border)}.table-toolbar-title{font-size:13px;font-weight:600;color:var(--color-text)}.table-scroll{overflow:auto;max-height:480px}table{width:100%;border-collapse:collapse;font-size:12px}thead{position:sticky;top:0;z-index:1;background:var(--color-surface-3)}th{padding:10px 12px;text-align:left;font-size:11px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .12s}th:hover{color:var(--color-text)}td{padding:9px 12px;border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:var(--color-surface-3)}.price-cell{background:var(--color-accent);color:#fff;border-radius:4px;padding:3px 7px;font-weight:600;font-variant-numeric:tabular-nums;display:inline-block;min-width:60px;text-align:right}.price-cell.lowest{background:#0d1a44;outline:2px solid var(--color-primary)}.badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600}.badge-increased{background:#e74c3c26;color:#e74c3c}.badge-decreased{background:#2ecc7126;color:#2ecc71}.badge-same{background:#8b90a01f;color:#8b90a0}.badge-na{background:#8b90a014;color:#5a6070}.badge-new{background:#f39c1226;color:#f39c12}.diff-positive{color:#e74c3c;font-weight:600}.diff-negative{color:#2ecc71;font-weight:600}.diff-zero{color:var(--color-text-muted)}.product-img{width:38px;height:38px;border-radius:6px;object-fit:cover;background:var(--color-surface-3);border:1px solid var(--color-border)}.product-img-placeholder{width:38px;height:38px;border-radius:6px;background:var(--color-surface-4);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;color:var(--color-text-dim);font-size:16px}.filter-section{margin-bottom:14px}.filter-label{font-size:10px;font-weight:600;color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.07em;margin-bottom:5px}.filter-input,.filter-select{width:100%;background:var(--color-surface-3);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);padding:7px 10px;font-family:inherit;font-size:12px;outline:none;transition:border-color .15s}.filter-input:focus,.filter-select:focus{border-color:var(--color-primary)}.period-pills{display:flex;gap:4px;flex-wrap:wrap}.period-pill{padding:4px 10px;border-radius:20px;border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);font-family:inherit;font-size:11px;font-weight:500;cursor:pointer;transition:all .12s}.period-pill:hover{border-color:var(--color-primary);color:var(--color-primary)}.period-pill.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.pagination{display:flex;align-items:center;justify-content:center;gap:6px;padding:16px;border-top:1px solid var(--color-border);font-size:13px;color:var(--color-text-muted)}.pagination-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 10px;border-radius:16px;border:1px solid transparent;background:transparent;color:var(--color-text);font-family:inherit;font-weight:500;font-size:13px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.pagination-btn:hover:not(:disabled):not(.active){background:var(--color-surface-4);color:var(--color-text)}.pagination-btn.active{background:var(--color-primary);color:#fff;box-shadow:0 4px 12px #6366f14d}.pagination-btn:disabled{opacity:.3;cursor:not-allowed}.pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;color:var(--color-text-muted);-webkit-user-select:none;user-select:none}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,var(--color-surface-3) 25%,var(--color-surface-4) 50%,var(--color-surface-3) 75%);background-size:800px 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:20px;animation:fadeInUp .4s ease-out}.loader-ring{width:44px;height:44px;border:3px solid var(--color-surface-4);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.loader-text{font-size:15px;font-weight:500;color:var(--color-text-muted);letter-spacing:.05em}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--color-text-dim);gap:8px}.empty-state-icon{font-size:40px}.empty-state-text{font-size:14px}.matrix-table th,.matrix-table td{text-align:center}.matrix-lowest{background:var(--color-accent)!important;color:#fff!important;font-weight:700}.matrix-empty{background:var(--color-surface-3)}.tooltip-wrap{position:relative;display:inline-block}.tooltip-text{display:none;position:absolute;bottom:125%;left:50%;transform:translate(-50%);background:var(--color-surface-4);border:1px solid var(--color-border);color:var(--color-text);font-size:11px;padding:4px 8px;border-radius:var(--radius);white-space:nowrap;z-index:100;box-shadow:var(--shadow-md)}.tooltip-wrap:hover .tooltip-text{display:block}.section-heading{font-size:11px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;display:flex;align-items:center;gap:8px}.section-heading:after{content:"";flex:1;height:1px;background:var(--color-border)}@media (max-width: 900px){.charts-row{grid-template-columns:1fr}.sidebar{width:220px;min-width:220px}}
