/* ═══════ SHELL V2 (БЕТА) — активна только при body.shell2 (?beta=1) ═══════ */
/* Прод без флага эти стили не видит. Когда бета готова — класс включается по умолчанию. */

/* ── Сайдбар: один стиль иконок, активная = синий квадрат ── */
body.shell2 #sidebar{background:rgba(255,255,255,0.6);border-right:0.5px solid rgba(60,60,67,0.08);}
body.shell2 .nb{width:44px;height:44px;padding:0;justify-content:center;align-items:center;border-radius:12px;color:#3c3c43;}
body.shell2 .nb .nb-svg{opacity:.55;width:20px;height:20px;}
body.shell2 .nb:hover{background:rgba(120,120,128,0.08);}
body.shell2 .nb.on{background:rgba(0,122,255,0.1);color:#007AFF;}
body.shell2 .nb.on .nb-svg{opacity:1;}
body.shell2 #sbSortable{gap:4px;}
body.shell2 #sbSortable [data-sb-id^="sep"]{display:none;}
body.shell2 .nb.sb-avatar{width:auto;height:auto;padding:4px;margin-bottom:10px;}
body.shell2 #nbInboxBadge{width:auto;min-width:16px;height:16px;line-height:16px;border-radius:8px;padding:0 4px;top:3px;right:3px;font-size:10px;}

/* ── Топбар канбана: тихий breadcrumb + крупный заголовок, действия одним блоком ── */
body.shell2 .kb-tb{padding:14px 24px 12px;align-items:flex-end;}
body.shell2 .kb-tb-left{flex-direction:column;align-items:flex-start;gap:2px;}
body.shell2 .kb-bc-line{gap:4px;}
body.shell2 .kb-bc-line span{font-size:13px!important;}
body.shell2 .kb-bc-sep{display:none;}
body.shell2 #kbBoardTitle{font-size:24px!important;font-weight:800!important;letter-spacing:-0.4px;}
body.shell2 .kb-tbic{border-radius:10px!important;}
body.shell2 .kb-tbic:hover{background:rgba(120,120,128,0.18)!important;}
body.shell2 .kb-tbic-pri{background:#007AFF!important;}
body.shell2 .kb-tbic-pri svg line{stroke:#fff!important;opacity:1!important;}

/* ── Правый док: «Входящие» и Джеральд — белые острова ── */
body.shell2 #rightDock{width:360px;padding:14px 12px 14px 0;gap:12px;}
body.shell2 #rightDock #inboxPanel{background:rgba(255,255,255,0.88);border:0.5px solid rgba(60,60,67,0.08);box-shadow:0 2px 8px rgba(0,0,0,0.06);}
body.shell2 #aiDockSlot{border:0.5px solid rgba(60,60,67,0.08);box-shadow:0 2px 8px rgba(0,0,0,0.06);}
body.shell2 #aiDockSlot #aiCoachOverlay{background:rgba(255,255,255,0.88)!important;}

/* заголовок Входящих */
body.shell2 .ip-title{font-size:17px;}
body.shell2 .ip-icon-btn{width:28px;height:28px;border-radius:8px;}
body.shell2 .ip-icon-btn:hover{background:rgba(120,120,128,0.1);}

/* сегмент-контрол по канону вместо голубых табов */
body.shell2 .ip-tabs{background:rgba(120,120,128,0.08);border-radius:10px;padding:3px;margin:0 16px 10px;gap:2px;}
body.shell2 .ip-tab{border-radius:8px;font-size:13px;color:#8e8e93;padding:6px 0;}
body.shell2 .ip-tab:hover{background:transparent;color:#1c1c1e;}
body.shell2 .ip-tab.on{background:rgba(255,255,255,0.95);color:#1c1c1e;font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,0.08);}

/* быстрый ввод */
body.shell2 .ip-quick-input{border-radius:12px;border:0.5px solid rgba(60,60,67,0.1);background:rgba(120,120,128,0.06);}
body.shell2 .ip-quick-input:focus{border-color:#007AFF;background:#fff;}

/* строки задач: тихие, ховер как у списков iOS */
body.shell2 .ip-card-row{background:transparent;transition:background .15s;}
body.shell2 .ip-card-row:hover{background:rgba(120,120,128,0.06);}

/* ── Джеральд ── */
/* шапка: квадратные тихие кнопки, без линии-разделителя */
body.shell2 #aiDockSlot #aiCoachOverlay > div:first-child{padding:14px 16px 8px;}
body.shell2 #aiDockSlot #aiCoachOverlay > div:first-child button{border-radius:10px!important;border:none!important;background:transparent!important;width:30px;height:30px;}
body.shell2 #aiDockSlot #aiCoachOverlay > div:first-child button:hover{background:rgba(120,120,128,0.1)!important;}
body.shell2 #aiDockSlot #aiCoachOverlay > div:first-child button[onclick*="startReflection"]{width:auto;padding:6px 12px!important;}
body.shell2 #aiDockSlot #aiCoachOverlay > div:nth-child(2){display:none;}

/* пузыри: ассистент — серый тихий, юзер — синий */
body.shell2 #aiDockSlot #aiChatMessages > div{background:rgba(120,120,128,0.08)!important;border:none!important;border-radius:14px!important;box-shadow:none!important;}
body.shell2 #aiDockSlot #aiChatMessages > div[style*="flex-end"]{background:#007AFF!important;color:#fff!important;}

/* подсказки-кнопки: синие тихие 10px вместо белых пилюль */
body.shell2 #aiDockSlot .ai-btn-row button{background:rgba(0,122,255,0.08)!important;color:#007AFF!important;border:none!important;border-radius:10px!important;font-weight:500;}
body.shell2 #aiDockSlot .ai-btn-row button:hover{background:rgba(0,122,255,0.14)!important;}

/* поле ввода */
body.shell2 #aiDockSlot #aiChatInput > div{border-radius:12px!important;border:0.5px solid rgba(60,60,67,0.12)!important;background:rgba(120,120,128,0.06)!important;}

/* ── Правый рейл: кнопки в общем языке вместо разнобоя ── */
body.shell2 #rightRail{gap:8px;padding-top:16px;}
body.shell2 .rr-btn{width:36px;height:36px;border-radius:12px;background:rgba(255,255,255,0.8);border:0.5px solid rgba(60,60,67,0.08);box-shadow:0 1px 3px rgba(0,0,0,0.05);color:#3c3c43;}
body.shell2 .rr-btn:hover{transform:none;background:#fff;}
body.shell2 .rr-btn.on{background:#007AFF;border-color:#007AFF;color:#fff;}

/* ── Фиксы параши (2-я итерация) ── */
/* ряды кнопок-подсказок НЕ пузыри — перекрываем своё же правило точнее */
body.shell2 #aiDockSlot #aiChatMessages > div.ai-btn-row{background:transparent!important;border-radius:0!important;box-shadow:none!important;padding:0!important;}
/* поле ввода Джеральда = одно чистое поле: белое, 12px, тонкая граница */
body.shell2 #aiDockSlot #aiChatInput > div{background:#fff!important;border:0.5px solid rgba(60,60,67,0.15)!important;border-radius:12px!important;}
body.shell2 #aiDockSlot #aiChatInput > div:focus-within{border-color:#007AFF!important;}
body.shell2 #aiDockSlot #aiInput{border:none!important;outline:none!important;box-shadow:none!important;background:transparent!important;}
/* +/микрофон внутри поля — тихие квадраты, не круги */
body.shell2 #aiDockSlot #aiPlusBtn,body.shell2 #aiDockSlot #aiMicBtn{background:transparent!important;border-radius:8px!important;}
body.shell2 #aiDockSlot #aiPlusBtn:hover,body.shell2 #aiDockSlot #aiMicBtn:hover{background:rgba(120,120,128,0.1)!important;}

/* ── ДОСКА в бете: «Белые острова» (перенесено из прода) ── */
body.shell2 .kb-scroll{background:linear-gradient(180deg,#e3e2eb,#d8d7e2);}
body.shell2 .kb-island{background:rgba(255,255,255,0.8);border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,0.06);}
body.shell2 .kb-island.kb-hot{background:rgba(0,122,255,0.06);}
body.shell2 .kb2-card{background:#fff;padding:12px 14px;box-shadow:0 1px 3px rgba(0,0,0,0.07);transition:transform .15s ease,box-shadow .15s ease;}
body.shell2 .kb2-card:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(0,0,0,0.12);}
body.shell2 .kb2-card.kb2-dragging{transform:none;box-shadow:0 1px 3px rgba(0,0,0,0.07);}
body.shell2 .kb2-card.compact{padding:8px 10px;}
body.shell2 .kb2-name{line-height:1.35;}
body.shell2 .kb2-meta{gap:6px;margin-top:8px;}
body.shell2 .kb2-foot{gap:8px;margin-top:8px;}
body.shell2 .kb2-tag{padding:3px 8px;border-radius:6px;font-size:12px;}
body.shell2 .kb2-due{padding:3px 8px;border-radius:6px;font-size:12px;font-weight:500;color:#8e8e93;background:rgba(120,120,128,0.08);}
body.shell2 .kb2-due svg{display:inline;}
body.shell2 .kb2-due.today{color:#FF9500;background:rgba(255,149,0,0.12);font-weight:600;}
body.shell2 .kb2-due.over{color:#FF3B30;background:rgba(255,59,48,0.1);font-weight:600;}
body.shell2 .kb2-mt{font-size:12px;}
body.shell2 .kb2-goal-link{gap:5px;margin-top:8px;font-size:12px;opacity:.85;}
body.shell2 .kb2-count{display:inline-flex;min-width:22px;height:20px;padding:0 6px;border-radius:6px;background:rgba(120,120,128,0.1);color:#8e8e93;font-size:12px;font-weight:600;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;}
body.shell2 .kb2-qadd{padding:9px 10px;margin-top:6px;border-radius:10px;color:#8e8e93;font-weight:500;transition:background .15s,color .15s;}
body.shell2 .kb2-qadd:hover{background:rgba(120,120,128,0.08);color:#007AFF;}
body.shell2 .kb2-qadd svg{display:inline;}

/* ── Итерация 3: трёхслойка и плотность ── */
/* фон темнее → колонка серая → карточка белая (как у Trello) */
body.shell2 .kb-island{background:#f1f0f5;border:0.5px solid rgba(60,60,67,0.06);box-shadow:0 1px 3px rgba(0,0,0,0.04);}
body.shell2 .kb2-card{padding:10px 12px;}
/* заголовок колонки — заметно отличается от текста карточек */
body.shell2 .kb2-colttl{font-size:13px!important;font-weight:700!important;color:#3c3c43!important;letter-spacing:.2px;}
/* пустая колонка обнимает контент, а не торчит ящиком */
body.shell2 [data-col]{min-height:24px!important;}
/* карточка цели: папка-иконка не нужна */
body.shell2 .kb2-gfold{display:none!important;}

/* тонкие ненавязчивые скроллбары */
body.shell2 .kb-scroll::-webkit-scrollbar{height:6px;}
body.shell2 .kb-scroll::-webkit-scrollbar-thumb{background:rgba(120,120,128,0.18);border-radius:3px;}
body.shell2 .kb-scroll::-webkit-scrollbar-thumb:hover{background:rgba(120,120,128,0.35);}
body.shell2 .inbox-panel-list::-webkit-scrollbar,body.shell2 #aiChatMessages::-webkit-scrollbar{width:6px;}
body.shell2 .inbox-panel-list::-webkit-scrollbar-thumb,body.shell2 #aiChatMessages::-webkit-scrollbar-thumb{background:rgba(120,120,128,0.18);border-radius:3px;}

/* единая сетка дока: всё по 16px */
body.shell2 .ip-quick-add{padding:0 16px 10px;}
body.shell2 .ip-board-link{padding:2px 16px 10px;font-size:13px;}
body.shell2 .inbox-panel-list{padding:0 8px 16px;}

/* ── Итерация 4: воздух и ритм отступов ── */
body.shell2 .kb-scroll{padding:16px 20px 20px;}
body.shell2 .kb-island{padding:10px 10px 12px;}
body.shell2 .kb2-colhdr{padding:4px 6px 10px!important;margin-bottom:4px!important;}
body.shell2 .kb-tb{padding:18px 24px 14px;}
/* прогресс-бар цели не липнет к краю карточки */
body.shell2 .kb2-tickbar{margin:8px 0 2px;}
body.shell2 .kb2-card:has(.kb2-tickbar){padding-bottom:12px;}

/* ── Бейдж версии беты: видно, какая версия реально загружена ── */
body.shell2::after{content:'v11.1';position:fixed;left:10px;bottom:6px;z-index:9999;font-size:10px;font-weight:700;color:#8e8e93;background:rgba(255,255,255,0.85);border:0.5px solid rgba(60,60,67,0.12);border-radius:6px;padding:2px 7px;pointer-events:none;}

/* ── Итерация 6: цвет и жизнь ── */
/* фон доски — холодный сине-лавандовый тон вместо мёртвого серого */
body.shell2 .kb-scroll{background:linear-gradient(180deg,#e7e9f4,#dbdfee);}
/* сайдбар: нормальная иконка вместо эмодзи-жука */
body.shell2 .nb-bug-emoji{display:none;}
body.shell2 .nb-bug-svg{display:block!important;width:20px;height:20px;}

/* ── Итерация 7: ВОЗДУХ И ЕДИНАЯ СЕТКА ──
   Отступы доски/колонок заданы инлайн из JS — перекрываем с !important,
   иначе правки молча не применяются (причина «нет воздуха» в бете 4-6) */
/* одна левая линия 24px: заголовок, колонки; верх доски дышит */
body.shell2 .kb-scroll{padding:8px 24px 24px!important;}
body.shell2 .kb-tb{padding:20px 24px 16px;}
/* колонка: нормальные внутренние поля */
body.shell2 .kb-island{padding:10px 10px 14px!important;}
body.shell2 .kb2-colhdr{padding:4px 6px 12px!important;}
/* карточка: контент не липнет к краям */
body.shell2 .kb2-card{padding:12px 14px;}
body.shell2 .kb2-name{margin-bottom:2px;}
body.shell2 .kb2-meta{margin-top:8px;}
body.shell2 .kb2-tickbar{margin:10px 0 2px;}
body.shell2 .kb2-card:has(.kb2-tickbar){padding-bottom:13px;}
/* пустая колонка: без висящей дыры между шапкой и «+ Карточка» */
body.shell2 [data-col]{min-height:8px!important;}
/* док начинается на одной верхней линии с заголовком доски */
body.shell2 #rightDock{padding:20px 12px 16px 0;}
/* ритм Входящих: вертикальный шаг 12px */
body.shell2 .ip-title-row{padding:16px 16px 10px;}
body.shell2 .ip-tabs{margin:0 16px 12px;}
body.shell2 .ip-board-link{padding:0 16px 10px;}
body.shell2 .ip-quick-add{padding:0 16px 12px;}

/* ── Итерация 8: структура — док как продолжение доски ── */
/* тот же фон, верх панелей на одной линии с колонками */
body.shell2 #rightDock{background:linear-gradient(180deg,#e7e9f4,#dbdfee);padding:92px 12px 16px 4px;gap:12px;}
/* поповеры (меню колонки и т.п.) — в языке островов */
body.shell2 .kb2-pop{border:0.5px solid rgba(60,60,67,0.1)!important;border-radius:12px!important;box-shadow:0 12px 32px rgba(0,0,0,0.14)!important;background:rgba(255,255,255,0.98)!important;}
body.shell2 .kb2-pop>div{border-radius:8px;transition:background .12s;}
body.shell2 .kb2-pop>div:hover{background:rgba(120,120,128,0.08);}

/* ════════════════ V11 — «Рабочий стол из модулей» (структура нового Trello) ════════════════ */
/* подписи сайдбара вне беты не существуют визуально */
.sb2lbl{display:none;}
.sb2-sec,.sb2-bd{display:none;}

/* ── Белая шапка ── */
body.shell2 #betaTopbar{display:flex;align-items:center;gap:12px;height:56px;padding:0 16px;background:#fff;
  box-shadow:0 1px 0 rgba(9,30,66,.08);position:relative;z-index:45;}
body.shell2 .bt-logo{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 8px;border-radius:8px;}
body.shell2 .bt-logo:hover{background:rgba(9,30,66,.05);}
body.shell2 .bt-dot{width:26px;height:26px;border-radius:7px;background:#0C66E4;color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;}
body.shell2 .bt-logo b{font-size:16px;font-weight:800;color:#0C66E4;}
body.shell2 .bt-search{flex:1;max-width:560px;display:flex;align-items:center;gap:9px;height:38px;padding:0 14px;
  border:1px solid rgba(9,30,66,.16);border-radius:9px;color:#5E6C84;font-size:14px;cursor:text;transition:border-color .15s;}
body.shell2 .bt-search:hover{border-color:#0C66E4;}
body.shell2 .bt-create{height:38px;padding:0 18px;border:none;border-radius:9px;background:#0C66E4;color:#fff;
  font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,transform .06s;}
body.shell2 .bt-create:hover{background:#0a56c2;}
body.shell2 .bt-create:active{transform:scale(.97);}
body.shell2 .bt-sp{flex:1;}
body.shell2 .bt-ic{width:36px;height:36px;border-radius:9px;border:none;background:transparent;cursor:pointer;
  display:flex;align-items:center;justify-content:center;color:#5E6C84;transition:background .15s;}
body.shell2 .bt-ic:hover{background:rgba(9,30,66,.06);}
body.shell2 .bt-ava{width:32px;height:32px;border-radius:50%;background:#E77E23;color:#fff;font-size:12px;font-weight:800;
  display:flex;align-items:center;justify-content:center;cursor:pointer;}

/* ── Тёмный сайдбар-аккордеон ── */
body.shell2 #sidebar{background:#1E2A47;border-right:none;width:56px;transition:width .18s ease;overflow:hidden;
  white-space:nowrap;z-index:44;padding:10px 8px 12px;}
body.shell2 #sidebar:hover{width:230px;}
body.shell2 .nb{width:100%;height:40px;flex-direction:row;justify-content:flex-start;gap:12px;padding:0 10px;border-radius:10px;color:rgba(255,255,255,.75);}
body.shell2 .nb .nb-svg{opacity:1;width:19px;height:19px;flex-shrink:0;}
body.shell2 .nb:hover{background:rgba(255,255,255,.1);color:#fff;}
body.shell2 .nb.on{background:rgba(255,255,255,.18);color:#fff;}
body.shell2 .nb .sb2lbl,body.shell2 .sb2lbl{display:inline;opacity:0;transition:opacity .15s .05s;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;}
body.shell2 #sidebar:hover .sb2lbl{opacity:1;}
body.shell2 #sbSortable{width:100%;align-items:stretch;}
body.shell2 .nb.sb-avatar{width:100%;height:auto;padding:4px 6px;margin-bottom:10px;justify-content:flex-start;}
body.shell2 #nbInboxBadge{background:#FF5C5C;}
body.shell2 .sb2-sec{display:block;opacity:0;transition:opacity .15s .05s;padding:14px 10px 6px;color:rgba(255,255,255,.5);
  font-size:10.5px;font-weight:800;letter-spacing:.8px;}
body.shell2 #sidebar:hover .sb2-sec{opacity:1;}
body.shell2 .sb2-bd{display:flex;height:34px;border-radius:9px;align-items:center;gap:10px;padding:0 10px;cursor:pointer;
  color:rgba(255,255,255,.8);opacity:0;transition:opacity .15s .05s,background .15s;}
body.shell2 #sidebar:hover .sb2-bd{opacity:1;}
body.shell2 .sb2-bd:hover{background:rgba(255,255,255,.1);color:#fff;}
body.shell2 .sb2-bd.on{background:rgba(255,255,255,.16);color:#fff;}
body.shell2 .sb2-sq{width:16px;height:16px;border-radius:5px;flex-shrink:0;}
body.shell2 .sb2-bdname{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;}

/* ── Раскладка: док СЛЕВА от контента, рейл спрятан ── */
body.shell2 #app{display:flex;height:calc(100% - 56px);}
body.shell2 #sidebar{order:0;}
body.shell2 #rightDock{order:1;background:transparent;padding:12px 0 14px 12px;width:340px;}
body.shell2 #content-col{order:2;}
body.shell2 #rightRail{display:none!important;}

/* ── Модули дока: светло-синие карты ── */
body.shell2 #rightDock #inboxPanel{background:#EAF1FB;border:none;border-radius:16px;box-shadow:0 1px 3px rgba(9,30,66,.12);}
body.shell2 #aiDockSlot{border:none;border-radius:16px;box-shadow:0 1px 3px rgba(9,30,66,.12);}
body.shell2 #aiDockSlot #aiCoachOverlay{background:#EAF1FB!important;}

/* ── Доска-модуль: цвет внутри модуля, белый холст вокруг ── */
body.shell2 #s-kanban{background:#fff;padding:12px 14px 14px 2px;}
body.shell2 .kb-tb{background:linear-gradient(160deg,#DDE9FB,#D3E2F8);border-radius:16px 16px 0 0;
  margin:0;padding:14px 18px 10px!important;}
body.shell2 #kbBoardTitle{font-size:18px!important;}
body.shell2 .kb-scroll{background:linear-gradient(200deg,#D3E2F8,#CFE0F8)!important;border-radius:0 0 16px 16px;
  padding:4px 16px 16px!important;}
body.shell2 .kb-island{background:#F1F2F4;border:none;box-shadow:0 1px 2px rgba(9,30,66,.12);border-radius:12px;}
body.shell2 .kb2-card{border:none;box-shadow:0 1px 1px rgba(9,30,66,.2),0 0 1px rgba(9,30,66,.2);border-radius:9px;}
body.shell2 .kb2-card:hover{box-shadow:0 0 0 2px #579DFF;transform:translateY(-1px);}
body.shell2 .kb-tbic{background:rgba(255,255,255,.55)!important;border-radius:8px!important;}
body.shell2 .kb-tbic:hover{background:rgba(255,255,255,.9)!important;}
