
  :root {
    --blue-dark: #0b3d91;
    --blue: #005bff;
    --blue-light: #eef5ff;
    --blue-border: #cbdcff;
    --accent: #2f80ff;
    --red: #c0392b;
    --red-bg: #fdecea;
    --red-border: #f2c4be;
    --green: #1e7e46;
    --green-bg: #e8f6ee;
    --amber: #a16207;
    --amber-bg: #fef6e0;
    --amber-border: #f0dca8;
    --text: #26333d;
    --muted: #6f7d86;
  }
  * { box-sizing: border-box; margin: 0; padding: 0; }
  body, input, select, option, button, table, th, td {
    font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  }
  body { background: #f6f9ff; color: var(--text); line-height: 1.5; }
  .wrap { max-width: 1180px; margin: 0 auto; padding: 28px 18px 60px; }

  .site-head { background: #fff; }
  .site-head .head-in { max-width: 1180px; margin: 0 auto; padding: 12px 18px; display: flex; align-items: center; }
  .head-logo { display: inline-flex; transition: transform .2s; }
  .head-logo:hover { transform: scale(1.03); }
  .head-logo img { height: 52px; width: auto; }
  .head-line { height: 2px; background: linear-gradient(to right, #38bdf8, #2f80ff, #005bff); }
  @media (max-width: 700px) { .head-logo img { height: 38px; } }

  header.hero {
    background: linear-gradient(135deg, #071f4d 0%, #0b3d91 43%, #005bff 76%, #38bdf8 130%);
    color: #fff; border-radius: 18px; padding: 34px 34px 30px; margin-bottom: 26px;
  }
  header.hero h1 { font-size: 27px; font-weight: 800; margin-bottom: 10px; }
  header.hero p { font-size: 14.5px; max-width: 820px; opacity: .95; }
  header.hero .privacy {
    display: inline-block; margin-top: 14px; background: rgba(255,255,255,.15);
    border: 1px solid rgba(255,255,255,.35); border-radius: 999px;
    padding: 6px 14px; font-size: 12.5px; font-weight: 600;
  }

  .statebar {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px;
    background: #fff; border: 1px solid var(--blue-border); border-radius: 16px;
    padding: 14px 18px; margin-bottom: 18px; box-shadow: 0 2px 10px rgba(36,52,71,.06);
  }
  .statebar .txt { font-size: 13px; color: var(--muted); flex: 1 1 340px; line-height: 1.5; }
  .statebar .txt b { color: var(--text); font-weight: 700; }
  .statebar .btns { display: flex; flex-wrap: wrap; gap: 8px; flex: 1 1 auto; min-width: 0; justify-content: flex-end; }
  .sb {
    border-radius: 10px; padding: 8px 13px; font-size: 13px; font-weight: 600;
    cursor: pointer; border: 1px solid transparent; text-decoration: none;
    display: inline-flex; align-items: center; gap: 6px; transition: .15s; white-space: nowrap;
  }
  .sb.primary { background: linear-gradient(90deg, #2f80ff, #005bff); color: #fff; font-weight: 700; }
  .sb.primary:hover { filter: brightness(1.07); }
  .sb.ad { background: linear-gradient(to right, #a855f7, #ec4899); color: #fff; font-weight: 700; }
  .sb.ad:hover { filter: brightness(1.07); }
  .sb.green { border-color: #a7d8bf; background: var(--green-bg); color: var(--green); }
  .sb.green:hover { background: #d8f0e3; }
  .sb.blue { border-color: var(--blue-border); background: var(--blue-light); color: var(--blue); }
  .sb.blue:hover { background: #d8eafa; }
  .sb.red { border-color: var(--red-border); background: #fff; color: var(--red); }
  .sb.red:hover { background: var(--red-bg); }
  @media (max-width: 700px) { .statebar .btns { width: 100%; } .sb { flex: 1 1 auto; justify-content: center; } }

  .modal-bg {
    position: fixed; inset: 0; background: rgba(11,61,102,.45); z-index: 100;
    display: flex; align-items: flex-start; justify-content: center; padding: 40px 16px; overflow: auto;
  }
  .modal {
    background: #fff; border-radius: 18px; max-width: 760px; width: 100%;
    padding: 26px 28px 24px; box-shadow: 0 20px 50px rgba(11,61,102,.3); position: relative;
  }
  .modal h2 { font-size: 19px; color: var(--blue-dark); margin-bottom: 4px; }
  .modal .close {
    position: absolute; right: 16px; top: 14px; border: none; background: none;
    font-size: 24px; color: var(--muted); cursor: pointer; line-height: 1;
  }
  .modal .close:hover { color: var(--red); }
  .modal h3 { font-size: 15px; color: var(--blue-dark); margin: 22px 0 8px; }
  .modal h3:first-of-type { margin-top: 18px; }
  .modal ol { margin: 12px 0 0 20px; font-size: 13.5px; }
  .modal ol > li { margin-bottom: 10px; }
  .modal ul { margin: 6px 0 0 18px; font-size: 13.5px; }
  .modal ul li { margin-bottom: 5px; }
  .modal b { color: var(--blue-dark); }
  .modal .adhead {
    background: linear-gradient(120deg, #7c3aed 0%, #c026d3 55%, #ec4899 100%);
    color: #fff; margin: -26px -28px 18px; padding: 26px 28px 22px; border-radius: 18px 18px 0 0;
  }
  .modal .adhead h2 { color: #fff; font-size: 21px; margin-bottom: 6px; }
  .modal .adhead p { font-size: 13.5px; opacity: .95; }
  .modal .adhead .tag {
    display: inline-block; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.35);
    border-radius: 999px; padding: 4px 12px; font-size: 12px; font-weight: 700; margin-bottom: 10px;
  }
  .modal .adhead .close { color: rgba(255,255,255,.8); }
  .modal .adhead .close:hover { color: #fff; }
  .adcols { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 4px; }
  @media (max-width: 620px) { .adcols { grid-template-columns: 1fr; } }
  .adcols h3 { font-size: 13.5px; color: var(--blue-dark); margin-bottom: 6px; }
  .adcols ul { margin: 0 0 0 17px; font-size: 13px; }
  .adcols li { margin-bottom: 5px; }
  .adbtns { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 20px; }
  .adbtns a {
    text-decoration: none; border-radius: 11px; padding: 12px 20px; font-size: 14px; font-weight: 700;
    display: inline-flex; align-items: center; gap: 7px;
  }
  .adbtns a.go { background: linear-gradient(to right, #a855f7, #ec4899); color: #fff; }
  .adbtns a.go:hover { filter: brightness(1.07); }
  .adbtns a.fb { border: 1.5px solid var(--blue-border); color: var(--blue); }
  .adbtns a.fb:hover { background: var(--blue-light); }

  .card {
    background: #fff; border: 1px solid var(--blue-border); border-radius: 16px;
    padding: 22px 24px; margin-bottom: 20px; box-shadow: 0 2px 10px rgba(36,52,71,.06);
  }
  .card h2 { font-size: 17px; font-weight: 700; color: var(--blue-dark); margin-bottom: 6px; }
  .card .sub { font-size: 13px; color: var(--muted); margin: 0 0 14px; }
  .card h3 { font-size: 14px; font-weight: 700; color: var(--blue-dark); margin: 20px 0 10px; }

  .howto ol { margin: 10px 0 0 20px; font-size: 13.5px; }
  .howto li { margin-bottom: 6px; }
  .howto b { color: var(--blue-dark); }

  .tplrow {
    display: flex; gap: 16px; align-items: center; flex-wrap: wrap;
    border: 1px solid var(--amber-border); background: var(--amber-bg);
    border-radius: 14px; padding: 14px 18px; margin-bottom: 14px;
  }
  .tplrow .tpltext { flex: 1 1 300px; min-width: 0; font-size: 13px; color: #6b4a06; line-height: 1.5; }
  .tplrow .tpltext b { color: #4a3304; }
  .tplrow button { flex-shrink: 0; }
  @media (max-width: 700px) { .tplrow button { width: 100%; } }

  .dz {
    border: 2px dashed var(--blue-border); border-radius: 14px; padding: 26px 20px;
    text-align: center; cursor: pointer; transition: .15s; background: var(--blue-light);
  }
  .dz:hover, .dz.drag { border-color: var(--accent); background: #dcedfa; }
  .dz.busy { border-color: var(--amber); background: var(--amber-bg); cursor: progress; }
  .dz.busy .t::after { content: ' — идёт разбор, подождите'; color: var(--amber); }
  .dz .icon { font-size: 34px; margin-bottom: 6px; }
  .dz .t { font-weight: 700; font-size: 15px; color: var(--blue-dark); }
  .dz .d { font-size: 12.5px; color: var(--muted); margin-top: 5px; }
  .dz input { display: none; }

  .slots { display: grid; grid-template-columns: repeat(auto-fit, minmax(215px, 1fr)); gap: 10px; margin-top: 16px; }
  .slot {
    border: 1px solid var(--blue-border); border-radius: 10px; padding: 9px 12px;
    font-size: 12.5px; background: #fbfdff;
  }
  .slot .nm { font-weight: 700; color: var(--blue-dark); font-size: 12.5px; }
  .slot .st { color: var(--muted); font-size: 11.5px; margin-top: 2px; }
  .slot.ok { border-color: #b6e0c6; background: var(--green-bg); }
  .slot.ok .st { color: var(--green); font-weight: 600; }
  .slot.warn { border-color: var(--amber-border); background: var(--amber-bg); }

  .filelist { margin-top: 12px; font-size: 12.5px; max-height: 190px; overflow: auto; }
  .filelist .f {
    display: flex; justify-content: space-between; align-items: center; gap: 8px;
    background: #fff; border: 1px solid var(--blue-border); border-radius: 8px;
    padding: 5px 10px; margin-bottom: 4px; min-width: 0;
  }
  .filelist .f .nm { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .filelist .f .meta { color: var(--muted); white-space: nowrap; flex-shrink: 0; font-size: 11px; }
  @media (max-width: 760px) { .filelist .f { flex-wrap: wrap; } .filelist .f .meta { white-space: normal; flex-basis: 100%; } }
  .filelist .f.err { border-color: var(--red); background: var(--red-bg); }
  .filelist .f.err .meta { color: var(--red); font-weight: 600; }
  .filelist .f button { border: none; background: none; color: var(--red); cursor: pointer; font-size: 15px; font-weight: 700; }

  .btnrow { margin: 18px 0 0; display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
  button.primary {
    background: var(--blue); color: #fff; border: none; border-radius: 10px;
    padding: 12px 26px; font-size: 15px; font-weight: 700; cursor: pointer; transition: .15s;
  }
  button.primary:hover { background: var(--blue-dark); }
  button.primary:disabled { background: #9db8cd; cursor: not-allowed; }
  button.ghost {
    background: none; border: 1.5px solid var(--blue-border); color: var(--blue);
    border-radius: 10px; padding: 11px 18px; font-size: 13.5px; font-weight: 600; cursor: pointer;
  }
  button.ghost:hover { background: var(--blue-light); }
  .status { font-size: 13px; color: var(--muted); }

  .ctrlbar {
    background: linear-gradient(135deg, var(--blue-dark), var(--blue));
    border-radius: 16px; padding: 13px 18px; margin-bottom: 20px; color: #fff;
    display: flex; gap: 14px; flex-wrap: wrap; align-items: flex-end;
    position: sticky; top: 0; z-index: 20; box-shadow: 0 4px 16px rgba(36,52,71,.18);
  }
  .ctrlbar .fld { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
  .ctrlbar label { font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; opacity: .8; font-weight: 700; }
  .ctrlbar select, .ctrlbar input {
    border: none; border-radius: 9px; padding: 9px 12px; font-size: 14px; font-weight: 600;
    color: var(--blue-dark); background: #fff; max-width: 100%;
  }
  .ctrlbar select.wide { min-width: 300px; max-width: 420px; }
  .ctrlbar .whmeta { font-size: 11.5px; opacity: .9; line-height: 1.35; flex: 1 1 240px; padding-bottom: 4px; }
  @media (max-width: 700px) { .ctrlbar { position: static; } .ctrlbar select.wide { min-width: 0; width: 100%; } }

  .kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); gap: 13px; margin: 0 0 14px; }
  .kpi { background: #fff; border: 1px solid var(--blue-border); border-radius: 14px; padding: 14px 16px; }
  .kpi { min-width: 0; }
  .kpi .v {
    font-size: 24px; font-weight: 800; color: var(--blue-dark); line-height: 1.15;
    white-space: nowrap; overflow: hidden; text-overflow: clip;
  }
  /* крупные суммы вроде «82 399 132 ₽» не влезают в 24px — уменьшаем по длине */
  .kpi .v.len11 { font-size: 20px; }
  .kpi .v.len14 { font-size: 17px; letter-spacing: -.2px; }
  .kpi .l { font-size: 11.5px; color: var(--muted); margin-top: 3px; }
  .kpi .sm { font-size: 11.5px; color: var(--muted); margin-top: 5px; }
  .kpi.hot { border-color: var(--red-border); background: var(--red-bg); }
  .kpi.hot .v { color: var(--red); }
  .kpi.good { border-color: #b6e0c6; background: var(--green-bg); }
  .kpi.good .v { color: var(--green); }
  .kpi.amb { border-color: var(--amber-border); background: var(--amber-bg); }
  .kpi.amb .v { color: var(--amber); }

  .tablebox { overflow: auto; max-height: 70vh; border: 1px solid var(--blue-border); border-radius: 12px; margin: 14px 0; }
  table.res { width: 100%; border-collapse: collapse; font-size: 12.5px; }
  table.res th {
    background: var(--blue-light); color: var(--blue-dark); text-align: right;
    padding: 9px 10px; font-size: 11.5px; font-weight: 700; white-space: nowrap;
    border-bottom: 2px solid var(--blue-border);
    position: sticky; top: 0; z-index: 5;
  }
  table.res th.l, table.res td.l { text-align: left; }
  table.res td { padding: 7px 10px; text-align: right; border-bottom: 1px solid #edf3f9; white-space: nowrap; }
  table.res td.wrap { white-space: normal; min-width: 220px; max-width: 380px; }
  table.res tbody tr:hover { background: #f7fbff; }
  /* первый столбец не уезжает при горизонтальной прокрутке */
  table.res th:first-child, table.res td:first-child {
    position: sticky; left: 0; z-index: 3; background: #fff;
    box-shadow: 1px 0 0 var(--blue-border);
  }
  table.res thead th:first-child { z-index: 7; background: var(--blue-light); }
  table.res tfoot td:first-child { z-index: 7; background: var(--blue-light); }
  table.res tbody tr:hover td:first-child { background: #f7fbff; }
  table.res tfoot td { font-weight: 800; background: var(--blue-light); color: var(--blue-dark); border-top: 2px solid var(--blue-border); position: sticky; bottom: 0; }
  td.pos { color: var(--green); font-weight: 700; }
  td.neg { color: var(--red); font-weight: 700; }
  /* возмещение не покрывает себестоимость — видно сразу */
  td.under { background: #ffc7ce; color: #9c0006; font-weight: 800; }
  td.over { background: var(--green-bg); color: var(--green); font-weight: 700; }
  .pill { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: 11px; font-weight: 700; }
  .pill.red { background: var(--red-bg); color: var(--red); }
  .pill.amber { background: var(--amber-bg); color: var(--amber); }
  .pill.green { background: var(--green-bg); color: var(--green); }
  .pill.grey { background: #eef3f7; color: var(--muted); }
  .pill.lvl-high { background: var(--red-bg); color: var(--red); }
  .pill.lvl-mid { background: var(--amber-bg); color: var(--amber); }
  .pill.lvl-low { background: var(--green-bg); color: var(--green); }
  .riskbar { display: inline-block; height: 8px; border-radius: 4px; vertical-align: middle; margin-right: 7px; }

  .note {
    border-radius: 12px; padding: 13px 16px; font-size: 13px; margin: 14px 0;
    border: 1px solid var(--amber-border); background: var(--amber-bg); color: #6b4a06;
  }
  .note.red { border-color: var(--red-border); background: var(--red-bg); color: #7c2016; }
  .note.blue { border-color: var(--blue-border); background: var(--blue-light); color: var(--blue-dark); }
  .note b { font-weight: 800; }
  .note ul { margin: 6px 0 0 18px; }

  .hidden { display: none !important; }

  .tabs { display: inline-flex; gap: 4px; background: #e6eef6; border-radius: 12px; padding: 4px; margin-bottom: 18px; }
  .tab {
    border: none; background: none; border-radius: 9px; padding: 9px 18px;
    font-size: 14px; font-weight: 700; color: var(--muted); cursor: pointer; transition: .15s;
  }
  .tab:hover { color: var(--blue-dark); }
  .tab.active { background: #fff; color: var(--blue-dark); box-shadow: 0 1px 4px rgba(36,52,71,.12); }

  .chips { display: flex; flex-wrap: wrap; gap: 7px; }
  .chip {
    display: inline-flex; align-items: center; gap: 7px; cursor: pointer; user-select: none;
    border: 1px solid var(--blue-border); border-radius: 999px; padding: 6px 13px;
    font-size: 12.5px; font-weight: 600; background: #fff; color: var(--blue-dark); transition: .12s;
  }
  .chip:hover { border-color: var(--accent); }
  .chip i { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
  .chip.off { background: #f1f5f9; color: #9aa7b4; border-color: #e2e8f0; text-decoration: line-through; }
  .chip.off i { opacity: .35; }

  .barrow { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(30px, 1fr) 78px 56px; gap: 12px; align-items: center; font-size: 12.5px; padding: 5px 0; }
  .barrow .nm { white-space: normal; word-break: break-word; line-height: 1.35; }
  .barrow .track { background: var(--track, #eef1f6); border-radius: 4px; height: 13px; overflow: hidden; display: flex; min-width: 30px; }
  .barrow .track span { height: 100%; display: block; }
  .barrow .v { text-align: right; font-weight: 700; }
  .barrow .p { text-align: right; color: var(--muted); font-size: 11.5px; }
  .barrow .m { text-align: right; color: var(--muted); font-size: 11.5px; }
  .barrow.off .nm, .barrow.off .v { color: #9aa7b4; }
  .barrow.head { display: block; font-weight: 700; color: var(--blue-dark); font-size: 13px; padding: 16px 0 6px; }
  .barrow.bhead {
    font-size: 11px; color: var(--muted); font-weight: 700; text-transform: uppercase;
    letter-spacing: .03em; padding: 0 0 6px; margin-bottom: 4px;
    border-bottom: 1px solid var(--blue-border);
  }
  .barrow.bhead .track { background: none; min-width: 0; cursor: help; }
  .barrow.bhead span { cursor: help; }
  .barrow.head .nm { white-space: normal; }
  .barrow.sub .nm { padding-left: 14px; color: var(--text); }
  .barrow.click { cursor: pointer; border-radius: 6px; }
  .barrow.click:hover { background: #f7fbff; }
  .barmoney { grid-template-columns: minmax(0, 1.4fr) minmax(30px, 1fr) 68px 48px 92px; }

  .topgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 30px; margin-top: 12px; }
  .topgrid > div { min-width: 0; }
  @media (max-width: 1080px) { .topgrid { grid-template-columns: 1fr; } }
  .topgrid h3 { margin-top: 0; }

  .artf { border: 1px solid var(--blue-border); border-radius: 14px; padding: 14px 16px; margin: 14px 0; background: #fbfdff; }
  .artf-head { display: flex; gap: 9px; flex-wrap: wrap; align-items: center; margin-bottom: 10px; }
  .artf-head input {
    flex: 1 1 220px; min-width: 0; border: 1px solid var(--blue-border); border-radius: 9px;
    padding: 8px 12px; font-size: 13px; color: var(--text);
  }
  .artf-head input:focus { outline: none; border-color: var(--accent); }
  .artf-head .cnt { font-size: 12.5px; font-weight: 700; color: var(--blue-dark); white-space: nowrap; }
  .artf-head .cnt.full { color: var(--red); }
  .artlist { max-height: 300px; overflow: auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 3px 14px; }
  .artlist label {
    display: grid; grid-template-columns: 18px 1fr auto; gap: 2px 8px; align-items: start;
    font-size: 12.5px; padding: 6px 8px; border-radius: 8px; cursor: pointer; min-width: 0;
    border: 1px solid transparent;
  }
  .artlist label:hover { background: var(--blue-light); border-color: var(--blue-border); }
  .artlist label.on { background: #e3f0fb; border-color: var(--blue-border); }
  .artlist label input { grid-row: 1; grid-column: 1; margin-top: 2px; }
  .artlist .a { grid-row: 1; grid-column: 2; font-weight: 700; color: var(--blue-dark); word-break: break-word; }
  .artlist .q { grid-row: 1; grid-column: 3; color: var(--muted); font-size: 11.5px; white-space: nowrap; }
  .artlist .n { grid-row: 2; grid-column: 2 / -1; color: var(--muted); font-size: 11.5px; line-height: 1.35; }
  .artlist .s { grid-row: 3; grid-column: 2 / -1; color: #9aa7b4; font-size: 11px; }
  .artlist mark { background: #fff3bf; color: inherit; border-radius: 3px; padding: 0 1px; }
  .artf-head .found { font-size: 12.5px; color: var(--muted); white-space: nowrap; }
  .modal.wide { max-width: 1120px; }
  /* Unit-экономика: встроенная пошаговая инструкция */
  .unit-guide-intro{background:linear-gradient(135deg,#eef6ff,#f8fbff);border:1px solid #cfe0ff;border-radius:14px;padding:14px 16px;margin:12px 0 14px;font-size:13.5px;line-height:1.55;color:var(--text)}
  .unit-guide-nav{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 14px}
  .unit-guide-chip{font-size:12px;font-weight:700;color:#005bff;background:#eef5ff;border:1px solid #cbdcff;border-radius:999px;padding:5px 9px}
  .guide-step{border:1px solid #d9e6fb;border-radius:12px;background:#fff;margin:8px 0;overflow:hidden}
  .guide-step>summary{cursor:pointer;list-style:none;padding:12px 14px;font-size:13.5px;font-weight:800;color:#0b3d91;background:#f8fbff;display:flex;align-items:center;gap:8px}
  .guide-step>summary::-webkit-details-marker{display:none}
  .guide-step>summary:before{content:'›';display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;border-radius:7px;background:#eaf2ff;color:#005bff;font-size:17px;transition:transform .15s}
  .guide-step[open]>summary:before{transform:rotate(90deg)}
  .guide-body{padding:12px 15px 14px;font-size:13.5px;line-height:1.58;color:#33475f}
  .guide-body p{margin:0 0 8px}
  .guide-body ul,.guide-body ol{margin:7px 0 8px 20px}
  .guide-body li{margin-bottom:5px}
  .guide-path{background:#f1f6ff;border-left:3px solid #005bff;border-radius:8px;padding:8px 10px;margin:8px 0;color:#0b3d91;font-weight:700}
  .guide-formula{background:#f7fafc;border:1px dashed #b8cae4;border-radius:9px;padding:9px 11px;margin:8px 0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12.5px;color:#243447}
  .guide-warn{background:#fff8e7;border:1px solid #f1d28a;border-radius:9px;padding:9px 11px;margin:8px 0;color:#70520c}
  .guide-good{background:#eefaf3;border:1px solid #bde8cf;border-radius:9px;padding:9px 11px;margin:8px 0;color:#17653c}


  .hovertip {
    position: fixed; z-index: 200; pointer-events: none;
    background: #fff; border: 1px solid var(--blue-border); border-radius: 11px;
    box-shadow: 0 6px 20px rgba(36,52,71,.18); padding: 10px 13px; font-size: 12px;
    max-width: 330px; line-height: 1.55;
  }
  .hovertip .t { font-weight: 800; color: var(--blue-dark); font-size: 12.5px; margin-bottom: 5px; word-break: break-word; }
  .hovertip .r { display: flex; justify-content: space-between; gap: 16px; }
  .hovertip .r span:first-child { color: var(--muted); }
  .hovertip .r span:last-child { font-weight: 700; white-space: nowrap; }
  .hovertip .r.sep { border-top: 1px solid #edf3f9; margin-top: 5px; padding-top: 5px; }
  .hovertip .d { color: var(--text); margin-top: 3px; white-space: normal; }
  .hovertip .d + .d { margin-top: 6px; }
  th[data-tip], .kpi[data-tip] { cursor: help; }
  th[data-tip] { text-decoration: underline dotted rgba(11,61,102,.35); text-underline-offset: 3px; }
  .barrow .track span { cursor: help; }
  .barrow[data-tip] .nm { cursor: help; }
  .modal .tablebox { max-height: 58vh; }

  /* сворачиваемые блоки */
  h2.ctoggle { cursor: pointer; display: flex; align-items: center; gap: 9px; user-select: none; transition: color .12s; }
  h2.ctoggle:hover { color: var(--accent); }
  h2.ctoggle .chev {
    display: inline-flex; align-items: center; justify-content: center;
    width: 22px; height: 22px; border-radius: 7px; background: var(--blue-light);
    color: var(--blue); font-size: 11px; flex-shrink: 0; transition: transform .18s;
  }
  .card.open h2.ctoggle .chev { transform: rotate(90deg); }
  h2.ctoggle .hint { margin-left: auto; font-size: 11.5px; font-weight: 600; color: var(--muted); white-space: nowrap; }
  .card.open h2.ctoggle .hint { visibility: hidden; }
  .cbody { display: none; padding-top: 14px; }
  .card.open .cbody { display: block; }
  .card:has(h2.ctoggle) { padding-bottom: 22px; }
  .card:has(h2.ctoggle):not(.open) { padding-bottom: 18px; }
  .allbtns { display: flex; gap: 8px; margin-left: auto; }
  .tabsrow { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
  .tabs { margin-bottom: 0; }
  .chartwrap { position: relative; }
  .chart { width: 100%; height: 230px; display: block; }
  .chart .hit { fill: transparent; }
  .chart .hit:hover { fill: rgba(22,104,176,.05); }
  .chart .guide { stroke: var(--blue); stroke-width: 1; stroke-dasharray: 4 3; opacity: .5; }
  .chart-tip {
    position: absolute; pointer-events: none; z-index: 12;
    background: #fff; border: 1px solid var(--blue-border); border-radius: 11px;
    box-shadow: 0 6px 18px rgba(36,52,71,.16); padding: 10px 13px; font-size: 12px;
    min-width: 210px; transform: translate(-50%, -100%); white-space: nowrap;
  }
  .chart-tip .dt { font-weight: 800; color: var(--blue-dark); font-size: 13px; margin-bottom: 6px; }
  .chart-tip .r { display: flex; justify-content: space-between; gap: 16px; line-height: 1.7; }
  .chart-tip .r b { font-weight: 700; }
  .chart-tip .r i { font-style: normal; display: inline-block; width: 9px; height: 9px; border-radius: 2px; margin-right: 6px; }
  .chart-tip .sep { border-top: 1px solid #edf3f9; margin-top: 5px; padding-top: 5px; }
  .chart-tip .muted { color: var(--muted); }
  .chartwrap { margin: 14px 0 0; }
  .legend { margin-top: 8px; }
  .chips { margin: 14px 0; }
  .chart text { font-size: 10px; fill: var(--muted); }
  .legend { display: flex; gap: 18px; font-size: 12px; color: var(--muted); margin-top: 6px; flex-wrap: wrap; }
  .legend i { display: inline-block; width: 12px; height: 3px; border-radius: 2px; margin-right: 5px; vertical-align: middle; }

  .chk { width: 16px; height: 16px; cursor: pointer; accent-color: var(--blue); }
  footer { text-align: center; font-size: 12.5px; color: var(--muted); margin-top: 30px; }
  footer b { color: var(--blue-dark); }

  @media print {
    .site-head, .head-line, #uploadCard, .btnrow, .dz, .statebar, .modal-bg { display: none !important; }
    .ctrlbar { position: static; }
    .tablebox { max-height: none; overflow: visible; }
    body { background: #fff; }
  }


  /* Ozon Радар v2 — панель инструкций и юнит-экономика */
  .hero-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
  .hero-guide {
    border:1px solid rgba(255,255,255,.35); background:rgba(255,255,255,.13); color:#fff;
    border-radius:10px; padding:9px 14px; font-size:13px; font-weight:700; cursor:pointer;
    transition:.15s; display:inline-flex; align-items:center; gap:7px;
  }
  .hero-guide:hover { background:rgba(255,255,255,.22); transform:translateY(-1px); }
  .section-tools { display:flex; gap:9px; flex-wrap:wrap; align-items:center; margin:0 0 16px; }
  .guide-btn {
    border:1px solid var(--blue-border); background:#fff; color:var(--blue-dark); border-radius:10px;
    padding:9px 13px; font-size:12.5px; font-weight:700; cursor:pointer; transition:.15s;
  }
  .guide-btn:hover { border-color:var(--accent); background:var(--blue-light); }
  .ue-settings { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; margin-top:12px; }
  .ue-field { min-width:0; }
  .ue-field label { display:block; font-size:11.5px; color:var(--muted); font-weight:700; margin-bottom:5px; }
  .ue-field input, .ue-field select {
    width:100%; border:1px solid var(--blue-border); background:#fff; color:var(--text); border-radius:9px;
    padding:9px 10px; font-size:13px; font-weight:600; outline:none;
  }
  .ue-field input:focus, .ue-field select:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(15,139,214,.10); }
  .ue-kpi-note { font-size:11px; color:var(--muted); margin-top:4px; line-height:1.35; }
  .ue-badge { display:inline-block; border-radius:999px; padding:2px 8px; font-size:10.5px; font-weight:800; white-space:nowrap; }
  .ue-badge.good { background:var(--green-bg); color:var(--green); }
  .ue-badge.warn { background:var(--amber-bg); color:var(--amber); }
  .ue-badge.bad { background:var(--red-bg); color:var(--red); }
  .ue-badge.neutral { background:#eef3f7; color:var(--muted); }
  .ue-source { font-size:11px; color:var(--muted); line-height:1.45; }
  .ue-modebar { display:flex; gap:6px; background:#e6eef6; border-radius:11px; padding:4px; width:max-content; max-width:100%; }
  .ue-mode { border:0; background:transparent; color:var(--muted); border-radius:8px; padding:7px 12px; font-size:12px; font-weight:800; cursor:pointer; }
  .ue-mode.active { background:#fff; color:var(--blue-dark); box-shadow:0 1px 4px rgba(11,61,102,.12); }
  .ue-callout { border-left:4px solid var(--accent); background:var(--blue-light); padding:12px 14px; border-radius:10px; font-size:12.5px; line-height:1.55; margin:12px 0 0; }
  @media (max-width:700px){ .hero-actions > * { flex:1 1 auto; justify-content:center; } .ue-modebar{width:100%;}.ue-mode{flex:1;} }


  /* v3.8 — статус и управление авторасчётом Unit Economy */
  .ue-auto-status{border:1px solid var(--blue-border);background:#f7fbff;border-radius:12px;padding:12px 14px;margin:0 0 14px}
  .ue-auto-status h3{margin:0 0 7px;font-size:15px;color:#0b3f89}
  .ue-auto-chips{display:flex;flex-wrap:wrap;gap:7px;margin:9px 0 10px}
  .ue-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid #d8e4f4;background:#fff;color:#5b6c82}
  .ue-chip.ok{border-color:#b8e0ca;background:#effaf4;color:#167044}
  .ue-chip.warn{border-color:#f0d9a2;background:#fff9e9;color:#8a6412}
  .ue-chip.miss{border-color:#e2e7ef;background:#f7f8fa;color:#788597}
  .ue-auto-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
  .ue-empty{border:1px dashed #c7d8ec;border-radius:12px;padding:14px;background:#fbfdff;color:#52657d;margin:12px 0}
  .ue-empty b{color:#143e73}
  .ue-auto-status .mini{font-size:12px;color:var(--muted);line-height:1.45}

  /* v4.0 — общие источники + Соинвест */
  .radar-source-card{border:1px solid #cfe0ff;background:linear-gradient(180deg,#fbfdff,#f4f8ff);border-radius:14px;padding:14px 15px;margin:0 0 14px}
  .radar-source-card h3{margin:0 0 5px!important;color:var(--blue-dark);font-size:14px!important}.radar-source-card .mini{line-height:1.45}
  .source-switch{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:11px 0 8px}.source-option{border:1px solid #cbdcff;background:#fff;color:#58708f;border-radius:10px;padding:10px 11px;font-size:12px;font-weight:850;cursor:pointer;text-align:center}.source-option.active{background:linear-gradient(135deg,#2f80ff,#005bff);border-color:transparent;color:#fff;box-shadow:0 3px 10px rgba(0,91,255,.16)}
  .local-upload{border:2px dashed #bcd2f5;background:#fff;border-radius:12px;padding:14px;margin-top:10px;cursor:pointer;transition:.15s}.local-upload:hover,.local-upload.drag{border-color:#2f80ff;background:#f7fbff}.local-upload.busy{opacity:.65;pointer-events:none}.local-upload b{color:#0b3d91}.local-files{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.local-file-chip{border:1px solid #d5e4ff;background:#fff;border-radius:999px;padding:5px 9px;font-size:10.8px;color:#45627f}.local-file-chip.err{border-color:#f1b6ae;color:#a52a1f;background:#fff5f3}
  .so-settings{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:9px 0 0}.so-check{display:flex;gap:7px;align-items:flex-start;border:1px solid #dbe7fb;background:#fff;border-radius:10px;padding:8px 10px;font-size:11.5px;color:#48627d;line-height:1.35}.so-check input{margin-top:2px;accent-color:#005bff}
  .so-subtabs{display:flex;gap:5px;flex-wrap:wrap;background:#eaf2ff;border:1px solid #d5e4ff;border-radius:12px;padding:4px;margin:14px 0}.so-subtab{border:0;background:transparent;color:#58708f;border-radius:9px;padding:9px 13px;font-size:12px;font-weight:850;cursor:pointer}.so-subtab.active{background:linear-gradient(135deg,#2f80ff,#005bff);color:#fff;box-shadow:0 3px 10px rgba(0,91,255,.18)}
  .so-pane{min-width:0}.so-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:10px 0 14px}.so-kpi{border:1px solid #d5e4ff;background:#fff;border-radius:12px;padding:12px 13px}.so-kpi .v{font-size:20px;font-weight:900;color:#0b3d91;line-height:1.05}.so-kpi .l{font-size:10.5px;color:#71849d;margin-top:5px}.so-kpi.good .v{color:#138a4b}.so-kpi.warn .v{color:#b36b00}
  .so-heat{overflow:auto;max-height:430px;border:1px solid #dbe7fb;border-radius:12px;background:#fff}.so-heat table{border-collapse:separate;border-spacing:2px;min-width:720px;width:100%;font-size:10px}.so-heat th{position:sticky;top:0;background:#eef5ff;color:#365a7b;padding:5px;z-index:2}.so-heat td{padding:5px 4px;text-align:center;border-radius:4px;white-space:nowrap}.so-heat .hour{position:sticky;left:0;background:#f7fbff;font-weight:800;color:#365a7b;z-index:1}.so-empty{border:1px dashed #bcd2f5;background:#f8fbff;color:#58708f;border-radius:12px;padding:18px;text-align:center;line-height:1.55}.so-head-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}.so-formula{font-size:11px;color:#58708f;background:#eef5ff;border:1px solid #d5e4ff;border-radius:9px;padding:8px 10px;margin-top:8px}
  #radarSoinvest .tablebox{max-height:520px;overflow:auto}#radarSoinvest table.res thead th{position:sticky;top:0;z-index:2}
  @media(max-width:900px){.so-grid{grid-template-columns:1fr 1fr}}
  @media(max-width:600px){.source-switch{grid-template-columns:1fr}.so-grid{grid-template-columns:1fr 1fr}.so-subtabs{display:grid;grid-template-columns:1fr}}


/* v4.1 — полный модуль Соинвест */
.so41-filters{border:1px solid #d5e4ff;border-radius:14px;background:#f8fbff;margin:12px 0;overflow:hidden}.so41-filters summary{cursor:pointer;padding:12px 14px;font-weight:900;color:#0b3d91;list-style:none;display:flex;justify-content:space-between;align-items:center}.so41-filters summary::-webkit-details-marker{display:none}.so41-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:0 14px 14px}.so41-filter-grid label{font-size:10.5px;color:#6b7f99;font-weight:700}.so41-filter-grid input,.so41-filter-grid select,.so41-select{width:100%;border:1px solid #cbdcff;background:#fff;border-radius:9px;padding:8px 9px;font-size:11.5px;color:#294a68;outline:none}.so41-filter-grid input:focus,.so41-filter-grid select:focus,.so41-select:focus{border-color:#2f80ff;box-shadow:0 0 0 2px rgba(47,128,255,.08)}
.so41-tabs{display:flex;gap:5px;flex-wrap:wrap;border:1px solid #d5e4ff;background:#eaf2ff;border-radius:13px;padding:5px;margin:13px 0}.so41-tabs .so-subtab{flex:0 0 auto}.so41-pane{display:none}.so41-pane.active{display:block}.so41-section{border:1px solid #dbe7fb;background:#fff;border-radius:13px;padding:13px;margin:10px 0}.so41-section h3{margin:0 0 5px!important}.so41-help{font-size:10.8px;color:#6e829b;line-height:1.5;margin-bottom:10px}.so41-controls{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin:9px 0}.so41-controls>label,.so41-field{min-width:170px;font-size:10.5px;color:#6c8198;font-weight:800}.so41-controls select,.so41-controls input{display:block;margin-top:4px}
.so41-pills{display:flex;flex-wrap:wrap;gap:6px}.so41-pill{border:1px solid #cbdcff;background:#fff;border-radius:999px;padding:6px 9px;font-size:10.5px;font-weight:800;color:#45627f;cursor:pointer}.so41-pill.on{background:#eaf2ff;border-color:#2f80ff;color:#005bff}.so41-pill:disabled{opacity:.4;cursor:not-allowed}
.so41-heat{overflow:auto;max-height:560px;border:1px solid #dbe7fb;border-radius:12px;background:white}.so41-heat table{border-collapse:separate;border-spacing:2px;min-width:850px;width:100%;font-size:10px}.so41-heat th{position:sticky;top:0;background:#eef5ff;color:#365a7b;padding:6px;z-index:3}.so41-heat th:first-child{left:0;z-index:4}.so41-heat td{padding:6px 5px;text-align:center;border-radius:5px;white-space:nowrap;min-width:62px}.so41-heat .sticky{position:sticky;left:0;background:#f7fbff!important;color:#365a7b;font-weight:900;z-index:2}.so41-cell-green{background:#d8f5e6;color:#087443}.so41-cell-green2{background:#aee9cc;color:#046b3a;font-weight:900}.so41-cell-rose{background:#ffe1e7;color:#a43b51}.so41-cell-rose2{background:#ffc6d2;color:#8e2840;font-weight:900}.so41-cell-mid{background:#f4f7fb;color:#526b84}.so41-cell-empty{background:#f6f7f9;color:#b2bcc9}.so41-mini{display:block;font-size:8.7px;opacity:.7;margin-top:2px}
.so41-chart{border:1px solid #dbe7fb;border-radius:12px;background:#fff;padding:8px;overflow:hidden}.so41-chart svg{display:block;width:100%;height:auto}.so41-legend{display:flex;gap:10px;flex-wrap:wrap;font-size:10px;color:#667c94;margin:6px 2px}.so41-legend span:before{content:'';display:inline-block;width:10px;height:3px;background:var(--c);border-radius:4px;margin-right:4px;vertical-align:middle}.so41-2col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.so41-3col{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.so41-kpirow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:9px 0 13px}.so41-kpi{border:1px solid #d5e4ff;border-radius:12px;background:#fff;padding:11px}.so41-kpi .v{font-size:18px;font-weight:950;color:#0b3d91;line-height:1.08}.so41-kpi .l{font-size:9.8px;color:#71849d;margin-top:4px}.so41-kpi.good .v{color:#0b8a50}.so41-kpi.bad .v{color:#c44855}
.so41-tree{width:100%;border-collapse:collapse;font-size:11px}.so41-tree th{position:sticky;top:0;background:#eef5ff;color:#365a7b;padding:8px 7px;border-bottom:1px solid #d5e4ff;text-align:right}.so41-tree th:first-child{text-align:left}.so41-tree td{padding:7px;border-bottom:1px solid #eef2f7;text-align:right}.so41-tree td:first-child{text-align:left}.so41-tree .cat{background:#f8fbff;font-weight:900;color:#0b3d91}.so41-tree .model{background:#fbfdff;font-weight:800;color:#365a7b}.so41-tree .art td:first-child{padding-left:32px}.so41-tree .model td:first-child{padding-left:18px}.so41-delta.up{color:#0a8b4f}.so41-delta.down{color:#c34b58}.so41-badge{display:inline-block;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:900;background:#eaf2ff;color:#005bff}.so41-note{border:1px solid #d5e4ff;background:#f7fbff;border-radius:10px;padding:10px 11px;font-size:10.8px;line-height:1.5;color:#58708f}.so41-warn{border-color:#f5d7a6;background:#fff9ed;color:#8a6216}.so41-empty{border:1px dashed #bcd2f5;background:#f8fbff;color:#58708f;border-radius:12px;padding:22px;text-align:center;line-height:1.55}
.so41-clusterchecks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;max-height:220px;overflow:auto;border:1px solid #dbe7fb;border-radius:10px;padding:8px;background:#fff}.so41-clusterchecks label{font-size:10.5px;color:#496781;display:flex;gap:6px;align-items:center}.so41-clusterchecks input{accent-color:#005bff}.so41-matrix{overflow:auto}.so41-matrix table{min-width:850px}.so41-elastic-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10px}.so41-stat-table{width:100%;border-collapse:collapse;font-size:10.5px}.so41-stat-table th,.so41-stat-table td{padding:7px;border-bottom:1px solid #edf2f8;text-align:right}.so41-stat-table th:first-child,.so41-stat-table td:first-child{text-align:left}.so41-stat-table th{background:#eef5ff;color:#48647e}.so41-card-source{font-size:10px;color:#7690a9;margin-top:4px}
@media(max-width:1000px){.so41-filter-grid{grid-template-columns:repeat(3,1fr)}.so41-kpirow{grid-template-columns:repeat(3,1fr)}.so41-2col,.so41-elastic-grid{grid-template-columns:1fr}.so41-clusterchecks{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.so41-filter-grid{grid-template-columns:1fr 1fr}.so41-kpirow{grid-template-columns:1fr 1fr}.so41-clusterchecks{grid-template-columns:1fr}.so41-tabs{display:grid;grid-template-columns:1fr 1fr}.so41-controls>label,.so41-field{min-width:140px}}



 .go1475592160{height:0;}.go1671063245{height:auto;}.go1888806478{display:flex;flex-wrap:wrap;flex-grow:1;}@media (min-width:600px){.go1888806478{flex-grow:initial;min-width:288px;}}.go167266335{background-color:#313131;font-size:0.875rem;line-height:1.43;letter-spacing:0.01071em;color:#fff;align-items:center;padding:6px 16px;border-radius:4px;box-shadow:0px 3px 5px -1px rgba(0,0,0,0.2),0px 6px 10px 0px rgba(0,0,0,0.14),0px 1px 18px 0px rgba(0,0,0,0.12);}.go3162094071{padding-left:20px;}.go3844575157{background-color:#313131;}.go1725278324{background-color:#43a047;}.go3651055292{background-color:#d32f2f;}.go4215275574{background-color:#ff9800;}.go1930647212{background-color:#2196f3;}.go946087465{display:flex;align-items:center;padding:8px 0;}.go703367398{display:flex;align-items:center;margin-left:auto;padding-left:16px;margin-right:-8px;}.go3963613292{width:100%;position:relative;transform:translateX(0);top:0;right:0;bottom:0;left:0;min-width:288px;}.go1141946668{box-sizing:border-box;display:flex;max-height:100%;position:fixed;z-index:1400;height:auto;width:auto;transition:top 300ms ease 0ms,right 300ms ease 0ms,bottom 300ms ease 0ms,left 300ms ease 0ms,max-width 300ms ease 0ms;pointer-events:none;max-width:calc(100% - 40px);}.go1141946668 .notistack-CollapseWrapper{padding:6px 0px;transition:padding 300ms ease 0ms;}@media (max-width:599.95px){.go1141946668{width:100%;max-width:calc(100% - 32px);}}.go3868796639 .notistack-CollapseWrapper{padding:2px 0px;}.go3118922589{top:14px;flex-direction:column;}.go1453831412{bottom:14px;flex-direction:column-reverse;}.go4027089540{left:20px;}@media (min-width:600px){.go4027089540{align-items:flex-start;}}@media (max-width:599.95px){.go4027089540{left:16px;}}.go2989568495{right:20px;}@media (min-width:600px){.go2989568495{align-items:flex-end;}}@media (max-width:599.95px){.go2989568495{right:16px;}}.go4034260886{left:50%;transform:translateX(-50%);}@media (min-width:600px){.go4034260886{align-items:center;}}


  .ue-full-card{overflow:hidden;}
  .ue-full-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px;}
  .ue-full-head .sub{margin:0;max-width:820px;}
  .ue-full-frame{width:100%;height:78vh;min-height:820px;border:1px solid var(--blue-border);border-radius:14px;background:#fff;display:block;}
  .ue-split-note{margin:0 0 20px;}
  .ue-standalone-modal{max-width:1500px!important;width:min(96vw,1500px)!important;padding:18px!important;}
  .ue-standalone-modal h2{padding-right:44px;margin-bottom:10px;}
  .ue-standalone-frame{width:100%;height:82vh;min-height:720px;border:1px solid var(--blue-border);border-radius:14px;background:#fff;display:block;}
  @media(max-width:700px){.ue-full-frame,.ue-standalone-frame{min-height:680px;height:78vh;}.ue-standalone-modal{padding:12px!important;}}



  .radar-product-switch{position:sticky;top:0;z-index:60;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:rgba(246,249,255,.96);backdrop-filter:blur(12px);padding:10px 0 14px;margin-bottom:14px}
  .radar-product{border:1px solid var(--blue-border);background:#fff;color:var(--blue-dark);border-radius:14px;padding:14px 16px;font-size:15px;font-weight:800;cursor:pointer;box-shadow:0 2px 10px rgba(11,61,102,.05);transition:.15s}
  .radar-product:hover{transform:translateY(-1px);border-color:var(--accent)}
  .radar-product.active{background:linear-gradient(135deg,#0b3d91,#005bff 72%,#38bdf8 140%);color:#fff;border-color:transparent;box-shadow:0 5px 18px rgba(0,91,255,.22)}
  .radar-needs{border-top:4px solid var(--accent)}
  .needs-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
  .needs-badge{border-radius:999px;padding:5px 10px;background:var(--blue-light);color:var(--blue-dark);font-size:10.5px;font-weight:900;letter-spacing:.06em}
  .needs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px;margin-top:14px}
  .need-item{border:1px solid var(--blue-border);background:#fbfdff;border-radius:11px;padding:10px 12px;display:flex;flex-direction:column;gap:3px}
  .need-item b{font-size:12.5px;color:var(--blue-dark)} .need-item span{font-size:11.5px;color:var(--muted)}
  .need-item.must{border-color:#f0dca8;background:var(--amber-bg)}
  .unit-data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
  .unit-data-group{border:1px solid var(--blue-border);background:#fbfdff;border-radius:12px;padding:13px 14px;min-width:0}
  .unit-data-group h3{margin:0 0 6px!important;font-size:12.5px!important;color:var(--blue-dark)}
  .unit-data-group p{margin:0;font-size:11.8px;color:var(--muted);line-height:1.5}
  .unit-workspace{padding:0;overflow:visible;background:transparent;border:0;box-shadow:none;margin-top:4px}
  .unit-work-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:0 2px}
  .unit-subtabs{display:flex;gap:5px;flex-wrap:wrap;background:#eaf2ff;border:1px solid #d5e4ff;border-radius:12px;padding:4px;margin:14px 0 18px}
  .unit-subtab{border:0;background:transparent;color:#58708f;border-radius:9px;padding:10px 16px;font-size:12.5px;font-weight:800;cursor:pointer}
  .unit-subtab.active{background:linear-gradient(135deg,#2f80ff,#005bff);color:#fff;box-shadow:0 3px 10px rgba(0,91,255,.18)}
  .unit-pane{min-width:0;overflow:visible}.pane-intro{display:flex;gap:9px;align-items:baseline;flex-wrap:wrap;font-size:12.5px;margin:0 2px 12px}.pane-intro b{color:var(--blue-dark)}.pane-intro span{color:var(--muted)}
  .unit-calc-frame{width:100%;height:900px;min-height:0;border:0;border-radius:0;background:transparent;display:block;overflow:hidden}
  .radar-data-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:#fff;border:1px solid #d5e4ff;border-radius:14px;padding:12px 14px;margin:-2px 0 18px;box-shadow:0 2px 10px rgba(0,91,255,.04)}
  .radar-data-actions .action-copy{min-width:220px;flex:1 1 360px}
  .radar-data-actions .action-copy b{display:block;color:#0b3d91;font-size:13px;margin-bottom:2px}
  .radar-data-actions .action-copy span{display:block;color:var(--muted);font-size:11.5px;line-height:1.4}
  .radar-data-actions .action-btns{display:flex;gap:8px;flex-wrap:wrap}
  .radar-action-btn{border:1px solid #cbdcff;background:#f7fbff;color:#0b3d91;border-radius:10px;padding:9px 13px;font-size:12.5px;font-weight:800;cursor:pointer;transition:.15s}
  .radar-action-btn:hover{background:#eef5ff;border-color:#2f80ff}
  .radar-action-btn.danger{background:#fff;color:#b42318;border-color:#f2c4be}
  .radar-action-btn.danger:hover{background:#fff3f1;border-color:#e69b92}
  #unitPaneAuto .card{box-shadow:none;margin-left:0;margin-right:0}
  @media(max-width:850px){.unit-data-grid{grid-template-columns:1fr 1fr}.radar-product{font-size:13px;padding:12px 10px}}
  @media(max-width:600px){.radar-product-switch{grid-template-columns:1fr}.unit-data-grid{grid-template-columns:1fr}.unit-subtabs{display:grid;grid-template-columns:1fr}.unit-calc-frame{height:900px}}


/* ===== Ozon Radar Web App shell ===== */
html{scroll-behavior:smooth}
body{min-height:100vh}
.wrap{max-width:1600px;margin:0 auto;padding:18px 24px 44px}
.radar-product-switch{position:sticky;top:0;z-index:900;background:rgba(246,249,255,.94);backdrop-filter:blur(16px);padding:10px;border:1px solid #d8e5fb;border-radius:18px;box-shadow:0 8px 28px rgba(18,61,128,.08);display:grid;grid-template-columns:190px repeat(3,1fr);gap:10px;margin-bottom:18px}
.radar-home-btn{border:0;border-radius:13px;background:#fff;color:#0b3d91;font-weight:900;font-size:15px;padding:14px 16px;cursor:pointer;border:1px solid #d8e5fb;transition:.18s}
.radar-home-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,91,255,.10)}
.radar-product{min-height:52px}
.app-home{padding:26px 0 8px}
.app-home-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#063a91 0%,#005bff 56%,#39a0ff 100%);border-radius:28px;padding:42px 44px;color:white;box-shadow:0 22px 60px rgba(0,91,255,.22)}
.app-home-hero:after{content:'';position:absolute;width:420px;height:420px;border-radius:50%;right:-130px;top:-180px;border:46px solid rgba(255,255,255,.10);box-shadow:0 0 0 42px rgba(255,255,255,.05)}
.app-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;opacity:.78;margin-bottom:12px}
.app-home-hero h1{font-size:clamp(34px,5vw,64px);line-height:1;margin:0 0 16px;position:relative;z-index:1}
.app-home-hero p{font-size:18px;line-height:1.55;max-width:850px;margin:0;opacity:.92;position:relative;z-index:1}
.app-privacy{display:inline-flex;margin-top:22px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);padding:9px 13px;border-radius:999px;font-size:13px;font-weight:700;position:relative;z-index:1}
.app-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
.app-module-card{appearance:none;text-align:left;background:#fff;border:1px solid #d7e4fa;border-radius:22px;padding:24px;cursor:pointer;box-shadow:0 8px 30px rgba(30,73,142,.07);transition:.2s;min-height:225px;color:#203653}
.app-module-card:hover{transform:translateY(-3px);border-color:#9ec2ff;box-shadow:0 15px 38px rgba(0,91,255,.13)}
.app-module-icon{width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:#eef5ff;color:#005bff;font-size:26px;margin-bottom:18px}
.app-module-card h2{font-size:22px;color:#0a4199;margin:0 0 9px}
.app-module-card p{font-size:14px;line-height:1.55;color:#627996;margin:0 0 16px}
.app-module-features{font-size:12.5px;line-height:1.6;color:#31547e;font-weight:650}
.app-home-foot{display:flex;justify-content:flex-end;align-items:center;margin-top:18px}
.app-install-btn{border:0;border-radius:12px;background:#eaf2ff;color:#005bff;font-weight:800;padding:11px 15px;cursor:pointer;display:none}
@media(max-width:980px){.radar-product-switch{grid-template-columns:1fr 1fr}.radar-home-btn{grid-column:1/-1}.app-cards{grid-template-columns:1fr}.app-home-hero{padding:30px 26px}.wrap{padding:12px}.app-home-foot{justify-content:flex-end}}
@media(max-width:620px){.radar-product-switch{grid-template-columns:1fr}.app-home-hero h1{font-size:38px}.app-home-hero p{font-size:15px}}
