@media (max-width: 1180px) {
    .portal { width: calc(100% - 20px); margin: 10px; min-height: calc(100vh - 20px); }
    .dashboard { grid-template-columns: minmax(0, 1fr) 310px; }
    .submission-grid { grid-template-columns: 1fr; }
}

@media (max-width: 1100px) {
    .dashboard { grid-template-columns: 1fr; }
    .rail { padding: 0 12px 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .comments-card { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
    :root { --sidebar-width: 0px; }
    .auth-view { grid-template-columns: 1fr; }
    .auth-aside { display: none; }
    .portal-grid { grid-template-columns: 1fr; }
    .sidebar { position: fixed; z-index: 20; top: var(--topbar-height); bottom: 0; left: 0; width: 220px; transform: translateX(-105%); border-right: 1px solid var(--line); box-shadow: var(--shadow-lg); transition: transform .22s ease; }
    .sidebar.is-open { transform: translateX(0); }
    .mobile-only { display: grid; }
    .topbar { grid-template-columns: auto 1fr auto; gap: 10px; }
    .topbar-title { display: none; }
    .actionbar { position: sticky; bottom: 0; }
}

@media (max-width: 640px) {
    body { background: #fff; }
    .auth-view { width: 100%; min-height: 100vh; margin: 0; border: 0; border-radius: 0; box-shadow: none; }
    .auth-card { min-height: 0; padding: 24px 20px; border-radius: 0; }
    .auth-brand { margin-bottom: 16px; font-size: 16px; }
    .login-logo-mark svg { width: 42px; height: 42px; }
    .auth-lock-badge { width: 52px; height: 52px; }
    .auth-card h1 { font-size: 30px; }
    .auth-copy { margin: 10px auto 18px; font-size: 13px; }
    .auth-input-wrap input { height: 48px; font-size: 14px; }
    .auth-submit { min-height: 50px; margin-top: 10px; font-size: 13px; }
    .auth-trust-box { margin-top: 16px; padding: 10px 14px; }
    .portal { width: 100%; min-height: 100vh; margin: 0; border-width: 0; border-radius: 0; }
    .brand { font-size: 11px; letter-spacing: .08em; }
    .brand-mark svg { width: 22px; height: 22px; }
    .account-menu span { display: none; }
    .contextbar { align-items: flex-start; flex-direction: column; padding: 10px 12px; }
    .breadcrumbs { width: 100%; }
    .breadcrumbs select { width: 100%; }
    .request-meta { width: 100%; justify-content: space-between; }
    .delivery-column { padding: 8px; }
    .rail { padding: 0 8px 8px; grid-template-columns: 1fr; }
    .comments-card { grid-column: auto; }
    .progress-panel { padding: 15px 12px; overflow-x: auto; }
    .progress-track { min-width: 550px; }
    .requirements-panel { padding-inline: 12px; }
    .requirements-list { margin-inline: -12px; }
    .requirement { grid-template-columns: 25px minmax(0, 1fr) auto; }
    .requirement > svg { display: none; }
    .submission-grid { gap: 8px; }
    .credential-panel, .files-panel { padding: 14px; }
    .file-row { grid-template-columns: 28px minmax(0, 1fr) auto auto; }
    .file-row .status { display: none; }
    .actionbar { padding: 10px; }
    .actionbar p { display: none; }
    .button-accent { width: 100%; min-width: 0; }
}
