/* Стандарт интерфейса — МАКЕТ-ЕДИНЫЙ.html: плотные таблицы, окна документов, одна навигация. */
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font:12px/1.35 Tahoma,"Segoe UI",Verdana,sans-serif;color:var(--txt);background:var(--bg);overflow:hidden}
button,input,select,textarea{font:inherit;color:inherit}
input,select,textarea{background:var(--panel);border:1px solid var(--line);border-radius:2px;padding:2px 4px;max-width:100%}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--accent)}
input[type=checkbox]{width:auto;vertical-align:middle;margin:0 4px 0 0}
[hidden]{display:none!important}
h2,h3{margin:0}

/* ── Шапка ── */
.top{height:34px;background:var(--head);color:#fff;display:flex;align-items:center;gap:10px;padding:0 10px;position:relative;z-index:30}
.top .brand{font-size:13px;white-space:nowrap}
.top .sub{opacity:.75;font-size:11px;white-space:nowrap}
.top .sp{flex:1}
.top .btn{color:#1d2733;background:#f6f8fb;border-color:#c5cfdb}
.top .btn.ico{padding:1px 8px}
.top .btn.ico.on{background:var(--prim);border-color:var(--primb)}
.top .crt{background:#f3c84b;border-color:#c99a16;font-weight:bold}
#identity{white-space:nowrap;font-size:12px}
.gsearch{position:relative}
.gsearch input{width:420px;height:24px;border:0;border-radius:3px;padding:2px 8px;background:#fff;color:#1d2733}
.gsearch .drop{top:27px;width:560px}
.crtwrap{position:relative}
.menu{position:absolute;right:0;top:27px;background:var(--panel);color:var(--txt);border:1px solid var(--line);box-shadow:0 6px 22px rgba(0,0,0,.25);min-width:520px;padding:6px;display:grid;grid-template-columns:1fr 1fr;gap:2px 10px;z-index:60}
.menu .mg{font-size:11px;color:var(--mut);font-weight:bold;padding:6px 6px 2px;text-transform:uppercase;letter-spacing:.03em}
.menu button{display:flex;width:100%;justify-content:space-between;gap:10px;text-align:left;border:0;background:none;padding:4px 8px;cursor:pointer;border-radius:2px;white-space:nowrap}
.menu button:hover,.menu button:focus{background:var(--sel);outline:0}
.menu .kb{color:var(--mut);font-size:10px}
.mtog{display:none}

/* ── Каркас ── */
#shell{height:100%;display:flex;flex-direction:column}
.app{display:flex;flex:1;min-height:0}
.status{height:22px;background:var(--panel);border-top:1px solid var(--line);display:flex;align-items:center;padding:0 10px;font-size:11px;color:var(--mut);gap:14px;white-space:nowrap;overflow:hidden}
.status .sp{flex:1}
aside{width:250px;min-width:250px;background:var(--side);border-right:1px solid var(--line);overflow:auto;padding-bottom:10px}
.sbh{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);padding:10px 10px 4px;display:flex;justify-content:space-between}
.sbox{padding:5px 10px;border-left:3px solid transparent;cursor:pointer}
.sbox:hover{background:var(--hov)}
.sbox.on{background:var(--sel);border-left-color:var(--accent)}
.sbox .nm{display:flex;justify-content:space-between;gap:6px;font-weight:bold}
.sbox .nm small{font-weight:normal;color:var(--mut);white-space:nowrap}
.sbox .bl{display:flex;justify-content:space-between;font-variant-numeric:tabular-nums;padding-left:6px}
.sbox .bl.none{color:var(--mut)}
.nav{margin-top:6px}
.nav a{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:4px 10px 4px 18px;cursor:pointer;color:var(--txt);text-decoration:none;border-left:3px solid transparent}
.nav a.top1{padding-left:10px;font-weight:bold}
.nav a:hover{background:var(--hov)}
.nav a.on{background:var(--sel);border-left-color:var(--accent);font-weight:bold}
.nav a .k{color:var(--mut);font-size:11px;font-weight:normal}
.nav .g{padding:8px 10px 2px;font-weight:bold;color:var(--mut);font-size:11px}
.badge{display:inline-block;min-width:16px;padding:0 4px;border-radius:8px;background:#d64545;color:#fff;font-size:10px;text-align:center;font-weight:bold;line-height:15px}
main{flex:1;min-width:0;overflow:auto;padding:8px 10px 20px}

/* ── Общие компоненты ── */
.bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);padding:6px 8px;margin-bottom:6px}
.bar h2{font-size:14px;margin:0 8px 0 0}
.bar .sp{flex:1}
.bar input,.bar select{height:22px;padding:1px 4px}
.bar label{display:inline-flex;align-items:center;gap:4px;color:var(--mut);font-size:12px}
.btn,button{background:var(--btn);border:1px solid var(--line);border-radius:3px;padding:3px 9px;cursor:pointer;white-space:nowrap;color:var(--txt)}
.btn:hover,button:hover{border-color:var(--accent)}
.btn.p,button.primary{background:var(--prim);border-color:var(--primb);font-weight:bold;color:#1d2733}
.btn.big{padding:5px 12px}
.btn.sm{padding:0 6px;font-size:11px}
.btn .kb{font-size:10px;color:var(--mut);margin-left:4px}
.btn.p .kb{color:#5a4a10}
.btn[disabled],button[disabled]{opacity:.45;cursor:default}
.lnk{color:var(--accent);cursor:pointer;text-decoration:underline dotted;text-underline-offset:2px}
.lnk:hover{text-decoration-style:solid}
.sec{background:var(--panel);border:1px solid var(--line);margin-bottom:6px;min-width:0}
.sec>.st{background:var(--th);border-bottom:1px solid var(--line);padding:4px 8px;font-weight:bold;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sec>.st .sp{flex:1}.sec>.st .mut{font-weight:normal}
.sec>.st.tog{cursor:pointer;user-select:none}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:start}
.sc{overflow-x:auto}
table{border-collapse:collapse;width:100%;background:var(--panel)}
th{background:var(--th);text-align:left;font-weight:bold;padding:3px 6px;border-bottom:1px solid var(--line);border-right:1px solid var(--line2);white-space:nowrap;position:sticky;top:0;z-index:1}
td{padding:2px 6px;border-bottom:1px solid var(--line2);border-right:1px solid var(--line2);vertical-align:middle;height:22px}
tbody tr:hover td,table.g tr.cl:hover td{background:var(--hov)}
tr.cl{cursor:pointer}
tr.tot td,tr.tot th{background:var(--th);font-weight:bold}
tr.grp td{background:var(--hov);font-weight:bold;cursor:pointer}
tr.x td{color:var(--mut);text-decoration:line-through}
tr.sub td{color:var(--mut)}
table.nw td{white-space:nowrap}
.n{text-align:right!important;font-variant-numeric:tabular-nums;white-space:nowrap}
.pos,.green{color:var(--in)}.neg,.red{color:var(--out)}.mut,.muted{color:var(--mut)}
.c{text-align:center}
.small{font-size:11px}
td input,td select{width:100%;border:1px solid transparent;background:transparent;padding:1px 3px;height:20px}
td input:hover,td select:hover{border-color:var(--line)}
td input:focus,td select:focus{border-color:var(--accent);background:var(--panel)}
input.num{text-align:right;font-variant-numeric:tabular-nums}
.chip{display:inline-block;padding:0 6px;border:1px solid var(--line);border-radius:9px;font-size:11px;background:var(--hov);white-space:nowrap;font-weight:normal}
.chip.w{background:var(--warn);border-color:var(--warnb)}
.chip.r{background:var(--errb);border-color:#f0b4ad;color:var(--errt)}
.chip.g{border-color:#8cc7a0;color:var(--in)}
.chip.b{border-color:var(--accent);color:var(--accent)}
.todo{display:flex;gap:8px;align-items:center;padding:4px 8px;border-bottom:1px solid var(--line2);min-height:32px}
.todo:last-child{border-bottom:0}
.todo .sp{flex:1}
.todo .ic{display:inline-block;width:18px;text-align:center;font-weight:bold;color:var(--mut)}
.empty{padding:10px 8px;color:var(--mut)}
.notes{padding:6px 8px;color:var(--mut);font-size:11px}
.stub{background:var(--warn);border:1px dashed var(--warnb);padding:4px 8px;font-size:11px}

/* Шапка документа, информационная строка, табличная панель, итоговая полоса */
.hdr{display:grid;grid-template-columns:max-content 1fr max-content 1fr max-content 1fr;gap:4px 8px;align-items:center;padding:8px;border-bottom:1px solid var(--line)}
.hdr label{color:var(--mut);white-space:nowrap}
.hdr input,.hdr select{height:22px;width:100%}
.hdr .ro{padding:2px 4px;background:var(--hov);border:1px solid var(--line2);min-height:22px}
.hdr .s3{grid-column:span 3}.hdr .s5{grid-column:span 5}
.info{padding:5px 8px;background:var(--hov);border-bottom:1px solid var(--line);display:flex;gap:14px;flex-wrap:wrap}
.tb{padding:4px 8px;display:flex;gap:6px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--line2)}
.tb .t{font-weight:bold;margin-right:6px}
.foot{padding:6px 8px;border-top:1px solid var(--line);background:var(--th);display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.foot .sp{flex:1}
.err{background:var(--errb);color:var(--errt);border-top:1px solid #f0b4ad;padding:5px 8px}
.err:empty{display:none}
.warnl{background:var(--warn);border-top:1px solid var(--warnb);border-bottom:1px solid var(--warnb);padding:5px 8px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:3px;overflow:hidden}
.seg button{border:0;border-radius:0;background:var(--btn);padding:2px 10px}
.seg button.on{background:var(--accent);color:#fff}

/* Выпадающий список (поиск) */
.drop{position:absolute;left:0;background:var(--panel);color:var(--txt);border:1px solid var(--accent);z-index:70;max-height:420px;overflow:auto;box-shadow:0 4px 14px rgba(0,0,0,.25);min-width:320px}
.drop .dg{padding:5px 8px 2px;font-size:11px;color:var(--mut);font-weight:bold;background:var(--th)}
.drop .di{padding:4px 8px;cursor:pointer;border-bottom:1px solid var(--line2);display:flex;gap:8px;justify-content:space-between}
.drop .di:hover,.drop .di.on{background:var(--sel)}
.drop small{color:var(--mut)}

/* ── Окна документов ── */
#wins{position:fixed;inset:0;pointer-events:none;z-index:50}
#wins .shade{position:fixed;inset:0;background:var(--shade);pointer-events:auto}
.win{position:fixed;pointer-events:auto;background:var(--panel);border:1px solid #7f93ad;box-shadow:0 10px 40px rgba(0,0,0,.35);display:flex;flex-direction:column;max-height:calc(100vh - 40px);max-width:calc(100vw - 8px);border-radius:3px}
.win.max{left:4px!important;top:38px!important;width:calc(100vw - 8px)!important;height:calc(100vh - 64px);max-height:none}
.win>.wt{background:var(--head2);color:#fff;padding:5px 8px;display:flex;align-items:center;gap:8px;cursor:move;user-select:none;border-radius:2px 2px 0 0}
.win>.wt b{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.win>.wt .dot{color:var(--prim)}
.win>.wt button{background:none;border:0;color:#fff;cursor:pointer;font-size:14px;line-height:1;padding:0 3px}
.win>.wt button:hover{color:var(--prim)}
.win>.wb{overflow:auto;flex:1;min-height:0}
.win>.wb>.pad{padding:8px}
#taskbar{position:fixed;left:250px;right:0;bottom:22px;display:flex;gap:3px;padding:0 10px;z-index:45;pointer-events:none;flex-wrap:wrap}
#taskbar button{pointer-events:auto;border-radius:3px 3px 0 0;border-bottom:0;max-width:240px;overflow:hidden;text-overflow:ellipsis;background:var(--panel);box-shadow:0 -2px 6px rgba(0,0,0,.1)}
#taskbar button.on{background:var(--sel);font-weight:bold}
.viewerWindow{position:fixed;resize:both;overflow:hidden;min-width:300px;min-height:180px;background:var(--panel);border:1px solid #7f93ad;border-radius:3px;box-shadow:0 4px 20px rgba(0,0,0,.25);display:flex;flex-direction:column;z-index:40}
.viewerHead{background:var(--head);color:#fff;padding:5px 8px;display:flex;align-items:center;gap:10px;cursor:move;user-select:none}
.viewerHead b{flex:1}.viewerHead span{font-size:10px;opacity:.8}
.viewerHead button{background:none;border:0;color:#fff;padding:0 3px}
.viewerBody{padding:8px;overflow:auto;flex:1}

#toast{position:fixed;right:14px;bottom:30px;z-index:90;display:flex;flex-direction:column;gap:6px;max-width:420px}
#toast div{background:#1f3b63;color:#fff;padding:8px 12px;border-radius:3px;box-shadow:0 4px 14px rgba(0,0,0,.3);white-space:pre-wrap;cursor:pointer}
#toast div.bad{background:#8a1c12}

/* ── Вход ── */
#login{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg)}
#login form{width:min(380px,92vw);background:var(--panel);border:1px solid var(--line)}
#login .wt{background:var(--head);color:#fff;padding:8px 10px;font-weight:bold}
#login .body{padding:12px;display:grid;gap:10px}
#login label{display:grid;gap:3px;color:var(--mut)}
#login input{height:26px}
#loginError{color:var(--out);min-height:16px}

/* ── Совместимость с экранами, ещё не переведёнными на стандарт ── */
.panel{background:var(--panel);border:1px solid var(--line);padding:6px 8px;margin-bottom:6px}
.wb .panel{margin:6px 8px}
.grid{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:5px 12px}
.wb>.grid,.wb form>.grid{padding:8px}
label{display:grid;gap:2px;font-size:12px}
label>input,label>select,label>textarea{height:auto;min-height:22px}
.wide{grid-column:1/-1}
.link{color:var(--accent);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline dotted;text-underline-offset:2px}
td.n .link,.n .link{color:inherit;text-decoration:none}
td.n .link:hover{text-decoration:underline;color:var(--accent)}
.link.red{color:var(--out)}.link.green{color:var(--in)}
.warning{background:var(--warn);border:1px solid var(--warnb);padding:5px 8px;margin:6px 0}
.wb .warning{margin:6px 8px}
.error{color:var(--out)}
#businessError{padding:0 8px}
.actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:6px 8px;border-top:1px solid var(--line);background:var(--th);margin-top:8px}
.chips{display:flex;gap:4px 12px;flex-wrap:wrap}
.chips label{display:flex;align-items:center;gap:2px}
.scroll{overflow:auto}
.wb h3{font-size:12px;margin:10px 8px 4px}
.wb>table,.wb>.scroll,.wb>p,.wb>div>table{margin:0}
.wb p{margin:6px 8px}
.totals{font-weight:bold;margin-left:auto}
#businessFields{grid-template-columns:repeat(3,minmax(180px,1fr));padding:8px}
#businessFields table label{font-size:0;gap:0}
#businessFields table input,#businessFields table select{font-size:12px}
.tableTools{display:inline-flex;gap:4px;margin-left:auto;flex-wrap:wrap}
.attachment-preview{display:block;max-width:360px;max-height:240px;object-fit:contain;margin:8px 0;border:1px solid var(--line)}
.printFrame{width:100%;height:65vh;border:1px solid var(--line);background:#fff}

/* ── Скрытие сумм (F9) ── */
.hide-sums .amt,.hide-sums input[inputmode=decimal]{filter:blur(6px);transition:filter .1s}
.hide-sums .amt:hover{filter:blur(6px)}

/* ── Узкий экран ── */
@media (max-width:820px){
  .mtog{display:inline-block}
  aside{position:fixed;left:0;top:34px;bottom:22px;z-index:40;transform:translateX(-100%);transition:transform .15s}
  aside.open{transform:none;box-shadow:4px 0 20px rgba(0,0,0,.3)}
  main{padding:6px}
  .gsearch input{width:min(220px,40vw)}
  .gsearch .drop{width:92vw;position:fixed;left:4vw;top:34px}
  .top .sub,#identity,.top .brand{display:none}
  .menu{position:fixed;left:4px;right:4px;top:34px;min-width:0;grid-template-columns:1fr}
  .hdr{grid-template-columns:max-content 1fr}
  .hdr .s3,.hdr .s5{grid-column:span 1}
  .cols{grid-template-columns:1fr}
  .grid,#businessFields{grid-template-columns:1fr}
  .win{left:0!important;top:0!important;width:100%!important;max-height:100%;height:100%;border-radius:0}
  #taskbar{left:0}
}
@media print{
  body{overflow:visible;height:auto;background:#fff;color:#000}
  .top,aside,.status,#taskbar,#toast,.tableTools,.viewerWindow,#wins{display:none!important}
  .app{display:block;height:auto}
  main{overflow:visible;padding:0}
  .bar button,.bar input,.bar select{display:none}
  table{font-size:9pt}td,th{border:1px solid #aaa}
  @page{size:A4 landscape;margin:10mm}
}

/* Вспомогательные классы (атрибуты style запрещены политикой CSP сервера) */
.fw-n{font-weight:normal!important}.ind{padding-left:22px!important}.pad{padding:8px}.m6{margin:6px}
.w150{width:150px}.w240{width:240px}.w280{width:280px}

/* Старые списки: без переноса строк, суммы по правому краю, флажки в строку */
.scroll>table td{white-space:nowrap}
.link[data-metric-entity]{display:block;width:100%;text-align:right;text-decoration:none;font-variant-numeric:tabular-nums}
.link[data-metric-entity]:hover{text-decoration:underline}
label:has(>input[type=checkbox]){display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:6px}
label>input[type=checkbox]{min-height:0}
.sidefoot{display:none;padding:10px;gap:6px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:8px}
@media (max-width:820px){.sidefoot{display:flex}.top #themeSwitch,.top #logout{display:none}.sec{overflow-x:auto}}

/* Этап 2: форма денег, касса */
.row-flex{display:flex;gap:3px;align-items:center}
.row-flex>input{flex:1;min-width:0}
.srch{position:relative}.srch .drop{top:25px;right:0}
.w28{width:28px}.w80{width:80px}.w90{width:90px!important}.w120{width:120px}.w140{width:140px}.w200{width:200px}
.bt{border-top:1px solid var(--line)}
tr.chg td{background:var(--warn)}
.upl{display:inline-flex;align-items:center;cursor:pointer;color:#1d2733}
.sec>.st input[type=date]{height:20px;font-weight:normal}
.row-flex>input.w90{flex:none}

/* Этап 3 */
.moremenu{z-index:80}
.moremenu button{white-space:normal}
.wb ol{margin:6px 8px 6px 28px}

/* Этап 4 */
td.wrap{white-space:normal}

/* Поле справочника со своим выпадающим списком (вместо системного datalist) */
input.combo{padding-right:22px;background-image:linear-gradient(45deg,transparent 50%,var(--mut) 50%),linear-gradient(135deg,var(--mut) 50%,transparent 50%);background-position:right 11px center,right 6px center;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.drop.combodrop{position:fixed;z-index:400;min-width:200px}
.drop.combodrop .di{white-space:nowrap}
.drop.combodrop .di span{overflow:hidden;text-overflow:ellipsis}

/* Окно подбора справочника */
.picklist{max-height:60vh;overflow:auto;border-top:1px solid var(--line2)}
.picklist tr.on td{background:var(--sel)}
.fl-r{float:right}
form.pad>.st{padding:10px 0 4px;margin:0;background:none;border:0}
.row-flex>select{flex:1;min-width:0}

/* R-065: единая форма денег — простой режим; вариант 1 (одна колонка) и 2 (ввод слева, итог справа) */
.wt .wmeta{font-weight:normal;font-size:11.5px;opacity:.75;margin-left:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf{display:grid}.pf.v1{grid-template-columns:1fr}.pf.v2{grid-template-columns:1fr 330px}
.pf .pl{padding:12px 14px}.pf .pr{padding:0 14px 12px}.pf.v2 .pr{background:var(--side);border-left:1px solid var(--line);padding:12px 14px}
.pfgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}
.pf .f{margin-bottom:8px}.pf .f>label{display:block;font-size:11.5px;color:var(--mut);margin-bottom:2px}
.pf .f>input,.pf .f>select,.pf .pfrow select{width:100%}
.pin{display:flex;align-items:center;border:1px solid var(--line);background:var(--panel);min-height:28px}
.pin input{border:0;flex:1;min-width:0;background:transparent;outline:none;padding:4px 8px}
.pin .pk{color:var(--accent);font-size:12px;border-left:1px solid var(--line2);padding:0 8px;cursor:pointer;white-space:nowrap}
.pin.ro{background:var(--th);padding:4px 8px}
.pin.big{border:2px solid var(--accent)}.pin.big input{font-size:22px;padding:6px 10px}.pin.big .mut{padding-right:10px}
.pf .ctx,.pf .ctxr{background:var(--th);border-left:3px solid var(--accent);padding:6px 10px;margin:4px 0 10px;font-size:12.5px}
.pf .ctxr{margin-top:0}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chipb{border:1px solid var(--line);background:var(--panel);color:var(--txt);padding:4px 12px;cursor:pointer;font:inherit}
.chipb.on{background:var(--sel);border-color:var(--accent);font-weight:bold}
.pfrow{display:flex;gap:8px;align-items:center;margin-bottom:8px}.pfrow label{font-size:11.5px;color:var(--mut);min-width:80px}
.pfmore{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding-top:8px;border-top:1px dashed var(--line2)}
.pf .res{background:color-mix(in srgb,var(--ok,#1f7a3a) 9%,var(--panel));border:1px solid color-mix(in srgb,var(--ok,#1f7a3a) 30%,transparent);padding:8px 12px;margin-top:10px}
.pf .res .h{font-size:11.5px;font-weight:bold;color:var(--ok,#1f7a3a);margin-bottom:2px}
.pf .res .r{display:flex;justify-content:space-between;gap:10px;padding:2px 0}.pf .res .r b{white-space:nowrap}
.pf .pfbtn{display:flex;gap:8px;justify-content:flex-end;margin-top:10px;flex-wrap:wrap}
.pf.v2 .pfbtn{flex-direction:column;align-items:stretch}.pf.v2 .pfbtn .btn{text-align:center}
.pf .k{font-size:11px;text-align:right;margin-top:4px}.pf.v2 .k{text-align:left}
.pf .sec0{font-size:11.5px;color:var(--mut);text-transform:uppercase;margin-bottom:4px}
.pf .err:empty{display:none}
@media (max-width:760px){.pf.v2{grid-template-columns:1fr}.pfgrid{grid-template-columns:1fr}}
/* Окна: ручки размера по всем сторонам; режим «два рядом» */
.win .rz{position:absolute;z-index:2}
.win .rz-n,.win .rz-s{left:8px;right:8px;height:6px;cursor:ns-resize}.win .rz-n{top:-3px}.win .rz-s{bottom:-3px}
.win .rz-e,.win .rz-w{top:8px;bottom:8px;width:6px;cursor:ew-resize}.win .rz-e{right:-3px}.win .rz-w{left:-3px}
.win .rz-ne,.win .rz-nw,.win .rz-se,.win .rz-sw{width:12px;height:12px}
.win .rz-ne{top:-4px;right:-4px;cursor:nesw-resize}.win .rz-sw{bottom:-4px;left:-4px;cursor:nesw-resize}
.win .rz-nw{top:-4px;left:-4px;cursor:nwse-resize}.win .rz-se{bottom:-4px;right:-4px;cursor:nwse-resize}
.win.max .rz{display:none}
.win.side{box-shadow:0 4px 18px rgba(0,0,0,.25)}
.docsum{margin:6px 8px 10px;padding:8px 12px;border:1px solid var(--line);background:var(--panel)}
.docsum .st{margin:4px 0}.docsum .kvr{display:flex;justify-content:space-between;gap:12px;padding:3px 0;border-bottom:1px solid var(--line2)}
.docsum .kvr:last-of-type{border-bottom:0}.docsum table{margin:4px 0}
.ltiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:8px}
.ltiles .lt{border:1px solid var(--line);padding:8px 12px;background:var(--panel)}.ltiles .lt .h{font-size:11.5px;font-weight:bold;color:var(--mut)}
.ltiles .lt b{font-size:18px;display:block}.ltiles .lt.r{border-color:color-mix(in srgb,var(--neg,#b3261e) 35%,var(--line))}.ltiles .lt.y{background:color-mix(in srgb,#f0c040 14%,var(--panel))}.ltiles .lt.g{background:color-mix(in srgb,#1f7a3a 8%,var(--panel))}.ltiles .lt.b{background:var(--th)}
details.lmore{margin:6px 8px}details.lmore>summary{cursor:pointer;color:var(--accent);padding:4px 0}
@media (max-width:760px){.ltiles{grid-template-columns:1fr}}
/* ── R-070 ── */
/* 1.4: переключатели и галочки своего размера, подпись рядом и кликабельна (правило .row-flex>input их не растягивает) */
.row-flex>input[type=radio],.row-flex>input[type=checkbox]{flex:none;width:auto;min-width:0;margin:0 6px 0 0}
input[type=radio]{width:auto;vertical-align:middle;margin:0 4px 0 0}
label:has(>input[type=radio]){cursor:pointer}
label.row-flex{gap:6px;cursor:pointer}
/* 1.6: при открытом документе меню, «Создать», поиск и панель окон доступны мышью; фон не перекрывается */
#wins .shade{pointer-events:none;background:transparent}
.top{z-index:56}
#taskbar{z-index:55}
@media (max-width:820px){aside.open{z-index:58}}
/* 7.8: пропущенное обязательное поле */
label.miss{color:var(--errt)}
label.miss>input,label.miss .row-flex>input,label.miss>select{border-color:var(--errt);background:var(--errb)}
/* R-071: «Открыть карточку» в окне движений и карточка */
.cardbar{display:flex;align-items:center;gap:10px;padding:6px 8px;margin:0 0 6px;border:1px solid var(--accent);border-radius:3px;background:var(--sel)}
table.kv th{width:240px;position:static;white-space:normal}
/* Справочники папками */
.catf{display:flex;gap:8px;align-items:flex-start}
.catnav{display:flex;flex-direction:column;min-width:220px;border:1px solid var(--line);background:var(--panel);position:sticky;top:0}
.catnav a{padding:5px 10px;cursor:pointer;border-bottom:1px solid var(--line2);white-space:nowrap}
.catnav a:hover{background:var(--sel)}
.catnav a.on{background:var(--sel);font-weight:bold;box-shadow:inset 3px 0 0 var(--accent)}
.catbody{flex:1;min-width:0}
.catbody .tb{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.catbody .tb .t{font-weight:bold}
details.catnew{margin-top:8px}details.catnew summary{cursor:pointer;color:var(--accent)}
.catbtns{gap:8px;flex-wrap:wrap}
@media (max-width:820px){.catf{flex-direction:column}.catnav{position:static;min-width:0;flex-direction:row;flex-wrap:wrap}.catnav a{border:1px solid var(--line2)}}
/* 7.10: галочка — перед своей подписью, каждая роль отдельной плашкой */
.chips label,.chips label:has(>input[type=checkbox]){flex-direction:row;justify-content:flex-start;gap:5px;padding:2px 8px;border:1px solid var(--line2);border-radius:3px;cursor:pointer}
.chips label:has(>input:checked){border-color:var(--accent);background:var(--sel)}
.chips label>input[type=checkbox]{margin:0}
/* Рабочий стол: две независимые колонки без пустот */
.dcols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;align-items:start}
.dcols.one{grid-template-columns:minmax(0,1fr)}
.dcol{display:flex;flex-direction:column;gap:6px;min-width:0}
.dcol>.sec{margin:0}
@media (max-width:1100px){.dcols{grid-template-columns:minmax(0,1fr)}}
.rq{color:var(--errt)}
.bblocks{margin:8px 0}.bblocks .st{margin-top:6px}
