:root{
  --navy-950: #001a41;
  --navy-900: #0a2a58;
  --navy-700: #4a5e88;
  --canvas: #f5f7fa;
  --surface: #ffffff;
  --surface-soft: #f7f9fc;
  --surface-line: #e3e8f0;
  --surface-line-strong: #d2dae6;
  --text: #191c1e;
  --text-soft: #667085;
  --success: #10b981;
  --success-soft: rgba(16, 185, 129, 0.12);
  --warning: #f97316;
  --warning-soft: rgba(249, 115, 22, 0.1);
  --danger: #ef4444;
  --danger-soft: rgba(239, 68, 68, 0.1);
  --schedule-status-overdue: #ef4444;
  --schedule-status-in-progress: #facc15;
  --schedule-status-scheduled: #2563eb;
  --schedule-status-completed: #10b981;
  --schedule-status-due-soon: #f97316;
  --schedule-status-cancelled: #64748b;
  --shadow-card: 0 4px 12px rgba(0, 26, 65, 0.1);
  --shadow-panel: 0 10px 32px rgba(15, 23, 42, 0.08);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --sidebar-width: 300px;
  --sidebar-collapsed-width: 82px;
  --alerts-width: 320px;
  --schedule-weekday-sticky-top: 72px;
}*{
  box-sizing: border-box;
}html,
body{
  margin: 0;
  min-height: 100%;
  background: var(--canvas);
  color: var(--text);
  font-family: "Inter", sans-serif;
}body{
  overflow-x: hidden;
  overflow-y: auto;
}body.form-modal-open,
body.schedule-modal-open,
body.confirmation-dialog-open{
  overflow: hidden;
}body.form-modal-open::before,
body.schedule-modal-open::before{
  content: "";
  position: fixed;
  inset: 0;
  z-index: 110;
  background: rgba(0, 26, 65, 0.46);
  backdrop-filter: blur(5px);
}button,
input,
select,
video{
  font: inherit;
}button{
  border: 0;
  background: none;
}.material-symbols-outlined{
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}.hidden{
  display: none !important;
}.hidden-by-settings,
.hidden-by-search,
.hidden-by-permission{
  display: none !important;
}.mobile-topbar,
.mobile-dashboard-hero{
  display: none;
}.auth-loading-shell,
.login-shell{
  display: grid;
  min-height: 100vh;
  padding: 28px;
  place-items: center;
  background:
    linear-gradient(90deg, rgba(0, 26, 65, 0.04) 1px, transparent 1px),
    linear-gradient(180deg, rgba(0, 26, 65, 0.04) 1px, transparent 1px),
    var(--canvas);
  background-size: 34px 34px;
}.auth-loading-card{
  display: grid;
  width: min(100%, 340px);
  justify-items: center;
  gap: 10px;
  padding: 28px;
  border: 1px solid var(--surface-line);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow-panel);
  text-align: center;
}.auth-loading-card strong{
  margin-top: 8px;
  color: var(--navy-950);
  font-size: 1rem;
}.auth-loading-card span{
  color: var(--text-soft);
  font-size: 0.82rem;
}.login-card{
  width: min(100%, 420px);
  padding: 28px;
  border: 1px solid var(--surface-line);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow-panel);
}.login-brand{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 34px;
}.login-brand__mark{
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 12px;
  background: var(--navy-950);
  color: #ffffff;
  font-size: 0.82rem;
  font-weight: 850;
}.login-brand__mark--image{
  width: 56px;
  height: 56px;
  border-radius: 0;
  background: transparent;
  object-fit: contain;
}.login-brand strong,
.login-brand span{
  display: block;
}.login-brand strong{
  color: var(--navy-950);
  font-size: 1rem;
}.login-brand span{
  margin-top: 3px;
  color: var(--text-soft);
  font-size: 0.78rem;
}.login-card__header{
  margin-bottom: 22px;
}.login-card__header p{
  margin: 0 0 8px;
  color: var(--success);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}.login-card__header h1{
  margin: 0;
  color: var(--navy-950);
  font-size: 1.75rem;
  letter-spacing: -0.03em;
}.login-google{
  width: 100%;
  min-height: 46px;
  margin-top: 4px;
}.login-status{
  min-height: 20px;
  margin: 14px 0 0;
  color: var(--text-soft);
  font-size: 0.78rem;
  text-align: center;
}.support-profile-field{
  display: grid;
  gap: 8px;
  margin-bottom: 16px;
}.support-profile-field span{
  color: var(--navy-950);
  font-size: 0.78rem;
  font-weight: 750;
}.support-profile-field select{
  width: 100%;
  height: 46px;
  padding: 0 14px;
  border: 1px solid var(--surface-line-strong);
  border-radius: 10px;
  background: var(--surface-soft);
  color: var(--text);
  outline: none;
}.support-profile-field select:focus{
  border-color: var(--navy-700);
  box-shadow: 0 0 0 4px rgba(74, 94, 136, 0.12);
}.support-profile-submit,
.support-profile-logout{
  width: 100%;
  min-height: 46px;
}.support-profile-logout{
  margin-top: 10px;
}.app-layout{
  min-height: 100vh;
}.app-layout--locked{
  display: none;
}.app-layout.sidebar-collapsed .sidebar{
  width: var(--sidebar-collapsed-width);
  padding-inline: 12px;
}.app-layout.sidebar-collapsed .main-shell{
  margin-left: var(--sidebar-collapsed-width);
}.app-layout.sidebar-collapsed .sidebar__brand{
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  padding: 0;
}.app-layout.sidebar-collapsed .sidebar__top{
  justify-content: center;
  align-items: center;
}.app-layout.sidebar-collapsed .sidebar__nav{
  justify-items: center;
}.app-layout.sidebar-collapsed .sidebar-context{
  justify-items: center;
  width: 100%;
}.app-layout.sidebar-collapsed .sidebar-context__label,
.app-layout.sidebar-collapsed .sidebar-condominium-list{
  display: none;
}.app-layout.sidebar-collapsed .nav-item{
  width: 54px;
  padding: 14px 0;
  justify-content: center;
  border-left: 0;
  border-radius: 14px;
}.app-layout.sidebar-collapsed .sidebar-toggle{
  width: 54px;
  height: 54px;
  border-radius: 14px;
}.app-layout.sidebar-collapsed .nav-item--active{
  border-left: 0;
}.app-layout.sidebar-collapsed .nav-item__label{
  display: none;
}.sidebar{
  position: fixed;
  inset: 0 auto 0 0;
  width: var(--sidebar-width);
  overflow-x: hidden;
  background: var(--navy-950);
  color: #ffffff;
  display: flex;
  flex-direction: column;
  padding: 28px 18px;
  z-index: 30;
  transition: width 0.24s ease, padding 0.24s ease;
}.sidebar__top{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}.sidebar__brand{
  flex: 1;
  min-width: 0;
  padding: 4px 4px 0;
  transition: opacity 0.18s ease, max-height 0.18s ease, padding 0.18s ease;
}.brand-logo{
  display: block;
  width: min(100%, 174px);
  height: auto;
  max-height: 62px;
  margin: 0 0 14px;
  object-fit: contain;
  object-position: left center;
  border: 0;
  border-radius: 0;
  background: transparent;
}.sidebar-toggle{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.82);
  cursor: pointer;
}.sidebar-toggle:hover{
  background: rgba(255, 255, 255, 0.08);
}.sidebar__brand h1{
  margin: 0;
  max-width: 210px;
  font-size: 1.1rem;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: 0.07em;
  text-wrap: balance;
}.sidebar__brand p{
  margin: 10px 0 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.18em;
}.sidebar__nav{
  display: grid;
  gap: 6px;
  margin-top: 36px;
  width: 100%;
  min-width: 0;
}.sidebar-context{
  display: grid;
  gap: 8px;
  margin-top: 12px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  min-width: 0;
}.sidebar-context__label{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  width: 100%;
  padding-inline: 16px;
  color: rgba(255, 255, 255, 0.46);
  font-size: 0.65rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  text-align: left;
}.sidebar-context__label:hover,
.sidebar-context__label--open{
  color: rgba(255, 255, 255, 0.7);
}.sidebar-context__label span:first-child{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}.sidebar-context__chevron{
  flex: 0 0 auto;
  margin-left: auto;
  font-size: 1rem;
  transition: transform 0.18s ease;
}.sidebar-context__label--open .sidebar-context__chevron{
  transform: rotate(180deg);
}.sidebar-context__label:disabled{
  cursor: default;
  opacity: 0.72;
}.sidebar-condominium-list{
  display: grid;
  gap: 6px;
  min-width: 0;
}.sidebar-condominium-list[hidden]{
  display: none;
}.sidebar-condominium-list--scroll{
  max-height: 250px;
  overflow-y: auto;
  padding-right: 4px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.28) transparent;
}.sidebar-condominium-list--scroll::-webkit-scrollbar{
  width: 6px;
}.sidebar-condominium-list--scroll::-webkit-scrollbar-track{
  background: transparent;
}.sidebar-condominium-list--scroll::-webkit-scrollbar-thumb{
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.22);
}.sidebar-condominium-item{
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.68);
  cursor: pointer;
  text-align: left;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}.sidebar-condominium-item:hover,
.sidebar-condominium-item--active{
  border-color: rgba(16, 185, 129, 0.42);
  background: rgba(16, 185, 129, 0.12);
  color: var(--success);
}.sidebar-condominium-item .material-symbols-outlined{
  flex: 0 0 auto;
  font-size: 1.16rem;
}.sidebar-condominium-item span:last-child{
  min-width: 0;
  overflow: hidden;
  font-size: 0.82rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}.sidebar-condominium-empty{
  padding: 10px 14px;
  color: rgba(255, 255, 255, 0.46);
  font-size: 0.78rem;
  font-weight: 700;
}.nav-item{
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 14px 16px;
  border-left: 4px solid transparent;
  border-radius: 14px;
  color: rgba(255, 255, 255, 0.68);
  text-transform: uppercase;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: left;
  transition: background 0.18s ease, color 0.18s ease, width 0.24s ease, padding 0.24s ease;
}.nav-item--mobile-only{
  display: none;
}.nav-item--active{
  background: rgba(16, 185, 129, 0.12);
  border-left-color: var(--success);
  color: var(--success);
}.nav-item .material-symbols-outlined{
  flex: 0 0 auto;
  font-size: 1.2rem;
}.nav-item__label{
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}.main-shell{
  margin-left: var(--sidebar-width);
  min-height: 100vh;
  transition: margin-left 0.24s ease;
}.topbar{
  position: sticky;
  top: 0;
  z-index: 20;
  height: 72px;
  padding: 14px 20px;
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid var(--surface-line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  backdrop-filter: blur(12px);
}.search-box{
  position: relative;
  flex: 1;
  max-width: 580px;
}.search-box .material-symbols-outlined{
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #98a2b3;
  font-size: 1rem;
}.search-box input{
  width: 100%;
  height: 44px;
  padding: 0 16px 0 42px;
  border: 1px solid var(--surface-line);
  border-radius: 10px;
  background: var(--surface-soft);
  color: var(--text);
  outline: none;
}.search-box input:focus{
  border-color: var(--navy-700);
  box-shadow: 0 0 0 4px rgba(74, 94, 136, 0.12);
}.topbar__actions{
  display: flex;
  align-items: center;
  gap: 10px;
}.icon-button{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--text-soft);
  cursor: pointer;
}.icon-button:hover{
  background: var(--surface-soft);
}.icon-button--active{
  background: var(--success-soft);
  color: var(--success);
}.notification-dot{
  position: absolute;
  top: 9px;
  right: 9px;
  display: none;
  width: 8px;
  height: 8px;
  border: 2px solid #ffffff;
  border-radius: 999px;
  background: var(--warning);
}.icon-button.has-alerts .notification-dot,
.mobile-icon-button.has-alerts .notification-dot{
  display: block;
}.topbar__divider{
  width: 1px;
  height: 34px;
  background: var(--surface-line);
  margin: 0 4px;
}.profile-box{
  display: flex;
  align-items: center;
  gap: 12px;
}.profile-box strong{
  display: block;
  color: var(--navy-950);
  font-size: 0.9rem;
}.profile-box span{
  display: block;
  color: #98a2b3;
  font-size: 0.64rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-top: 2px;
}.profile-avatar{
  display: grid;
  place-items: center;
  overflow: hidden;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid var(--surface-line);
  background: linear-gradient(135deg, #ffffff, #e9eef6);
  color: var(--navy-950);
  font-size: 0.82rem;
  font-weight: 800;
}.profile-avatar img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}.profile-avatar__brand-logo{
  object-fit: contain;
  padding: 4px;
}.profile-logout{
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--surface-line);
  border-radius: 10px;
  color: var(--text-soft);
  cursor: pointer;
}.profile-logout:hover{
  background: var(--surface-soft);
  color: var(--navy-950);
}.profile-logout .material-symbols-outlined{
  font-size: 1.1rem;
}.content-shell{
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--alerts-width);
  min-height: calc(100vh - 72px);
}.content-main{
  padding: 24px;
  overflow: visible;
}.section-header{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}.section-header > div:first-child{
  flex: 1 1 auto;
  min-width: 0;
}.section-header h2{
  margin: 0;
  color: var(--navy-950);
  font-size: 1.45rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}#live-view .section-header h2{
  overflow: hidden;
  font-size: 1.35rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}.section-header__meta{
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  color: var(--text-soft);
  font-size: 0.95rem;
}.section-header__meta p{
  margin: 0;
}.status-dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--success);
}.status-dot--warning{
  background: var(--warning);
}.section-header__actions{
  display: flex;
  gap: 10px;
  flex-wrap: nowrap;
  align-items: center;
  flex: 0 0 auto;
}.section-header__actions .button{
  flex: 0 0 auto;
  white-space: nowrap;
}.button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid var(--surface-line-strong);
  border-radius: 10px;
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 600;
  transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease;
}.button:hover{
  transform: translateY(-1px);
}.button:disabled,
.button[aria-disabled="true"]{
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}.button--ghost{
  background: #ffffff;
  color: #344054;
}.button--primary{
  background: var(--navy-950);
  border-color: var(--navy-950);
  color: #ffffff;
}.button--danger{
  background: #ffffff;
  border-color: rgba(239, 68, 68, 0.32);
  color: #b91c1c;
}.button--danger:hover{
  background: var(--danger);
  border-color: var(--danger);
  color: #ffffff;
}.button--full{
  width: 100%;
}.confirmation-dialog{
  position: fixed;
  inset: 0;
  z-index: 240;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(0, 26, 65, 0.46);
  backdrop-filter: blur(5px);
}.confirmation-dialog__card{
  display: grid;
  width: min(100%, 400px);
  gap: 18px;
  padding: 18px;
  border: 1px solid var(--surface-line);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 28px 80px rgba(0, 26, 65, 0.26);
}.confirmation-dialog__content{
  display: flex;
  align-items: flex-start;
  gap: 12px;
}.confirmation-dialog__icon{
  display: grid;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 13px;
  background: #fff1f2;
  color: #dc2626;
  font-size: 1.35rem;
}.confirmation-dialog__content div{
  display: grid;
  min-width: 0;
  gap: 5px;
}.confirmation-dialog__content strong{
  color: var(--navy-950);
  font-size: 1.02rem;
  font-weight: 900;
}.confirmation-dialog__content p{
  margin: 0;
  color: var(--text-soft);
  font-size: 0.88rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}.confirmation-dialog__actions{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}.confirmation-dialog__actions .button{
  justify-content: center;
}.occurrence-resolution-dialog .confirmation-dialog__card{
  width: min(100%, 460px);
}.occurrence-resolution-dialog__icon{
  background: var(--success-soft);
  color: #047857;
}.occurrence-resolution-dialog__field{
  display: grid;
  gap: 6px;
}.occurrence-resolution-dialog__field span{
  color: var(--text-soft);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}.occurrence-resolution-dialog__field textarea{
  width: 100%;
  min-height: 118px;
  padding: 12px;
  border: 1px solid var(--surface-line-strong);
  border-radius: 12px;
  background: var(--surface-soft);
  color: var(--navy-950);
  outline: none;
  resize: vertical;
}.occurrence-resolution-dialog__field textarea:focus{
  border-color: var(--success);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.12);
}.occurrence-resolution-dialog__status{
  min-height: 18px;
  margin: -4px 0 0;
  color: #b91c1c;
  font-size: 0.78rem;
  font-weight: 750;
}.app-layout[data-route-view="indicadores"] .content-shell,
.app-layout[data-route-view="agenda-servicos"]:not(.alerts-panel-open) .content-shell,
.app-layout[data-route-view="eventos"]:not(.alerts-panel-open) .content-shell,
.app-layout[data-route-view="condominios"]:not(.alerts-panel-open) .content-shell,
.app-layout[data-route-view="fornecedores-prestadores"]:not(.alerts-panel-open) .content-shell,
.app-layout[data-route-view="condominio-configuracoes"]:not(.alerts-panel-open) .content-shell,
.app-layout[data-route-view="personalizar"]:not(.alerts-panel-open) .content-shell,
.app-layout[data-route-view="configuracoes-saas"]:not(.alerts-panel-open) .content-shell{
  grid-template-columns: 1fr;
}.app-layout[data-route-view="indicadores"] .alerts-panel,
.app-layout[data-route-view="agenda-servicos"]:not(.alerts-panel-open) .alerts-panel,
.app-layout[data-route-view="eventos"]:not(.alerts-panel-open) .alerts-panel,
.app-layout[data-route-view="condominios"]:not(.alerts-panel-open) .alerts-panel,
.app-layout[data-route-view="fornecedores-prestadores"]:not(.alerts-panel-open) .alerts-panel,
.app-layout[data-route-view="condominio-configuracoes"]:not(.alerts-panel-open) .alerts-panel,
.app-layout[data-route-view="personalizar"]:not(.alerts-panel-open) .alerts-panel,
.app-layout[data-route-view="configuracoes-saas"]:not(.alerts-panel-open) .alerts-panel{
  display: none;
}.app-layout.alerts-panel-open[data-route-view="condominios"] .condominium-grid{
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr));
}.app-layout.alerts-panel-open[data-route-view="condominios"] .section-header{
  grid-template-columns: minmax(0, 1fr);
}.app-layout.alerts-panel-open[data-route-view="condominios"] .section-header__actions{
  justify-content: start;
}.indicators-page-header{
  align-items: center;
}.condominiums-page-header{
  align-items: center;
}.condominium-summary-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 18px;
  margin-bottom: 18px;
}.condominium-summary-card{
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 104px;
  padding: 20px;
  border: 1px solid var(--surface-line);
  border-radius: var(--radius-lg);
  background: #ffffff;
  box-shadow: var(--shadow-card);
}.condominium-summary-card__icon{
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: var(--success-soft);
  color: var(--success);
}.condominium-summary-card div{
  min-width: 0;
}.condominium-summary-card > div > span:not(.material-symbols-outlined){
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  color: var(--navy-700);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.09em;
  line-height: 1.35;
  text-transform: uppercase;
}.condominium-summary-card strong{
  display: block;
  margin-top: 7px;
  overflow-wrap: anywhere;
  color: var(--navy-950);
  font-size: 1.42rem;
  font-weight: 850;
  line-height: 1.15;
}.active-users-metrics{
  margin-bottom: 22px;
}.active-users-metrics__header{
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}.active-users-metrics__header h3{
  margin: 2px 0 0;
  color: var(--navy-950);
  font-size: 1.05rem;
}.active-users-metrics__status{
  color: var(--success);
  font-size: 0.72rem;
  font-weight: 800;
}.active-users-metrics__status--warning{
  color: #b45309;
}.active-users-metrics__grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}.active-users-metric-card{
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  min-height: 104px;
  padding: 16px;
  border: 1px solid var(--surface-line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: var(--shadow-card);
}.active-users-metric-card__icon{
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 8px;
  background: #dcfce7;
  color: #059669;
}.active-users-metric-card--live .active-users-metric-card__icon{
  background: #d1fae5;
  color: #047857;
}.active-users-metric-card--weekly .active-users-metric-card__icon{
  background: #dbeafe;
  color: #2563eb;
}.active-users-metric-card--monthly .active-users-metric-card__icon{
  background: #ffedd5;
  color: #ea580c;
}.active-users-metric-card div{
  display: grid;
  min-width: 0;
}.active-users-metric-card div > span{
  color: var(--navy-700);
  font-size: 0.7rem;
  font-weight: 900;
}.active-users-metric-card strong{
  color: var(--navy-950);
  font-size: 1.65rem;
  line-height: 1.1;
}.active-users-metric-card small{
  margin-top: 3px;
  color: var(--text-soft);
  font-size: 0.7rem;
  font-weight: 700;
}.admin-usage-dashboard{
  margin-bottom: 24px;
}.admin-usage-dashboard__header{
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}.admin-usage-dashboard__header h3{
  margin: 2px 0 0;
  color: var(--navy-950);
  font-size: 1.05rem;
}.admin-usage-dashboard__status{
  color: var(--success);
  font-size: 0.72rem;
  font-weight: 800;
}.admin-usage-dashboard__status--warning{
  color: #b45309;
}.admin-usage-dashboard__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}.admin-analytics-panel{
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--surface-line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: var(--shadow-card);
}.admin-analytics-panel__heading{
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 32px;
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--surface-line);
}.admin-analytics-panel__heading .material-symbols-outlined{
  color: var(--success);
  font-size: 1.25rem;
}.admin-analytics-panel__heading h4{
  margin: 0;
  color: var(--navy-950);
  font-size: 0.86rem;
}.admin-usage-summary{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}.admin-usage-summary > div{
  min-width: 0;
  min-height: 82px;
  padding: 12px;
  border: 1px solid var(--surface-line);
  border-radius: 6px;
  background: var(--surface-soft);
}.admin-usage-summary span{
  display: block;
  color: var(--text-soft);
  font-size: 0.66rem;
  font-weight: 800;
  line-height: 1.3;
}.admin-usage-summary strong{
  display: block;
  margin-top: 7px;
  overflow-wrap: anywhere;
  color: var(--navy-950);
  font-size: 1.25rem;
  line-height: 1.2;
}.admin-usage-summary > div:last-child strong{
  font-size: 0.8rem;
}.admin-analytics-list{
  max-height: 250px;
  overflow-y: auto;
  padding-right: 5px;
  scrollbar-color: #b8c3d3 transparent;
  scrollbar-width: thin;
}.admin-analytics-list::-webkit-scrollbar{
  width: 5px;
}.admin-analytics-list::-webkit-scrollbar-thumb{
  border-radius: 5px;
  background: #b8c3d3;
}.admin-session-row,
.admin-journey-row,
.admin-feature-row{
  border-bottom: 1px solid var(--surface-line);
}.admin-session-row:last-child,
.admin-journey-row:last-child,
.admin-feature-row:last-child{
  border-bottom: 0;
}.admin-session-row{
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 9px 2px;
}.admin-analytics-avatar{
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 6px;
  background: var(--navy-950);
  color: #ffffff;
  font-size: 0.67rem;
  font-weight: 900;
}.admin-session-row div,
.admin-journey-row > div,
.admin-feature-row > div{
  min-width: 0;
}.admin-session-row strong,
.admin-journey-row strong,
.admin-feature-row strong{
  display: block;
  overflow: hidden;
  color: var(--navy-950);
  font-size: 0.76rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}.admin-session-row div span,
.admin-journey-row div > span:not(.admin-journey-badge),
.admin-feature-row div > span{
  display: block;
  margin-top: 3px;
  color: var(--text-soft);
  font-size: 0.66rem;
}.admin-session-row time{
  max-width: 88px;
  color: var(--text-soft);
  font-size: 0.62rem;
  line-height: 1.35;
  text-align: right;
}.admin-journey-row{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 10px 2px;
}.admin-journey-row__status{
  display: grid;
  justify-items: end;
  gap: 4px;
}.admin-journey-row__status small{
  max-width: 120px;
  color: var(--text-soft);
  font-size: 0.59rem;
  text-align: right;
}.admin-journey-badge{
  padding: 4px 7px;
  border-radius: 999px;
  font-size: 0.61rem;
  font-weight: 900;
}.admin-journey-badge--active{
  background: #d1fae5;
  color: #047857;
}.admin-journey-badge--starting{
  background: #dbeafe;
  color: #1d4ed8;
}.admin-journey-badge--inactive{
  background: #f1f5f9;
  color: #64748b;
}.admin-feature-row{
  padding: 10px 2px;
}.admin-feature-row__track{
  height: 5px;
  margin-top: 7px;
  overflow: hidden;
  border-radius: 5px;
  background: #e8edf4;
}.admin-feature-row__track span{
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #2563eb;
}.admin-analytics-empty{
  margin: 0;
  padding: 24px 12px;
  color: var(--text-soft);
  font-size: 0.75rem;
  text-align: center;
}.condominium-form-panel{
  margin-bottom: 18px;
}.condominium-form{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 18px;
}.condominium-form label{
  display: grid;
  gap: 6px;
  min-width: 0;
}.condominium-form label span{
  color: var(--text-soft);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}.condominium-form input,
.condominium-form select{
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid var(--surface-line-strong);
  border-radius: 10px;
  background: #ffffff;
  color: var(--navy-950);
  outline: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}.condominium-form input:focus,
.condominium-form select:focus{
  border-color: var(--success);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.14);
}.condominium-logo-field{
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  grid-column: 1 / -1;
  padding: 14px;
  border: 1px solid var(--surface-line);
  border-radius: 14px;
  background: var(--surface-soft);
}.condominium-logo-field__preview{
  display: grid;
  place-items: center;
  width: 96px;
  height: 96px;
  overflow: hidden;
  border: 1px dashed var(--surface-line-strong);
  border-radius: 18px;
  background: #ffffff;
}.condominium-logo-field__preview img{
  width: 100%;
  height: 100%;
  padding: 10px;
  object-fit: contain;
}.condominium-logo-field__preview .material-symbols-outlined{
  color: var(--text-soft);
  font-size: 2rem;
}.condominium-logo-field__content{
  display: grid;
  gap: 8px;
  min-width: 0;
}.condominium-logo-field__content > span{
  color: var(--text-soft);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}.condominium-logo-field__content p{
  margin: 0;
  color: var(--text-soft);
  font-size: 0.82rem;
  line-height: 1.45;
}.condominium-logo-field__actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}.condominium-logo-field__button{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 8px;
  overflow: hidden;
  white-space: nowrap;
}.condominium-logo-field__button .material-symbols-outlined{
  flex: 0 0 auto;
  color: inherit;
  font-size: 1.05rem;
  letter-spacing: 0;
  text-transform: none;
}.condominium-form .condominium-logo-field__button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
}.condominium-form .condominium-logo-field__button .material-symbols-outlined{
  color: inherit;
  font-size: 1.05rem;
  letter-spacing: 0;
  text-transform: none;
}.condominium-logo-field__button input{
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}#remove-condominium-logo:disabled{
  opacity: 0.45;
  cursor: not-allowed;
  transform: none;
}.condominium-form__actions{
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  grid-column: 1 / -1;
}.condominium-delete-button{
  margin-right: auto;
}.condominium-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}.condominium-card{
  display: grid;
  gap: 16px;
  align-items: start;
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--surface-line);
  border-radius: var(--radius-lg);
  background: #ffffff;
  cursor: pointer;
  box-shadow: var(--shadow-panel);
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}.condominium-card:hover{
  transform: translateY(-1px);
  border-color: var(--surface-line-strong);
  box-shadow: 0 12px 30px rgba(0, 26, 65, 0.12);
}.condominium-card--active{
  border-color: rgba(16, 185, 129, 0.5);
  box-shadow: 0 14px 32px rgba(16, 185, 129, 0.12);
}.condominium-card__header{
  display: grid;
  grid-column: 1;
  grid-row: 1;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}.condominium-card__avatar{
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: var(--navy-950);
  color: #ffffff;
  font-size: 0.88rem;
  font-weight: 900;
}.condominium-card__avatar--image{
  overflow: hidden;
  background: #ffffff;
  border: 1px solid var(--surface-line-strong);
}.condominium-card__avatar img{
  width: 100%;
  height: 100%;
  padding: 6px;
  object-fit: contain;
}.condominium-card__status{
  display: inline-flex;
  width: fit-content;
  margin-bottom: 4px;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--success-soft);
  color: #047857;
  font-size: 0.66rem;
  font-weight: 900;
  text-transform: uppercase;
}.condominium-card h3{
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--navy-950);
  font-size: 1.12rem;
  line-height: 1.18;
}.condominium-card__details{
  display: contents;
}.condominium-card__details summary{
  display: none;
}.condominium-card__meta,
.condominium-card__modules{
  display: grid;
  gap: 8px;
}.condominium-card__meta{
  grid-column: 1 / -1;
  grid-row: 2;
}.condominium-card__meta span,
.condominium-card__modules span{
  display: inline-flex;
  align-items: center;
  min-width: 0;
  gap: 8px;
  color: var(--text-soft);
  font-size: 0.82rem;
  line-height: 1.4;
}.condominium-card__meta .material-symbols-outlined,
.condominium-card__modules .material-symbols-outlined{
  flex: 0 0 auto;
  color: var(--navy-700);
  font-size: 1.08rem;
}.condominium-card__modules{
  grid-column: 1 / -1;
  grid-row: 3;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-top: 12px;
  border-top: 1px solid var(--surface-line);
}.condominium-card__modules span{
  min-height: 38px;
  padding: 8px 10px;
  border-radius: 12px;
  background: var(--surface-soft);
  color: var(--navy-700);
  font-size: 0.75rem;
  font-weight: 800;
}.condominium-card__actions{
  display: grid;
  grid-column: 1 / -1;
  grid-row: 4;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}.condominium-card__module-button{
  width: 100%;
  min-width: 0;
  min-height: 40px;
  padding-inline: 12px;
  font-size: 0.82rem;
  white-space: normal;
  line-height: 1.15;
}.condominium-card__module-button .material-symbols-outlined{
  flex: 0 0 auto;
}.settings-panel.supplier-form-panel{
  overflow: visible;
  margin-bottom: 18px;
}.supplier-form{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 18px;
}.supplier-form label,
.supplier-form__field{
  display: grid;
  gap: 6px;
  min-width: 0;
}.supplier-form > label > span,
.supplier-form__field > span{
  color: var(--text-soft);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}.supplier-form input,
.supplier-form select,
.supplier-form textarea{
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid var(--surface-line-strong);
  border-radius: 10px;
  background: #ffffff;
  color: var(--navy-950);
  font: inherit;
  outline: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}.supplier-form textarea{
  min-height: 96px;
  padding-block: 10px;
  resize: vertical;
}.supplier-form input:focus,
.supplier-form select:focus,
.supplier-form textarea:focus{
  border-color: var(--success);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.14);
}.supplier-condominium-options{
  position: relative;
}.supplier-condominium-combo{
  position: relative;
}.supplier-condominium-combo__button{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid var(--surface-line-strong);
  border-radius: 10px;
  background: #ffffff;
  color: var(--navy-950);
  font: inherit;
  text-align: left;
  cursor: pointer;
  outline: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}.supplier-condominium-combo__button:focus{
  border-color: var(--success);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.14);
}.supplier-condominium-combo__button [data-supplier-condominium-summary]{
  min-width: 0;
  overflow: hidden;
  color: var(--navy-950);
  font-size: 0.88rem;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}.supplier-condominium-combo__button .material-symbols-outlined{
  flex: 0 0 auto;
  color: var(--text-soft);
  font-size: 1.2rem;
  transition: transform 0.18s ease;
}.supplier-condominium-combo.is-open .supplier-condominium-combo__button .material-symbols-outlined{
  transform: rotate(180deg);
}.supplier-condominium-combo__menu{
  position: absolute;
  z-index: 20;
  top: calc(100% + 6px);
  right: 0;
  left: 0;
  display: none;
  max-height: 230px;
  overflow-y: auto;
  padding: 6px;
  border: 1px solid var(--surface-line-strong);
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 16px 34px rgba(0, 26, 65, 0.16);
}.supplier-condominium-combo.is-open .supplier-condominium-combo__menu{
  display: grid;
  gap: 6px;
}.supplier-condominium-option{
  display: flex !important;
  align-items: center;
  min-height: 42px;
  padding: 9px 10px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: #ffffff;
  color: var(--navy-950);
  cursor: pointer;
}.supplier-condominium-option:hover,
.supplier-condominium-option[aria-selected="true"]{
  border-color: rgba(16, 185, 129, 0.22);
  background: var(--success-soft);
}.supplier-condominium-option input[type="checkbox"]{
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  min-height: 0;
  padding: 0;
  accent-color: var(--success);
}.supplier-condominium-option span{
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 0.8rem;
  font-weight: 800;
  line-height: 1.2;
}.supplier-condominium-options__empty{
  padding: 12px;
  border: 1px dashed var(--surface-line-strong);
  border-radius: 10px;
  color: var(--text-soft);
  font-size: 0.82rem;
}.supplier-form__wide,
.supplier-form__actions{
  grid-column: 1 / -1;
}.supplier-form__actions{
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}.supplier-delete-button{
  margin-right: auto;
}.supplier-grid{
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}.supplier-card{
  display: grid;
  gap: 16px;
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--surface-line);
  border-radius: var(--radius-lg);
  background: #ffffff;
  box-shadow: var(--shadow-panel);
  cursor: pointer;
}.supplier-card--focused{
  border-color: rgba(16, 185, 129, 0.78);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.14), var(--shadow-panel);
}.supplier-card__header{
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
}.supplier-card__avatar{
  display: grid;
  place-items: center;
  width: 60px;
  height: 60px;
  border-radius: 16px;
  background: var(--navy-950);
  color: #ffffff;
  font-size: 1rem;
  font-weight: 900;
}.supplier-card__type{
  display: inline-flex;
  width: fit-content;
  margin-bottom: 4px;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--success-soft);
  color: #047857;
  font-size: 0.66rem;
  font-weight: 900;
  text-transform: uppercase;
}.supplier-card h3,
.supplier-card p{
  margin: 0;
}.supplier-card h3{
  overflow-wrap: anywhere;
  color: var(--navy-950);
  font-size: 1.08rem;
  line-height: 1.18;
}.supplier-card p{
  color: var(--text-soft);
  font-size: 0.82rem;
}.supplier-card__planned-count,
.supplier-card__service-count{
  display: inline-flex;
  width: fit-content;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text-soft);
  font: inherit;
  font-size: 0.82rem;
  line-height: 1.15;
  text-align: left;
  cursor: pointer;
}.supplier-card__service-count{
  cursor: default;
}.supplier-card__planned-count:focus-visible{
  outline: 2px solid rgba(0, 26, 65, 0.22);
  outline-offset: 3px;
}.supplier-card__schedule-summary{
  display: grid;
  gap: 8px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--surface-line);
}.supplier-card__schedule-summary > strong{
  color: var(--text-soft);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}.supplier-card__schedule-summary .overview-status-summary{
  display: grid;
  width: max-content;
  gap: 3px;
}.supplier-card__schedule-summary .overview-status-summary__row{
  display: grid;
  grid-template-columns: 9px 24px auto;
  align-items: center;
  gap: 5px;
  border: 0;
  background: transparent;
  color: var(--navy-950);
  cursor: pointer;
  font: inherit;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1.08;
  padding: 0;
  text-align: left;
}.supplier-card__schedule-summary button.overview-status-summary__row:hover > span,
.supplier-card__schedule-summary button.overview-status-summary__row:focus-visible > span{
  text-decoration: underline;
}.supplier-card__schedule-summary button.overview-status-summary__row:focus-visible{
  outline: 2px solid rgba(0, 26, 65, 0.18);
  outline-offset: 3px;
}.supplier-card__schedule-summary .overview-status-summary__row > b{
  color: var(--navy-950);
  text-align: center;
}.supplier-card__schedule-summary .overview-status-summary__dot{
  display: block;
  width: 9px;
  height: 9px;
  border-radius: 999px;
}.supplier-card__schedule-summary .overview-status-summary__dot--atrasado{
  background: #ff7a1a;
}.supplier-card__schedule-summary .overview-status-summary__dot--em-andamento{
  background: #facc15;
}.supplier-card__schedule-summary .overview-status-summary__dot--planejada{
  background: #2563eb;
}.supplier-card__schedule-summary .overview-status-summary__dot--concluida{
  background: #10b981;
}.supplier-card__footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}.supplier-card__tags{
  display: grid;
  gap: 8px;
  min-width: 0;
}.supplier-card__services{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}.supplier-card__services span,
.supplier-card__condominiums span{
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--surface-soft);
  color: var(--navy-700);
  font-size: 0.74rem;
  font-weight: 850;
  line-height: 1.1;
}.supplier-card__condominiums{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}.supplier-card__condominiums span{
  background: #e6f2ff;
  color: #1d4f91;
}.supplier-card__details{
  min-width: 0;
}.supplier-card__details summary{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  color: var(--navy-700);
  cursor: pointer;
  list-style: none;
}.supplier-card__details summary::-webkit-details-marker{
  display: none;
}.supplier-card__details summary .material-symbols-outlined{
  font-size: 1.2rem;
  transition: transform 0.18s ease;
}.supplier-card__details[open] summary .material-symbols-outlined{
  transform: rotate(180deg);
}.supplier-card__meta{
  display: grid;
  gap: 8px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--surface-line);
}.supplier-card__meta span{
  display: inline-flex;
  align-items: center;
  min-width: 0;
  gap: 8px;
  color: var(--text-soft);
  font-size: 0.82rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}.supplier-card__meta .material-symbols-outlined{
  flex: 0 0 auto;
  color: var(--navy-700);
  font-size: 1.08rem;
}.supplier-card__actions{
  display: flex;
  justify-content: center;
  gap: 10px;
}.supplier-card__actions .button{
  cursor: pointer;
}.schedule-page-header{
  align-items: center;
}.condominium-form-panel,
.settings-panel.supplier-form-panel,
.occurrence-form-panel,
.schedule-form-panel{
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 150;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  width: min(960px, calc(100vw - 32px));
  max-height: min(760px, calc(100dvh - 32px));
  margin: 0;
  overflow: hidden;
  transform: translate(-50%, -50%);
  box-shadow: 0 28px 80px rgba(0, 26, 65, 0.26);
}.condominium-form-panel .settings-panel__intro,
.supplier-form-panel .settings-panel__intro,
.occurrence-form-panel .settings-panel__intro,
.schedule-form-panel .settings-panel__intro{
  position: sticky;
  top: 0;
  z-index: 2;
}.form-modal-actions,
.schedule-modal-actions{
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}.settings-panel__intro .form-modal-actions,
.settings-panel__intro .schedule-modal-actions{
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
  grid-auto-flow: column;
}.schedule-modal-complete{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(239, 68, 68, 0.28);
  border-radius: 12px;
  background: #fff1f2;
  color: #b91c1c;
  cursor: pointer;
  font-weight: 850;
  white-space: nowrap;
  box-shadow: 0 6px 14px rgba(0, 26, 65, 0.08);
}.schedule-modal-complete:hover{
  border-color: rgba(239, 68, 68, 0.42);
  background: #ffe4e6;
}.schedule-modal-complete .material-symbols-outlined{
  font-size: 1.08rem;
}.form-modal-close,
.schedule-modal-close{
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  border: 1px solid var(--surface-line-strong);
  border-radius: 12px;
  background: #ffffff;
  color: var(--navy-950);
  cursor: pointer;
  box-shadow: 0 6px 14px rgba(0, 26, 65, 0.08);
}.form-modal-close:hover,
.schedule-modal-close:hover{
  border-color: rgba(0, 26, 65, 0.26);
  background: var(--surface-soft);
}.form-modal-close .material-symbols-outlined,
.schedule-modal-close .material-symbols-outlined{
  font-size: 1.18rem;
}.condominium-form,
.supplier-form,
.occurrence-form,
.schedule-form{
  min-height: 0;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 26, 65, 0.22) transparent;
}.schedule-form{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
}.schedule-form label{
  display: grid;
  gap: 6px;
}.schedule-form label > span{
  color: var(--text-soft);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}.schedule-form input,
.schedule-form select,
.schedule-form textarea{
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid var(--surface-line-strong);
  border-radius: 10px;
  background: var(--surface-soft);
  color: var(--navy-950);
  outline: none;
}.schedule-form textarea{
  min-height: 92px;
  padding-top: 10px;
  resize: vertical;
}.schedule-form input:focus,
.schedule-form select:focus,
.schedule-form textarea:focus{
  border-color: var(--success);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.12);
}.schedule-form__wide,
.schedule-form__actions{
  grid-column: 1 / -1;
}.schedule-form__actions{
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}.schedule-delete-button{
  margin-right: auto;
}.schedule-board{
  display: grid;
  grid-template-columns: minmax(0, 1fr) 292px;
  gap: 18px;
  align-items: start;
}.schedule-main-panel,
.schedule-side-panel{
  min-width: 0;
}

.schedule-main-panel{
  overflow: visible;
  border: 1px solid var(--surface-line);
  border-radius: 22px;
  background: #ffffff;
  box-shadow: var(--shadow-panel);
}.schedule-toolbar{
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 64px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--surface-line);
  background: rgba(255, 255, 255, 0.96);
}.schedule-toolbar h3{
  margin: 0 0 0 8px;
  color: var(--navy-950);
  font-size: 1.18rem;
  font-weight: 750;
}.schedule-toolbar__arrows{
  display: inline-flex;
  gap: 4px;
}.schedule-icon-button{
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border-color: transparent;
  color: var(--navy-950);
}.schedule-icon-button:hover{
  background: var(--surface-soft);
}.schedule-calendar-scroll{
  overflow: visible;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 26, 65, 0.18) transparent;
}.schedule-calendar{
  min-width: 700px;
}.schedule-calendar-weekdays{
  position: sticky;
  top: var(--schedule-weekday-sticky-top);
  z-index: 12;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  border-bottom: 1px solid var(--surface-line);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 10px 18px rgba(15, 23, 42, 0.06);
  backdrop-filter: blur(10px);
}.schedule-calendar-weekdays span{
  padding: 10px 12px;
  border-right: 1px solid var(--surface-line);
  color: var(--text-soft);
  font-size: 0.62rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}.schedule-calendar-weekdays span:last-child{
  border-right: 0;
}.schedule-calendar-grid{
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}.schedule-day{
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 128px;
  padding: 9px 8px;
  border-right: 1px solid var(--surface-line);
  border-bottom: 1px solid var(--surface-line);
  background: #ffffff;
}.schedule-day:nth-child(7n){
  border-right: 0;
}.schedule-day:nth-last-child(-n + 7){
  border-bottom: 0;
}.schedule-day--muted{
  background: #fbfcfe;
  color: #98a2b3;
}.schedule-day__head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
  margin-bottom: 8px;
}.schedule-day__head span{
  display: none;
  color: var(--text-soft);
  font-size: 0.62rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}.schedule-day__head strong{
  display: grid;
  place-items: center;
  min-width: 26px;
  height: 26px;
  border-radius: 999px;
  color: var(--navy-950);
  font-size: 0.78rem;
  font-weight: 800;
}.schedule-day--today .schedule-day__head strong{
  background: var(--navy-950);
  color: #ffffff;
}.schedule-day--focused{
  position: relative;
  background: #f0fdfa;
  box-shadow: inset 0 0 0 2px rgba(16, 185, 129, 0.38);
}.schedule-day__events{
  display: grid;
  align-content: start;
  gap: 4px;
  min-width: 0;
}.schedule-event{
  display: flex;
  align-items: center;
  gap: 5px;
  width: 100%;
  min-width: 0;
  min-height: 23px;
  padding: 3px 8px;
  border-radius: 7px;
  background: var(--schedule-color, var(--navy-950));
  color: #ffffff;
  cursor: pointer;
  text-align: left;
  box-shadow: inset 0 -10px 18px rgba(0, 0, 0, 0.08);
}.schedule-event:hover{
  filter: brightness(0.96);
}.schedule-event--focused{
  position: relative;
  z-index: 2;
  outline: 2px solid var(--navy-950);
  outline-offset: 2px;
  box-shadow:
    0 0 0 5px rgba(20, 184, 166, 0.22),
    0 12px 24px rgba(0, 26, 65, 0.22),
    inset 0 -10px 18px rgba(0, 0, 0, 0.08);
  animation: schedule-focus-pulse 1.25s ease-in-out 2;
}.schedule-event span,
.schedule-event strong{
  min-width: 0;
  overflow: hidden;
  font-size: 0.66rem;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}.schedule-event span{
  flex: 0 0 auto;
  opacity: 0.92;
  font-weight: 800;
}.schedule-event strong{
  flex: 1 1 auto;
  font-weight: 850;
}.schedule-event-more{
  color: var(--navy-700);
  font-size: 0.68rem;
  font-weight: 800;
}@keyframes schedule-focus-pulse{
  0%, 100%{
    transform: translateY(0);
  }
  50%{
    transform: translateY(-1px);
  }
}.schedule-side-panel{
  display: grid;
  gap: 16px;
}.schedule-mini-card,
.schedule-agendas{
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--surface-line);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: var(--shadow-card);
}.schedule-mini-card__header,
.schedule-agendas__header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}.schedule-mini-card__header strong,
.schedule-agendas__header strong{
  color: var(--navy-950);
  font-size: 0.88rem;
}.schedule-mini-card__header > div{
  display: inline-flex;
  gap: 4px;
}.schedule-mini-arrow{
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  color: var(--navy-700);
  cursor: pointer;
}.schedule-mini-arrow:hover{
  background: var(--surface-soft);
  color: var(--navy-950);
}.schedule-mini-arrow .material-symbols-outlined,
.schedule-agendas__header .material-symbols-outlined{
  font-size: 1rem;
}.schedule-mini-calendar{
  display: grid;
  gap: 8px;
}.schedule-mini-calendar__weekdays,
.schedule-mini-calendar__days{
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 4px;
}.schedule-mini-calendar__weekdays span{
  display: grid;
  place-items: center;
  height: 20px;
  color: var(--text-soft);
  font-size: 0.58rem;
  font-weight: 850;
}.schedule-mini-calendar__days button{
  display: grid;
  place-items: center;
  width: 100%;
  height: 28px;
  border-radius: 999px;
  color: var(--navy-950);
  cursor: pointer;
  font-size: 0.68rem;
  font-weight: 700;
}.schedule-mini-calendar__days button:hover{
  background: var(--surface-soft);
}.schedule-mini-calendar__days button.is-muted{
  color: #98a2b3;
}.schedule-mini-calendar__days button.is-today{
  background: var(--navy-950);
  color: #ffffff;
}.schedule-agenda-filters{
  display: grid;
  gap: 10px;
}.schedule-agenda-check{
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  color: var(--navy-950);
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 650;
}.schedule-agenda-check input{
  width: 16px;
  height: 16px;
  accent-color: var(--schedule-color, var(--success));
}.schedule-agenda-check__color{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--schedule-color, var(--success));
}.schedule-agenda-check span:last-child{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}.schedule-agenda-empty{
  color: var(--text-soft);
  font-size: 0.78rem;
}.supplier-empty{
  grid-column: 1 / -1;
}.schedule-page-header{
  align-items: center;
  margin-bottom: 20px;
}.section-header__description{
  margin: 6px 0 0;
  color: var(--text-soft);
  font-size: 0.86rem;
  line-height: 1.4;
}.schedule-summary-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}.schedule-summary-card{
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 104px;
  padding: 18px;
  border: 1px solid var(--surface-line);
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
  cursor: pointer;
}.schedule-summary-card:focus-visible{
  outline: 3px solid rgba(16, 185, 129, 0.26);
  outline-offset: 3px;
}.schedule-summary-card__icon{
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 999px;
  font-size: 1.35rem;
}.schedule-summary-card--soon .schedule-summary-card__icon{
  background: #fff7ed;
  color: #f97316;
}.schedule-summary-card--overdue .schedule-summary-card__icon{
  background: #fee2e2;
  color: #ef4444;
}.schedule-summary-card--completed .schedule-summary-card__icon{
  background: #dcfce7;
  color: #10b981;
}.schedule-summary-card--scheduled .schedule-summary-card__icon{
  background: #dbeafe;
  color: #2563eb;
}.schedule-summary-card span:not(.material-symbols-outlined){
  display: block;
  color: var(--navy-700);
  font-size: 0.64rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}.schedule-summary-card strong{
  display: block;
  margin-top: 4px;
  color: var(--navy-950);
  font-size: 1.55rem;
  line-height: 1;
}.schedule-link-button{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 0;
  margin-top: 8px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #2563eb;
  font-size: 0.68rem;
  font-weight: 850;
  cursor: pointer;
}.schedule-link-button:hover{
  color: var(--navy-950);
}.app-layout[data-route-view="agenda-servicos"] .schedule-summary-popup {
  position: fixed;
  inset: 0;
  z-index: 125;
  display: grid;
  padding: 92px 24px 32px;
  place-items: start center;
  background: rgba(0, 26, 65, 0.28);
  backdrop-filter: blur(4px);
}.app-layout[data-route-view="agenda-servicos"] .schedule-summary-popup__card {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  width: min(100%, 460px);
  max-height: min(72vh, 640px);
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--surface-line);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 18px 44px rgba(0, 26, 65, 0.22);
}.app-layout[data-route-view="agenda-servicos"] .schedule-summary-popup__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}.app-layout[data-route-view="agenda-servicos"] .schedule-summary-popup__header strong {
  color: var(--navy-950);
  font-size: 0.88rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  line-height: 1.05;
  text-transform: uppercase;
}.app-layout[data-route-view="agenda-servicos"] .schedule-summary-popup__close {
  display: grid;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid var(--surface-line);
  border-radius: 10px;
  background: #ffffff;
  color: var(--navy-700);
  cursor: pointer;
}.app-layout[data-route-view="agenda-servicos"] .schedule-summary-popup__close .material-symbols-outlined {
  font-size: 1.1rem;
}.app-layout[data-route-view="agenda-servicos"] .schedule-summary-popup__list {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 0;
  max-height: 100%;
  overflow-y: auto;
  padding-right: 5px;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 26, 65, 0.22) transparent;
}.app-layout[data-route-view="agenda-servicos"] .schedule-summary-popup__list::-webkit-scrollbar {
  width: 4px;
}.app-layout[data-route-view="agenda-servicos"] .schedule-summary-popup__list::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(0, 26, 65, 0.22);
}.app-layout[data-route-view="agenda-servicos"] .schedule-summary-popup__list .schedule-side-item {
  min-height: 40px;
}.app-layout[data-route-view="agenda-servicos"] .schedule-summary-popup__list .schedule-side-item--with-action {
  grid-template-columns: 26px minmax(0, 1fr) auto;
}.app-layout[data-route-view="agenda-servicos"] .schedule-summary-popup__list .schedule-plan-button,
.app-layout[data-route-view="agenda-servicos"] .schedule-summary-popup__list .schedule-plan-status {
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.66rem;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}.app-layout[data-route-view="agenda-servicos"] .schedule-summary-popup__list .schedule-plan-button {
  border: 1px solid rgba(16, 185, 129, 0.24);
  background: var(--success-soft);
  color: var(--success);
  cursor: pointer;
}.app-layout[data-route-view="agenda-servicos"] .schedule-summary-popup__list .schedule-plan-status {
  border: 1px solid rgba(37, 99, 235, 0.24);
  background: #dbeafe;
  color: #1d4ed8;
}.schedule-board{
  grid-template-columns: minmax(0, 1fr) 256px;
  gap: 16px;
  align-items: stretch;
}.schedule-workspace{
  display: grid;
  min-width: 0;
  gap: 12px;
  align-content: start;
}.schedule-filter-bar{
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(160px, 0.8fr) auto minmax(170px, 0.7fr) minmax(130px, 0.55fr);
  gap: 10px;
  align-items: center;
}.schedule-select-control{
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid var(--surface-line);
  border-radius: 9px;
  background: #ffffff;
  color: var(--navy-700);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
}.schedule-select-control .material-symbols-outlined{
  flex: 0 0 auto;
  color: var(--navy-700);
  font-size: 1.08rem;
}.schedule-select-control select{
  width: 100%;
  min-width: 0;
  height: 40px;
  border: 0;
  background: transparent;
  color: var(--navy-950);
  font: inherit;
  font-size: 0.78rem;
  font-weight: 800;
  outline: none;
}.schedule-toolbar{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  min-height: 42px;
  padding: 0;
  border: 0;
  background: transparent;
}.schedule-toolbar .button{
  height: 42px;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 0;
  background: #ffffff;
}.schedule-icon-button{
  width: 42px;
  height: 42px;
  border-color: var(--surface-line);
  border-radius: 8px;
  background: #ffffff;
  color: var(--navy-950);
}.schedule-toolbar #schedule-prev-month{
  border-radius: 8px 0 0 8px;
}.schedule-toolbar #schedule-next-month{
  border-radius: 0 8px 8px 0;
}

@media (min-width: 781px) {
  .app-layout[data-route-view="agenda-servicos"] .schedule-filter-bar {
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    align-items: stretch;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-select-control,
  .app-layout[data-route-view="agenda-servicos"] .schedule-toolbar {
    width: 100%;
    min-width: 0;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-toolbar .button {
    flex: 1 1 auto;
    min-width: 0;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-icon-button {
    flex: 0 0 42px;
  }
}

.schedule-main-panel{
  border-radius: 10px;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
}.schedule-current-month-title{
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}.schedule-calendar{
  min-width: 760px;
}.schedule-calendar-weekdays span{
  display: grid;
  height: 38px;
  place-items: center;
  padding: 0 10px;
  color: var(--navy-950);
}.schedule-day{
  min-height: 118px;
}.schedule-day__head{
  justify-content: center;
}.schedule-day__head strong{
  min-width: 24px;
  height: 24px;
  font-size: 0.72rem;
}.schedule-day--today .schedule-day__head strong,
.schedule-mini-calendar__days button.is-today{
  background: #2563eb;
  color: #ffffff;
}.schedule-event{
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
  min-height: 34px;
  padding: 5px 7px;
  border: 1px solid #bfdbfe;
  border-radius: 5px;
  background: #eff6ff;
  color: #1d4ed8;
  box-shadow: none;
}.schedule-event strong{
  display: -webkit-box;
  min-width: 0;
  overflow: hidden;
  line-height: 1.18;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}.schedule-event__code{
  flex: 0 0 auto;
  align-self: flex-start;
  font-size: 0.55rem;
  letter-spacing: 0.02em;
  line-height: 1.2;
  white-space: nowrap;
}.schedule-event--scheduled{
  border-color: #bfdbfe;
  background: #eff6ff;
  color: var(--schedule-status-scheduled);
}.schedule-event--in_progress{
  border-color: #fde68a;
  background: #fefce8;
  color: #a16207;
}.schedule-event--due_soon{
  border-color: #fed7aa;
  background: #fff7ed;
  color: #c2410c;
}.schedule-event--overdue{
  border-color: #fecaca;
  background: #fef2f2;
  color: var(--schedule-status-overdue);
}.schedule-event--completed{
  border-color: #bbf7d0;
  background: #ecfdf5;
  color: var(--schedule-status-completed);
}.schedule-event--cancelled{
  border-color: #cbd5e1;
  background: #f8fafc;
  color: var(--schedule-status-cancelled);
}.schedule-event--personal{
  border-color: #ddd6fe;
  background: #f5f3ff;
  color: #6d28d9;
}.schedule-legend{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 18px;
  padding: 12px 6px 2px;
  text-align: center;
  color: var(--navy-700);
  font-size: 0.72rem;
  font-weight: 650;
}.schedule-legend span{
  display: inline-flex;
  align-items: center;
  gap: 7px;
}.schedule-dot{
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 999px;
}.schedule-dot--scheduled{
  background: var(--schedule-status-scheduled);
}.schedule-dot--in-progress{
  background: var(--schedule-status-in-progress);
}.schedule-dot--due-soon{
  background: var(--schedule-status-due-soon);
}.schedule-dot--overdue{
  background: var(--schedule-status-overdue);
}.schedule-dot--completed{
  background: var(--schedule-status-completed);
}.schedule-dot--cancelled{
  background: var(--schedule-status-cancelled);
}.schedule-side-panel{
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-self: stretch;
}.schedule-side-stack{
  display: grid;
  flex: 1 1 0;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  min-height: 0;
  gap: 14px;
}.schedule-mini-card,
.schedule-agendas,
.schedule-side-card{
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--surface-line);
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.07);
}.schedule-side-card{
  min-height: 0;
  overflow: hidden;
  grid-template-rows: auto minmax(0, 1fr);
}.schedule-side-card__header,
.schedule-mini-card__header,
.schedule-agendas__header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}.schedule-side-card__header strong,
.schedule-mini-card__header strong,
.schedule-agendas__header strong{
  color: var(--navy-950);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}.schedule-mini-calendar__days button{
  position: relative;
}.schedule-mini-calendar__days button.has-events:not(.is-today)::after{
  content: "";
  position: absolute;
  bottom: 3px;
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: #2563eb;
}.schedule-agenda-check span:last-child{
  display: flex;
  align-items: center;
  gap: 7px;
}.schedule-agenda-check strong{
  flex: 0 0 auto;
  color: var(--navy-700);
  font-size: 0.64rem;
  font-weight: 900;
}.schedule-side-list{
  display: grid;
  gap: 10px;
  min-height: 0;
  overflow-y: auto;
  padding-right: 2px;
}.schedule-side-item{
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}.schedule-side-item--alert{
  cursor: default;
}.schedule-side-item--alert-action{
  cursor: pointer;
}.schedule-side-date{
  display: inline-flex;
  align-items: center;
  min-width: 44px;
  color: var(--navy-700);
  font-size: 0.72rem;
  font-weight: 800;
}.schedule-side-date::before{
  content: "";
  width: 8px;
  height: 8px;
  margin-right: 8px;
  border-radius: 999px;
  background: var(--schedule-status-scheduled);
}.schedule-side-date--scheduled::before{
  background: var(--schedule-status-scheduled);
}.schedule-side-date--in_progress::before{
  background: var(--schedule-status-in-progress);
}.schedule-side-date--due_soon::before{
  background: var(--schedule-status-due-soon);
}.schedule-side-date--overdue::before{
  background: var(--schedule-status-overdue);
}.schedule-side-date--completed::before{
  background: var(--schedule-status-completed);
}.schedule-side-date--cancelled::before{
  background: var(--schedule-status-cancelled);
}.schedule-side-item__body{
  display: grid;
  min-width: 0;
  gap: 2px;
}.schedule-side-item__body strong{
  min-width: 0;
  overflow: hidden;
  color: var(--navy-950);
  font-size: 0.78rem;
  font-weight: 900;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}.schedule-side-item__body small{
  min-width: 0;
  overflow: hidden;
  color: var(--text-soft);
  font-size: 0.7rem;
  font-weight: 650;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}.schedule-side-item__body small.schedule-occurrence-meta{
  display: grid;
  gap: 1px;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}.schedule-occurrence-meta span{
  display: block;
  min-width: 0;
}.schedule-side-item--occurrence .schedule-side-warning{
  align-self: center;
}.schedule-side-item--admin-notice .schedule-side-item__body strong,
.schedule-side-item--admin-notice .schedule-side-item__body small{
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
}.schedule-side-warning,
.schedule-side-alert{
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 8px;
  background: #fee2e2;
  color: #ef4444;
  font-size: 1rem;
}.schedule-side-alert--due-soon{
  background: #fff7ed;
  color: #f97316;
}.schedule-side-alert--scheduled{
  background: #dbeafe;
  color: #2563eb;
}.schedule-side-empty{
  color: var(--text-soft);
  font-size: 0.74rem;
  line-height: 1.35;
}.occurrences-page-header{
  align-items: center;
}.occurrence-summary-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}.occurrence-summary-card{
  min-height: 94px;
}.occurrence-form-panel{
  margin-bottom: 18px;
}.occurrence-form{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
}.occurrence-form label{
  display: grid;
  min-width: 0;
  gap: 6px;
}.occurrence-form label > span{
  color: var(--text-soft);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}.occurrence-form input,
.occurrence-form select,
.occurrence-form textarea{
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid var(--surface-line-strong);
  border-radius: 10px;
  background: var(--surface-soft);
  color: var(--navy-950);
  outline: none;
}.occurrence-form textarea{
  min-height: 104px;
  padding-top: 10px;
  resize: vertical;
}.occurrence-form input:focus,
.occurrence-form select:focus,
.occurrence-form textarea:focus{
  border-color: var(--success);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.12);
}.occurrence-form__wide,
.occurrence-form__actions{
  grid-column: 1 / -1;
}.occurrence-form__actions{
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}.occurrence-form__actions #delete-occurrence-item{
  margin-right: auto;
}.occurrence-list{
  display: grid;
  gap: 12px;
}.occurrence-card{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border: 1px solid var(--surface-line);
  border-left: 4px solid var(--navy-700);
  border-radius: var(--radius-lg);
  background: #ffffff;
  box-shadow: var(--shadow-card);
}.occurrence-card--focused{
  border-color: rgba(16, 185, 129, 0.78);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.14), var(--shadow-card);
}.occurrence-card--aberta{
  border-left-color: var(--warning);
}.occurrence-card--em_andamento{
  border-left-color: #facc15;
}.occurrence-card--planejada{
  border-left-color: #2563eb;
}.occurrence-card--resolvida{
  border-left-color: var(--success);
}.occurrence-card--cancelada{
  border-left-color: #98a2b3;
  opacity: 0.84;
}.occurrence-card__main{
  display: flex;
  min-width: 0;
  gap: 14px;
}.occurrence-card__icon{
  display: grid;
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 14px;
  background: var(--warning-soft);
  color: var(--warning);
}.occurrence-card__content{
  min-width: 0;
}.occurrence-card__title-row{
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}.occurrence-card h3{
  margin: 0;
  min-width: 0;
  overflow: hidden;
  color: var(--navy-950);
  font-size: 1rem;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}.occurrence-card p{
  display: -webkit-box;
  margin: 5px 0 0;
  overflow: hidden;
  color: var(--text-soft);
  font-size: 0.82rem;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}.occurrence-pill{
  flex: 0 0 auto;
  padding: 4px 9px;
  border-radius: 999px;
  background: var(--surface-soft);
  color: var(--navy-700);
  font-size: 0.66rem;
  font-weight: 900;
  text-transform: uppercase;
}.occurrence-pill--alta{
  background: var(--warning-soft);
  color: #c2410c;
}.occurrence-pill--critica{
  background: var(--danger-soft);
  color: #b91c1c;
}.occurrence-pill--baixa{
  background: var(--success-soft);
  color: #047857;
}.occurrence-card__meta{
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-top: 12px;
}.occurrence-card__meta span{
  display: inline-flex;
  align-items: center;
  min-width: 0;
  gap: 5px;
  color: var(--text-soft);
  font-size: 0.74rem;
  font-weight: 650;
}.occurrence-card__meta .material-symbols-outlined{
  color: var(--navy-700);
  font-size: 1rem;
}.occurrence-card__actions{
  display: grid;
  grid-template-columns: repeat(2, minmax(130px, auto));
  gap: 8px;
  justify-content: end;
}.occurrence-card__actions .button{
  min-height: 38px;
  white-space: nowrap;
}.settings-empty{
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 36px 18px;
  color: var(--text-soft);
  text-align: center;
}.settings-empty .material-symbols-outlined{
  color: var(--warning);
  font-size: 2rem;
}.settings-empty strong{
  color: var(--navy-950);
}.settings-empty p{
  max-width: 420px;
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.45;
}.condominium-grid > .settings-empty{
  grid-column: 1 / -1;
  align-self: center;
  justify-self: center;
  width: min(100%, 560px);
  min-height: 42vh;
  place-content: center;
}.settings-panel{
  overflow: hidden;
  border: 1px solid var(--surface-line);
  border-radius: var(--radius-lg);
  background: #ffffff;
  box-shadow: var(--shadow-panel);
}.brand-settings-panel{
  margin-bottom: 16px;
}.user-admin-panel{
  margin-bottom: 16px;
}.settings-panel__intro{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px;
  border-bottom: 1px solid var(--surface-line);
  background:
    radial-gradient(circle at 0% 0%, rgba(16, 185, 129, 0.12), transparent 32%),
    linear-gradient(135deg, #ffffff, #f8fbff);
}.settings-panel__intro div{
  display: grid;
  gap: 4px;
}.settings-panel__intro strong{
  color: var(--navy-950);
  font-size: 1rem;
}.settings-panel__intro span{
  color: var(--text-soft);
  font-size: 0.82rem;
}.settings-eyebrow{
  margin: 0;
  color: var(--success);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}.settings-save-status{
  flex: 0 0 auto;
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--success-soft);
  color: #047857;
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}.user-admin-form{
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(180px, 0.8fr) auto;
  gap: 12px;
  align-items: end;
  padding: 16px;
  border-bottom: 1px solid var(--surface-line);
}.user-admin-form label{
  display: grid;
  gap: 6px;
}.user-admin-form label span{
  color: var(--text-soft);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}.user-admin-form input,
.user-admin-form select{
  width: 100%;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid var(--surface-line-strong);
  border-radius: 10px;
  background: var(--surface-soft);
  color: var(--navy-950);
  outline: none;
}.user-management-list{
  display: grid;
  gap: 10px;
  padding: 14px;
}.user-admin-card{
  display: grid;
  grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.2fr);
  gap: 14px;
  align-items: start;
  padding: 14px;
  border: 1px solid var(--surface-line);
  border-radius: 14px;
  background: #ffffff;
}.user-admin-card__identity{
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}.user-admin-card__identity > div{
  min-width: 0;
}.user-admin-card__avatar{
  display: grid;
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 12px;
  background: var(--navy-950);
  color: #ffffff;
  font-size: 0.76rem;
  font-weight: 850;
}.user-admin-card__identity strong,
.user-admin-card__identity span{
  display: block;
}.user-admin-card__identity strong{
  color: var(--navy-950);
  font-size: 0.92rem;
}.user-admin-card__identity span{
  margin-top: 4px;
  color: var(--text-soft);
  font-size: 0.74rem;
}.user-admin-card__edit{
  display: inline-grid;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  margin-left: auto;
  place-items: center;
  border: 1px solid var(--surface-line-strong);
  border-radius: 10px;
  background: #ffffff;
  color: var(--navy-950);
  cursor: pointer;
}.user-admin-card__edit span{
  font-size: 1rem;
}.user-admin-card__access{
  display: grid;
  gap: 8px;
}.user-admin-card__access small{
  color: var(--text-soft);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}.user-admin-card__editor{
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(180px, 0.7fr) minmax(260px, 1.3fr) auto;
  align-items: end;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid var(--surface-line);
}.user-edit-field{
  display: grid;
  gap: 6px;
}.user-edit-field--notes{
  grid-column: auto;
}.user-edit-field span{
  color: var(--text-soft);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}.user-edit-field input,
.user-edit-field select,
.user-edit-field textarea{
  width: 100%;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid var(--surface-line-strong);
  border-radius: 10px;
  background: var(--surface-soft);
  color: var(--navy-950);
  font: inherit;
  outline: none;
}.user-edit-field textarea{
  min-height: 78px;
  padding-top: 10px;
  resize: vertical;
}.user-admin-card__editor-actions{
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}.user-admin-card__note{
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin: 0;
  color: var(--text-soft);
  font-size: 0.75rem;
  line-height: 1.35;
}.user-admin-card__note span{
  color: var(--success);
  font-size: 1rem;
}.admin-notice-panel{
  margin-bottom: 16px;
}.admin-notice-form{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
  padding: 16px;
  border-bottom: 1px solid var(--surface-line);
}.admin-notice-field{
  display: grid;
  min-width: 0;
  gap: 6px;
}.admin-notice-field--title,
.admin-notice-field--detail{
  grid-column: span 1;
}.admin-notice-field span{
  color: var(--text-soft);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}.admin-notice-field input,
.admin-notice-field select{
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid var(--surface-line-strong);
  border-radius: 10px;
  background: var(--surface-soft);
  color: var(--navy-950);
  outline: none;
}.admin-notice-field input:focus,
.admin-notice-field select:focus{
  border-color: var(--success);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.12);
}.admin-notice-form__actions{
  display: flex;
  grid-column: 1 / -1;
  justify-content: flex-end;
  gap: 10px;
}.admin-notice-list{
  display: grid;
  gap: 10px;
  padding: 14px;
}.admin-notice-card{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 14px;
  border: 1px solid var(--surface-line);
  border-radius: 12px;
  background: #ffffff;
}.admin-notice-card__content{
  display: grid;
  min-width: 0;
  gap: 5px;
}.admin-notice-card__heading{
  display: flex;
  align-items: flex-start;
  gap: 10px;
}.admin-notice-card__heading strong{
  min-width: 0;
  color: var(--navy-950);
  font-size: 0.88rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}.admin-notice-card__content p{
  margin: 0;
  color: var(--text-soft);
  font-size: 0.78rem;
  line-height: 1.35;
}.admin-notice-card__content small{
  color: var(--navy-700);
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.35;
}.admin-notice-card__status{
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 0.62rem;
  font-weight: 900;
  text-transform: uppercase;
}.admin-notice-card__status--active{
  background: var(--success-soft);
  color: #047857;
}.admin-notice-card__status--scheduled{
  background: #dbeafe;
  color: #1d4ed8;
}.admin-notice-card__status--expired{
  background: #eef2f6;
  color: #475467;
}.admin-notice-card__actions{
  display: flex;
  align-items: center;
  gap: 8px;
}.admin-notice-card__actions .button{
  min-height: 38px;
  padding-inline: 12px;
}.user-access-grid{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}.user-access-check,
.user-access-pill{
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid var(--surface-line-strong);
  border-radius: 999px;
  background: var(--surface-soft);
  color: var(--navy-950);
  font-size: 0.74rem;
  font-weight: 750;
}.user-access-check input{
  width: 16px;
  height: 16px;
  accent-color: var(--success);
}.user-access-pill{
  background: var(--success-soft);
  border-color: rgba(16, 185, 129, 0.24);
  color: #047857;
}.user-access-pill--empty{
  background: var(--warning-soft);
  border-color: rgba(249, 115, 22, 0.22);
  color: var(--warning);
}.settings-alias{
  display: grid;
  gap: 6px;
}.settings-alias span{
  color: var(--text-soft);
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}.settings-alias input{
  width: 100%;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid var(--surface-line-strong);
  border-radius: 10px;
  color: var(--navy-950);
  outline: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}.settings-alias input:focus{
  border-color: var(--success);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.14);
}.settings-switch{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  justify-self: end;
  color: var(--navy-950);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
  cursor: pointer;
}.settings-switch input{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}.settings-switch__track{
  position: relative;
  width: 44px;
  height: 24px;
  border-radius: 999px;
  background: #d8dee8;
  transition: background 0.18s ease;
}.settings-switch__track::after{
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 2px 6px rgba(0, 26, 65, 0.22);
  transition: transform 0.18s ease;
}.settings-switch input:checked + .settings-switch__track{
  background: var(--success);
}.settings-switch input:checked + .settings-switch__track::after{
  transform: translateX(20px);
}.brand-upload{
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  padding: 16px;
}.brand-upload__preview{
  display: grid;
  place-items: center;
  width: 112px;
  height: 112px;
  overflow: hidden;
  border: 1px dashed var(--surface-line-strong);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(0, 26, 65, 0.05), rgba(16, 185, 129, 0.08)),
    #ffffff;
}.brand-upload__preview img{
  width: 100%;
  height: 100%;
  padding: 12px;
  object-fit: contain;
}.brand-upload__preview .material-symbols-outlined{
  color: var(--text-soft);
  font-size: 2rem;
}.brand-upload__content{
  display: grid;
  gap: 8px;
}.brand-upload__content strong{
  color: var(--navy-950);
  font-size: 0.96rem;
}.brand-upload__content p{
  max-width: 620px;
  margin: 0;
  color: var(--text-soft);
  font-size: 0.82rem;
  line-height: 1.45;
}.brand-upload__actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}.brand-upload__button{
  position: relative;
  overflow: hidden;
}.brand-upload__button input{
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}#remove-brand-logo:disabled{
  opacity: 0.45;
  cursor: not-allowed;
  transform: none;
}.history-empty{
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 48px 24px;
  border: 1px dashed var(--surface-line-strong);
  border-radius: var(--radius-lg);
  background: #ffffff;
  color: var(--text-soft);
  text-align: center;
}.history-empty .material-symbols-outlined{
  color: var(--warning);
  font-size: 2rem;
}.history-empty strong{
  color: var(--navy-950);
}.history-empty p{
  margin: 0;
  font-size: 0.85rem;
}.history-list{
  display: grid;
  gap: 12px;
}.history-card{
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 12px;
  border: 1px solid var(--surface-line);
  border-radius: var(--radius-md);
  background: #ffffff;
  box-shadow: var(--shadow-card);
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}.history-card:hover{
  transform: translateY(-1px);
  border-color: var(--surface-line-strong);
  box-shadow: 0 8px 18px rgba(0, 26, 65, 0.12);
}.history-card__thumb{
  display: grid;
  place-items: center;
  width: 88px;
  height: 58px;
  overflow: hidden;
  border-radius: 8px;
  background: #07111f;
  color: #ffffff;
}.history-card__thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}.history-card__body{
  min-width: 0;
}.history-card__body strong{
  display: block;
  color: var(--navy-950);
  font-size: 0.92rem;
  line-height: 1.35;
}.history-card__body p{
  margin: 4px 0 0;
  color: var(--text-soft);
  font-size: 0.78rem;
}.history-card__meta{
  display: flex;
  flex-direction: column;
  gap: 1px;
}.history-card__meta span{
  display: block;
}.history-card__tag{
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--warning-soft);
  color: var(--warning);
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
  white-space: nowrap;
}.history-card__count{
  margin-left: 6px;
  color: var(--text-soft);
  font-weight: 700;
}.history-card--danger .history-card__tag{
  background: var(--danger-soft);
  color: var(--danger);
}.alerts-panel{
  position: sticky;
  top: 72px;
  display: flex;
  flex-direction: column;
  align-self: start;
  min-width: 0;
  height: calc(100vh - 72px);
  max-height: calc(100vh - 72px);
  overflow: hidden;
  overscroll-behavior: contain;
  background: #ffffff;
  border-left: 1px solid var(--surface-line);
  box-shadow: -4px 0 12px rgba(15, 23, 42, 0.02);
}.alerts-panel__header{
  flex: 0 0 auto;
  padding: 24px 20px 16px;
  border-bottom: 1px solid var(--surface-line);
}.alerts-panel__title-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}.alerts-panel__title-row h3{
  margin: 0;
  color: var(--navy-950);
  font-size: 1rem;
}.alert-pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--warning-soft);
  color: var(--warning);
  font-size: 0.66rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}.alerts-list{
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 16px;
  display: grid;
  gap: 14px;
  align-content: start;
}.alerts-panel-card{
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--surface-line);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.07);
}.alerts-panel-card__header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}.alerts-panel-card__header strong{
  color: var(--navy-950);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1.08;
  text-transform: uppercase;
}.alerts-panel-card__list{
  display: grid;
  gap: 10px;
  min-width: 0;
}.alerts-panel-entry{
  min-width: 0;
}.alerts-panel-card--upcoming .alerts-panel-card__list,
.alerts-panel-card--open-occurrences .alerts-panel-card__list,
.alerts-panel-card--important-alerts .alerts-panel-card__list{
  min-height: 0;
  max-height: 182px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 5px;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 26, 65, 0.22) transparent;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
}.alerts-panel-card--upcoming .alerts-panel-card__list::-webkit-scrollbar,
.alerts-panel-card--open-occurrences .alerts-panel-card__list::-webkit-scrollbar,
.alerts-panel-card--important-alerts .alerts-panel-card__list::-webkit-scrollbar{
  width: 4px;
}.alerts-panel-card--upcoming .alerts-panel-card__list::-webkit-scrollbar-thumb,
.alerts-panel-card--open-occurrences .alerts-panel-card__list::-webkit-scrollbar-thumb,
.alerts-panel-card--important-alerts .alerts-panel-card__list::-webkit-scrollbar-thumb{
  border-radius: 999px;
  background: rgba(0, 26, 65, 0.22);
}.persistent-scroll-indicator{
  --scroll-thumb-height: 28px;
  --scroll-thumb-offset: 0px;
  padding-right: 9px !important;
  scrollbar-width: none !important;
  background-image:
    linear-gradient(rgba(0, 26, 65, 0.38), rgba(0, 26, 65, 0.38)),
    linear-gradient(rgba(0, 26, 65, 0.1), rgba(0, 26, 65, 0.1));
  background-position:
    right 1px top var(--scroll-thumb-offset),
    right 1px top;
  background-repeat: no-repeat;
  background-size:
    3px var(--scroll-thumb-height),
    3px 100%;
}.persistent-scroll-indicator::-webkit-scrollbar{
  width: 0 !important;
  height: 0 !important;
}.schedule-side-card--important-alerts .schedule-side-list{
  max-height: 182px;
  overflow-y: auto;
  overscroll-behavior: contain;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
}.alerts-panel .schedule-side-item--with-action{
  grid-template-columns: 26px minmax(0, 1fr) auto;
}.alerts-panel .schedule-plan-button,
.alerts-panel .schedule-plan-status{
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.66rem;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}.alerts-panel .schedule-plan-button{
  border: 1px solid rgba(16, 185, 129, 0.24);
  background: var(--success-soft);
  color: var(--success);
  cursor: pointer;
}.alerts-panel .schedule-plan-status{
  border: 1px solid rgba(37, 99, 235, 0.24);
  background: #dbeafe;
  color: #1d4ed8;
}.text-action,
.filled-action{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 24px;
  min-height: 24px;
  padding: 0 10px;
  border: 1px solid #fed7aa;
  border-radius: 999px;
  font-size: 0.6rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  cursor: pointer;
  white-space: nowrap;
  transition: transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease, border-color 0.16s ease;
}.text-action{
  background: var(--warning);
  color: #ffffff;
  border-color: var(--warning);
  box-shadow: 0 8px 18px rgba(249, 115, 22, 0.26);
}.text-action--view{
  background: var(--warning);
  color: #ffffff;
  border-color: var(--warning);
  box-shadow: 0 8px 18px rgba(249, 115, 22, 0.26);
}.filled-action{
  border-color: var(--warning);
  background: var(--warning);
  color: #ffffff;
  box-shadow: 0 8px 18px rgba(249, 115, 22, 0.26);
}.text-action:hover,
.filled-action:hover{
  transform: translateY(-1px);
}.text-action:hover{
  background: #ea580c;
  border-color: #ea580c;
  box-shadow: 0 10px 22px rgba(249, 115, 22, 0.32);
}.text-action--view:hover{
  background: #ea580c;
  border-color: #ea580c;
  box-shadow: 0 10px 22px rgba(249, 115, 22, 0.32);
}.filled-action:hover{
  background: #ea580c;
  border-color: #ea580c;
  box-shadow: 0 10px 22px rgba(249, 115, 22, 0.32);
}

@media (min-width: 781px) and (max-width: 1760px) {
  .app-layout.alerts-panel-open .content-shell {
    grid-template-columns: minmax(0, 1fr);
  }

  .app-layout.alerts-panel-open .alerts-panel {
    position: fixed;
    top: 88px;
    right: 20px;
    bottom: 20px;
    left: auto;
    z-index: 45;
    width: min(400px, calc(100vw - 40px));
    height: auto;
    max-height: calc(100dvh - 108px);
    overflow: hidden;
    border: 1px solid var(--surface-line);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 22px 56px rgba(0, 26, 65, 0.22);
  }
}

@media (max-width: 1180px) {body{
    overflow-x: hidden;
    overflow-y: auto;
  }.topbar{
    position: sticky;
  }.content-shell{
    grid-template-columns: 1fr;
  }.alerts-panel{
    border-left: 0;
    border-top: 1px solid var(--surface-line);
  }.app-layout.alerts-panel-open[data-route-view="condominios"] .alerts-panel,
.app-layout.alerts-panel-open[data-route-view="agenda-servicos"] .alerts-panel,
.app-layout.alerts-panel-open[data-route-view="fornecedores-prestadores"] .alerts-panel,
.app-layout.alerts-panel-open[data-route-view="condominio-configuracoes"] .alerts-panel,
.app-layout.alerts-panel-open[data-route-view="personalizar"] .alerts-panel,
.app-layout.alerts-panel-open[data-route-view="configuracoes-saas"] .alerts-panel{
    position: fixed;
    top: 88px;
    right: 20px;
    bottom: 20px;
    left: auto;
    z-index: 45;
    width: min(380px, calc(100vw - 40px));
    height: auto;
    max-height: none;
    overflow: hidden;
    border: 1px solid var(--surface-line);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 18px 46px rgba(0, 26, 65, 0.18);
  }.condominium-summary-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }.condominium-grid{
    grid-template-columns: 1fr;
  }.settings-alias{
    grid-column: 2 / -1;
  }.settings-switch{
    grid-column: 2;
    justify-self: start;
  }
}

@media (max-width: 780px) {:root{
    --sidebar-collapsed-width: 68px;
  }.login-shell{
    padding: 18px;
  }.login-card{
    padding: 22px;
  }.login-card__header h1{
    font-size: 1.5rem;
  }.app-layout .sidebar,
.app-layout.sidebar-collapsed .sidebar{
    width: var(--sidebar-collapsed-width);
    padding: 16px 8px;
  }.app-layout .main-shell,
.app-layout.sidebar-collapsed .main-shell{
    margin-left: var(--sidebar-collapsed-width);
    width: calc(100vw - var(--sidebar-collapsed-width));
    min-width: 0;
  }.app-layout .sidebar__brand,
.app-layout.sidebar-collapsed .sidebar__brand,
.app-layout .nav-item__label,
.app-layout .sidebar-context__label,
.app-layout .sidebar-condominium-list{
    display: none;
  }.app-layout .sidebar__top,
.app-layout .sidebar__nav{
    justify-content: center;
    justify-items: center;
  }.app-layout .sidebar__nav{
    margin-top: 22px;
    gap: 10px;
  }.app-layout .sidebar-context{
    justify-items: center;
    width: 100%;
    margin-top: 8px;
    padding-top: 10px;
  }.app-layout .nav-item{
    width: 48px;
    height: 48px;
    padding: 0;
    justify-content: center;
    border-left: 0;
    border-radius: 12px;
  }.app-layout .nav-item--active,
.app-layout.sidebar-collapsed .nav-item--active{
    border-left: 0;
  }.sidebar-toggle{
    width: 44px;
    height: 44px;
  }.topbar{
    align-items: stretch;
    gap: 10px;
    height: auto;
    min-height: 64px;
    padding: 10px 12px;
    overflow: hidden;
  }.search-box{
    max-width: none;
    min-width: 0;
  }.search-box input{
    height: 40px;
    font-size: 0.85rem;
  }.topbar__actions{
    display: none;
  }.content-shell{
    display: block;
  }.content-main{
    padding: 14px 12px;
    min-width: 0;
  }.section-header{
    align-items: stretch;
  }.section-header{
    grid-template-columns: 1fr;
  }.section-header__actions{
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }.button{
    width: 100%;
    min-height: 44px;
    font-size: 0.8rem;
  }.indicators-page-header{
    align-items: stretch;
  }.condominium-summary-grid{
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 16px;
  }.condominium-summary-card{
    min-height: 92px;
    padding: 16px;
  }.condominium-form{
    grid-template-columns: 1fr;
    padding: 14px;
  }.condominium-logo-field{
    grid-template-columns: 1fr;
  }.condominium-logo-field__preview{
    width: 84px;
    height: 84px;
  }.condominium-logo-field__actions{
    display: grid;
    grid-template-columns: 1fr;
  }.condominium-logo-field__button{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding-inline: 12px;
  }.condominium-form__actions,
.condominium-card__actions{
    display: grid;
    grid-template-columns: 1fr;
  }.condominium-card{
    grid-template-columns: 1fr;
    padding: 14px;
  }.condominium-card__header,
.condominium-card__meta,
.condominium-card__modules,
.condominium-card__actions{
    grid-column: 1;
    grid-row: auto;
  }.condominium-card__actions{
    grid-template-columns: 1fr;
  }.condominium-card__modules{
    grid-template-columns: 1fr;
  }.settings-panel__intro{
    align-items: stretch;
    flex-direction: column;
    padding: 14px;
  }.brand-upload{
    grid-template-columns: 1fr;
    padding: 14px;
  }.brand-upload__preview{
    width: 92px;
    height: 92px;
  }.brand-upload__actions{
    display: grid;
    grid-template-columns: 1fr;
  }.user-admin-form,
.user-admin-card{
    grid-template-columns: 1fr;
  }.user-admin-card__editor{
    grid-template-columns: 1fr;
  }.user-admin-card__editor-actions{
    display: grid;
    grid-template-columns: 1fr;
  }.settings-save-status{
    width: fit-content;
  }.settings-alias,
.settings-switch{
    grid-column: 1 / -1;
    justify-self: stretch;
  }.settings-switch{
    justify-self: start;
  }.section-header h2{
    font-size: 1.15rem;
    line-height: 1.25;
    max-width: 100%;
    overflow-wrap: anywhere;
  }.section-header__meta{
    font-size: 0.84rem;
  }.alerts-panel{
    display: none;
  }.history-card{
    grid-template-columns: 72px minmax(0, 1fr);
  }.history-card__thumb{
    width: 72px;
    height: 52px;
  }.history-card__tag{
    grid-column: 2;
    justify-self: start;
  }body{
    padding-bottom: 86px;
    background: var(--canvas);
  }.app-layout .main-shell,
.app-layout.sidebar-collapsed .main-shell{
    width: 100%;
    margin-left: 0;
  }.topbar{
    display: block;
    min-height: 64px;
    padding: 0;
    overflow: visible;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 3px 12px rgba(0, 26, 65, 0.06);
  }.mobile-topbar{
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 64px;
    padding: 0 16px;
  }.mobile-topbar__brand,
.mobile-topbar__actions{
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
  }.mobile-topbar__brand strong{
    color: var(--navy-950);
    font-size: 1.22rem;
    font-weight: 850;
    letter-spacing: -0.03em;
    text-transform: capitalize;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }.mobile-brand-logo{
    width: 32px;
    height: 32px;
    flex: 0 0 auto;
    object-fit: contain;
    border-radius: 9px;
  }.mobile-icon-button{
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    color: var(--navy-950);
    cursor: pointer;
  }.mobile-icon-button:active{
    background: var(--surface-soft);
  }.mobile-topbar .profile-avatar{
    width: 38px;
    height: 38px;
    border: 2px solid var(--success);
    box-shadow: 0 5px 14px rgba(16, 185, 129, 0.18);
  }.topbar > .search-box{
    display: none;
  }.topbar.mobile-search-open > .search-box{
    position: absolute;
    top: 70px;
    left: 14px;
    right: 14px;
    z-index: 25;
    display: block;
    max-width: none;
    border-radius: 14px;
    box-shadow: 0 14px 32px rgba(0, 26, 65, 0.16);
  }.topbar.mobile-search-open > .search-box input{
    height: 48px;
    background: #ffffff;
  }.app-layout .sidebar,
.app-layout.sidebar-collapsed .sidebar{
    position: fixed;
    inset: auto 0 0 0;
    width: 100%;
    height: 76px;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
    border-radius: 18px 18px 0 0;
    background: var(--navy-950);
    box-shadow: 0 -8px 28px rgba(0, 26, 65, 0.18);
  }.app-layout .sidebar__top,
.app-layout.sidebar-collapsed .sidebar__top{
    display: none;
  }.app-layout .sidebar__nav,
.app-layout.sidebar-collapsed .sidebar__nav{
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: center;
    justify-items: center;
    gap: 0;
    height: 100%;
    margin: 0;
  }.app-layout .sidebar-context,
.app-layout.sidebar-collapsed .sidebar-context{
    display: contents;
  }.app-layout .sidebar-context__label,
.app-layout.sidebar-collapsed .sidebar-context__label,
.app-layout .sidebar-condominium-list,
.app-layout.sidebar-collapsed .sidebar-condominium-list{
    display: none;
  }.app-layout .nav-item,
.app-layout.sidebar-collapsed .nav-item{
    position: relative;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
    width: 100%;
    height: 58px;
    padding: 0;
    border-left: 0;
    border-radius: 14px;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.58rem;
    letter-spacing: 0.04em;
    text-align: center;
  }.app-layout .nav-item__label,
.app-layout.sidebar-collapsed .nav-item__label{
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }.app-layout .nav-item .material-symbols-outlined,
.app-layout.sidebar-collapsed .nav-item .material-symbols-outlined{
    font-size: 1.35rem;
  }.app-layout .nav-item--active,
.app-layout.sidebar-collapsed .nav-item--active{
    border-left: 0;
    background: transparent;
    color: var(--success);
  }.app-layout .nav-item--active::before{
    content: "";
    position: absolute;
    top: -4px;
    width: 44px;
    height: 3px;
    border-radius: 999px;
    background: var(--success);
  }.content-main{
    padding: 26px 16px 0;
  }.mobile-dashboard-hero{
    display: block;
    margin-bottom: 26px;
  }.mobile-dashboard-hero h2{
    margin: 0 0 6px;
    color: var(--navy-950);
    font-size: 1.85rem;
    font-weight: 850;
    letter-spacing: -0.05em;
  }.mobile-dashboard-hero p{
    margin: 0;
    color: var(--text);
    font-size: 1rem;
  }.mobile-dashboard-hero strong{
    color: #00714d;
  }#live-view .section-header{
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    margin-bottom: 14px;
  }#live-view .section-header h2{
    font-size: 1.26rem;
    font-weight: 850;
    letter-spacing: -0.03em;
  }#live-view .section-header__meta{
    display: none;
  }#live-view .section-header__actions{
    display: flex;
    width: auto;
    gap: 8px;
  }#reload-visible{
    display: none;
  }#load-all{
    width: auto;
    min-height: 34px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #00714d;
    font-size: 0.78rem;
    font-weight: 850;
    white-space: nowrap;
  }#load-all .material-symbols-outlined{
    font-size: 1.05rem;
  }.app-layout.alerts-panel-open[data-route-view="condominio-configuracoes"] .alerts-panel{
    display: flex;
    margin: 28px 16px 100px;
    border: 0;
    background: transparent;
    box-shadow: none;
  }.app-layout.alerts-panel-open[data-route-view="condominios"] .alerts-panel{
    display: flex;
    margin: 28px 16px 100px;
    border: 0;
    background: transparent;
    box-shadow: none;
  }.app-layout.alerts-panel-open[data-route-view="agenda-servicos"] .alerts-panel{
    display: flex;
    margin: 28px 16px 100px;
    border: 0;
    background: transparent;
    box-shadow: none;
  }.app-layout.alerts-panel-open[data-route-view="fornecedores-prestadores"] .alerts-panel{
    display: flex;
    margin: 28px 16px 100px;
    border: 0;
    background: transparent;
    box-shadow: none;
  }.app-layout.alerts-panel-open[data-route-view="personalizar"] .alerts-panel{
    display: flex;
    margin: 28px 16px 100px;
    border: 0;
    background: transparent;
    box-shadow: none;
  }.app-layout.alerts-panel-open[data-route-view="configuracoes-saas"] .alerts-panel{
    display: flex;
    margin: 28px 16px 100px;
    border: 0;
    background: transparent;
    box-shadow: none;
  }.alerts-panel__header{
    padding: 0 0 12px;
    border: 0;
    background: transparent;
  }.alerts-panel__title-row h3{
    font-size: 1.25rem;
    font-weight: 850;
    letter-spacing: -0.03em;
  }.alert-pill{
    background: #fee2e2;
    color: #b91c1c;
  }.alerts-list{
    display: grid;
    gap: 14px;
    padding: 0;
  }.text-action,
.filled-action{
    height: 34px;
    min-height: 34px;
    font-size: 0.68rem;
  }
}

@media (max-width: 430px) {:root{
    --sidebar-collapsed-width: 60px;
  }.app-layout .sidebar,
.app-layout.sidebar-collapsed .sidebar{
    padding: 12px 6px;
  }.sidebar-toggle,
.app-layout .nav-item{
    width: 100%;
    height: 56px;
  }.topbar{
    padding: 0;
  }.search-box svg{
    width: 16px;
    height: 16px;
  }.search-box input{
    padding-left: 38px;
    font-size: 0.78rem;
  }.section-header{
    gap: 12px;
  }.section-header h2{
    font-size: 1.05rem;
  }#live-view .section-header h2{
    white-space: normal;
  }.mobile-topbar{
    padding: 0 12px;
  }.mobile-topbar__brand strong{
    font-size: 1.08rem;
  }.app-layout .sidebar,
.app-layout.sidebar-collapsed .sidebar{
    height: 74px;
    padding: 7px 8px calc(7px + env(safe-area-inset-bottom));
  }.app-layout .nav-item,
.app-layout.sidebar-collapsed .nav-item{
    width: 100%;
    height: 56px;
    font-size: 0.52rem;
  }.app-layout .nav-item .material-symbols-outlined,
.app-layout.sidebar-collapsed .nav-item .material-symbols-outlined{
    font-size: 1.22rem;
  }.content-main{
    padding-inline: 12px;
  }.mobile-dashboard-hero h2{
    font-size: 1.62rem;
  }.mobile-dashboard-hero p{
    font-size: 0.92rem;
  }
}

@media (max-width: 780px) {.mobile-brand-copy{
    display: grid;
    gap: 2px;
    min-width: 0;
  }.mobile-brand-copy strong,
.mobile-brand-copy small{
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }.mobile-brand-copy small{
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1.1;
    text-transform: uppercase;
  }.app-layout[data-route-view="condominios"] .topbar{
    min-height: 148px;
    background:
      linear-gradient(180deg, var(--navy-950) 0 64px, var(--canvas) 64px 100%);
    border-bottom: 0;
    box-shadow: none;
  }.app-layout[data-route-view="condominios"] #mobile-search-toggle{
    display: none;
  }.app-layout[data-route-view="condominios"] .topbar > .search-box{
    position: static;
    display: flex;
    height: 48px;
    max-width: none;
    margin: 18px 18px 0;
    border: 0;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 7px 16px rgba(0, 26, 65, 0.1);
  }.app-layout[data-route-view="condominios"] .topbar > .search-box input{
    height: 48px;
    background: #ffffff;
    color: var(--text);
    font-size: 1rem;
  }.app-layout[data-route-view="condominios"] .content-main{
    padding: 18px 18px calc(22px + env(safe-area-inset-bottom));
  }.app-layout[data-route-view="condominios"] .condominiums-page-header{
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    margin-bottom: 28px;
  }.app-layout[data-route-view="condominios"] .condominiums-page-header h2{
    font-size: 1.42rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.15;
  }.app-layout[data-route-view="condominios"] .condominiums-page-header .section-header__meta{
    margin-top: 8px;
    font-size: 0.84rem;
  }.app-layout[data-route-view="condominios"] .condominiums-page-header .section-header__actions{
    display: flex;
    width: auto;
  }.app-layout[data-route-view="condominios"] #toggle-condominium-form{
    width: auto;
    min-height: 38px;
    padding: 0 13px;
    border-radius: 8px;
    font-size: 0;
    gap: 5px;
  }.app-layout[data-route-view="condominios"] #toggle-condominium-form::after{
    content: "Cadastrar";
    font-size: 0.82rem;
    font-weight: 800;
  }.app-layout[data-route-view="condominios"] #toggle-condominium-form .material-symbols-outlined{
    font-size: 1.12rem;
  }.app-layout[data-route-view="condominios"] .condominium-summary-grid{
    grid-auto-flow: row;
    grid-template-columns: 1fr;
    gap: 18px;
    margin: 0 0 28px;
    overflow: visible;
    padding: 0;
  }.app-layout[data-route-view="condominios"] .condominium-summary-card{
    min-height: 98px;
    padding: 20px;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 7px 16px rgba(0, 26, 65, 0.09);
  }.app-layout[data-route-view="condominios"] .condominium-summary-card__icon{
    width: 58px;
    height: 58px;
    border-radius: 10px;
    font-size: 1.68rem;
  }.app-layout[data-route-view="condominios"] .condominium-summary-card > div > span:not(.material-symbols-outlined){
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    color: #98a2b3;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
  }.app-layout[data-route-view="condominios"] .condominium-summary-card strong{
    margin-top: 4px;
    font-size: 1.9rem;
    line-height: 1;
  }.app-layout[data-route-view="condominios"] .condominium-grid{
    grid-template-columns: 1fr;
    gap: 30px;
  }.app-layout[data-route-view="condominios"] .condominium-card{
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    overflow: hidden;
    padding: 0;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(0, 26, 65, 0.1);
  }.app-layout[data-route-view="condominios"] .condominium-card::after{
    content: "more_vert";
    position: absolute;
    top: 19px;
    right: 18px;
    color: #c5cbd5;
    font-family: "Material Symbols Outlined";
    font-size: 1.55rem;
    font-variation-settings: "FILL" 0, "wght" 500, "GRAD" 0, "opsz" 24;
    pointer-events: none;
  }.app-layout[data-route-view="condominios"] .condominium-card__header{
    grid-template-columns: 54px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 24px 48px 0 20px;
  }.app-layout[data-route-view="condominios"] .condominium-card__avatar{
    width: 54px;
    height: 54px;
    border-radius: 8px;
    font-size: 0.9rem;
  }.app-layout[data-route-view="condominios"] .condominium-card__avatar--image{
    background: #ffffff;
  }.app-layout[data-route-view="condominios"] .condominium-card__avatar img{
    padding: 3px;
  }.app-layout[data-route-view="condominios"] .condominium-card__status{
    margin-bottom: 3px;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.62rem;
    letter-spacing: 0;
  }.app-layout[data-route-view="condominios"] .condominium-card h3{
    font-size: 1.1rem;
    line-height: 1.18;
  }.app-layout[data-route-view="condominios"] .condominium-card__details{
    border-top: 0;
    padding: 18px 20px 0;
  }.app-layout[data-route-view="condominios"] .condominium-card__details summary{
    display: none;
  }.app-layout[data-route-view="condominios"] .condominium-card__meta{
    gap: 8px;
    padding: 0 0 18px;
  }.app-layout[data-route-view="condominios"] .condominium-card__meta span{
    gap: 9px;
    color: #667085;
    font-size: 0.85rem;
  }.app-layout[data-route-view="condominios"] .condominium-card__meta .material-symbols-outlined{
    color: #98a2b3;
    font-size: 1.05rem;
  }.app-layout[data-route-view="condominios"] .condominium-card__modules{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding-top: 0;
    border-top: 0;
  }.app-layout[data-route-view="condominios"] .condominium-card__modules span{
    justify-content: center;
    min-height: 40px;
    border: 1px solid var(--surface-line);
    border-radius: 8px;
    background: var(--surface-soft);
    color: var(--navy-950);
    font-size: 0.72rem;
  }.app-layout[data-route-view="condominios"] .condominium-card__modules span:nth-child(3){
    display: none;
  }.app-layout[data-route-view="condominios"] .condominium-card__modules .material-symbols-outlined{
    color: #98a2b3;
    font-size: 1rem;
  }.app-layout[data-route-view="condominios"] .condominium-card__actions{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 18px 14px 14px;
  }.app-layout[data-route-view="condominios"] .condominium-card__module-button{
    flex-direction: column;
    gap: 8px;
    min-height: 78px;
    border-radius: 8px;
    font-size: 0.68rem;
    font-weight: 850;
    line-height: 1.1;
    text-transform: uppercase;
  }.app-layout[data-route-view="condominios"] .condominium-card__module-button .material-symbols-outlined{
    font-size: 1.45rem;
  }.app-layout[data-route-view="condominios"] .sidebar,
.app-layout.sidebar-collapsed[data-route-view="condominios"] .sidebar{
    height: calc(72px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--surface-line);
    border-radius: 0;
    background: #ffffff;
    box-shadow: 0 -8px 18px rgba(0, 26, 65, 0.08);
  }.app-layout[data-route-view="condominios"] .nav-item,
.app-layout.sidebar-collapsed[data-route-view="condominios"] .nav-item{
    color: #98a2b3;
  }.app-layout[data-route-view="condominios"] .nav-item--mobile-only,
.app-layout.sidebar-collapsed[data-route-view="condominios"] .nav-item--mobile-only{
    display: none;
  }.app-layout[data-route-view="condominios"] .nav-item--active,
.app-layout.sidebar-collapsed[data-route-view="condominios"] .nav-item--active{
    color: var(--success);
  }.app-layout[data-route-view="condominios"] .nav-item--active::before,
.app-layout.sidebar-collapsed[data-route-view="condominios"] .nav-item--active::before{
    display: none;
  }.app-layout[data-route-view="condominios"] .nav-item--saas .nav-item__label{
    font-size: 0;
  }.app-layout[data-route-view="condominios"] .nav-item--saas .nav-item__label::after{
    content: "Ajustes";
    font-size: 0.55rem;
  }
}

@media (max-width: 430px) {.app-layout[data-route-view="condominios"] .topbar > .search-box{
    margin-inline: 14px;
  }.app-layout[data-route-view="condominios"] .content-main{
    padding-inline: 14px;
  }.app-layout[data-route-view="condominios"] .condominium-card__modules,
.app-layout[data-route-view="condominios"] .condominium-card__actions{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }.app-layout[data-route-view="condominios"] .condominium-card__module-button{
    min-height: 76px;
  }
}

@media (max-width: 780px) {html,
body{
    width: 100%;
    overflow-x: hidden;
  }body{
    padding-bottom: calc(88px + env(safe-area-inset-bottom));
    background: var(--canvas);
  }.app-layout{
    min-height: 100dvh;
  }.app-layout .main-shell,
.app-layout.sidebar-collapsed .main-shell{
    width: 100%;
    min-width: 0;
    margin-left: 0;
  }.topbar{
    position: sticky;
    top: 0;
    z-index: 50;
    display: block;
    height: auto;
    min-height: 64px;
    padding: 0;
    overflow: visible;
    background: var(--navy-950);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 8px 24px rgba(0, 26, 65, 0.22);
    backdrop-filter: blur(14px);
  }.mobile-topbar{
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 64px;
    padding: 0 14px;
    gap: 10px;
  }.mobile-topbar__brand,
.mobile-topbar__actions{
    display: flex;
    align-items: center;
    min-width: 0;
  }.mobile-topbar__brand{
    gap: 10px;
    flex: 1 1 auto;
  }.mobile-topbar__brand > .mobile-icon-button{
    display: none;
  }.mobile-topbar__actions{
    gap: 6px;
    flex: 0 0 auto;
  }.mobile-topbar__brand strong{
    min-width: 0;
    overflow: hidden;
    color: #ffffff;
    font-size: 1.05rem;
    font-weight: 850;
    letter-spacing: 0;
    text-overflow: ellipsis;
    text-transform: none;
    white-space: nowrap;
  }.mobile-brand-logo{
    display: block;
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    object-fit: contain;
    border-radius: 8px;
  }.mobile-icon-button{
    position: relative;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    cursor: pointer;
  }.mobile-icon-button.icon-button--active{
    border-color: rgba(16, 185, 129, 0.42);
    background: rgba(16, 185, 129, 0.16);
    color: var(--success);
  }.mobile-icon-button:active{
    background: rgba(255, 255, 255, 0.14);
  }.mobile-icon-button .material-symbols-outlined{
    font-size: 1.25rem;
  }.mobile-icon-button .notification-dot{
    top: 7px;
    right: 7px;
  }.topbar__actions{
    display: none !important;
  }.topbar > .search-box{
    display: none;
  }.topbar.mobile-search-open > .search-box{
    position: fixed;
    top: 72px;
    left: 12px;
    right: 12px;
    z-index: 60;
    display: block;
    max-width: none;
    border-radius: 14px;
    box-shadow: 0 18px 38px rgba(0, 26, 65, 0.18);
  }.topbar.mobile-search-open > .search-box input{
    height: 48px;
    background: #ffffff;
  }.app-layout .sidebar,
.app-layout.sidebar-collapsed .sidebar{
    position: fixed;
    inset: auto 0 0 0;
    z-index: 55;
    width: 100%;
    height: calc(72px + env(safe-area-inset-bottom));
    padding: 7px 10px calc(7px + env(safe-area-inset-bottom));
    border-radius: 18px 18px 0 0;
    background: var(--navy-950);
    box-shadow: 0 -10px 28px rgba(0, 26, 65, 0.22);
  }.app-layout .sidebar__top,
.app-layout.sidebar-collapsed .sidebar__top,
.app-layout .sidebar-context,
.app-layout.sidebar-collapsed .sidebar-context{
    display: none !important;
  }.app-layout .sidebar__nav,
.app-layout.sidebar-collapsed .sidebar__nav{
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    gap: 4px;
    height: 100%;
    margin: 0;
    overflow: hidden;
  }.app-layout .nav-item--mobile-only,
.app-layout.sidebar-collapsed .nav-item--mobile-only{
    display: flex;
  }.app-layout .nav-item,
.app-layout.sidebar-collapsed .nav-item{
    position: relative;
    flex: 1 1 0;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    height: 58px;
    padding: 0 3px;
    border-left: 0;
    border-radius: 14px;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.55rem;
    letter-spacing: 0;
    line-height: 1.1;
    text-align: center;
    text-transform: none;
  }.app-layout .nav-item.hidden-by-permission,
.app-layout.sidebar-collapsed .nav-item.hidden-by-permission{
    display: none !important;
  }.app-layout .nav-item .material-symbols-outlined,
.app-layout.sidebar-collapsed .nav-item .material-symbols-outlined{
    font-size: 1.28rem;
  }.app-layout .nav-item__label,
.app-layout.sidebar-collapsed .nav-item__label{
    display: block;
    max-width: 100%;
    overflow: hidden;
    font-size: 0.55rem;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
  }.app-layout .nav-item--active,
.app-layout.sidebar-collapsed .nav-item--active{
    background: transparent;
    color: var(--success);
  }.app-layout .nav-item--active::before,
.app-layout.sidebar-collapsed .nav-item--active::before{
    content: "";
    position: absolute;
    top: -3px;
    width: 38px;
    height: 3px;
    border-radius: 999px;
    background: var(--success);
  }.content-shell{
    display: block;
    min-height: auto;
  }.content-main{
    min-width: 0;
    padding: 16px 14px calc(18px + env(safe-area-inset-bottom));
  }.page-view{
    min-width: 0;
  }.mobile-dashboard-hero{
    display: block;
    margin: 0 0 16px;
    padding: 16px;
    border: 1px solid var(--surface-line);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: var(--shadow-card);
  }.mobile-dashboard-hero h2{
    margin: 0 0 4px;
    color: var(--navy-950);
    font-size: 1.35rem;
    font-weight: 850;
    letter-spacing: -0.03em;
  }.mobile-dashboard-hero p{
    margin: 0;
    color: var(--text-soft);
    font-size: 0.86rem;
  }.section-header{
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    margin-bottom: 16px;
  }.section-header h2,
#live-view .section-header h2{
    overflow: visible;
    color: var(--navy-950);
    font-size: 1.28rem;
    font-weight: 850;
    letter-spacing: -0.03em;
    text-overflow: clip;
    white-space: normal;
  }.section-header__meta{
    margin-top: 6px;
    font-size: 0.86rem;
  }.section-header__actions{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 8px;
  }.button{
    min-width: 0;
    min-height: 42px;
    padding-inline: 12px;
    font-size: 0.8rem;
    line-height: 1.12;
  }#live-view .section-header__actions{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }#reload-visible,
#load-all{
    display: inline-flex;
    width: 100%;
    min-height: 42px;
    padding: 0 12px;
    border: 1px solid var(--surface-line-strong);
    border-radius: 10px;
    background: #ffffff;
    color: var(--navy-950);
    font-size: 0.76rem;
    font-weight: 800;
  }#load-all{
    background: var(--navy-950);
    border-color: var(--navy-950);
    color: #ffffff;
  }.condominium-summary-grid{
    display: grid;
    grid-auto-columns: minmax(168px, 72vw);
    grid-auto-flow: column;
    grid-template-columns: none;
    gap: 10px;
    margin: 0 -14px 16px;
    overflow-x: auto;
    padding: 0 14px 2px;
    scrollbar-width: none;
  }.condominium-summary-grid::-webkit-scrollbar{
    display: none;
  }.condominium-summary-card{
    min-height: 96px;
    padding: 16px;
    border-radius: 14px;
  }.condominium-grid{
    grid-template-columns: 1fr;
    gap: 14px;
  }.condominium-card{
    gap: 12px;
    padding: 14px;
    border-radius: 16px;
  }.condominium-card__header{
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 10px;
  }.condominium-card__avatar{
    width: 44px;
    height: 44px;
    border-radius: 12px;
  }.condominium-card h3{
    font-size: 1rem;
  }.condominium-card__details{
    display: block;
    grid-column: 1 / -1;
    grid-row: auto;
    border-top: 1px solid var(--surface-line);
  }.condominium-card__details summary{
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 42px;
    color: var(--navy-700);
    cursor: pointer;
    font-size: 0.78rem;
    font-weight: 900;
    list-style: none;
    text-transform: uppercase;
  }.condominium-card__details summary::-webkit-details-marker{
    display: none;
  }.condominium-card__details summary .material-symbols-outlined{
    transition: transform 0.18s ease;
  }.condominium-card__details[open] summary .material-symbols-outlined{
    transform: rotate(180deg);
  }.condominium-card__meta{
    grid-column: auto;
    grid-row: auto;
    padding: 2px 0 10px;
  }.condominium-card__meta span{
    font-size: 0.8rem;
  }.condominium-card__modules{
    grid-column: auto;
    grid-row: auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding-top: 10px;
  }.condominium-card__modules span{
    justify-content: center;
    min-height: 46px;
    padding: 8px 6px;
    font-size: 0.68rem;
    text-align: center;
  }.condominium-card__actions{
    grid-column: 1 / -1;
    grid-row: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }.condominium-card__module-button{
    min-height: 44px;
    font-size: 0.78rem;
  }.condominium-form,
.user-admin-form{
    grid-template-columns: 1fr;
    padding: 14px;
  }.user-admin-card,
.user-admin-card__editor{
    grid-template-columns: 1fr;
  }.user-admin-card__editor-actions{
    display: grid;
    grid-template-columns: 1fr;
  }.condominium-logo-field,
.brand-upload{
    grid-template-columns: 1fr;
    padding: 14px;
  }.condominium-logo-field__preview,
.brand-upload__preview{
    width: 88px;
    height: 88px;
  }.condominium-logo-field__actions,
.brand-upload__actions,
.condominium-form__actions{
    display: grid;
    grid-template-columns: 1fr;
  }.condominium-delete-button{
    margin-right: 0;
  }.settings-panel{
    border-radius: 16px;
  }.settings-panel__intro{
    align-items: stretch;
    flex-direction: column;
    padding: 14px;
  }.settings-save-status{
    width: fit-content;
  }.settings-switch,
.settings-alias{
    grid-column: 2;
  }.alerts-panel{
    display: none !important;
  }.app-layout.alerts-panel-open[data-route-view="condominios"] .alerts-panel,
.app-layout.alerts-panel-open[data-route-view="agenda-servicos"] .alerts-panel,
.app-layout.alerts-panel-open[data-route-view="fornecedores-prestadores"] .alerts-panel,
.app-layout.alerts-panel-open[data-route-view="condominio-configuracoes"] .alerts-panel,
.app-layout.alerts-panel-open[data-route-view="personalizar"] .alerts-panel,
.app-layout.alerts-panel-open[data-route-view="configuracoes-saas"] .alerts-panel{
    position: fixed;
    top: 76px;
    right: 12px;
    bottom: calc(84px + env(safe-area-inset-bottom));
    left: 12px;
    z-index: 45;
    display: flex !important;
    height: auto;
    max-height: none;
    overflow: hidden;
    overscroll-behavior: contain;
    margin: 0;
    border: 1px solid var(--surface-line);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 46px rgba(0, 26, 65, 0.22);
  }.alerts-panel__header{
    padding: 14px;
    border-bottom: 1px solid var(--surface-line);
    background: #ffffff;
  }.alerts-panel__title-row h3{
    font-size: 1.05rem;
    letter-spacing: -0.02em;
  }.alerts-list{
    display: grid;
    flex: 1;
    gap: 10px;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 12px;
  }.history-card{
    grid-template-columns: 72px minmax(0, 1fr);
  }
}

@media (max-width: 430px) {.mobile-topbar{
    padding-inline: 10px;
  }.mobile-topbar__actions{
    gap: 4px;
  }.mobile-icon-button{
    width: 36px;
    height: 36px;
    border-radius: 11px;
  }.mobile-topbar__brand strong{
    font-size: 0.98rem;
  }.app-layout .nav-item,
.app-layout.sidebar-collapsed .nav-item{
    height: 56px;
    font-size: 0.5rem;
  }.app-layout .nav-item__label,
.app-layout.sidebar-collapsed .nav-item__label{
    font-size: 0.5rem;
  }.content-main{
    padding-inline: 12px;
  }.condominium-card__modules{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }.section-header__actions,
#live-view .section-header__actions,
.condominium-card__actions{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 780px), (max-width: 960px) and (max-height: 540px) {:root{
    --mobile-topbar-height: 64px;
    --mobile-nav-height: 74px;
    --schedule-weekday-sticky-top: var(--mobile-topbar-height);
  }html,
body{
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }body{
    padding-bottom: calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));
    background: var(--canvas);
  }.app-layout{
    min-height: 100dvh;
  }.app-layout .main-shell,
.app-layout.sidebar-collapsed .main-shell{
    width: 100%;
    min-width: 0;
    margin-left: 0;
  }.topbar{
    position: sticky;
    top: 0;
    z-index: 60;
    display: block;
    height: auto;
    min-height: var(--mobile-topbar-height);
    padding: 0;
    overflow: visible;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: var(--navy-950);
    box-shadow: 0 8px 24px rgba(0, 26, 65, 0.22);
  }.mobile-topbar{
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: var(--mobile-topbar-height);
    gap: 10px;
    padding: 0 14px;
  }.mobile-topbar__brand,
.mobile-topbar__actions{
    display: flex;
    align-items: center;
    min-width: 0;
  }.mobile-topbar__brand{
    flex: 1 1 auto;
    gap: 10px;
  }.mobile-topbar__brand > .mobile-icon-button{
    display: none;
  }.mobile-brand-copy{
    display: grid;
    min-width: 0;
    gap: 2px;
  }.mobile-brand-copy strong,
.mobile-brand-copy small{
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }.mobile-brand-copy strong{
    color: #ffffff;
    font-size: 1rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: none;
  }.mobile-brand-copy small{
    color: rgba(255, 255, 255, 0.64);
    font-size: 0.66rem;
    font-weight: 750;
    letter-spacing: 0.06em;
    line-height: 1.1;
    text-transform: uppercase;
  }.mobile-brand-logo{
    display: block;
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    object-fit: contain;
    border-radius: 9px;
  }.mobile-topbar__actions{
    flex: 0 0 auto;
    gap: 6px;
  }.mobile-icon-button{
    position: relative;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    cursor: pointer;
  }.mobile-icon-button.icon-button--active{
    border-color: rgba(16, 185, 129, 0.42);
    background: rgba(16, 185, 129, 0.16);
    color: var(--success);
  }.mobile-icon-button .material-symbols-outlined{
    font-size: 1.24rem;
  }.mobile-icon-button .notification-dot{
    top: 7px;
    right: 7px;
  }.topbar__actions{
    display: none !important;
  }.topbar > .search-box{
    display: none;
  }.topbar.mobile-search-open > .search-box{
    position: fixed;
    top: calc(var(--mobile-topbar-height) + 8px);
    right: 12px;
    left: 12px;
    z-index: 70;
    display: flex;
    height: 48px;
    max-width: none;
    border: 0;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 18px 38px rgba(0, 26, 65, 0.22);
  }.topbar.mobile-search-open > .search-box input{
    height: 48px;
    background: #ffffff;
    color: var(--text);
  }.app-layout[data-route-view="condominios"] .topbar > .search-box{
    position: static;
    display: flex;
    height: 46px;
    max-width: none;
    margin: 0 14px 12px;
    border: 0;
    border-radius: 13px;
    background: #ffffff;
    box-shadow: 0 7px 16px rgba(0, 26, 65, 0.18);
  }.app-layout[data-route-view="condominios"] .topbar > .search-box input{
    height: 46px;
    background: #ffffff;
    color: var(--text);
    font-size: 0.96rem;
  }.app-layout[data-route-view="condominios"] #mobile-search-toggle{
    display: none;
  }.app-layout .sidebar,
.app-layout.sidebar-collapsed .sidebar{
    position: fixed;
    inset: auto 0 0 0;
    z-index: 65;
    width: 100%;
    height: calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));
    padding: 7px 8px calc(7px + env(safe-area-inset-bottom));
    border-radius: 18px 18px 0 0;
    background: var(--navy-950);
    box-shadow: 0 -10px 28px rgba(0, 26, 65, 0.24);
  }.app-layout .sidebar__top,
.app-layout.sidebar-collapsed .sidebar__top,
.app-layout .sidebar-context,
.app-layout.sidebar-collapsed .sidebar-context{
    display: none !important;
  }.app-layout .sidebar__nav,
.app-layout.sidebar-collapsed .sidebar__nav{
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    gap: 4px;
    height: 100%;
    margin: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
  }.app-layout .sidebar__nav::-webkit-scrollbar,
.app-layout.sidebar-collapsed .sidebar__nav::-webkit-scrollbar{
    display: none;
  }.app-layout .nav-item--mobile-only,
.app-layout.sidebar-collapsed .nav-item--mobile-only{
    display: flex;
  }.app-layout .nav-item,
.app-layout.sidebar-collapsed .nav-item{
    position: relative;
    flex: 1 0 58px;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    height: 58px;
    padding: 0 3px;
    border-left: 0;
    border-radius: 14px;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.54rem;
    letter-spacing: 0;
    line-height: 1.1;
    text-align: center;
    text-transform: none;
  }.app-layout .nav-item.hidden-by-permission,
.app-layout.sidebar-collapsed .nav-item.hidden-by-permission{
    display: none !important;
  }.app-layout .nav-item .material-symbols-outlined,
.app-layout.sidebar-collapsed .nav-item .material-symbols-outlined{
    font-size: 1.24rem;
  }.app-layout .nav-item__label,
.app-layout.sidebar-collapsed .nav-item__label{
    display: block;
    max-width: 100%;
    overflow: hidden;
    font-size: 0.54rem;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
  }.app-layout .nav-item--saas .nav-item__label{
    font-size: 0;
  }.app-layout .nav-item--saas .nav-item__label::after{
    content: "Globais";
    font-size: 0.54rem;
  }.app-layout .nav-item--active,
.app-layout.sidebar-collapsed .nav-item--active{
    background: rgba(16, 185, 129, 0.11);
    color: var(--success);
  }.app-layout .nav-item--active::before,
.app-layout.sidebar-collapsed .nav-item--active::before{
    content: "";
    position: absolute;
    top: -3px;
    width: 38px;
    height: 3px;
    border-radius: 999px;
    background: var(--success);
  }.content-shell{
    display: block;
    min-height: auto;
  }.content-main{
    min-width: 0;
    padding: 16px 14px calc(18px + env(safe-area-inset-bottom));
  }.page-view{
    min-width: 0;
  }.mobile-dashboard-hero{
    display: block;
    margin: 0 0 16px;
    padding: 16px;
    border: 1px solid var(--surface-line);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: var(--shadow-card);
  }.app-layout[data-route-view="condominios"] .mobile-dashboard-hero,
.app-layout[data-route-view="condominio-configuracoes"] .mobile-dashboard-hero,
.app-layout[data-route-view="personalizar"] .mobile-dashboard-hero,
.app-layout[data-route-view="configuracoes-saas"] .mobile-dashboard-hero{
    display: none;
  }.mobile-dashboard-hero h2{
    margin: 0 0 4px;
    color: var(--navy-950);
    font-size: 1.34rem;
    font-weight: 850;
    letter-spacing: 0;
  }.mobile-dashboard-hero p{
    margin: 0;
    color: var(--text-soft);
    font-size: 0.86rem;
  }.section-header{
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    margin-bottom: 16px;
  }.section-header h2,
#live-view .section-header h2{
    overflow: visible;
    color: var(--navy-950);
    font-size: 1.32rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.15;
    text-overflow: clip;
    white-space: normal;
  }.section-header__meta{
    margin-top: 6px;
    font-size: 0.86rem;
  }.section-header__actions,
#live-view .section-header__actions{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 8px;
  }.button{
    min-width: 0;
    min-height: 42px;
    padding-inline: 12px;
    font-size: 0.78rem;
    line-height: 1.12;
  }#reload-visible,
#load-all{
    display: inline-flex;
    width: 100%;
    min-height: 42px;
    padding: 0 10px;
    border-radius: 10px;
    font-size: 0.72rem;
    font-weight: 850;
  }.condominiums-page-header{
    align-items: stretch;
  }.app-layout[data-route-view="condominios"] .condominiums-page-header{
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    margin-bottom: 16px;
  }.app-layout[data-route-view="condominios"] .condominiums-page-header .section-header__actions{
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }.app-layout[data-route-view="condominios"] #toggle-condominium-form{
    width: 100%;
    min-height: 42px;
    padding: 0 12px;
    font-size: 0.78rem;
  }.app-layout[data-route-view="condominios"] #toggle-condominium-form::after{
    content: none;
  }.app-layout[data-route-view="condominios"] #toggle-condominium-form .material-symbols-outlined{
    font-size: 1.16rem;
  }.condominium-summary-grid{
    display: grid;
    grid-auto-columns: minmax(170px, 74vw);
    grid-auto-flow: column;
    grid-template-columns: none;
    gap: 10px;
    margin: 0 -14px 16px;
    overflow-x: auto;
    padding: 0 14px 3px;
    scrollbar-width: none;
  }.condominium-summary-grid::-webkit-scrollbar{
    display: none;
  }.condominium-summary-card{
    min-height: 96px;
    padding: 16px;
    border-radius: 14px;
  }.condominium-summary-card__icon{
    width: 48px;
    height: 48px;
    border-radius: 12px;
  }.condominium-grid{
    grid-template-columns: 1fr;
    gap: 14px;
  }.condominium-grid > .settings-empty{
    min-height: 34vh;
  }.condominium-card,
.app-layout[data-route-view="condominios"] .condominium-card{
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    overflow: hidden;
    padding: 14px;
    border-radius: 16px;
  }.app-layout[data-route-view="condominios"] .condominium-card::after{
    display: none;
  }.condominium-card__header,
.app-layout[data-route-view="condominios"] .condominium-card__header{
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    padding: 0;
  }.condominium-card__avatar,
.app-layout[data-route-view="condominios"] .condominium-card__avatar{
    width: 46px;
    height: 46px;
    border-radius: 12px;
  }.condominium-card h3,
.app-layout[data-route-view="condominios"] .condominium-card h3{
    min-width: 0;
    overflow-wrap: anywhere;
    font-size: 1rem;
    line-height: 1.2;
  }.condominium-card__details,
.app-layout[data-route-view="condominios"] .condominium-card__details{
    display: block;
    grid-column: 1 / -1;
    grid-row: auto;
    padding: 0;
    border-top: 1px solid var(--surface-line);
  }.condominium-card__details summary,
.app-layout[data-route-view="condominios"] .condominium-card__details summary{
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 42px;
    color: var(--navy-700);
    cursor: pointer;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    list-style: none;
    text-transform: uppercase;
  }.condominium-card__details summary::-webkit-details-marker{
    display: none;
  }.condominium-card__details summary .material-symbols-outlined{
    transition: transform 0.18s ease;
  }.condominium-card__details[open] summary .material-symbols-outlined{
    transform: rotate(180deg);
  }.condominium-card__meta,
.app-layout[data-route-view="condominios"] .condominium-card__meta{
    grid-column: auto;
    grid-row: auto;
    gap: 8px;
    padding: 2px 0 10px;
  }.condominium-card__meta span,
.app-layout[data-route-view="condominios"] .condominium-card__meta span{
    gap: 8px;
    min-width: 0;
    font-size: 0.8rem;
    line-height: 1.35;
  }.condominium-card__modules,
.app-layout[data-route-view="condominios"] .condominium-card__modules{
    grid-column: auto;
    grid-row: auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding-top: 10px;
    border-top: 1px solid var(--surface-line);
  }.condominium-card__modules span,
.app-layout[data-route-view="condominios"] .condominium-card__modules span{
    justify-content: center;
    min-height: 44px;
    padding: 8px 6px;
    border-radius: 12px;
    font-size: 0.66rem;
    line-height: 1.15;
    text-align: center;
  }.app-layout[data-route-view="condominios"] .condominium-card__modules span:nth-child(3){
    display: inline-flex;
  }.condominium-card__actions,
.app-layout[data-route-view="condominios"] .condominium-card__actions{
    display: grid;
    grid-column: 1 / -1;
    grid-row: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 0;
  }.condominium-card__module-button,
.app-layout[data-route-view="condominios"] .condominium-card__module-button{
    flex-direction: row;
    justify-content: center;
    gap: 7px;
    min-height: 44px;
    border-radius: 10px;
    font-size: 0.74rem;
    font-weight: 850;
    line-height: 1.1;
    text-transform: none;
  }.condominium-card__module-button .material-symbols-outlined,
.app-layout[data-route-view="condominios"] .condominium-card__module-button .material-symbols-outlined{
    font-size: 1.18rem;
  }.condominium-form,
.user-admin-form{
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 14px;
  }.condominium-form__actions,
.condominium-logo-field__actions,
.brand-upload__actions,
.user-admin-card__editor-actions{
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }.condominium-delete-button{
    margin-right: 0;
  }.condominium-logo-field,
.brand-upload{
    grid-template-columns: 1fr;
    padding: 14px;
  }.condominium-logo-field__preview,
.brand-upload__preview{
    width: 88px;
    height: 88px;
  }.settings-panel{
    border-radius: 16px;
  }.settings-panel__intro{
    align-items: stretch;
    flex-direction: column;
    padding: 14px;
  }.settings-save-status{
    width: fit-content;
  }.settings-switch,
.settings-alias{
    grid-column: 2;
  }.history-card{
    grid-template-columns: 64px minmax(0, 1fr);
  }.alerts-panel{
    display: none !important;
  }.app-layout.alerts-panel-open[data-route-view="condominios"] .alerts-panel,
.app-layout.alerts-panel-open[data-route-view="agenda-servicos"] .alerts-panel,
.app-layout.alerts-panel-open[data-route-view="fornecedores-prestadores"] .alerts-panel,
.app-layout.alerts-panel-open[data-route-view="condominio-configuracoes"] .alerts-panel,
.app-layout.alerts-panel-open[data-route-view="personalizar"] .alerts-panel,
.app-layout.alerts-panel-open[data-route-view="configuracoes-saas"] .alerts-panel{
    position: fixed;
    top: calc(var(--mobile-topbar-height) + 12px);
    right: 12px;
    bottom: calc(var(--mobile-nav-height) + 12px + env(safe-area-inset-bottom));
    left: 12px;
    z-index: 64;
    display: flex !important;
    height: calc(100dvh - var(--mobile-topbar-height) - var(--mobile-nav-height) - 24px - env(safe-area-inset-bottom));
    max-height: calc(100dvh - var(--mobile-topbar-height) - var(--mobile-nav-height) - 24px - env(safe-area-inset-bottom));
    overflow: hidden;
    overscroll-behavior: contain;
    margin: 0;
    border: 1px solid var(--surface-line);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 46px rgba(0, 26, 65, 0.24);
  }.alerts-panel__header{
    padding: 14px;
    border-bottom: 1px solid var(--surface-line);
    background: #ffffff;
  }.alerts-list{
    display: grid;
    flex: 1;
    gap: 10px;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 12px;
  }
}

@media (max-width: 960px) and (max-height: 540px) {:root{
    --mobile-topbar-height: 56px;
    --mobile-nav-height: 64px;
  }body{
    padding-bottom: calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));
  }.mobile-topbar{
    height: var(--mobile-topbar-height);
    padding-inline: 12px;
  }.mobile-icon-button{
    width: 34px;
    height: 34px;
    border-radius: 10px;
  }.mobile-brand-logo{
    width: 30px;
    height: 30px;
  }.mobile-brand-copy small{
    display: none;
  }.app-layout[data-route-view="condominios"] .topbar > .search-box{
    height: 40px;
    margin: 0 12px 10px;
  }.app-layout[data-route-view="condominios"] .topbar > .search-box input{
    height: 40px;
    font-size: 0.88rem;
  }.app-layout .sidebar,
.app-layout.sidebar-collapsed .sidebar{
    height: calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));
    padding-top: 5px;
  }.app-layout .nav-item,
.app-layout.sidebar-collapsed .nav-item{
    height: 52px;
  }.content-main{
    padding: 12px 14px calc(12px + env(safe-area-inset-bottom));
  }.mobile-dashboard-hero{
    display: none;
  }.section-header{
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
  }.section-header__actions,
#live-view .section-header__actions{
    width: auto;
    min-width: 260px;
  }.app-layout[data-route-view="condominios"] .condominiums-page-header{
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }.app-layout[data-route-view="condominios"] .condominiums-page-header .section-header__actions{
    width: auto;
    min-width: 0;
  }.app-layout[data-route-view="condominios"] #toggle-condominium-form{
    width: auto;
    min-width: 220px;
  }.condominium-summary-grid{
    grid-auto-flow: initial;
    grid-auto-columns: initial;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0 0 14px;
    overflow: visible;
    padding: 0;
  }.condominium-summary-card{
    min-height: 78px;
    padding: 12px;
  }.condominium-summary-card__icon{
    width: 40px;
    height: 40px;
  }.condominium-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }.condominium-card__modules,
.app-layout[data-route-view="condominios"] .condominium-card__modules{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }.condominium-card__actions,
.app-layout[data-route-view="condominios"] .condominium-card__actions{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }.condominium-form{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }.condominium-logo-field,
.condominium-form__actions{
    grid-column: 1 / -1;
  }.condominium-form__actions{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }.app-layout.alerts-panel-open[data-route-view="condominios"] .alerts-panel,
.app-layout.alerts-panel-open[data-route-view="agenda-servicos"] .alerts-panel,
.app-layout.alerts-panel-open[data-route-view="fornecedores-prestadores"] .alerts-panel,
.app-layout.alerts-panel-open[data-route-view="condominio-configuracoes"] .alerts-panel,
.app-layout.alerts-panel-open[data-route-view="personalizar"] .alerts-panel,
.app-layout.alerts-panel-open[data-route-view="configuracoes-saas"] .alerts-panel{
    top: calc(var(--mobile-topbar-height) + 8px);
    right: 12px;
    bottom: calc(var(--mobile-nav-height) + 8px + env(safe-area-inset-bottom));
    left: auto;
    width: min(360px, calc(100vw - 24px));
    height: calc(100dvh - var(--mobile-topbar-height) - var(--mobile-nav-height) - 16px - env(safe-area-inset-bottom));
    max-height: calc(100dvh - var(--mobile-topbar-height) - var(--mobile-nav-height) - 16px - env(safe-area-inset-bottom));
  }
}

@media (max-width: 430px) {.mobile-topbar{
    padding-inline: 10px;
  }.mobile-brand-copy strong{
    font-size: 0.96rem;
  }.mobile-icon-button{
    width: 36px;
    height: 36px;
  }.app-layout .nav-item,
.app-layout.sidebar-collapsed .nav-item{
    flex-basis: 56px;
    height: 56px;
  }.app-layout .nav-item__label,
.app-layout.sidebar-collapsed .nav-item__label,
.app-layout .nav-item--saas .nav-item__label::after{
    font-size: 0.5rem;
  }.content-main{
    padding-inline: 12px;
  }.condominium-summary-grid{
    margin-inline: -12px;
    padding-inline: 12px;
  }.condominium-card__modules,
.app-layout[data-route-view="condominios"] .condominium-card__modules{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 780px), (max-width: 960px) and (max-height: 540px) {#live-view .section-header{
    grid-template-columns: 1fr;
    align-items: stretch;
  }.app-layout[data-route-view="condominios"] .nav-item--mobile-only,
.app-layout.sidebar-collapsed[data-route-view="condominios"] .nav-item--mobile-only{
    display: flex;
  }
}

@media (max-width: 960px) and (max-height: 540px) {#live-view .section-header{
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
  }
}

@media (max-width: 780px), (max-width: 960px) and (max-height: 540px) {.app-layout[data-route-view="condominios"] .sidebar,
.app-layout.sidebar-collapsed[data-route-view="condominios"] .sidebar{
    border-top: 0;
    border-radius: 18px 18px 0 0;
    background: var(--navy-950);
    box-shadow: 0 -10px 28px rgba(0, 26, 65, 0.24);
  }.app-layout[data-route-view="condominios"] .nav-item,
.app-layout.sidebar-collapsed[data-route-view="condominios"] .nav-item{
    color: rgba(255, 255, 255, 0.76);
  }.app-layout[data-route-view="condominios"] .nav-item--active,
.app-layout.sidebar-collapsed[data-route-view="condominios"] .nav-item--active{
    background: rgba(16, 185, 129, 0.11);
    color: var(--success);
  }
}

@media (max-width: 780px), (max-width: 960px) and (max-height: 540px) {.app-layout .nav-item--suppliers .nav-item__label,
.app-layout.sidebar-collapsed .nav-item--suppliers .nav-item__label{
    font-size: 0;
  }.app-layout .nav-item--suppliers .nav-item__label::after,
.app-layout.sidebar-collapsed .nav-item--suppliers .nav-item__label::after{
    content: "Fornec.";
    font-size: 0.54rem;
  }.app-layout[data-route-view="fornecedores-prestadores"] .content-main{
    padding-top: 14px;
  }.app-layout[data-route-view="fornecedores-prestadores"] .suppliers-page-header{
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 14px;
    margin-bottom: 14px;
  }.app-layout[data-route-view="fornecedores-prestadores"] .suppliers-page-header h2{
    font-size: clamp(1.36rem, 6vw, 1.72rem);
    line-height: 1.05;
    letter-spacing: 0;
  }.app-layout[data-route-view="fornecedores-prestadores"] .suppliers-page-header .section-header__meta{
    margin-top: 7px;
    font-size: 0.9rem;
  }.app-layout[data-route-view="fornecedores-prestadores"] .suppliers-page-header .section-header__actions{
    width: 100%;
    min-width: 0;
  }.app-layout[data-route-view="fornecedores-prestadores"] #toggle-supplier-form{
    width: 100%;
    min-height: 48px;
    justify-content: center;
    padding-inline: 14px;
    white-space: normal;
  }.app-layout[data-route-view="fornecedores-prestadores"] .settings-panel.supplier-form-panel{
    margin-bottom: 14px;
    border-radius: 16px;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-form-panel .settings-panel__intro{
    gap: 10px;
    padding: 14px;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-form-panel .settings-panel__intro strong{
    font-size: 1rem;
    line-height: 1.15;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-form-panel .settings-panel__intro span:not(.settings-save-status){
    font-size: 0.82rem;
    line-height: 1.35;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-form{
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 14px;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-form__field{
    grid-column: 1 / -1;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-form input,
.app-layout[data-route-view="fornecedores-prestadores"] .supplier-form select,
.app-layout[data-route-view="fornecedores-prestadores"] .supplier-form textarea{
    min-height: 48px;
    font-size: 0.94rem;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-form textarea{
    min-height: 112px;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-condominium-combo__button{
    min-height: 48px;
    padding-inline: 14px;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-condominium-combo__button [data-supplier-condominium-summary]{
    font-size: 0.9rem;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-condominium-combo__menu{
    position: static;
    max-height: min(42dvh, 320px);
    margin-top: 8px;
    border-radius: 12px;
    box-shadow: inset 0 0 0 1px rgba(0, 26, 65, 0.02);
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-condominium-option{
    min-height: 48px;
    padding: 12px;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-condominium-option input[type="checkbox"]{
    width: 18px;
    height: 18px;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-condominium-option span{
    font-size: 0.86rem;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-form__actions{
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-delete-button{
    margin-right: 0;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-grid{
    grid-template-columns: 1fr;
    gap: 12px;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-card{
    gap: 10px;
    border-radius: 14px;
    padding: 14px;
    touch-action: manipulation;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__header{
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__avatar{
    width: 42px;
    height: 42px;
    border-radius: 11px;
    font-size: 0.78rem;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__type{
    max-width: 100%;
    padding: 3px 7px;
    font-size: 0.58rem;
    line-height: 1.15;
    white-space: normal;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-card h3{
    font-size: 1rem;
    line-height: 1.2;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-card p{
    font-size: 0.78rem;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__details summary{
    gap: 8px;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__details summary > .material-symbols-outlined{
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    font-size: 1.08rem;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__footer{
    display: grid;
    gap: 8px;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__tags{
    gap: 6px;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__services,
.app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__condominiums{
    flex-wrap: nowrap;
    overflow-x: auto;
    padding: 1px 0 3px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__services::-webkit-scrollbar,
.app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__condominiums::-webkit-scrollbar{
    display: none;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__services span,
.app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__condominiums span{
    flex: 0 0 auto;
    max-width: 82vw;
    min-height: 26px;
    padding: 5px 9px;
    font-size: 0.7rem;
    white-space: nowrap;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__meta{
    gap: 7px;
    margin-top: 10px;
    padding-top: 10px;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__meta span{
    align-items: flex-start;
    font-size: 0.78rem;
    line-height: 1.35;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__schedule-summary{
    gap: 7px;
    margin-top: 10px;
    padding-top: 10px;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__schedule-summary > strong{
    font-size: 0.66rem;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__schedule-summary .overview-status-summary__row{
    font-size: 0.62rem;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__actions{
    display: flex;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 8px;
    padding-top: 2px;
    width: 100%;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__actions .button{
    flex: 0 0 min(132px, calc((100% - 8px) / 2));
    width: auto;
    min-width: 0;
    min-height: 42px;
    padding-inline: 8px;
    font-size: 0.78rem;
  }.app-layout[data-route-view="fornecedores-prestadores"] .supplier-empty{
    min-height: 34vh;
    place-content: center;
  }
}

@media (max-width: 780px), (max-width: 960px) and (max-height: 540px) {
  .app-layout[data-route-view="fornecedores-prestadores"] .supplier-card{
    gap: 7px;
    padding: 10px 12px;
    border-radius: 10px;
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__details summary{
    grid-template-columns: minmax(0, 1fr) 24px;
    gap: 8px;
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__header{
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 8px;
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__avatar{
    width: 34px;
    height: 34px;
    border-radius: 8px;
    font-size: 0.68rem;
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__type{
    max-width: 100%;
    margin-bottom: 2px;
    padding: 2px 5px;
    font-size: 0.46rem;
    line-height: 1;
    white-space: nowrap;
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .supplier-card h3{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.78rem;
    line-height: 1.05;
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .supplier-card p{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.66rem;
    line-height: 1.05;
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__planned-count,
  .app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__service-count{
    overflow: hidden;
    max-width: 100%;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.66rem;
    line-height: 1.05;
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__details summary > .supplier-card__expand-icon{
    width: 24px;
    height: 24px;
    font-size: 0.96rem;
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__footer{
    gap: 7px;
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__tags{
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
    overflow: hidden;
    min-width: 0;
    padding-bottom: 0;
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__tags::-webkit-scrollbar{
    display: none;
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__services,
  .app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__condominiums{
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    min-width: 0;
    overflow-x: auto;
    padding: 0 0 2px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__services::-webkit-scrollbar,
  .app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__condominiums::-webkit-scrollbar{
    display: none;
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__services span,
  .app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__condominiums span{
    max-width: 64vw;
    min-height: 20px;
    padding: 4px 8px;
    font-size: 0.58rem;
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__actions{
    display: none;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 8px;
    padding-top: 2px;
    width: 100%;
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__details[open] + .supplier-card__footer .supplier-card__actions{
    display: flex;
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__actions .button{
    flex: 0 0 min(132px, calc((100% - 8px) / 2));
    width: auto;
  }

  .supplier-card__footer{
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-content: stretch;
  }

  .supplier-card__actions{
    display: none;
    width: 100%;
  }

  .supplier-card__details[open] + .supplier-card__footer .supplier-card__actions{
    display: grid;
    grid-template-columns: repeat(2, 96px);
    justify-content: center;
    justify-items: stretch;
    gap: 8px;
    width: 100%;
    margin: 8px auto 0;
  }

  .supplier-card__details[open] + .supplier-card__footer .supplier-card__actions .button{
    width: 100%;
    min-width: 0;
    flex: none;
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__meta{
    gap: 7px;
    margin-top: 8px;
    padding-top: 8px;
  }
}

@media (max-width: 430px) {.app-layout[data-route-view="fornecedores-prestadores"] .supplier-condominium-combo__menu{
    max-height: 36dvh;
  }
}

@media (max-width: 780px), (max-width: 960px) and (max-height: 540px) {
  .supplier-card__details[open] + .supplier-card__footer .supplier-card__actions,
  .app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__details[open] + .supplier-card__footer .supplier-card__actions{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: center;
    flex-wrap: nowrap;
    gap: 8px;
    width: fit-content;
    max-width: 100%;
    margin: 8px auto 0;
    padding-top: 0;
  }

  .supplier-card__details[open] + .supplier-card__footer .supplier-card__actions .button,
  .app-layout[data-route-view="fornecedores-prestadores"] .supplier-card__details[open] + .supplier-card__footer .supplier-card__actions .button{
    flex: 0 0 92px;
    width: 92px;
    max-width: 92px;
    min-width: 0;
    padding-inline: 8px;
  }
}

@media (max-width: 1180px) {.schedule-board{
    grid-template-columns: 1fr;
    align-items: start;
  }.schedule-side-panel{
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 292px);
    align-self: auto;
    margin-top: 0;
  }.schedule-side-stack{
    grid-template-rows: none;
  }.schedule-side-card{
    min-height: auto;
  }.schedule-side-panel > .button{
    grid-column: 1 / -1;
    justify-self: start;
    width: auto;
    min-width: 180px;
  }
}

@media (max-width: 780px), (max-width: 960px) and (max-height: 540px) {.app-layout .nav-item--schedule .nav-item__label,
.app-layout.sidebar-collapsed .nav-item--schedule .nav-item__label{
    font-size: 0;
  }.app-layout .nav-item--schedule .nav-item__label::after,
.app-layout.sidebar-collapsed .nav-item--schedule .nav-item__label::after{
    content: "Agenda";
    font-size: 0.54rem;
  }.app-layout[data-route-view="agenda-servicos"] .content-main{
    padding-top: 14px;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-page-header{
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 12px;
    margin-bottom: 14px;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-page-header h2{
    font-size: clamp(1.36rem, 6vw, 1.72rem);
    line-height: 1.05;
    letter-spacing: 0;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-page-header .section-header__meta{
    margin-top: 7px;
    font-size: 0.9rem;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-page-header .section-header__actions{
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }.app-layout[data-route-view="agenda-servicos"] #toggle-schedule-form{
    width: 100%;
    min-height: 48px;
    justify-content: center;
  }.condominium-form-panel,
.settings-panel.supplier-form-panel,
.occurrence-form-panel,
.schedule-form-panel{
    width: min(560px, calc(100vw - 18px));
    max-height: calc(100dvh - 18px);
    margin: 0;
    border-radius: 16px;
  }.form-modal-actions,
.schedule-modal-actions{
    align-self: flex-start;
    gap: 8px;
  }.form-modal-actions .settings-save-status,
.schedule-modal-actions .settings-save-status{
    display: none;
  }.form-modal-close,
.schedule-modal-close{
    width: 40px;
    height: 40px;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-form-panel{
    width: min(560px, calc(100vw - 18px));
    max-height: calc(100dvh - 18px);
    margin: 0;
    border-radius: 16px;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-form-panel .settings-panel__intro{
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 14px;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-modal-actions{
    align-self: flex-end;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 8px;
    max-width: 100%;
    min-width: 0;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-modal-actions .settings-save-status{
    display: none;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-modal-close{
    width: 40px;
    height: 40px;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-modal-complete{
    min-height: 40px;
    padding: 0 10px;
    font-size: 0.76rem;
    line-height: 1.05;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-form{
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 14px;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-form input,
.app-layout[data-route-view="agenda-servicos"] .schedule-form select,
.app-layout[data-route-view="agenda-servicos"] .schedule-form textarea{
    min-height: 48px;
    font-size: 0.94rem;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-form__actions{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-delete-button{
    grid-column: 1 / -1;
    margin-right: 0;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-board{
    grid-template-columns: 1fr;
    gap: 12px;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-side-panel{
    order: -1;
    grid-template-columns: 1fr;
    gap: 10px;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-side-stack{
    gap: 10px;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-side-panel > .button{
    display: none;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-mini-card,
.app-layout[data-route-view="agenda-servicos"] .schedule-agendas{
    padding: 14px;
    border-radius: 16px;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-agenda-filters{
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-agenda-filters::-webkit-scrollbar{
    display: none;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-agenda-check{
    flex: 0 0 auto;
    max-width: 72vw;
    min-height: 34px;
    padding: 7px 10px;
    border: 1px solid var(--surface-line);
    border-radius: 999px;
    background: var(--surface-soft);
  }.app-layout[data-route-view="agenda-servicos"] .schedule-toolbar{
    flex-wrap: wrap;
    min-height: auto;
    padding: 12px;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-toolbar h3{
    order: -1;
    flex: 1 0 100%;
    margin: 0;
    font-size: 1.16rem;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-calendar-scroll{
    margin-inline: -1px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-calendar{
    min-width: 680px;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-day{
    min-height: 116px;
    padding: 8px 6px;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-event{
    min-height: 34px;
    padding: 5px 7px;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-event span,
.app-layout[data-route-view="agenda-servicos"] .schedule-event strong{
    font-size: 0.62rem;
    white-space: normal;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-event__code{
    white-space: nowrap;
  }
}

@media (max-width: 430px) {.app-layout[data-route-view="agenda-servicos"] .schedule-mini-card{
    display: none;
  }.app-layout[data-route-view="agenda-servicos"] .schedule-calendar{
    min-width: 640px;
  }
}

@media (max-width: 1180px) {.occurrence-summary-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }.occurrence-form{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }.occurrence-card{
    grid-template-columns: 1fr;
  }.occurrence-card__actions{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}

@media (max-width: 780px), (max-width: 960px) and (max-height: 540px) {.app-layout .nav-item--events .nav-item__label,
.app-layout.sidebar-collapsed .nav-item--events .nav-item__label{
    font-size: 0;
  }.app-layout .nav-item--events .nav-item__label::after,
.app-layout.sidebar-collapsed .nav-item--events .nav-item__label::after{
    content: "Ocorr.";
    font-size: 0.54rem;
  }.app-layout[data-route-view="eventos"] .content-main{
    padding-top: 14px;
  }.app-layout[data-route-view="eventos"] .occurrences-page-header{
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 12px;
    margin-bottom: 14px;
  }.app-layout[data-route-view="eventos"] .occurrences-page-header h2{
    font-size: clamp(1.36rem, 6vw, 1.72rem);
    line-height: 1.05;
  }.app-layout[data-route-view="eventos"] .occurrences-page-header .section-header__actions{
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-content: center;
    justify-self: stretch;
    width: 100%;
  }.app-layout[data-route-view="eventos"] #toggle-occurrence-form{
    width: 100%;
    max-width: 100%;
    min-height: 48px;
    justify-content: center;
  }.app-layout[data-route-view="eventos"] .occurrence-summary-grid{
    grid-template-columns: 1fr;
    gap: 10px;
  }.app-layout[data-route-view="eventos"] .occurrence-summary-card{
    min-height: 86px;
  }.app-layout[data-route-view="eventos"] .occurrence-form-panel{
    border-radius: 16px;
  }.app-layout[data-route-view="eventos"] .occurrence-form{
    grid-template-columns: 1fr;
    padding: 14px;
  }.app-layout[data-route-view="eventos"] .occurrence-form input,
.app-layout[data-route-view="eventos"] .occurrence-form select,
.app-layout[data-route-view="eventos"] .occurrence-form textarea{
    min-height: 48px;
    font-size: 0.94rem;
  }.app-layout[data-route-view="eventos"] .occurrence-form__actions{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }.app-layout[data-route-view="eventos"] .occurrence-form__actions .button--danger{
    grid-column: 1 / -1;
    margin-right: 0;
  }.app-layout[data-route-view="eventos"] .occurrence-card{
    padding: 14px;
    border-radius: 16px;
  }.app-layout[data-route-view="eventos"] .occurrence-card__main{
    gap: 10px;
  }.app-layout[data-route-view="eventos"] .occurrence-card__icon{
    width: 42px;
    height: 42px;
    border-radius: 12px;
  }.app-layout[data-route-view="eventos"] .occurrence-card__title-row{
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }.app-layout[data-route-view="eventos"] .occurrence-card h3{
    white-space: normal;
  }.app-layout[data-route-view="eventos"] .occurrence-card__meta{
    display: grid;
    gap: 7px;
  }.app-layout[data-route-view="eventos"] .occurrence-card__actions{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }.app-layout[data-route-view="eventos"] .occurrence-card__actions .button{
    width: 100%;
    min-width: 0;
    padding-inline: 10px;
  }
}

/* Camada final do mobile: mantem a rolagem no viewport e evita sobreposicoes entre regras legadas. */
@media (max-width: 780px), (max-width: 960px) and (max-height: 540px) {
  html,
  body {
    overflow-x: clip;
    overflow-y: visible;
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .suppliers-page-header .section-header__actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .app-layout[data-route-view="condominios"] .topbar {
    min-height: var(--mobile-topbar-height);
    background: var(--navy-950);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 8px 24px rgba(0, 26, 65, 0.22);
  }

  .app-layout[data-route-view="condominios"] #mobile-search-toggle {
    display: grid;
  }

  .app-layout[data-route-view="condominios"] .topbar > .search-box {
    display: none;
  }

  .app-layout[data-route-view="condominios"] .topbar.mobile-search-open > .search-box {
    position: fixed;
    top: calc(var(--mobile-topbar-height) + 8px);
    right: 12px;
    left: 12px;
    z-index: 70;
    display: flex;
    height: 48px;
    max-width: none;
    margin: 0;
    border: 0;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 18px 38px rgba(0, 26, 65, 0.22);
  }

  .app-layout[data-route-view="condominios"] .topbar.mobile-search-open > .search-box input {
    height: 48px;
    background: #ffffff;
    color: var(--text);
  }

  .app-layout[data-route-view="condominios"] .condominium-summary-grid {
    grid-auto-flow: row;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0 0 16px;
    overflow: visible;
    padding: 0;
  }

  .app-layout[data-route-view="condominios"] .condominium-summary-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: center;
    min-height: 74px;
    gap: 5px 9px;
    padding: 9px;
    border-radius: 9px;
    box-shadow: 0 5px 13px rgba(0, 26, 65, 0.1);
  }

  .app-layout[data-route-view="condominios"] .condominium-summary-card:nth-child(3) {
    grid-column: 1 / -1;
    min-height: 82px;
    padding: 10px 12px;
  }

  .app-layout[data-route-view="condominios"] .condominium-summary-card div {
    display: contents;
  }

  .app-layout[data-route-view="condominios"] .condominium-summary-card__icon {
    grid-column: 1;
    grid-row: 2;
    width: 38px;
    height: 38px;
    border-radius: 8px;
    font-size: 1.28rem;
  }

  .app-layout[data-route-view="condominios"] .condominium-summary-card > div > span:not(.material-symbols-outlined) {
    grid-column: 1 / -1;
    grid-row: 1;
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    color: #8794a8;
    font-size: 0.58rem;
    letter-spacing: 0.08em;
    line-height: 1.15;
  }

  .app-layout[data-route-view="condominios"] .condominium-summary-card strong {
    grid-column: 2;
    grid-row: 2;
    margin: 0;
    font-size: 1.5rem;
    line-height: 1;
    white-space: nowrap;
  }

  .app-layout[data-route-view="condominios"] .condominium-summary-card:nth-child(3) .condominium-summary-card__icon {
    width: 48px;
    height: 48px;
  }

  .app-layout[data-route-view="condominios"] .condominium-summary-card:nth-child(3) strong {
    font-size: 1.6rem;
  }

  .app-layout[data-route-view="condominios"] .condominium-summary-card:nth-child(3):not(.condominium-summary-card--mrr) {
    grid-column: auto;
    min-height: 74px;
    padding: 9px;
  }

  .app-layout[data-route-view="condominios"] .condominium-summary-card:nth-child(3):not(.condominium-summary-card--mrr) .condominium-summary-card__icon {
    width: 38px;
    height: 38px;
  }

  .app-layout[data-route-view="condominios"] .condominium-summary-card:nth-child(3):not(.condominium-summary-card--mrr) strong {
    font-size: 1.5rem;
  }

  .app-layout[data-route-view="condominios"] .condominium-summary-card--occurrence-status,
  .app-layout[data-route-view="condominios"] .condominium-summary-card--schedule-status {
    grid-template-columns: 44px minmax(0, 1fr);
    min-height: 96px;
    gap: 7px 8px;
    padding: 10px;
  }

  .app-layout[data-route-view="condominios"] .condominium-summary-card--occurrence-status .condominium-summary-card__icon,
  .app-layout[data-route-view="condominios"] .condominium-summary-card--schedule-status .condominium-summary-card__icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    font-size: 1.35rem;
  }

  .app-layout[data-route-view="condominios"] .condominium-summary-card--occurrence-status #total-services,
  .app-layout[data-route-view="condominios"] .condominium-summary-card--schedule-status #total-scheduled-services {
    display: block;
    align-self: center;
    min-width: 0;
    font-size: 0.66rem;
    white-space: normal;
  }

  .app-layout[data-route-view="condominios"] .overview-status-summary {
    display: grid;
    grid-column: auto;
    grid-row: auto;
    gap: 3px;
    min-width: 0;
    max-width: 100%;
    width: 100%;
    overflow-wrap: normal;
  }

  .app-layout[data-route-view="condominios"] .overview-status-summary__row {
    display: grid;
    grid-template-columns: 9px 17px minmax(0, 1fr);
    grid-column: auto;
    grid-row: auto;
    align-items: center;
    gap: 4px;
    min-width: 0;
    max-width: 100%;
    overflow-wrap: normal;
    color: inherit;
    font-size: inherit;
    letter-spacing: 0;
    line-height: 1;
    text-transform: none;
  }

  .app-layout[data-route-view="condominios"] .overview-status-summary__row > span {
    grid-column: auto;
    grid-row: auto;
    color: var(--text);
    font-size: 0.57rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.05;
    overflow: hidden;
    text-overflow: ellipsis;
    text-transform: none;
    white-space: nowrap;
  }

  .app-layout[data-route-view="condominios"] .overview-status-summary__row > b {
    color: var(--text);
    font-size: 0.57rem;
    font-weight: 800;
    line-height: 1;
    text-align: center;
  }

  .app-layout[data-route-view="condominios"] .overview-status-summary__dot {
    display: block;
    width: 9px;
    height: 9px;
    border-radius: 999px;
  }

  .app-layout[data-route-view="condominios"] .overview-status-summary__dot--pendente {
    background: #ff7a1a;
  }

  .app-layout[data-route-view="condominios"] .overview-status-summary__dot--atrasado {
    background: #ff7a1a;
  }

  .app-layout[data-route-view="condominios"] .overview-status-summary__dot--em-andamento {
    background: #facc15;
  }

  .app-layout[data-route-view="condominios"] .overview-status-summary__dot--planejada {
    background: #2563eb;
  }

  .app-layout[data-route-view="condominios"] .overview-status-summary__dot--concluida {
    background: #10b981;
  }

  .app-layout[data-route-view="condominios"] .condominium-summary-card--mrr {
    min-height: 76px;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 6px 10px;
    padding: 10px 12px;
  }

  .app-layout[data-route-view="condominios"] .condominium-summary-card--mrr > div > span:not(.material-symbols-outlined) {
    font-size: 0;
  }

  .app-layout[data-route-view="condominios"] .condominium-summary-card--mrr > div > span:not(.material-symbols-outlined)::after {
    content: attr(data-mobile-label);
    color: #6f7f95;
    font-size: 0.56rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1.1;
    text-transform: uppercase;
  }

  .app-layout[data-route-view="condominios"] .condominium-summary-card--mrr .condominium-summary-card__icon {
    width: 46px;
    height: 46px;
    border-radius: 8px;
    font-size: 1.3rem;
  }

  .app-layout[data-route-view="condominios"] .condominium-summary-card--mrr strong {
    align-self: center;
    font-size: 1.55rem;
    letter-spacing: -0.01em;
  }

  .app-layout[data-route-view="condominios"] .condominium-summary-card[data-overview-target] {
    cursor: pointer;
  }

  .app-layout[data-route-view="condominios"] .condominium-summary-card--selected {
    border-color: rgba(16, 185, 129, 0.48);
    box-shadow: 0 8px 18px rgba(16, 185, 129, 0.13);
  }

  .app-layout[data-route-view="condominios"] #toggle-condominium-form::after {
    content: none;
  }

  .app-layout[data-route-view="condominios"] .condominium-grid {
    gap: 8px;
  }

  .app-layout[data-route-view="condominios"] .condominium-card {
    position: relative;
    min-height: 58px;
    gap: 0;
    padding: 8px 42px 8px 10px;
    border-radius: 11px;
    box-shadow: 0 5px 14px rgba(0, 26, 65, 0.09);
  }

  .app-layout[data-route-view="condominios"] .condominium-card:hover {
    transform: none;
  }

  .app-layout[data-route-view="condominios"] .condominium-card__header {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 8px;
    padding: 0;
  }

  .app-layout[data-route-view="condominios"] .condominium-card__avatar {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    font-size: 0.72rem;
  }

  .app-layout[data-route-view="condominios"] .condominium-card__avatar img {
    padding: 2px;
  }

  .app-layout[data-route-view="condominios"] .condominium-card__status {
    width: fit-content;
    margin-bottom: 1px;
    padding: 2px 6px;
    border-radius: 999px;
    font-size: 0.5rem;
    line-height: 1.2;
  }

  .app-layout[data-route-view="condominios"] .condominium-card--active .condominium-card__status {
    font-size: 0;
  }

  .app-layout[data-route-view="condominios"] .condominium-card--active .condominium-card__status::after {
    content: "ATIVO";
    font-size: 0.5rem;
  }

  .app-layout[data-route-view="condominios"] .condominium-card h3 {
    font-size: 0.72rem;
    line-height: 1.05;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .app-layout[data-route-view="condominios"] .condominium-card__details {
    grid-column: 1 / -1;
    margin: 0;
    padding: 0;
    border-top: 0;
  }

  .app-layout[data-route-view="condominios"] .condominium-card__details summary {
    position: absolute;
    top: 50%;
    right: 10px;
    display: grid;
    width: 26px;
    height: 26px;
    min-height: 0;
    place-items: center;
    transform: translateY(-50%);
    color: var(--navy-700);
  }

  .app-layout[data-route-view="condominios"] .condominium-card__details[open] summary {
    top: 18px;
    transform: none;
  }

  .app-layout[data-route-view="condominios"] .condominium-card__details summary span:first-child {
    display: none;
  }

  .app-layout[data-route-view="condominios"] .condominium-card__details summary .material-symbols-outlined {
    font-size: 1.25rem;
  }

  .app-layout[data-route-view="condominios"] .condominium-card__details[open] {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--surface-line);
  }

  .app-layout[data-route-view="condominios"] .condominium-card__meta {
    padding: 0 0 10px;
  }

  .app-layout[data-route-view="condominios"] .condominium-card__modules {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
    padding-top: 11px;
    border-top: 1px solid var(--surface-line);
  }

  .app-layout[data-route-view="condominios"] .condominium-card__modules > span {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 8px 54px;
    border: 1px solid var(--surface-line);
    border-radius: 10px;
    background: var(--surface-soft);
    color: var(--navy-950);
    font-size: 0.6rem;
    font-weight: 850;
    line-height: 1.15;
    text-align: center;
  }

  .app-layout[data-route-view="condominios"] .condominium-card__modules > span > .material-symbols-outlined {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    display: grid;
    flex: 0 0 38px;
    width: 38px;
    min-width: 38px;
    max-width: 38px;
    height: 38px;
    min-height: 0;
    max-height: 38px;
    padding: 0;
    place-items: center;
    border: 0;
    border-radius: 8px;
    background: var(--success-soft);
    color: var(--success);
    font-size: 1.28rem;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1;
    text-transform: none;
  }

  .app-layout[data-route-view="condominios"] .condominium-card__modules > span:nth-child(3) {
    display: flex;
  }

  .app-layout[data-route-view="condominios"] .condominium-card__actions {
    display: none;
    margin-top: 10px;
    padding: 0;
  }

  .app-layout[data-route-view="condominios"] .condominium-card:has(.condominium-card__details[open]) {
    min-height: 0;
    padding-bottom: 12px;
  }

  .app-layout[data-route-view="condominios"] .condominium-card:has(.condominium-card__details[open]) .condominium-card__actions {
    display: flex;
    justify-content: center;
  }

  .app-layout[data-route-view="condominios"] .condominium-card:has(.condominium-card__details[open]) .condominium-card__actions .condominium-card__module-button:not([data-condominium-route="condominio-configuracoes"]) {
    display: none;
  }

  .app-layout[data-route-view="condominios"] .condominium-card:has(.condominium-card__details[open]) .condominium-card__actions [data-condominium-route="condominio-configuracoes"] {
    width: min(112px, 58%);
    min-height: 38px;
    padding: 7px 10px;
    flex-direction: row;
    gap: 6px;
    border-radius: 8px;
    font-size: 0.57rem;
    line-height: 1.05;
  }

  .app-layout[data-route-view="condominios"] .overview-compact-card {
    cursor: default;
    padding-right: 10px;
  }

  .app-layout[data-route-view="condominios"] .overview-compact-card[data-overview-item-type] {
    cursor: pointer;
  }

  .app-layout[data-route-view="condominios"] .overview-compact-card[data-overview-item-type]:focus-visible {
    outline: 2px solid rgba(16, 185, 129, 0.42);
    outline-offset: 3px;
  }

  .app-layout[data-route-view="condominios"] .overview-compact-card__avatar {
    background: var(--success-soft);
    color: var(--success);
  }

  .app-layout[data-route-view="condominios"] .overview-compact-card__avatar .material-symbols-outlined {
    font-size: 1.14rem;
  }

  .app-layout[data-route-view="condominios"] .overview-compact-card__status--pendente {
    background: rgba(255, 122, 26, 0.12);
    color: #c2410c;
    text-transform: none;
  }

  .app-layout[data-route-view="condominios"] .overview-compact-card__status--atrasado {
    background: rgba(255, 122, 26, 0.12);
    color: #c2410c;
    text-transform: none;
  }

  .app-layout[data-route-view="condominios"] .overview-compact-card__status--em-andamento {
    background: rgba(250, 204, 21, 0.18);
    color: #854d0e;
    text-transform: none;
  }

  .app-layout[data-route-view="condominios"] .overview-compact-card__status--planejada {
    background: rgba(37, 99, 235, 0.12);
    color: #1d4ed8;
    text-transform: none;
  }

  .app-layout[data-route-view="condominios"] .overview-compact-card__status--concluida {
    background: var(--success-soft);
    color: #047857;
    text-transform: none;
  }

  .app-layout[data-route-view="condominios"] .overview-compact-card__meta {
    display: block;
    max-width: 100%;
    margin-top: 2px;
    overflow: hidden;
    color: var(--text-soft);
    font-size: 0.63rem;
    font-weight: 650;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .app-layout[data-route-view="condominios"] .overview-context-empty {
    min-height: 170px;
    padding: 18px;
  }
}

.schedule-mobile-date-list {
  display: none;
}

@media (max-width: 780px), (max-width: 960px) and (max-height: 540px) {
  .app-layout[data-route-view="agenda-servicos"] .schedule-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-bottom: 12px;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-summary-card {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 9px;
    min-height: 82px;
    padding: 11px;
    border-radius: 12px;
    box-shadow: 0 7px 18px rgba(15, 23, 42, 0.07);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-summary-card__icon {
    width: 36px;
    height: 36px;
    font-size: 1.08rem;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-summary-card span:not(.material-symbols-outlined) {
    font-size: 0.52rem;
    letter-spacing: 0.045em;
    line-height: 1.08;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-summary-card strong {
    margin-top: 4px;
    font-size: 1.28rem;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-summary-card .schedule-link-button {
    display: none;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-board {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-side-panel {
    order: -1;
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    min-width: 0;
    gap: 12px;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-workspace,
  .app-layout[data-route-view="agenda-servicos"] .schedule-filter-bar,
  .app-layout[data-route-view="agenda-servicos"] .schedule-main-panel {
    display: none;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-card {
    display: grid;
    width: 100%;
    min-width: 0;
    gap: 14px;
    padding: 16px 14px 14px;
    border-radius: 18px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-card__header {
    align-items: flex-start;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-card__header strong {
    color: var(--navy-950);
    font-size: clamp(1.72rem, 8vw, 2.35rem);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 0.98;
    text-transform: none;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-card__header > div {
    gap: 2px;
    padding-top: 2px;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-arrow {
    width: 34px;
    height: 34px;
    color: var(--navy-700);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-calendar {
    gap: 6px;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-calendar__weekdays,
  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-calendar__days {
    gap: 0;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-calendar__days {
    position: relative;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-calendar__range-layer {
    position: absolute;
    inset: 0;
    z-index: 4;
    pointer-events: none;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-calendar__weekdays {
    border-bottom: 1px solid var(--surface-line);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-calendar__weekdays span {
    height: 24px;
    color: var(--text-soft);
    font-size: 0.66rem;
    font-weight: 850;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-calendar__days button {
    display: grid;
    grid-template-rows: 28px 12px;
    place-items: center;
    min-width: 0;
    height: 44px;
    border-radius: 0;
    color: var(--navy-950);
    font-size: 0.98rem;
    font-weight: 850;
    position: relative;
    z-index: 2;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-calendar__days button:hover {
    background: transparent;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-calendar__days button.is-muted {
    color: #98a2b3;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-calendar__days button.is-today {
    background: transparent;
    color: var(--navy-950);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-calendar__days button.is-selected .schedule-mini-day-number {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 999px;
    background: var(--navy-950);
    color: #ffffff;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-calendar__days button.is-today:not(.is-selected) .schedule-mini-day-number {
    color: var(--success);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-calendar__days button.has-events:not(.is-today)::after {
    display: none;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-day-markers {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    min-height: 8px;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-day-marker {
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: var(--schedule-status-scheduled);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-day-marker--in_progress {
    background: var(--schedule-status-in-progress);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-day-marker--due_soon {
    background: var(--schedule-status-due-soon);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-day-marker--overdue {
    background: var(--schedule-status-overdue);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-day-marker--completed {
    background: var(--schedule-status-completed);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-day-marker--cancelled {
    background: var(--schedule-status-cancelled);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-range-bar {
    --range-color: var(--schedule-status-scheduled);
    position: absolute;
    left: var(--range-left);
    top: calc(((var(--range-row) - 1) * 44px) + 32px + (var(--range-offset, 0) * 5px));
    width: max(12px, var(--range-width));
    height: 3px;
    border-radius: 999px;
    background: var(--range-color);
    pointer-events: none;
    transform: translateY(-50%);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-range-bar::before,
  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-range-bar::after {
    content: none;
    position: absolute;
    top: 50%;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: var(--range-color);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-range-bar--starts::before {
    content: "";
    left: 0;
    transform: translate(-50%, -50%);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-range-bar--ends::after {
    content: "";
    right: 0;
    transform: translate(50%, -50%);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-range-bar--in_progress {
    --range-color: var(--schedule-status-in-progress);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-range-bar--due_soon {
    --range-color: var(--schedule-status-due-soon);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-range-bar--overdue {
    --range-color: var(--schedule-status-overdue);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-range-bar--completed {
    --range-color: var(--schedule-status-completed);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mini-range-bar--cancelled {
    --range-color: var(--schedule-status-cancelled);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mobile-date-list {
    display: grid;
    gap: 8px;
    padding-top: 8px;
    border-top: 1px solid var(--surface-line);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mobile-date-item {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    width: 100%;
    min-height: 38px;
    padding: 4px 0;
    border: 0;
    background: transparent;
    color: var(--navy-950);
    text-align: left;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mobile-date-item__date {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--navy-700);
    font-size: 0.72rem;
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mobile-date-item__dot {
    display: block;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: var(--schedule-status-scheduled);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mobile-date-item__dot::before {
    content: none;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mobile-date-item--in_progress .schedule-mobile-date-item__dot {
    background: var(--schedule-status-in-progress);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mobile-date-item--due_soon .schedule-mobile-date-item__dot {
    background: var(--schedule-status-due-soon);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mobile-date-item--overdue .schedule-mobile-date-item__dot {
    background: var(--schedule-status-overdue);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mobile-date-item--completed .schedule-mobile-date-item__dot {
    background: var(--schedule-status-completed);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mobile-date-item--cancelled .schedule-mobile-date-item__dot {
    background: var(--schedule-status-cancelled);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mobile-date-item__body {
    display: grid;
    min-width: 0;
    gap: 2px;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mobile-date-item__body strong {
    min-width: 0;
    overflow: visible;
    color: var(--navy-950);
    font-size: 0.86rem;
    font-weight: 900;
    line-height: 1.15;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mobile-date-item__body small,
  .app-layout[data-route-view="agenda-servicos"] .schedule-mobile-date-item__time {
    color: var(--text-soft);
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.2;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mobile-date-item__time {
    justify-self: end;
    white-space: nowrap;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mobile-date-list__empty {
    display: grid;
    grid-template-columns: 28px auto;
    column-gap: 9px;
    align-items: center;
    min-height: 44px;
    color: var(--text-soft);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mobile-date-list__empty .material-symbols-outlined {
    display: grid;
    width: 26px;
    height: 26px;
    place-items: center;
    border-radius: 999px;
    background: var(--success-soft);
    color: var(--success);
    font-size: 1rem;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mobile-date-list__empty strong {
    color: var(--navy-950);
    font-size: 0.84rem;
    font-weight: 900;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-mobile-date-list__empty small {
    grid-column: 2;
    font-size: 0.74rem;
    font-weight: 650;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-side-stack {
    gap: 10px;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-side-card {
    min-height: 0;
    border-radius: 16px;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-side-card--upcoming .schedule-link-button {
    display: none !important;
  }

  .schedule-side-card--upcoming .schedule-link-button {
    display: none !important;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-side-card--upcoming .schedule-side-list,
  .schedule-side-list--month-scroll {
    max-height: 178px;
    overflow-y: auto !important;
    padding-right: 5px;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 26, 65, 0.22) transparent;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-side-card--upcoming .schedule-side-list::-webkit-scrollbar,
  .schedule-side-list--month-scroll::-webkit-scrollbar {
    width: 4px;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-side-card--upcoming .schedule-side-list::-webkit-scrollbar-thumb,
  .schedule-side-list--month-scroll::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(0, 26, 65, 0.22);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-side-card--upcoming .schedule-side-item {
    min-height: 36px;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-side-card--open-occurrences .schedule-link-button {
    display: none !important;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-side-card--important-alerts .schedule-link-button {
    display: none !important;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-side-card--open-occurrences .schedule-side-list,
  .schedule-side-list--occurrence-scroll {
    min-height: 0;
    max-height: 182px;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    padding-right: 5px;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 26, 65, 0.22) transparent;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-side-card--open-occurrences .schedule-side-list::-webkit-scrollbar,
  .schedule-side-list--occurrence-scroll::-webkit-scrollbar {
    width: 4px;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-side-card--open-occurrences .schedule-side-list::-webkit-scrollbar-thumb,
  .schedule-side-list--occurrence-scroll::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(0, 26, 65, 0.22);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-side-item--with-action {
    grid-template-columns: 26px minmax(0, 1fr) auto;
    min-height: 40px;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-plan-button {
    align-self: center;
    min-height: 30px;
    padding: 0 10px;
    border: 1px solid rgba(16, 185, 129, 0.24);
    border-radius: 999px;
    background: var(--success-soft);
    color: var(--success);
    font-size: 0.66rem;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-plan-status {
    align-self: center;
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border: 1px solid rgba(37, 99, 235, 0.24);
    border-radius: 999px;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: 0.66rem;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
  }
}

@media (max-width: 780px), (max-width: 960px) and (max-height: 540px) {
  .app-layout[data-route-view="agenda-servicos"] .schedule-summary-card {
    cursor: pointer;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-summary-popup {
    position: fixed;
    inset: 0;
    z-index: 125;
    display: grid;
    padding: calc(82px + env(safe-area-inset-top)) 12px calc(84px + env(safe-area-inset-bottom));
    place-items: start center;
    background: rgba(0, 26, 65, 0.34);
    backdrop-filter: blur(4px);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-summary-popup__card {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    width: min(100%, 360px);
    max-height: min(64dvh, 520px);
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--surface-line);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(0, 26, 65, 0.22);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-summary-popup__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-summary-popup__header strong {
    color: var(--navy-950);
    font-size: 0.84rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.05;
    text-transform: uppercase;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-summary-popup__close {
    display: grid;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid var(--surface-line);
    border-radius: 10px;
    background: #ffffff;
    color: var(--navy-700);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-summary-popup__close .material-symbols-outlined {
    font-size: 1.1rem;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-summary-popup__list {
    display: grid;
    align-content: start;
    gap: 10px;
    min-height: 0;
    max-height: 100%;
    overflow-y: auto;
    padding-right: 5px;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 26, 65, 0.22) transparent;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-summary-popup__list::-webkit-scrollbar {
    width: 4px;
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-summary-popup__list::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(0, 26, 65, 0.22);
  }

  .app-layout[data-route-view="agenda-servicos"] .schedule-summary-popup__list .schedule-side-item {
    min-height: 38px;
  }
}

@media (max-width: 780px), (max-width: 960px) and (max-height: 540px) {
  .app-layout[data-route-view="fornecedores-prestadores"] .schedule-summary-popup {
    position: fixed;
    inset: 0;
    z-index: 125;
    display: grid;
    padding: calc(82px + env(safe-area-inset-top)) 12px calc(84px + env(safe-area-inset-bottom));
    place-items: start center;
    background: rgba(0, 26, 65, 0.34);
    backdrop-filter: blur(4px);
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .schedule-summary-popup__card {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    width: min(100%, 360px);
    max-height: min(64dvh, 520px);
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--surface-line);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(0, 26, 65, 0.22);
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .schedule-summary-popup__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .schedule-summary-popup__header strong {
    color: var(--navy-950);
    font-size: 0.84rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.05;
    text-transform: uppercase;
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .schedule-summary-popup__close {
    display: grid;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid var(--surface-line);
    border-radius: 10px;
    background: #ffffff;
    color: var(--navy-700);
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .schedule-summary-popup__close .material-symbols-outlined {
    font-size: 1.1rem;
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .schedule-summary-popup__list {
    display: grid;
    align-content: start;
    gap: 10px;
    min-height: 0;
    max-height: 100%;
    overflow-y: auto;
    padding-right: 5px;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 26, 65, 0.22) transparent;
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .schedule-summary-popup__list::-webkit-scrollbar {
    width: 4px;
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .schedule-summary-popup__list::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(0, 26, 65, 0.22);
  }

  .app-layout[data-route-view="fornecedores-prestadores"] .schedule-summary-popup__list .schedule-side-item {
    min-height: 38px;
  }
}

@media (max-width: 780px), (max-width: 960px) and (max-height: 540px) {
  .alerts-panel__title-row {
    margin-bottom: 0;
  }

  .alerts-panel__title-row h3 {
    font-size: 1rem;
    letter-spacing: 0;
  }

  .alerts-list {
    gap: 10px;
    padding: 12px;
  }

  .alerts-panel-card {
    gap: 10px;
    padding: 14px;
    border-radius: 16px;
  }

  .alerts-panel-card__header strong {
    font-size: 0.78rem;
  }

  .alerts-panel-card__list {
    gap: 9px;
  }

  .alerts-panel-card__list .schedule-side-item {
    min-height: 36px;
  }

  .alerts-panel-card--open-occurrences .alerts-panel-card__list {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  .alerts-panel-card--open-occurrences .schedule-side-item--occurrence {
    flex: 0 0 auto;
    min-height: 66px;
    padding-block: 3px;
    align-items: center;
  }

  .alerts-panel .schedule-side-item--with-action {
    grid-template-columns: 26px minmax(0, 1fr) auto;
  }

  .alerts-panel-card--open-occurrences .schedule-side-item__body {
    align-self: center;
    gap: 3px;
  }

  .alerts-panel-card--open-occurrences .schedule-side-item__body strong {
    overflow: visible;
    line-height: 1.25;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .alerts-panel-card--open-occurrences .schedule-occurrence-meta {
    gap: 2px;
    line-height: 1.3;
  }

  .alerts-panel-card--open-occurrences .schedule-occurrence-meta span {
    overflow-wrap: anywhere;
  }

  .alerts-panel-card--open-occurrences .schedule-side-warning,
  .alerts-panel-card--open-occurrences .schedule-plan-button,
  .alerts-panel-card--open-occurrences .schedule-plan-status {
    align-self: center;
  }

  .alerts-panel .schedule-side-item__body strong {
    font-size: 0.78rem;
  }

  .alerts-panel .schedule-side-item__body small {
    font-size: 0.7rem;
  }
}

@media (max-width: 780px), (max-width: 960px) and (max-height: 540px) {
  .active-users-metrics__header {
    align-items: start;
  }

  .active-users-metrics__status {
    max-width: 150px;
    text-align: right;
  }

  .active-users-metrics__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .active-users-metric-card {
    display: grid;
    justify-items: center;
    gap: 8px;
    min-height: 126px;
    padding: 12px 8px;
    text-align: center;
  }

  .active-users-metric-card__icon {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }

  .active-users-metric-card strong {
    font-size: 1.4rem;
  }

  .active-users-metric-card small {
    line-height: 1.25;
  }

  .admin-usage-dashboard__header {
    align-items: start;
  }

  .admin-usage-dashboard__status {
    max-width: 145px;
    text-align: right;
  }

  .admin-usage-dashboard__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-analytics-panel {
    padding: 14px;
  }

  .admin-analytics-list {
    max-height: 280px;
  }

  .admin-session-row {
    grid-template-columns: 34px minmax(0, 1fr);
  }

  .admin-session-row time {
    grid-column: 2;
    max-width: none;
    text-align: left;
  }

  .admin-notice-form {
    grid-template-columns: minmax(0, 1fr);
    padding: 14px;
  }

  .admin-notice-field,
  .admin-notice-field--title,
  .admin-notice-field--detail,
  .admin-notice-form__actions {
    grid-column: 1;
  }

  .admin-notice-form__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-notice-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-notice-card__heading {
    justify-content: space-between;
  }

  .admin-notice-card__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Indicadores operacionais */
.indicators-header{align-items:end}.indicators-filters{display:grid;grid-template-columns:repeat(2,minmax(180px,230px));gap:10px}.indicators-filters label{display:grid;gap:6px}.indicators-filters label>span{color:var(--navy-700);font-size:.7rem;font-weight:850;text-transform:uppercase}.indicators-filters select{width:100%;min-height:44px;padding:0 38px 0 12px;border:1px solid var(--surface-line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--navy-950);font-size:.82rem;font-weight:750}.indicators-filters select:focus-visible,.indicator-summary-card:focus-visible,.indicator-link:focus-visible{outline:3px solid rgba(37,99,235,.24);outline-offset:2px}
.indicators-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.indicator-summary-card{display:grid;grid-template-columns:46px minmax(0,1fr) 24px;align-items:center;min-width:0;min-height:116px;gap:12px;padding:16px;border:1px solid var(--surface-line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-card);color:var(--navy-950);cursor:pointer;text-align:left;transition:border-color .18s ease,transform .18s ease}.indicator-summary-card:hover{border-color:var(--surface-line-strong);transform:translateY(-1px)}.indicator-summary-card__icon{display:grid;width:46px;height:46px;place-items:center;border-radius:var(--radius-sm);background:#eef4ff;color:var(--schedule-status-scheduled)}.indicator-summary-card--danger .indicator-summary-card__icon{background:var(--danger-soft);color:var(--danger)}.indicator-summary-card--warning .indicator-summary-card__icon,.indicator-summary-card--upcoming .indicator-summary-card__icon{background:var(--warning-soft);color:var(--warning)}.indicator-summary-card--success .indicator-summary-card__icon{background:var(--success-soft);color:var(--success)}.indicator-summary-card__body{display:grid;min-width:0;gap:3px}.indicator-summary-card__body small{overflow-wrap:anywhere;color:var(--navy-700);font-size:.72rem;font-weight:850;line-height:1.25;text-transform:uppercase}.indicator-summary-card__body strong{font-size:1.8rem;line-height:1}.indicator-summary-card__body em{color:var(--text-soft);font-size:.68rem;font-style:normal}.indicator-summary-card__arrow{color:#9aa8bc;font-size:1.1rem}
.indicators-layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.indicator-panel{grid-column:span 4;min-width:0;padding:18px;border:1px solid var(--surface-line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-card)}.indicator-panel--attention{grid-column:span 8}.indicator-panel--wide{grid-column:span 6}.indicator-panel__header{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:16px}.indicator-panel__header h3{margin:3px 0 0;color:var(--navy-950);font-size:.98rem;line-height:1.25}.indicator-panel__eyebrow{color:var(--success);font-size:.64rem;font-weight:900;text-transform:uppercase}.indicator-link{flex:0 0 auto;min-height:34px;padding:0 8px;color:#1d4ed8;cursor:pointer;font-size:.72rem;font-weight:850}
.indicator-list{display:grid;gap:2px}.indicator-list-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;min-width:0;gap:10px;padding:11px 0;border-bottom:1px solid var(--surface-line)}.indicator-list-item:last-child{border-bottom:0}.indicator-list-item__icon{display:grid;width:38px;height:38px;place-items:center;border-radius:var(--radius-sm);background:#eef4ff;color:var(--schedule-status-scheduled);font-size:1.15rem}.indicator-list-item--overdue .indicator-list-item__icon,.indicator-list-item--priority-alta .indicator-list-item__icon,.indicator-list-item--priority-critica .indicator-list-item__icon{background:var(--danger-soft);color:var(--danger)}.indicator-list-item>div{display:grid;min-width:0;gap:2px}.indicator-list-item strong,.indicator-list-item small,.indicator-list-item span,.indicator-list-item time{min-width:0;overflow-wrap:anywhere}.indicator-list-item strong{color:var(--navy-950);font-size:.82rem}.indicator-list-item small{color:var(--navy-700);font-size:.66rem;font-weight:800;text-transform:uppercase}.indicator-list-item>div>span,.indicator-list-item time{color:var(--text-soft);font-size:.7rem;font-style:normal}.indicator-status-chip{padding:5px 8px;border-radius:999px;background:#eef4ff;color:var(--schedule-status-scheduled);font-size:.64rem;font-weight:850;white-space:nowrap}.indicator-status-chip--aberta{background:var(--danger-soft);color:var(--danger)}.indicator-status-chip--em_andamento{background:rgba(250,204,21,.2);color:#854d0e}
.indicator-chart{min-height:190px}.indicator-empty{display:grid;min-height:160px;place-content:center;justify-items:center;gap:8px;padding:18px;color:var(--text-soft);text-align:center}.indicator-empty .material-symbols-outlined{color:#9aa8bc;font-size:1.7rem}.indicator-empty p{margin:0;font-size:.76rem}.indicator-donut-wrap{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:18px}.indicator-donut{position:relative;width:150px;height:150px;border-radius:50%}.indicator-donut::after{content:"";position:absolute;inset:27px;border-radius:50%;background:var(--surface)}.indicator-donut>span{position:absolute;inset:0;z-index:1;display:grid;place-content:center;text-align:center}.indicator-donut strong,.indicator-donut small{display:block}.indicator-donut strong{color:var(--navy-950);font-size:1.45rem}.indicator-donut small{color:var(--text-soft);font-size:.65rem}.indicator-legend{display:grid;gap:9px;margin:0;padding:0;list-style:none}.indicator-legend li{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:7px;color:var(--text-soft);font-size:.7rem}.indicator-legend li>span,.indicator-series-legend i{width:9px;height:9px;border-radius:50%;background:var(--legend-color)}.indicator-legend b{overflow-wrap:anywhere;color:var(--text-soft);font-weight:650}.indicator-legend strong{color:var(--navy-950)}
.indicator-bars{display:grid;gap:13px}.indicator-bar-row{display:grid;gap:6px}.indicator-bar-row>div{display:flex;justify-content:space-between;gap:12px;color:var(--text-soft);font-size:.72rem}.indicator-bar-row>div>span{overflow-wrap:anywhere}.indicator-bar-row>div strong{color:var(--navy-950)}.indicator-bar-track{display:flex;height:8px;overflow:hidden;border-radius:999px;background:#edf1f6}.indicator-bar-track i{display:block;height:100%;border-radius:inherit}.indicator-bar-track--stacked i{border-radius:0}.indicator-bar-track--stacked i:first-child{border-radius:999px 0 0 999px}.indicator-bar-track--stacked i:last-child{border-radius:0 999px 999px 0}.indicator-series-legend{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px;color:var(--text-soft);font-size:.7rem}.indicator-series-legend span{display:inline-flex;align-items:center;gap:5px}.indicator-chart--scrollable{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-color:#b8c3d2 #edf1f6;scrollbar-width:thin}.indicator-chart--scrollable::-webkit-scrollbar{height:6px}.indicator-chart--scrollable::-webkit-scrollbar-track{border-radius:999px;background:#edf1f6}.indicator-chart--scrollable::-webkit-scrollbar-thumb{border-radius:999px;background:#b8c3d2}.indicator-evolution{display:grid;grid-template-columns:repeat(var(--indicator-bucket-count,1),minmax(var(--indicator-bucket-width,30px),1fr));align-items:end;width:max(100%,calc(var(--indicator-bucket-count,1) * var(--indicator-bucket-width,30px)));min-height:188px;gap:2px;padding-top:8px;border-bottom:1px solid var(--surface-line-strong)}.indicator-evolution__bucket{display:grid;grid-template-rows:152px 28px;min-width:0;gap:5px}.indicator-evolution__columns{display:flex;align-items:end;justify-content:center;min-width:0;height:100%;gap:1px}.indicator-evolution__column{display:flex;align-items:center;flex-direction:column;justify-content:flex-end;width:min(13px,19%);height:100%;min-width:0}.indicator-evolution__column strong{min-height:12px;color:var(--navy-700);font-size:.54rem;line-height:1;text-align:center}.indicator-evolution__column i{display:block;width:min(8px,100%);min-height:0;border-radius:3px 3px 0 0}.indicator-evolution__bucket small{overflow:visible;color:var(--text-soft);font-size:.56rem;line-height:1.15;text-align:center}
@media (max-width:1180px){.indicators-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.indicator-panel,.indicator-panel--attention,.indicator-panel--wide{grid-column:span 6}.indicator-donut-wrap{grid-template-columns:128px minmax(0,1fr)}.indicator-donut{width:128px;height:128px}}
@media (max-width:780px),(max-width:960px) and (max-height:540px){.indicators-header{gap:14px}.indicators-filters{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.indicators-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.indicator-summary-card{grid-template-columns:38px minmax(0,1fr);min-height:106px;gap:9px;padding:13px}.indicator-summary-card__icon{width:38px;height:38px;font-size:1.15rem}.indicator-summary-card__arrow{display:none}.indicator-summary-card__body small{font-size:.63rem}.indicator-summary-card__body strong{font-size:1.55rem}.indicators-layout{grid-template-columns:minmax(0,1fr);gap:12px}.indicator-panel,.indicator-panel--attention,.indicator-panel--wide{grid-column:1;padding:15px}.indicator-panel--attention{order:1}.indicator-panel--overdue{order:2}.indicator-panel--upcoming{order:3}.indicator-panel--chart{order:4}.indicator-donut-wrap{grid-template-columns:minmax(116px,145px) minmax(0,1fr)}}
@media (max-width:430px){.indicators-filters{grid-template-columns:minmax(0,1fr)}.indicator-summary-card{min-height:112px}.indicator-summary-card__body em{font-size:.61rem}.indicator-panel__header h3{font-size:.9rem}.indicator-list-item{grid-template-columns:34px minmax(0,1fr)}.indicator-list-item__icon{width:34px;height:34px}.indicator-status-chip{grid-column:2;justify-self:start}.indicator-donut-wrap{grid-template-columns:minmax(0,1fr);justify-items:center}.indicator-legend{width:100%}}
@media (max-width:360px){.indicators-summary{grid-template-columns:minmax(0,1fr)}}
.indicators-active-filters{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;margin-bottom:14px;padding:12px 14px;border:1px solid #bfdbfe;border-radius:var(--radius-sm);background:#eff6ff}.indicators-active-filters.hidden{display:none}.indicators-active-filters>div:first-child{display:grid;gap:7px;min-width:0}.indicators-active-filters__label{color:var(--navy-700);font-size:.64rem;font-weight:900;text-transform:uppercase}.indicators-filter-chips{display:flex;flex-wrap:wrap;gap:6px}.indicators-filter-chip,.indicator-clear-filters{min-height:32px;border:1px solid #93c5fd;border-radius:999px;background:var(--surface);color:#1d4ed8;cursor:pointer;font-size:.68rem;font-weight:800}.indicators-filter-chip{display:inline-flex;align-items:center;gap:4px;padding:5px 8px 5px 10px}.indicators-filter-chip .material-symbols-outlined{font-size:.9rem}.indicator-clear-filters{padding:5px 11px}.indicators-filter-result{color:var(--text-soft);font-size:.7rem;white-space:nowrap}.indicators-filter-result strong{color:var(--navy-950)}
.indicator-filter-control{font:inherit}.indicator-filter-control:focus-visible,.indicators-filter-chip:focus-visible,.indicator-clear-filters:focus-visible,.indicator-donut__segment:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:2px}.indicator-donut{background:none}.indicator-donut::after{display:none}.indicator-donut>span{pointer-events:none}.indicator-donut svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}.indicator-donut__track,.indicator-donut__segment{fill:none;stroke-width:16}.indicator-donut__track{stroke:#edf1f6}.indicator-donut__segment{cursor:pointer;transition:opacity .18s ease,stroke-width .18s ease}.indicator-donut svg:hover .indicator-donut__segment:not(:hover){opacity:.58}.indicator-donut__segment:hover,.indicator-donut__segment.is-active{stroke-width:20}.indicator-legend li{display:block}.indicator-legend .indicator-filter-control{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;width:100%;min-height:30px;gap:7px;padding:3px 5px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-soft);cursor:pointer;text-align:left}.indicator-legend .indicator-filter-control:hover,.indicator-legend .indicator-filter-control.is-active{border-color:#bfdbfe;background:#eff6ff}.indicator-legend .indicator-filter-control>i,.indicator-series-legend .indicator-filter-control>i{width:9px;height:9px;border-radius:50%;background:var(--legend-color)}.indicator-legend .indicator-filter-control b{overflow-wrap:anywhere;font-weight:650}.indicator-legend .indicator-filter-control strong{color:var(--navy-950)}
.indicator-series-legend .indicator-filter-control{display:inline-flex;align-items:center;min-height:30px;gap:5px;padding:3px 7px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text-soft);cursor:pointer}.indicator-series-legend .indicator-filter-control:hover,.indicator-series-legend .indicator-filter-control.is-active{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.indicator-bar-row.is-active{padding:5px;border-radius:var(--radius-sm);background:#eff6ff}.indicator-category-filter{padding:0;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.indicator-category-filter:hover,.indicator-category-filter:focus-visible{color:#1d4ed8}.indicator-bar-track.indicator-filter-control{width:100%;padding:0;border:0;cursor:pointer}.indicator-bar-track.indicator-filter-control:hover{box-shadow:0 0 0 3px rgba(37,99,235,.12)}.indicator-bar-segment{display:block;height:100%;min-width:0;padding:0;border:0;cursor:pointer;transition:filter .18s ease,opacity .18s ease}.indicator-bar-segment:hover,.indicator-bar-segment.is-active{filter:brightness(.9);box-shadow:inset 0 0 0 1px rgba(3,20,45,.28)}.indicator-evolution__column.indicator-filter-control{padding:0;border:0;background:transparent;cursor:pointer}.indicator-evolution__column.indicator-filter-control:hover i,.indicator-evolution__column.indicator-filter-control.is-active i{filter:brightness(.88);box-shadow:0 0 0 2px rgba(37,99,235,.2)}
.has-indicator-selection .indicator-donut__segment:not(.is-active),.has-indicator-selection .indicator-legend .indicator-filter-control:not(.is-active),.has-indicator-selection .indicator-series-legend .indicator-filter-control:not(.is-active),.has-indicator-selection .indicator-bar-row:not(.is-active),.has-indicator-selection .indicator-bar-segment:not(.is-active),.has-indicator-selection .indicator-evolution__column:not(.is-active){opacity:.34}.has-indicator-selection .indicator-filter-control.is-active{opacity:1}.has-indicator-selection .indicator-bar-row.is-active{opacity:1}
@media (max-width:780px){.indicators-active-filters{grid-template-columns:minmax(0,1fr) auto}.indicators-filter-result{grid-column:1/-1;grid-row:2;white-space:normal}.indicator-clear-filters{align-self:start}.indicator-panel--chart{overflow:hidden}.indicator-chart{max-width:100%}.indicator-series-legend{gap:5px}.indicator-series-legend .indicator-filter-control{font-size:.66rem}.indicator-donut-wrap{width:100%}}
@media (max-width:430px){.indicators-active-filters{grid-template-columns:minmax(0,1fr)}.indicator-clear-filters{justify-self:start}.indicators-filter-result{grid-column:1}.indicator-filter-chip{max-width:100%;text-align:left}.indicator-donut{width:132px;height:132px}.indicator-evolution{min-height:200px}}
