/* Shell responsiveness and mobile layout. */

@media (max-width:1280px){
  .app{
    grid-template-columns:250px minmax(0,1fr);
    padding-inline:18px;
  }

  .main{
    width:100%;
  }

  .section-meta,
  .integration-grid,
  .integration-card .settings-list{
    grid-template-columns:1fr;
    min-width:0;
  }
}

@media (max-width:980px){
  body{
    overflow:auto;
  }

  .app{
    grid-template-columns:1fr;
    grid-template-areas:
      "nav"
      "rail"
      "main";
    grid-template-rows:auto auto auto;
    height:auto;
    min-height:100vh;
    padding:14px;
  }

  nav{
    position:static;
    grid-template-columns:1fr;
    justify-items:start;
  }

  .ns{
    width:100%;
    justify-content:flex-start;
  }

  .nav-message{
    white-space:normal;
  }

  .shell-rail{
    position:static;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    padding:12px;
  }

  .new-thread,
  .rail-group,
  .rail-presence{
    grid-column:span 1;
  }

  .rail-group:first-of-type{
    grid-column:1 / -1;
  }

  .main{
    width:100%;
  }

  .section-bar,
  .starter-strip,
  .quick-grid,
  .comm-grid,
  .report-grid,
  .field-grid,
  .integration-grid,
  .integration-card .settings-list{
    grid-template-columns:1fr;
  }

  .section-bar{
    flex-direction:column;
    align-items:flex-start;
  }

  .comm-metrics,
  .work-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .work-grid,
  .settings-grid{
    grid-template-columns:1fr;
  }

  .span-4,
  .span-5,
  .span-7,
  .span-8{
    grid-column:auto;
  }

  .R{
    top:12px;
    right:12px;
    bottom:12px;
    width:min(360px,calc(100vw - 24px));
  }
}

@media (max-width:640px){
  .shell-rail{
    grid-template-columns:1fr;
  }

  .status-pill{
    min-width:0;
  }

  .section-bar h1{
    font-size:36px;
  }

  .starter{
    min-height:auto;
    padding:24px 14px 12px;
  }

  .starter h1{
    font-size:42px;
  }

  .starter-topline{
    gap:12px;
  }

  .starter-mark{
    width:52px;
    height:52px;
    font-size:31px;
  }

  .comm-metrics,
  .work-stats{
    grid-template-columns:1fr;
  }

  .cb,
  .sp,
  .tp,
  .cp{
    padding:16px;
  }

  .cf{
    padding:12px 14px 16px;
  }

  .iw{
    flex-direction:column;
    align-items:stretch;
  }

  .composer-access,
  .sb{
    align-self:stretch;
    width:100%;
  }
}
