:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#172033;background:#f4f7fb;--blue:#2563eb;--nav:#081120;--border:#e3e9f2;--muted:#718096;--red:#e5484d;--green:#178b57;--amber:#d99010;--purple:#7357d9}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% -10%,#e9f0ff 0,transparent 32%),#f4f7fb}button,input,select{font:inherit}button{cursor:pointer}aside{position:fixed;inset:0 auto 0 0;width:240px;background:linear-gradient(180deg,#081120,#101a2c);color:#fff;padding:22px 14px;z-index:40;display:flex;flex-direction:column}.brand{font-size:21px;font-weight:850;padding:7px 12px 28px;display:flex;gap:10px;align-items:center}.brand-mark{width:38px;height:38px;border-radius:12px;background:#ffbf3f;color:#081120;display:grid;place-items:center}.brand small{display:block;color:#7f8ca2;font-size:10px;letter-spacing:.12em;margin-top:2px}nav{display:grid;gap:6px}.nav-link{border:0;text-align:left;background:transparent;padding:13px 14px;border-radius:10px;color:#aeb9ca}.nav-link span{display:inline-block;width:24px}.nav-link.active,.nav-link:hover{background:linear-gradient(135deg,#2563eb,#3978ed);color:#fff}.side-footer{margin-top:auto;padding:12px;color:#8491a6;font-size:12px;line-height:1.65}.live-dot{display:inline-block;width:8px;height:8px;background:#27c878;border-radius:50%;box-shadow:0 0 0 5px #27c87822;margin-right:6px}.menu-btn{display:none;position:fixed;top:12px;left:12px;z-index:55;border:0;background:var(--nav);color:#fff;border-radius:9px;padding:9px 12px}.scrim{display:none}main{margin-left:240px;padding:28px;max-width:1800px}header,.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px}h1{margin:0;font-size:29px;letter-spacing:-.03em}header p,.panel-head p{margin:5px 0;color:var(--muted)}.header-actions{display:flex;gap:9px;align-items:center}.updated,.icon-btn{background:white;border:1px solid var(--border);padding:11px 14px;border-radius:10px;font-size:13px;white-space:nowrap}.icon-btn{font-size:18px;padding:8px 12px}.view{display:none}.view.active{display:block}.panel{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 30px #15233b0a;padding:21px;margin-top:20px}.panel h2,.panel h3{margin:0}.hero-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:22px}.stat-card{background:#fff;border:1px solid var(--border);border-radius:15px;padding:18px;display:flex;align-items:center;gap:13px;box-shadow:0 7px 22px #15233b0b}.stat-icon{width:42px;height:42px;border-radius:12px;background:#eaf1ff;color:var(--blue);display:grid;place-items:center;font-size:20px}.stat-card.red .stat-icon{background:#fff0f0;color:var(--red)}.stat-card.green .stat-icon{background:#eaf9f1;color:var(--green)}.stat-card.amber .stat-icon{background:#fff7e6;color:var(--amber)}.stat-card.purple .stat-icon{background:#f1edff;color:var(--purple)}.stat-card b{display:block;font-size:24px}.stat-card small{color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:1.55fr .8fr;gap:18px}.chart-panel canvas{width:100%;margin-top:12px}.health-panel{text-align:center}.health-ring>div{--health:0deg;width:145px;height:145px;border-radius:50%;margin:18px auto;display:grid;place-items:center;background:conic-gradient(#21a663 var(--health),#edf1f6 0);position:relative}.health-ring>div:before{content:"";position:absolute;inset:13px;background:white;border-radius:50%}.health-ring b,.health-ring span{position:relative;z-index:1}.health-ring b{font-size:30px}.health-ring span{font-size:12px;color:var(--muted);margin-top:-38px}.health-row{display:flex;justify-content:space-between;padding:7px 0;border-top:1px solid #edf1f6;font-size:12px}.health-row i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px}.online{background:#20aa67}.offline{background:#e5484d}.health-row small{color:var(--muted)}.latest{display:flex;gap:12px;overflow:auto;padding-top:12px}.latest-item{min-width:290px;padding:14px;border:1px solid #e7ecf3;border-radius:12px;display:flex;justify-content:space-between;gap:12px;cursor:pointer;transition:.18s}.latest-item:hover{border-color:#b8caf2;transform:translateY(-1px)}.latest-item b{display:block;max-width:185px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.latest-item small{color:var(--muted);text-transform:capitalize}.latest-item span{text-align:right}.latest-item del{display:block;color:#8b96a8;font-size:12px}.latest-item strong{color:var(--red)}.text-btn{border:0;background:transparent;color:var(--blue);font-weight:700}.product-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;margin-top:18px}.product-card{border:1px solid var(--border);border-radius:13px;overflow:hidden;background:#fff;position:relative;color:inherit;transition:.18s;cursor:pointer}.product-card:hover{transform:translateY(-3px);box-shadow:0 12px 25px #18263c16}.image-wrap{height:155px;background:#fafbfc;display:grid;place-items:center}.image-wrap img{width:100%;height:100%;object-fit:contain}.image-wrap.no-image:after,.image-wrap:empty:after{content:'Nincs kép';color:#a3adbb;font-size:12px}.badge{position:absolute;top:10px;left:10px;background:var(--red);color:#fff;border-radius:7px;padding:5px 7px;font-size:12px;font-weight:800;z-index:2}.favorite-btn{border:0;background:#fff;width:34px;height:34px;border-radius:50%;box-shadow:0 3px 12px #19284020;position:absolute;right:9px;top:9px;z-index:3;font-size:20px;color:#8d98a9}.favorite-btn.on{color:#f0a400}.card-body{padding:13px}.shopname{font-size:11px;color:var(--muted);text-transform:uppercase}.name{height:42px;font-size:13px;font-weight:650;margin:6px 0;overflow:hidden}.old{text-decoration:line-through;color:#8b96a8;font-size:12px}.old.placeholder{text-decoration:none}.price{font-size:19px;font-weight:850;color:#172033}.saving{font-size:11px;color:var(--green);margin-top:3px}.filters{display:grid;grid-template-columns:minmax(260px,1fr) 220px 220px;gap:10px;margin:18px 0}.result-count{font-weight:750;color:var(--blue)}select,input{padding:10px 12px;border:1px solid #d9e0ea;border-radius:9px;background:#fff;color:#172033}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:850px}th{text-align:left;color:var(--muted);font-size:12px;padding:11px;border-bottom:1px solid var(--border)}td{padding:11px;border-bottom:1px solid #edf0f5;font-size:13px}.table-product{border:0;background:transparent;display:flex;align-items:center;gap:10px;min-width:320px;text-align:left;color:inherit}.thumb{width:45px;height:45px;background:#fafbfc;border-radius:7px;display:grid;place-items:center;flex:0 0 auto}.thumb img{max-width:100%;max-height:100%;object-fit:contain}.pill{font-size:11px;padding:5px 8px;border-radius:999px}.pill.ok{background:#eaf9f1}.pill.bad{background:#fff0f0}.pill.muted{background:#f1f4f8}.open-link{color:var(--blue);text-decoration:none;white-space:nowrap}.pager{text-align:center;margin-top:20px}.pager button{margin:3px;padding:7px 11px;border:1px solid #d9e0ea;background:white;border-radius:7px}.pager button.active{background:var(--blue);color:#fff}.pager span{color:var(--muted)}.shop-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.shop-card{border:1px solid var(--border);border-radius:14px;padding:18px}.shop-card-head{display:flex;align-items:center;gap:12px}.shop-logo{width:47px;height:47px;background:#eaf1ff;color:var(--blue);border-radius:12px;display:grid;place-items:center;font-weight:900;font-size:19px}.shop-card h3{margin:0 0 4px;text-transform:capitalize}.shop-meta{margin-top:14px;display:grid;gap:8px}.shop-meta>div{display:flex;justify-content:space-between;border-top:1px solid #edf1f6;padding-top:8px}.shop-meta span{color:var(--muted);font-size:12px}.error-box,.notice{margin-top:12px;background:#fff4f4;color:#a22;padding:11px;border-radius:9px;font-size:12px}.notice{background:#eef4ff;color:#31558f}.alert-list{display:grid;gap:10px;margin-top:18px}.alert-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;border:1px solid var(--border);border-radius:12px;padding:14px}.alert-row small{display:block;color:var(--muted);margin-top:3px}.alert-row>div:nth-child(2){display:flex;gap:18px}.danger-btn{border:1px solid #ffd3d3;background:#fff5f5;color:#c43c3c;padding:8px 10px;border-radius:8px}.empty{color:#7a8699;padding:16px 0}.empty-state{grid-column:1/-1;text-align:center;padding:55px 20px;color:#718096}.empty-state b,.empty-state span{display:block}.empty-state b{color:#172033;font-size:17px;margin-bottom:6px}.wide{grid-column:1/-1}.modal{position:fixed;inset:0;background:#06101dcc;display:none;place-items:center;padding:20px;z-index:80}.modal.open{display:grid}.modal-card{background:white;width:min(850px,100%);border-radius:18px;padding:25px;position:relative;max-height:90vh;overflow:auto}.modal-close{position:absolute;right:14px;top:12px;border:0;background:#f1f4f8;border-radius:50%;width:34px;height:34px;font-size:21px}.product-detail{display:grid;grid-template-columns:310px 1fr;gap:28px;align-items:center}.detail-image{height:310px;background:#fafbfc;border-radius:14px;display:grid;place-items:center;color:var(--muted)}.detail-image img{max-width:100%;max-height:100%;object-fit:contain}.product-detail h2{font-size:24px;margin:8px 0 16px}.detail-price{font-size:30px;font-weight:900}.detail-old{margin-top:5px;color:var(--muted)}.detail-actions{display:flex;gap:12px;align-items:center;margin-top:18px}.detail-actions .favorite-btn{position:static;border:1px solid var(--border);box-shadow:none}.primary-btn{background:var(--blue);color:white;padding:11px 14px;border-radius:9px;text-decoration:none;font-weight:700}.alert-form{margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.alert-form label{display:block;font-weight:700;margin-bottom:7px}.alert-form>div{display:flex;gap:8px}.alert-form input{flex:1}.alert-form button{border:0;background:#172033;color:#fff;border-radius:9px;padding:0 16px}.alert-form small{display:block;color:var(--muted);margin-top:7px}.toast{position:fixed;right:24px;bottom:24px;background:#101827;color:#fff;padding:12px 16px;border-radius:10px;transform:translateY(30px);opacity:0;pointer-events:none;transition:.2s;z-index:100}.toast.show{transform:translateY(0);opacity:1}.stack-mobile{align-items:flex-start}@media(max-width:1300px){.hero-stats{grid-template-columns:repeat(3,1fr)}.product-grid{grid-template-columns:repeat(3,1fr)}.shop-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}.menu-btn{display:block}aside{transform:translateX(-100%);transition:.2s}aside.open{transform:translateX(0)}.scrim.open{display:block;position:fixed;inset:0;background:#07101b99;z-index:35}main{margin-left:0;padding:64px 14px 18px}.hero-stats{grid-template-columns:repeat(2,1fr)}.product-grid{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr}.shop-cards{grid-template-columns:1fr}.product-detail{grid-template-columns:1fr}.detail-image{height:230px}.alert-row{grid-template-columns:1fr}.alert-row>div:nth-child(2){justify-content:space-between}header{align-items:flex-start}.updated{font-size:11px}.stack-mobile{display:block}.result-count{margin-top:8px}}@media(max-width:520px){.hero-stats{grid-template-columns:1fr 1fr}.stat-card{padding:13px}.stat-card b{font-size:19px}.product-grid{grid-template-columns:1fr}.updated{display:none}.latest-item{min-width:260px}.panel{padding:15px}.header-actions{gap:4px}.alert-row>div:nth-child(2){display:block}.modal-card{padding:18px}.detail-actions{align-items:stretch;flex-direction:column}.primary-btn{text-align:center}}

.price-range{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.price-range span{background:#f5f7fb;border:1px solid #e7ebf2;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:4px;color:#6b7280;font-size:12px}.price-range b{color:#152033;font-size:14px}.history-box{margin:18px 0}.history-box h3{font-size:15px;margin:0 0 10px}.history-box ul{list-style:none;margin:0;padding:0;border:1px solid #e7ebf2;border-radius:12px;overflow:hidden}.history-box li{display:flex;justify-content:space-between;gap:16px;padding:9px 12px;border-bottom:1px solid #edf0f5;font-size:13px}.history-box li:last-child{border-bottom:0}.history-box li span{color:#6b7280}.history-empty{margin:18px 0;padding:12px;border-radius:12px;background:#f8fafc;color:#64748b;font-size:13px}@media(max-width:640px){.price-range{grid-template-columns:1fr}}
