/* Система 416 — тема DesignCode UI (Glass, светлая/тёмная).
   Подключается в base.html ПОСЛЕДНЕЙ, после style.css и theme-citadel.css:
   переопределяет переменные и внешний вид общих классов, разметку страниц не трогает. */

:root{
  --dc-blue:rgb(0,122,255);--dc-blue-hover:rgb(0,51,107);--dc-blue-400:rgb(51,149,255);
  --dc-bg:rgb(242,243,250);
  --dc-glass:rgba(255,255,255,.6);--dc-glass-2:rgba(255,255,255,.1);
  --dc-border:rgba(255,255,255,.5);--dc-divider:rgba(0,0,0,.1);
  --dc-fg:#000;--dc-fg-2:rgba(0,0,0,.7);--dc-fg-3:rgba(0,0,0,.5);
  --dc-shadow:inset 0 0 0 1px var(--dc-border),0 1px 0 rgba(0,0,0,.05),0 4px 4px rgba(0,0,0,.05),0 10px 10px rgba(0,0,0,.1);
  --dc-shadow-sm:inset 0 0 0 1px var(--dc-border),0 1px 0 rgba(0,0,0,.05),0 4px 4px rgba(0,0,0,.05);
  --dc-blur:blur(20px);
  --dc-btn-h:32px;

  /* переменные приложения → DesignCode */
  --bg:var(--dc-bg);--surface:var(--dc-glass);--surface-subdued:rgba(255,255,255,.35);
  --border:var(--dc-divider);--border-strong:rgba(0,0,0,.18);
  --text:var(--dc-fg);--text-heading:var(--dc-fg);--text-muted:var(--dc-fg-2);--text-faint:var(--dc-fg-3);
  --primary:var(--dc-blue);--primary-dark:rgb(0,87,181);--primary-soft:rgb(230,242,255);--primary-soft-2:rgba(0,122,255,.06);
  --success:rgb(52,199,89);--success-text:rgb(37,141,63);--success-soft:rgb(235,249,238);
  --warning:rgb(255,149,0);--warning-text:rgb(181,106,0);--warning-soft:rgb(255,244,230);
  --danger:rgb(255,59,48);--danger-text:rgb(181,42,34);--danger-soft:rgb(255,235,234);
  --risk:rgb(255,149,0);--risk-text:rgb(140,82,0);--risk-soft:rgb(255,222,176);
  --radius:10px;--radius-sm:8px;
  --shadow-xs:var(--dc-shadow-sm);--shadow-s:var(--dc-shadow);
}
html[data-theme="dark"]{
  --dc-bg:rgb(6,7,21);--dc-glass:rgba(0,0,0,.6);--dc-glass-2:rgba(255,255,255,.06);
  --dc-border:rgba(255,255,255,.1);--dc-divider:rgba(255,255,255,.1);
  --dc-fg:#fff;--dc-fg-2:rgba(255,255,255,.7);--dc-fg-3:rgba(255,255,255,.5);
  --dc-shadow:inset 0 0 0 1px var(--dc-border),0 30px 60px rgba(0,0,0,.5);
  --dc-shadow-sm:inset 0 0 0 1px var(--dc-border),0 10px 30px rgba(0,0,0,.35);
  --dc-blue:rgb(51,149,255);--dc-blue-hover:rgb(0,67,140);
  --surface-subdued:rgba(255,255,255,.04);--border-strong:rgba(255,255,255,.2);
  --primary-dark:rgb(138,194,255);--primary-soft:rgba(0,122,255,.18);--primary-soft-2:rgba(0,122,255,.1);
  --success-text:rgb(162,229,179);--success-soft:rgba(52,199,89,.18);
  --warning-text:rgb(255,206,138);--warning-soft:rgba(255,149,0,.18);
  --danger-text:rgb(255,165,160);--danger-soft:rgba(255,59,48,.18);
  --risk-text:rgb(255,206,138);--risk-soft:rgba(255,149,0,.18);
  color-scheme:dark;
}

/* фон: мягкие размытые пятна */
body{background:var(--dc-bg);color:var(--dc-fg);transition:background .3s,color .3s}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(560px 560px at 0% 0%,rgba(84,166,255,.45),transparent 70%),radial-gradient(520px 520px at 100% 30%,rgba(201,139,233,.4),transparent 70%),radial-gradient(480px 480px at 45% 110%,rgba(118,200,238,.4),transparent 70%)}
html[data-theme="dark"] body::before{background:radial-gradient(560px 560px at 0% 0%,rgba(0,87,181,.35),transparent 70%),radial-gradient(520px 520px at 100% 30%,rgba(62,61,152,.35),transparent 70%),radial-gradient(480px 480px at 45% 110%,rgba(96,45,122,.35),transparent 70%)}
a{color:var(--dc-blue)}a:hover{color:var(--dc-blue-hover);text-decoration:none}
html[data-theme="dark"] a:hover{color:rgb(138,194,255)}
h1,h2,h3{letter-spacing:-.01em}

/* общая стеклянная поверхность */
.layout .sidebar,.layout .topbar,.layout .card,.layout .metric,.project-card,.layout .project-top-nav,
.agent-chat-pane,.notif-bell-dropdown,.modal-panel,.login-card,.portfolio-filter form,.upload-menu-list,.version-popup{
  background:var(--dc-glass)!important;backdrop-filter:var(--dc-blur);-webkit-backdrop-filter:var(--dc-blur);
  border:0!important;border-radius:10px!important;box-shadow:var(--dc-shadow)!important;color:var(--dc-fg)}

/* раскладка */
.layout{gap:12px;padding:12px}
.layout .content{background:transparent!important;padding:12px 4px 40px}
.layout .main{gap:12px}

/* боковое меню */
.layout .sidebar{padding:16px 10px!important;position:sticky;top:12px;height:calc(100vh - 24px);align-self:flex-start}
.layout .sidebar .brand,.layout .sidebar .brand-logo-citadel{color:var(--dc-fg)!important;letter-spacing:0!important;font-size:16px!important;font-weight:600}
.layout .sidebar .brand-logo-citadel{width:28px!important;height:28px!important;border-radius:8px!important;background:var(--dc-blue)!important;color:#fff!important;display:inline-grid!important;place-items:center;font-size:14px!important;margin-right:8px}
.layout .sidebar .brand-row{border-color:var(--dc-divider)!important}
.layout .sidebar .section-label{color:var(--dc-fg-3);font-size:12px;font-weight:500;letter-spacing:.04em}
.layout .sidebar nav a{min-height:32px!important;padding:6px 10px;border-radius:8px!important;color:var(--dc-fg-2)!important;font-weight:500;font-size:13px}
.layout .sidebar nav a:hover{background:var(--dc-glass-2)!important;color:var(--dc-fg)!important}
.layout .sidebar nav a.active{background:var(--dc-glass)!important;color:var(--dc-fg)!important;box-shadow:var(--dc-shadow-sm);font-weight:600}
.layout .sidebar nav a.active::before{display:none}
.layout .sidebar .brand-org{background:var(--dc-glass-2)!important;border-color:var(--dc-divider)!important;border-radius:8px}

/* шапка */
.layout .topbar{min-height:0!important;padding:8px 12px!important;position:static}
.layout .topbar h3{font-size:16px;font-weight:600}
.user-avatar{background:linear-gradient(180deg,rgb(51,149,255),rgb(88,86,214))!important;color:#fff!important;border-radius:50%}

/* кнопки: единая высота 32px, без транслейтов */
.btn,.btn.small,.btn-icon,.agent-toggle-btn,.agent-conv-new-btn,.agent-attach-btn,.theme-toggle-btn{
  height:var(--dc-btn-h)!important;min-height:var(--dc-btn-h);display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:0 16px;border-radius:8px!important;font:500 13px/20px var(--font-body);white-space:nowrap;transform:none!important;cursor:pointer}
.btn.small{padding:0 12px;font-size:13px}
.btn{background:var(--dc-blue)!important;color:#fff!important;border:0!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 1px 0 rgba(0,0,0,.05),0 4px 4px rgba(0,0,0,.05)!important}
.btn:hover{background:var(--dc-blue-hover)!important;color:#fff!important}
.btn:active{transform:scale(.97)!important}
.btn.secondary,.btn-icon,.agent-toggle-btn,.agent-conv-new-btn,.agent-attach-btn,.theme-toggle-btn,.btn.secondary.toolbar-btn-solid{
  background:var(--dc-glass)!important;color:var(--dc-fg)!important;border:0!important;backdrop-filter:var(--dc-blur);box-shadow:var(--dc-shadow-sm)!important}
.btn.secondary:hover,.btn-icon:hover,.agent-toggle-btn:hover,.agent-conv-new-btn:hover,.agent-attach-btn:hover,.theme-toggle-btn:hover{background:var(--dc-glass-2)!important;color:var(--dc-fg)!important}
.btn.secondary.active{box-shadow:inset 0 0 0 1px var(--dc-blue)!important;color:var(--dc-blue)!important}
.btn-icon,.theme-toggle-btn{width:var(--dc-btn-h);padding:0}
/* значок кнопки темы: луна в светлой (перейти в тёмную), солнце в тёмной */
.theme-toggle-btn .ico-sun,html[data-theme="dark"] .theme-toggle-btn .ico-moon{display:none}
html[data-theme="dark"] .theme-toggle-btn .ico-sun{display:block}

/* плашки */
.badge{border-radius:6px!important;padding:2px 8px;font-size:12px;line-height:18px;font-weight:500;background:var(--dc-glass-2)!important;color:var(--dc-fg-2)!important;box-shadow:inset 0 0 0 1px var(--dc-divider)}
.badge.primary{background:var(--primary-soft)!important;color:var(--primary-dark)!important;box-shadow:none}
.badge.success{background:var(--success-soft)!important;color:var(--success-text)!important;box-shadow:none}
.badge.warning{background:var(--warning-soft)!important;color:var(--warning-text)!important;box-shadow:none}
.badge.danger{background:var(--danger-soft)!important;color:var(--danger-text)!important;box-shadow:none}

/* карточки и показатели */
.layout .card{padding:20px}
.layout .metric{padding:20px!important}
.metric .label{font-size:13px!important;text-transform:none!important;letter-spacing:0!important;font-weight:500!important;color:var(--dc-fg-2)!important}
.metric .value{font-size:30px!important;line-height:36px;font-weight:600!important;color:var(--dc-fg)!important}
.panel-title .text{font-weight:600}
.panel-title .icon{width:28px;height:28px;border-radius:8px;display:inline-grid;place-items:center;background:var(--dc-glass-2);box-shadow:inset 0 0 0 1px var(--dc-divider)}

/* подразделы (.tabs) — сегменты в капсуле */
.layout .tabs{display:flex;flex-wrap:wrap;gap:2px;width:fit-content;max-width:100%;padding:4px;border:0!important;border-radius:30px;background:var(--dc-glass-2);box-shadow:inset 0 0 0 1px var(--dc-divider);margin-bottom:16px}
.layout .tabs a{padding:6px 14px;border:0!important;border-radius:30px;margin:0!important;color:var(--dc-fg-2);font-weight:500;font-size:13px;line-height:20px}
.layout .tabs a:hover{color:var(--dc-fg)}
.layout .tabs a.active{background:#fff;color:#000!important;box-shadow:0 1px 0 rgba(0,0,0,.05),0 4px 4px rgba(0,0,0,.05)}
html[data-theme="dark"] .layout .tabs a.active{background:rgba(255,255,255,.14);color:#fff!important}

/* таблицы */
table{font-size:13px}
.layout table thead th,.layout .table-head{background:transparent!important;color:var(--dc-fg-3)!important;font-size:12px;font-weight:500;text-transform:none;letter-spacing:0}
th,td,.layout table td{border-color:var(--dc-divider)!important;padding:12px}
tr:hover td{background:var(--dc-glass-2)!important}

/* поля */
input,select,textarea{border:0!important;border-radius:8px!important;background:var(--dc-glass-2)!important;color:var(--dc-fg)!important;box-shadow:inset 0 0 0 1px var(--dc-divider)!important;font:400 14px/21px var(--font-body)}
input:focus,select:focus,textarea:focus{outline:0;box-shadow:inset 0 0 0 1px var(--dc-blue),0 0 0 3px rgba(0,122,255,.15)!important}
form label{text-transform:none!important;letter-spacing:0!important;font-size:13px!important;font-weight:500!important;color:var(--dc-fg-2)!important}
select option{background:var(--dc-bg);color:var(--dc-fg)}

/* сообщения */
.flash{border-radius:10px}

/* шапка объекта */
.project-hero{border-radius:10px;min-height:240px!important;box-shadow:0 10px 10px rgba(0,0,0,.1)}
.project-hero-bottom h1{font-size:40px!important;line-height:48px}
.project-hero-actions .notif-goto-btn,.project-hero .agent-toggle-btn,.project-hero .theme-toggle-btn{background:rgba(255,255,255,.2)!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)!important}
.project-weather{background:rgba(255,255,255,.2)!important;backdrop-filter:var(--dc-blur);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);font-size:13px!important;font-weight:500!important;padding:4px 12px!important}

/* вид меню 6: карточки разделов вместо верхней навигации */
.layout .project-top-nav{display:none!important}
.dc-section-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:16px}
.dc-section-card{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:10px;background:var(--dc-glass);backdrop-filter:var(--dc-blur);box-shadow:var(--dc-shadow);color:var(--dc-fg)!important;transition:transform .2s}
.dc-section-card:hover{transform:translateY(-2px);text-decoration:none}
.dc-section-card b{font-size:15px;font-weight:600}
.dc-section-card span{font-size:12px;line-height:17px;color:var(--dc-fg-3)}
.dc-section-head{display:flex;align-items:center;gap:12px;margin:0 0 4px}
.dc-section-head h2{margin:0;font-size:20px;line-height:28px;font-weight:600}

/* ассистент */
.agent-chat-pane{margin:0}
.agent-chat-header{border-color:var(--dc-divider)!important;font-weight:600}
.agent-resize-handle{background:transparent!important;width:12px!important;cursor:col-resize;position:relative}
.agent-resize-handle::after{content:"";position:absolute;left:4px;top:50%;width:4px;height:48px;margin-top:-24px;border-radius:2px;background:var(--dc-fg-3);opacity:.35;transition:opacity .2s,height .2s}
.agent-resize-handle:hover::after{opacity:.8;background:var(--dc-blue);height:72px;margin-top:-36px}
.agent-chat-form{gap:8px}
.agent-attach-btn{width:auto!important;padding:0 12px!important;font-size:13px!important}
.chat-message.user{background:var(--dc-blue)!important}
.chat-message.assistant{background:var(--dc-glass-2)!important;border:0!important;box-shadow:inset 0 0 0 1px var(--dc-divider)}

/* уведомления */
.notif-bell{border-radius:8px}
.notif-bell-badge{background:var(--danger)!important}
.notif-bell-item:hover{background:var(--dc-glass-2)!important}

/* карточки объектов в портфеле */
.project-card-head,.project-card-body,.project-card-foot{background:transparent!important;color:var(--dc-fg)!important;border-color:var(--dc-divider)!important}
.project-card-head h3,.project-card-address,.pc-stat .v,.pc-stat .l{color:var(--dc-fg)!important}
.project-card-status{background:var(--primary-soft)!important;color:var(--primary-dark)!important}

/* вход */
.login-wrap::before{display:none}
.login-card{padding:32px!important}

/* шапка: заголовок и ассистент не сжимаются панелью пользователя */
.layout .topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}
.layout .topbar .topbar-title-row{flex:1 1 auto;min-width:max-content;gap:12px}
.layout .topbar .user-info{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.agent-toggle-btn{margin-left:0!important}
.portfolio-kpis .metric .value{font-size:24px!important;line-height:30px}

/* ===== соответствие макету ===== */
/* шапка в одну строку, как в макете */
.layout .topbar{flex-wrap:nowrap}
.layout .topbar .topbar-title-row{min-width:0;flex:0 1 auto}
.layout .topbar .user-info{flex-wrap:nowrap;justify-content:flex-end;font-size:13px}
.layout .topbar .user-info>span:not(.user-avatar):not(.badge){font-weight:500}
@media(max-width:1200px){.layout .topbar .user-info>span:not(.user-avatar),.project-hero-actions-row>span:not(.user-avatar){display:none}}
.user-avatar{width:32px!important;height:32px!important;display:inline-grid!important;place-items:center;font-size:12px!important;font-weight:600}

/* карточки объектов — сетка карточек с цветной шапкой, как в макете */
.layout .project-cards{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))!important;gap:12px!important}
.layout .project-card{display:flex!important;flex-direction:column!important;min-height:0!important;overflow:hidden;padding:0!important;color:var(--dc-fg)!important;transition:transform .2s}
.layout .project-card:hover{transform:translateY(-2px);text-decoration:none}
.layout .project-card-photo{order:-1;height:120px!important;margin:0!important;border-radius:0!important;border:0!important;background:linear-gradient(135deg,rgb(51,149,255),rgb(88,86,214))!important;position:relative}
.layout .project-card.status-planning .project-card-photo{background:linear-gradient(135deg,rgb(91,189,235),rgb(0,122,255))!important}
.layout .project-card.status-done .project-card-photo{background:linear-gradient(135deg,rgb(93,210,122),rgb(44,160,181))!important}
.layout .project-card.status-paused .project-card-photo{background:linear-gradient(135deg,rgb(255,184,84),rgb(255,98,89))!important}
.layout .project-card-photo img{width:100%;height:100%;object-fit:cover}
.layout .project-card-head{min-height:0!important;height:auto!important;padding:16px 20px 0!important;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.layout .project-card-head h3{margin:0;font-size:16px;line-height:22px;font-weight:600}
.layout .project-card-address{font-size:12px;color:var(--dc-fg-3)!important;margin-top:4px;display:flex;align-items:center;gap:4px}
.layout .project-card-status{flex-shrink:0;border-radius:6px!important;padding:2px 8px;font-size:12px;font-weight:500}
.layout .project-card-body{padding:12px 20px 20px!important;border:0!important}
.layout .project-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.layout .pc-chip{font-size:12px;padding:2px 8px;border-radius:6px;background:var(--dc-glass-2);box-shadow:inset 0 0 0 1px var(--dc-divider);color:var(--dc-fg-2)!important}
.layout .project-card-stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.layout .pc-stat{padding:10px 12px!important;border-radius:8px;background:var(--dc-glass-2)!important;box-shadow:inset 0 0 0 1px var(--dc-divider);border:0!important;text-align:left}
.layout .pc-stat .v{font-size:18px!important;font-weight:600;line-height:24px}
.layout .pc-stat .v.money{font-size:14px!important}
.layout .pc-stat .l{font-size:12px!important;text-transform:none!important;letter-spacing:0!important;color:var(--dc-fg-3)!important}
.layout .pc-stat.is-alert .v{color:var(--danger)!important}
.layout .pc-stat.is-hot .v{color:var(--warning-text)!important}

/* шапка объекта — как в макете */
.layout .main>.project-hero{margin:0}
.project-hero{padding:16px 20px 20px!important;background-color:rgb(0,111,232)}
.project-hero-left{flex-direction:row!important;align-items:center;gap:8px!important}
.project-hero-brand{height:32px;padding:0 12px;border-radius:8px;background:rgba(255,255,255,.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);font-size:13px!important;font-weight:500!important}
.project-hero-brand:hover{text-decoration:none!important;background:rgba(255,255,255,.3)}
.project-hero-brand .brand-logo-citadel{display:none!important}
.project-hero-msk-time{padding:2px 8px!important;border-radius:6px;background:rgba(255,255,255,.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);color:#fff!important;font-size:12px!important}
.project-hero-msk-time::before{content:"МСК ";}
.project-hero-actions-row{gap:8px!important;flex-wrap:nowrap!important;font-size:13px}
.project-hero-actions .user-avatar{background:rgba(255,255,255,.22)!important}
.project-hero-actions .badge,.project-hero-meta .badge{background:rgba(255,255,255,.2)!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)!important;border:0!important}
.project-hero-bottom h1{margin:0!important}
.project-hero-tagline{margin:4px 0 10px!important;font-size:14px!important}
.dc-project-nav{margin-top:0}

/* карточки разделов — с отступом, как в макете */
.dc-section-cards{margin:0 0 4px}
.dc-section-card{min-height:96px;justify-content:space-between}
.layout .content{padding-top:0}

.layout .project-card-photo{width:100%!important;max-width:none!important;align-self:stretch!important;grid-column:auto!important}
.layout .content h1,.layout .content h2,.layout .content h3{color:var(--dc-fg)!important}
.layout .content [style*="color:#111"],.layout .content [style*="color: #111"]{color:var(--dc-fg-2)!important}

/* ===== v3: вся система — сворачивание меню, ассистент, общие блоки всех страниц ===== */
:root{--border-soft:var(--dc-divider)}
/* сворачивание бокового меню (кнопка и логика — agent-workspace.js, класс .is-collapsed) */
.layout .sidebar{width:240px;flex-shrink:0;transition:width .2s,padding .2s}
.layout .sidebar .brand-row{padding-right:40px;border:0!important}
.sidebar-collapse-btn{position:absolute!important;top:16px!important;right:10px!important;width:32px!important;height:32px!important;border-radius:8px!important;border:0!important;
  background:var(--dc-glass)!important;color:var(--dc-fg)!important;box-shadow:var(--dc-shadow-sm)!important;font-size:0!important;transform:none!important}
.sidebar-collapse-btn::before{content:"";width:16px;height:16px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.2'%3E%3Crect x='1.5' y='2.5' width='13' height='11' rx='2'/%3E%3Cpath d='M6 2.5V13.5'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.2'%3E%3Crect x='1.5' y='2.5' width='13' height='11' rx='2'/%3E%3Cpath d='M6 2.5V13.5'/%3E%3C/svg%3E") center/contain no-repeat}
.sidebar-collapse-btn:hover{background:var(--dc-glass-2)!important}
.layout .sidebar.is-collapsed{width:64px!important;padding:16px 8px!important}
.layout .sidebar.is-collapsed .sidebar-collapse-btn{right:16px!important}
.layout .sidebar.is-collapsed .brand-row{margin-top:44px!important;padding-right:0;justify-content:center}
.layout .sidebar.is-collapsed .brand-logo-citadel{margin:0!important}
/* текст «Система 416» — голый текстовый узел рядом со значком; размер шрифта у .brand выше задан с !important,
   поэтому правило сворачивания из agent-workspace.css не срабатывало */
.layout .sidebar.is-collapsed .brand{font-size:0!important;gap:0}
.layout .sidebar.is-collapsed nav a{justify-content:center;padding:8px 0!important}
.layout .sidebar.is-collapsed .section-label{display:block!important;font-size:0;height:1px;padding:0;margin:10px 8px;background:var(--dc-divider)}

/* ассистент: стеклянная панель с отступами раскладки */
.agent-chat-pane{border:0!important;border-radius:10px!important}
.agent-chat-pane:not(.is-open){box-shadow:none!important;background:transparent!important}
.agent-chat-pane.is-open{width:360px;top:12px!important;height:calc(100vh - 24px)!important;min-width:280px}
.agent-chat-header{padding:14px 16px!important}
.agent-chat-toolbar{border:0!important;padding:8px 16px 0!important}
.agent-chat-form{border-top:1px solid var(--dc-divider)!important;padding:12px!important;flex-wrap:wrap}
.agent-chat-form textarea{flex:1 1 100%!important;order:-1}
.agent-chat-form .btn{margin-left:auto}
.agent-msg{border-radius:10px!important;font-size:13px}
.agent-msg-user{background:var(--dc-blue)!important;color:#fff!important}
.agent-msg-assistant{background:var(--dc-glass-2)!important;box-shadow:inset 0 0 0 1px var(--dc-divider);color:var(--dc-fg)}
.agent-msg-file{border:0!important;box-shadow:inset 0 0 0 1px var(--dc-divider);background:var(--primary-soft-2)!important}
.agent-preview-close{border-radius:8px!important}
.agent-chat-pane.is-open+.agent-resize-handle{width:12px!important;margin:0 -12px 0 0;position:sticky;top:12px;height:calc(100vh - 24px);align-self:flex-start;z-index:5}
.agent-resize-handle::after{top:50%!important;bottom:auto!important}
.agent-resize-handle.is-dragging::after{opacity:1;background:var(--dc-blue)!important;height:96px;margin-top:-48px}

/* карточки разделов объекта — иконка + цифра */
.dc-section-card .dc-ico{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--dc-glass-2);box-shadow:inset 0 0 0 1px var(--dc-divider);color:var(--dc-fg)}
.dc-section-card .dc-num{display:flex;align-items:baseline;gap:6px}
.dc-section-card .dc-num strong{font-size:24px;line-height:30px;font-weight:600;color:var(--dc-fg)}
.dc-section-head .dc-ico{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--dc-glass);box-shadow:var(--dc-shadow-sm)}

/* общие блоки страниц */
.layout .tabs{border-bottom:0!important}
.tree-row:hover{background:var(--dc-glass-2)!important}
.tree-row.is-selected{background:var(--primary-soft)!important}
.tree-list .tree-list .tree-row{background:transparent!important}
.empty-state{font-style:normal!important;color:var(--dc-fg-3)!important;font-size:13px}
.flash{border:0!important;box-shadow:inset 0 0 0 1px var(--dc-divider)}
.modal-overlay{background:rgba(6,7,21,.45)!important;backdrop-filter:blur(4px)}
.modal-panel{background:var(--dc-bg)!important}
html[data-theme="dark"] .modal-panel{background:rgb(18,19,32)!important}
.modal-header,.modal-footer{border-color:var(--dc-divider)!important}
.cal-cell{border-radius:8px!important;border-color:var(--dc-divider)!important;background:var(--dc-glass-2)}
.cal-cell:hover{background:var(--primary-soft-2)!important}
.cal-day-item{border-radius:4px}
.sched-track,.gantt-track{background:var(--dc-glass-2)!important;border-radius:6px!important}
.sched-bar,.gantt-bar,.sched-bar-fill,.gantt-bar-fill{border-radius:6px!important}
.kanban-col,.kanban-column{background:var(--dc-glass)!important;backdrop-filter:var(--dc-blur);border:0!important;border-radius:10px!important;box-shadow:var(--dc-shadow)}
.kanban-card{background:var(--dc-bg)!important;border-radius:8px!important;border-top:0!important;border-right:0!important;border-bottom:0!important;box-shadow:0 1px 0 rgba(0,0,0,.05),0 4px 4px rgba(0,0,0,.05)!important;color:var(--dc-fg)}
html[data-theme="dark"] .kanban-card{background:rgba(255,255,255,.06)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)!important}
.upload-zone,.dropzone,[class*="dropzone"]{border-color:var(--dc-divider)!important;border-radius:10px!important;background:var(--dc-glass-2)!important}
progress{accent-color:var(--dc-blue)}
input[type=checkbox],input[type=radio]{accent-color:var(--dc-blue);box-shadow:none!important}
input[type=file]{background:transparent!important;box-shadow:none!important;padding:0}
hr{border:0;border-top:1px solid var(--dc-divider)}
code,pre{background:var(--dc-glass-2);border-radius:6px}
/* инлайн-цвета из отдельных шаблонов */
.layout .content [style*="color:#111"]{color:var(--dc-fg)!important}
.layout .content [style*="background:#fafbfc"]{background:var(--dc-glass)!important}
.layout .content p[style*="color:#111"]{color:var(--dc-fg-2)!important}
/* страница входа */
.login-card{background:var(--dc-glass)!important;backdrop-filter:var(--dc-blur)}

/* ===== правки по макету 04.10: кнопки ===== */
/* 1) одинаковый размер кнопок в заголовках страниц и блоков (в макете — .h2) */
.ds-h2 .btn,.ds-h2 .btn.secondary,
.panel-title .btn,.panel-title .btn.secondary,
.dc-section-head .btn,.dc-section-head .btn.secondary{
  height:32px!important;padding:0 16px!important;font:500 13px/20px Inter,sans-serif!important;border-radius:8px!important;min-width:0}
/* 2) вторичные кнопки в светлой теме — заливка и обводка, чтобы не сливались с белой шапкой.
   Значения — переменными: светлые в :root, для тёмной темы — прежние (стекло темы), так
   тёмная тема не меняется. */
:root{--dc-sec-bg:rgba(20,30,70,.07);--dc-sec-bg-hover:rgba(20,30,70,.13);--dc-sec-ring:inset 0 0 0 1px rgba(20,30,70,.2);
  --dc-sec-ring-on:inset 0 0 0 1.5px var(--dc-blue);--dc-role-primary:var(--dc-fg-2)}
html[data-theme="dark"]{--dc-sec-bg:var(--dc-glass);--dc-sec-bg-hover:var(--dc-glass-2);--dc-sec-ring:var(--dc-shadow-sm);
  --dc-sec-ring-on:inset 0 0 0 1px var(--dc-blue);--dc-role-primary:var(--primary-dark)}
.btn.secondary,.btn.secondary.toolbar-btn-solid,
.topbar .agent-toggle-btn,.topbar .theme-toggle-btn{
  background:var(--dc-sec-bg)!important;color:var(--dc-fg)!important;box-shadow:var(--dc-sec-ring)!important}
.btn.secondary:hover,.topbar .agent-toggle-btn:hover,.topbar .theme-toggle-btn:hover{background:var(--dc-sec-bg-hover)!important}
.btn.secondary.active,.btn.secondary.on{box-shadow:var(--dc-sec-ring-on)!important}
/* опасные действия («Удалить») остаются красными */
.btn.secondary.ds-danger-text{color:var(--danger-text)!important}
/* исключение: кнопки поверх фото объекта остаются стеклянными (в обеих темах, как было) */
.project-hero .btn.secondary,.project-hero .agent-toggle-btn,.project-hero .theme-toggle-btn{
  background:rgba(255,255,255,.2)!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)!important}
.project-hero .btn.secondary:hover,.project-hero .agent-toggle-btn:hover,.project-hero .theme-toggle-btn:hover{background:rgba(255,255,255,.3)!important}
/* роль пользователя («администратор») в шапке — темнее в светлой теме, в тёмной как было */
.topbar .user-info .ds-urole.primary{color:var(--dc-role-primary)!important}

/* ===== дизайн-ревью 10.10.2026, этап 1: каркас ===== */
/* шапка: закреплена при прокрутке; справа три иконки — ассистент, уведомления, аватар */
.layout .topbar{position:sticky!important;top:12px;z-index:40;min-height:56px!important}
.layout .topbar .user-info{gap:8px}
.ds-icon-btn,.layout .topbar .notif-bell{width:36px!important;height:36px!important;padding:0!important;display:inline-grid!important;place-items:center;border-radius:8px!important}
.agent-toggle-btn.ds-icon-btn{font-size:0}
.ds-user-menu{position:relative}
.ds-user-menu-toggle{border:0;background:none;padding:0;cursor:pointer;border-radius:50%;display:grid;place-items:center}
.ds-user-menu-toggle .user-avatar{width:36px!important;height:36px!important;font-size:13px!important}
.ds-user-menu-toggle:focus-visible{outline:2px solid var(--dc-blue);outline-offset:2px}
.ds-user-menu-dropdown{display:none;position:absolute;right:0;top:calc(100% + 8px);min-width:240px;padding:6px;z-index:60;
  background:var(--dc-bg);border-radius:10px;box-shadow:var(--dc-shadow)}
html[data-theme="dark"] .ds-user-menu-dropdown{background:rgb(18,19,32)}
.ds-user-menu-dropdown.is-open{display:block}
.ds-user-menu-head{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:8px 10px 12px;margin-bottom:4px;border-bottom:1px solid var(--dc-divider)}
.ds-user-menu-head b{font-size:14px;font-weight:600;color:var(--dc-fg)}
.ds-user-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:none;
  color:var(--dc-fg)!important;font:500 13px/20px Inter,sans-serif;text-align:left;cursor:pointer;text-decoration:none!important}
.ds-user-menu-item:hover{background:var(--dc-sec-bg)}
.ds-user-menu-item svg{flex-shrink:0;color:var(--dc-fg-2)}
.ds-user-menu-item .ico-sun{display:none}
html[data-theme="dark"] .ds-user-menu-item .ico-moon{display:none}
html[data-theme="dark"] .ds-user-menu-item .ico-sun{display:inline}
.ds-user-menu-item.ds-logout{color:var(--danger-text)!important}
.ds-user-menu-item.ds-logout svg{color:var(--danger-text)}

/* левая панель: кнопка сворачивания — как до дизайн-ревью (12.10.2026, по просьбе
   пользователя): квадратная кнопка со значком панели в правом верхнем углу панели,
   правила выше в этом файле (.sidebar-collapse-btn). */

/* страница объекта: «назад», карточка объекта, название раздела */
.ds-back,.tw-back{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;color:var(--dc-fg-2)!important;font-size:13px;font-weight:500;text-decoration:none!important}
.ds-back:hover,.tw-back:hover{color:var(--dc-fg)!important}
.dc-project-nav{display:flex;flex-direction:column;gap:12px;padding:0 4px}
.dc-project-nav .project-hero{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:200px!important;padding:20px 24px!important;
  border-radius:10px;background-size:cover;background-position:center;color:#fff;box-shadow:var(--dc-shadow)}
.dc-project-nav .project-hero-bottom{padding-right:140px}
.dc-project-nav .project-hero-bottom h1{font-size:32px!important;line-height:40px;text-shadow:0 1px 12px rgba(0,0,0,.35)}
.project-hero-status{position:absolute;top:16px;right:16px;border-radius:6px!important;padding:2px 8px!important;font-size:12px!important;font-weight:500;
  background:rgba(255,255,255,.9)!important;color:#000!important;border:0!important;box-shadow:none!important}
.dc-project-nav .project-weather{padding:0!important;background:none!important;backdrop-filter:none;box-shadow:none;font-size:13px;font-weight:500;color:rgba(255,255,255,.92);gap:5px}
.dc-project-nav .project-weather::before{content:"·";color:rgba(255,255,255,.5);margin-right:2px}
.dc-project-nav .project-hero-meta{gap:12px}
.dc-section-head{margin:4px 0 0}
.dc-section-cards{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))!important}
.layout .dc-project-nav+.content{padding-top:16px}
@media(max-width:700px){.dc-project-nav .project-hero-bottom{padding-right:0}.dc-project-nav .project-hero-bottom h1{font-size:22px!important;line-height:28px}.dc-project-nav .project-hero{padding-top:48px!important}}
.layout .content>.ds-back{margin:4px 4px 0}

/* ===== дизайн-ревью, этап 2: выпадающие списки (js/ds_select.js) ===== */
.ds-select{position:relative;display:inline-block;vertical-align:middle;max-width:100%;min-width:0;box-sizing:border-box}
.ds-select-native{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;
  opacity:0!important;pointer-events:none!important;z-index:-1}
.ds-select-btn{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%;min-height:38px;padding:8px 12px;margin:0;
  border:0;border-radius:8px;background:var(--dc-glass-2);box-shadow:inset 0 0 0 1px var(--dc-divider);
  color:var(--dc-fg);font:400 13.5px/20px var(--font-body);text-align:left;cursor:pointer;box-sizing:border-box;transition:box-shadow .15s,background .15s}
.ds-select-btn:hover{box-shadow:inset 0 0 0 1px var(--border-strong)}
.ds-select-btn:focus-visible,.ds-select.is-open .ds-select-btn{outline:none;box-shadow:inset 0 0 0 1px var(--dc-blue),0 0 0 3px var(--primary-soft-2)}
.ds-select-btn:disabled{cursor:default;opacity:.55}
.ds-select-text,.ds-select-sizer{grid-area:1/1;min-width:0}
.ds-select-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ds-select.is-placeholder .ds-select-text{color:var(--dc-fg-3)}
.ds-select-sizer{display:grid;visibility:hidden;height:0;overflow:hidden;white-space:nowrap}
.ds-select-sizer>span{grid-area:1/1}
.ds-select-chev{grid-area:1/2;width:12px;height:12px;margin-left:10px;background:currentColor;opacity:.6;transition:transform .15s;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 4.5L6 8L9.5 4.5'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 4.5L6 8L9.5 4.5'/%3E%3C/svg%3E") center/contain no-repeat}
.ds-select.is-open .ds-select-chev{transform:rotate(180deg)}
/* список — поверх страницы, ширина как у поля, длинное переносится, остальное — прокрутка */
.ds-select-list{position:fixed;z-index:1000;display:flex;flex-direction:column;padding:6px;box-sizing:border-box;overflow:hidden;
  background:var(--dc-bg);border-radius:10px;box-shadow:var(--dc-shadow);color:var(--dc-fg);font:400 13.5px/19px var(--font-body)}
.ds-select-list.is-dark{background:rgb(18,19,32)}
.ds-select-search{flex-shrink:0;width:100%;margin:0 0 6px;padding:7px 10px!important;font-size:13px!important}
.ds-select-items{overflow-y:auto;min-height:0;overscroll-behavior:contain}
.ds-select-group{padding:8px 10px 4px;font-size:11.5px;font-weight:600;color:var(--dc-fg-3);text-transform:uppercase;letter-spacing:.03em}
.ds-select-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;
  white-space:normal;overflow-wrap:anywhere}
.ds-select-item:hover,.ds-select-item.is-active{background:var(--dc-sec-bg)}
.ds-select-item.is-selected{font-weight:600}
.ds-select-item.is-selected::after{content:"";flex-shrink:0;width:14px;height:14px;margin-top:2px;background:var(--dc-blue);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 7.5L5.5 10.5L11.5 3.5'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 7.5L5.5 10.5L11.5 3.5'/%3E%3C/svg%3E") center/contain no-repeat}
.ds-select-item.is-disabled{opacity:.45;cursor:default}
.ds-select-empty{padding:10px;color:var(--dc-fg-3)}

/* ===== дизайн-ревью, этап 3: «Все проекты» ===== */
.portfolio-tools{align-items:center!important}
.portfolio-filter form{left:0;right:auto!important;top:40px!important;min-width:220px!important;background:var(--dc-bg)!important}
html[data-theme="dark"] .portfolio-filter form{background:rgb(18,19,32)!important}
.portfolio-filter button{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px!important;font:400 13.5px/19px var(--font-body);color:var(--dc-fg)!important}
.portfolio-filter button:hover{background:var(--dc-sec-bg)!important}
.portfolio-filter button.is-selected{font-weight:600}
.portfolio-filter button.is-selected::after{content:"";flex-shrink:0;width:14px;height:14px;background:var(--dc-blue);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 7.5L5.5 10.5L11.5 3.5'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 7.5L5.5 10.5L11.5 3.5'/%3E%3C/svg%3E") center/contain no-repeat}

/* ===== кнопки «иконка + текст» (сводка объекта и др.) ===== */
.btn.ds-btn-ico{display:inline-flex!important;align-items:center;gap:6px}
.btn.ds-btn-ico svg{flex-shrink:0}
.ts-card .btn.ts-board,.summary-focus .btn.ts-board,.btn.ts-board{height:32px!important;padding:0 12px!important;font:500 13px/20px Inter,sans-serif!important;
  border:0!important;border-radius:8px!important;white-space:nowrap;filter:none!important}
/* стрелки месяца в календаре — обычные кнопки-иконки того же размера */
.es-month a{display:inline-grid!important;place-items:center;width:32px;height:32px;padding:0!important;border:0!important;border-radius:8px!important;
  background:var(--dc-sec-bg);box-shadow:var(--dc-sec-ring);font-size:18px!important;line-height:1;color:var(--dc-fg)!important}
.es-month a:hover{background:var(--dc-sec-bg-hover)}

/* ===== блоки добавления — всегда раскрыты (дизайн-ревью) ===== */
.layout .ds-add-block{margin-bottom:12px}
.ds-add-title{margin:0;font-size:15px!important;line-height:22px;font-weight:600}

/* ===== документация ПД/РД: кнопка «Создать категорию» ===== */
.documentation-category-add{position:relative;align-self:center;justify-self:start}
.documentation-category-add>summary{list-style:none}
.documentation-category-add>summary::-webkit-details-marker{display:none}
.documentation-category-add>form{position:absolute;top:calc(100% + 6px);right:0;z-index:20;width:300px;padding:12px!important;
  display:flex;flex-direction:column;gap:8px;background:var(--dc-bg);border-radius:10px;box-shadow:var(--dc-shadow)}
html[data-theme="dark"] .documentation-category-add>form{background:rgb(18,19,32)}
.documentation-category-add>form label{display:flex;flex-direction:column;gap:6px}
.documentation-category-add>form .btn{align-self:flex-start}

/* кнопка в строке с полями формы — той же высоты, что и поле */
.layout .content form[style*="display:flex"]:has(> .field) > .btn,
.layout .content form[style*="display:flex"]:has(> .field) > button.btn,
.layout .content form[style*="display: flex"]:has(> .field) > .btn{min-height:38px;height:auto!important}

/* пустое состояние внутри карточки — без своих больших отступов: отступы задаёт карточка */
.layout .card>.empty-state,.layout .ds-card>.empty-state{padding:0!important;margin:0!important}
.layout .card>*+.empty-state{margin-top:12px!important}
.ds-add-inline{margin:0 0 16px;padding:16px;border-radius:10px;background:var(--dc-glass-2);box-shadow:inset 0 0 0 1px var(--dc-divider)}
.layout .content form[style*="display:flex"]:has(> input:not([type=hidden]):not([type=file])) > .btn{min-height:38px;height:auto!important}
/* выбор файлов кнопкой (поле input скрыто) */
.ds-file-pick div>label{text-transform:none!important;letter-spacing:0!important;margin:0!important}
.ds-file-pick div>label.btn{font:500 13px/20px Inter,sans-serif!important;color:var(--dc-fg)!important;display:inline-flex;align-items:center;height:32px}
.ds-link,.ds-file-pick div>label.ds-link{color:var(--dc-blue)!important;font-size:13px!important;font-weight:500!important;cursor:pointer}
.ds-link:hover{text-decoration:underline}
.inline-row>.btn,.inline-row .btn{min-height:38px;height:auto!important}

/* ===== поле выбора файла (js/ds_file.js) ===== */
.ds-file{position:relative;display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:38px;max-width:100%}
.ds-file-native{position:absolute!important;left:0;top:0;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;padding:0!important;margin:0!important}
.ds-file .ds-file-btn{flex-shrink:0;height:32px!important;padding:0 14px!important;font:500 13px/20px Inter,sans-serif!important}
.ds-file-name{min-width:0;font-size:13px;color:var(--dc-fg-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.ds-file.has-file .ds-file-name{color:var(--dc-fg)}
.ds-file-clear{display:none;border:0;background:none;color:var(--dc-fg-3);font-size:18px;line-height:1;cursor:pointer;padding:0 4px}
.ds-file.has-file .ds-file-clear{display:inline-block}
.ds-file-clear:hover{color:var(--danger-text)}
.ds-file-preview{display:block;width:240px;height:150px;object-fit:cover;border-radius:10px;margin-top:10px;box-shadow:var(--dc-shadow-sm)}
.ds-file-preview[hidden]{display:none}

/* ===== формы: одинаковые отступы между полями, низ формы ===== */
.layout .content form .grid{row-gap:14px;margin-bottom:14px}
.layout .content form .grid>.field{margin-bottom:0}
.ds-form-wide{max-width:none;width:100%}
.ds-form-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding:16px 4px 0;border-top:1px solid var(--dc-divider)}
.ds-photo-current{display:flex;align-items:flex-end;gap:12px;margin:0 0 12px}
.ds-photo-current[hidden]{display:none}
.ds-photo-current img{display:block;width:240px;height:150px;object-fit:cover;border-radius:10px}
.layout .card>h3:first-child{margin-top:0}

/* ===== пользователи ===== */
.badge.ds-role,.ds-urole{box-shadow:none!important}
.badge.ds-role:not(.primary),.ds-urole:not(.primary){background:var(--dc-sec-bg)!important}
.ds-card-title{margin:0 0 8px!important;font-size:18px!important;line-height:26px;font-weight:600}
.ds-cert-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}

/* ===== список с несколькими вариантами (.ds-multi, исполнители задачи) ===== */
.ds-multi{position:relative;display:block}
.ds-multi.is-placeholder .ds-select-text{color:var(--dc-fg-3)}
.ds-multi.is-open .ds-select-chev{transform:rotate(180deg)}
.ds-multi-panel{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:50;display:flex;flex-direction:column;padding:6px;max-height:320px;
  background:var(--dc-bg);border-radius:10px;box-shadow:var(--dc-shadow)}
html[data-theme="dark"] .ds-multi-panel{background:rgb(18,19,32)}
.ds-multi-panel[hidden]{display:none}
.ds-multi-items{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;gap:0!important;max-height:none!important;overflow-y:auto;min-height:0}
.ds-multi-items label{display:flex!important;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:13.5px!important;font-weight:400!important;text-transform:none!important;letter-spacing:0!important;color:var(--dc-fg)!important;margin:0!important}
.ds-multi-items label:hover{background:var(--dc-sec-bg)}
.ds-multi-items label[hidden],.ds-multi-items label.ds-multi-miss{display:none!important}
.tw-field{margin-bottom:19px}
.tw-field-label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}

/* ===== «Мои задачи» (task_workspace.css) — под общий вид разделов ===== */
.layout .tw-workspace{max-width:none;margin:0;padding:0 0 40px;font-size:13.5px}
.layout .tw-narrow{max-width:none}
.tw-workspace>.ds-back{margin:4px 4px 0}
.tw-tabs.tabs{margin-bottom:16px!important}
.tw-tabs.tabs b{margin-left:6px;padding:0 6px;border-radius:6px;font-size:11px;font-weight:600;background:var(--primary-soft);color:var(--primary-dark)}
.tw-viewbar{padding:0 4px;margin:4px 0 16px!important;font-size:13px!important}
.tw-viewbar .tw-switch.tabs{margin:0!important;padding:4px;border-radius:30px;background:var(--dc-glass-2);box-shadow:inset 0 0 0 1px var(--dc-divider)}
.tw-viewbar .tw-switch.tabs a{padding:6px 14px;border-radius:30px;font:500 13px/20px Inter,sans-serif;color:var(--dc-fg-2);box-shadow:none}
.tw-viewbar .tw-switch.tabs a.active{background:#fff;color:#000!important;box-shadow:0 1px 0 rgba(0,0,0,.05),0 4px 4px rgba(0,0,0,.05)}
html[data-theme="dark"] .tw-viewbar .tw-switch.tabs a.active{background:rgba(255,255,255,.14);color:#fff!important}
.tw-filters{padding:0}
.tw-filters>a{font-size:13px!important;color:var(--dc-blue)!important}
.tw-workspace input,.tw-workspace textarea{border:0!important}
/* список задач — как таблица «Пользователи»: без обводки, с тенью; одна задача — со всеми скруглениями */
.tw-list{border-radius:10px;overflow:hidden;background:var(--dc-glass);backdrop-filter:var(--dc-blur);box-shadow:var(--dc-shadow)}
.tw-list .tw-task{border:0!important;border-bottom:1px solid var(--dc-divider)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.tw-list .tw-task:last-child{border-bottom:0!important}
.tw-list .tw-empty{border:0;margin:0}
.tw-calendar header .ds-icon-btn{display:inline-grid;place-items:center;width:32px!important;height:32px!important;padding:0!important;font-size:18px!important}
.tw-workspace .ds-h2{padding-top:0}
/* поля формы задачи — той же высоты, что и выпадающие списки (38px) */
.tw-workspace input:not([type=checkbox]):not([type=radio]):not([type=file]){padding:8px 12px!important;min-height:38px;box-sizing:border-box}
.tw-workspace .ds-select-btn{min-height:38px!important}
.tw-heading h1 .tw-status{display:inline-block;vertical-align:middle;margin-left:8px;padding:2px 8px!important;border:0!important;border-radius:6px!important;font-size:12px!important;font-weight:500;letter-spacing:0;background:var(--dc-sec-bg)}
.tw-sub{margin:16px 0 6px;font-size:13px;font-weight:600;color:var(--dc-fg-2)}
.tw-panel{border:0!important;background:var(--dc-glass)!important;box-shadow:var(--dc-shadow);border-radius:10px!important}
/* кнопки раздела задач — те же цвета и размеры, что и везде */
.tw-button{background:var(--dc-blue)!important;border-radius:8px!important;padding:0 16px!important;height:32px;font:500 13px/20px Inter,sans-serif!important;transform:none!important}
.tw-button:hover{background:var(--dc-blue-hover)!important}
.tw-button.secondary{background:var(--dc-sec-bg)!important;color:var(--dc-fg)!important;border:0!important;box-shadow:var(--dc-sec-ring)}
/* открытый выбор статуса экспертизы — поверх соседних карточек */
.layout .card:has(.exp-status[open]),.summary-module:has(.exp-status[open]){position:relative;z-index:30;overflow:visible!important}

/* сводка объекта: одинаковые отступы между вкладками, плитками разделов,
   строкой «Статус / Бюджет / Этап» и карточками ниже; плитки — на всю ширину */
.layout .dc-section-cards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;gap:12px;margin:0 0 16px!important}
.layout .summary-passport{gap:12px!important;margin:0 0 16px!important}
.layout .content>.tabs:first-child{margin-bottom:16px!important}
.layout .summary-focus{gap:12px!important}

/* документация ПД/РД: дерево слева и панель справа — одной высоты, с одинаковыми
   внутренними отступами и тем же промежутком 12px, что у плиток категорий */
.documentation-explorer{align-items:stretch!important;gap:12px!important}
.documentation-navigation.card,.documentation-contents.card{padding:20px!important}
.documentation-categories{gap:12px!important;margin-bottom:12px!important}
/* длинное дерево не тянет за собой правую панель: дерево — не выше экрана,
   со своей прокруткой, и остаётся на месте при прокрутке страницы */
.documentation-navigation.card{max-height:calc(100vh - 92px);overflow-y:auto;position:sticky;top:80px;align-self:stretch}
.documentation-contents.card{min-height:min(420px,calc(100vh - 92px))}

/* ===== название раздела объекта — выпадающее меню разделов ===== */
.dc-section-switch{position:relative}
.dc-section-switch>summary{display:inline-flex;align-items:center;gap:12px;padding:4px 10px 4px 4px;margin-left:-4px;border-radius:10px;cursor:pointer;list-style:none;user-select:none}
.dc-section-switch>summary::-webkit-details-marker{display:none}
.dc-section-switch>summary::before{display:none!important}
.dc-section-switch>summary:hover,.dc-section-switch[open]>summary{background:var(--dc-sec-bg)}
.dc-section-switch h2{margin:0;font-size:20px;line-height:28px;font-weight:600}
.dc-section-chev{width:14px;height:14px;background:currentColor;opacity:.6;transition:transform .15s;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 4.5L6 8L9.5 4.5'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 4.5L6 8L9.5 4.5'/%3E%3C/svg%3E") center/contain no-repeat}
.dc-section-switch[open] .dc-section-chev{transform:rotate(180deg)}
.dc-section-menu{position:absolute;left:-4px;top:calc(100% + 6px);z-index:45;min-width:260px;padding:6px;display:flex;flex-direction:column;
  background:var(--dc-bg);border-radius:10px;box-shadow:var(--dc-shadow)}
html[data-theme="dark"] .dc-section-menu{background:rgb(18,19,32)}
.dc-section-menu a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;color:var(--dc-fg)!important;font:500 14px/20px var(--font-body);text-decoration:none!important}
.dc-section-menu a:hover{background:var(--dc-sec-bg)}
.dc-section-menu a .dc-ico{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;background:var(--dc-glass-2);box-shadow:inset 0 0 0 1px var(--dc-divider)}
.dc-section-menu a.is-selected{font-weight:600}
.dc-section-menu a.is-selected::after{content:"";margin-left:auto;width:14px;height:14px;flex-shrink:0;background:var(--dc-blue);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 7.5L5.5 10.5L11.5 3.5'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 7.5L5.5 10.5L11.5 3.5'/%3E%3C/svg%3E") center/contain no-repeat}
/* название объекта на карточке — 18px (было 32px) */
.dc-project-nav .project-hero-bottom h1{font-size:18px!important;line-height:24px!important}
@media(max-width:700px){.dc-project-nav .project-hero-bottom h1{font-size:16px!important;line-height:22px!important}}
.dc-general-head{margin:0 0 12px!important;padding:0 4px}

/* шапка закреплена плотно: прижата к верху окна, непрозрачная — содержимое
   страницы не просвечивает через неё и не видно над ней при прокрутке */
.layout .topbar{top:0!important;background:rgba(250,250,254,.97)!important;box-shadow:0 1px 0 rgba(0,0,0,.05),0 6px 16px rgba(0,0,0,.06)!important}
html[data-theme="dark"] .layout .topbar{background:rgba(14,15,30,.97)!important}
.layout .main{padding-top:0}
.documentation-navigation.card{top:68px!important;max-height:calc(100vh - 80px)!important}

/* 11.10.2026: шапка больше НЕ висит поверх страницы — по просьбе
   пользователя («мешает работать с документами»): при прокрутке она
   уходит вверх вместе с содержимым и не перекрывает листы. Поэтому и
   липкое меню разделов документации прижимается к самому верху окна. */
.layout .topbar{position:relative!important;top:auto!important;box-shadow:var(--dc-shadow-sm)!important}
.documentation-navigation.card{top:12px!important;max-height:calc(100vh - 24px)!important}


/* 12.10.2026: баннер объекта как до дизайн-ревью (по просьбе пользователя).
   На страницах объекта обычной шапки нет — сверху на баннере «Портфель
   объектов» и часы МСК, справа три текущих значка (ассистент, уведомления,
   меню пользователя), снизу крупное название, статус, город и погода. */
.dc-project-nav .project-hero{justify-content:space-between;gap:24px;min-height:240px!important;padding:16px 20px 20px!important;z-index:5}
.dc-project-nav .project-hero-bottom{padding-right:0}
/* название объекта на баннере — 18px (по просьбе пользователя 12.10.2026) */
.dc-project-nav .project-hero-bottom h1{font-size:18px!important;line-height:24px!important}
@media(max-width:700px){.dc-project-nav .project-hero-bottom h1{font-size:16px!important;line-height:22px!important}}
.project-hero-top{position:relative;z-index:2}
.project-hero-actions-row .agent-toggle-btn,.project-hero-actions-row .notif-bell,.project-hero-actions-row .ds-user-menu-toggle{
  background:rgba(255,255,255,.2)!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)!important;border:0!important}
.project-hero-actions-row .agent-toggle-btn:hover,.project-hero-actions-row .notif-bell:hover,.project-hero-actions-row .ds-user-menu-toggle:hover{background:rgba(255,255,255,.3)!important}
.project-hero-actions-row .ds-user-menu-toggle .user-avatar{background:transparent!important;color:#fff!important}
/* выпадающие списки на баннере — обычного цвета, а не белым по белому */
.project-hero .notif-bell-dropdown,.project-hero .ds-user-menu-dropdown{color:var(--dc-fg);text-shadow:none;text-align:left;z-index:50}
.project-hero-badge{border-radius:6px!important;padding:2px 8px!important;font-size:12px!important;font-weight:500}
/* старые правила баннера (ds-ui.css: .project-hero .ds-urole / .ds-logout) красят
   в белый — внутри выпадающего меню возвращаем обычные цвета */
.project-hero .ds-user-menu-dropdown .ds-urole{color:var(--dc-fg-3)!important}
.project-hero .ds-user-menu-dropdown .ds-logout{background:transparent!important;box-shadow:none!important;color:var(--danger-text)!important}
/* окно уведомлений «стеклянное» — на синем баннере просвечивало синим */
.project-hero .notif-bell-dropdown{background:rgba(250,250,254,.98)!important;backdrop-filter:none!important}
html[data-theme="dark"] .project-hero .notif-bell-dropdown{background:rgba(14,15,30,.97)!important}
