/* «Почта» (pochta.html): почта, календарь, контакты, задачи — как Outlook. Цвета — только переменные (тёмная тема, основной цвет). */
/* раздел кабинета: окно почты во всю высоту рабочей области, вкладки разделов сверху */
main:has(> .pm-embed){padding:14px clamp(12px,1.6vw,22px) 14px}
.pm-embed{display:flex;flex-direction:column;height:calc(100vh - var(--pm-top,75px) - 14px);height:calc(100dvh - var(--pm-top,75px) - 14px);min-height:520px;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.pm-tabs{display:flex;align-items:center;gap:2px;padding:6px 8px;border-bottom:1px solid var(--line);background:var(--surface);overflow-x:auto;scrollbar-width:none;flex:none}
.pm-tabs::-webkit-scrollbar{display:none}
.pm-embed,.pm-dlg{overflow-wrap:break-word}
/* пароль и время — как остальные поля кабинета (в cabinet.css их нет) */
.pm-embed input[type=password],.pm-dlg input[type=password],.pm-embed input[type=time],.pm-dlg input[type=time]{font:15px var(--body);color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 12px;width:100%}
.pm-t b,.pm-ev span,.pm-help,.pm-set td{overflow-wrap:anywhere}
.pm-tabs a{position:relative;display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:8px;text-decoration:none;color:var(--mute);font-size:14px;font-weight:500;white-space:nowrap}
.pm-tabs a:hover{background:var(--surface-2);color:var(--fg)}
.pm-tabs a[aria-current="page"]{background:var(--gold-tint);color:var(--fg);box-shadow:inset 0 -2px 0 var(--gold)}
.pm-me{margin-left:auto;font-size:12px;padding-right:6px;white-space:nowrap}
.pm-cnt{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--gold);color:var(--surface);font-size:11px;line-height:18px;font-weight:700;text-align:center}
:root[data-accent] .pm-cnt{color:var(--ac-on)}
.pm-main{flex:1;min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column;background:var(--bg)}
.side a.nav-pochta .cnt[hidden]{display:none}

/* почта: папки | письма | чтение */
.pm-mail{flex:1;min-height:0;display:grid;grid-template-columns:230px minmax(280px,380px) minmax(0,1fr)}
.pm-col{min-height:0;overflow:auto;border-right:1px solid var(--line);background:var(--surface)}
.pm-col:last-child{border-right:0;background:var(--bg)}
.pm-page{background:var(--bg)}
.pm-fold{padding:12px 10px;display:grid;gap:2px;align-content:start}
.pm-fold .btn{width:100%;margin-bottom:10px}
.pm-acc{font-size:12px;font-weight:600;color:var(--mute);padding:12px 8px 4px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px}
.pm-acc span{overflow-wrap:anywhere;min-width:0}
.pm-acc .pill{flex:none}
.pm-fg{display:flex;align-items:center;padding-left:calc(var(--d,0) * 14px)}
.pm-fg .pm-f{flex:1;min-width:0;padding-left:2px}
span.pm-tog{cursor:default}
.pm-tog{flex:none;width:22px;height:30px;border:0;background:none;color:var(--mute);cursor:pointer;font-size:12px;border-radius:6px;padding:0}
.pm-tog:hover{background:var(--surface-2);color:var(--fg)}
.pm-dlg .btn:disabled{opacity:.45;cursor:not-allowed}
.pm-f{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;border:0;background:none;text-align:left;cursor:pointer;font-size:14px;color:var(--fg);width:100%}
.pm-f:hover{background:var(--surface-2)}
.pm-f[aria-current="true"]{background:var(--gold-tint);box-shadow:inset 3px 0 0 var(--gold);font-weight:600}
.pm-f .n{margin-left:auto;font-size:12px;font-weight:700;color:var(--gold-text)}
.pm-f.sub{padding-left:32px;font-size:13px}
.pm-f span:first-child{overflow-wrap:anywhere;min-width:0} /* длинные имена папок переносятся */

.pm-lh{position:sticky;top:0;z-index:2;background:var(--surface);border-bottom:1px solid var(--line);padding:10px 12px;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.pm-lh .row{display:flex;gap:8px;align-items:center}
.pm-lh h2{font-size:15px;flex:1;min-width:0;overflow-wrap:anywhere}
.pm-q{position:relative;flex:1}
.pm-q input{padding:8px 10px 8px 32px;font-size:14px}
.pm-q svg{position:absolute;left:9px;top:10px;color:var(--mute);pointer-events:none}
.pm-chips{display:flex;gap:6px;flex-wrap:wrap}
.pm-chips button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:3px 10px;font-size:12px;cursor:pointer;color:var(--mute)}
.pm-chips button[aria-pressed="true"]{border-color:var(--gold);background:var(--gold-tint);color:var(--fg)}
.pm-ib{border:0;background:none;cursor:pointer;color:var(--mute);padding:6px;border-radius:8px;display:inline-grid;place-items:center}
.pm-ib:hover{background:var(--surface-2);color:var(--fg)}
.pm-msgs{display:grid}
.pm-m{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:2px 8px;padding:10px 12px;border:0;border-bottom:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;color:var(--fg);font-size:13px;width:100%}
.pm-m:hover{background:var(--surface-2)}
.pm-m[aria-current="true"]{background:var(--gold-tint);box-shadow:inset 3px 0 0 var(--gold)}
.pm-m .ck{grid-row:span 3;align-self:start;margin-top:2px}
.pm-m .ck input{width:15px;height:15px;accent-color:var(--gold);margin:0}
.pm-m .fr{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pm-m .dt{font-size:12px;color:var(--mute);white-space:nowrap;text-align:right}
.pm-m .sj{grid-column:2/4;overflow:hidden;color:var(--mute);overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2} /* тема — до двух строк, целиком — в письме и в подсказке */
.pm-m .ic{grid-column:2/4;display:flex;gap:6px;color:var(--mute);height:0;overflow:visible}
.pm-m.new .fr,.pm-m.new .sj{font-weight:700;color:var(--fg)}
.pm-m.new{box-shadow:inset 3px 0 0 var(--gold)}
.pm-m .fl{color:var(--gold-text)}
.pm-more{padding:12px;text-align:center}
.pm-empty{padding:28px 18px;text-align:center;color:var(--mute);font-size:14px;display:grid;gap:12px;justify-items:center}
.pm-sel{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:13px}

/* чтение */
.pm-read{padding:18px 22px 28px;display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-content:start}
.pm-read h1{font-size:20px;line-height:1.3;word-break:break-word}
.pm-acts{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.pm-acts select{width:auto;max-width:100%;min-width:0;padding:6px 8px;font-size:13px;text-overflow:ellipsis}
.pm-hdr{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:4px 12px;align-items:start;font-size:13px}
.pm-hdr .ava{width:40px;height:40px;font-size:14px}
.pm-hdr .who-l{display:grid;gap:2px;min-width:0}
.pm-hdr .who-l b{font-size:15px}
.pm-hdr .who-l span{overflow-wrap:anywhere}
.pm-tags{display:flex;gap:6px;flex-wrap:wrap}
.pm-tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:7px;text-decoration:none;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--fg)}
a.pm-tag:hover{box-shadow:inset 0 0 0 1px var(--gold);color:var(--gold-text)}
.pm-tag.c{background:var(--ok-bg);color:var(--ok);box-shadow:none}
.pm-tag.o{background:var(--info-bg);color:var(--info);box-shadow:none}
.pm-tag.d{background:var(--warn-bg);color:var(--warn);box-shadow:none}
.pm-body-box{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.pm-frame{display:block;width:100%;border:0;min-height:120px;background:#fff}
.pm-text{white-space:pre-wrap;word-break:break-word;font:14px/1.55 var(--body);margin:0;padding:16px;background:var(--surface);color:var(--fg);border-radius:10px;border:1px solid var(--line)}
.pm-note{font-size:12px;color:var(--mute)}
.pm-atts{display:flex;gap:8px;flex-wrap:wrap}
.pm-att{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);cursor:pointer;font-size:13px;color:var(--fg);max-width:280px}
.pm-att:hover{border-color:var(--gold)}
.pm-att span{overflow-wrap:anywhere;text-align:left}
.pm-atts .pm-att-save{border-style:dashed;color:var(--gold-text)}
.pm-att i{font-style:normal;color:var(--mute);white-space:nowrap}
.pm-att.risky{border-color:var(--err)}
.pm-risk{font-size:11px;font-weight:600;color:var(--err);white-space:nowrap}

/* новое письмо */
dialog.pm-dlg{border:1px solid var(--gold);border-radius:14px;padding:0;width:min(860px,calc(100vw - 24px));max-height:calc(100vh - 24px);background:var(--surface);color:var(--fg);box-shadow:0 24px 60px rgba(22,25,30,.25)}
dialog.pm-dlg::backdrop{background:rgba(22,25,30,.35)}
dialog.pm-dlg form{display:grid;gap:10px;padding:18px 20px}
dialog.pm-dlg .dh{display:flex;align-items:center;gap:10px}
dialog.pm-dlg .dh h2{flex:1;font-size:17px}
.pm-fr{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:center;font-size:13px;color:var(--mute)}
.pm-fr select,.pm-fr input{padding:8px 10px;font-size:14px}
.pm-to{position:relative}
.pm-sug{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:5;background:var(--surface);border:1px solid var(--line);border-top:2px solid var(--gold);border-radius:9px;box-shadow:0 14px 36px rgba(22,25,30,.14);max-height:260px;overflow:auto}
.pm-sug button{display:grid;width:100%;text-align:left;border:0;background:none;padding:8px 12px;cursor:pointer;font-size:13px;color:var(--fg);border-bottom:1px solid var(--line)}
.pm-sug button:hover,.pm-sug button.on{background:var(--gold-tint)}
.pm-sug .sub{color:var(--mute);font-size:12px}
dialog.pm-dlg textarea{min-height:240px;resize:vertical;font-size:14px;line-height:1.55}
.pm-ups{display:flex;gap:6px;flex-wrap:wrap}
.pm-up{display:inline-flex;gap:6px;align-items:center;font-size:12px;padding:4px 8px;border-radius:7px;background:var(--surface-2)}
.pm-up button{border:0;background:none;cursor:pointer;color:var(--mute);padding:0 2px;font-size:14px}
.pm-db{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pm-db .sp{flex:1}
.pm-quote{font-size:12px;color:var(--mute);border-left:2px solid var(--line);padding-left:10px;max-height:90px;overflow:hidden}

/* общие для календаря, контактов, задач, настроек */
.pm-page{flex:1;min-height:0;overflow:auto;padding:18px 22px 40px}
.pm-ph{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.pm-ph h1{margin-right:auto}
.pm-grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}

/* календарь */
.pm-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.pm-day{border-right:1px solid var(--line);min-height:340px;display:flex;flex-direction:column}
.pm-day:last-child{border-right:0}
.pm-day .dh{padding:8px 10px;border-bottom:1px solid var(--line);font-size:13px;display:flex;justify-content:space-between;align-items:center;background:var(--surface-2)}
.pm-day.today .dh{background:var(--gold-tint);font-weight:700}
.pm-day .dh b{font-family:var(--display);font-size:16px}
.pm-day .ev-l{padding:6px;display:grid;gap:6px;align-content:start;flex:1;cursor:copy}
.pm-ev{border:0;text-align:left;cursor:pointer;background:var(--gold-tint);box-shadow:inset 3px 0 0 var(--gold);border-radius:7px;padding:6px 8px;font-size:12px;color:var(--fg);display:grid;gap:1px;width:100%}
.pm-ev.guest{background:var(--info-bg);box-shadow:inset 3px 0 0 var(--info)}
.pm-ev.task{background:var(--surface-2);box-shadow:inset 3px 0 0 var(--line)}
.pm-ev b{font-weight:600;overflow-wrap:anywhere}
.pm-ev span{color:var(--mute)}
.pm-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.pm-month .wd{padding:6px 8px;font-size:12px;color:var(--mute);background:var(--surface-2);border-bottom:1px solid var(--line)}
.pm-mc{min-height:96px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:4px;display:grid;gap:3px;align-content:start;cursor:copy;font-size:12px}
.pm-mc:nth-child(7n){border-right:0}
.pm-mc.out{background:var(--surface-2);color:var(--mute)}
.pm-mc.today .d{background:var(--gold);color:var(--surface);border-radius:999px;padding:0 6px}
:root[data-accent] .pm-mc.today .d{color:var(--ac-on)}
.pm-mc .d{justify-self:start;font-weight:600}
.pm-mc{min-width:0}
.pm-mc .pm-ev{padding:2px 6px;font-size:11px;min-width:0}
.pm-mc .pm-ev b{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden} /* в клетке месяца — до трёх строк, целиком — по нажатию */
.pm-mc .pm-ev span{display:none}

/* контакты */
.pm-cl{display:grid}
.pm-c{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:2px 10px;align-items:center;padding:9px 12px;border:0;border-bottom:1px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;font-size:13px;color:var(--fg);width:100%}
.pm-c:hover{background:var(--surface-2)}
.pm-c[aria-current="true"]{background:var(--gold-tint)}
.pm-c .ava{width:36px;height:36px;font-size:12px;grid-row:span 2}
.pm-c b{font-size:14px;font-weight:600}
.pm-c .sub{grid-column:2/4;color:var(--mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pm-src{font-size:11px;color:var(--mute);white-space:nowrap}

/* задачи */
.pm-tg h2{font-size:14px;margin:18px 0 6px;color:var(--mute);font-family:var(--body);font-weight:600}
.pm-tg h2.late{color:var(--err)}
.pm-t{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:2px 10px;align-items:start;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-bottom:6px}
.pm-t input[type=checkbox]{width:18px;height:18px;margin:2px 0 0;accent-color:var(--gold)}
.pm-t.done b{text-decoration:line-through;color:var(--mute)}
.pm-t .sub{grid-column:2/3;font-size:12px;color:var(--mute);display:flex;gap:8px;flex-wrap:wrap}
.pm-t .sub a{color:var(--gold-text)}
.pm-t .pr{font-size:11px;font-weight:700;color:var(--err)}
.pm-tadd{display:flex;gap:8px;flex-wrap:wrap;align-items:end}
.pm-tadd input[type=text]{flex:1;min-width:200px}
.pm-tadd input[type=date],.pm-tadd select{width:auto}

/* настройки */
.pm-set{display:grid;gap:16px;max-width:980px}
.pm-set .card{display:grid;gap:12px}
.pm-set .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.pm-set details summary{cursor:pointer;color:var(--gold-text);font-size:13px}
.pm-acl{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 14px;font-size:13px}
.pm-acl label{display:flex;gap:8px;align-items:center}
.pm-help{font-size:13px;color:var(--mute);display:grid;gap:6px}
.pm-help ol{margin:0;padding-left:20px;display:grid;gap:4px}

.pm-back{display:none}
@media (max-width:1180px){.pm-mail{grid-template-columns:200px minmax(260px,340px) minmax(0,1fr)}}
/* телефон и узкий экран: одна колонка за раз (папки → письма → письмо), разделы — внизу */
@media (max-width:900px){
  main:has(> .pm-embed){padding:8px}
  .pm-embed{height:calc(100dvh - var(--pm-top,224px) - 8px);min-height:420px;border-radius:10px} /* шапка с поиском и меню кабинета — над окном (--pm-top считает pochta.js) */
  .shell:has(main > .pm-embed){min-height:0;grid-template-rows:auto 1fr} /* меню кабинета не растягивается */
  .pm-me{display:none}
  .pm-mail{grid-template-columns:minmax(0,1fr)}
  .pm-mail .pm-col{display:none;border-right:0}
  .pm-mail[data-pane="f"] .c-f,.pm-mail[data-pane="l"] .c-l,.pm-mail[data-pane="r"] .c-r{display:block}
  .pm-back{display:inline-grid}
  .pm-read{padding:14px 16px 24px}
  .pm-page{padding:14px 16px 30px}
  .pm-grid2{grid-template-columns:minmax(0,1fr)}
  .pm-week{grid-template-columns:minmax(0,1fr)}
  .pm-day{border-right:0;border-bottom:1px solid var(--line);min-height:0}
  .pm-day .ev-l{min-height:36px}
  .pm-mc{min-height:60px;padding:2px}
  .pm-mc .pm-ev{padding:2px 3px;font-size:10px;box-shadow:inset 2px 0 0 var(--gold)}
  .pm-mc .pm-ev.task{box-shadow:inset 2px 0 0 var(--line)}
  /* разделы почты: пять вкладок помещаются — значок над подписью */
  .pm-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:4px}
  .pm-tabs a{flex-direction:column;gap:2px;padding:6px 2px;font-size:11px;justify-content:center;text-align:center}
  .pm-tabs a span{overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .pm-tabs .pm-cnt{position:absolute;top:2px;right:calc(50% - 22px);min-width:16px;height:16px;line-height:16px;font-size:10px;padding:0 4px}
  /* таблицы настроек — карточками, без прокрутки вбок */
  .pm-set .tbl-wrap{overflow:visible}
  .pm-set .tbl,.pm-set .tbl tbody,.pm-set .tbl tr,.pm-set .tbl td{display:block;width:auto}
  .pm-set .tbl thead{display:none}
  .pm-set .tbl tr{border-bottom:1px solid var(--line);padding:8px 0}
  .pm-set .tbl td{border:0;padding:3px 0;text-align:left}
  .pm-set .tbl td:empty{display:none}
  .pm-fr{grid-template-columns:minmax(0,1fr)}
  dialog.pm-dlg{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
  dialog.pm-dlg form{padding:14px 16px}
}
/* «← К письму» — внизу экрана после перехода из письма в заказ, клиента, сделку (js/mailnav.js) */
.pm-backchip{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:2px;max-width:calc(100vw - 24px);background:var(--surface);border:1px solid var(--gold);border-radius:18px;box-shadow:0 6px 24px rgba(0,0,0,.18);padding:4px 4px 4px 6px}
.pm-backchip[hidden]{display:none}
.pm-backchip a{display:flex;align-items:center;gap:6px;min-width:0;padding:6px 10px;border-radius:999px;text-decoration:none;color:var(--gold-text);font-weight:600;font-size:14px}
.pm-backchip a:hover{background:var(--gold-tint)}
.pm-backchip b{font-weight:500;color:var(--fg);overflow:hidden;min-width:0;max-width:52vw;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere}
.pm-backchip button{flex:none;width:30px;height:30px;border:0;border-radius:999px;background:none;color:var(--mute);cursor:pointer}
.pm-backchip button:hover{background:var(--surface-2);color:var(--fg)}
@media (max-width:900px){.pm-backchip{bottom:12px}.pm-backchip b{max-width:none}}
/* просмотр документов (js/docview.js): вложения «Почты», документы заказа */
dialog.pm-view{border:0;padding:0;width:min(1180px,calc(100vw - 24px));height:calc(100dvh - 24px);max-width:none;max-height:none;border-radius:14px;background:var(--surface);color:var(--fg);box-shadow:0 24px 80px rgba(0,0,0,.35);overflow:hidden}
dialog.pm-view[open]{display:flex;flex-direction:column}
dialog.pm-view::backdrop{background:rgba(10,12,16,.55)}
.pv-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--line);flex:none}
.pv-t{display:grid;min-width:0;flex:1 1 220px}
.pv-t b{overflow-wrap:anywhere;font-size:14px}
.pv-t span{font-size:12px}
.pv-sp{flex:0 0 0}
.pv-ib{flex:none;min-width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--fg);cursor:pointer;font-size:16px;padding:0 8px}
.pv-ib:hover{border-color:var(--gold)}
.pv-b{flex:1;min-height:0;overflow:auto;background:var(--surface-2)}
.pv-msg{padding:14px 16px;color:var(--mute);font-size:13px;margin:0}
.pv-none{display:grid;justify-items:center;gap:14px;padding:12vh 16px;text-align:center}
.pv-img{display:grid;place-items:center;min-height:100%;padding:12px}
.pv-img img{max-width:100%;max-height:calc(100dvh - 120px);cursor:zoom-in;background:#fff}
.pv-img img.full{max-width:none;max-height:none;cursor:zoom-out}
.pv-pdf{display:grid;justify-items:center;gap:10px;padding:8px}
.pv-pdf canvas{background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.18);max-width:none}
.pv-tabs{display:flex;gap:4px;flex-wrap:wrap;padding:8px 10px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2}
.pv-tabs button{border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:7px;padding:5px 10px;font-size:13px;cursor:pointer}
.pv-tabs button[aria-pressed="true"]{border-color:var(--gold);background:var(--gold-tint);font-weight:600}
.pv-sheet{overflow:auto;background:var(--surface)}
.pv-sheet table{border-collapse:collapse;font-size:13px}
.pv-sheet th,.pv-sheet td{border:1px solid var(--line);padding:4px 8px;text-align:left;vertical-align:top;max-width:380px;overflow-wrap:break-word;white-space:pre-wrap}
.pv-sheet td{min-width:48px}
.pv-sheet td.w{min-width:220px} /* длинный текст в клетке — шире, а не столбиком по букве */
.pv-sheet thead th{position:sticky;top:0;background:var(--surface-2);color:var(--mute);font-weight:500;z-index:1}
.pv-sheet tbody th{background:var(--surface-2);color:var(--mute);font-weight:500;position:sticky;left:0}
.pv-doc{max-width:860px;margin:0 auto;padding:22px 26px;background:var(--surface);min-height:100%;font-size:14px;line-height:1.55}
.pv-doc h3{font-size:17px;margin:14px 0 6px}
.pv-doc p{margin:0 0 6px;white-space:pre-wrap;overflow-wrap:anywhere}
.pv-doc table{border-collapse:collapse;margin:8px 0;font-size:13px}
.pv-doc td{border:1px solid var(--line);padding:4px 8px;vertical-align:top;white-space:pre-wrap;overflow-wrap:anywhere}
.pv-text{margin:0;padding:16px;white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.5 var(--mono,monospace);background:var(--surface);min-height:100%}
@media (max-width:900px){
  dialog.pm-view{width:100vw;height:100dvh;border-radius:0;margin:0;inset:0 auto auto 0}
  .pv-h{padding:8px}
  .pv-doc{padding:14px}
}
/* «Сохранить в заказ» */
.pm-ordpick{display:grid;gap:12px}
.pm-ordpick .att{display:flex;gap:8px;align-items:flex-start;font-size:14px}
.pm-ordpick .att span{overflow-wrap:anywhere}
.pm-ordpick .att.no{color:var(--mute)}
.pm-ordlist{display:grid;gap:6px;max-height:min(44vh,360px);overflow:auto}
.pm-ordlist button{display:grid;gap:2px;text-align:left;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--fg);padding:8px 10px;cursor:pointer;font-size:14px}
.pm-ordlist button:hover,.pm-ordlist button[aria-pressed="true"]{border-color:var(--gold);background:var(--gold-tint)}
.pm-ordlist button span{font-size:12px;color:var(--mute);overflow-wrap:anywhere}
/* документы в карточке заказа (js/logist.js) */
.odocs{display:grid;gap:8px}
.odoc{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:start;padding:8px 0;border-bottom:1px solid var(--line)}
.odoc:last-child{border-bottom:0}
.odoc .nm{border:0;background:none;padding:0;text-align:left;color:var(--gold-text);font-weight:600;cursor:pointer;overflow-wrap:anywhere;font-size:14px}
.odoc .nm:hover{text-decoration:underline}
.odoc .sub{grid-column:1;overflow-wrap:anywhere}
.odoc .acts{grid-row:1/3;grid-column:2;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
/* задача, к которой перешли из письма («✓ Задача есть») */
.pm-t.flash{box-shadow:0 0 0 2px var(--gold);transition:box-shadow .3s}
/* «В задачи»: задача по письму уже есть — кружок в правом верхнем углу (в работе / выполнена) */
.pm-tbtn{position:relative;overflow:visible}
.pm-tdot{position:absolute;top:-7px;right:-7px;min-width:18px;height:18px;padding:0 3px;border-radius:999px;display:grid;place-items:center;font-size:11px;font-weight:700;line-height:1;border:2px solid var(--surface)}
.pm-tdot.wip{background:var(--warn);color:var(--surface)}
.pm-tdot.ok{background:var(--ok);color:var(--surface)}
/* фирменная подпись: образец — как в письме (белый лист: письма у получателя на белом), галочка в окне письма */
.pm-sigprev{background:#fff;color:#444;border:1px solid var(--line);border-radius:8px;padding:12px 14px;overflow-x:auto;max-width:100%}
.pm-sigprev table{max-width:100%}
.pm-signon{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px 14px;padding:6px 0;font-size:13px}
.pm-signon>label{display:inline-flex;gap:6px;align-items:center;cursor:pointer}
.pm-signon details{flex:1 1 280px;min-width:0}
.pm-signon summary{cursor:pointer;color:var(--gold-text)}
.pm-signon .pm-sigprev{margin-top:6px;max-height:240px;overflow:auto}
.pm-chk{display:flex;gap:8px;align-items:center;font-size:14px}
/* папки: «⇅ Папки» (порядок, скрыть, переименовать), «Фильтры» */
.pm-ftools{display:flex;flex-wrap:wrap;gap:4px;padding:4px 6px 10px}
.pm-ftools .pm-note{flex:1 1 100%;margin:0 0 4px}
.pm-fx{display:flex;flex:none;gap:2px}
.pm-fx button{border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:6px;font-size:12px;padding:3px 6px;cursor:pointer;line-height:1.2}
.pm-fx button:hover{border-color:var(--gold)}
.pm-fg.ed.off .pm-f span:first-child{opacity:.55} /* скрытая — в правке бледнее, без зачёркивания */
.pm-rules{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.pm-rule{display:flex;flex-wrap:wrap;gap:6px 10px;justify-content:space-between;border:1px solid var(--line);border-radius:8px;padding:8px 10px}
.pm-rule>div:first-child{min-width:0;flex:1 1 240px;overflow-wrap:anywhere}
.pm-rule .acts{display:flex;flex-wrap:wrap;gap:4px;align-items:flex-start}
.pm-rule.off{opacity:.6}
.pm-rnew{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:12px}
.pm-fg.ed{flex-wrap:wrap}
.pm-fg.ed .pm-f{flex:1 1 calc(100% - 22px)}
.pm-fg.ed .pm-fx{margin:0 0 6px 22px}
/* значок задачи в строке списка писем — как на кнопке «В задачи»: жёлтый «…» — в работе, зелёный «✓» — выполнена */
.pm-ltask{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 3px;border-radius:999px;font-size:10px;font-weight:700;line-height:1;vertical-align:1px;color:var(--surface)}
.pm-ltask.wip{background:var(--warn)}
.pm-ltask.ok{background:var(--ok)}
/* меню по правой кнопке мыши у папки */
.pm-ctx{position:fixed;z-index:1000;min-width:220px;max-width:min(320px,calc(100vw - 8px));background:var(--surface);color:var(--fg);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.18);padding:4px;display:flex;flex-direction:column}
.pm-ctx-h{font-size:12px;color:var(--mute);padding:6px 10px 4px;overflow-wrap:anywhere}
.pm-ctx button{border:0;background:none;text-align:left;padding:8px 10px;border-radius:6px;font-size:14px;color:var(--fg);cursor:pointer;overflow-wrap:anywhere}
.pm-ctx button:hover,.pm-ctx button:focus{background:var(--surface-2);outline:none}
.pm-ftools>.pm-note{flex:1 1 100%;margin:2px 2px 0;font-size:11px}
/* цвет письма в списке (меню по правой кнопке): полоса слева */
.pm-m.mk-red{box-shadow:inset 4px 0 0 var(--err)}
.pm-m.mk-yellow{box-shadow:inset 4px 0 0 var(--warn)}
.pm-m.mk-green{box-shadow:inset 4px 0 0 var(--ok)}
.pm-ctx .pm-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:0}
.pm-dot.red{background:var(--err)} .pm-dot.yellow{background:var(--warn)} .pm-dot.green{background:var(--ok)}
