@import url('https://fonts.googleapis.com/css2?family=DM+Mono&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#1c2430;--muted:#77808c;--line:#e8ebef;--blue:#2369eb;--navy:#142033;--bg:#f6f8fa;--green:#16835d;--orange:#c66a10}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:14px Manrope,Arial;color:var(--ink)}a{text-decoration:none;color:inherit}aside{background:var(--navy);color:#cbd4df;width:248px;position:fixed;inset:0 auto 0 0;padding:30px 16px;display:flex;flex-direction:column}.brand{font-size:25px;font-weight:800;letter-spacing:-1.5px;color:white;padding:0 13px}.brand span{color:#5d92ff}.profile{border-top:1px solid #2c394a;margin:30px 5px 20px;padding:22px 7px 0;display:flex;gap:10px;align-items:center}.profile b,.profile small{display:block}.profile small{font-size:10px;color:#8795a7;margin-top:3px}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#5379bd;color:#fff;font-weight:800}.avatar.small{width:38px;height:38px;background:#edf3ff;color:var(--blue)}nav{display:grid;gap:5px}nav a{padding:12px 13px;border-radius:7px;font-weight:600;font-size:13px}nav a i{font-style:normal;font-size:18px;width:29px;display:inline-block;color:#8998aa}nav a.active,nav a:hover{background:#263851;color:#fff}nav a.active i{color:#77a4ff}.logout{margin-top:auto;padding:13px;color:#9babbb;font-weight:600}.app{margin-left:248px;padding:37px 48px;max-width:1600px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:31px}.eyebrow{font:10px 'DM Mono';letter-spacing:1.15px;color:#798596;font-weight:bold}h1{font-size:27px;letter-spacing:-1px;margin:5px 0 0}h2{letter-spacing:-.8px}h3{margin:0;font-size:15px}p{color:var(--muted);margin:6px 0}.top-actions{display:flex;gap:10px;align-items:center}select,.toolbar input{border:1px solid var(--line);background:#fff;border-radius:7px;padding:11px 13px;color:var(--ink);font:600 12px Manrope}.icon-btn{background:#fff;border:1px solid var(--line);border-radius:7px;width:40px;height:40px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.metrics article,.panel,.scan-card,.scan-help{background:#fff;border:1px solid var(--line);border-radius:10px}.metrics article{padding:21px}.metrics span{font:10px 'DM Mono';color:#788392;letter-spacing:.8px}.metrics b{display:block;font-size:25px;letter-spacing:-1px;margin:8px 0 4px}.metrics small{color:var(--muted);font-size:11px}.metrics .warn{border-left:3px solid #ed962d}.grid-2{display:grid;grid-template-columns:1.35fr 1fr;gap:18px;margin-bottom:18px}.panel{padding:22px;margin-bottom:18px}.panel-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:19px}.panel-head a{color:var(--blue);font-size:12px;font-weight:700}.panel-head p{font-size:11px}.chart{height:174px;display:flex;align-items:flex-end;gap:17px;padding:10px 3px 20px;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 42px,#f0f2f5 43px)}.bar{width:38px;background:linear-gradient(#6597f5,#2369eb);border-radius:4px 4px 0 0;position:relative}.bar:after{content:attr(data-name);position:absolute;top:calc(100% + 7px);font-size:9px;color:var(--muted);white-space:nowrap;left:50%;transform:translateX(-50%)}.quick{display:grid;gap:10px}.quick a{border:1px solid var(--line);padding:12px;border-radius:7px;display:flex;gap:11px;align-items:center;color:var(--blue);font-size:19px}.quick span{font-size:11px;color:var(--muted);line-height:16px}.quick b{color:var(--ink)}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;font:10px 'DM Mono';letter-spacing:.55px;color:#86909d;padding:0 10px 12px}td{padding:13px 10px;border-top:1px solid var(--line);color:#53606e}td b{color:#28323e}td small{display:block;color:#8b94a0;margin-top:2px}.pill{font-size:10px;font-weight:700;padding:5px 8px;border-radius:20px}.pill.in,.pill.ok{background:#e7f6ef;color:#16835d}.pill.out,.pill.low{background:#fff0e5;color:#c46408}.toolbar{display:flex;justify-content:space-between;margin-bottom:18px}.toolbar input{width:330px}.outline,.export-actions .outline{border:1px solid #bdd0f8;color:var(--blue);background:#fff;border-radius:7px;padding:10px 13px;font-size:12px;font-weight:700}.scanner-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.scan-card,.scan-help{padding:32px}.scan-card h2{font-size:23px;margin:8px 0}.scan-card>p{margin-bottom:27px}.scan-input{display:flex;align-items:center;border:2px solid #9cbcf8;border-radius:8px;padding:0 14px;color:var(--blue);margin-bottom:18px}.scan-input input{border:0;outline:0;width:100%;padding:16px 10px;font:600 15px Manrope}.movement-choice{display:flex;gap:10px;margin-bottom:18px}.movement-choice input{display:none}.movement-choice span{display:block;border:1px solid var(--line);border-radius:7px;padding:10px 20px;font-weight:700;color:var(--muted)}.movement-choice input:checked+span{border-color:#85abf5;color:var(--blue);background:#f3f7ff}label{display:block;font-size:11px;font-weight:700;color:#657180;margin:12px 0}label input{display:block;width:100%;border:1px solid var(--line);border-radius:7px;padding:11px;margin-top:6px;font:13px Manrope}button,.scan-card button,.export-actions button{border:0;border-radius:7px;background:var(--blue);color:#fff;font:700 12px Manrope;padding:12px 17px;cursor:pointer}.scan-card button{width:100%;margin-top:12px}.scan-help{background:linear-gradient(135deg,#eff5ff,#fff)}.scanner-visual{height:170px;background:#1b2a40;border-radius:8px;display:grid;place-items:center;color:white;font-size:38px;overflow:hidden}.scanner-visual div{position:absolute;width:85%;height:3px;background:#e34242;box-shadow:0 0 15px #e34242}.scan-help h3{margin-top:25px}.scan-help ul{padding-left:18px;line-height:28px;color:#5f6b78;font-size:12px}.product-form{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.product-form button{align-self:end}.report-panel{display:flex;justify-content:space-between;align-items:center}.export-actions{display:flex;gap:10px}.danger{color:#c46408!important;font-weight:bold}.branch-row{display:flex;align-items:center;gap:11px;padding:13px 0;border-top:1px solid var(--line)}.branch-row:first-of-type{border-top:0}.branch-row div{flex:1}.branch-row b,.branch-row small{display:block}.branch-row small{color:var(--muted);font-size:11px}.branch-row a{font-size:11px;color:var(--blue);font-weight:bold}.toast,.alert{padding:12px 15px;border-radius:7px;background:#e7f6ef;color:#16835d;font-size:12px;font-weight:bold;margin:0 0 18px}.login-page{min-height:100vh;display:grid;place-items:center;background:#eaf0f7}.login-card{display:grid;grid-template-columns:1.15fr .85fr;width:min(900px,93vw);min-height:535px;background:white;border-radius:15px;overflow:hidden;box-shadow:0 20px 70px #26385133}.login-hero{padding:62px;background:linear-gradient(150deg,#192940,#203c68);color:white;position:relative}.mark{font-size:28px;color:#79a4fa}.login-hero .eyebrow{color:#91b4fb;display:block;margin-top:80px}.login-hero h1{font-size:38px;line-height:1.18;margin:11px 0}.login-hero i{color:#85aefd;font-style:normal}.login-hero p{color:#b7c7dd;max-width:380px}.hero-stat{margin-top:60px;display:flex;gap:13px;align-items:center}.hero-stat b{font-size:28px}.hero-stat span{font-size:11px;color:#acc0d9}.login-form{padding:60px 47px}.login-form .brand{color:var(--navy);padding:0}.login-form h2{font-size:25px;margin:55px 0 3px}.login-form form{margin-top:24px}.login-form button{width:100%;margin-top:12px;display:flex;justify-content:space-between}.login-form small{display:block;color:#85909e;margin-top:22px;font-size:10px;line-height:18px}@media(max-width:850px){aside{width:65px;padding:22px 8px}.brand,.profile div,nav a:not(.active),.logout{font-size:0}.profile{margin:25px 0}.profile .avatar{display:grid}.app{margin-left:65px;padding:25px 20px}.metrics{grid-template-columns:repeat(2,1fr)}.grid-2,.scanner-layout{grid-template-columns:1fr}.login-hero{display:none}.login-card{grid-template-columns:1fr;width:min(430px,93vw)}.product-form{grid-template-columns:1fr}}@media print{aside,header,.export-actions{display:none!important}.app{margin:0;padding:0}.panel{border:0}.metrics{grid-template-columns:repeat(3,1fr)}}
