:root{--bg:#f5f7fb;--card:#fff;--text:#151827;--muted:#64748b;--line:#e5e7ef;--primary:#6d28d9;--primary2:#8b5cf6;--green:#16a34a;--red:#dc2626;--yellow:#ca8a04;--sidebar:#111827}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.container{width:100%;max-width:100%;padding:0 32px}.public-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{font-weight:900;font-size:24px;letter-spacing:-.03em}.logo span{color:var(--primary)}.nav-links{display:flex;gap:24px;align-items:center}.btn{border:0;border-radius:12px;padding:12px 18px;font-weight:750;cursor:pointer;display:inline-flex;gap:8px;align-items:center;justify-content:center}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary2));color:white}.btn-ghost{background:#fff;color:var(--primary);border:1px solid var(--line)}.btn-small{padding:7px 10px;border-radius:9px;font-size:12px}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;min-height:620px;padding:64px 32px;background:radial-gradient(circle at 20% 20%,#efe7ff,transparent 34%),radial-gradient(circle at 80% 30%,#dff7ed,transparent 34%)}.hero h1{font-size:clamp(38px,5vw,72px);line-height:.95;margin:0 0 22px;letter-spacing:-.06em}.hero p{font-size:20px;color:var(--muted);max-width:760px;line-height:1.55}.hero-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:22px;box-shadow:0 20px 70px rgba(30,41,59,.12)}.fake-dashboard{display:grid;gap:14px}.fake-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.metric,.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px}.metric strong{display:block;font-size:24px}.section{padding:70px 32px}.section h2{font-size:42px;margin:0 0 24px;letter-spacing:-.04em}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.muted{color:var(--muted)}.footer{padding:36px 32px;border-top:1px solid var(--line);color:var(--muted);background:white}.auth-wrap{min-height:calc(100vh - 72px);display:grid;place-items:center;padding:40px;background:linear-gradient(135deg,#0b1020,#24105f)}.auth-card{width:min(460px,100%);background:white;border-radius:24px;padding:30px;box-shadow:0 20px 70px rgba(0,0,0,.28)}.form-grid{display:grid;gap:14px}.form-grid input,.form-grid select,.form-grid textarea,.filters input,.filters select{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:white;font:inherit}.alert{padding:12px 14px;border-radius:12px;margin:12px 0}.alert-error{background:#fee2e2;color:#991b1b}.alert-success{background:#dcfce7;color:#166534}.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.side{background:#0f1222;color:white;padding:22px;position:sticky;top:0;height:100vh}.side .logo{margin-bottom:24px}.side a{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;color:#dbe1ff;margin:4px 0}.side a:hover{background:rgba(255,255,255,.12);color:#fff}.main{min-width:0}.topbar{height:70px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:10}.content{padding:28px}.page-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.page-title h1{margin:0;font-size:30px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:20px}.kpi{background:white;border:1px solid var(--line);border-radius:18px;padding:18px}.kpi b{display:block;font-size:26px;margin-top:8px}.table-wrap{background:white;border:1px solid var(--line);border-radius:18px;overflow:auto}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}.table th{position:sticky;top:0;background:#fbfcff;color:#475569;text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.table th,.table td{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap}.table tr:last-child td{border-bottom:0}.product-img{width:56px;height:56px;border-radius:12px;object-fit:cover;background:#eef2ff}.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.filters input{max-width:360px}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:12px;font-weight:750}.status-good{background:#dcfce7}.status-low{background:#fef9c3}.status-bad{background:#fee2e2}.status-warn{background:#ffedd5}.text-green{color:var(--green);font-weight:800}.text-red{color:var(--red);font-weight:800}.install-body{display:grid;place-items:start center;min-height:100vh;padding:32px;background:#f8fafc}.install-card{width:min(980px,100%);background:white;border:1px solid var(--line);border-radius:22px;padding:28px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.note{padding:14px;border:1px dashed #c4b5fd;background:#faf5ff;border-radius:14px;color:#4c1d95}.wide-card{background:white;border:1px solid var(--line);border-radius:20px;padding:22px;margin-bottom:20px}@media(max-width:980px){.hero{grid-template-columns:1fr}.grid-3,.cards,.fake-row{grid-template-columns:1fr}.app-shell{grid-template-columns:1fr}.side{height:auto;position:relative}.nav-links{display:none}.container,.hero,.section{padding-left:18px;padding-right:18px}.content{padding:18px}.topbar{padding:0 18px}}


.form-grid label{display:grid;gap:7px;color:#475569;font-weight:650}
.img-modal{position:fixed;inset:0;background:rgba(2,6,23,.78);display:grid;place-items:center;z-index:9999;padding:24px}
.img-modal img{max-width:min(880px,92vw);max-height:86vh;border-radius:18px;background:white;box-shadow:0 30px 100px rgba(0,0,0,.45)}
.img-modal button{position:fixed;top:20px;right:24px;border:0;border-radius:999px;width:44px;height:44px;font-size:28px;background:white;cursor:pointer}
.side form .btn{font-size:14px}
@media(max-width:680px){.actions{width:100%}.actions .btn,.actions form,.filters .btn{width:100%}.table th,.table td{padding:10px 11px}.side{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.side .logo{grid-column:1/-1}.side form{grid-column:1/-1}}

.pt-0{padding-top:0}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.pricing-grid{align-items:stretch}.pricing-card{display:flex;flex-direction:column;gap:12px}.pricing-card h3{font-size:28px;margin:8px 0 0}.price-line{display:flex;align-items:flex-end;gap:8px;margin:8px 0}.price-line strong{font-size:38px;line-height:1;color:var(--text)}.price-line span{color:var(--muted);padding-bottom:4px}.feature-list{display:grid;gap:8px;margin:8px 0 18px;padding:0;list-style:none;color:#334155}.pricing-card .btn{margin-top:auto}.current-plan{outline:2px solid #a78bfa;background:#faf5ff}.two-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.two-cols label{min-width:0}.checks{display:flex;gap:14px;flex-wrap:wrap;margin:14px 0}.checks label{display:flex;gap:8px;align-items:center;background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:10px 12px}.checks-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.tariff-form textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px}.status-good{color:#166534}.status-bad{color:#991b1b}@media(max-width:980px){.grid-2,.two-cols,.checks-grid{grid-template-columns:1fr}.price-line strong{font-size:32px}}


.simple-chart{display:block;width:100%;max-width:100%;border:1px solid var(--line);border-radius:16px;background:#fff}
.stats-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.expense-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.expense-grid div{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:14px}
.expense-grid span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}
.expense-grid b{font-size:18px}
@media(max-width:1200px){.stats-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.stats-cards,.expense-grid{grid-template-columns:1fr}.simple-chart{height:230px!important}}

.alert-info{background:#dbeafe;color:#1e40af}.kpi-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}@media(max-width:980px){.kpi-row{grid-template-columns:1fr}}
.form-inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.form-inline input{flex:1;min-width:220px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:white;font:inherit}.btn-secondary{background:#eef2ff;color:#3730a3}.log-box{max-height:360px;overflow:auto;background:#0f172a;color:#dbeafe;border-radius:14px;padding:14px;font-size:12px;line-height:1.5;white-space:pre-wrap}.nice-list{display:grid;gap:8px;color:#475569;padding-left:20px}.wide-card h2,.wide-card h3{margin-top:0}code{background:#f1f5f9;border:1px solid var(--line);border-radius:7px;padding:2px 6px}

.alert-warn{background:#fef3c7;color:#92400e}.verify-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.verify-banner form{margin:0}
.diag-table td:first-child{color:#64748b;font-weight:700}

.chart-card{position:relative}.chart-tooltip{position:fixed;z-index:10000;display:none;min-width:220px;max-width:340px;background:#0f172a;color:#f8fafc;border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:10px 12px;box-shadow:0 18px 60px rgba(2,6,23,.32);font-size:13px;line-height:1.45;pointer-events:none}.chart-tooltip b{color:#fff}.chart-tooltip div{display:flex;justify-content:space-between;gap:16px;white-space:nowrap}.chart-tooltip div b{margin-left:auto}.simple-chart{cursor:crosshair}

/* v10: компактная форма выбора тарифа прямо в управлении пользователями. */
.admin-plan-form{display:grid;grid-template-columns:minmax(150px,1.2fr) 140px 140px minmax(160px,1fr) auto;gap:8px;align-items:center;min-width:760px}
.admin-plan-form select,.admin-plan-form input{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:white;font:inherit;font-size:13px}
.admin-users-table td{vertical-align:top}.admin-users-table .actions{min-width:230px}
@media(max-width:980px){.admin-plan-form{grid-template-columns:1fr;min-width:260px}.admin-plan-form .btn{width:100%}}

/* v11: модальное окно живого запуска задач WB. */
.job-modal{position:fixed;inset:0;z-index:12000;background:rgba(15,23,42,.62);display:grid;place-items:center;padding:22px}
.job-modal-card{width:min(620px,96vw);background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 30px 110px rgba(2,6,23,.36)}
.job-modal-card h3{margin-top:0}.job-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}.job-state{border:1px solid var(--line);border-radius:14px;padding:12px;margin:8px 0;background:#f8fafc}.job-state b{display:inline-block;margin-right:8px}.job-state.is-done{background:#ecfdf5;border-color:#bbf7d0}.job-state.is-error{background:#fef2f2;border-color:#fecaca}.job-progress{height:8px;background:#e5e7ef;border-radius:999px;overflow:hidden;margin:10px 0 5px}.job-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--primary2));border-radius:999px;transition:width .25s ease}.job-state.is-error .job-progress i{background:var(--red)}.job-state.is-done .job-progress i{background:var(--green)}

/* v13: первая колонка закреплена во всех широких таблицах, чтобы при горизонтальном скролле было понятно, какая строка относится к какому товару/дате. */
.table tbody tr{background:#fff}.table tbody tr.status-good{background:#dcfce7}.table tbody tr.status-low{background:#fef9c3}.table tbody tr.status-bad{background:#fee2e2}.table tbody tr.status-warn{background:#ffedd5}
.table th:first-child,.table td:first-child{position:sticky;left:0;z-index:3;background:inherit;box-shadow:10px 0 16px rgba(15,23,42,.05)}
.table th:first-child{z-index:6;background:#fbfcff}.table td:first-child{background:inherit}.product-sticky{min-width:340px;max-width:420px;white-space:normal}.product-cell{display:flex;align-items:center;gap:12px;min-width:300px}.product-cell-text{display:grid;gap:4px;min-width:0}.product-cell-text b{font-size:13px;line-height:1.25;white-space:normal}.product-cell-text span{font-size:12px;color:var(--muted);white-space:normal}.product-placeholder{display:inline-flex;align-items:center;justify-content:center;color:#4338ca;font-weight:900;font-size:12px}.inline-input{width:118px;border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:white;font:inherit;font-size:13px}.inline-input:focus{outline:2px solid rgba(109,40,217,.18);border-color:#a78bfa}.inline-input-small{width:86px}.inline-date{width:142px}.inline-comment{width:230px}.autosave-state{display:inline-flex;min-width:92px;font-size:12px;color:var(--muted);align-items:center}.autosave-state.is-saving{color:#6d28d9}.autosave-state.is-error{color:var(--red);font-weight:800}.autosave-state.is-saved{color:var(--green);font-weight:800}.editable-table td{vertical-align:top}.editable-table .product-sticky{vertical-align:middle}
@media(max-width:680px){.product-sticky{min-width:260px}.product-cell{min-width:230px}.inline-comment{width:180px}.inline-input{width:105px}}
