/* Shared small-screen defaults. Larger screens gain space progressively. */
@media screen {
    .auth-shell { width:100%; padding:1rem; min-height:100dvh; }
    .auth-card { min-width:0; max-width:100%; }
    .auth-body .form-control, .auth-body .form-select { min-height:44px; font-size:1rem; }
    .auth-body .btn, .auth-language a { min-height:44px; }
    .app-main, .app-panel, .app-content-wrapper, [data-case-panel], .row > * { min-width:0; }
    .app-main { padding:1rem .75rem; }
    .app-panel { padding:1rem; border-radius:12px; }
    .app-page-header { align-items:flex-start; flex-wrap:wrap; }
    .app-page-header h1 { font-size:clamp(1.25rem,3vw,1.75rem); overflow-wrap:anywhere; }
    .app-body .btn, .app-body .dropdown-item, .app-body .page-link { min-height:44px; }
    .app-body .btn { white-space:normal; }
    .app-body .form-control, .app-body .form-select { min-height:44px; font-size:1rem; max-width:100%; }
    .app-body input[type=checkbox], .app-body input[type=radio] { width:1.2rem; height:1.2rem; }
    .app-body label { line-height:1.5; }
    .app-body .select2-container { max-width:100%; }
    .app-body .select2-selection--single { min-height:44px; display:flex; align-items:center; }
    .app-body .select2-selection__arrow { top:9px !important; }
    .app-body .select2-results__option { padding:.7rem; }
    .detail-actions { margin:0 0 1rem; justify-content:flex-start; flex-wrap:wrap; gap:.5rem; }
    .detail-actions > .btn { flex:1 1 140px; }
    .table-responsive { max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; border-radius:8px; }
    .table-responsive:focus-visible { outline:3px solid #91c5e8; outline-offset:2px; }
    .table-responsive table { margin-bottom:.5rem; }
    .table-responsive th { white-space:nowrap; }
    .dt-container { min-width:0; }
    .dt-container .dt-layout-row { gap:.75rem; flex-wrap:wrap; }
    .dt-container .dt-search input { max-width:100%; }
    .dt-container .pagination { flex-wrap:wrap; gap:.2rem; }
    .detail-list dd, .approval-facts dd, .app-panel p, .contact-timeline { overflow-wrap:anywhere; }
    .case-context { position:static; gap:.5rem 1rem; font-size:.9rem; }
    .case-workspace-nav { display:flex; flex-wrap:nowrap; overflow-x:auto; max-width:100%; top:var(--lm-navbar-height); gap:.35rem; padding:.5rem; }
    .case-workspace-nav a { flex:0 0 auto; min-height:44px; display:flex; align-items:center; white-space:nowrap; }
    .case-filter-bar > div, .case-filter-bar .select2-container { min-width:0; }
    .modal-dialog { margin:.65rem; }
    .modal-content { max-height:calc(100dvh - 1.3rem); border-radius:14px; }
    .modal-body { overflow-y:auto; }
    .modal-footer { gap:.5rem; }
    .ajax-loading { bottom:max(.75rem,env(safe-area-inset-bottom)); right:.75rem; max-width:calc(100vw - 1.5rem); }
    .timeline-tools { display:grid; grid-template-columns:1fr; gap:.75rem; margin:1rem 0; }
    .timeline-tools label { display:block; font-size:.85rem; font-weight:600; margin-bottom:.35rem; }
    .case-unified-timeline { width:100%; }
    .case-unified-timeline > li[hidden] { display:none !important; }
    .case-unified-timeline > li { display:block; padding:0 0 1rem 1.5rem; min-width:0; }
    .case-unified-timeline > li::before { content:''; position:absolute; left:.2rem; top:1.35rem; width:.75rem; height:.75rem; background:#438eb9; border:3px solid #edf6fc; border-radius:50%; }
    .case-unified-timeline .timeline-card { min-width:0; width:100%; padding:1rem; border-radius:12px; box-shadow:0 2px 8px #193d5908; }
    .timeline-card .timeline-meta { display:flex; flex-wrap:wrap; flex-direction:row; justify-content:flex-start; gap:.4rem .75rem; margin:0 0 .6rem; font-size:.8rem; }
    .timeline-card strong { display:block; font-size:1rem; color:#183b55; overflow-wrap:anywhere; }
    .timeline-card .timeline-type { background:#eef6fb; padding:.25rem .5rem; border-radius:6px; font-size:.75rem; letter-spacing:0; }
    .timeline-card details { margin-top:.6rem; }
    .timeline-card summary { cursor:pointer; padding:.65rem 0; color:#316e95; }
    .timeline-card p { font-size:.9rem; line-height:1.65; }
    .timeline-card a { display:inline-flex; align-items:center; min-height:44px; margin-top:.4rem; font-weight:600; }
    [data-official-history]:not(:empty) { padding:1rem; background:#f4f9fc; border:1px solid #dbe8ef; border-radius:12px; margin-bottom:1rem; }
    [data-official-history] summary { cursor:pointer; min-height:44px; font-weight:600; }
    @media (max-width:767.98px) {
        .dashboard-grid, .detail-summary-grid, .approval-card-grid, .platform-config-layout, .hearing-content-grid, .detail-list, .approval-facts, .receipt-details { grid-template-columns:minmax(0,1fr); }
        .hearing-filter-bar, .platform-command-grid, .administration-links { grid-template-columns:minmax(0,1fr); }
        .app-navbar { padding-right:.35rem; }
        .app-navbar > .app-brand { padding:.5rem; margin-right:0; }
        .app-navbar-actions { gap:0; }
        .app-navbar-button, .app-user-button { padding:.4rem; }
        .app-sidebar { width:min(285px,85vw); height:calc(100dvh - var(--lm-navbar-height)); overflow-y:auto; }
        .panel-toolbar, .hearing-toolbar, .case-lifecycle-heading { flex-direction:column; align-items:stretch; }
        .case-filter-bar > div { width:100%; }
        .compact-filter, .reject-form .form-control { min-width:0; width:100%; }
        .reject-form { flex-wrap:wrap; }
        .platform-kpi-grid, .case-lifecycle-grid, .dashboard-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
        .calendar-toolbar { flex-wrap:wrap; gap:.5rem; }
        .hearing-calendar { max-width:100%; overflow-x:auto; grid-template-columns:repeat(7,minmax(105px,1fr)); }
    }
    @media (min-width:768px) {
        .app-main { padding:1.5rem; }
        .app-panel { padding:1.25rem; }
        .detail-actions > .btn { flex:0 1 auto; }
        .timeline-tools { grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto; align-items:end; }
        .modal-dialog { margin:1.75rem auto; }
    }
}
