  :root{--ink:#0f172a;--mut:#64748b;--line:#e2e8f0;--brand:#1e40af;--brand2:#2563eb;
    --green:#16a34a;--amber:#f59e0b;--red:#dc2626;--sh:0 1px 3px rgba(15,23,42,.08)}
  *{box-sizing:border-box;margin:0;padding:0}
  body{font-family:-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:#f1f5f9;color:var(--ink);font-size:14px;line-height:1.45}

  /* ШАПКА — СТРОКА 1 */
  .top{background:#0f172a;color:#fff;padding:0 20px;height:46px;display:flex;align-items:center;gap:14px}
  .top .name{font-size:16px;font-weight:800}
  .top .name span{font-weight:400;color:#94a3b8;font-size:13px;margin-left:8px}
  .top .sp{flex:1}
  .who{text-align:right;line-height:1.25}
  .who b{display:block;font-size:12.5px;font-weight:700}
  .who i{font-style:normal;font-size:11px;color:#94a3b8}
  .out{border:1px solid #334155;background:transparent;color:#94a3b8;border-radius:7px;padding:5px 10px;font-size:12px;cursor:pointer;font-weight:600}
  .out:hover{background:#1e293b;color:#fff}
  .demo{background:#422006;border:1px solid #854d0e;color:#fde68a;border-radius:7px;padding:3px 8px;font-size:11px;display:flex;gap:5px;align-items:center}
  .demo select{background:#1c1917;color:#fde68a;border:1px solid #854d0e;border-radius:5px;padding:2px 5px;font-size:11px}

  /* ШАПКА — СТРОКА 2 */
  .nav{background:#fff;border-bottom:1px solid var(--line);padding:0 20px;display:flex;gap:2px;position:sticky;top:0;z-index:40;overflow-x:auto;box-shadow:var(--sh)}
  .nv{border:0;background:transparent;padding:13px 18px;font-weight:700;font-size:13.5px;color:var(--mut);cursor:pointer;border-bottom:3px solid transparent;display:flex;align-items:center;gap:7px;white-space:nowrap}
  .nv:hover{color:var(--ink);background:#f8fafc}
  .nv.on{color:var(--brand);border-bottom-color:var(--brand)}
  .nv .cnt{background:var(--red);color:#fff;border-radius:10px;padding:1px 7px;font-size:10.5px;font-weight:800}
  .nv .cnt.gray{background:#e2e8f0;color:#475569}

  .content{padding:16px 20px;max-width:1500px;margin:0 auto}
  .sec{display:none}.sec.on{display:block}
  .hint{background:#eff6ff;border-left:3px solid var(--brand2);padding:10px 13px;border-radius:0 7px 7px 0;font-size:12.5px;color:#1e3a5f;margin-bottom:14px}
  .warn{background:#fffbeb;border-left:3px solid var(--amber);padding:10px 13px;border-radius:0 7px 7px 0;font-size:12.5px;color:#78350f;margin-bottom:14px}
  .card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh);margin-bottom:14px}
  .card>h3{font-size:13.5px;padding:12px 15px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}
  .card>h3 .r{margin-left:auto;font-size:11px;font-weight:500;color:var(--mut)}

  .stagenav{display:flex;gap:4px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:4px;margin-bottom:12px;box-shadow:var(--sh);overflow-x:auto}
  .sn{border:0;background:transparent;padding:8px 13px;border-radius:7px;font-weight:700;font-size:12.5px;color:var(--mut);cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:6px}
  .sn:hover{background:#f1f5f9}
  .sn.on{background:var(--brand);color:#fff}
  .sn .cnt{background:rgba(0,0,0,.08);border-radius:9px;padding:0 6px;font-size:10.5px}
  .sn.on .cnt{background:rgba(255,255,255,.22)}
  .sn .fire{color:var(--red);font-size:11px}
  .sn.on .fire{color:#fecaca}

  .filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}
  .filters input,.filters select{border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:12.5px;background:#fff;box-shadow:var(--sh)}
  .filters input{min-width:210px}
  .filters select.yr{font-weight:700;color:var(--brand)}
  .chip{background:#fff;border:1px solid var(--line);border-radius:20px;padding:6px 12px;font-size:12px;font-weight:700;color:var(--mut);cursor:pointer;box-shadow:var(--sh)}
  .chip.on{background:var(--red);color:#fff;border-color:var(--red)}

  table{width:100%;border-collapse:collapse}
  th,td{padding:9px 10px;font-size:12.5px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;vertical-align:middle}
  thead th{background:#f8fafc;color:var(--mut);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}
  tbody tr:hover{background:#f8fafc}
  .scroll{overflow-x:auto;max-height:520px;overflow-y:auto}

  /* ССЫЛКА-АДРЕС — ЕДИНСТВЕННОЕ, ЧТО ОТКРЫВАЕТ КАРТОЧКУ */
  .lnk{color:var(--brand2);font-weight:700;cursor:pointer;text-decoration:none;border-bottom:1px dashed #93c5fd;padding-bottom:1px}
  .lnk:hover{color:#1d4ed8;border-bottom-style:solid;background:#eff6ff}
  .lnk:before{content:'';}

  .bd{display:inline-block;padding:2px 8px;border-radius:20px;font-size:10.5px;font-weight:700;white-space:nowrap}
  .g{background:#dcfce7;color:#166534}.a{background:#fef3c7;color:#92400e}.r{background:#fee2e2;color:#991b1b}
  .b{background:#dbeafe;color:#1e40af}.n{background:#f1f5f9;color:#475569}
  .tm{font-weight:800;font-size:12px;white-space:nowrap}
  .tm.ok{color:var(--green)}.tm.wr{color:var(--amber)}.tm.late{color:var(--red)}
  .tmlab{display:block;font-size:10px;font-weight:600;color:var(--mut)}
  .file{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;color:var(--brand2);font-weight:600}

  .btn{border:1px solid var(--line);background:#fff;border-radius:7px;padding:4px 9px;font-size:11.5px;cursor:pointer;font-weight:600;white-space:nowrap;color:var(--ink)}
  .btn:hover{background:#f8fafc}
  .btn.up{background:var(--brand2);color:#fff;border-color:var(--brand2)}
  .btn.up:hover{background:#1d4ed8}
  .btn.dl{color:var(--brand2);border-color:#bfdbfe;background:#eff6ff}
  .btn.dl:hover{background:#dbeafe}
  .btn.re{color:#92400e;border-color:#fde68a;background:#fffbeb}
  .btn.appr{background:var(--green);color:#fff;border-color:var(--green)}
  .btn.appr:hover{background:#15803d}
  .btn.rem{background:#fff;color:var(--red);border-color:#fecaca}
  .btn.rem:hover{background:#fef2f2}
  .btn.ok2{background:var(--green);color:#fff;border-color:var(--green);padding:8px 14px;font-size:12.5px}
  .btn.ok2:hover{background:#15803d}
  .btn.ok2:disabled{background:#e2e8f0;color:#94a3b8;border-color:var(--line);cursor:not-allowed}
  .acts{display:flex;gap:4px;align-items:center;flex-wrap:nowrap}

  /* Мои задачи */
  .kpi4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
  .k{background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px 14px;box-shadow:var(--sh)}
  .k .l{font-size:11px;color:var(--mut);font-weight:600}
  .k .v{font-size:22px;font-weight:800;margin-top:2px}
  .k.rd{border-color:#fecaca;background:#fef2f2}.k.rd .v{color:var(--red)}
  .k.am{border-color:#fde68a;background:#fffbeb}.k.am .v{color:#b45309}
  .task{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--line)}
  .task:hover{background:#f8fafc}
  .task .ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-size:15px;flex-shrink:0}
  .task .main{flex:1;min-width:0}
  .task .ttl{font-weight:700;font-size:13px}
  .task .sub{font-size:11.5px;color:var(--mut);margin-top:1px}
  .task .rt{text-align:right;flex-shrink:0}

  /* Обновление */
  .uggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:11px;margin-bottom:16px}
  .ug{background:#fff;border:1px solid var(--line);border-radius:11px;padding:13px 14px;box-shadow:var(--sh)}
  .ug.pend{border-color:#fde68a;background:#fffbeb}
  .ug.done{border-color:#bbf7d0;background:#f0fdf4}
  .ug .t{font-weight:800;font-size:13.5px}
  .ug .s{font-size:11.5px;color:var(--mut);margin:4px 0 9px;line-height:1.5}
  .ug .st{font-size:11.5px;font-weight:700;margin-bottom:9px}
  .ug.pend .st{color:#b45309}
  .ug.done .st{color:#166534}
  .diff .old{color:var(--red);text-decoration:line-through}
  .diff .new{color:var(--green);font-weight:700}
  .who2{font-weight:700;font-size:12.5px}
  .who2 i{display:block;font-style:normal;font-size:10.5px;color:var(--mut);font-weight:400}

  /* обратный отсчёт до вторника */
  .dl{background:linear-gradient(90deg,#1e1b4b,#312e81);color:#fff;border-radius:12px;padding:15px 18px;
      margin-bottom:14px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;box-shadow:var(--sh)}
  .dl-l{flex:1;min-width:280px}
  .dl-t{font-size:11px;font-weight:700;color:#a5b4fc;text-transform:uppercase;letter-spacing:.5px}
  .dl-c{font-size:27px;font-weight:800;letter-spacing:-.5px;margin:2px 0 3px;font-variant-numeric:tabular-nums}
  .dl-s{font-size:12px;color:#c7d2fe}
  .dl-s b{color:#fff}
  .dl-r{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
  .dl-n{font-size:12px;color:#c7d2fe;text-align:right;line-height:1.4}
  .dl-n b{color:#fca5a5;font-size:19px;font-weight:800}
  .btn.rep{background:#fff;color:#312e81;border:0;padding:10px 15px;font-size:12.5px;font-weight:700}
  .btn.rep:hover{background:#e0e7ff}

  /* живая лента */
  .live{width:8px;height:8px;border-radius:50%;background:var(--green);display:inline-block;
        animation:blink 1.6s ease-in-out infinite;flex-shrink:0}
  @keyframes blink{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(22,163,74,.5)}50%{opacity:.6;box-shadow:0 0 0 5px rgba(22,163,74,0)}}
  .fi{display:flex;align-items:center;gap:11px;padding:10px 15px;border-bottom:1px solid var(--line);font-size:12.5px}
  .fi:hover{background:#f8fafc}
  .fi.fresh{background:#f0fdf4;animation:slide .4s ease-out}
  @keyframes slide{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
  .fi .fic{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:13px;flex-shrink:0}
  .fi .fm{flex:1;min-width:0}
  .fi .fw{font-weight:700}
  .fi .fs{color:var(--mut);font-size:11.5px}
  .fi .ft{color:var(--mut);font-size:11px;font-weight:700;white-space:nowrap;flex-shrink:0}

  /* светофор */
  .legend2{display:flex;gap:18px;flex-wrap:wrap;padding:10px 15px;font-size:12px;color:var(--mut);border-bottom:1px solid var(--line)}
  .legend2 span{display:inline-flex;align-items:center;gap:6px}
  .lt{width:13px;height:13px;border-radius:50%;display:inline-block;flex-shrink:0}
  .lt.g2{background:var(--green)}.lt.y2{background:var(--amber)}.lt.r2{background:var(--red)}
  .svlight{width:18px;height:18px;border-radius:50%;display:inline-block;box-shadow:0 0 0 3px rgba(0,0,0,.05)}
  .sv-g{background:var(--green)}.sv-y{background:var(--amber)}.sv-r{background:var(--red)}
  tr.row-r td{background:#fef2f2}
  tr.row-y td{background:#fffbeb}
  .ago{font-size:11px;color:var(--mut);font-weight:600}
  /* колонки/блоки только для администратора */
  .admonly{display:none}
  body.is-admin th.admonly,body.is-admin td.admonly{display:table-cell}
  body.is-admin .card.admonly{display:block}
  body.is-admin .legend2 span.admonly{display:inline-flex}

  /* КАРТОЧКА */
  .ov{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:90;display:none;align-items:flex-start;justify-content:center;padding:34px 20px;overflow-y:auto}
  .ov.on{display:flex}
  .modal{background:#fff;border-radius:14px;width:100%;max-width:1060px;box-shadow:0 20px 50px rgba(15,23,42,.3);animation:pop .16s ease-out}
  @keyframes pop{from{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:none}}
  .mhdr{padding:14px 18px;border-bottom:1px solid var(--line);background:#f8fafc;border-radius:14px 14px 0 0;display:flex;align-items:flex-start;gap:12px}
  .mhdr .adr{font-size:16px;font-weight:800}
  .mhdr .meta{font-size:12px;color:var(--mut);margin-top:3px;line-height:1.5}
  .mhdr .nav2{margin-left:auto;display:flex;gap:5px;align-items:center;flex-shrink:0}
  .nb{border:1px solid var(--line);background:#fff;width:30px;height:30px;border-radius:7px;cursor:pointer;font-size:14px;font-weight:700;color:var(--mut)}
  .nb:hover{background:#f1f5f9;color:var(--ink)}
  .nb.x{background:#fee2e2;border-color:#fecaca;color:#991b1b}
  .pos{font-size:11.5px;color:var(--mut);font-weight:700;padding:0 4px}
  .mtabs{display:flex;gap:2px;padding:9px 12px 0;border-bottom:1px solid var(--line);overflow-x:auto}
  .mt{border:0;background:transparent;padding:8px 11px;font-size:12.5px;font-weight:700;color:var(--mut);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}
  .mt.on{color:var(--brand);border-bottom-color:var(--brand)}
  .mt .d2{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px}
  .mbody{padding:16px 18px}
  .pane{display:none}.pane.on{display:block}
  .fld{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--line);font-size:12.5px;gap:12px}
  .fld .l{color:var(--mut);flex-shrink:0}
  .fld .v{font-weight:600;text-align:right}
  .alert{margin-top:13px;padding:11px 13px;border-radius:9px;border-left:3px solid var(--red);background:#fef2f2}
  .alert b{font-size:13px;color:#991b1b}
  .alert div{font-size:12px;color:#7f1d1d;margin-top:2px}
  .alert.ok2{border-left-color:var(--green);background:#f0fdf4}
  .alert.ok2 b{color:#166534}.alert.ok2 div{color:#14532d}
  /* реестр (только просмотр): две выровненные колонки — документ | статус */
  .adrcell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  td.dcol{padding-top:8px;padding-bottom:8px}
  .rl{height:26px;display:flex;align-items:center;font-size:12px;color:#334155;white-space:nowrap}
  .rstat{display:inline-block;padding:2px 10px;border-radius:20px;font-size:11px;font-weight:700}
  .rs-ok{background:#dcfce7;color:#166534}
  .rs-chk{background:#fef3c7;color:#92400e}
  .rs-rem{background:#fee2e2;color:#991b1b}
  .rs-dev{background:#e0e7ff;color:#3730a3}

  /* таблица документов в карточке: 3 столбца */
  .doctbl{width:100%;border-collapse:collapse;margin:4px 0 6px}
  .doctbl th{background:#f8fafc;color:var(--mut);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.2px;text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
  .doctbl td{padding:9px 10px;border-bottom:1px solid var(--line);font-size:12.5px;vertical-align:middle}
  .doctbl td.dn{font-weight:600}
  .dstat{display:inline-block;padding:2px 9px;border-radius:20px;font-size:10.5px;font-weight:700;white-space:nowrap}
  .ds-dev{background:#e0e7ff;color:#3730a3}     /* В разработке */
  .ds-chk{background:#fef3c7;color:#92400e}     /* На проверке */
  .ds-ok{background:#dcfce7;color:#166534}      /* Согласовано */
  .ds-rem{background:#fee2e2;color:#991b1b}     /* Замечания */
  .ds-no{background:#f1f5f9;color:#475569}      /* Не начата */
  /* обе колонки действий — флекс с выравниванием по ЛЕВОМУ краю; кнопки фиксированной ширины */
  .doctbl td{vertical-align:middle}
  .docacts,.apprs{display:flex;gap:8px;align-items:center;justify-content:flex-start}
  .da{height:34px;width:128px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;line-height:1;
      padding:0 12px;border:1px solid var(--line);background:#fff;color:var(--ink);white-space:nowrap;
      display:inline-flex;align-items:center;justify-content:center;gap:5px;box-sizing:border-box;flex:0 0 auto}
  .da:hover{filter:brightness(.97)}
  .da.dl{color:var(--brand2);border-color:#bfdbfe;background:#eff6ff}                /* Версия N */
  .da.up{background:var(--brand2);color:#fff;border-color:var(--brand2)}             /* Загрузить */
  .da.ver{color:var(--amber);border-color:#fde68a;background:#fffbeb}                /* Новая версия */
  .da.mute{opacity:.5;cursor:default;color:var(--mut)}
  /* столбец «Согласование»: два квадрата 34×34 + кнопка «Замечания» */
  .da.appr{width:34px;padding:0;font-size:15px;color:var(--green);border-color:#bbf7d0;background:#f0fdf4}
  .da.appr.on{background:var(--green);color:#fff;border-color:var(--green)}
  .da.nope{width:34px;padding:0;font-size:15px;color:var(--red);border-color:#fecaca;background:#fff}
  .da.nope:hover{background:#fef2f2}
  .da.remk{width:122px;color:#92400e;border-color:#fde68a;background:#fffbeb}
  .da.remk.on{background:var(--amber);color:#fff;border-color:var(--amber)}
  .fver{font-size:11px;color:var(--mut);margin-left:2px}
  .rolehint{font-size:11.5px;color:var(--mut);background:#f8fafc;border-radius:8px;padding:8px 11px;margin:4px 0 2px;display:flex;gap:7px;align-items:flex-start}
  .drop{margin-top:13px;border:2px dashed #bfdbfe;background:#eff6ff;border-radius:10px;padding:16px;text-align:center;display:none}
  .drop.on{display:block}
  .drop .t{font-weight:700;font-size:13px;color:var(--brand)}
  .drop .s{font-size:11.5px;color:var(--mut);margin:3px 0 9px}
  .hd{font-size:11px;font-weight:800;color:var(--mut);text-transform:uppercase;letter-spacing:.4px;margin:16px 0 7px}
  .tl{position:relative;padding-left:20px}
  .tl:before{content:'';position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:var(--line)}
  .ev{position:relative;padding:6px 0;font-size:12.5px}
  .ev:before{content:'';position:absolute;left:-18px;top:11px;width:9px;height:9px;border-radius:50%;background:var(--green);border:2px solid #fff}
  .ev.wait:before{background:#cbd5e1}
  .ev.late:before{background:var(--red)}
  .ev .w{font-weight:600}
  .ev .d{color:var(--mut);font-size:11.5px}
  .mfoot{padding:12px 18px;border-top:1px solid var(--line);background:#f8fafc;border-radius:0 0 14px 14px;display:flex;align-items:center;gap:9px}
  .mfoot .sp{flex:1}
  .kbd{background:#fff;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:1px 6px;font-size:10.5px;font-weight:700;color:var(--mut);font-family:ui-monospace,Menlo,monospace}
  .note{font-size:11.5px;color:var(--mut);text-align:center;padding:14px 18px 30px}
  .stub{background:#fff;border:2px dashed var(--line);border-radius:12px;padding:44px 20px;text-align:center;color:var(--mut)}
  .stub b{display:block;font-size:15px;color:var(--ink);margin-bottom:5px}

  /* ===== ДОБАВЛЕНО В ФИНАЛЬНОМ МАКЕТЕ ===== */
  /* панель действий администратора над реестром */
  .admbar{display:none;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}
  body.is-admin .admbar{display:flex}
  .btn.big{padding:8px 14px;font-size:12.5px;font-weight:700}
  .btn.big.up{background:var(--brand2);color:#fff;border-color:var(--brand2)}
  .btn.big.imp{background:#f0fdf4;color:#166534;border-color:#bbf7d0}
  .btn.big.dlall{background:#eff6ff;color:var(--brand2);border-color:#bfdbfe}
  .btn.big.smr{background:#fffbeb;color:#92400e;border-color:#fde68a}

  /* всплывающая форма заявки */
  .form2{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;padding:4px 0}
  .fg{display:flex;flex-direction:column;gap:4px}
  .fg.w2{grid-column:span 2}
  .fg label{font-size:11px;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.3px}
  .fg input,.fg select{border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:13px;background:#fff}
  .fg .inline{display:flex;gap:8px;align-items:center}
  .fg .inline input,.fg .inline select{flex:1}
  .fg .note2{font-size:11px;color:var(--mut)}
  .seg{display:flex;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;width:max-content}
  .seg button{border:0;background:#fff;padding:7px 13px;font-size:12px;font-weight:700;color:var(--mut);cursor:pointer}
  .seg button.on{background:var(--brand);color:#fff}
  .fhr{grid-column:span 2;border:0;border-top:1px dashed var(--line);margin:4px 0}
  .fsec{grid-column:span 2;font-size:11px;font-weight:800;color:var(--brand);text-transform:uppercase;letter-spacing:.4px;margin-top:4px}

  /* статусы СМР */
  .rs-smr-done{background:#dcfce7;color:#166534}
  .rs-smr-run{background:#dbeafe;color:#1e40af}
  .rs-smr-no{background:#f1f5f9;color:#475569}

  /* приоритет в задачах */
  .prio{display:inline-block;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.3px}
  .prio.hi{background:#fee2e2;color:#991b1b}
  .prio.md{background:#fef3c7;color:#92400e}
  .prio.lo{background:#f1f5f9;color:#475569}

  /* профиль */
  .profgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;align-items:start}
  .chan{display:flex;align-items:center;gap:11px;padding:10px 14px;border-bottom:1px solid var(--line)}
  .chan .ci{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;font-size:15px;background:#f1f5f9;flex-shrink:0}
  .chan .cm{flex:1}
  .chan .ct{font-weight:700;font-size:13px}
  .chan .cs{font-size:11.5px;color:var(--mut)}
  .sw{position:relative;width:38px;height:22px;border-radius:20px;background:#cbd5e1;cursor:pointer;flex-shrink:0;transition:.15s}
  .sw:after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.15s}
  .sw.on{background:var(--green)}
  .sw.on:after{left:19px}
  .superonly{display:none}
  body.is-super .superonly{display:block}
  body.is-super th.superonly,body.is-super td.superonly{display:table-cell}

  /* дашборд */
  .dashgrid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}
  .dw{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh);padding:13px 15px}
  .dw h4{font-size:12.5px;margin-bottom:2px}
  .dw .sub3{font-size:11px;color:var(--mut);margin-bottom:10px}
  .c12{grid-column:span 12}.c8{grid-column:span 8}.c6{grid-column:span 6}.c4{grid-column:span 4}.c3{grid-column:span 3}
  @media(max-width:1000px){.c8,.c6,.c4,.c3{grid-column:span 12}}
  .kpi6{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:12px}
  @media(max-width:1000px){.kpi6{grid-template-columns:repeat(2,1fr)}}
  .hbar{display:flex;align-items:center;gap:9px;margin:7px 0;font-size:12px}
  .hbar .hl{width:210px;flex-shrink:0;text-align:right;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hbar .htr{flex:1;background:#f1f5f9;border-radius:6px;height:20px;position:relative;overflow:hidden}
  .hbar .hf{height:100%;border-radius:6px;display:flex;align-items:center;justify-content:flex-end;padding:0 7px;color:#fff;font-size:10.5px;font-weight:800;min-width:26px}
  .hbar .hv{width:70px;flex-shrink:0;font-weight:800;font-size:12px}
  .funrow{display:flex;align-items:center;gap:9px;margin:6px 0;font-size:12px}
  /* правки 2 */
  .dwrap{overflow-x:auto}                                   /* таблица документов не вылезает за карточку */
  .da.wide{width:270px}                                     /* «Загрузить» на всю ширину пары кнопок — ровный правый край */
  .edadm{display:none;border:1px solid #bfdbfe;background:#eff6ff;color:var(--brand2);border-radius:7px;height:30px;
         padding:0 11px;font-size:12px;font-weight:700;cursor:pointer;align-items:center;gap:5px}
  body.is-admin .edadm{display:inline-flex}
  .rs-field-no{background:#fee2e2;color:#991b1b}            /* полевые работы: нет ТЗ */
  .rs-field-run{background:#dbeafe;color:#1e40af}           /* выполняются */
  .rs-field-done{background:#dcfce7;color:#166534}          /* завершены */
  .rs-ann{background:#fee2e2;color:#991b1b}                 /* заявка аннулирована */
  .rs-hoz{background:#e0e7ff;color:#3730a3}                 /* выполнено хозспособом */
  .rs-no{background:#f1f5f9;color:#475569}                  /* не подписан / не начат */
  /* исчезающее уведомление «изменения сохранены» */
  .toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(8px);background:#166534;color:#fff;
         padding:11px 20px;border-radius:10px;font-size:13px;font-weight:700;z-index:300;opacity:0;transition:.25s;pointer-events:none;box-shadow:0 8px 24px rgba(15,23,42,.25)}
  .toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
  .statsel{border:1px solid var(--line);border-radius:7px;padding:4px 7px;font-size:11.5px;background:#fff}
  .fld input[type=date],.fld select{border:1px solid var(--line);border-radius:7px;padding:5px 8px;font-size:12.5px;background:#fff}
  .legend3{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--mut);margin-top:8px}
  .legend3 span{display:inline-flex;align-items:center;gap:5px}
  .dot3{width:10px;height:10px;border-radius:3px;display:inline-block}

  @media(max-width:760px){
    .form2{grid-template-columns:1fr}
    .fg.w2,.fhr,.fsec{grid-column:span 1}
    .kpi4{grid-template-columns:repeat(2,1fr)}
    .ov{padding:0}.modal{max-width:100%;min-height:100vh;border-radius:0}
    .mhdr,.mfoot{border-radius:0}.demo{display:none}
  }

/* — дополнения портала (поверх стилей макета) — */
a.nv{text-decoration:none;display:flex;align-items:center;gap:7px}
a.lnk{cursor:pointer}
.statsel{border:1px solid var(--line);border-radius:7px;padding:5px 8px;font-size:12px;background:#fff;max-width:160px}
.edadm{display:inline-flex} /* в портале кнопка выводится только администратору на сервере */
button.da{font-family:inherit}
a.da{text-decoration:none}
