.table-responsive-container {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-top: 15px;
    margin-bottom: 15px;
}table {
    border-collapse: collapse;
    width: 100%;
}table th, table td {
    padding: 12px;
    text-align: left;
    white-space: nowrap;
}table th {
    background: #1a4080;
    color: white;
}.performance-row {
    transition: background 0.2s;
}.performance-row:hover {
    background: #e5eeff !important;
}.document-upload-area .progress-bar .progress-fill {
    height: 100%;
    background: #1a4080;
    width: 0%;
    transition: width 0.3s ease;
    border-radius: 4px;
}.table-responsive-container {
    display: block;
    width: 100%;
    overflow-x: scroll; 
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    margin-top: 15px;
    margin-bottom: 15px;
    scrollbar-width: thin;
    scrollbar-color: #1a4080 #f0f0f0;
    min-height: 80px; 
    padding-bottom: 10px; 
}.table-responsive-container::-webkit-scrollbar {
    height: 10px;
    background: #f0f0f0;
    border-radius: 5px;
}.table-responsive-container::-webkit-scrollbar-track {
    background: #f0f0f0;
    border-radius: 5px;
}.table-responsive-container::-webkit-scrollbar-thumb {
    background: #1a4080;
    border-radius: 5px;
}.table-responsive-container::-webkit-scrollbar-thumb:hover {
    background: #0e2045;
}table {
    border-collapse: collapse;
    width: 100%;
    min-width: 600px; 
}table th, table td {
    padding: 12px;
    text-align: left;
    white-space: nowrap;
}table th {
    background: #1a4080;
    color: white;
    position: sticky;
    top: 0;
    z-index: 10;
}#lawyerDashboard .cases-table {
    margin-left: 0 !important;
    table-layout: auto;
    width: 100%;
}#lawyerDashboard .cases-table th,
#lawyerDashboard .cases-table td {
    padding: 6px 8px !important;
    font-size: 13px !important;
    white-space: normal !important;
    word-break: break-word;
}#lawyerDashboard .cases-table td:nth-child(1) { 
    min-width: 90px;
    white-space: nowrap !important;
}#lawyerDashboard .cases-table td:nth-child(2) { 
    max-width: 90px;
}#lawyerDashboard .cases-table td:nth-child(3) { 
    max-width: 100px;
}#lawyerDashboard .cases-table td:nth-child(4) { 
    max-width: 110px;
}#lawyerDashboard .cases-table td:nth-child(5) { 
    white-space: nowrap !important;
}#lawyerDashboard .cases-table td:nth-child(6) { 
    white-space: nowrap !important;
    width: 1px;           
    min-width: 0;
}#lawyerDashboard .cases-table td:nth-child(6) .btn,
#lawyerDashboard .cases-table td:nth-child(6) button {
    display: inline-block !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 2px 1px !important;
    padding: 3px 7px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
}#myCasesPage .table-responsive-container {
    overflow-x: hidden !important; 
}#myCasesPage table.cases-table {
    table-layout: fixed;
    width: 100%;
    min-width: unset !important;
    border-collapse: collapse;
    font-size: 12px;
}#myCasesPage table.cases-table th,
#myCasesPage table.cases-table td {
    padding: 10px 8px !important;
    white-space: normal !important;
    word-break: break-word;
    vertical-align: middle;
}
/* Balanced columns: Case ID / Type / Status stay compact and readable,
   Notes truncates gracefully, Media is just wide enough for the picker,
   Actions has just enough room for its buttons without hogging the row. */
#myCasesPage table.cases-table th:nth-child(1),
#myCasesPage table.cases-table td:nth-child(1) { width: 16%; }#myCasesPage table.cases-table th:nth-child(2),
#myCasesPage table.cases-table td:nth-child(2) { width: 12%; }#myCasesPage table.cases-table th:nth-child(3),
#myCasesPage table.cases-table td:nth-child(3) { width: 13%; }#myCasesPage table.cases-table th:nth-child(4),
#myCasesPage table.cases-table td:nth-child(4) {
    width: 17%;
    max-width: 0;          
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap !important;
}#myCasesPage table.cases-table th:nth-child(5),
#myCasesPage table.cases-table td:nth-child(5) { width: 16%; }#myCasesPage table.cases-table td:nth-child(5) input[type="file"] {
    font-size: 10px;
    width: 100%;
    max-width: 100%;
}#myCasesPage table.cases-table th:nth-child(6),
#myCasesPage table.cases-table td:nth-child(6) { width: 26%; }#myCasesPage table.cases-table td:nth-child(6) .cases-table-actions {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 4px;
}#myCasesPage table.cases-table td:nth-child(6) .btn,
#myCasesPage table.cases-table td:nth-child(6) button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 44px;
    box-sizing: border-box;
    padding: 4px 7px !important;
    font-size: 10px !important;
    margin: 0 !important;
    white-space: nowrap !important;
    vertical-align: middle;
    border-radius: 5px;
}.mtp-stepper-line-fill {
  position: absolute;
  top: 14px;
  left: 14px;
  height: 3px;
  background: linear-gradient(90deg,#1a3270,#2a52a8);
  border-radius: 2px;
  z-index: 0;
  transition: width 0.8s ease;
}

/* ============================================================
   Phone sizing for the My Cases table: keep it as a real table
   (same header row + columns as desktop), just scale it down to
   fit the screen width instead of forcing a min-width and
   scrolling — smaller font/padding, tuned column widths so text
   doesn't wrap awkwardly, badges stay on one line, and the action
   buttons sit in a tidy 2-column grid inside the Actions cell. */
@media (max-width: 767px) {
    #myCasesPage .table-responsive-container {
        overflow-x: hidden !important;
        padding: 0 !important;
        min-height: 0 !important;
    }
    #myCasesPage .table-responsive-container > button {
        width: 100%;
        text-align: center;
    }
    #myCasesPage .table-responsive-container table {
        min-width: 0 !important;
    }
    #myCasesPage table.cases-table {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: fixed;
        font-size: 10.5px;
    }
    #myCasesPage table.cases-table th,
    #myCasesPage table.cases-table td {
        padding: 6px 4px !important;
        font-size: 10.5px;
        white-space: normal !important;
        word-break: break-word;
    }
    #myCasesPage table.cases-table th:nth-child(1),
    #myCasesPage table.cases-table td:nth-child(1) { width: 17%; }
    #myCasesPage table.cases-table th:nth-child(2),
    #myCasesPage table.cases-table td:nth-child(2) { width: 10%; }
    #myCasesPage table.cases-table th:nth-child(3),
    #myCasesPage table.cases-table td:nth-child(3) {
        width: 16%;
        overflow: hidden;
    }
    #myCasesPage table.cases-table th:nth-child(4),
    #myCasesPage table.cases-table td:nth-child(4) {
        width: 15%;
        max-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap !important;
    }
    #myCasesPage table.cases-table th:nth-child(5),
    #myCasesPage table.cases-table td:nth-child(5) { width: 17%; }
    #myCasesPage table.cases-table td:nth-child(5) input[type="file"] {
        font-size: 8px;
        width: 100%;
        max-width: 100%;
    }
    #myCasesPage table.cases-table th:nth-child(6),
    #myCasesPage table.cases-table td:nth-child(6) { width: 25%; }

    #myCasesPage table.cases-table td:nth-child(3) .badge {
        display: inline-block;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 9px;
        padding: 3px 5px;
    }

    #myCasesPage table.cases-table td:nth-child(6) .cases-table-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 4px;
    }
    /* Mobile: the cases list row only needs View + Msg. Docs, Add Info and
       Print move into the footer of the "View Details" window instead
       (see .case-modal-mobile-action in dashboard.css / the modal markup),
       keeping the row compact and putting the rest one tap away. */
    #myCasesPage table.cases-table td:nth-child(6) .cases-table-actions .case-row-secondary-action {
        display: none !important;
    }
    /* If there's an odd number of buttons, let the trailing one span both
       columns instead of dangling alone on the left. */
    #myCasesPage table.cases-table td:nth-child(6) .cases-table-actions > :last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }
    #myCasesPage table.cases-table td:nth-child(6) .btn,
    #myCasesPage table.cases-table td:nth-child(6) button {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box;
        margin: 0 !important;
        padding: 5px 2px !important;
        font-size: 9px !important;
        white-space: nowrap !important;
        border-radius: 5px;
    }
}