
  :root{
    color-scheme:light;
    --bg:#eef1f6; --card:rgba(255,255,255,.58); --card-solid:#ffffff;
    --ink:#1c2430; --ink2:#55647a; --muted:#5f6d82;
    --line:rgba(120,140,170,.22); --glass-line:rgba(255,255,255,.65); --th-bg:rgba(120,140,170,.12);
    --accent:#2a63bd; --accent-soft:rgba(42,99,189,.12);
    --gip:#2a63bd; --gip-bg:rgba(42,99,189,.13);
    --kon:#7a5cb8; --kon-bg:rgba(122,92,184,.14);
    --eks:#c07a1f; --eks-bg:rgba(230,160,60,.16);
    --mpa:#1f8a80; --mpa-bg:rgba(31,138,128,.14);
    --done:#2e8b57; --done-bg:rgba(46,139,87,.14);
    --misc:#94620b; --misc-bg:rgba(180,130,30,.14);
    --danger:#c24a35;
    --blur:blur(26px) saturate(170%);
    --shadow:0 10px 34px rgba(30,45,70,.10);
  }
  *{box-sizing:border-box}
  html{background:var(--bg)}
  body{margin:0;background:var(--bg);color:var(--ink);
    font:14px/1.45 -apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',Inter,Roboto,sans-serif;
    padding:20px 16px 60px;min-height:100vh}
  body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
    background:
      radial-gradient(560px 420px at 12% -4%, rgba(88,140,255,.20), transparent 65%),
      radial-gradient(640px 480px at 96% 8%, rgba(64,200,180,.16), transparent 65%),
      radial-gradient(700px 520px at 55% 108%, rgba(255,150,170,.12), transparent 60%)}
  .wrap{max-width:1180px;margin:0 auto}
  h1{font-size:20px;margin:0 0 2px}
  .sub{color:var(--ink2);margin:0 0 16px;font-size:13px}
  /* KPI */
  .kpis{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin-bottom:16px}
  @media (max-width:1500px){.kpis{gap:6px}.kpi{padding:8px 10px}.kpi span{font-size:11px}}
  @media (max-width:1180px){.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
  .kpi{background:var(--card);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
    border:1px solid var(--glass-line);border-radius:14px;padding:10px 14px;box-shadow:var(--shadow)}
  .kpi.act{cursor:pointer;transition:border-color .12s}
  .kpi.act:hover{border-color:var(--accent)}
  .kpi.kact{outline:2px solid var(--accent)}
  .kpi b{display:block;font-size:20px;line-height:1.1;font-variant-numeric:tabular-nums}
  .kpi:first-child b{font-size:32px}
  @media (max-width:1500px){.kpi:first-child b{font-size:26px}.kpi b{font-size:18px}}
  .kpi span{color:var(--ink2);font-size:12px}
  /* filters */
  .filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;align-items:center}
  .fbtn{border:1px solid var(--glass-line);background:var(--card);border-radius:999px;
    -webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
    padding:6px 14px;font-size:13px;cursor:pointer;color:var(--ink2);transition:all .15s}
  .fbtn.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 4px 14px rgba(30,45,70,.22)}
  .search{flex:1;min-width:160px;border:1px solid var(--glass-line);border-radius:8px;
    padding:7px 12px;font-size:13px;background:var(--card);color:var(--ink);
    -webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);outline:none}
  .search:focus{border-color:var(--accent)}
  .tools{margin-left:auto;display:flex;gap:6px}
  .tbtn{border:1px solid var(--glass-line);background:var(--card);border-radius:8px;
    -webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
    padding:5px 11px;font-size:12px;cursor:pointer;color:var(--ink2);transition:all .15s}
  .tbtn:hover{color:var(--ink);border-color:var(--accent)}
  /* card */
  .card{background:var(--card);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
    border:1px solid var(--glass-line);border-radius:14px;
    padding:14px 16px;margin-bottom:12px;box-shadow:var(--shadow)}
  .card.closed{opacity:.62}
  .chead{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
  .cid{font-weight:700;font-size:13px;color:var(--accent);white-space:nowrap}
  .ctitle{font-weight:600;font-size:15px;flex:1;min-width:220px}
  .badge{font-size:12px;font-weight:600;border-radius:999px;padding:2px 9px;white-space:nowrap}
  .b-gip{color:var(--gip);background:var(--gip-bg)}
  .b-kon{color:var(--kon);background:var(--kon-bg)}
  .b-eks{color:var(--eks);background:var(--eks-bg)}
  .b-mpa{color:var(--mpa);background:var(--mpa-bg)}
  .b-done{color:var(--done);background:var(--done-bg)}
  .b-misc{color:var(--misc);background:var(--misc-bg)}
  .cnums{color:var(--muted);font-size:12px;margin:2px 0 8px}
  /* progress */
  .prog{height:5px;background:var(--line);border-radius:999px;overflow:hidden;margin:6px 0 10px}
  .prog i{display:block;height:100%;background:var(--done);border-radius:999px;transition:width .25s}
  /* stages */
  .stages{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:8px}
  .stage{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink2);
    cursor:pointer;user-select:none;padding:3px 6px;border-radius:8px}
  .stage:hover{background:var(--accent-soft)}
  .stage input{width:15px;height:15px;accent-color:var(--done);cursor:pointer}
  .stage.on{color:var(--ink)}
  .stage .d{color:var(--muted);font-size:11px}
  /* next step */
  .next{font-size:13px;background:var(--accent-soft);border-radius:8px;
    padding:7px 10px;margin-bottom:8px}
  .next b{color:var(--accent)}
  /* timeline */
  details.tl{font-size:13px}
  details.tl summary{cursor:pointer;color:var(--accent);font-size:13px;
    list-style:none;display:inline-flex;align-items:center;gap:4px}
  details.tl summary::before{content:'▸';transition:transform .15s}
  details.tl[open] summary::before{transform:rotate(90deg)}
  .tline{margin:8px 0 4px;padding-left:14px;border-left:2px solid var(--line)}
  .tev{position:relative;padding:2px 0 6px 10px;color:var(--ink2)}
  .tev::before{content:'';position:absolute;left:-19px;top:8px;width:7px;height:7px;
    border-radius:50%;background:var(--muted)}
  .tev.us::before{background:var(--accent)}
  .tev .td{font-weight:600;color:var(--ink);margin-right:6px;font-variant-numeric:tabular-nums}
  /* note */
  .note{width:100%;border:1px dashed var(--line);border-radius:8px;background:transparent;
    color:var(--ink);font:12.5px/1.4 inherit;padding:6px 8px;margin-top:8px;resize:vertical;min-height:30px}
  .note::placeholder{color:var(--muted)}
  .foot{color:var(--muted);font-size:12px;margin-top:24px;text-align:center}
  /* tabs */
  .tabs{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
  .tab{border:1px solid var(--glass-line);background:var(--card);border-radius:999px;
    -webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
    padding:7px 18px;font-size:13px;cursor:pointer;color:var(--ink2);font-weight:600;transition:all .15s}
  .tab.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 4px 14px rgba(30,45,70,.22)}
  /* calendar */
  .cal{background:var(--card);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
    border:1px solid var(--glass-line);border-radius:14px;padding:14px 16px;margin-bottom:12px;box-shadow:var(--shadow)}
  .calhead{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}
  .calhead b{font-size:15px;min-width:150px;text-align:center}
  .cnav{border:1px solid var(--line);background:var(--card);border-radius:8px;
    width:28px;height:28px;cursor:pointer;color:var(--ink2);font-size:15px}
  .calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
  .cd{min-height:62px;border:1px solid var(--line);border-radius:8px;padding:4px 6px;
    font-size:12px;color:var(--ink2)}
  .cd.empty{border:none}
  .cd.has{cursor:pointer}
  .cd.has:hover{background:var(--accent-soft)}
  .cd.sel{outline:2px solid var(--accent)}
  .cd .dn{font-weight:600;color:var(--ink)}
  .cd .dots{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}
  .dot{width:8px;height:8px;border-radius:50%;background:var(--eks);display:inline-block}
  .dot.us{background:var(--accent)}
  .wd{font-size:11px;color:var(--muted);text-align:center;padding:2px 0}
  .daylist{margin-top:12px}
  .dl-item{padding:7px 10px;border:1px solid var(--line);border-radius:8px;
    margin-bottom:6px;font-size:13px;cursor:pointer}
  .dl-item:hover{background:var(--accent-soft)}
  .dl-item .who{font-weight:600;color:var(--accent);margin-right:6px}
  .legend{display:flex;gap:16px;font-size:12px;color:var(--ink2);margin-top:10px}
  .legend span{display:inline-flex;align-items:center;gap:5px}
  .tev.pv, .dl-item.pv{text-decoration:underline dotted; text-underline-offset:3px}
  .noans{font-size:11px;font-weight:700;color:var(--danger);background:rgba(194,74,53,.13);border-radius:999px;padding:1px 8px;margin-left:6px;white-space:nowrap}
  .sect{font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:22px 0 4px}
  /* позиции ГИПа */
  .posblk{border:1px dashed var(--line);border-radius:8px;padding:8px 12px;margin:2px 0 8px;font-size:13px}
  .posblk.need{border:1.5px dashed var(--eks);background:rgba(230,160,60,.07)}
  .posblk .ph{font-weight:700;color:var(--ink2);font-size:12px;margin-bottom:5px}
  .posblk.need .ph{color:var(--eks)}
  .pos{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:4px 0;border-bottom:1px dashed var(--line)}
  .pos:last-of-type{border-bottom:none}
  .pos-t{flex:1;min-width:200px}
  .segs{display:flex;gap:0;border:1px solid var(--line);border-radius:999px;overflow:hidden}
  .seg{padding:2px 10px;font-size:11px;cursor:pointer;color:var(--muted);white-space:nowrap;border-right:1px solid var(--line)}
  .seg:last-child{border-right:none}
  .seg:hover{color:var(--ink)}
  .seg.on-принято{background:var(--done-bg);color:var(--done);font-weight:700}
  .seg.on-жёстче{background:rgba(194,74,53,.15);color:var(--danger);font-weight:700}
  .seg.on-нейтрально{background:rgba(120,140,170,.18);color:var(--ink);font-weight:700}
  .seg.on-противоположно{background:var(--kon-bg);color:var(--kon);font-weight:700}
  body.noadmin .tab-adm{display:none!important}
  body.noadmin .pos-del,body.noadmin .rzr-del,body.noadmin .rz-tid-del,body.noadmin .rzf-del{display:none!important}
  body.guest #exp,body.guest #imp,body.guest #rst,body.guest #jform,body.guest .reqcnf,body.guest .mkrzr,body.guest .fbtn[data-f="ГИП"],body.guest .fbtn[data-f="Конструктор"]{display:none!important}
  .aosr-t{border-collapse:collapse;width:100%;font-size:13px;font-variant-numeric:tabular-nums}
  .aosr-t td:nth-child(3){min-width:280px}
  .aosr-t th:nth-child(1),.aosr-t td:nth-child(1){white-space:nowrap}
  .aosr-docs{color:var(--muted);font-size:11px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .aosr-t tr:first-child th{position:sticky;top:0;z-index:3}
  .cd,.md,.ddl,.tev .td,.cid{font-variant-numeric:tabular-nums}
  .aosr-t th,.aosr-t td{border:1px solid var(--line);padding:6px 8px;vertical-align:top;text-align:left;line-height:1.4}
  .aosr-t td{color:var(--ink)}
  .aosr-t th{background:var(--th-bg);color:var(--ink);font-weight:600;white-space:nowrap;vertical-align:bottom}
  .aosr-t select,.aosr-t input{font:inherit;font-size:12px;line-height:1.4;color:var(--ink);
    border:1px solid transparent;border-radius:8px;background:transparent;width:100%;
    padding:0 4px;margin:0;box-sizing:border-box;min-height:20px}
  .aosr-t select{padding-right:2px}
  .aosr-t input::placeholder{color:var(--muted)}
  .aosr-t select:hover,.aosr-t input:hover{border-color:var(--line);background:var(--accent-soft)}
  .aosr-t select:focus,.aosr-t input:focus{border-color:var(--accent);background:var(--card-solid)}
  .aosr-t tr.st-signed td:first-child{border-left:4px solid var(--done,#2a7)}
  .aosr-t tr.st-tosign td:first-child{border-left:4px solid #e0a000}
  .aosr-t tr.st-rejected td:first-child{border-left:4px solid var(--danger,#c33)}
  .aosr-t tr.st-noact td:first-child{border-left:4px solid var(--muted,#999)}
  .aosr-t td:nth-child(8){min-width:170px}
  .aosr-t td:nth-child(6),.aosr-t td:nth-child(7){min-width:120px}
  .aosr-del{cursor:pointer;color:var(--muted);font-weight:700}
  body.noadmin .aosr-del{display:none!important}
  body.guest .aosr-add-btn,body.guest #aosr-form{display:none!important}
  .pos-del,.rzr-del{cursor:pointer;color:var(--muted);font-weight:700;padding:0 4px}
  .pos-del:hover,.rzr-del:hover{color:var(--danger)}
  .pos-add{width:100%;border:1px dashed var(--line);border-radius:8px;background:transparent;
    color:var(--ink);font:12.5px/1.4 inherit;padding:5px 8px;margin-top:6px;outline:none}
  .pos-add:focus{border-color:var(--accent)}
  #rzrform .search,#rzrform select.search{height:42px;padding:0 14px;font-size:13px;box-shadow:none}
  #rzrform input.search{line-height:40px}
  textarea.search.autogrow{height:auto;min-height:42px;padding:10px 14px;line-height:1.45;
    resize:none;overflow:hidden;font-family:inherit;box-shadow:none}
  #rzrform textarea.search.autogrow{font-size:13px}
  #rz-sec-sum{height:42px;line-height:40px;padding:0 14px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  #rzrform .tbtn{height:42px;padding:0 18px;font-size:13px}
  .secpanel{position:absolute;z-index:30;top:calc(100% + 6px);left:0;min-width:640px;max-height:460px;overflow:auto;
    background:rgba(255,255,255,.92);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
    border:1px solid var(--glass-line);border-radius:14px;box-shadow:0 18px 50px rgba(20,35,60,.22);
    padding:12px 14px;display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;font-size:13px}
  .secpanel .sph{font-weight:700;color:var(--ink2);font-size:11px;margin:4px 0 4px;text-transform:uppercase;letter-spacing:.04em}
  .secpanel label{display:grid;grid-template-columns:15px 66px 1fr;gap:6px;align-items:center;
    cursor:pointer;padding:2px 0;color:var(--ink);line-height:1.25}
  .secpanel label b{font-size:12px;white-space:nowrap}
  .secpanel label .sd{font-size:11px;color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .secpanel label:hover .sd{color:var(--ink2)}
  .secpanel input{accent-color:var(--accent);margin:0}
  .secpanel .spadd{grid-column:1/-1;display:flex;gap:6px;margin-top:6px}
  @media (prefers-color-scheme: dark){.secpanel{background:rgba(30,37,48,.94)}}
  a.orig{color:var(--accent);font-weight:600;font-size:12px;text-decoration:none;border:1px solid var(--accent);border-radius:999px;padding:1px 8px;margin-left:6px;white-space:nowrap}
  .conf{font-size:13px;border-radius:8px;padding:7px 10px;margin:2px 0 8px}
  .conf.need{background:rgba(230,160,60,.13);color:#8a5a10;border:1px dashed var(--eks)}
  .conf.ok{background:var(--done-bg);color:var(--done)}
  .conf .tbtn{margin-left:8px}
  .unlk{cursor:pointer;color:var(--muted);font-weight:700;padding:0 5px;font-size:13px}
  .unlk:hover{color:var(--danger)}
  a.orig:hover{background:var(--accent-soft)}
  #unansbar{font-size:13px;background:rgba(194,74,53,.10);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
    border:1px solid rgba(194,74,53,.45);border-radius:14px;padding:9px 14px;margin:-6px 0 16px;line-height:1.9}
  #unansbar b{color:var(--danger)}
  #unansbar a{color:var(--danger);font-weight:700;text-decoration:underline;white-space:nowrap;margin-right:4px}
  .card:target{outline:2px solid var(--danger);scroll-margin-top:14px}
  /* deadline countdown */
  .ddl{font-size:12px;font-weight:700;border-radius:999px;padding:2px 9px;white-space:nowrap}
  .ddl.ok{color:#6b7c1f;background:#f3f7dd}
  .ddl.soon{color:#c07a1f;background:#fbf1e2}
  .ddl.over{color:#fff;background:var(--danger)}
  .card.overdue{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}
  .card.poswait{border-color:rgba(230,160,60,.6);
    box-shadow:0 10px 34px rgba(30,45,70,.10), 0 0 0 1px rgba(230,160,60,.55);
    background:linear-gradient(var(--card),var(--card)),linear-gradient(rgba(230,160,60,.05),rgba(230,160,60,.05))}
  /* mini-months */
  .months{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:14px}
  .mmt{font-weight:600;font-size:13px;margin-bottom:6px;text-align:center;color:var(--ink)}
  .mmgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
  .mwd{font-size:11px;color:var(--muted);text-align:center;padding-bottom:2px}
  .md{position:relative;min-height:27px;border-radius:8px;font-size:11px;color:var(--ink2);text-align:center;padding-top:3px}
  .md.has{cursor:pointer;background:var(--accent-soft);color:var(--ink);font-weight:600}
  .md.has:hover{outline:1.5px solid var(--accent)}
  .md.sel{outline:2px solid var(--accent)}
  .md .dts{position:absolute;bottom:2px;left:0;right:0;display:flex;gap:2px;justify-content:center}
  .md .dts i{width:5px;height:5px;border-radius:50%;background:var(--eks);display:inline-block}
  .md .dts i.us{background:var(--accent)}
  /* modal */
  .modal-bg{position:fixed;inset:0;background:rgba(15,25,40,.35);
    -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:none;
    align-items:center;justify-content:center;z-index:50;padding:16px}
  .modal-bg.open{display:flex}
  .modal{background:rgba(255,255,255,.78);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
    border-radius:14px;max-width:560px;width:100%;
    max-height:80vh;overflow:auto;padding:20px 22px;border:1px solid var(--glass-line);
    box-shadow:0 24px 70px rgba(20,35,60,.25)}
  .modal h3{margin:0 0 2px;font-size:17px;padding-right:24px}
  .modal .m-num{color:var(--muted);font-size:12px;margin-bottom:10px}
  .modal .m-body{font-size:13px;line-height:1.55}
  .modal .m-file{margin-top:12px;font-size:12px;color:var(--muted)}
  .modal.wide{max-width:960px}
  .m-pdf{width:100%;height:72vh;border:1px solid var(--line);border-radius:8px;margin-top:12px;background:#fff}
  .m-pdfbox{max-height:72vh;overflow:auto;margin-top:12px;background:var(--bg);
    border:1px solid var(--line);border-radius:8px;padding:8px;-webkit-overflow-scrolling:touch}
  .m-close{float:right;border:none;background:none;font-size:20px;cursor:pointer;color:var(--muted)}
  .m-openbtn{display:block;text-align:center;margin-top:14px;padding:14px;border:1.5px solid var(--accent);
    border-radius:8px;color:var(--accent);font-weight:700;font-size:15px;text-decoration:none}
  /* journal form */
  #jform{grid-template-columns:110px 90px 1fr}
  #jphoto{grid-column:1/3}
  #jsubmit{grid-column:3}
  .legend{flex-wrap:wrap}
  /* ===== адаптация: планшет ===== */
  @media (max-width:900px){
    .ctitle{min-width:160px}
    .months{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
  }
  .cexp{display:none}
  .morebtn{display:block;width:100%;margin:10px 0 4px;padding:10px;border:1px dashed var(--muted);border-radius:8px;background:transparent;color:var(--ink2);font:inherit;cursor:pointer}
  .morebtn:hover{border-color:var(--accent);color:var(--accent)}
  .aosr-t th.sortable{cursor:pointer;user-select:none}
  .aosr-t th.sortable:hover{color:var(--accent)}
  /* ===== адаптация: телефон ===== */
  @media (max-width:700px){
    .cexp{display:inline-block;margin-left:auto;cursor:pointer;color:var(--muted);font-size:15px;padding:0 4px}
    .card:not(.open) .stages,.card:not(.open) .posblk,.card:not(.open) textarea.note,.card:not(.open) details.tl{display:none}
    .card.open .cexp{transform:rotate(180deg)}
    .aosr-t,.aosr-t tbody,.aosr-t tr,.aosr-t td{display:block;width:auto}
    .aosr-t tr{border:1px solid var(--line);border-radius:14px;margin-bottom:8px;padding:6px 8px;background:var(--card-solid)}
    .aosr-t tr:first-child{display:none}
    .aosr-t td{border:none;padding:3px 0;display:flex;gap:8px;align-items:baseline}
    .aosr-t td:before{content:attr(data-l);color:var(--muted);min-width:96px;flex:none;font-size:12px}
    .aosr-t td:empty{display:none}
    body{padding:12px 10px 40px}
    h1{font-size:17px}
    .sub{font-size:12px;margin-bottom:12px}
    .kpis{grid-template-columns:repeat(2,1fr);gap:8px}
    .kpi{padding:8px 10px}
    .kpi b{font-size:20px}
    #syncst{display:none}
    .filters{gap:6px}
    .fbtn{padding:6px 11px}
    .filters .tools{margin-left:0;width:100%;justify-content:flex-end}
    .search{font-size:16px}
    .note{font-size:16px}
    .card{padding:12px}
    .ctitle{min-width:130px;font-size:15px}
    #unansbar{font-size:13px;line-height:2;padding:8px 10px}
    .months{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
    .modal-bg{padding:8px;align-items:flex-start}
    .modal{max-height:94vh;padding:14px 14px;margin-top:8px}
    .modal.wide{max-width:100%}
    .m-pdf{height:74vh}
    html,body{overflow-x:clip}
    .ddl{white-space:normal;line-height:1.35}
    .segs{flex-wrap:wrap}
    .seg{padding:2px 7px;font-size:11px}
    .pos{align-items:flex-start}
    #jform{grid-template-columns:1fr 1fr}
    #jtext{grid-column:1/-1}
    #jphoto{grid-column:1/2}
    #jsubmit{grid-column:2}
  }
  /* ===== адаптация: touch-устройства ===== */
  @media (pointer:coarse){
    .stage{padding:7px 9px;background:var(--bg);border-radius:8px}
    .stage input{width:19px;height:19px}
    .md{min-height:34px;padding-top:5px}
    .fbtn,.tab,.tbtn{min-height:36px}
    .dl-item{padding:10px 12px}
    a.orig{padding:4px 10px;display:inline-block;margin-top:2px}
  }
  @media (prefers-color-scheme: dark){
    :root{color-scheme:dark;--bg:#10141b;--card:rgba(30,37,48,.55);--card-solid:#1e252d;
      --ink:#e7edf2;--ink2:#a7b4c0;--muted:#93a0ae;
      --line:rgba(255,255,255,.14);--glass-line:rgba(255,255,255,.12);--th-bg:rgba(140,165,200,.16);
      --accent:#6ea3d8;--accent-soft:rgba(110,163,216,.16);
      --gip:#6ea3d8;--gip-bg:rgba(110,163,216,.15);--kon-bg:rgba(140,110,220,.16);
      --eks-bg:rgba(230,160,60,.14);--mpa-bg:rgba(50,170,158,.15);
      --done:#5fb98a;--done-bg:rgba(95,185,138,.15);--misc-bg:rgba(200,150,50,.14);
      --shadow:0 10px 34px rgba(0,0,0,.35)}
    body::before{background:
      radial-gradient(560px 420px at 12% -4%, rgba(70,110,220,.25), transparent 65%),
      radial-gradient(640px 480px at 96% 8%, rgba(40,160,150,.16), transparent 65%),
      radial-gradient(700px 520px at 55% 108%, rgba(200,90,120,.12), transparent 60%)}
    .modal{background:rgba(30,37,48,.82)}
  }

  #tip{position:fixed;z-index:99;display:none;max-width:340px;pointer-events:none;
    background:rgba(28,36,48,.94);color:#fff;font-size:12px;line-height:1.4;
    padding:6px 10px;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.25);
    -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}

  /* доступность: видимый фокус с клавиатуры */
  :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}
  .tab:focus-visible,.fbtn:focus-visible{outline-offset:3px}
  /* печать реестров и журнала */
  @media print{
    body{background:#fff;padding:0;color:#000}
    body::before,.tabs,.filters,.kpis,#unansbar,#syncst,#viewas,#intbtn,#toolbar,
    .cexp,.morebtn,.pos-add,.note,#jform,#aosr-form,#rzrform,.tbtn,.aosr-del,.pos-del,.rzr-del{display:none!important}
    .card,.cal{box-shadow:none;border:1px solid #bbb;background:#fff;break-inside:avoid;page-break-inside:avoid}
    .aosr-t{font-size:11px}
    .aosr-t tr:first-child th{position:static}
    .aosr-t tr{break-inside:avoid}
  }
