:root{--основной: #7b2ff7;--основной-нажат: #6a22e1;--поверхность: #ffffff;--фон: #f8f9fa;--фон-вариант: #e9ecef;--текст: #212529;--текст-тихий: #6c757d;--граница: #dee2e6;--граница-тихая: #e9ecef;--опасно: #dc3545;--опасно-фон: #f8d7da;--успех: #28a745;--успех-фон: #e8f6ec;--внимание: #ffc107;--внимание-фон: #fff8e1;--новое: #1a7f37;--на-сборке: #7b2ff7;--в-поставке: #b26a00;--готово: #6c757d;--просрочка: #dc3545;--просрочка-фон: #fdf2f3;--строка-через: #fbfbfd;--скругление: 12px}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.45;color:var(--текст);background:var(--фон)}h1,h2,h3,h4{font-family:Manrope,Inter,sans-serif;font-weight:700}.каркас{min-height:100vh;display:flex;flex-direction:column}.шапка{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:16px;padding:10px 20px;background:var(--поверхность);border-bottom:1px solid var(--граница)}.шапка .знак{font-family:Manrope,sans-serif;font-weight:800;font-size:17px;color:var(--основной);letter-spacing:-.02em}.шапка select{padding:6px 10px;border:1px solid var(--граница);border-radius:8px;font-size:13px;background:var(--поверхность)}.шапка .кто{margin-left:auto;color:var(--текст-тихий);font-size:12px}.вкладки{position:sticky;top:45px;z-index:29;display:flex;gap:2px;padding:0 20px;background:var(--поверхность);border-bottom:1px solid var(--граница)}.вкладки a{padding:10px 14px;font-size:13px;font-weight:500;color:var(--текст-тихий);text-decoration:none;border-bottom:2px solid transparent}.вкладки a:hover{color:var(--текст)}.вкладки a.выбран{color:var(--основной);border-bottom-color:var(--основной);font-weight:600}.основное{flex:1;padding:16px 20px;min-width:0}.плитки{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.плитка{background:var(--поверхность);border:1px solid var(--граница);border-radius:var(--скругление);padding:12px 14px}.плитка .подпись{font-size:12px;color:var(--текст-тихий);margin-bottom:4px}.плитка .число{font-family:Manrope,sans-serif;font-size:24px;font-weight:700;letter-spacing:-.02em}.плитка .доля{font-size:11px;color:var(--текст-тихий);margin-top:2px}.плитка.тревога .число{color:var(--опасно)}.плитка.прибыль{background:var(--успех-фон);border-color:#c6e9d0}.плитка.прибыль .число{color:var(--успех)}.фильтры{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--поверхность);border:1px solid var(--граница);border-radius:var(--скругление);padding:10px 12px;margin-bottom:12px}.фильтры input,.фильтры select{padding:6px 10px;border:1px solid var(--граница);border-radius:8px;font-size:13px;background:var(--поверхность);color:var(--текст)}.фильтры .справа{margin-left:auto}.таблица-обёртка{background:var(--поверхность);border:1px solid var(--граница);border-radius:var(--скругление)}table{width:100%;border-collapse:collapse;font-size:12.5px}thead th{position:sticky;top:82px;z-index:20;text-align:left;padding:9px 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--текст-тихий);background:var(--фон);border-bottom:1px solid var(--граница);white-space:nowrap}.таблица-обёртка.высокая{max-height:none}tbody td{padding:8px 10px;border-bottom:1px solid var(--граница-тихая);vertical-align:middle}tbody tr:nth-child(2n){background:var(--строка-через)}tbody tr:hover{background:#f4efff}tbody tr.горит{background:var(--просрочка-фон)}td.число,th.число{text-align:right;font-variant-numeric:tabular-nums}.деньги{font-variant-numeric:tabular-nums;white-space:nowrap}.потеря{color:var(--опасно);font-weight:700}.прибыль-ячейка{font-family:Manrope,sans-serif;font-weight:700;font-size:14px;color:var(--успех)}.часы{font-family:Manrope,sans-serif;font-weight:700;font-size:14px;white-space:nowrap}.точка{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.точка.зелёная{background:var(--успех)}.точка.жёлтая{background:var(--внимание)}.точка.красная{background:var(--опасно)}.плашка{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap}.плашка.новое{background:#e8f6ec;color:var(--новое)}.плашка.на-сборке{background:#f1e9ff;color:var(--на-сборке)}.плашка.в-поставке{background:var(--внимание-фон);color:var(--в-поставке)}.плашка.готово{background:var(--фон-вариант);color:var(--готово)}.плашка.отменено{background:var(--опасно-фон);color:var(--опасно)}.товар{display:flex;align-items:center;gap:8px;min-width:200px}.товар img{width:32px;height:32px;object-fit:cover;border-radius:6px;background:var(--фон-вариант)}.товар .название{font-weight:500}.товар .мелко{font-size:11px;color:var(--текст-тихий)}.блок{background:var(--поверхность);border:1px solid var(--граница);border-radius:var(--скругление);padding:14px 16px;margin-bottom:16px}.блок h3{margin:0 0 10px;font-size:14px}.блок .подпись{color:var(--текст-тихий);font-size:12px;margin:-4px 0 10px}.две-колонки{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:1100px){.две-колонки{grid-template-columns:1fr}}.главное-число{font-family:Manrope,sans-serif;font-size:30px;font-weight:800;letter-spacing:-.03em;line-height:1.15}.оценка-пометка{font-size:11px;color:var(--текст-тихий);margin-top:8px}button{padding:7px 14px;border-radius:8px;border:1px solid var(--граница);background:var(--поверхность);color:var(--текст);font-size:13px;cursor:pointer}button:hover{background:var(--фон)}button.главная{background:var(--основной);border-color:var(--основной);color:#fff;font-weight:600}button.главная:hover{background:var(--основной-нажат)}.страницы{display:flex;align-items:center;gap:8px;padding:10px 2px;color:var(--текст-тихий);font-size:12px}.вход-экран{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--фон)}.вход-окно{width:320px;background:var(--поверхность);border:1px solid var(--граница);border-radius:var(--скругление);padding:28px 24px}.вход-окно h1{margin:0 0 4px;font-size:24px;color:var(--основной);letter-spacing:-.02em}.вход-подпись{margin:0 0 18px;font-size:12.5px;color:var(--текст-тихий)}.вход-окно input{width:100%;margin-bottom:10px;padding:10px 12px;border:1px solid var(--граница);border-radius:8px;font-size:14px}.вход-окно input:focus{outline:none;border-color:var(--основной)}.вход-окно button{width:100%;margin-top:4px}.вход-окно button:disabled{opacity:.5;cursor:default}.вход-ошибка{color:var(--опасно);font-size:12px;margin:4px 0 8px}.диапазоны td{padding:7px 10px}.диапазоны .что{font-weight:700;font-variant-numeric:tabular-nums}.диапазоны .что.минус{color:var(--успех)}.диапазоны .что.плюс{color:var(--опасно)}.диапазоны .что.ноль{color:var(--текст-тихий)}.диапазоны .зачем{color:var(--текст-тихий);font-size:12px}.выбор-периода{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap}.выбор-периода select{padding:6px 10px;border:1px solid var(--граница);border-radius:8px;font-size:13px}.выбор-периода label,.редакции{font-size:12px;color:var(--текст-тихий)}.пример{margin-top:10px;font-size:12px;color:var(--текст-тихий)}.источник{margin-top:10px;font-size:11px;color:var(--текст-тихий)}.пульс-главное{display:flex;align-items:center;gap:24px;justify-content:space-between}.пульс-строка{margin-top:10px;font-size:13px;color:var(--текст-тихий)}.пульс-строка b{color:var(--текст)}.кольцо{width:120px;height:120px;flex-shrink:0;border-radius:50%;border:8px solid var(--фон-вариант);border-top-color:var(--основной);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.кольцо-число{font-family:Manrope,sans-serif;font-size:24px;font-weight:800;color:var(--основной)}.кольцо-подпись{font-size:10px;color:var(--текст-тихий);padding:0 8px;line-height:1.2}.по-дням{display:flex;align-items:flex-end;gap:8px;padding-top:8px;overflow-x:auto}.столбик-дня{text-align:center;min-width:34px}.столбик-дня .значение{font-size:11px;color:var(--текст-тихий);margin-bottom:4px}.столбик-дня .полоса{width:26px;margin:0 auto;border-radius:4px 4px 0 0;min-height:3px}.столбик-дня .полоса.зелёная{background:var(--успех)}.столбик-дня .полоса.жёлтая{background:var(--внимание)}.столбик-дня .полоса.красная{background:var(--опасно)}.столбик-дня .дата{font-size:10px;color:var(--текст-тихий);margin-top:4px}.этапы{display:flex;align-items:stretch;gap:4px;overflow-x:auto;padding-top:4px}.этап{position:relative;flex:1;min-width:130px;padding:12px;background:var(--фон);border:1px solid var(--граница);border-radius:10px;text-align:center}.этап-имя{font-size:12px;color:var(--текст-тихий);margin-bottom:6px}.этап-часы{font-family:Manrope,sans-serif;font-size:20px;font-weight:700}.этап-часы.зелёная{color:var(--успех)}.этап-часы.жёлтая{color:var(--в-поставке)}.этап-часы.красная{color:var(--опасно)}.этап-мелко{font-size:11px;color:var(--текст-тихий);margin-top:4px}.этап-стрелка{position:absolute;right:-14px;top:50%;transform:translateY(-50%);color:var(--текст-тихий);font-size:16px;z-index:1}.водопад{display:flex;gap:3px;align-items:stretch;min-height:62px}.водопад .кусок{border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;justify-content:center;min-width:0;overflow:hidden;white-space:nowrap}.водопад .кусок span{font-size:11px;opacity:.85}.водопад .кусок b{font-family:Manrope,sans-serif;font-size:14px}.водопад .выручка{background:#ede4ff;color:#4b1a9c}.водопад .расход{background:var(--опасно-фон);color:#721c24}.водопад .остаток{background:var(--успех-фон);color:#14532d}.нет-габаритов{background:var(--внимание-фон);color:#7a5b00;padding:2px 7px;border-radius:999px;font-size:11px;white-space:nowrap}label{font-size:12.5px;color:var(--текст-тихий)}@keyframes появление{0%{background:#ede4ff}to{background:transparent}}tbody tr.новое-задание{animation:появление 4s ease-out}.значок-новое{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;background:var(--основной);color:#fff;font-size:10px;font-weight:700;vertical-align:middle}.строка-новых{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:10px;background:#f3ecff;border:1px solid #d9c4ff;border-radius:var(--скругление);font-size:13px;color:#4b1a9c}.строка-новых b{font-family:Manrope,sans-serif}.настройки-кабинета{display:flex;flex-wrap:wrap;gap:10px}.настройка{background:var(--фон);border:1px solid var(--граница);border-radius:10px;padding:8px 12px;font-size:12px}.настройка b{display:block;font-family:Manrope,sans-serif;font-size:15px;color:var(--текст)}
