/* Люди и доступы. Токены общие из index.html, здесь только то, чего нет в общих компонентах. */
body.ac-lock{overflow:hidden}
.acs .head p{max-width:520px}
.ac-seg{display:flex;width:fit-content;max-width:100%;margin-bottom:16px}
.ac-seg button{flex:1 1 auto;justify-content:center;text-align:center}
.ac-err{margin-bottom:12px}
.ac-view{display:grid;gap:12px;min-width:0}
.ac-count{margin:0}

/* Фильтры: поиск шире, на телефоне две подписи в одну строку */
.ac-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:8px}
.ac-search{position:relative;display:block;min-width:0}
.ac-search .ic{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--dim);pointer-events:none}
.ac-search .inp{padding-left:38px}
.ac-filters select.inp{min-width:0;text-overflow:ellipsis}

/* Список людей: одна строка на человека, всё нажимается как один элемент */
.ac-list{display:grid;overflow:hidden;box-shadow:var(--sh2)}
.ac-row{display:grid;grid-template-columns:30px minmax(150px,1.5fr) 140px minmax(120px,1.3fr) 124px 18px;align-items:center;gap:14px;width:100%;padding:12px 16px;border-top:1px solid var(--line);transition:background .2s}
.ac-row:first-child{border-top:0}
.ac-row:hover{background:var(--s2)}
.ac-row:active{background:var(--s3)}
.ac-who{min-width:0;display:grid}
.ac-who b{font-size:14.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-who small{font-size:12.5px;color:var(--mu);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-cl{min-width:0;font-size:13.5px;color:var(--mu);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-st{display:grid;justify-items:start;gap:2px;min-width:0}
.ac-st small{font-size:12px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ac-go{width:18px;height:18px;color:var(--dim)}

/* Модули */
.ac-mods{grid-template-columns:repeat(auto-fill,minmax(min(100%,400px),1fr));align-items:start}
.ac-mods>.ac-count{grid-column:1/-1}
.ac-mod{padding:6px 0;display:grid;box-shadow:var(--sh2);min-width:0}
.ac-modh{display:flex;align-items:center;gap:10px;padding:10px 16px;min-width:0}
.ac-modh .t{min-width:0;flex:1}.ac-modh .t b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ac-modh .t small{display:block;font-size:12.5px;color:var(--mu)}
.ac-modr{display:grid;gap:8px;padding:10px 16px;border-top:1px solid var(--line);min-width:0}
.ac-modline{display:flex;align-items:center;gap:10px;min-width:0}
.ac-modline .t{flex:1;min-width:0}
.ac-modline .t b{display:block;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-modline .t small{display:block;font-size:12.5px;color:var(--mu);line-height:1.35}
.ac-off{--t:var(--s3);--ti:var(--dim)}
.ac-modline .sw:disabled{opacity:.6;cursor:progress}
.ac-modr .wconfirm{background:var(--s2)}

/* Кто что видит */
.ac-see{grid-template-columns:minmax(0,1fr)}
.ac-seepick{padding:14px 16px;display:grid;gap:8px;box-shadow:var(--sh2)}
.ac-seeres{display:grid;gap:12px;min-width:0}
.ac-seehead{padding:14px 16px;display:grid;gap:10px;box-shadow:var(--sh2)}
.ac-seehead .wrow .t b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-seebox{display:flex;gap:10px;align-items:flex-start;font-size:14px;padding:10px 12px;background:var(--s2);border:1px solid var(--line);border-radius:var(--rs)}
.ac-seebox p{min-width:0;line-height:1.4}
.ac-seec{padding:6px 0;display:grid;box-shadow:var(--sh1)}
.ac-area{display:flex;gap:10px;align-items:center;padding:8px 16px;border-top:1px solid var(--line);min-width:0}
.ac-area .ic{width:18px;height:18px;flex:none}
.ac-area .t{min-width:0;flex:1}.ac-area .t b{display:block;font-size:14px;font-weight:600}.ac-area .t small{display:block;font-size:12.5px;color:var(--mu);line-height:1.35}
.ac-area.yes .ic{color:var(--mint-i)}
.ac-area.no .ic{color:var(--dim)}.ac-area.no .t b{color:var(--dim);font-weight:500}.ac-area.no .t small{color:var(--dim)}
.ac-matrix{display:none;overflow-x:auto;box-shadow:var(--sh2)}
.ac-matrix table{width:100%;border-collapse:collapse;font-size:13.5px}
.ac-matrix th,.ac-matrix td{padding:10px 14px;border-top:1px solid var(--line);text-align:center;font-weight:500}
.ac-matrix thead th{border-top:0;font-size:12.5px;color:var(--mu);font-weight:600;white-space:nowrap}
.ac-matrix th:first-child{text-align:left;position:sticky;left:0;background:var(--s1)}
.ac-matrix tbody tr.off{opacity:.5}
.ac-mlink{display:grid;text-align:left}.ac-mlink b{font-weight:600}.ac-mlink small{font-size:12px;color:var(--dim)}.ac-mlink:hover b{text-decoration:underline}
.ac-yes .ic{width:18px;height:18px;color:var(--mint-i);display:inline-grid;vertical-align:middle}
.ac-no{color:var(--dim)}

/* Шторка человека */
.ac-form{display:grid;gap:14px;align-content:start}
.ac-fields{display:grid;gap:14px;min-width:0}
.ac-block{display:grid;gap:8px;min-width:0}
.ac-roles{display:grid;gap:6px}
.ac-role{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--rs);border:1px solid var(--line);background:var(--s1);box-shadow:var(--sh1);transition:border-color .2s,background .2s;min-width:0;width:100%}
.ac-role:hover{border-color:var(--line2)}
.ac-role.on{border-color:var(--ac-hi);background:var(--ac-soft);align-items:flex-start}
.ac-role .t{flex:1;min-width:0;display:grid;gap:3px}
.ac-role .t b{font-size:14.5px;font-weight:600;line-height:32px}
.ac-role.on .t b{line-height:1.35;margin-top:6px}
.ac-role .t small{font-size:13px;color:var(--mu);line-height:1.35}.ac-role .t small i{font-style:normal;font-weight:600;color:var(--tx)}
.ac-dot{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line2);flex:none;background:var(--s1);transition:border .2s}
.ac-role.on .ac-dot{border:5.5px solid var(--ac-ink);margin-top:7px}
.ac-pickh{display:flex;align-items:center;gap:8px;min-width:0}.ac-pickh .sp{flex:1}.ac-pickh .wlink{white-space:nowrap}
.ac-picklist{display:grid;max-height:230px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--rs);background:var(--s2);padding:4px}
.ac-picklist>.hint{padding:8px 10px}
.ac-pickr{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:9px;cursor:pointer;font-size:14px;min-width:0}
.ac-pickr:hover{background:var(--s3)}
.ac-pickr input{width:17px;height:17px;flex:none;accent-color:var(--ac-ink)}
.ac-pickr .logo{width:24px;height:24px;font-size:11px;border-radius:7px}
.ac-pickr .t{min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-flag{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--rs);background:var(--s2);font-size:14px;font-weight:500}
.ac-flag .t{flex:1;min-width:0}
.ac-enter{margin:0;box-shadow:var(--sh1)}
.ac-enter .gi{flex-wrap:nowrap;text-align:left;padding:10px 14px}
.ac-enter .gi .t{min-width:0}
.ac-enter .gi>.ic{width:18px;height:18px;color:var(--dim)}
.ac-enter button.gi:hover{background:var(--s2)}
.ac-danger .t{color:var(--rose-i)}
.ac-inlink{padding:0 14px 12px;display:grid;gap:8px}
.ac-link{font-size:13px;user-select:all;overflow-wrap:anywhere}
.ac-done{display:grid;gap:12px;min-width:0}
.ac-done b{font-size:17px}
.ac-done .wact .btn{flex:1 1 auto}
.ac-foot{gap:8px}
.ac-foot .ac-save{margin-left:auto}
.ac-ask{flex:1 1 100%;background:var(--s2)}

/* Вход по ссылке */
.ac-join{position:fixed;inset:0;z-index:95;background:var(--bg);display:grid;place-items:center;padding:16px;overflow-y:auto}
.ac-joinc{width:min(420px,100%);padding:24px;display:grid;gap:16px;box-shadow:var(--sh3)}
.ac-joinb{display:grid;gap:14px;min-width:0}
.ac-joinb h1{font-size:26px;font-weight:800;letter-spacing:-.035em;line-height:1.12;overflow-wrap:anywhere}
.ac-joinb .inp[readonly]{background:var(--s2);color:var(--mu)}

@media (min-width:861px){.ac-matrix{display:block}}
@media (max-width:860px){
  .ac-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ac-search{grid-column:1/-1}
  .ac-row{grid-template-columns:30px minmax(0,1fr) auto;grid-template-areas:"ava who role" "ava cl st";gap:4px 10px;padding:12px 14px}
  .ac-row>.ava{grid-area:ava;align-self:start}
  .ac-who{grid-area:who}
  .ac-rcol{grid-area:role;justify-self:end}
  .ac-cl{grid-area:cl;font-size:13px}
  .ac-st{grid-area:st;justify-items:end}
  .ac-st small{display:none}
  .ac-go{display:none}
  .ac-seg{width:100%}
  .ac-seg button{padding:6px 8px;min-width:0}
  .acs .head .btn.pri{width:100%}
}

/* Загрузка файлов */
.docup .sh-b{grid-template-columns:minmax(0,1fr)}
.up-drop{display:flex;align-items:center;gap:12px;padding:16px;border:1.5px dashed var(--line2);border-radius:var(--r);background:var(--s2);cursor:pointer;position:relative;transition:border-color .2s,background .2s,box-shadow .2s;min-width:0}
.up-drop:hover{border-color:var(--ac-hi);background:var(--ac-soft)}
.up-drop.over{border-color:var(--ac-hi);background:var(--ac-soft);box-shadow:0 0 0 4px var(--ac-soft)}
.up-drop:focus-within{border-color:var(--ac-hi);box-shadow:0 0 0 4px var(--ac-soft)}
.up-input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.up-drop .t{min-width:0;flex:1}.up-drop .t b{display:block;font-size:14.5px;font-weight:600;line-height:1.3}.up-drop .t small{display:block;font-size:12.5px;color:var(--mu)}
.up-item{box-shadow:var(--sh1);background:var(--s1)}
.up-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.up-x{width:30px;height:30px;border-radius:9px;margin-left:0;flex:none}.up-x .ic{width:17px;height:17px}
.up-body{display:grid;gap:10px;min-width:0}
.up-hint{font-size:12.5px;margin:-2px 0 0}
.up-prev{display:grid;gap:6px;min-width:0}
.up-prev .wrow .sp{flex:1}
.up-prev .wrow .btn{padding:2px 10px;font-size:16px}
.up-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13.5px;line-height:1.45;max-height:220px;overflow-y:auto;padding:10px 12px;border-radius:var(--rs);background:var(--s2);border:1px solid var(--line)}
.wkb.up-kbover{outline:2px dashed var(--ac-hi);outline-offset:6px;border-radius:12px}

/* Общие инструкции ИИ */
.ag-body{grid-template-columns:minmax(0,1fr)}
.ag-meter{box-shadow:var(--sh1);background:var(--s1)}
.ag-meter .wbar i.ag-over{background:var(--rose-i)}
.ag-doc{box-shadow:var(--sh1);background:var(--s1)}
.ag-doc .inp{min-width:0}
@media (max-width:860px){.head:has(.ac-headbtn) .btn{flex:1 1 100%}.head:has(.ac-headbtn) .sp{display:none}}

/* На телефоне почту и клиентов не обрезаем: это главное, что нужно увидеть в строке */
@media (max-width:640px){.ac-who b,.ac-who small,.ac-cl{white-space:normal;overflow-wrap:anywhere}}
