*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #080c10;--card: #0d1219;--card2: #111820;--bd: #1e2d3d;--white: #e8f4f8;--text: #c8dce8;--muted: #4a6070;--g: #39ff14;--teal: #00d4aa;--red: #ff5555;--orange: #ffa726;--blue: #4a9eff;--fh: "Inter", "Inter", sans-serif;--fu: "Inter", system-ui, sans-serif;--fb: "Inter", system-ui, sans-serif}html{font-size:16px;-webkit-font-smoothing:antialiased}body{background:var(--bg);color:var(--text);font-family:var(--fb);line-height:1.6;min-height:100vh}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(0,229,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(0,229,255,.015) 1px,transparent 1px);background-size:44px 44px}.app{position:relative;z-index:1;max-width:1400px;margin:0 auto;padding:1.5rem}.header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 0;border-bottom:1px solid var(--bd);margin-bottom:1.5rem}.header-left{display:flex;align-items:center;gap:1.5rem}.logo{font-family:var(--fh);font-size:1.4rem;letter-spacing:3px;color:var(--white);text-decoration:none}.logo span{color:var(--g);text-shadow:0 0 16px rgba(57,255,20,.5)}.page-title{font-family:var(--fu);font-size:.75rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted);border-left:1px solid var(--bd);padding-left:1.5rem}.header-actions{display:flex;gap:.75rem}.btn{font-family:var(--fu);font-size:.82rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:.55rem 1.2rem;border-radius:3px;border:1px solid var(--bd);cursor:pointer;transition:all .15s;background:var(--card);color:var(--muted)}.btn:hover{border-color:var(--g);color:var(--g)}.btn-primary{background:var(--g);color:var(--bg);border-color:var(--g);box-shadow:0 0 12px #39ff1426}.btn-primary:hover{box-shadow:0 0 20px #39ff144d}.btn-primary:disabled{opacity:.4;cursor:default;box-shadow:none}.btn-danger{border-color:var(--red);color:var(--red)}.btn-danger:hover{background:#ff55551a}.btn-sm{padding:.3rem .7rem;font-size:.72rem}.stats-bar{display:flex;gap:1px;background:var(--bd);border:1px solid var(--bd);border-radius:4px;overflow:hidden;margin-bottom:1.5rem}.stat{flex:1;background:var(--card);padding:.75rem 1rem;text-align:center}.stat-value{font-family:var(--fh);font-size:1.25rem;color:var(--white);line-height:1}.stat-value.green{color:var(--g)}.stat-value.orange{color:var(--orange)}.stat-value.red{color:var(--red)}.stat-label{font-family:var(--fu);font-size:.65rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}.filter-bar{display:flex;align-items:center;gap:1rem;padding:.75rem 0;margin-bottom:1rem}.filter-bar input{flex:1;background:var(--card);border:1px solid var(--bd);color:var(--white);font-family:var(--fb);font-size:.9rem;padding:.55rem 1rem;border-radius:3px;outline:none;transition:border-color .15s}.filter-bar input:focus{border-color:var(--g)}.filter-bar input::placeholder{color:var(--muted)}.filter-bar select{background:var(--card);border:1px solid var(--bd);color:var(--text);font-family:var(--fu);font-size:.85rem;font-weight:600;padding:.55rem .75rem;border-radius:3px;cursor:pointer}.table-wrap{overflow-x:auto;border:1px solid var(--bd);border-radius:4px;background:var(--card)}table{width:100%;border-collapse:collapse;min-width:900px}thead th{padding:.6rem .75rem;font-family:var(--fu);font-size:.68rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--bg);background:var(--g);text-align:left;position:sticky;top:0;z-index:2}thead th.right{text-align:right}thead th.center{text-align:center}tbody tr{border-bottom:1px solid var(--bd);transition:background .1s}tbody tr:nth-child(2n){background:var(--card2)}tbody tr:hover{background:#39ff1408}tbody tr.changed{background:#39ff140f!important}td{padding:.55rem .75rem;font-size:.9rem;vertical-align:middle;color:var(--text)}td.product-name{font-family:var(--fu);font-weight:700;font-size:.95rem;color:var(--white);white-space:nowrap}td.category{font-family:var(--fu);font-size:.72rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.tier-row{display:flex;align-items:center;gap:.6rem;padding:.25rem 0;border-bottom:1px solid rgba(30,45,61,.3)}.tier-row:last-child{border-bottom:none}.tier-mg{font-family:var(--fu);font-size:.82rem;font-weight:700;color:var(--muted);min-width:55px}.tier-vials{font-family:var(--fu);font-size:.72rem;color:var(--muted);min-width:40px}.price-input-wrap{position:relative;display:inline-flex;align-items:center}.price-input-wrap:before{content:"$";position:absolute;left:8px;font-family:Calibri,Segoe UI,system-ui,sans-serif;font-size:.85rem;font-weight:700;color:#0f8;pointer-events:none}.price-input{width:90px;background:var(--bg);border:1px solid var(--bd);color:var(--w);font-family:Calibri,Segoe UI,system-ui,sans-serif;font-size:.92rem;font-weight:700;padding:.35rem .5rem .35rem 1.2rem;border-radius:3px;text-align:right;outline:none;transition:all .15s}.price-input:focus{border-color:var(--g);box-shadow:0 0 8px #39ff1426}.price-input.changed{border-color:var(--orange);color:var(--orange);box-shadow:0 0 6px #ffa72626}.per-vial{font-family:var(--fu);font-size:.72rem;color:var(--muted);margin-left:.5rem;min-width:65px}.tier-actions{display:flex;gap:.3rem;margin-left:.3rem}.tier-btn{width:22px;height:22px;border-radius:2px;border:1px solid var(--bd);background:var(--card2);color:var(--muted);font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;line-height:1}.tier-btn:hover{border-color:var(--g);color:var(--g)}.tier-btn.remove:hover{border-color:var(--red);color:var(--red)}.add-tier-row{display:flex;align-items:center;gap:.5rem;padding-top:.3rem}.add-tier-btn{font-family:var(--fu);font-size:.68rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted);background:none;border:1px dashed var(--bd);padding:.2rem .6rem;border-radius:2px;cursor:pointer;transition:all .15s}.add-tier-btn:hover{border-color:var(--g);color:var(--g)}.toast{position:fixed;bottom:2rem;right:2rem;z-index:1000;background:var(--card);border:1px solid var(--g);box-shadow:0 0 20px #39ff1426,0 8px 24px #0006;border-radius:4px;padding:.85rem 1.5rem;font-family:var(--fu);font-size:.85rem;font-weight:700;letter-spacing:1px;color:var(--g);transform:translateY(100px);opacity:0;transition:all .3s ease}.toast.show{transform:translateY(0);opacity:1}.toast.error{border-color:var(--red);color:var(--red)}.modal-overlay{position:fixed;inset:0;z-index:500;background:#000000b3;display:none;align-items:center;justify-content:center}.modal-overlay.active{display:flex}.modal{background:var(--card);border:1px solid var(--bd);border-radius:6px;max-width:700px;width:90%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--bd)}.modal-title{font-family:var(--fh);font-size:1.3rem;letter-spacing:2px;color:var(--white)}.modal-body{padding:1.25rem;overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid var(--bd)}.diff-item{padding:.6rem 0;border-bottom:1px solid rgba(30,45,61,.3)}.diff-item:last-child{border-bottom:none}.diff-product{font-family:var(--fu);font-size:.9rem;font-weight:700;color:var(--white);margin-bottom:.3rem}.diff-change{font-family:var(--fu);font-size:.82rem;display:flex;align-items:center;gap:.5rem;padding:.15rem 0}.diff-mg{color:var(--muted);min-width:50px}.diff-old{color:var(--red);text-decoration:line-through}.diff-arrow{color:var(--muted)}.diff-new{color:var(--g);font-weight:700}.diff-added{color:var(--g);font-style:italic}.diff-removed{color:var(--red);font-style:italic}@media(max-width:768px){.header{flex-direction:column;gap:1rem;align-items:flex-start}.stats-bar,.filter-bar{flex-direction:column}.app{padding:1rem}}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}html:after{content:"";position:fixed;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(0,255,136,.08) 50%,transparent 100%);animation:scanline 8s linear infinite;pointer-events:none;z-index:0}
