/* Shared responsive layout; loaded after each page's desktop styles. */
/* Estados de navegação, seções do dashboard e cabeçalho global (base) — tema/cores vêm de ds.css. */
#page-main[aria-busy=true] { min-height:calc(100vh - 40px); }
.page-navigation-state,.page-navigation-error { min-height:calc(100vh - 40px); display:flex; align-items:center; justify-content:center; gap:12px; padding:24px; color:var(--text-secondary); }
.page-navigation-state { font-size:14px; }
.page-navigation-spinner { width:18px; height:18px; border:2px solid var(--border-default); border-top-color:var(--brand-500); border-radius:50%; animation:page-navigation-spin .7s linear infinite; }
.page-navigation-error { flex-direction:column; text-align:center; }
.page-navigation-error strong { color:var(--text-primary); font-size:17px; }
.page-navigation-error span { font-size:14px; }
@keyframes page-navigation-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .page-navigation-spinner { animation:none; } }
.dashboard-section { display:flex; flex-direction:column; gap:10px; padding:16px; border:1px solid var(--border-default); border-radius:var(--r-lg); background:var(--bg-secondary); }
.dashboard-section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.dashboard-section-heading>div { display:grid; gap:3px; }
.dashboard-eyebrow { color:var(--text-muted); font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.dashboard-section-link { display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:0 12px; border:1px solid var(--border-default); border-radius:10px; color:var(--text-brand); font-size:13px; font-weight:650; white-space:nowrap; }
.dashboard-section-link:hover { background:var(--bg-card-hover); }
#page-main > div > .dashboard-section .dashboard-routine-grid { display:grid!important; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px!important; }
.dashboard-routine-grid>.card { min-height:76px; background:var(--bg-card); }
#page-main > div > .dashboard-section .dashboard-activity-grid { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px!important; }
.dashboard-activity-grid>.dashboard-activity-secondary { display:none; }
.dashboard-table-preview tr:nth-child(n+5) { display:none; }
.dashboard-pending { padding:0; scroll-margin-top:20px; overflow:hidden; }
.dashboard-pending summary { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:66px; padding:12px 18px; cursor:pointer; list-style:none; }
.dashboard-pending summary::-webkit-details-marker { display:none; }
.dashboard-pending summary>span:first-child { display:grid; gap:4px; flex:1; min-width:0; }
.dashboard-pending summary>.chip { flex:0 0 auto; min-width:28px; justify-content:center; }
.dashboard-pending summary strong { color:var(--text-primary); font-size:15px; }
.dashboard-pending summary::after { content:'+'; order:2; color:var(--text-muted); font-size:21px; margin-left:2px; }
.dashboard-pending[open] summary::after { content:'−'; }
.dashboard-pending-hint { margin:0; padding:0 18px 12px; color:var(--text-secondary); font-size:12px; }
.dashboard-pending:not([open])>*:not(summary) { display:none; }
.dashboard-pending[open] table { border-top:1px solid var(--border-default); }
.petdesk-global-header{position:fixed;z-index:850;top:0;left:calc((100vw - min(100vw, 1800px))/2 + 260px);right:calc((100vw - min(100vw, 1800px))/2);height:58px;display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:0 28px;background:var(--bg-primary);color:var(--text-primary)}
.petdesk-global-date{color:var(--text-secondary);font-size:14px;white-space:nowrap}
.petdesk-global-user{display:flex;align-items:center;gap:8px;white-space:nowrap}
.petdesk-global-user .avatar{width:36px;height:36px;font-size:13px}
.petdesk-global-header .btn-icon{color:var(--text-secondary)}
.petdesk-global-header #daycare-notification-bell{position:relative}
.petdesk-global-header #daycare-notification-bell.is-active{background:var(--brand-500);border-color:var(--brand-500);color:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-500) 28%,transparent)}
.petdesk-global-header .daycare-bell-count{position:absolute;top:-6px;right:-6px;box-shadow:0 0 0 2px var(--bg-secondary,#fff);background:var(--border-danger);color:#fff;font-size:10px;font-weight:700;border-radius:9999px;min-width:16px;height:16px;padding:0 3px;display:flex;align-items:center;justify-content:center}
.petdesk-global-header .daycare-bell-count[hidden]{display:none}
#page-main #topbar-date{display:none!important}
#page-main > :first-child:not([id^="modal"]){margin-top:58px}
@media(max-width:1100px) { #page-main > div > .dashboard-section .dashboard-routine-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:860px) {
  .dashboard-section { padding:12px; }
  #page-main > div > .dashboard-section .dashboard-routine-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #page-main > div > .dashboard-section .dashboard-activity-grid { grid-template-columns:1fr; }
  .dashboard-section-link { min-height:36px; padding:0 9px; font-size:12px; }
}
#page-main > :not([id^="modal"]), .card, .kpi { min-width: 0; }
.nav-item:not(.active) > span { color: var(--text-secondary) !important; }
.nav-item.active > span { color: var(--brand-500) !important; }
.nav-item:not(.active) > svg { stroke: var(--text-secondary); }
.nav-item.active > svg { stroke: var(--brand-500); }
:focus-visible { outline: 2px solid var(--brand-500); outline-offset: 3px; }
.card-toggle { display: none; }
@media (max-width: 860px) {
  .petdesk-global-header{top:56px;left:0;right:0;height:44px;z-index:99;justify-content:flex-end;gap:12px;padding:0 14px;border-bottom:1px solid var(--border-default)}
  .petdesk-global-date{font-size:12px}
  .petdesk-global-user .avatar{width:30px;height:30px;font-size:11px}
  #page-main > :first-child:not([id^="modal"]){margin-top:100px}
  html, body { overflow-x: clip; }
  .frame { width: 100%; min-height: calc(100dvh - 56px); }
  #page-main > :not([id^="modal"]):not([style*="position:fixed"]):not([style*="position: fixed"]) {
    width: 100%; max-width: 100%; min-width: 0; padding: 20px 16px !important;
  }
  #page-main .row, #page-main [style*="display:flex"], #page-main [style*="display: flex"] { min-width: 0; }
  #page-main > div:not([id^="modal"]) > .row, #page-main > div:not([id^="modal"]) > [style*="display:flex"] { flex-wrap: wrap; gap: 16px !important; }
  #page-main .col, #page-main .card { min-width: 0; max-width: 100%; }
  #page-main .card { overflow-x: visible; }
  #page-main .card[style*="width:"], #page-main .col[style*="width:"] { width: 100% !important; }
  #page-main > div > div:has(> .kpi), #page-main > div > .row:has(> .kpi-click) {
    display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px !important;
  }
  #page-main .kpi { min-width: 0; padding: 14px; gap: 12px; }
  #page-main .kpi-top { gap: 6px; align-items: flex-start; }
  #page-main .kpi-icon { flex-shrink: 0; width: 28px; height: 28px; }
  #page-main .t-display { font-size: clamp(20px, 5.5vw, 28px); overflow-wrap: anywhere; }
  #page-main .t-overline { font-size: 10px; line-height: 1.5; }
  #page-main .t-h1 { font-size: 24px; }
  #page-main .t-h2, #page-main .t-h3 { overflow-wrap: anywhere; }
  #page-main .card.row.kpi-click { flex-wrap: nowrap; padding: 12px !important; }
  #page-main .row:has(> .card:not(.kpi-click)) > .card { flex-basis: 100% !important; }
  #page-main .row:has(> .col) > .col { flex-basis: 100%; }
  #page-main > div > div:has(> h1) { align-items: flex-start !important; }
  #page-main > div > div:has(> h1) > div { flex-wrap: wrap; max-width: 100%; gap: 10px !important; }
  #topbar-date { font-size: 12px; }
  .table { min-width: 0 !important; width: 100%; }
  .table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .table, .table tbody { display: block; }
  .table tr { display: block; padding: 12px 14px; border-bottom: 1px solid var(--border-default); }
  .table td { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100% !important; height: auto !important; min-height: 32px; padding: 7px 0 !important; border: 0; white-space: normal !important; overflow-wrap: anywhere; text-align: right; }
  .table td::before { content: attr(data-label); flex: 0 0 30%; color: var(--text-muted); font: 500 11px/1.5 Inter, sans-serif; text-align: left; }
  .table td[colspan] { display: block; text-align: left; }
  .table td[colspan]::before, .table td:not([data-label])::before { display: none; }
  .table td > div { min-width: 0; flex-wrap: wrap; justify-content: flex-end; }
  .table td .avatar { flex-shrink: 0; }
  .table .row-danger td { box-shadow: none; }
  #agendamentos-hoje .attendance-controls { width:100%; flex-wrap:wrap; justify-content:flex-start; }
  #agendamentos-hoje .attendance-controls > button { min-height:40px; }
  .care-task-row { align-items:flex-start; flex-direction:column; }
  .care-task-row .integration-actions { width:100%; }
  .table tr.row-danger { box-shadow: inset 3px 0 var(--border-danger); }
  /* Cartões de lista (Tutores/Pets): cada linha vira um cartão visualmente
     separado do resto, começando recolhido — só a primeira célula (o
     cabeçalho) fica visível até tocar no chevron (cardToggleHTML/
     wireCardToggles em common.js). O atributo data-expanded só existe
     nessas duas listas, então isso nunca afeta outras tabelas nem o
     desktop (regra presa a este media query). */
  #tutores-tbody tr[data-id], #pets-tbody tr[data-id] { background: var(--bg-card); border: 1px solid var(--border-default); border-radius: var(--r-lg); margin: 10px 0; padding: 4px 14px !important; }
  #tutores-tbody tr[data-id] > td:first-child, #pets-tbody tr[data-id] > td:first-child { padding: 10px 0 !important; }
  #tutores-tbody tr[data-id] > td:first-child::before, #pets-tbody tr[data-id] > td:first-child::before { content: none; }
  #tutores-tbody tr[data-id][data-expanded="false"] > td:not(:first-child), #pets-tbody tr[data-id][data-expanded="false"] > td:not(:first-child) { display: none; }
  #tutores-tbody tr[data-id][data-expanded="true"] > td:not(:first-child), #pets-tbody tr[data-id][data-expanded="true"] > td:not(:first-child) { border-top: 1px solid var(--border-default); }
  .card-toggle { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; flex-shrink: 0; background: transparent; border: none; border-radius: 8px; color: var(--text-muted); cursor: pointer; padding: 0; }
  .card-toggle:active { background: var(--bg-card-hover); }
  .card-toggle svg { transition: transform .15s; }
  tr[data-expanded="true"] .card-toggle svg { transform: rotate(180deg); }
  #page-main .tabs, #page-main [role="tablist"] { display: flex; flex-wrap: wrap; height: auto !important; }
  .tab { min-height: 44px; display: inline-flex; align-items: center; padding: 10px 12px; }
  button, .btn, .btn-icon { min-height: 44px; }
  .btn-icon, #mobile-menu-btn { min-width: 44px; }
  .input { min-width: 0; min-height: 44px; max-width: 100%; }
  input:not([type="checkbox"]):not([type="radio"]), select, textarea { font-size: 16px !important; min-width: 0; max-width: 100%; }
  .select { min-height: 44px; }
  #page-main form [style*="display:flex"]:has(> [style*="flex:1"]) { flex-wrap: wrap; }
  #page-main form [style*="display:flex"] > [style*="flex:1"] { flex-basis: 100% !important; }
  [id^="modal"][style*="position:fixed"], [id^="modal"][style*="position: fixed"] { z-index: 9100 !important; padding: 12px; }
  [id^="modal"] > .card, [id^="modal"] > div { width: 100% !important; max-width: 560px; max-height: calc(100dvh - 24px) !important; overflow-y: auto; }
  #page-main [id^="fechar-modal"] { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
  .sidebar { height: 100dvh; max-width: calc(100vw - 56px); }
  .sidebar .nav-item { min-height: 48px; }
  body.menu-open { overflow: hidden; }
  .cal-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .cal-cell { min-width: 0; height: 94px; padding: 4px; gap: 3px; }
  .cal-cell > * { min-width: 0; max-width: 100%; }
  .cal-head { padding: 10px 2px; font-size: 11px; }
  #cal-month-wrap, #cal-week-wrap { flex-basis: 100% !important; }
  #cal-month-wrap + div + .card, #cal-week-wrap + .card { width: 100% !important; }
  #cal-week-wrap { overflow-x: auto !important; }
  #cal-week-head, #cal-week-body { min-width: 650px; }
  #__toast { max-width: calc(100vw - 32px); width: max-content; }
  #page-main > div > [style*="display:grid"] { grid-template-columns: minmax(0, 1fr) !important; }
  #page-main > div > [style*="width:320px"] { width: 100% !important; }
  #page-content { flex-direction: column; }
  #page-content > div { width: 100% !important; }
  #pet-tabs, #config-tabs { flex-wrap: wrap; }
  .modal-overlay { z-index: 9100; padding: 12px; }
  #page-main .card > [style*="display:grid"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  #page-main .card > div:has(> h2), #page-main .card > div:has(> h3) { flex-wrap: wrap; gap: 10px; height: auto !important; }
  .panel { width: calc(100% - 32px); padding: 28px 20px; margin: 24px 0; }
  body:has(.panel) { padding-top: 0; }
  .cal-cell .cal-block { padding: 3px; }
  .cal-cell .cal-block-head { font-size: 9px; overflow: hidden; white-space: nowrap; }
  .cal-cell .cal-block > .t-caption { display: none; }
}
@media (max-width: 359px) {
  #page-main > div > div:has(> .kpi) { grid-template-columns: minmax(0, 1fr); }
}
.cal-mobile-count { display: none; }
@media (max-width:860px) {
  #cal-week-wrap { overflow: hidden !important; }
  #cal-week-head { display: none; }
  #cal-week-body { min-width: 0; }
  #cal-week-body .cal-grid { grid-template-columns: minmax(0, 1fr); }
  #cal-week-body .cal-cell { min-height: 100px !important; height: auto; padding: 12px; }
  #cal-week-body .cal-block > .t-caption { display: block; }
  #page-main .card > div:has(#fin-pago) { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #cal-month-wrap .cal-cell { height: 64px; align-items: center; }
  #cal-month-wrap .cal-daynum { align-self: center; }
  #cal-month-wrap .cal-pill { display: none; }
  .cal-mobile-count:not(:empty) { display: block; color: var(--brand-400); font-size: 11px; font-weight: 600; }
  #dia-titulo { scroll-margin-top: 76px; }
}
@media (max-width:860px) {
  #inadimplentes-list, #inadimplentes-list > div { min-width: 0; width: 100%; }
  #inadimplentes-list > div { flex-wrap: wrap; gap: 12px !important; }
  #inadimplentes-list > div > button { margin-left: auto; }
  .sidebar-user { display: flex; flex-wrap: nowrap !important; align-items: center; gap: 10px; }
  .sidebar-user > .col { display: flex; flex-direction: column; }
}
@media (max-width:860px) {
  input, select, textarea { font-family: Inter, system-ui, sans-serif !important; }
  .mini-input { min-height: 44px; }
  .table input:not([type="checkbox"]):not([type="radio"]) { min-height: 36px; width: 100%; }
  #page-main .card > div:has(> div > h2) { flex-wrap: wrap; gap: 12px !important; }
  #page-main .card > div:has(> div > h2) > div { flex-basis: 100%; }
}
@media (max-width:860px) {
  .modal-body { flex-direction: column; min-width: 0; padding: 20px; }
  .modal-body > div { width: 100% !important; min-width: 0; }
  .modal-body > div:first-child:has(> .avatar) { flex-direction: row !important; justify-content: flex-start; }
  .modal-header, .modal-footer { padding-left: 20px; padding-right: 20px; }
  #page-main > div > div:has(> .input) > .input { flex-basis: 100%; }
}
@media (max-width:860px) {
  #svc-cards { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #svc-cards > div { width: 100%; padding: 14px !important; }
  #svc-cards h2, #svc-cards h3 { font-size: 17px; overflow-wrap: normal !important; }
  #status-tabs { flex-wrap: wrap; }
}
@media (max-width:359px) {
  #svc-cards { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width:359px) {
  #page-main > div > div:has(> .kpi),
  #page-main > div > .row:has(> .kpi-click) { grid-template-columns: minmax(0, 1fr) !important; }
  #page-main .t-h1 { font-size: 22px; }
}
@media (max-width:860px) {
  #page-main > div > .kpi-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px !important; }
}
@media (max-width:359px) {
  #page-main > div > .kpi-grid { grid-template-columns: minmax(0, 1fr) !important; }
}
.mobile-calendar-hint, .cal-week-day-label { display: none; }
@media (max-width:860px) {
  .mobile-calendar-hint { display: block; padding: 12px; margin: 0; font-size: 12px; line-height: 1.5; color: var(--text-secondary); }
  .cal-week-day-label { display: block; font-size: 12px; color: var(--text-secondary); }
  #cal-week-body .cal-block { min-height: 64px; padding: 10px; }
  #cal-week-body .cal-block-head { font-size: 14px !important; white-space: normal; }
  #cal-week-body .cal-block > .t-caption { font-size: 12px !important; }
}
/* Attendance is an action, not a muted metadata chip. */
.attendance-controls { display:flex; flex-wrap:wrap; align-items:center; gap:10px; min-width:0; width:100%; }
.checkin-btn, .checkout-btn, .attendance-pending {
  min-height:48px; padding:12px 16px; border:0; border-radius:10px; cursor:pointer;
  font:700 14px/1.35 Inter,system-ui,sans-serif; touch-action:manipulation;
  white-space:normal; max-width:100%; box-shadow:0 2px 5px #0002;
}
.checkin-btn { background:#22c55e; color:#062b17; }
.checkout-btn { background:#fbbf24; color:#352000; }
.attendance-notify-btn { min-height:44px; max-width:100%; padding:10px 13px; border:1px solid var(--border-default); border-radius:10px; background:var(--brand-subtle); color:var(--text-brand); font:650 13px/1.3 Inter,system-ui,sans-serif; cursor:pointer; touch-action:manipulation; white-space:normal; }
.attendance-notify-btn:disabled { opacity:.65; cursor:wait; }
.checkin-btn:active, .checkout-btn:active { transform:scale(.98); }
.attendance-pending { background:var(--brand-subtle); color:var(--brand-400); cursor:wait; }
.attendance-note { font-size:12px; color:var(--text-secondary); }
.attendance-time { display:flex; flex-direction:column; gap:5px; font-size:12px; color:var(--text-secondary); }
.attendance-time input { width:120px; min-width:0; min-height:44px; padding:8px; border:1px solid var(--border-default); border-radius:8px; background:var(--bg-primary); color:var(--text-primary); font:inherit; }
/* Any modal must fit the viewport on its own — some screens (short laptops,
   not just narrow phones) are shorter than a tall form. The overlay itself
   never scrolls (it just centers); the modal box caps its own height and
   scrolls internally instead, so content is never stuck off-screen while
   the page behind it appears to do nothing. */
#page-main > [id^="modal"] > div, .modal-overlay > div {
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
}
@media(max-width:860px) {
  /* Constrain the dialog itself, then allow vertical scrolling inside it. */
  #page-main > [id^="modal"], .modal-overlay { padding:8px !important; max-width:100%; overscroll-behavior:contain; }
  #page-main > [id^="modal"] > div, .modal-overlay > div {
    box-sizing:border-box; width:100% !important; min-width:0 !important;
    max-width:min(560px, calc(100vw - 16px)) !important;
    max-height:calc(100dvh - 16px) !important; overflow-x:hidden !important; overflow-y:auto !important;
  }
  [id^="modal"] form, [id^="modal"] .modal-body, #grupo-modal-lista { min-width:0; max-width:100%; }
  #modal-grupo > .card > div:first-child { height:auto !important; padding:16px !important; gap:8px; }
  #modal-grupo > .card > div:first-child > div { min-width:0; flex:1; }
  #grupo-modal-titulo { font-size:17px; line-height:1.4; overflow-wrap:break-word; }
  #modal-grupo > .card > div:nth-child(2) { display:grid !important; grid-template-columns:minmax(0,1fr); padding:12px 16px !important; gap:10px !important; }
  #modal-grupo .input, #grupo-modal-status, #grupo-modal-novo { width:100% !important; max-width:100%; }
  #grupo-modal-lista { padding:8px 12px 16px !important; }
  .agenda-row { width:100%; min-width:0; margin:8px 0; padding:14px 10px !important; border:1px solid var(--border-default); }
  .agenda-row > div { min-width:0; max-width:100%; }
  .agenda-row > div:not(:first-child) { flex-wrap:wrap; padding-left:0 !important; }
  .agenda-row .attendance-controls { flex-basis:100%; }
  .agenda-row .checkin-btn, .agenda-row .checkout-btn, .agenda-row .attendance-pending { width:100%; }
  .agenda-row .t-label { font-size:15px; }
  .agenda-row .t-caption { font-size:12px; }
  .table td:has(.attendance-controls) { display:block; text-align:left; }
  .table td:has(.attendance-controls)::before { display:block; margin-bottom:8px; }
  .table .attendance-controls { justify-content:flex-start; }
}
.petdesk-dialog{box-sizing:border-box;width:min(600px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:0;border:1px solid var(--border);border-radius:16px;background:var(--bg-card,#202029);color:var(--text-primary,#eee);overflow:auto}.petdesk-dialog::backdrop{background:#0009}.petdesk-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;position:sticky;top:0;background:var(--bg-card,#202029);z-index:1}.petdesk-dialog h2{font-size:20px;margin:0}.dialog-close{width:44px;height:44px;border:0;border-radius:8px;background:transparent;color:inherit;font-size:28px}.dialog-content{padding:0 16px 16px;display:grid;gap:16px;min-width:0}.tutor-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.petdesk-dialog label{display:flex;flex-direction:column;gap:6px;min-width:0}.petdesk-dialog input,.petdesk-dialog select,.petdesk-dialog textarea{box-sizing:border-box;width:100%;min-width:0;padding:12px;border:1px solid var(--border,#555);border-radius:8px;background:var(--bg-input,#15151d);color:inherit;font:inherit;font-size:16px}.petdesk-dialog textarea{resize:vertical}.tutor-edit-form footer,.form-feedback{grid-column:1/-1}.tutor-edit-form footer{display:flex;flex-wrap:wrap;gap:8px}.petdesk-dialog .btn{min-height:44px;white-space:normal;text-align:center}[hidden]{display:none!important}@media(max-width:600px){.tutor-edit-form{grid-template-columns:minmax(0,1fr)}.tutor-edit-form footer{flex-direction:column}.tutor-edit-form footer .btn{width:100%}}
body:has(.petdesk-dialog[open]){overflow:hidden}
@media(max-width:860px){#page-main > [id^="modal"] > .card,#page-main > [id^="modal"] > .modal,.modal-overlay > .modal{flex-wrap:nowrap!important}#grupo-modal-lista{flex:1 1 auto!important;min-height:0!important}body:has(#page-main > [id^="modal"][style*="display: flex"]){overflow:hidden}}

@media(max-width:860px){body:has(#page-main > [id^="modal"][style*="display:flex"]){overflow:hidden}}
@media(max-width:860px){#modal-agendar{z-index:9200!important}}
/* Pet tab panels must shrink inside the mobile flex column, including plan forms. */
#page-content:has(#pet-tabs)>div:has(#pet-tabs){min-width:0;max-width:100%}#pet-tabs{min-width:0;max-width:100%;flex-wrap:wrap}#pet-tabs .tab{white-space:normal}#tab-plano,#tab-alimentacao,#tab-peso,#tab-historico,#tab-extrato,#tab-vacinas{width:100%;min-width:0;max-width:100%;box-sizing:border-box}#tab-plano .card,#tab-alimentacao .card,#pet-plan-links{min-width:0;max-width:100%;box-sizing:border-box}#pet-plan-links a{white-space:normal;overflow-wrap:anywhere}#tab-plano input,#tab-plano select,#tab-alimentacao input,#tab-alimentacao select,#tab-alimentacao textarea{min-width:0;max-width:100%;box-sizing:border-box}.dieta-refeicao-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dieta-resumo-refeicao{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px 0;border-top:1px solid var(--border-default)}.dieta-resumo-refeicao>div{min-width:0;overflow-wrap:anywhere}.dieta-resumo-quantidade{white-space:nowrap}@media(max-width:600px){#pet-plan-links{display:grid!important;grid-template-columns:minmax(0,1fr)}#tab-plano .card{width:100%}#tab-plano .card>div{min-width:0;max-width:100%}.dieta-refeicao-grid{grid-template-columns:minmax(0,1fr)}.dieta-resumo-refeicao{grid-template-columns:64px minmax(0,1fr)}.dieta-resumo-quantidade{grid-column:2;white-space:normal}}
:root[data-theme=light] .petdesk-dialog{--bg-input:#E5EAF2;color-scheme:light}
