/* Раскладка приложения + адаптив (PATCH #33, #35). */
.rd-app { display:flex; height:100vh; width:100%; overflow:hidden; }
.rd-sidebar-full { width:226px; flex:none; background:var(--rd-surface-2); border-right:1px solid var(--rd-border); display:flex; flex-direction:column; }
.rd-sidebar-mini { width:52px; flex:none; background:var(--rd-surface-2); border-right:1px solid var(--rd-border); display:flex; flex-direction:column; align-items:center; padding:13px 0; gap:8px; }
.rd-main-content { flex:1; display:flex; flex-direction:column; min-width:0; min-height:0; background:var(--rd-surface); }
.rd-topbar { height:48px; flex:none; border-bottom:1px solid var(--rd-border); display:flex; align-items:center; padding:0 16px; gap:13px; }
.rd-right-rail { width:316px; flex:none; border-left:1px solid var(--rd-border); background:var(--rd-surface-2); display:flex; flex-direction:column; }

.rd-nav-btn { display:flex; align-items:center; gap:10px; width:100%; padding:7px 9px; border:none; border-radius:8px; font-size:12.5px; cursor:pointer; background:transparent; color:var(--rd-text-2); font-weight:500; text-align:left; }
.rd-nav-btn.active { background:var(--rd-border); color:var(--rd-text); font-weight:600; }
.rd-kpi-row { display:grid; grid-template-columns:repeat(4,1fr); gap:13px; }
.rd-estimate-grid { width:100%; }
.rd-gantt-wrap { flex:1; overflow:auto; min-height:0; }

@media (max-width:768px) {
  .rd-sidebar-full { position:absolute; z-index:40; height:100%; box-shadow:2px 0 16px rgba(0,0,0,.18); }
  .rd-right-rail { display:none; }
  .rd-kpi-row { grid-template-columns:repeat(2,1fr); }
  .rd-topbar { gap:8px; padding:0 10px; overflow-x:auto; }
}
@media (max-width:480px) {
  .rd-kpi-row { grid-template-columns:1fr; }
}
