/* v1.9.0 — experiência mobile dedicada */
    .mobile-only,
    .mobile-bottom-nav,
    .mobile-queue-tabs,
    .mobile-filter-summary,
    .mobile-drawer-head,
    .mobile-filter-backdrop,
    .mobile-calendar-strip,
    .mobile-card-toggle { display: none; }

    /* v1.9.1 — agenda mobile orientada ao dia */
    .mobile-calendar-quick-actions,
    .mobile-calendar-filter-done,
    .mobile-calendar-filter-backdrop,
    .calendar-mobile-only,
    .calendar-next-label,
    .calendar-detail-mobile,
    .calendar-kpi-icon,
    .calendar-priority-badge { display: none; }
    .connection-status {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      min-height: 32px;
      padding: 0 10px;
      border: 1px solid rgba(255,255,255,.18);
      border-radius: 999px;
      background: rgba(255,255,255,.09);
      color: rgba(255,255,255,.88);
      font-size: 10px;
      font-weight: 900;
      white-space: nowrap;
    }
    .connection-status::before {
      content: '';
      width: 8px;
      height: 8px;
      flex: 0 0 auto;
      border-radius: 50%;
      background: #7bf2b6;
      box-shadow: 0 0 0 3px rgba(123,242,182,.15);
    }
    .connection-status.is-reconnecting::before { background: #ffd17d; box-shadow: 0 0 0 3px rgba(255,209,125,.15); }
    .connection-status.is-offline::before { background: #ff8e98; box-shadow: 0 0 0 3px rgba(255,142,152,.15); }
    .monitor-page { z-index: 180; }

    @media (max-width: 650px) {
      :root { --mobile-nav-height: 68px; }
      .mobile-only { display: inline-flex; }
      .calendar-mobile-only { display: inline-flex; }
      .appbar .connection-status {
        position: fixed;
        top: 69px;
        left: 50%;
        z-index: 78;
        min-height: 26px;
        transform: translateX(-50%);
        border-color: var(--border);
        background: var(--surface);
        color: var(--muted);
        box-shadow: 0 5px 16px rgba(20,40,44,.12);
        pointer-events: none;
      }
      .main { padding-top: 104px; padding-bottom: calc(var(--mobile-nav-height) + 18px + env(safe-area-inset-bottom)); }
      .app-footer { display: none; }
      .mobile-bottom-nav {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 115;
        min-height: var(--mobile-nav-height);
        display: grid;
        grid-template-columns: repeat(3,minmax(0,1fr));
        padding: 5px 6px calc(5px + env(safe-area-inset-bottom));
        border-top: 1px solid var(--border);
        background: var(--surface);
        background: color-mix(in srgb,var(--surface) 96%,transparent);
        box-shadow: 0 -10px 28px rgba(20,40,44,.13);
        backdrop-filter: blur(16px);
      }
      .mobile-nav-btn {
        min-width: 0;
        min-height: 54px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        border: 0;
        border-radius: 13px;
        background: transparent;
        color: var(--muted);
        font: inherit;
        font-size: 10px;
        font-weight: 900;
      }
      .mobile-nav-btn span:first-child { font-size: 20px; line-height: 1; }
      .mobile-nav-btn.active { background: var(--primary-soft); color: var(--primary); }

      #page-queue .page-head .head-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
      #page-queue .page-head .head-actions .mobile-filter-open-btn { display: inline-flex; }
      #page-queue .page-head .head-actions [onclick="window.print()"] { display: none; }
      .mobile-queue-tabs {
        position: sticky;
        top: 96px;
        z-index: 26;
        display: grid;
        grid-template-columns: repeat(3,minmax(0,1fr));
        gap: 5px;
        margin: 0 0 8px;
        padding: 5px;
        border: 1px solid var(--border);
        border-radius: 15px;
        background: var(--surface);
        box-shadow: 0 8px 20px rgba(20,40,44,.08);
      }
      .mobile-queue-tab {
        min-height: 50px;
        display: grid;
        place-items: center;
        gap: 2px;
        padding: 5px 3px;
        border: 0;
        border-radius: 11px;
        background: transparent;
        color: var(--muted);
        font: inherit;
        font-size: 10px;
        font-weight: 900;
      }
      .mobile-queue-tab strong { font-size: 16px; color: var(--text); }
      .mobile-queue-tab.active { background: var(--primary); color: #fff; }
      .mobile-queue-tab.active strong { color: #fff; }
      .mobile-filter-summary {
        display: flex;
        align-items: center;
        gap: 6px;
        margin: 0 0 10px;
        overflow-x: auto;
        scrollbar-width: none;
      }
      .mobile-filter-summary::-webkit-scrollbar { display: none; }
      .mobile-filter-chip {
        flex: 0 0 auto;
        padding: 6px 9px;
        border: 1px solid var(--border);
        border-radius: 999px;
        background: var(--surface-2);
        color: var(--muted);
        font-size: 10px;
        font-weight: 850;
      }
      #queueFiltersDrawer {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 205;
        width: 100%;
        max-height: min(84dvh,760px);
        margin: 0;
        overflow-y: auto;
        border-radius: 22px 22px 0 0;
        transform: translateY(105%);
        visibility: hidden;
        transition: transform .22s ease, visibility .22s;
        box-shadow: 0 -20px 55px rgba(10,30,34,.30);
      }
      #queueFiltersDrawer.open { transform: translateY(0); visibility: visible; }
      #queueFiltersDrawer .filters { padding: 8px 14px calc(18px + env(safe-area-inset-bottom)); }
      .mobile-drawer-head {
        position: sticky;
        top: 0;
        z-index: 3;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 14px;
        border-bottom: 1px solid var(--border);
        background: var(--surface);
      }
      .mobile-drawer-head strong { font-size: 18px; }
      .mobile-drawer-head button { width: 44px; height: 44px; }
      .mobile-filter-backdrop {
        position: fixed;
        inset: 0;
        z-index: 200;
        background: rgba(7,31,36,.55);
        opacity: 0;
        visibility: hidden;
        transition: opacity .2s ease, visibility .2s;
      }
      .mobile-filter-backdrop.open { opacity: 1; visibility: visible; }
      body.mobile-drawer-open { overflow: hidden; }

      #page-queue .queue-mode-bar { display: none; }
      #page-queue > .card:last-child { border-radius: 16px; }
      #page-queue .queue-item {
        position: relative;
        grid-template-columns: 46px minmax(0,1fr) auto;
        gap: 8px 10px;
        padding: 11px;
      }
      #page-queue .queue-item > .queue-order { grid-column: 1; grid-row: 1 / span 2; width: 46px; min-height: 46px; }
      #page-queue .queue-item > div:nth-child(2) { grid-column: 2 / -1; }
      #page-queue .queue-item .queue-status { grid-column: 2; grid-row: 2; align-self: center; }
      #page-queue .queue-item .mobile-card-toggle {
        grid-column: 3;
        grid-row: 2;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 76px;
        min-height: 38px;
        padding: 7px 9px;
        border: 1px solid var(--border);
        border-radius: 10px;
        background: var(--surface);
        color: var(--primary);
        font: inherit;
        font-size: 10px;
        font-weight: 900;
      }
      #page-queue .queue-item:not(.mobile-expanded) .queue-created-by,
      #page-queue .queue-item:not(.mobile-expanded) .queue-lawyer-mobile,
      #page-queue .queue-item:not(.mobile-expanded) .queue-time,
      #page-queue .queue-item:not(.mobile-expanded) .queue-actions { display: none !important; }
      #page-queue .queue-item.mobile-expanded .queue-time,
      #page-queue .queue-item.mobile-expanded .queue-actions { grid-column: 1 / -1; }
      #page-queue .queue-item.mobile-expanded .queue-time { margin-top: 4px; padding-top: 10px !important; border-top: 1px solid var(--border) !important; }
      #page-queue .queue-item.mobile-expanded .queue-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
      #page-queue .queue-item.mobile-expanded .queue-actions .btn { width: 100%; min-height: 46px; }
      #page-queue .queue-item.mobile-expanded .queue-actions .btn-danger:last-child { grid-column: 1 / -1; }

      .mobile-calendar-strip {
        position: sticky;
        top: 96px;
        z-index: 27;
        display: grid;
        grid-template-columns: repeat(7,minmax(48px,1fr));
        gap: 6px;
        margin: 0 0 10px;
        padding: 8px;
        overflow-x: auto;
        border: 1px solid var(--border);
        border-radius: 15px;
        background: var(--surface);
        box-shadow: 0 8px 20px rgba(20,40,44,.08);
        scrollbar-width: none;
      }
      .mobile-calendar-strip::-webkit-scrollbar { display: none; }
      .mobile-calendar-day {
        position: relative;
        min-width: 48px;
        min-height: 72px;
        display: grid;
        place-items: center;
        align-content: center;
        gap: 1px;
        padding: 5px 3px;
        border: 1px solid transparent;
        border-radius: 11px;
        background: var(--surface-2);
        color: var(--muted);
        font: inherit;
        font-size: 9px;
        font-weight: 900;
      }
      .mobile-calendar-day strong { color: var(--text); font-size: 17px; }
      .mobile-calendar-day.is-today:not(.active) { border-color: var(--primary); color: var(--primary); }
      .mobile-calendar-day.active { background: var(--primary); color: #fff; box-shadow: 0 7px 17px color-mix(in srgb,var(--primary) 28%,transparent); }
      .mobile-calendar-day.active strong { color: #fff; }
      .mobile-calendar-day-count {
        min-width: 18px;
        min-height: 18px;
        display: grid;
        place-items: center;
        margin-top: 2px;
        padding: 0 5px;
        border-radius: 999px;
        background: var(--surface);
        color: var(--primary-dark);
        font-size: 9px;
        line-height: 1;
      }
      .mobile-calendar-day.active .mobile-calendar-day-count { background: rgba(255,255,255,.2); color: #fff; }
      .mobile-calendar-day-count.is-empty { opacity: .45; }
      #page-calendar .page-head { display: none; }
      #page-calendar .page-sticky-zone {
        top: 94px;
        margin: -6px 0 8px;
        padding-top: 0;
        background: var(--bg);
      }
      #page-calendar .calendar-header-card { overflow: visible; border: 0; box-shadow: none; background: transparent; }
      #page-calendar .calendar-sticky-head { overflow: visible; border-radius: 0; box-shadow: none; background: transparent; }
      #page-calendar .calendar-toolbar {
        padding: 8px;
        border: 1px solid var(--border);
        border-radius: 15px;
        background: var(--surface);
      }
      #page-calendar .calendar-toolbar-left {
        display: grid;
        grid-template-columns: 48px minmax(0,1fr) 48px;
        align-items: center;
        gap: 5px;
        width: 100%;
      }
      #page-calendar .calendar-toolbar-left .btn { min-width: 48px; min-height: 48px; padding: 0; font-size: 20px; }
      #page-calendar #calendarPrevBtn { grid-column: 1; grid-row: 1; }
      #page-calendar #calendarNextBtn { grid-column: 3; grid-row: 1; }
      #page-calendar .calendar-title {
        grid-column: 2;
        grid-row: 1;
        width: auto;
        min-width: 0;
        font-size: 15px;
        line-height: 1.22;
        text-transform: capitalize;
      }
      .mobile-calendar-quick-actions {
        display: grid;
        grid-template-columns: repeat(3,minmax(0,1fr));
        gap: 7px;
        margin-top: 8px;
      }
      .mobile-calendar-date-field {
        min-width: 0;
        display: grid;
        gap: 2px;
        padding: 6px 9px;
        border: 1px solid var(--border);
        border-radius: 12px;
        background: var(--surface);
      }
      .mobile-calendar-date-field span { color: var(--muted); font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; }
      .mobile-calendar-date-field input {
        width: 100%;
        min-width: 0;
        min-height: 25px;
        padding: 0;
        border: 0;
        background: transparent;
        color: var(--text);
        font: inherit;
        font-size: 12px;
        font-weight: 900;
      }
      .mobile-calendar-date-field { grid-column: span 2; }
      .mobile-calendar-quick-actions > .btn { min-height: 51px; padding: 7px 9px; font-size: 11px; line-height: 1.15; }
      .mobile-calendar-filter-button { grid-column: span 2; display: grid; grid-template-columns: auto 1fr; place-items: center; gap: 5px; }
      .mobile-calendar-filter-button span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
      #page-calendar .calendar-toolbar-right {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 205;
        width: 100%;
        max-height: min(86dvh,760px);
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
        margin: 0;
        padding: 0 14px calc(16px + env(safe-area-inset-bottom));
        overflow-y: auto;
        border: 1px solid var(--border);
        border-bottom: 0;
        border-radius: 22px 22px 0 0;
        background: var(--surface);
        box-shadow: 0 -20px 55px rgba(10,30,34,.30);
        transform: translateY(105%);
        visibility: hidden;
        transition: transform .22s ease, visibility .22s;
      }
      #page-calendar .calendar-toolbar-right.open { transform: translateY(0); visibility: visible; }
      #page-calendar .calendar-toolbar-right .mobile-drawer-head { margin: 0 -14px; }
      #page-calendar .calendar-provider-filter { display: grid; grid-template-columns: 1fr; width: 100%; gap: 12px; }
      #page-calendar .calendar-provider-filter > .field { min-width: 0; }
      #page-calendar .calendar-provider-filter > .field:last-child { display: none; }
      #page-calendar .calendar-provider-filter select { min-height: 48px; font-size: 16px; }
      #page-calendar .provider-type-filter { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
      #page-calendar .provider-type-option { min-height: 48px; justify-content: center; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-2); }
      .mobile-calendar-provider-filter { display: block; }
      .mobile-calendar-provider-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
      .mobile-calendar-provider-head > div { display: flex; gap: 5px; }
      .mobile-calendar-provider-head button { min-height: 34px; padding: 5px 9px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface-2); color: var(--primary); font: inherit; font-size: 10px; font-weight: 900; }
      .mobile-calendar-provider-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
      .mobile-calendar-provider-option {
        --legend-color: var(--primary);
        min-width: 0;
        min-height: 46px;
        display: grid;
        grid-template-columns: 13px minmax(0,1fr) auto;
        align-items: center;
        gap: 7px;
        padding: 8px;
        border: 1px solid var(--border);
        border-radius: 11px;
        background: var(--surface-2);
        color: var(--muted);
        font: inherit;
        font-size: 10px;
        font-weight: 900;
        text-align: left;
      }
      .mobile-calendar-provider-option .calendar-legend-dot { width: 9px; height: 9px; }
      .mobile-calendar-provider-option .mobile-provider-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
      .mobile-calendar-provider-option .mobile-provider-check { opacity: 0; color: var(--legend-color); }
      .mobile-calendar-provider-option.is-active { border-color: var(--legend-color); background: color-mix(in srgb,var(--legend-color) 9%,var(--surface)); color: var(--text); }
      .mobile-calendar-provider-option.is-active .mobile-provider-check { opacity: 1; }
      #page-calendar .calendar-view-switch { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); width: 100%; }
      #page-calendar .calendar-view-btn { min-height: 46px; }
      .mobile-calendar-filter-done { display: inline-flex; width: 100%; min-height: 48px; }
      .mobile-calendar-filter-backdrop {
        position: fixed;
        inset: 0;
        z-index: 200;
        display: block;
        background: rgba(7,31,36,.55);
        opacity: 0;
        visibility: hidden;
        transition: opacity .2s ease, visibility .2s;
      }
      .mobile-calendar-filter-backdrop.open { opacity: 1; visibility: visible; }
      body.mobile-calendar-filter-open { overflow: hidden; }
      #page-calendar .calendar-legend { display: none; }
      #page-calendar .calendar-shell { border: 0; box-shadow: none; background: transparent; }
      #page-calendar .calendar-day-view { padding: 0; gap: 10px; }
      #page-calendar .calendar-day-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; overflow: visible; }
      #page-calendar .calendar-day-kpi { min-width: 0; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 0 9px; padding: 10px; border-radius: 13px; }
      #page-calendar .calendar-day-kpi .calendar-kpi-icon { grid-row: 1 / span 2; display: block; font-size: 18px; }
      #page-calendar .calendar-day-kpi .helper { font-size: 9px; line-height: 1.15; }
      #page-calendar .calendar-day-kpi strong { font-size: 20px; line-height: 1; }
      #page-calendar .calendar-day-list { gap: 8px; }
      #page-calendar .calendar-day-item {
        position: relative;
        grid-template-columns: 62px minmax(0,1fr) auto;
        gap: 7px 10px;
        min-height: 100px;
        padding: 12px 10px;
        border-left: 5px solid var(--appointment-color,var(--primary));
        border-radius: 15px;
        box-shadow: 0 5px 16px rgba(20,40,44,.06);
        cursor: pointer;
      }
      #page-calendar .calendar-day-item.is-next { box-shadow: 0 0 0 2px color-mix(in srgb,var(--primary) 28%,transparent), 0 7px 20px rgba(20,40,44,.09); }
      #page-calendar .calendar-day-item:active { transform: scale(.99); }
      #page-calendar .calendar-day-item > * { min-width: 0; }
      #page-calendar .calendar-day-item .calendar-item-time { grid-column: 1; grid-row: 1 / span 2; align-self: start; }
      #page-calendar .calendar-day-item .calendar-item-time strong { display: block; font-size: 16px; }
      #page-calendar .calendar-day-item .calendar-item-time .queue-meta { margin-top: 3px; font-size: 9px; }
      #page-calendar .calendar-day-item .calendar-item-client { grid-column: 2 / -1; }
      #page-calendar .calendar-day-item .queue-name { padding-right: 22px; font-size: 15px; }
      #page-calendar .calendar-day-item .calendar-item-provider { grid-column: 2 / -1; }
      #page-calendar .calendar-day-item .calendar-item-status { grid-column: 2; }
      #page-calendar .calendar-day-item .calendar-item-detail { grid-column: 3; align-self: center; min-width: 42px; min-height: 42px; padding: 0; font-size: 22px; }
      #page-calendar .calendar-day-item .calendar-detail-desktop { display: none; }
      #page-calendar .calendar-day-item .calendar-detail-mobile { display: inline; }
      #page-calendar .calendar-day-item .lawyer-badge { max-width: 100%; }
      #page-calendar .calendar-day-item .calendar-next-label { display: inline-flex; margin-bottom: 4px; padding: 3px 7px; border-radius: 999px; background: var(--primary-soft); color: var(--primary); font-size: 9px; font-weight: 900; }
      #page-calendar .calendar-priority-badge { display: inline-flex; margin-left: 5px; padding: 3px 6px; border-radius: 999px; background: #fff0dc; color: #8b5200; font-size: 8px; font-weight: 950; vertical-align: middle; }

      /* v1.9.3 — mantém a correção da coluna única no layout responsivo */
      #page-calendar .calendar-day-item {
        grid-template-columns: 60px minmax(0,1fr) 44px;
        grid-template-rows: auto auto auto;
        align-items: center;
        gap: 9px 10px;
        min-height: 0;
        padding: 12px;
      }
      #page-calendar .calendar-day-item > * { grid-column: auto !important; }
      #page-calendar .calendar-day-item .calendar-item-time {
        grid-column: 1 !important;
        grid-row: 1 !important;
        align-self: start;
      }
      #page-calendar .calendar-day-item .calendar-item-client {
        grid-column: 2 / 4 !important;
        grid-row: 1 !important;
        align-self: start;
        overflow: hidden;
      }
      #page-calendar .calendar-day-item .calendar-item-client .queue-name {
        display: block;
        padding-right: 0;
        white-space: normal;
        overflow-wrap: normal;
        word-break: normal;
        hyphens: none;
        line-height: 1.22;
      }
      #page-calendar .calendar-day-item .calendar-item-client .queue-meta {
        overflow-wrap: anywhere;
      }
      #page-calendar .calendar-day-item .calendar-item-provider {
        grid-column: 1 / 4 !important;
        grid-row: 2 !important;
        width: 100%;
      }
      #page-calendar .calendar-day-item .calendar-item-provider .lawyer-badge {
        width: 100%;
        max-width: none;
      }
      #page-calendar .calendar-day-item .calendar-item-provider .lawyer-badge-text {
        flex: 1;
        min-width: 0;
      }
      #page-calendar .calendar-day-item .calendar-item-provider .lawyer-badge-label,
      #page-calendar .calendar-day-item .calendar-item-provider .lawyer-badge-name {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      #page-calendar .calendar-day-item .calendar-item-status {
        grid-column: 1 / 3 !important;
        grid-row: 3 !important;
        align-self: center;
      }
      #page-calendar .calendar-day-item .calendar-item-detail {
        grid-column: 3 !important;
        grid-row: 3 !important;
        justify-self: end;
        align-self: center;
      }
      @media (max-width: 370px) {
        #page-calendar .calendar-day-item {
          grid-template-columns: 56px minmax(0,1fr) 42px;
          gap: 8px;
          padding: 10px;
        }
      }
      #page-calendar .calendar-empty { padding: 38px 18px; border: 1px dashed var(--border); border-radius: 16px; background: var(--surface); }
      #page-calendar .calendar-empty strong { display: block; margin: 8px 0 4px; color: var(--text); font-size: 17px; }
      #page-calendar .calendar-empty .btn { margin-top: 14px; min-height: 46px; }
      .mobile-calendar-swipe-hint { display: block; margin: -1px 0 9px; color: var(--muted); text-align: center; font-size: 9px; font-weight: 800; }

      #page-new.active { margin: -8px -10px 0; }
      #page-new .page-head { padding: 0 12px; }
      #page-new .form-card { min-height: calc(100dvh - 172px); padding: 14px 12px 92px; border-radius: 18px 18px 0 0; }
      #page-new .field input,
      #page-new .field select,
      #page-new .field textarea { min-height: 48px; font-size: 16px; }
      #page-new .form-actions {
        position: fixed;
        left: 0;
        right: 0;
        bottom: calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));
        z-index: 108;
        display: grid !important;
        grid-template-columns: .72fr 1.28fr;
        gap: 8px !important;
        padding: 10px;
        border-top: 1px solid var(--border);
        background: var(--surface);
        box-shadow: 0 -8px 22px rgba(20,40,44,.12);
      }
      #page-new .form-actions .btn { min-height: 48px; }

      .modal-backdrop { align-items: stretch; padding: 0; }
      .modal-backdrop .modal,
      .modal-backdrop .modal.modal-lg,
      .modal-backdrop .modal.modal-xl {
        width: 100vw;
        height: 100dvh;
        max-height: 100dvh;
        display: flex;
        flex-direction: column;
        border-radius: 0;
      }
      .modal-backdrop .modal-head { flex: 0 0 auto; padding-top: calc(14px + env(safe-area-inset-top)); }
      .modal-backdrop .modal-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
      .modal-backdrop .modal-foot { flex: 0 0 auto; padding-bottom: calc(14px + env(safe-area-inset-bottom)); }
      .call-popup-backdrop { align-items: end; padding: 0; }
      .call-popup {
        width: 100vw;
        max-height: 88dvh;
        border-radius: 24px 24px 0 0;
        animation: mobileSheetIn .24s ease-out;
      }
      .call-popup-dismiss { width: 44px; height: 44px; }
      .toast-stack { bottom: calc(var(--mobile-nav-height) + 10px + env(safe-area-inset-bottom)); }
      @keyframes mobileSheetIn { from { transform: translateY(100%); opacity: .7; } }
    }

    @media (max-width: 390px) {
      #page-queue .queue-item.mobile-expanded .queue-actions { grid-template-columns: 1fr; }
      #page-queue .queue-item.mobile-expanded .queue-actions .btn-danger:last-child { grid-column: auto; }
      .mobile-calendar-strip { grid-template-columns: repeat(7,48px); }
    }

    /* v1.9.7 — agenda cronológica mobile com eventos curtos legíveis */
    @media (max-width: 650px) {
      #page-calendar.active {
        margin: -8px -10px 0;
        padding-bottom: 12px;
      }
      #page-calendar .page-sticky-zone {
        margin: 0;
        padding: 0 10px;
      }
      #page-calendar .calendar-toolbar {
        padding: 6px 8px;
        border-radius: 18px;
        box-shadow: 0 3px 12px rgba(20,40,44,.06);
      }
      #page-calendar .calendar-toolbar-left {
        grid-template-columns: minmax(0,1fr) 44px 44px;
        gap: 4px;
      }
      #page-calendar #calendarPrevBtn { grid-column: 2; }
      #page-calendar #calendarNextBtn { grid-column: 3; }
      #page-calendar .calendar-toolbar-left .btn {
        min-width: 44px;
        min-height: 44px;
        border: 0;
        border-radius: 50%;
      }
      #page-calendar .calendar-title {
        grid-column: 1;
        padding-left: 6px;
        text-align: left;
        font-size: 19px;
        font-weight: 800;
        letter-spacing: -.02em;
      }
      #page-calendar .mobile-calendar-quick-actions {
        grid-template-columns: minmax(0,1.45fr) .62fr 1fr;
        gap: 6px;
        margin-top: 7px;
        padding: 0 2px;
      }
      #page-calendar .mobile-calendar-date-field {
        grid-column: auto;
        min-height: 48px;
        padding: 5px 10px;
        border-radius: 14px;
      }
      #page-calendar .mobile-calendar-date-field span { font-size: 8px; }
      #page-calendar .mobile-calendar-date-field input { font-size: 11px; }
      #page-calendar .mobile-calendar-quick-actions > .btn {
        min-height: 48px;
        border-radius: 14px;
      }
      #page-calendar .mobile-calendar-filter-button {
        grid-column: auto;
        grid-template-columns: auto minmax(0,1fr);
        padding-inline: 8px;
      }
      #page-calendar .calendar-mobile-new {
        position: fixed;
        right: 17px;
        bottom: calc(var(--mobile-nav-height) + 15px + env(safe-area-inset-bottom));
        z-index: 112;
        width: 58px;
        height: 58px;
        min-height: 58px;
        padding: 0;
        border-radius: 18px;
        font-size: 0;
        box-shadow: 0 10px 24px color-mix(in srgb,var(--primary) 38%,transparent);
      }
      #page-calendar .calendar-mobile-new::before {
        content: '+';
        font-size: 32px;
        font-weight: 400;
        line-height: 1;
      }
      #page-calendar .mobile-calendar-strip {
        top: 96px;
        grid-template-columns: repeat(7,minmax(44px,1fr));
        gap: 2px;
        margin: 8px 0 0;
        padding: 7px 10px 8px;
        border: 0;
        border-bottom: 1px solid var(--border);
        border-radius: 0;
        box-shadow: 0 8px 18px -16px rgba(20,40,44,.7);
      }
      #page-calendar .mobile-calendar-day {
        min-width: 44px;
        min-height: 66px;
        gap: 2px;
        border: 0;
        border-radius: 12px;
        background: transparent;
        font-size: 9px;
      }
      #page-calendar .mobile-calendar-day strong {
        width: 34px;
        height: 34px;
        display: grid;
        place-items: center;
        border-radius: 50%;
        font-size: 16px;
      }
      #page-calendar .mobile-calendar-day.active {
        background: transparent;
        color: var(--primary);
        box-shadow: none;
      }
      #page-calendar .mobile-calendar-day.active strong {
        background: var(--primary);
        color: #fff;
        box-shadow: 0 5px 13px color-mix(in srgb,var(--primary) 30%,transparent);
      }
      #page-calendar .mobile-calendar-day.is-today:not(.active) { border: 0; }
      #page-calendar .mobile-calendar-day.is-today:not(.active) strong {
        color: var(--primary);
        box-shadow: inset 0 0 0 1.5px var(--primary);
      }
      #page-calendar .mobile-calendar-day-count {
        min-width: 16px;
        min-height: 14px;
        margin-top: 0;
        padding: 0 4px;
        background: var(--primary-soft);
        color: var(--primary);
        font-size: 8px;
      }
      #page-calendar .mobile-calendar-day.active .mobile-calendar-day-count {
        background: var(--primary-soft);
        color: var(--primary);
      }
      #page-calendar .mobile-calendar-swipe-hint { display: none; }
      #page-calendar .calendar-body-card {
        margin-top: 0;
        border-radius: 0;
      }
      #page-calendar .mobile-agenda-day {
        display: grid;
        gap: 0;
        background: var(--surface);
      }
      #page-calendar .mobile-agenda-summary {
        display: flex;
        gap: 7px;
        padding: 9px 10px;
        overflow-x: auto;
        border-bottom: 1px solid var(--border);
        background: var(--surface);
        scrollbar-width: none;
      }
      #page-calendar .mobile-agenda-summary::-webkit-scrollbar { display: none; }
      #page-calendar .mobile-agenda-summary-chip {
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        gap: 5px;
        min-height: 28px;
        padding: 5px 9px;
        border: 1px solid var(--border);
        border-radius: 999px;
        background: var(--surface-2);
        color: var(--muted);
        font-size: 9px;
        font-weight: 850;
      }
      #page-calendar .mobile-agenda-summary-chip strong {
        color: var(--text);
        font-size: 12px;
      }
      #page-calendar .mobile-agenda-untimed {
        display: grid;
        grid-template-columns: 52px minmax(0,1fr);
        gap: 7px;
        padding: 8px 10px 9px;
        border-bottom: 1px solid var(--border);
        background: var(--surface-2);
      }
      #page-calendar .mobile-agenda-untimed-label {
        padding-top: 8px;
        color: var(--muted);
        text-align: right;
        font-size: 8px;
        font-weight: 900;
        line-height: 1.2;
        text-transform: uppercase;
      }
      #page-calendar .mobile-agenda-untimed-list { display: grid; gap: 6px; }
      #page-calendar .mobile-agenda-untimed-event {
        --appointment-color: var(--primary);
        min-width: 0;
        display: grid;
        grid-template-columns: minmax(0,1fr) auto;
        gap: 2px 8px;
        padding: 8px 9px;
        border: 1px solid color-mix(in srgb,var(--appointment-color) 26%,var(--border));
        border-left: 4px solid var(--appointment-color);
        border-radius: 10px;
        background: color-mix(in srgb,var(--appointment-color) 9%,var(--surface));
        cursor: pointer;
      }
      #page-calendar .mobile-agenda-untimed-event strong,
      #page-calendar .mobile-agenda-untimed-event small {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      #page-calendar .mobile-agenda-untimed-event strong { font-size: 11px; }
      #page-calendar .mobile-agenda-untimed-event small { grid-column: 1; color: var(--muted); font-size: 9px; }
      #page-calendar .mobile-agenda-untimed-event .status-pill {
        grid-column: 2;
        grid-row: 1 / span 2;
        align-self: center;
        max-width: 92px;
        padding: 4px 6px;
        font-size: 7px;
      }
      #page-calendar .mobile-agenda-timeline-scroll {
        max-height: calc(100dvh - 345px - var(--mobile-nav-height) - env(safe-area-inset-bottom));
        min-height: 390px;
        overflow-y: auto;
        overscroll-behavior: contain;
        background: var(--surface);
        scrollbar-width: thin;
      }
      #page-calendar .mobile-agenda-timeline {
        position: relative;
        min-height: var(--timeline-height);
        height: var(--timeline-height);
        background: var(--surface);
      }
      #page-calendar .mobile-agenda-timeline.is-creatable { cursor: crosshair; }
      #page-calendar .mobile-agenda-hour {
        position: absolute;
        left: 0;
        right: 0;
        height: 1px;
        pointer-events: none;
      }
      #page-calendar .mobile-agenda-hour > span {
        position: absolute;
        top: 0;
        left: 0;
        width: 49px;
        transform: translateY(-50%);
        color: var(--muted);
        text-align: right;
        font-size: 9px;
        font-weight: 700;
      }
      #page-calendar .mobile-agenda-hour > i {
        position: absolute;
        top: 0;
        left: 57px;
        right: 0;
        border-top: 1px solid var(--border);
        opacity: .82;
      }
      #page-calendar .mobile-agenda-hour.is-current-overlap > span { opacity: 0; }
      #page-calendar .mobile-agenda-hour-half {
        position: absolute;
        left: 57px;
        right: 0;
        border-top: 1px dashed var(--border);
        opacity: .42;
        pointer-events: none;
      }
      #page-calendar .mobile-agenda-events {
        position: absolute;
        inset: 0 6px 0 61px;
        pointer-events: none;
      }
      #page-calendar .mobile-agenda-event {
        --appointment-color: var(--primary);
        position: absolute;
        top: var(--event-top);
        left: calc(var(--event-left) + 2px);
        width: calc(var(--event-width) - 4px);
        height: var(--event-height);
        min-height: 44px;
        display: grid;
        align-content: start;
        gap: 1px;
        padding: 6px 7px;
        overflow: hidden;
        border: 1px solid color-mix(in srgb,var(--appointment-color) 34%,var(--border));
        border-left: 4px solid var(--appointment-color);
        border-radius: 9px;
        background: color-mix(in srgb,var(--appointment-color) 13%,var(--surface));
        color: var(--text);
        box-shadow: 0 2px 7px rgba(20,40,44,.08);
        text-align: left;
        pointer-events: auto;
        cursor: pointer;
      }
      #page-calendar .mobile-agenda-event.is-next {
        box-shadow: 0 0 0 2px color-mix(in srgb,var(--primary) 32%,transparent), 0 5px 12px rgba(20,40,44,.11);
      }
      #page-calendar .mobile-agenda-event:active { transform: scale(.985); }
      #page-calendar .mobile-agenda-event-time {
        color: var(--appointment-color);
        font-size: 8px;
        font-weight: 950;
        line-height: 1.15;
      }
      #page-calendar .mobile-agenda-event-client {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 11px;
        font-weight: 950;
        line-height: 1.15;
      }
      #page-calendar .mobile-agenda-event-provider {
        overflow: hidden;
        color: var(--muted);
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 8px;
        font-weight: 750;
      }
      #page-calendar .mobile-agenda-event-meta {
        display: flex;
        align-items: center;
        gap: 4px;
        margin-top: 2px;
        overflow: hidden;
      }
      #page-calendar .mobile-agenda-event .status-pill {
        max-width: 100%;
        padding: 3px 5px;
        overflow: hidden;
        font-size: 7px;
        line-height: 1;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      #page-calendar .mobile-agenda-event .calendar-priority-badge {
        flex: 0 0 auto;
        margin: 0;
        padding: 3px 5px;
        font-size: 7px;
      }
      #page-calendar .mobile-agenda-event.is-compact {
        grid-template-columns: auto minmax(0,1fr) auto;
        grid-template-rows: minmax(0,1fr) minmax(0,1fr);
        align-content: stretch;
        align-items: center;
        gap: 0 5px;
        padding: 3px 5px;
      }
      #page-calendar .mobile-agenda-event.is-compact .mobile-agenda-event-time {
        grid-column: 1;
        grid-row: 1;
        white-space: nowrap;
      }
      #page-calendar .mobile-agenda-event.is-compact .mobile-agenda-event-client {
        grid-column: 2 / 4;
        grid-row: 1;
        font-size: 10px;
      }
      #page-calendar .mobile-agenda-event.is-compact .mobile-agenda-event-provider {
        grid-column: 1 / 3;
        grid-row: 2;
        min-width: 0;
        font-size: 7px;
      }
      #page-calendar .mobile-agenda-event.is-compact .mobile-agenda-event-meta {
        grid-column: 3;
        grid-row: 2;
        min-width: 0;
        margin-top: 0;
      }
      #page-calendar .mobile-agenda-event.is-compact .mobile-agenda-event-meta > .queue-status-jump {
        min-width: 0;
      }
      #page-calendar .mobile-agenda-event.is-compact .status-pill {
        padding: 2px 4px;
        font-size: 6px;
      }
      #page-calendar .mobile-agenda-event.is-compact .calendar-priority-badge { display: none; }
      #page-calendar .mobile-agenda-next-label {
        position: absolute;
        top: 4px;
        right: 4px;
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: var(--primary);
        box-shadow: 0 0 0 3px color-mix(in srgb,var(--primary) 17%,transparent);
      }
      #page-calendar .mobile-agenda-now-line {
        position: absolute;
        left: 50px;
        right: 0;
        z-index: 8;
        height: 2px;
        background: #d93025;
        pointer-events: none;
      }
      #page-calendar .mobile-agenda-now-line::before {
        content: '';
        position: absolute;
        left: 2px;
        top: 50%;
        width: 10px;
        height: 10px;
        transform: translate(-50%,-50%);
        border-radius: 50%;
        background: #d93025;
      }
      #page-calendar .mobile-agenda-now-line span {
        position: absolute;
        left: -50px;
        top: 50%;
        z-index: 1;
        width: 48px;
        padding-right: 4px;
        transform: translateY(-50%);
        background: var(--surface);
        color: #d93025;
        text-align: right;
        font-size: 8px;
        font-weight: 950;
        white-space: nowrap;
      }
      #page-calendar .mobile-agenda-empty-hint {
        position: absolute;
        top: 138px;
        left: 74px;
        right: 18px;
        z-index: 2;
        padding: 18px 14px;
        border: 1px dashed var(--border);
        border-radius: 14px;
        background: var(--surface-2);
        color: var(--muted);
        text-align: center;
        font-size: 10px;
        line-height: 1.5;
        pointer-events: none;
      }
      #page-calendar .mobile-agenda-empty-hint strong {
        display: block;
        margin-bottom: 3px;
        color: var(--text);
        font-size: 13px;
      }
      #page-calendar .mobile-agenda-tap-hint {
        position: sticky;
        left: 0;
        bottom: 0;
        z-index: 9;
        display: block;
        padding: 6px 10px;
        border-top: 1px solid var(--border);
        background: color-mix(in srgb,var(--surface) 94%,transparent);
        color: var(--muted);
        text-align: center;
        font-size: 8px;
        font-weight: 800;
        backdrop-filter: blur(8px);
      }
    }

    @media (max-width: 360px) {
      #page-calendar .mobile-calendar-quick-actions { grid-template-columns: minmax(0,1.2fr) .58fr .9fr; }
      #page-calendar .mobile-calendar-filter-button span:last-child { display: none; }
      #page-calendar .mobile-calendar-filter-button { grid-template-columns: 1fr; }
      #page-calendar .mobile-calendar-day { min-width: 42px; }
    }

    @media (display-mode: standalone) and (max-width: 650px) {
      .appbar { padding-top: env(safe-area-inset-top); height: calc(64px + env(safe-area-inset-top)); }
      .sidebar { top: calc(64px + env(safe-area-inset-top)); }
      .main { padding-top: calc(104px + env(safe-area-inset-top)); }
      .appbar .connection-status { top: calc(69px + env(safe-area-inset-top)); }
      #page-calendar .mobile-calendar-strip { top: calc(96px + env(safe-area-inset-top)); }
    }
