/* ===== Кабинет Leeds — единый стиль (вариант 9 + тема день/ночь). Структура: 1 токены · 2 база · 3 оболочка · 4 компоненты · 5 главная · 6 задачи · 7 страницы · 8 календарь */
/* ---- 1. токены: светлая тема по умолчанию */
:root{--bg:#F4F6FA;--surface:#fff;--surface2:#EEF2FA;--text:#1B2438;--muted:#53607A;--line:#DDE3EE;--primary:#0072BC;--primary-h:#005f9e;--on-primary:#fff;--navy:#0A1F4D;
 --success:#047857;--warning:#B45309;--danger:#B3261E;--danger-bg:#FDE7E5;--ok-bg:#E2F3E5;--info-bg:#DBEEFB;--info-fg:#00558c;--link:#0072BC;
 --sidebar:#0A1F4D;--sidebar-text:#D5DEF2;--sidebar-on:#0072BC;--sidebar-line:#1d3366;--col:#E9EEF7;--hover:#DBEEFB;--memo-bg:#EEF5FC;--memo-line:#BCD6EE;
 --t-blue:#0072BC;--t-navy:#0A1F4D;--t-green:#047857;--t-purple:#7A3FB0;--t-orange:#B45309;--t-grey:#4A5B7D;--shadow:0 2px 10px rgba(10,31,77,.08);--ask:#0A1F4D;--ask-text:#fff;--h1:#0A1F4D;color-scheme:light}
/* тёмная: явно или авто по системе */
:root[data-theme=dark]{--bg:#0F1420;--surface:#171D2B;--surface2:#212A3D;--text:#E7ECF6;--muted:#A3B0C8;--line:#2B3550;--primary:#4DA3E0;--primary-h:#6bb4e8;--on-primary:#06182b;--navy:#E7ECF6;
 --success:#3FBF8F;--warning:#F0A24A;--danger:#FF8A80;--danger-bg:#3A1E22;--ok-bg:#16322A;--info-bg:#17324A;--info-fg:#8CCBF3;--link:#6bb4e8;
 --sidebar:#0B1018;--sidebar-text:#C5D0E6;--sidebar-on:#1F4F7A;--sidebar-line:#1f2a40;--col:#121927;--hover:#212A3D;--memo-bg:#14263A;--memo-line:#2B4a6a;
 --t-blue:#1F5F93;--t-navy:#26365F;--t-green:#146B52;--t-purple:#5E3A85;--t-orange:#8C5A1F;--t-grey:#3C4A66;--shadow:0 2px 10px rgba(0,0,0,.4);--ask:#171D2B;--ask-text:#E7ECF6;--h1:#E7ECF6;color-scheme:dark}
@media(prefers-color-scheme:dark){:root[data-theme=auto]{--bg:#0F1420;--surface:#171D2B;--surface2:#212A3D;--text:#E7ECF6;--muted:#A3B0C8;--line:#2B3550;--primary:#4DA3E0;--primary-h:#6bb4e8;--on-primary:#06182b;--navy:#E7ECF6;
 --success:#3FBF8F;--warning:#F0A24A;--danger:#FF8A80;--danger-bg:#3A1E22;--ok-bg:#16322A;--info-bg:#17324A;--info-fg:#8CCBF3;--link:#6bb4e8;
 --sidebar:#0B1018;--sidebar-text:#C5D0E6;--sidebar-on:#1F4F7A;--sidebar-line:#1f2a40;--col:#121927;--hover:#212A3D;--memo-bg:#14263A;--memo-line:#2B4a6a;
 --t-blue:#1F5F93;--t-navy:#26365F;--t-green:#146B52;--t-purple:#5E3A85;--t-orange:#8C5A1F;--t-grey:#3C4A66;--shadow:0 2px 10px rgba(0,0,0,.4);--ask:#171D2B;--ask-text:#E7ECF6;--h1:#E7ECF6;color-scheme:dark}}
/* ---- 2. база */
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:Roboto,Arial,sans-serif;font-size:16px;line-height:1.45}
a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}
:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:6px}
.sr{position:absolute;left:-9999px}
h1{color:var(--h1);font-size:26px;margin:0;line-height:1.2}h2{font-size:22px;margin:24px 0 12px;color:var(--h1)}h3{font-size:18px;margin:0 0 8px;color:var(--h1)}
.muted{color:var(--muted);font-size:14px}.err{color:var(--danger)}.ok{color:var(--success)}
input,textarea,select{font:inherit;color:var(--text);padding:12px;min-height:48px;border:1px solid var(--line);border-radius:10px;width:100%;background:var(--surface)}
input[type=checkbox]{min-height:0;width:20px;height:20px}
::placeholder{color:var(--muted)}
pre.body{white-space:pre-wrap;word-break:break-word;font-family:inherit}
/* ---- 3. оболочка: левая панель / нижнее меню */
.side{position:fixed;left:0;top:0;bottom:0;width:230px;background:var(--sidebar);color:var(--sidebar-text);padding:16px 12px;display:flex;flex-direction:column;gap:6px;overflow-y:auto;z-index:10}
.side .brand{color:#fff;font-weight:700;font-size:19px;margin:0 6px 14px;display:flex;align-items:center;gap:10px}.side .brand:hover{text-decoration:none}
.side .brand img{width:36px;height:36px;border-radius:9px}
.navl{display:flex;flex-direction:column;gap:4px}
.side .navl a{color:var(--sidebar-text);min-height:48px;padding:0 14px;border-radius:12px;display:flex;align-items:center;gap:12px;font-size:16px;font-weight:500}
.side .navl a:hover{background:var(--sidebar-line);text-decoration:none}
.side .navl a.on{background:var(--sidebar-on);color:#fff;box-shadow:inset 4px 0 0 #fff}
.ic{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.nb{margin-left:auto;background:#fff;color:#0A1F4D;border-radius:12px;min-width:24px;padding:1px 8px;font-size:13px;text-align:center}.nb.red{background:#C62828;color:#fff}
.side .foot{margin-top:auto;padding:12px 6px 0;border-top:1px solid var(--sidebar-line);display:flex;flex-direction:column;gap:10px;font-size:14px}
.who{font-weight:700;color:#fff;font-size:15px}.who small{display:block;font-weight:400;color:var(--sidebar-text)}
.langsw,.themesw{display:flex;gap:4px;background:rgba(0,0,0,.18);border-radius:10px;padding:3px}
.langsw a,.themesw a{flex:1;text-align:center;padding:8px 4px;border-radius:8px;color:var(--sidebar-text);font-size:13px;min-height:36px;display:flex;align-items:center;justify-content:center}
.langsw a.on,.themesw a.on{background:var(--sidebar-on);color:#fff;font-weight:700}.langsw a:hover,.themesw a:hover{text-decoration:none;background:var(--sidebar-line)}
.side .logout{color:var(--sidebar-text);min-height:44px;display:flex;align-items:center;padding:0 8px;border-radius:10px}.side .logout:hover{background:var(--sidebar-line);text-decoration:none}
main{margin-left:230px;padding:28px 32px 40px;max-width:1280px}
.bottom{display:none}
/* общая шапка страницы */
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.page-title{font-size:26px}.page-sub{margin:4px 0 0;color:var(--muted);font-size:17px}
.page-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
/* ---- 4. компоненты */
.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:16px;box-shadow:var(--shadow)}
.card.empty{text-align:center;padding:32px}
button,.btn{background:var(--primary);color:var(--on-primary);border:2px solid var(--primary);border-radius:12px;padding:0 20px;min-height:48px;font:inherit;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:8px}
button:hover,.btn:hover{background:var(--primary-h);border-color:var(--primary-h);text-decoration:none}
button.sec,.btn.sec{background:var(--surface);color:var(--text);border:2px solid var(--line)}button.sec:hover,.btn.sec:hover{background:var(--surface2);border-color:var(--muted)}
button.ok,.btn.ok{background:var(--success);border-color:var(--success);color:#fff}
button.warn,.btn.warn{background:var(--warning);border-color:var(--warning);color:#fff}
:root[data-theme=dark] button.ok,:root[data-theme=dark] button.warn{color:#06182b}
@media(prefers-color-scheme:dark){:root[data-theme=auto] button.ok,:root[data-theme=auto] button.warn{color:#06182b}}
button.sm{min-height:36px;padding:0 12px}
.big{min-height:52px}.inl{display:inline-flex;width:auto;padding:0 24px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row input,.row select{width:auto;flex:1}
.chip{background:var(--surface2);border-radius:14px;padding:4px 12px;font-size:14px;color:var(--text)}
.chip.c-overdue{background:var(--danger-bg);color:var(--danger);font-weight:700}.chip.c-today{background:var(--info-bg);color:var(--info-fg);font-weight:700}.chip.c-taken{background:var(--ok-bg);color:var(--success)}
.badge{background:var(--danger-bg);color:var(--danger);border-radius:8px;padding:2px 8px;font-size:13px}.badge.gb{background:var(--surface2);color:var(--muted)}
table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:top}
th{position:sticky;top:0;background:var(--surface);z-index:2;font-weight:700}tbody tr:hover td,tr:hover>td{background:var(--surface2)}
.card:has(table){overflow-x:auto}
.memo{background:var(--memo-bg);border:1px solid var(--memo-line);border-radius:10px;padding:8px 12px;margin:8px 0;font-size:14px}.memo summary{cursor:pointer;font-weight:700;color:var(--text);min-height:32px}.memo ul{margin:6px 0 2px 16px;padding:0}
.login{max-width:400px;margin:12vh auto;padding:28px}.login~*{}
.bub{max-width:80%;background:var(--surface2);border-radius:14px;padding:10px 14px;margin:8px 0;white-space:pre-wrap}.bub.me{margin-left:auto;background:var(--info-bg)}.bub .tr{border-top:1px dashed var(--line);margin-top:6px;color:var(--muted)}
.morel{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.morei{display:flex;align-items:center;gap:12px;min-height:72px;margin:0;font-size:18px;font-weight:500;color:var(--text)}
.themesw{background:var(--surface2)}.themesw a,.card .langsw a{color:var(--text)}.card .langsw{background:var(--surface2)}
.themesw a.on,.card .langsw a.on{background:var(--primary);color:var(--on-primary)}
/* ---- 5. главная */
.tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:20px}
.tile{color:#fff;border-radius:16px;min-height:150px;padding:16px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;box-shadow:var(--shadow)}
.tile:hover{text-decoration:none;filter:brightness(1.1)}.tile b{font-size:21px;line-height:1.15}.tile small{font-size:14px;opacity:.95}.tile .tw{font-weight:700;background:rgba(0,0,0,.25);padding:0 6px;border-radius:6px}
.ti{width:44px;height:44px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.t-blue{background:var(--t-blue)}.t-navy{background:var(--t-navy)}.t-green{background:var(--t-green)}.t-purple{background:var(--t-purple)}.t-orange{background:var(--t-orange)}.t-grey{background:var(--t-grey)}
.cnt{margin-bottom:8px}.pill{display:inline-flex;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:10px 18px;color:var(--text)}
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px;align-items:start}
.askbar{background:var(--ask);color:var(--ask-text);border-radius:16px;padding:16px 20px;margin-top:24px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--line)}
.askbar>b{font-size:18px}.okb{background:var(--success);color:#fff;border-radius:8px;padding:2px 10px;margin-left:10px;font-size:14px}
.askrow{display:flex;gap:10px}.askrow input{font-size:18px;min-height:56px;flex:1;background:#fff;color:#1B2438}.askrow input::placeholder{color:#53607A}
.mic{width:56px;min-height:56px;padding:0;border-radius:28px;background:var(--primary);color:var(--on-primary)}.mic svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.chipsr{display:flex;gap:8px;flex-wrap:wrap}.sug{background:#fff;color:#0A1F4D;border:0;border-radius:22px;min-height:44px;padding:0 18px;font-size:15px}.sug:hover{background:#DBEEFB;color:#0A1F4D}
/* ---- 6. карточки задач */
.tc{background:var(--surface);border:1px solid var(--line);border-left:6px solid #7aa7d9;border-radius:16px;margin-bottom:14px;overflow:hidden;box-shadow:var(--shadow)}
.tc>summary{list-style:none;cursor:pointer;padding:16px 18px;min-height:56px}.tc>summary::-webkit-details-marker{display:none}
.tc.s-overdue{border-left-color:#C62828}.tc.s-today{border-left-color:var(--primary)}.tc.s-taken{border-left-color:var(--success)}.tc.s-wait{border-left-color:#9aa3b2}.tc.s-done{border-left-color:var(--line);opacity:.7}
.tt{font-weight:700;font-size:18px;color:var(--text);margin:0 0 4px}.tt a{color:inherit}.tid{font-weight:400;font-size:14px;margin-right:4px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.panel{padding:4px 18px 16px;border-top:1px dashed var(--line)}
.tc-lg{padding:18px;border-left-width:8px}.tc-lg .tt{font-size:18px;margin-top:8px}.tc-top{display:flex;justify-content:space-between;align-items:center}
.tc-lg .acts.prim{grid-template-columns:1fr 1fr;margin:14px 0 8px}
.tc-lg .acts.prim .big{min-height:56px;font-size:17px;font-weight:700}
.acts{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:12px 0}.acts form{margin:0;display:contents}
.acts .big,.big{width:100%}
.acts .passf{display:flex;gap:8px}.passf select{width:auto;flex:1;min-height:52px}
.acts .note{grid-column:1/-1}.note summary{list-style:none}.note form{display:block;margin-top:8px}.note textarea{margin-bottom:8px}.note button{margin-top:8px}
.more summary{cursor:pointer;color:var(--link);padding:10px 0;min-height:44px;font-weight:500}.more{margin-top:4px}
/* ---- 7. воронка, списки */
.board{display:flex;gap:14px;overflow-x:auto;align-items:flex-start;padding-bottom:10px}
.col{flex:0 0 280px;background:var(--col);border-radius:16px;padding:14px;min-height:140px}.col.over{outline:2px dashed var(--primary)}
.col h3{margin:0 0 4px;font-size:17px}.auto{font-size:13px;color:var(--muted);margin-bottom:10px}
.kc{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:10px;cursor:grab;font-size:15px;box-shadow:var(--shadow)}.kc.stuck{border:2px solid var(--danger)}
.kc select{margin-top:8px;padding:6px;font-size:14px;display:none;min-height:44px}
.tabs{display:none}
/* ---- 8. календарь */
.calp{display:none}.caltoggle{display:none}
.calh{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.calp h4{margin:12px 0 6px;color:var(--h1)}
.mg{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.mw{font-size:12px;color:var(--muted)}
.md{position:relative;padding:7px 0;border-radius:8px;color:var(--text);font-size:14px}.md.oth{color:var(--muted);opacity:.6}.md.tod{background:var(--primary);color:var(--on-primary)}.md:hover{background:var(--hover);text-decoration:none}.md.tod:hover{background:var(--primary)}
.dot{position:absolute;left:50%;bottom:1px;width:5px;height:5px;margin-left:-2px;border-radius:50%;background:var(--primary)}.dot.red{background:#E53935}.tod .dot{background:var(--on-primary)}
.tchip{display:block;width:100%;text-align:left;font-size:13px;padding:6px 8px;margin:3px 0;border-radius:8px;border:0;border-left:4px solid #7aa7d9;background:var(--surface2);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:0;display:block;font-weight:400}
.tchip:hover{background:var(--hover);border-color:#7aa7d9}
.tchip.c-overdue{border-left-color:#E53935;background:var(--danger-bg)}.tchip.c-today{border-left-color:var(--primary);background:var(--info-bg)}.tchip.c-taken{border-left-color:var(--success);background:var(--ok-bg)}.tchip.c-wait{border-left-color:#9aa3b2}
.evl{font-size:13px;color:#8A63D2;margin:3px 0}
.fg{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.fw{font-weight:700;color:var(--muted);font-size:14px;text-align:center}
.fd{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:10px;height:158px;padding:6px;overflow:hidden;min-width:0}.fd:hover{border-color:var(--primary)}.fd.sel{outline:2px solid var(--primary)}
.fd .fn{display:flex;align-items:center;gap:6px;min-height:22px}.fd .fn::after{content:'';position:absolute;inset:0;border-radius:10px}.fd .fn:focus-visible{outline:none}.fd .fn:focus-visible::after{outline:3px solid var(--primary)}.fd .fn:hover{text-decoration:none}.fnn{font-weight:500}.fd .dot{display:none;position:static;margin:0}
.fd .tchip{position:relative;z-index:1;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;line-height:1.25;padding:0 8px;border-top:4px solid transparent;border-bottom:4px solid transparent;background-clip:border-box;margin:3px 0}
.fd .evl{position:relative;z-index:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;line-height:1.25}
.fmore{position:relative;z-index:1;display:inline-block;font-size:13px;padding:2px 4px}.dsel{margin:12px 0}.dsl{display:block;font-weight:700;margin-bottom:6px}.dsel .tchip{white-space:normal;padding:10px}.fd.oth{background:var(--col)}.fd.tod{outline:2px solid var(--primary)}.fn{font-size:13px;color:var(--muted)}
.fg.wk .fd{height:300px}
main.wide{margin-right:0!important;max-width:none}
.popover{position:absolute;z-index:50;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:0 6px 24px rgba(0,0,0,.35);display:grid;gap:8px}
.weekstrip{display:none}
/* ---- адаптив */
@media(min-width:1200px){main{margin-right:316px;max-width:none}.calp{display:block;position:fixed;right:0;top:0;bottom:0;width:300px;overflow:auto;background:var(--surface);border-left:1px solid var(--line);padding:16px}
 main:has(.board){margin-right:316px}}
@media(min-width:900px) and (max-width:1199px){.caltoggle{display:block;position:fixed;right:14px;bottom:14px;z-index:20;border-radius:50%;width:52px;height:52px;padding:0;font-size:22px}
 .calp.show{display:block;position:fixed;right:0;top:0;bottom:0;width:300px;overflow:auto;background:var(--surface);border-left:1px solid var(--line);padding:16px;z-index:19;box-shadow:-4px 0 14px #0005}}
@media(min-width:900px){.kc select{display:block}}
@media(max-width:1399px) and (min-width:900px){.tiles{grid-template-columns:repeat(3,1fr)}}
@media(max-width:899px){
 .side{display:none}main{margin:0;padding:16px 16px 100px;max-width:none}
 .bottom{display:flex;position:fixed;left:0;right:0;bottom:0;background:var(--sidebar);z-index:9;padding-bottom:env(safe-area-inset-bottom)}
 .bottom a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--sidebar-text);min-height:64px;font-size:13px}.bottom a:hover{text-decoration:none}.bottom a.on{background:var(--sidebar-on);color:#fff}
 td.hide-m,th.hide-m{display:none}
 .tiles{grid-template-columns:1fr 1fr;gap:10px}.tile{min-height:140px}.tgrid{grid-template-columns:1fr}
 .acts{grid-template-columns:1fr 1fr}.acts .passf{flex-direction:column}.tc-lg .acts.prim{grid-template-columns:1fr}
 .askrow input{font-size:16px}.morel{grid-template-columns:1fr}
 .board{overflow:visible}.col{display:none;flex:1 1 100%}.col.cur{display:block}.kc{cursor:default}.kc select{display:block}
 .tabs{display:flex;overflow-x:auto;gap:6px;margin-bottom:12px}.tabs a{white-space:nowrap;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:10px;font-size:14px;color:var(--text);min-height:44px}.tabs a.on{background:var(--primary);color:var(--on-primary)}
 .weekstrip{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:8px 0 12px}
 .wd{background:var(--surface);border:1px solid var(--line);border-radius:8px;text-align:center;padding:4px 0;color:var(--text);display:flex;flex-direction:column;min-height:56px}.wd.tod{background:var(--primary);color:var(--on-primary)}.wd small{font-size:11px}.cnt2{font-size:11px;color:var(--primary);font-weight:700}.cnt2.red{color:#E53935}.wd.tod .cnt2{color:var(--on-primary)}
 .fg:not(.wk){grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.fg:not(.wk) .fd{height:56px;padding:4px;text-align:center}.fg:not(.wk) .fd>.tchip,.fg:not(.wk) .fd>.evl,.fg:not(.wk) .fd>.fmore{display:none}.fg:not(.wk) .fd .fn{justify-content:center;flex-direction:column;gap:2px}.fg:not(.wk) .dot{display:block}.fg:not(.wk) .fw{display:block;font-size:12px}
 .fg.wk{grid-template-columns:1fr}.fg.wk .fw{display:none}.fg.wk .fd{height:auto;min-height:0}.fg.wk .fd:not(:has(.tchip)):not(:has(.evl)){display:none}}
/* ---- 9. страница входа */
.lg{position:fixed;inset:0;z-index:40;display:grid;grid-template-columns:1.1fr 1fr;background:var(--bg);overflow:auto}
.lg-brand{position:relative;overflow:hidden;background:linear-gradient(135deg,#0A1F4D,#0072BC,#0A1F4D);background-size:200% 200%;animation:lgshift 18s ease-in-out infinite;color:#fff;display:flex;align-items:center;padding:48px}
.lg-in{position:relative;z-index:2;max-width:520px}
.lg-logo{display:flex;align-items:center;gap:16px;font-size:44px;font-weight:700;letter-spacing:-.5px}.lg-logo img{width:72px;height:72px;border-radius:18px}
.lg-tag{font-size:22px;line-height:1.4;margin:24px 0}
.lg-badges{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0}.lg-badges li{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);border-radius:24px;padding:8px 16px;font-size:15px}
.blob{position:absolute;border-radius:50%;background:rgba(255,255,255,.1);filter:blur(6px);animation:lgfloat 14s ease-in-out infinite}
.b1{width:320px;height:320px;left:-80px;top:-60px}.b2{width:240px;height:240px;right:8%;bottom:10%;animation-delay:-5s;animation-duration:17s}.b3{width:140px;height:140px;right:30%;top:12%;animation-delay:-9s}
@keyframes lgfloat{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(30px,-40px) scale(1.12)}}
@keyframes lgshift{0%,100%{background-position:0 0}50%{background-position:100% 100%}}
.lg-form{display:flex;align-items:center;justify-content:center;padding:32px}
.lg-card{width:100%;max-width:440px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:36px;box-shadow:var(--shadow)}
.lg-hello{margin-bottom:20px;min-height:84px}.hi1{margin:0 0 4px;color:var(--muted);font-size:17px;animation:lgup .7s both}.hi2{font-size:26px;animation:lgup .8s .25s both}
.wave{display:inline-block;transform-origin:70% 70%;animation:lgwave 2.2s 1s ease-in-out 2}
@keyframes lgup{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes lgwave{0%,60%,100%{transform:rotate(0)}10%,30%{transform:rotate(16deg)}20%,40%{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}
.lg-in-big{font-size:18px;min-height:56px}.lg-lang{text-align:center;margin:16px 0 0}
.lg-ok{text-align:center;padding:24px 0;font-size:20px;font-weight:700}.lg-ok svg{width:96px;height:96px;fill:none;stroke:var(--success);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.lg-ok circle{stroke-dasharray:152;stroke-dashoffset:152;animation:lgdraw .6s forwards}.lg-ok path{stroke-dasharray:50;stroke-dashoffset:50;animation:lgdraw .5s .4s forwards}
@keyframes lgdraw{to{stroke-dashoffset:0}}
@media(max-width:899px){.lg{grid-template-columns:1fr;grid-template-rows:auto 1fr}.lg-brand{padding:20px 20px 24px}.lg-logo{font-size:28px}.lg-logo img{width:44px;height:44px}.lg-tag{font-size:16px;margin:12px 0}.lg-form{padding:16px 16px 32px;align-items:flex-start}.lg-card{padding:24px;margin-top:-8px}}
@media(prefers-reduced-motion:reduce){.lg-brand,.blob,.hi1,.hi2,.wave,.lg-ok circle,.lg-ok path{animation:none!important}.lg-ok circle,.lg-ok path{stroke-dashoffset:0}}

.spin{display:inline-block;width:.8em;height:.8em;border:2px solid var(--line);border-top-color:var(--primary);border-radius:50%;vertical-align:-.1em;animation:lgspin .7s linear infinite}@keyframes lgspin{to{transform:rotate(360deg)}}
/* суть задачи + подсказки (27.10) */
.ess{padding:12px 0 4px}.ess h4{margin:0 0 8px;font-size:18px;color:var(--navy)}.ess .el{margin:0 0 10px;font-size:16px;line-height:1.45}.ess ul{margin:4px 0 0;padding-left:22px}.ess li{margin:3px 0}
.ess .nxt{background:var(--info-bg);border-radius:12px;padding:10px 12px}
.ab{display:flex;flex-direction:column;gap:4px;min-width:0}.ab form{display:block}.hint{color:var(--muted);font-size:13px;line-height:1.3;padding:0 4px}
.acts .ab>form,.acts .ab>a,.acts .ab>details{width:100%}
.passd summary{list-style:none}.passd summary::-webkit-details-marker{display:none}.passc{display:grid;gap:8px;margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface2)}.passc form{margin:0}.passc button{width:100%}
.passd{grid-column:auto}
@media(max-width:899px){.ess .el{font-size:16px}.acts{grid-template-columns:1fr 1fr}.ab:has(.passd[open]){grid-column:1/-1}}
.pre{background:var(--info-bg);border:1px solid var(--line);border-left:6px solid var(--primary);border-radius:14px;padding:12px 16px;margin:0 0 16px;font-size:16px;line-height:1.45}.pre p{margin:0 0 6px}.pre ul{margin:4px 0 8px;padding-left:22px}.pre-t{margin-top:6px}.pre-x{min-height:36px;padding:0 14px;font-size:14px}
/* ---- почта карточками (27.10) */
.mflt{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.mfc{display:inline-flex;gap:8px;align-items:center;min-height:48px;padding:0 18px;border-radius:24px;background:var(--surface);border:1px solid var(--line);color:var(--text);font-size:16px}
.mfc b{background:var(--surface2);border-radius:12px;padding:1px 9px;font-size:14px}.mfc.on{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.mfc.on b{background:rgba(255,255,255,.25);color:inherit}.mfc:hover{text-decoration:none}
.mgrp{margin:22px 0 10px;font-size:18px}.mok{font-weight:700}
.mc{padding:16px 18px;border-left-width:8px}.mc.mt-new,.mc.mt-other{border-left-color:var(--t-blue)}.mc.mt-other{border-left-color:var(--line)}.mc.mt-reply{border-left-color:var(--success)}.mc.mt-colleague{border-left-color:var(--t-purple)}.mc.mt-bounce{border-left-color:var(--t-grey)}.mc.mt-service{border-left-color:var(--line);opacity:.88}
.mc.mt-new.unread,.mc.unread.mt-other{border-left-color:var(--t-blue)}
.mtag{color:#fff;font-weight:700;background:var(--t-grey)}.mtag-new{background:var(--t-blue)}.mtag-reply{background:var(--t-green)}.mtag-colleague{background:var(--t-purple)}.mtag-bounce{background:var(--t-grey)}.mtag-service,.mtag-other{background:var(--surface2);color:var(--muted)}.mtag-imp{background:var(--t-orange);color:#fff;font-weight:700}
.mc .tc-top{gap:8px;justify-content:flex-start;flex-wrap:wrap}.mdate{margin-left:auto}
.mfrom{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.msub{margin:6px 0 4px;font-size:17px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.msub a{color:var(--text)}
.mpv{margin:2px 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.mc .acts{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.mess{margin:6px 0 12px;padding-left:20px;font-size:17px}.mess li{margin:6px 0}.ess-card .acts{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.mbody pre.body{font-size:17px;line-height:1.55}
.files{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.ftile{display:flex;flex-direction:column;gap:2px;min-height:76px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface2);color:var(--text);word-break:break-word}.ftile:hover{background:var(--hover);text-decoration:none}.ftile .fi{font-size:22px}.ftile .fn{font-weight:700}
@media(max-width:899px){.mc .acts,.ess-card .acts{grid-template-columns:1fr 1fr}.mfc{flex:1 1 auto;justify-content:center}}
/* ---- блоки: чат, черновики, клиенты, звонки (27.10) */
.chat2{display:grid;grid-template-columns:320px 1fr;gap:16px;align-items:start}
.chat-list{display:flex;flex-direction:column;gap:10px}.cblock{display:block;padding:14px 16px;color:var(--text);margin:0;border-left-width:8px}.cblock:hover{text-decoration:none;background:var(--surface2)}
.cblock.on{border-left-color:var(--primary);background:var(--info-bg)}.cblock.waits{border-left-color:var(--danger)}.cblock .tc-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cb-time{margin-left:auto}
.cb-last{margin:6px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cb-back{display:none}
.bub-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.bub-acts form{display:block}.sm{min-height:40px;padding:0 14px;font-size:14px}
@media(max-width:899px){.chat2{grid-template-columns:minmax(0,1fr)}.chat2>*{min-width:0}main table{display:block;overflow-x:auto;max-width:100%}.chat2:not(.has-sel) .chat-thread{display:none}.chat2.has-sel .chat-list{display:none}.cb-back{display:inline-flex;min-height:44px;align-items:center}}
.dcard{padding:16px 18px}.dcard .gist{margin:0;font-size:17px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.ccard{padding:16px 18px;margin:0}.ccard .tc-top{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.cneed{font-size:16px;margin:8px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ccard .acts{grid-template-columns:1fr 1fr}
.bigphone{font-size:24px;font-weight:700;margin:8px 0}.bigphone a{color:var(--link)}
.ev{padding:14px 18px;border-left-width:8px}.ev-call{border-left-color:var(--t-green)}.ev-mail{border-left-color:var(--t-blue)}.ev-task{border-left-color:var(--t-orange)}.ev-stage{border-left-color:var(--t-purple)}.ev .tc-top{display:flex;justify-content:space-between}.ev audio{width:100%;margin:6px 0}
.inrow{margin:14px 0;display:flex;flex-direction:column;gap:4px;max-width:420px}.pendc{border-left:8px solid var(--warning)}.pendc.remind{border-left-color:var(--danger)}
.kc-lg{padding:14px 16px;font-size:16px}.kc-lg>summary{cursor:pointer;list-style:none;min-height:48px}.kc-lg>summary::-webkit-details-marker{display:none}.kc-t{font-size:18px}.kc-lg .panel{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}.kc-lg .acts{grid-template-columns:1fr}
.crdlg{border:0;border-radius:18px;padding:0;width:min(720px,96vw);max-height:94vh;background:var(--surface);color:var(--text);box-shadow:0 10px 40px rgba(0,0,0,.4)}.crdlg::backdrop{background:rgba(5,10,25,.6)}
.crbody{padding:20px 20px 24px;max-height:90vh;overflow:auto}.crx{position:absolute;right:10px;top:10px;min-height:40px;padding:0 14px;z-index:2}.crt{margin:0 40px 12px 0;font-size:22px}
.cr-block{border:0;padding:0;margin:0 0 16px}.crl{display:flex;flex-direction:column;gap:4px;font-weight:700;margin:0 0 10px;font-size:16px}.crl input,.crl textarea{font-weight:400}
.cr-outs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.cr-o{display:flex;flex-direction:column;gap:4px;cursor:pointer}.cr-o input{position:absolute;opacity:0;width:1px;height:1px}
.cr-o .btn{width:100%;text-align:center;justify-content:center;min-height:56px;white-space:normal}.cr-o input:checked+.btn{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.cr-o input:focus-visible+.btn{outline:3px solid var(--primary);outline-offset:2px}
.cr-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cr-acts{grid-template-columns:1fr 1fr}.cr-cancel{margin-top:10px;display:flex;flex-direction:column;gap:4px;max-width:280px}
.cr-vrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.cr-vrow .big{flex:1 1 220px}.cr-vrow select{width:auto;min-width:90px}.v-audio{width:100%;margin-top:8px}
@media(max-width:899px){.cr-grid,.cr-acts{grid-template-columns:1fr}.crdlg{width:100vw;max-width:100vw;height:100vh;max-height:100vh;border-radius:0}.crbody{max-height:100vh;height:100vh}}
.crpage{max-width:720px}

/* mail extra actions (28.10) */
.mx{margin-top:4px}.mxd[open]{grid-column:1/-1}.mxd form{display:block;margin-top:8px}.mxd label{display:block;font-size:14px;color:var(--muted);margin:6px 0}.mxd .row{display:flex;gap:10px}.mxd .row>*{flex:1}
.snz{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:8px}.snz form{margin:0}.snz .snzp{grid-column:1/-1}
.mxd.hl>summary{box-shadow:0 0 0 3px var(--primary);font-weight:700}
button.danger,.btn.danger{color:var(--danger)}
.brief{background:var(--info-bg);border-radius:12px;padding:12px 14px;margin:0 0 12px}.brief p{margin:6px 0;font-size:16px;line-height:1.45}.brief .decide{font-size:17px}
.decide1{margin:2px 0 6px;font-weight:700;font-size:15px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.linkbtn{background:none;border:0;color:var(--primary);min-height:32px;padding:0;text-decoration:underline;font-size:14px}.briefask{margin:0 0 8px}

.tbrf{margin:4px 0;font-size:14px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tdec{margin:2px 0 6px;font-size:15px;font-weight:700;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
details.tc+.quick{margin-top:10px}.tc:has(>details[open])>.quick{display:none}.quick .acts.prim{grid-template-columns:1fr 1fr;margin:0 0 6px}.quick .acts.q1{grid-template-columns:1fr}.acts.yn{grid-template-columns:1fr 1fr;margin:8px 0}.acts.yn .big{width:100%;min-height:56px;font-size:17px;font-weight:700}

/* ---- QA 27.10: цели нажатия >= 44px, версия статики */
.linkbtn,.cb-back,.hint a{min-height:44px;display:inline-flex;align-items:center}
.btn.sm,button.sm{min-height:44px}.tid{display:inline-block;padding:14px 8px;margin:-14px -4px -14px -8px;position:relative}
.back,a.back,.crumb{display:inline-flex;align-items:center;min-height:44px}
details.tc>summary,.more>summary,.note>summary,.passd>summary{min-height:44px}
.showdone,.tasks-more a{display:inline-flex;align-items:center;min-height:44px}
.pre-ok,.pre button,.preamble button,.pre .sec{min-height:44px}
main>p>a:not(.btn),main>p.row>a:not(.btn),main>.card>p>a,details.more>summary{display:inline-flex;align-items:center;min-height:44px}
.pre button{min-height:44px;padding:0 18px}
details.tc:has(+.quick){margin-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:0}
details.tc+.quick{margin:0 0 14px;padding:4px 16px 14px;background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--line);border-top:0;border-radius:0 0 16px 16px;box-shadow:var(--shadow)}
details.tc[open]+.quick{display:none}details.tc[open]:has(+.quick){border-bottom:1px solid var(--line);border-radius:14px;margin-bottom:14px}
.dsl{display:flex;align-items:center;min-height:44px}
.tc-lg .tt a{display:inline-block;padding:12px 0;margin:-12px 0}
.dsel .tchip{min-height:44px;display:flex;align-items:center}

/* папки почты */
.mfold{display:flex;gap:8px;margin:0 0 12px;flex-wrap:wrap}.mfc.mfd{font-weight:600}
@media(max-width:899px){.mfold{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-left:-16px;margin-right:-16px;padding:0 16px 6px;scrollbar-width:none}.mfold::-webkit-scrollbar{display:none}.mfold .mfc{flex:0 0 auto;white-space:nowrap}}
.ev-mail.ev-out{border-left-color:var(--t-purple);margin-left:28px}.ev-mail.ev-fail{border-left-color:var(--danger);opacity:.85}
p.warn{color:var(--danger);font-weight:600;margin:4px 0}
@media(max-width:700px){.ev-mail.ev-out{margin-left:12px}}
