/* v1.9.86 — regras de celular migradas para mobile.css (arquivo unico, corte 650px). */
/* v1.5.83 — responsividade global para celulares, tablets, notebooks e ultrawide */
    html {
      -webkit-text-size-adjust: 100%;
      text-size-adjust: 100%;
      scroll-padding-top: 86px;
    }
    body { min-width: 0; overflow-x: hidden; }
    img, svg, video, canvas { max-width: 100%; }
    button, input, select, textarea { max-width: 100%; }
    .appbar > *, .appbar-actions > *, .page-head > *, .head-actions > *,
    .section-title > *, .dashboard-grid > *, .monitor-grid > *, .filters > *,
    .queue-item > *, .calendar-toolbar > *, .calendar-toolbar-left > *,
    .calendar-toolbar-right > *, .form-grid > *, .modal-foot > * { min-width: 0; }
    .main, .page, .card, .table-wrap, .calendar-shell, #calendarContent,
    .modal-body { max-width: 100%; }
    .table-wrap, #calendarContent {
      overscroll-behavior-inline: contain;
      -webkit-overflow-scrolling: touch;
      scrollbar-gutter: stable;
    }
    .table-wrap table { width: 100%; }
    .page-head h1, .section-title h2, .queue-name, .lawyer-name,
    .appointment-link, .monitor-live-client { overflow-wrap: anywhere; }
    .head-actions { justify-content: flex-end; }
    .modal { width: min(610px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); }
    .modal.modal-lg { width: min(820px, calc(100vw - 24px)); }
    .modal.modal-xl { width: min(1040px, calc(100vw - 24px)); }
    .call-popup { width: min(680px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); overflow-y: auto; }
    .monitor-call { min-height: clamp(280px, 48vh, 430px); }
    .monitor-call.is-empty { min-height: clamp(180px, 28vh, 245px); }

    /* Notebooks e telas intermediárias com menu lateral */
    @media (min-width: 651px) and (max-width: 1400px) {
      .stats-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
      .queue-item {
        grid-template-columns: 58px minmax(240px,1fr) 92px 116px minmax(280px,auto);
      }
      .queue-item .queue-lawyer { display: none; }
      .queue-lawyer-mobile { display: block; }
      .queue-actions { flex-wrap: wrap; }
      .filters, .filters[style] { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
      .danger-actions-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    }

    /* O menu vira gaveta antes de começar a esmagar o conteúdo */
    @media (min-width: 651px) and (max-width: 1100px) {
      .mobile-menu-toggle { display: grid; }
      .sidebar {
        transform: translateX(-105%);
        width: min(288px, 86vw);
        padding: 18px 14px 22px;
        box-shadow: 18px 0 40px rgba(20,30,34,.18);
      }
      .sidebar.open { transform: translateX(0); }
      .main, .app-shell.sidebar-collapsed .main { margin-left: 0; }
      .app-footer, .app-shell.sidebar-collapsed .app-footer { left: 0; }
      .app-shell.sidebar-collapsed .sidebar { width: min(288px,86vw); padding: 18px 14px 22px; }
      .app-shell.sidebar-collapsed .nav-section-title { display: block; }
      .app-shell.sidebar-collapsed .nav-label { display: inline; }
      .app-shell.sidebar-collapsed .nav-btn { justify-content: flex-start; gap: 11px; padding: 11px 12px; }
      .app-shell.sidebar-collapsed .nav-icon { flex-basis: 27px; width: 27px; font-size: 17px; }
      .sidebar-collapse-btn { display: none; }
      .dashboard-grid, .monitor-grid { grid-template-columns: 1fr; }
      .monitor-call { grid-row: auto; }
      .lawyer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
      .queue-item {
        grid-template-columns: 56px minmax(230px,1fr) 88px 112px minmax(260px,auto);
      }
      .page-sticky-table { overflow-x: auto; overflow-y: visible; }
      .page-sticky-table thead th { position: static; }
    }

    /* Tablets: reorganiza a fila sem esconder horário ou situação */
    @media (min-width: 651px) and (max-width: 860px) {
      .app-brand { min-width: auto; }
      .app-brand > div:last-child { display: none; }
      .appbar-center { display: none; }
      .main { padding-left: 16px; padding-right: 16px; }
      .page-head { flex-direction: column; align-items: stretch; gap: 13px; }
      .head-actions { width: 100%; justify-content: flex-start; }
      .head-actions .btn { flex: 0 1 auto; }
      .stats-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
      .filters, .filters[style] { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
      .queue-item {
        grid-template-columns: 52px minmax(0,1fr);
        gap: 9px 12px;
        align-items: start;
        padding: 12px;
      }
      .queue-item > .queue-order { grid-column: 1; grid-row: 1 / span 3; width: 52px; min-height: 52px; }
      .queue-item > div:nth-child(2) { grid-column: 2; min-width: 0; }
      .queue-item .queue-lawyer { display: none !important; }
      .queue-lawyer-mobile { display: block; }
      .queue-item .queue-time {
        display: block !important;
        grid-column: 2;
        width: fit-content;
        min-width: 0;
      }
      .queue-item .queue-status { display: block !important; grid-column: 2; }
      .queue-item .queue-status .status-pill { width: fit-content; max-width: 100%; }
      .queue-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
        flex-wrap: wrap;
        padding-top: 4px;
      }
      .queue-actions .btn { flex: 0 1 auto; }
      .outcome-row { grid-template-columns: minmax(0,1fr); }
      .outcome-time { justify-content: flex-start; }
      .appointment-contact-grid, .appointment-detail-notes { grid-template-columns: 1fr; }
      .appointment-meta-row { grid-template-columns: 1fr; }
      .form-grid { grid-template-columns: repeat(6,minmax(0,1fr)); }
      .form-grid .span-12, .form-grid .span-8, .form-grid .span-6 { grid-column: span 6; }
      .form-grid .span-4, .form-grid .span-3, .form-grid .span-2 { grid-column: span 3; }
      .appointment-operational-row { grid-column: span 6; grid-template-columns: repeat(2,minmax(0,1fr)); }
      .modal.modal-edit-appointment .edit-appointment-operational-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
      .modal.modal-edit-appointment .edit-appointment-operational-row .field:first-child { grid-column: span 2; }
      .modal.modal-edit-appointment .edit-appointment-client-row,
      .modal.modal-edit-client .client-edit-grid { grid-template-columns: minmax(0,1fr); }
      .modal.modal-edit-appointment .field-edit-client-name,
      .modal.modal-edit-client .client-edit-process { grid-column: auto; }
      .calendar-toolbar { align-items: stretch; }
      .calendar-toolbar-left, .calendar-toolbar-right { flex: 1 1 100%; }
      .calendar-toolbar-right { justify-content: space-between; }
      .calendar-title { width: 100%; font-size: clamp(18px,3.5vw,25px); }
      .calendar-legend { overflow-x: auto; flex-wrap: nowrap; justify-content: flex-start; }
      .calendar-grid, .calendar-weekdays-row { min-width: 760px; }
      .calendar-day-item { grid-template-columns: 72px minmax(0,1fr); }
      .calendar-day-item > *:nth-child(n+3) { grid-column: 2; }
      .monitor-top { align-items: stretch; flex-direction: column; }
      .monitor-filter { width: 100%; min-width: 0; }
      .monitor-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
      .monitor-live-item { grid-template-columns: minmax(0,1fr); }
      .monitor-live-status { justify-self: start; }
    }

    /* Celulares */
    

    

    

    /* Telas baixas, zoom alto e notebooks compactos */
    @media (max-height: 720px) {
      .monitor-call { min-height: 250px; }
      .monitor-call.is-empty { min-height: 150px; }
      .monitor-live-list.is-scrollable { max-height: 250px; }
      .modal, .call-popup { max-height: calc(100dvh - 12px); }
      .login-hero { min-height: auto; }
    }

    @media (hover: none) {
      .btn:hover, .queue-item:hover, .calendar-event:hover,
      .appointment-copy-card:hover, .monitor-live-item:hover { transform: none; }
    }

  

    /* v1.5.89 — exibe ordem da fila e posição real do atendimento */
    .queue-order.attended-order {
      min-height: 72px !important;
      padding: 6px 3px !important;
      gap: 2px;
    }
    .queue-order.attended-order .queue-original-order {
      display: block;
      font-size: 18px;
      line-height: 1;
      font-weight: 950;
    }
    .queue-order.attended-order .queue-attended-label {
      display: block;
      max-width: none;
      font-size: 8px;
      line-height: 1.05;
      font-weight: 950;
      letter-spacing: .055em;
      opacity: .82;
    }
    .queue-order.attended-order .queue-attended-rank {
      display: block;
      max-width: none;
      margin-top: 0;
      font-size: 8px;
      line-height: 1.05;
      font-weight: 950;
      letter-spacing: .04em;
      opacity: 1;
    }
    .queue-order.attended-order .queue-attended-rank b {
      font-size: 13px;
      line-height: 1;
    }

  
    /* v1.5.90 — o acompanhamento não acompanha a altura da coluna lateral */
    .monitor-grid { align-items:start; }
    .monitor-call { align-self:start; }
    .monitor-call:not(.is-empty) {
      min-height:0;
      height:auto;
      padding:28px;
      place-items:stretch;
      text-align:left;
    }
    .monitor-call:not(.is-empty) .monitor-live-title { margin-bottom:14px; }
    .monitor-call:not(.is-empty) .monitor-live-list.is-scrollable {
      max-height:364px;
      overflow-y:auto;
      overscroll-behavior:contain;
      scrollbar-gutter:stable;
    }
    @media (min-width: 651px) and (max-width:760px) {
      .monitor-call:not(.is-empty) { padding:20px 16px; }
      .monitor-call:not(.is-empty) .monitor-live-list.is-scrollable { max-height:330px; }
    }

    /* v1.5.93 — Recepção pode iniciar e concluir atendimentos */
    .monitor-grid {
      --monitor-board-height: clamp(430px, calc(100vh - 300px), 560px);
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
      align-items: start;
    }
    .monitor-grid .monitor-call {
      grid-column: span 2;
      grid-row: auto;
      width: 100%;
      min-width: 0;
    }
    .monitor-grid .monitor-list-card {
      width: 100%;
      min-width: 0;
      min-height: 0;
      display: flex;
      flex-direction: column;
      overflow: hidden;
    }
    .monitor-grid.has-live .monitor-call,
    .monitor-grid.has-live .monitor-list-card {
      height: var(--monitor-board-height) !important;
      min-height: var(--monitor-board-height) !important;
      max-height: var(--monitor-board-height) !important;
    }
    .monitor-grid:not(.has-live) .monitor-call.is-empty,
    .monitor-grid:not(.has-live) .monitor-list-card {
      height: 245px !important;
      min-height: 245px !important;
      max-height: 245px !important;
    }
    .monitor-grid .monitor-call:not(.is-empty) {
      overflow: hidden;
    }
    .monitor-grid .monitor-live-wrap {
      height: 100%;
      min-height: 0;
      display: flex;
      flex-direction: column;
    }
    .monitor-grid .monitor-live-list,
    .monitor-grid .monitor-live-list.is-scrollable {
      min-height: 0;
      flex: 1;
      max-height: none;
      overflow-y: auto;
      overscroll-behavior: contain;
      scrollbar-gutter: stable;
      padding-right: 8px;
    }
    #monitorWaiting,
    #monitorAttended {
      min-height: 0;
      flex: 1;
      overflow-y: auto;
      overscroll-behavior: contain;
      scrollbar-gutter: stable;
      padding-right: 7px;
    }
    #monitorWaiting::-webkit-scrollbar,
    #monitorAttended::-webkit-scrollbar { width: 9px; }
    #monitorWaiting::-webkit-scrollbar-track,
    #monitorAttended::-webkit-scrollbar-track { background: var(--surface-2); border-radius: 999px; }
    #monitorWaiting::-webkit-scrollbar-thumb,
    #monitorAttended::-webkit-scrollbar-thumb { background: var(--border-strong, var(--border)); border: 2px solid transparent; background-clip: padding-box; border-radius: 999px; }
    .monitor-list-card .waiting-row {
      grid-template-columns: 34px minmax(0, 1fr) auto;
      gap: 8px;
      padding: 10px 0;
    }
    .monitor-list-card .lawyer-badge.compact {
      max-width: 100%;
    }
    .monitor-footer {
      position: sticky;
      bottom: -22px;
      z-index: 73;
      min-height: 56px;
      margin: 18px -22px -22px;
      padding: 9px 18px calc(9px + env(safe-area-inset-bottom));
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 2px;
      border-top: 1px solid var(--border);
      background: var(--surface);
      box-shadow: 0 -8px 24px rgba(32,16,20,.08);
      color: var(--text);
      text-align: center;
    }
    .monitor-footer strong { font-size: 13px; line-height: 1.2; }
    .monitor-footer span { color: var(--muted); font-size: 11px; line-height: 1.2; font-weight: 700; }
    .monitor-footer .support-footer-button { font-size:11px; }
    @media (min-width: 651px) and (max-width: 1279px) {
      .monitor-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
      .monitor-grid .monitor-call { grid-column: span 2; }
    }
    @media (min-width: 651px) and (max-width: 760px) {
      .monitor-grid { grid-template-columns: 1fr; --monitor-board-height: min(520px, calc(100vh - 180px)); }
      .monitor-grid .monitor-ca