/* Wspólna geometria wszystkich widoków po zalogowaniu. */
.app-shell{--dashboard-width:1120px;--dashboard-gutter:24px}
.app-shell main#main{max-width:calc(var(--dashboard-width) + 2 * var(--dashboard-gutter));margin:0;padding:24px var(--dashboard-gutter) 16px}
.app-shell .topbar{height:58px;min-height:58px;padding:0 var(--dashboard-gutter)}
.app-shell .topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;max-width:var(--dashboard-width);min-width:0}
.app-shell .topbar-right{flex:0 1 auto;gap:14px;min-width:0}
.app-shell .global-search{min-width:0}
.app-shell .global-search input{min-width:0}
.app-shell .footer{max-width:calc(var(--dashboard-width) + 2 * var(--dashboard-gutter));padding-inline:var(--dashboard-gutter)}
.app-shell .detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}
.app-shell .post-detail-grid:not(:has(>aside)){grid-template-columns:minmax(0,850px)}
.app-shell .detail-grid>aside{min-width:0;width:100%}
.app-shell .detail-grid>aside>.card{width:100%}
@media(max-width:1000px){
 .app-shell .detail-grid{grid-template-columns:minmax(0,1fr)}
 .app-shell .task-detail-grid>aside{display:flex;flex-direction:column;gap:0;order:0}
 .app-shell .task-detail-grid .task-settings{order:0}
 .app-shell .task-detail-grid .task-watchers{order:1}
}
@media(max-width:760px){
 .app-shell{--dashboard-gutter:16px}
 .app-shell .topbar-inner{gap:12px}
 .app-shell .topbar-right{flex:1;gap:12px}
}
/* Wspólne detale i mobilna belka. Nawigacja boczna zachowuje swój układ. */
.app-shell .main-shell .avatar{border-radius:50%}
.app-shell :is(a,button,summary):focus-visible{outline:2px solid #007eac;outline-offset:3px}
.mobile-page-title,.mobile-search-toggle{display:none}
.mobile-home-brand{display:none}
summary::-webkit-details-marker{display:none}
@media(max-width:760px){
 .app-shell .topbar{height:56px;min-height:56px}
 .app-shell .topbar-inner{gap:8px}
 .app-shell .topbar-left{min-width:0}
 .mobile-page-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px;font-weight:600;color:var(--ink)}
 .app-shell .topbar .mobile-home-brand{display:flex;align-items:center;width:112px;height:44px;margin:0;padding:0;line-height:0;flex-shrink:0}
 .app-shell .topbar .global-search{display:none;position:absolute;top:56px;left:16px;right:16px;width:auto;max-width:none;z-index:30;background:#fff}
 .app-shell .topbar.search-open .global-search{display:flex}
 .mobile-search-toggle{display:inline-flex}
 .app-shell .topbar-right{flex:0 0 auto;gap:8px;margin-left:auto}
 .app-shell .topbar .icon-button,.app-shell .topbar .notification-link{min-width:44px;min-height:44px}
 .app-shell .topbar .notification-link>span,.app-shell .topbar [data-own-avatar]{display:none}
}

/* Prywatna blokada Movies nie zmienia uprawnień pozostałych osób. */
.project-privacy-row{display:flex;align-items:center;gap:4px;min-width:0}
.project-privacy-row>.project-link{flex:1;min-width:0}
.project-privacy-row>form{flex-shrink:0}.project-privacy-row .icon-button{width:36px;height:36px;color:#c7d0d2}
.project-privacy-name{flex:1;min-width:0;padding:8px 14px;font-size:12px;color:#bdc7c8}
@media(max-width:1000px){.project-privacy-row .icon-button{width:44px;height:44px}}

/* Najbliższy wywiad w nawigacji — animacja bez migania i zmian układu. */
.sidebar .nav-interviews{gap:8px;padding-inline:12px;min-width:0}.interview-nav-badge{display:inline-flex;align-items:center;gap:3px;margin-left:auto;padding:3px 5px;border-radius:5px;font-size:10px;line-height:16px;font-weight:600;white-space:nowrap;flex-shrink:0}.interview-nav-symbol{display:inline-flex;align-items:center}.interview-nav-badge[hidden],.interview-nav-symbol[hidden]{display:none!important}.sidebar .interview-nav-symbol svg{width:12px;height:12px;color:inherit}.interview-nav-badge.range-today{background:#ffe3b7;color:#713b00}.interview-nav-badge.range-tomorrow{background:#d9f1ff;color:#005b85}.interview-nav-badge.range-day-after{background:#ebe2ff;color:#59369c}.interview-nav-badge.range-upcoming{background:#e2eaf2;color:#3b566c}
.interview-nav-badge.range-today,.interview-nav-badge.range-tomorrow,.interview-nav-badge.range-day-after{transform-origin:right center;animation:interview-nav-attention 2s ease-in-out infinite}
.interview-nav-badge.range-today{animation-duration:1.6s}.interview-nav-badge.range-day-after{animation-duration:2.4s}
.range-today .interview-nav-symbol,.range-tomorrow .interview-nav-symbol,.range-day-after .interview-nav-symbol{animation:interview-nav-step 2s ease-in-out infinite}
@keyframes interview-nav-attention{0%,100%{transform:scale(1);box-shadow:0 0 0 0 #ffffff00}50%{transform:scale(1.08);box-shadow:0 0 0 4px #ffffff30}}
@keyframes interview-nav-step{0%,60%,100%{transform:translateX(0) rotate(0)}25%{transform:translateX(2px) rotate(-12deg)}40%{transform:translateX(-1px) rotate(10deg)}}
@media(prefers-reduced-motion:reduce){.interview-nav-badge.range-today,.interview-nav-badge.range-tomorrow,.interview-nav-badge.range-day-after,.range-today .interview-nav-symbol,.range-tomorrow .interview-nav-symbol,.range-day-after .interview-nav-symbol{animation:none}}
