@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#18212f;font-synthesis:none;--ink:#18212f;--muted:#6b7585;--line:#e2e7ee;--blue:#1b5cff;--blue-dark:#1246cc;--green:#14805e;--amber:#9b6300;--red:#bd2c42;background:#f3f5f8;font-family:Manrope,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,p{margin-top:0}.auth-shell{background:radial-gradient(circle at 15% 15%,#e1eaff 0,#0000 33%),radial-gradient(circle at 90% 85%,#e0f5ef 0,#0000 30%),#f6f7fa;place-items:center;min-height:100vh;padding:32px;display:grid}.auth-card{background:#fffffff0;border:1px solid #d2d9e5d9;border-radius:24px;width:min(440px,100%);padding:38px;box-shadow:0 24px 80px #192a4b1f}.brand-mark{background:var(--blue);color:#fff;border-radius:14px;place-items:center;width:48px;height:48px;margin-bottom:24px;font-weight:800;display:grid}.eyebrow{color:var(--blue);letter-spacing:.13em;margin-bottom:7px;font-size:11px;font-weight:800}.auth-card h1{letter-spacing:-.04em;margin-bottom:10px;font-size:28px}.muted{color:var(--muted);font-size:13px;line-height:1.6}form{gap:16px;margin-top:25px;display:grid}label{color:#465164;gap:7px;font-size:12px;font-weight:700;display:grid}input,select,textarea{color:var(--ink);background:#fff;border:1px solid #d8dee8;border-radius:10px;outline:none;padding:10px 12px;transition:border .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:#6d95ff;box-shadow:0 0 0 3px #1b5cff1a}button{color:#354155;background:#fff;border:1px solid #d8dee8;border-radius:9px;padding:9px 13px;font-size:13px;font-weight:700;transition:all .15s}button:hover{background:#f9fafb;border-color:#aab5c5}button.primary{border-color:var(--blue);background:var(--blue);color:#fff}button.primary:hover{background:var(--blue-dark)}.wide{width:100%;min-height:44px}.notice{border-radius:9px;padding:11px 13px;font-size:12px;line-height:1.5}.notice.error{color:#922338;background:#fff0f2;border:1px solid #ffd2d9}.app-shell{min-height:100vh}header{color:#fff;background:#151c29;border-bottom:1px solid #283244;align-items:center;gap:30px;height:66px;padding:0 24px;display:flex}.logo{align-items:center;gap:10px;min-width:215px;display:flex}.logo>span{background:var(--blue);border-radius:9px;place-items:center;width:34px;height:34px;font-size:12px;font-weight:800;display:grid}.logo div{gap:1px;display:grid}.logo b{font-size:14px}.logo small{color:#8996aa;text-transform:uppercase;letter-spacing:.12em;font-size:10px}nav{align-self:stretch;gap:4px;display:flex}nav button{color:#9ca8ba;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:0 17px}nav button:hover,nav button.active{color:#fff;background:#1c2636;border-bottom-color:#5b87ff}nav i{background:#303c50;border-radius:10px;place-items:center;min-width:18px;height:18px;margin-left:4px;padding:0 5px;font-size:9px;font-style:normal;display:inline-grid}.logout{color:#aeb8c7;background:0 0;border-color:#354156;margin-left:auto}.current-user{justify-items:end;gap:1px;min-width:120px;margin-left:auto;display:grid}.current-user b{color:#dfe5ee;text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:11px;overflow:hidden}.current-user small{color:#8996aa;text-transform:uppercase;letter-spacing:.08em;font-size:9px}.current-user+.logout{margin-left:0}.main-content{padding:22px 24px 34px}.products-view{min-width:0}.products-view[hidden]{display:none}.panel{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 5px 20px #1a24340a}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:80px;padding:18px 20px;display:flex}.panel-head h2,.add-shop h2{letter-spacing:-.03em;margin:0;font-size:20px}.panel-head .eyebrow{margin:0 0 4px}.count{color:#4f5b6d;background:#f0f3f7;border-radius:15px;place-items:center;min-width:36px;height:28px;padding:0 9px;font-size:12px;font-weight:800;display:inline-grid}.head-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.auto-sync{color:#087052;white-space:nowrap;background:#e4f7f0;border-radius:15px;align-items:center;height:28px;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}.summary-metric{color:#4f5b6d;white-space:nowrap;background:#f0f3f7;border-radius:9px;grid-template-columns:auto auto;align-items:baseline;gap:6px;min-height:32px;padding:6px 10px;display:grid}.summary-metric small{text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:700}.summary-metric b{color:#202c3d;font-size:14px}.summary-metric.invest-average{color:#6756b8;background:#eeeaff}.summary-metric.invest-average b{color:#51409f}.excel-button{color:#087052;background:#edfaf5;border-color:#a9dacb}.excel-button:hover{color:#075b44;background:#dff5ed;border-color:#75bfa8}.content-grid{gap:18px;display:grid}.shops-grid{grid-template-columns:minmax(0,1fr) 340px}.shop-list{gap:12px;padding:16px;display:grid}.shop-card{border:1px solid var(--line);border-radius:11px;padding:17px}.shop-title{justify-content:space-between;gap:15px;display:flex}.shop-title h3{margin:0 0 4px;font-size:15px}.shop-title div>span{color:var(--muted);font-size:11px}.status,.freshness{white-space:nowrap;border-radius:12px;align-items:center;height:24px;padding:0 9px;font-size:10px;font-weight:800;display:inline-flex}.status.ok,.freshness.fresh{color:#087052;background:#e4f7f0}.status.error,.freshness.missing{color:#a6253a;background:#ffeaee}.status.unchecked,.freshness.stale{color:#8a5b08;background:#fff1d6}.shop-message{min-height:20px;color:var(--muted);margin:11px 0;font-size:11px}.sync-strip{background:#f6f8fa;border-radius:8px;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:10px;display:grid}.sync-strip div{gap:2px;min-width:0;display:grid}.sync-strip b{color:#3a4659;text-transform:uppercase;font-size:9px}.sync-strip span{color:#8a94a3;white-space:nowrap;text-overflow:ellipsis;font-size:8px;overflow:hidden}.actions{gap:8px;margin-top:13px;display:flex}.add-shop{align-self:start;padding:22px}.add-shop form{margin-top:20px}.empty{color:var(--muted);text-align:center;padding:38px;font-size:12px}.employees-grid{grid-template-columns:minmax(0,1fr) 360px}.employee-list{gap:10px;padding:16px;display:grid}.employee-card{border:1px solid var(--line);border-radius:11px;grid-template-columns:minmax(220px,1.2fr) auto minmax(280px,.9fr) auto;align-items:center;gap:14px;padding:16px;display:grid}.employee-main{align-items:center;gap:12px;min-width:0;display:flex}.employee-main>div:last-child{gap:3px;min-width:0;display:grid}.employee-main h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;overflow:hidden}.employee-main span{color:#526075;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.employee-main small{color:#929baa;font-size:9px}.employee-avatar{color:#3158b2;background:#e7edff;border-radius:12px;flex:0 0 40px;place-items:center;width:40px;height:40px;font-size:15px;font-weight:800;display:grid}.password-form{grid-template-columns:minmax(150px,1fr) auto;gap:7px;margin:0;display:grid}.password-form input{min-width:0}.employee-toggle{white-space:nowrap}.add-employee{align-self:start}.filters{border-bottom:1px solid var(--line);background:#fafbfc;grid-template-columns:minmax(250px,2.1fr) repeat(6,minmax(120px,1fr));gap:8px;padding:12px 14px;display:grid}.filters input,.filters select{min-width:0;height:38px;padding:7px 9px;font-size:12px}.table-wrap{min-height:430px;max-height:calc(100vh - 260px);overflow:auto}table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:12px}th{z-index:3;color:#6d7788;text-transform:uppercase;letter-spacing:.035em;text-align:left;white-space:nowrap;background:#f6f8fa;border-bottom:1px solid #dce2e9;padding:10px;font-size:10px;position:sticky;top:0}th.sortable{cursor:pointer}th.sortable:hover{color:var(--blue);background:#edf2ff}td{color:#374255;vertical-align:middle;border-bottom:1px solid #edf0f4;max-width:220px;height:54px;padding:7px 10px}tbody tr:hover td{background:#f8faff}.image-cell{text-align:center;width:54px;min-width:54px}.image-cell img{object-fit:contain;background:#fff;border:1px solid #edf0f4;border-radius:7px;width:38px;height:38px;margin:auto;display:block}.no-image{color:#aab2be;background:#f2f4f7;border-radius:7px;place-items:center;width:38px;height:38px;margin:auto;display:grid}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.product-name{color:#202c3d;white-space:normal;overflow-wrap:anywhere;min-width:250px;max-width:360px;font-weight:600;line-height:1.4}.number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.strong{color:#101827;font-weight:800}.shop-pill{text-overflow:ellipsis;white-space:nowrap;background:#eef2f8;border-radius:6px;max-width:110px;padding:4px 7px;font-size:10px;font-weight:700;display:inline-block;overflow:hidden}.index{text-align:center;background:#f0f2f5;border-radius:5px;min-width:42px;padding:4px 6px;font-weight:800;display:inline-block}.index.green{color:#087052;background:#e4f7f0}.index.yellow{color:#8a5b08;background:#fff1d6}.index.red{color:#a6253a;background:#ffeaee}.invest{color:#5946b2;background:#eeeaff;border-radius:5px;padding:4px 6px;font-weight:800;display:inline-block}.updated-time{color:#526075;white-space:nowrap;min-width:132px;font-size:11px;line-height:1.35}.table-empty{position:absolute;left:30%;right:30%}.pagination{min-height:58px;color:var(--muted);border-top:1px solid var(--line);justify-content:center;align-items:center;gap:16px;font-size:12px;display:flex}.toast{z-index:20;color:#fff;border-radius:10px;max-width:460px;padding:13px 16px;font-size:12px;position:fixed;top:78px;right:22px;box-shadow:0 14px 35px #19233433}.toast.ok{background:#147358}.toast.error{background:#b32a41}@media (width<=1100px){.shops-grid,.employees-grid{grid-template-columns:1fr}.employee-card{grid-template-columns:minmax(220px,1fr) auto}.password-form{grid-column:1/2}.filters{grid-template-columns:repeat(3,1fr)}.filters .search{grid-column:span 3}}@media (width<=680px){header{gap:8px;padding:0 12px}.logo{min-width:auto}.logo div,.current-user{display:none}nav button{padding:0 8px}.logout{padding:7px}.main-content{padding:12px}.filters{grid-template-columns:1fr 1fr}.filters .search{grid-column:span 2}.auto-sync,.summary-metric small{display:none}.sync-strip{grid-template-columns:1fr 1fr}.actions{flex-wrap:wrap}.employee-card{grid-template-columns:1fr;align-items:start}.password-form{grid-column:auto;grid-template-columns:1fr}}
