/* Редизайн оболочки и главной: плавающая рельса навигации, вкладки-«пилюли», карточки-виджеты и движение.
   Подключается последним, поэтому переопределяет базовые правила styles.css. */
:root{--rail:#52357e;--rail-deep:#342152;--surface:#fff;--card-line:#eee8f4;--card-shadow:0 1px 2px #2a18470a,0 14px 34px -16px #2a18472e;--radius-card:22px;--ink-dark:#1f1a2b;--tint-violet:#efe8fb;--tint-coral:#ffebe3;--tint-blue:#e6effb;--tint-pink:#fbe7f6;--tint-lime:#eff7d8;--spring:cubic-bezier(.2,.8,.2,1)}
body{background:radial-gradient(1100px 560px at 88% -12%,#ece3fa 0%,transparent 60%),radial-gradient(900px 520px at -5% 105%,#f1ecfa 0%,transparent 55%),var(--paper);background-attachment:fixed}

/* ---------- Рельса навигации (десктоп) ---------- */
@media(min-width:761px){
  .shell{grid-template-columns:112px minmax(0,1fr)}
  .sidebar{inset:14px auto 14px 14px;width:84px;padding:20px 14px 16px;border-radius:30px;background:linear-gradient(185deg,#6b46a9 0%,var(--rail) 42%,var(--rail-deep) 100%);box-shadow:0 22px 44px -18px #3a236699,inset 0 1px 0 #ffffff22;overflow:hidden auto;scrollbar-width:none;z-index:25;transition:width 340ms var(--ease-drawer),box-shadow 340ms var(--ease-drawer)}
  .sidebar::-webkit-scrollbar{display:none}
  .sidebar::before{content:"";position:absolute;inset:-40% -60% auto auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,#ffffff26,transparent 65%);pointer-events:none;animation:rail-glow 9s ease-in-out infinite alternate;animation-delay:var(--loop-delay,0s)}
  .sidebar:hover,.sidebar:focus-within{width:256px;box-shadow:0 30px 60px -18px #3a2366b3,inset 0 1px 0 #ffffff22}
  /* Свёрнутая рельса показывает ровно белую плашку логотипа (левые 235 из 472 единиц исходного SVG) по центру;
     раскрытая — логотип целиком. Сам логотип не перерисовывается, меняется только видимая область. */
  .sidebar .brand{display:block;width:59px;height:34px;margin:0 0 22px -1.5px;padding:0;overflow:hidden;flex-shrink:0;border-radius:9px;transition:width 340ms var(--ease-drawer),height 340ms var(--ease-drawer)}
  .brand img{display:block;width:119px;height:34px;max-width:none;object-fit:fill;transition:width 340ms var(--ease-drawer),height 340ms var(--ease-drawer)}
  .sidebar:hover .brand,.sidebar:focus-within .brand{width:154px;height:44px;border-radius:0;padding:0}
  .sidebar:hover .brand img,.sidebar:focus-within .brand img{width:154px;height:44px}
  .nav{gap:6px}
  .nav a{position:relative;height:48px;padding:0 15px;gap:17px;border-radius:16px;white-space:nowrap;color:#efe9fa;transition:background 200ms var(--ease-out),color 200ms var(--ease-out),transform 200ms var(--ease-out)}
  /* Иконка 18px ровно по центру свёрнутой рельсы (внутренняя ширина 56px); при раскрытии остаётся на месте. */
  .sidebar .nav a{padding:0 19px;gap:17px}
  .nav a svg{flex:none;transition:transform 260ms var(--spring)}
  .sidebar .user-button{padding:12px 0 0 13.5px}
  .nav a>span:not(.nav-count){opacity:0;transform:translateX(-6px);transition:opacity 180ms var(--ease-out),transform 260ms var(--ease-out)}
  .sidebar:hover .nav a>span,.sidebar:focus-within .nav a>span{opacity:1;transform:none;transition-delay:70ms}
  .nav a:not(.active):hover{background:#ffffff1f}
  .nav a:not(.active):hover svg{transform:scale(1.12) rotate(-4deg)}
  .mobile-menu{display:none!important}
  .nav a.active{background:#fff;color:var(--rail);font-weight:650;box-shadow:0 8px 18px -8px #1b0f3399}
  .nav a .nav-count{position:absolute;top:6px;left:42px;min-width:17px;height:17px;padding:0 5px;border-radius:9px;background:var(--lime);color:#2c1d45;font-size:10px;font-weight:700;display:grid;place-items:center;opacity:1;transform:none;transition:left 300ms var(--ease-drawer)}
  .sidebar:hover .nav a .nav-count,.sidebar:focus-within .nav a .nav-count{left:auto;right:12px;top:15px}
  .nav a .nav-count:where(:empty){display:none}
  .nav-caption{height:18px;margin:4px 0 6px;padding:0 16px;white-space:nowrap;color:#d9ccef;opacity:0;transition:opacity 200ms}
  .sidebar:hover .nav-caption,.sidebar:focus-within .nav-caption{opacity:1}
  .nav-divider{margin:12px 10px;border-color:#ffffff24}
  .nav-home{margin-top:0}.nav-home-divider{margin:12px 10px}
  .sidebar-tip{display:none}
  .user-button{padding:12px 8px 0;white-space:nowrap;color:#fff}
  .user-button>span,.user-button>svg{opacity:0;transition:opacity 200ms}
  .sidebar:hover .user-button>span,.sidebar:focus-within .user-button>span,.sidebar:hover .user-button>svg,.sidebar:focus-within .user-button>svg{opacity:1}

  /* ---------- Верхняя панель ---------- */
  /* Подложка и размытие — в отдельном слое с маской: к низу они плавно сходят на нет, без резкой границы размытия. */
  .topbar{position:sticky;top:0;z-index:10;height:84px;padding:0 32px 0 4px;gap:14px;background:transparent;border:0;isolation:isolate}
  .topbar::before{content:"";position:absolute;inset:0 0 -28px 0;z-index:-1;pointer-events:none;background:linear-gradient(var(--topbar-fade,#faf8fcf5) 55%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-mask-image:linear-gradient(#000 50%,transparent);mask-image:linear-gradient(#000 50%,transparent)}
  .breadcrumb{display:none}
  .top-tabs{position:relative;display:flex;gap:2px;padding:5px;border-radius:999px;background:#fff;border:1px solid var(--card-line);box-shadow:var(--card-shadow)}
  .top-tabs a{position:relative;z-index:1;display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;font-size:12.5px;font-weight:550;color:#5d5766;white-space:nowrap;transition:color 260ms var(--ease-out)}
  .top-tabs a:hover{color:var(--ink)}
  .top-tabs a.active{color:#fff}
  .top-tabs-glider{position:absolute;top:5px;bottom:5px;left:0;width:0;border-radius:999px;background:linear-gradient(135deg,#2c1f44,#4a2f78);box-shadow:0 8px 18px -8px #2c1f44aa;opacity:0;transition:transform 480ms var(--spring),width 480ms var(--spring),opacity 200ms}
  .search-box{width:272px;flex-shrink:0;border-radius:999px;background:#fff;border:1px solid var(--card-line);box-shadow:var(--card-shadow)}
  .topbar>.icon-button:not(.mobile-menu),.topbar>a:last-child{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff;border:1px solid var(--card-line);box-shadow:var(--card-shadow);transition:transform 200ms var(--spring)}
  .topbar>.icon-button:hover,.topbar>a:last-child:hover{transform:translateY(-2px)}
  .content{padding:10px 32px 44px 4px}
}
@media(min-width:761px) and (max-width:1180px){.top-tabs a>span{display:none}.top-tabs a{padding:9px 12px}}
@media(max-width:760px){.top-tabs{display:none}}

/* ---------- Общие поверхности ---------- */
.table-wrap,.home-panel,.empty-state{border-radius:var(--radius-card)}
.button{transition:transform 160ms var(--spring),box-shadow 200ms var(--ease-out),background 200ms}
.button.primary{box-shadow:0 10px 22px -12px #52357ecc}
.button:active{transform:scale(.97)}

/* ---------- Главная ---------- */
.home-dashboard{display:grid;gap:22px}
.home-hero{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,2.1fr);gap:22px;align-items:stretch}
.home-greeting{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:6px 4px}
.home-greeting .home-date{font-size:12px;color:var(--violet);text-transform:capitalize;font-weight:600}
.home-greeting h1{font-size:clamp(28px,3vw,38px);line-height:1.1}
.home-greeting>p:not(.home-date){max-width:360px;color:var(--muted);line-height:1.6;font-size:13px}
.home-greeting .dashboard-config{margin-top:8px;border:0;background:none;padding:0}
.home-greeting .dashboard-config>summary{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:999px;background:#fff;border:1px solid var(--card-line);font-size:12px;cursor:pointer;list-style:none}
.home-greeting .dashboard-config[open]>div{margin-top:10px;padding:16px;border-radius:18px;background:#fff;border:1px solid var(--card-line);box-shadow:var(--card-shadow)}
.home-quick{align-self:center;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.quick-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:132px;padding:20px;border-radius:var(--radius-card);text-align:left;background:radial-gradient(240px circle at var(--mx,-999px) var(--my,-999px),#52357e10,transparent 60%),var(--surface);border:1px solid var(--card-line);box-shadow:var(--card-shadow);transition:transform 260ms var(--spring),box-shadow 260ms var(--ease-out)}
.quick-tile strong{margin-top:auto;font-size:14px}
.quick-tile small{line-height:1.5}
.quick-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;transition:transform 360ms var(--spring)}
.quick-violet .quick-icon{background:var(--tint-violet);color:var(--violet)}
.quick-pink .quick-icon{background:var(--tint-pink);color:#a3268d}
.quick-blue .quick-icon{background:var(--tint-blue);color:#3a6fb0}
.quick-lime .quick-icon{background:var(--tint-lime);color:#557016}
.quick-tile:hover{transform:translateY(-4px);box-shadow:0 2px 4px #2a18470d,0 22px 40px -18px #2a184745}
.quick-tile:hover .quick-icon{transform:rotate(-8deg) scale(1.08)}

.home-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.stat-tile{position:relative;display:flex;flex-direction:column;gap:4px;padding:18px 20px 20px;border-radius:var(--radius-card);overflow:hidden;background:radial-gradient(220px circle at var(--mx,-999px) var(--my,-999px),#ffffff99,transparent 60%),var(--tone);transition:transform 260ms var(--spring)}
.stat-tile:hover{transform:translateY(-3px)}
.stat-violet{--tone:var(--tint-violet);--accent:var(--violet)}.stat-coral{--tone:var(--tint-coral);--accent:#d8481f}.stat-blue{--tone:var(--tint-blue);--accent:#3a6fb0}.stat-pink{--tone:var(--tint-pink);--accent:#a3268d}.stat-lime{--tone:var(--tint-lime);--accent:#557016}
.stat-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;color:#4b4455}
.stat-head svg{color:var(--accent);transition:transform 260ms var(--spring)}
.stat-tile:hover .stat-head svg{transform:translate(3px,-3px) rotate(-45deg)}
.stat-tile .count{font-size:38px;line-height:1.1;letter-spacing:-.04em;color:var(--accent);font-variant-numeric:tabular-nums}
.stat-meter{display:block;height:6px;margin-top:10px;border-radius:6px;background:#ffffffb3;overflow:hidden}
.stat-meter i{display:block;height:100%;width:var(--w);border-radius:inherit;background:var(--accent);transform-origin:left}
.shell-enter .stat-meter i{animation:grow-x 900ms var(--spring) both 200ms}
.stat-avatars{display:flex;margin-top:10px;padding-left:8px}
.stat-avatars .avatar{border:2px solid var(--tone);margin-left:-8px}
.stat-avatars i{display:grid;place-items:center;width:29px;height:29px;margin-left:-8px;border-radius:50%;background:#fff;font-size:10px;font-style:normal;font-weight:600}

.home-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:22px;grid-auto-flow:dense}
.home-card{position:relative;display:flex;flex-direction:column;gap:16px;min-width:0;padding:22px;border-radius:var(--radius-card);background:radial-gradient(300px circle at var(--mx,-999px) var(--my,-999px),#52357e0c,transparent 60%),var(--surface);border:1px solid var(--card-line);box-shadow:var(--card-shadow)}
.home-focus{grid-column:span 5}.home-week{grid-column:span 4}.home-inbox{grid-column:span 3}
.home-requests{grid-column:span 4}.home-promo{grid-column:span 3}.home-team{grid-column:span 5}.home-feed{grid-column:span 12}
.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.card-head h2{display:flex;align-items:center;gap:8px;font-size:16px}
.card-head p{margin-top:4px;font-size:12px;color:var(--muted)}
.card-head>.card-link{border:0;font:inherit;font-weight:600;cursor:pointer}
.card-head>a,.card-head>.card-link{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:6px 10px;border-radius:999px;font-size:12px;color:var(--violet);background:var(--tint-violet);transition:gap 200ms var(--ease-out)}
.card-head>a:hover,.card-head>.card-link:hover{gap:8px}
.pill-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--pink);color:#fff;font-size:11px}
.home-blank{display:grid;place-items:center;gap:8px;flex:1;min-height:120px;color:var(--muted);font-size:12px;text-align:center}

.focus-list,.agenda,.inbox-list{display:grid;gap:8px}
.focus-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:14px;align-items:center;padding:12px 14px;border-radius:16px;background:#faf8fc;text-align:left;transition:background 200ms,transform 200ms var(--spring)}
.focus-row:hover{background:var(--tint-violet);transform:translateX(3px)}
.focus-main{display:grid;gap:3px;min-width:0}.focus-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.focus-stage{display:grid;gap:5px}.focus-stage small{font-size:10.5px}
.stage-bar{display:block;height:6px;border-radius:6px;background:#e9e3f1;overflow:hidden}
.stage-bar i{display:block;height:100%;width:var(--w);border-radius:inherit;background:linear-gradient(90deg,var(--violet),var(--pink));transform-origin:left}
.shell-enter .stage-bar i{animation:grow-x 900ms var(--spring) both 250ms}

.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}
.week-strip li{display:grid;justify-items:center;gap:3px;padding:10px 0 8px;border-radius:16px;background:#faf8fc;font-variant-numeric:tabular-nums}
.shell-enter .week-strip li{animation:pop-in 480ms var(--spring) both calc(var(--i)*40ms + 150ms)}
.week-strip li small{font-size:10px;text-transform:capitalize}
.week-strip li strong{font-size:15px}
.week-strip li.today{background:linear-gradient(160deg,#6b46a9,var(--violet));color:#fff;box-shadow:0 12px 22px -12px #52357ecc;transform:translateY(-3px)}
.week-strip li.today small{color:#e6dcf7}
.week-dots{display:flex;gap:3px;height:5px}.week-dots i{width:5px;height:5px;border-radius:50%;background:var(--coral)}
.week-strip li.today .week-dots i{background:var(--lime)}
.agenda-row,.inbox-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border-radius:16px;text-align:left;transition:background 200ms,transform 200ms var(--spring)}
.agenda-row:hover,.inbox-row:hover{background:#faf8fc;transform:translateX(3px)}
.agenda-row strong,.inbox-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.agenda-icon,.inbox-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--tint-violet);color:var(--violet)}
.agenda-icon.pink{background:var(--tint-pink);color:#a3268d}.agenda-icon.lime{background:var(--tint-lime);color:#557016}
.agenda-empty{margin:auto 0;padding:14px;border-radius:16px;background:#faf8fc;color:var(--muted);font-size:12px;text-align:center}
.inbox-row{grid-template-columns:34px minmax(0,1fr)}
.inbox-row.unread .inbox-icon{background:var(--violet);color:#fff}
.inbox-row.unread:first-child{background:var(--ink-dark);color:#fff;box-shadow:0 14px 26px -14px #1f1a2bcc}
.inbox-row.unread:first-child small{color:#c9c2d4}
.inbox-row.unread:first-child .inbox-icon{background:#ffffff1f}

.home-promo{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:24px;overflow:hidden;border-radius:var(--radius-card);color:#fff;background:linear-gradient(150deg,#6d47ad 0%,var(--violet) 55%,#3a2462 100%);box-shadow:0 24px 44px -22px #52357ee6;isolation:isolate}
.home-promo h2{font-size:19px;line-height:1.3}
.home-promo p{color:#e6dcf7;font-size:12px;line-height:1.6}
.promo-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:17px;background:#ffffff26;animation:float 5s ease-in-out infinite;animation-delay:var(--loop-delay,0s)}
.promo-button{margin-top:auto;border:0;background:var(--ink-dark);color:#fff}
.promo-button:hover{background:#000}
.promo-orb{position:absolute;z-index:-1;right:-70px;bottom:-80px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#cc3bb088,#fb5b3144 45%,transparent 70%);animation:orb 10s ease-in-out infinite alternate;animation-delay:var(--loop-delay,0s)}

.team-chart{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;align-items:end}
.ring{width:96px;height:96px}
.ring circle{fill:none;stroke-width:7}
.ring-track{stroke:#eee8f6}
.ring-value{stroke:var(--violet);stroke-linecap:round;transform:rotate(-90deg);transform-origin:center}
.shell-enter .ring-value{animation:ring-fill 1100ms var(--spring) both 200ms}
.ring text{font-size:14px;font-weight:700;fill:var(--ink)}
.mini-bars{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;height:110px;align-items:end}
.mini-bar{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%}
.mini-bar::before{content:"";order:1;width:100%;max-width:30px;height:var(--h);min-height:4px;border-radius:9px 9px 5px 5px;background:var(--bar);transform-origin:bottom}
.shell-enter .mini-bar::before{animation:grow-y 900ms var(--spring) both calc(var(--i)*70ms + 250ms)}
.mini-bar b{order:0;font-size:11px}
.mini-bar small{order:2;font-size:9.5px;white-space:nowrap}
.mini-bar-muted{--bar:#d8d2e0}.mini-bar-blue{--bar:var(--blue)}.mini-bar-violet{--bar:var(--violet)}.mini-bar-pink{--bar:var(--pink)}.mini-bar-lime{--bar:#a9d13f}
.home-team-members{display:flex;align-items:center;padding-left:8px;font-size:12px;color:var(--violet)}
.home-team-members .avatar{margin-left:-8px;border:2px solid #fff;transition:transform 200ms var(--spring)}
.home-team-members:hover .avatar{transform:translateY(-2px)}
.home-team-members span{margin-left:12px}

@media(max-width:1280px){.home-focus,.home-week,.home-requests,.home-team{grid-column:span 6}.home-inbox,.home-promo{grid-column:span 6}.home-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.home-hero{grid-template-columns:1fr}}
@media(max-width:760px){.home-grid>*{grid-column:1/-1}.home-quick{grid-template-columns:1fr}.quick-tile{min-height:0}.home-stats{grid-template-columns:1fr 1fr}.stat-tile .count{font-size:30px}.team-chart{grid-template-columns:1fr;justify-items:center}.mini-bars{width:100%}}

/* ---------- Уведомление-«пилюля» ---------- */
.notice{display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:999px;background:var(--ink-dark);box-shadow:0 18px 40px -14px #1f1a2bb3;transform:translate(-50%,18px) scale(.96);transition:transform 360ms var(--spring),opacity 220ms var(--ease-out)}
.notice::before{content:"";width:8px;height:8px;flex-shrink:0;border-radius:50%;background:#7bd88f;box-shadow:0 0 0 4px #7bd88f33}
.notice.error::before{background:#ff8a6b;box-shadow:0 0 0 4px #ff8a6b33}
.notice.visible{transform:translate(-50%,0) scale(1)}

/* ---------- Появление экрана ---------- */
.page-enter>:not(.home-dashboard),.page-enter [data-reveal]{animation:page-rise 420ms var(--spring) both;animation-delay:calc(var(--i,0)*35ms)}
/* Переход между разделами (motion.js → smoothRender): рельса и верхняя строка неподвижны, содержимое мягко сменяется. */
@media(min-width:761px){.sidebar{view-transition-name:portal-rail}.topbar{view-transition-name:portal-topbar}}
::view-transition-group(portal-rail),::view-transition-group(portal-topbar),::view-transition-new(portal-rail),::view-transition-new(portal-topbar){animation:none}
::view-transition-old(portal-rail),::view-transition-old(portal-topbar){display:none}
::view-transition-old(root){animation:vt-fade-out 150ms ease-out both}
::view-transition-new(root){animation:vt-fade-in 280ms var(--spring) both 40ms}
.vt-nav .page-enter>:not(.home-dashboard),.vt-nav .page-enter [data-reveal]{animation:none}

@keyframes page-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes vt-fade-out{to{opacity:0}}
@keyframes vt-fade-in{from{opacity:0;transform:translateY(6px)}}
@keyframes grow-x{from{transform:scaleX(0)}}
@keyframes grow-y{from{transform:scaleY(0)}}
@keyframes ring-fill{from{stroke-dasharray:0 100}}
@keyframes pop-in{from{opacity:0;transform:translateY(8px) scale(.9)}}
@keyframes rail-pop{0%{transform:scale(.85)}60%{transform:scale(1.04)}100%{transform:none}}
@keyframes rail-glow{from{transform:translate(0,0)}to{transform:translate(-30px,120px)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes orb{from{transform:translate(0,0) scale(1)}to{transform:translate(-40px,-30px) scale(1.15)}}

@media(prefers-reduced-motion:reduce){
  ::view-transition-old(root),::view-transition-new(root){animation:none!important}
  .sidebar,.sidebar::before,.nav a,.nav a svg,.nav a>span,.top-tabs-glider,.quick-tile,.quick-icon,.stat-tile,.focus-row,.agenda-row,.inbox-row,.notice{transition:none!important;animation:none!important}
  .page-enter>*,.page-enter [data-reveal],.stat-meter i,.stage-bar i,.week-strip li,.ring-value,.mini-bar::before,.promo-icon,.promo-orb,.nav a.active{animation:none!important}
  .notice,.notice.visible{transform:translate(-50%,0)}
}

/* Основная область получает фокус после перехода только для экранных дикторов: рамку вокруг всего экрана не рисуем. */
#main:focus,#main:focus-visible,[tabindex="-1"]:focus{outline:none}
.board.cols-6{grid-template-columns:repeat(6,minmax(190px,1fr))}
@media(max-width:760px){.board.cols-6{grid-template-columns:repeat(6,255px)}}
.toolbar>.custom-select,.toolbar>.filter-select{width:auto;min-width:220px;max-width:280px;flex:0 1 260px}

/* ---------- Главная: «Требует вашего решения» ---------- */
.home-attention{margin:0 0 22px;padding:20px 22px;border-radius:var(--radius-card);background:#fff;border:1px solid #ecdcf3;box-shadow:var(--card-shadow)}
.attention-list{display:grid;gap:6px;margin-top:14px}
.attention-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:#faf7fd}
.attention-mark{flex:none;width:8px;height:32px;border-radius:6px;background:#b7a4d5}
.attention-proposal .attention-mark{background:#c936a7}
.attention-start .attention-mark{background:#52357e}
.attention-review .attention-mark{background:#6c9cd8}
.attention-late .attention-mark{background:#e0632a}
.attention-copy{flex:1;min-width:0;display:grid;gap:2px}
.attention-copy strong{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.attention-copy small{font-size:12px;color:var(--muted)}
.attention-row .notice-actions{padding:0;flex-wrap:wrap;justify-content:flex-end}
.attention-more{display:inline-flex;align-items:center;gap:4px;margin-top:10px;font-size:12px;font-weight:650;color:var(--violet)}
@media(max-width:760px){.attention-row{flex-wrap:wrap}.attention-row .notice-actions{width:100%;justify-content:flex-start;padding-left:20px}}

/* ---------- Переключатель темы ---------- */
.theme-toggle .theme-sun{display:none}
.theme-toggle .theme-moon,.theme-toggle .theme-sun{display:inline-flex}
.theme-toggle .theme-sun{display:none}
.theme-setting{margin-bottom:20px}
.theme-choice{display:flex;gap:4px;width:max-content;max-width:100%;padding:4px;border-radius:999px;background:#f5f1fa;overflow-x:auto}
.theme-choice button{min-height:38px;padding:0 16px;border:0;border-radius:999px;background:transparent;color:#62576f;font:inherit;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}
.theme-choice button.active{background:#fff;color:#352354;box-shadow:0 2px 8px -4px #3420526b}

/* ---------- Главная: блоки-виджеты и режим настройки ---------- */
.home-grid>.home-widget{display:flex;flex-direction:column;min-width:0;container-type:inline-size}
.home-widget>section{flex:1;grid-column:auto;margin:0}
.home-widget.size-s{grid-column:span 4}.home-widget.size-m{grid-column:span 6}.home-widget.size-l{grid-column:span 8}.home-widget.size-xl{grid-column:span 12}
.home-widget .home-attention{margin:0}
@container (max-width:760px){.home-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (max-width:360px){.home-stats{grid-template-columns:1fr}.team-chart{grid-template-columns:1fr;justify-items:center}.focus-row{grid-template-columns:1fr}}
@media(max-width:1180px){.home-widget.size-s{grid-column:span 6}.home-widget.size-l{grid-column:span 12}}
@media(max-width:760px){.home-grid>.home-widget{grid-column:1/-1}}
.home-customize{display:inline-flex;align-items:center;gap:8px;width:max-content;margin-top:8px;padding:8px 13px;border-radius:999px;background:#fff;border:1px solid var(--card-line);color:inherit;font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.home-customize:hover{border-color:#d9c9ee}
.home-editbar{position:sticky;top:88px;z-index:5;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid #d9c9ee;box-shadow:0 18px 40px -22px #2a18477a}
.home-editbar>div{flex:1;min-width:240px;display:grid;gap:3px}
.home-editbar strong{font-size:14px}
.home-editbar span{font-size:12px;color:var(--muted);line-height:1.45}
.home-editing .home-widget{position:relative;padding:6px;border-radius:calc(var(--radius-card) + 6px);outline:2px dashed #cdb9ea;outline-offset:-2px;cursor:grab;transition:opacity 200ms,transform 200ms var(--spring)}
.home-editing .home-widget>section{pointer-events:none;user-select:none}
.home-editing .home-widget.is-hidden>section{opacity:.38;filter:grayscale(.6)}
.home-editing .home-widget.dragging{opacity:.45;transform:scale(.98)}
.home-editing .home-widget.drop-before{box-shadow:-5px 0 0 -1px var(--violet)}
.home-editing .home-widget.drop-after{box-shadow:5px 0 0 -1px var(--violet)}
.widget-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 6px;padding:6px 8px;border-radius:14px;background:#f5f1fa}
.widget-tools>strong{flex:1;min-width:0;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.widget-grip{display:grid;place-items:center;color:var(--muted)}
.widget-sizes{display:inline-flex;gap:2px;padding:2px;border-radius:999px;background:#fff}
.widget-sizes button,.widget-move,.widget-toggle{min-width:32px;min-height:30px;padding:0 9px;border:0;border-radius:999px;background:transparent;color:#5d5766;font:inherit;font-size:12px;font-weight:650;cursor:pointer}
.widget-sizes button.active{background:var(--violet);color:#fff}
.widget-move,.widget-toggle{background:#fff}
.widget-move svg{transform:rotate(180deg)}
.widget-move.next svg{transform:none}
.widget-toggle[aria-pressed="false"]{background:var(--violet);color:#fff}
.widget-placeholder{min-height:120px;justify-content:center;border-style:dashed}
.widget-sizes button:focus-visible,.widget-move:focus-visible,.widget-toggle:focus-visible,.home-customize:focus-visible{outline:3px solid #9b75c5;outline-offset:2px}
@media(max-width:760px){.home-editbar{top:72px}.widget-sizes button,.widget-move,.widget-toggle{min-height:40px}}
@media(prefers-reduced-motion:reduce){.home-editing .home-widget{transition:none}}

/* ---------- Ход работы в карточке задачи ---------- */
.task-flow{display:grid;gap:12px;margin:4px 0 20px;padding:16px 16px 14px;border-radius:18px;background:#f6f2fb;border:1px solid #ebe4f3}
.task-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none}
.task-steps li{position:relative;display:grid;justify-items:center;gap:7px;font-size:11px;color:var(--muted);text-align:center}
.task-steps li::before{content:"";position:absolute;top:8px;right:50%;width:100%;height:2px;background:#ddd3e9}
.task-steps li:first-child::before{display:none}
.task-steps li.done::before,.task-steps li.current::before{background:var(--violet)}
.task-steps i{position:relative;z-index:1;width:18px;height:18px;border-radius:50%;border:2px solid #cfc3de;background:#fff}
.task-steps li.done i{border-color:var(--violet);background:var(--violet) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/11px no-repeat}
.task-steps li.current i{border-color:var(--violet);box-shadow:0 0 0 5px #52357e24;animation:step-pulse 2.4s ease-in-out infinite}
.task-steps li.current span{color:var(--ink);font-weight:650}
.task-flow-hint{text-align:center;color:var(--muted)}
.task-flow-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.task-flow-actions .button{min-width:150px}
.task-flow.declined{justify-items:start;gap:4px;background:#fff0ec;border-color:#f6d3c9;color:#8e2f1c}
@keyframes step-pulse{50%{box-shadow:0 0 0 9px #52357e10}}
@media(prefers-reduced-motion:reduce){.task-steps li.current i{animation:none}}

/* ---------- Настройка навигации (Приложение) ---------- */
.navigation-setting{grid-column:1/-1}
.navigation-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:16px 0 18px;text-align:left}
.navigation-columns h3{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;font-size:13px}
.navigation-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.navigation-list li{display:flex;align-items:center;gap:6px;border-radius:14px;background:#faf8fc;border:1px solid #eee8f4;transition:transform 220ms var(--spring)}
.navigation-list label{display:flex;flex:1;align-items:center;gap:12px;min-height:44px;padding:0 14px;cursor:pointer;font-size:13px}
.navigation-list label span{flex:1}
.navigation-list input{width:18px;height:18px;accent-color:var(--violet)}
.navigation-list input:disabled+*,.navigation-list label:has(input:disabled){opacity:.55;cursor:not-allowed}
.navigation-list .nav-order{display:grid;place-items:center;width:40px;height:40px;margin-right:4px;border-radius:12px;color:var(--violet)}
.navigation-list .nav-order:hover{background:var(--tint-violet)}
.navigation-list li:first-child .nav-order{visibility:hidden}
.navigation-note{margin-top:10px;font-size:12px;color:var(--muted)}
@media(max-width:760px){.navigation-columns{grid-template-columns:1fr}}

/* ---------- Напоминания (Приложение) ---------- */
.reminder-rows{display:grid;gap:8px;margin:14px 0 16px;text-align:left}
.reminder-row{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:14px;background:#faf8fc;border:1px solid #eee8f4;cursor:pointer}
.reminder-row span{display:grid;gap:3px;flex:1}
.reminder-row strong{font-size:13px}
.reminder-row input{width:18px;height:18px;accent-color:var(--violet)}

/* ---------- «Я поручил» и «Аналитика» ---------- */
.sent-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:4px 0 18px}
.sent-summary .stat-tile{padding:14px 18px 16px}
.sent-summary .count{font-size:30px}
.sent-list{display:grid;gap:10px}
.sent-row{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(160px,1fr) minmax(150px,1fr) auto;gap:16px;align-items:center;padding:14px 18px;border-radius:18px;background:var(--surface,#fff);border:1px solid var(--card-line,#eee8f4);box-shadow:var(--card-shadow)}
.sent-row.done,.sent-row.declined{opacity:.72}
.sent-main{display:grid;gap:4px;min-width:0}
.sent-main .table-title,.sent-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;text-align:left}
.sent-person{display:flex;align-items:center;gap:8px;min-width:0;font-size:13px}
.sent-person span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sent-stage{display:grid;gap:5px}
.sent-stage small{font-size:11px}
.sent-stage.declined{display:inline-flex;justify-self:start;padding:4px 10px;border-radius:999px;background:#fff0ec;color:#a3371c;font-size:12px;font-weight:600}
.sent-action{justify-self:end}
.sent-closed{margin:14px 4px 2px;font-size:13px;color:var(--muted)}
.analytics-card{padding:22px;border-radius:var(--radius-card);background:var(--surface,#fff);border:1px solid var(--card-line,#eee8f4);box-shadow:var(--card-shadow)}
.analytics-card .card-head p{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.analytics-table{display:grid;margin-top:14px}
.analytics-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(200px,2fr) repeat(4,minmax(90px,.8fr));gap:14px;align-items:center;padding:12px 6px;border-top:1px solid var(--card-line,#eee8f4);font-size:13px}
.analytics-row.head{border-top:0;font-size:11px;color:var(--muted);font-weight:600}
.analytics-person{display:flex;align-items:center;gap:10px;min-width:0}
.analytics-load{display:flex;align-items:center;gap:10px}
.load-bar{display:flex;flex:1;height:10px;border-radius:6px;background:#f1ecf7;overflow:hidden}
.load-bar i{height:100%;width:var(--w);transform-origin:left;animation:grow-x 800ms var(--spring) both}
.load-progress{background:var(--violet)}.load-planned{background:var(--blue)}.load-review{background:var(--pink)}
i.legend{display:inline-block;width:10px;height:10px;border-radius:3px}
.analytics-warn{color:#c2410c;font-weight:700}
@media(max-width:1100px){.sent-row{grid-template-columns:1fr auto;}.sent-person,.sent-stage{grid-column:1}.sent-action{grid-row:1;grid-column:2}.analytics-row{grid-template-columns:minmax(150px,1fr) minmax(160px,1.4fr) repeat(4,70px)}}
@media(max-width:760px){.sent-summary{grid-template-columns:1fr 1fr}.analytics-table{overflow-x:auto}.analytics-row{min-width:720px}}

/* ---------- Командная строка Ctrl+K ---------- */
.search-kbd{padding:2px 7px;border-radius:7px;border:1px solid var(--card-line,#e7e1ec);background:#faf8fc;color:var(--muted);font:600 11px ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer;white-space:nowrap}
.search-kbd:hover{color:var(--violet);border-color:#cfc3de}
.palette{position:fixed;inset:0;z-index:55;display:grid;justify-items:center;align-items:start;padding:12vh 16px 16px;background:#1f1a2b52;backdrop-filter:blur(3px);animation:palette-fade 160ms ease-out}
.palette-box{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(680px,100%);max-height:min(70vh,640px);overflow:hidden;border-radius:22px;background:var(--surface,#fff);border:1px solid var(--card-line,#eee8f4);box-shadow:0 40px 80px -30px #1f1a2b80;animation:palette-in 240ms var(--spring)}
.palette-input{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--card-line,#eee8f4);color:var(--muted)}
.palette-input input{flex:1;border:0;outline:none;background:none;color:var(--ink);font-size:16px}
.palette kbd{padding:2px 6px;border-radius:6px;border:1px solid var(--card-line,#e7e1ec);background:#faf8fc;color:var(--muted);font:600 10.5px ui-monospace,SFMono-Regular,Menlo,monospace}
.palette ul{margin:0;padding:8px;overflow:auto;list-style:none}
.palette-group{padding:10px 10px 4px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.palette-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px 10px;border-radius:14px;cursor:pointer}
.palette-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px}
.palette-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;color:var(--muted)}
.palette-item.active{background:var(--tint-violet)}
.palette-item.blocked small{color:#b4461f}
.palette-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#f4f0f9;color:var(--violet)}
.palette-item.active .palette-icon{background:var(--violet);color:#fff}
.palette-empty{padding:22px;text-align:center;font-size:13px;color:var(--muted)}
.palette footer{display:flex;flex-wrap:wrap;gap:14px;padding:10px 18px;border-top:1px solid var(--card-line,#eee8f4);font-size:11px;color:var(--muted)}
.palette footer b{color:var(--ink);font-weight:600}
@keyframes palette-fade{from{opacity:0}}
@keyframes palette-in{from{opacity:0;transform:translateY(-8px) scale(.98)}}
@media(max-width:760px){.palette{padding:10px}.palette footer span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.palette,.palette-box{animation:none}}

/* ---------- Шаблоны задач ---------- */
.template-picker{padding:12px 14px;border-radius:14px;background:var(--tint-violet)}
.template-save{display:flex;justify-content:flex-end;margin:4px 0 12px}
.template-list{display:grid;gap:8px;margin:14px 0 0;padding:0;list-style:none;text-align:left}
.template-list li{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 16px;border-radius:14px;background:#faf8fc;border:1px solid #eee8f4}
.template-list li span{display:grid;gap:3px;flex:1;min-width:0}
.template-list li strong{font-size:13px}
.template-list .template-empty{display:block;font-size:12px;color:var(--muted)}

/* ---------- Передача дел, замещение, «Пока вас не было» ---------- */
.handover-lead{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-6px 0 14px;color:var(--muted)}
.handover-list{display:grid;gap:8px;margin:16px 0}
.handover-row{display:grid;gap:10px;padding:12px 14px;border-radius:14px;background:#faf8fc;border:1px solid #eee8f4}
.handover-row strong{display:block;font-size:13px}
.handover-row small{font-size:11.5px}
.handover-choices{display:inline-flex;justify-self:start;padding:3px;border-radius:999px;background:#fff;border:1px solid #e7e1ec}
.handover-choice{position:relative;cursor:pointer}
.handover-choice input{position:absolute;opacity:0;pointer-events:none}
.handover-choice span{display:block;padding:7px 14px;border-radius:999px;font-size:12px;font-weight:600;color:var(--muted);transition:background 180ms,color 180ms}
.handover-choice input:checked+span{background:var(--violet);color:#fff}
.handover-choice input:focus-visible+span{outline:3px solid #5f976b;outline-offset:2px}
.handover-choice.disabled span{opacity:.4;cursor:not-allowed}
.handover-empty{padding:18px;text-align:center;color:var(--muted)}
.leave-row .button{margin-left:auto}
.deputy-banner{display:flex;align-items:center;gap:12px;margin:4px 0 12px;padding:14px 16px;border-radius:18px;background:var(--tint-violet)}
.deputy-banner span{display:grid;gap:3px}
.deputy-note{margin:0 0 12px;padding:12px 16px;border-left:3px solid var(--violet);border-radius:0 14px 14px 0;background:#faf8fc;font-size:13px;line-height:1.6}
.welcome-back{display:grid;gap:12px;padding:20px 22px;border-radius:var(--radius-card);background:linear-gradient(135deg,#f3ecfd,#fdf0f8);border:1px solid #e8dcf6}
.welcome-back ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.welcome-back li{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:13px}
.welcome-back li b{font-size:16px;color:var(--violet)}
.welcome-back li span{flex-basis:100%;padding-left:2px;font-size:12px;color:var(--muted)}
.welcome-back>.button{justify-self:start}
.link-button{padding:0;border:0;background:none;color:var(--violet);font:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}

/* ---------- Чек-лист в карточке задачи ---------- */
.task-checklist{display:grid;gap:10px;margin:18px 0}
.task-checklist h3{display:flex;align-items:baseline;gap:8px;margin:0}
.task-checklist h3 small{font-weight:500;color:var(--muted)}
.task-checklist ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.task-checklist label{display:flex;align-items:flex-start;gap:10px;padding:9px 12px;border-radius:12px;background:#faf8fc;font-size:13px;cursor:pointer}
.task-checklist input{margin-top:2px;width:17px;height:17px;accent-color:var(--violet)}
.task-checklist li.done span{color:var(--muted);text-decoration:line-through}
