/* Official DOORS OPEN Gestao visual layer. Loaded after legacy styles by design. */
:root {
  --bg: #FFFFFF !important;
  --surface: #FFFFFF !important;
  --surface-raised: #FFFFFF !important;
  --surface-subtle: rgba(183, 209, 194, 0.14) !important;
  --surface-alt: #B7D1C2 !important;
  --ink: #2F3A40 !important;
  --muted: #6A6A6A !important;
  --line: rgba(47, 58, 64, 0.16) !important;
  --brand-ink: #2F3A40 !important;
  --brand-ink-deep: #2F3A40 !important;
  --brand-mint: #B7D1C2 !important;
  --brand-mint-soft: rgba(183, 209, 194, 0.24) !important;
  --brand-tan: #C7A27C !important;
  --brand-tan-soft: rgba(199, 162, 124, 0.16) !important;
  --shadow: 0 8px 22px rgba(47, 58, 64, 0.08) !important;
}

body { background: #FFFFFF !important; color: #2F3A40 !important; }
.app-shell { grid-template-columns: 244px minmax(0, 1fr) !important; background: #FFFFFF !important; }
.sidebar { background: #FFFFFF !important; border-right: 1px solid rgba(47, 58, 64, 0.16) !important; box-shadow: none !important; padding: 22px 14px !important; }
.brand { display: flex !important; align-items: center !important; min-height: 58px !important; margin: 0 4px 24px !important; background: transparent !important; border: 0 !important; }
.brand-logo-horizontal { display: block !important; width: 176px !important; height: auto !important; max-height: 56px !important; object-fit: contain !important; object-position: left center !important; }
.brand-mark { display: none !important; background: #B7D1C2 !important; border-radius: 8px !important; }
.nav-list { gap: 4px !important; }
.nav-link { min-height: 42px !important; border: 1px solid transparent !important; border-radius: 7px !important; color: #6A6A6A !important; font-size: 14px !important; font-weight: 650 !important; }
.nav-link:hover { color: #2F3A40 !important; background: rgba(183, 209, 194, 0.18) !important; }
.nav-link.active { color: #2F3A40 !important; background: rgba(183, 209, 194, 0.3) !important; border-color: rgba(183, 209, 194, 0.72) !important; box-shadow: inset 3px 0 0 #C7A27C !important; }
.sync-panel { color: #2F3A40 !important; background: rgba(183, 209, 194, 0.18) !important; border: 1px solid rgba(183, 209, 194, 0.72) !important; border-radius: 8px !important; box-shadow: none !important; }
.topbar { min-height: 78px !important; padding: 14px 28px !important; background: rgba(255, 255, 255, 0.96) !important; border-bottom: 1px solid rgba(47, 58, 64, 0.16) !important; box-shadow: none !important; }
.topbar-title-copy small { color: #6A6A6A !important; }
.topbar-title-copy strong { color: #2F3A40 !important; }
.search-wrap { height: 44px !important; background: #FFFFFF !important; border: 1px solid rgba(47, 58, 64, 0.18) !important; border-radius: 8px !important; box-shadow: none !important; }
.mode-switch,.segmented,.finance-period-control { background: #FFFFFF !important; border: 1px solid rgba(47, 58, 64, 0.18) !important; border-radius: 8px !important; box-shadow: none !important; }
.mode-switch button.active,.segmented button.active,.finance-period-control button.active { color: #FFFFFF !important; background: #2F3A40 !important; box-shadow: none !important; }
.button { border-radius: 8px !important; box-shadow: none !important; }
.button.primary { color: #2F3A40 !important; background: #B7D1C2 !important; border-color: #B7D1C2 !important; }
.button.primary:hover { background: #C7A27C !important; border-color: #C7A27C !important; }
.button.secondary,.button.ghost { background: #FFFFFF !important; border-color: rgba(47, 58, 64, 0.18) !important; color: #2F3A40 !important; }
.content { max-width: 1760px !important; padding: 42px 36px 48px !important; }
.view.active { gap: 22px !important; }
.overview-units-layout { grid-template-columns: minmax(0, 1fr) !important; }
.overview-quick-actions { gap: 8px !important; }
.overview-quick-actions .button { min-height: 38px !important; }
#overview .metric-grid { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
#overview .overview-layout .panel { padding: 16px 18px !important; }
#overview .today-list { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }
#overview .today-item { min-height: 72px !important; padding: 10px !important; }
#overview .today-item small { font-size: 11px !important; }
#overview .today-item .badge { align-self: start !important; }
#overview .split-grid { align-items: start !important; }
#overview .table-panel { min-height: 0 !important; }
#overview .table-panel .panel-head { margin-bottom: 12px !important; }
#overview .next-reservation-list { display: grid !important; gap: 8px !important; }
#overview .next-reservation-item { min-height: 58px !important; padding: 9px 10px !important; }
#overview .preview-table { font-size: 12px !important; }
#overview .preview-table th,
#overview .preview-table td { padding: 9px 8px !important; }
.section-head { min-height: 92px !important; align-items: end !important; }
.section-head .eyebrow { color: #C7A27C !important; font-size: 11px !important; font-weight: 800 !important; letter-spacing: 0.06em !important; }
.section-head h1,.view > .section-head h1 { color: #2F3A40 !important; font-size: clamp(31px, 3vw, 46px) !important; font-weight: 600 !important; line-height: 1.03 !important; }
.metric-card,.panel,.unit-card,.owner-card,.integration-card,.report-card,.task-card,.conversation-card { background: #FFFFFF !important; border: 1px solid rgba(47, 58, 64, 0.16) !important; border-radius: 8px !important; box-shadow: 0 8px 22px rgba(47, 58, 64, 0.08) !important; }
.metric-card { min-height: 128px !important; border-top: 3px solid #B7D1C2 !important; }
.metric-card:nth-child(2n) { border-top-color: #C7A27C !important; }
.metric-card h3,.panel h2,.metric-card strong { color: #2F3A40 !important; }
.panel { padding: 20px !important; }
.unit-card:hover,.owner-card:hover,.integration-card:hover,.report-card:hover,.task-card:hover { border-color: #C7A27C !important; box-shadow: 0 8px 20px rgba(47, 58, 64, 0.12) !important; transform: none !important; }
input:not([type="checkbox"]),select,textarea { border: 1px solid rgba(47, 58, 64, 0.18) !important; border-radius: 7px !important; background: #FFFFFF !important; color: #2F3A40 !important; }
input:not([type="checkbox"]):focus,select:focus,textarea:focus,.search-wrap:focus-within { border-color: #B7D1C2 !important; box-shadow: 0 0 0 3px rgba(183, 209, 194, 0.42) !important; }
.table-wrap,.modal-card { border: 1px solid rgba(47, 58, 64, 0.16) !important; border-radius: 8px !important; }
thead { background: rgba(183, 209, 194, 0.18) !important; }
tbody tr:hover { background: rgba(183, 209, 194, 0.12) !important; }
.toast { background: rgba(183, 209, 194, 0.24) !important; color: #2F3A40 !important; border: 1px solid rgba(183, 209, 194, 0.72) !important; border-radius: 8px !important; }

@media (max-width: 1180px) {
  .app-shell { grid-template-columns: 82px minmax(0, 1fr) !important; }
  .sidebar { padding: 18px 10px !important; }
  .brand-logo-horizontal,.nav-link span,.sync-panel > div { display: none !important; }
  .brand-mark { display: grid !important; place-items: center !important; width: 46px !important; height: 46px !important; }
  .nav-link { justify-content: center !important; padding: 0 !important; }
  #overview .metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (max-width: 860px) {
  .app-shell { display: block !important; }
  .sidebar { position: sticky !important; min-height: auto !important; height: auto !important; padding: 10px !important; }
  .brand,.sync-panel { display: none !important; }
  .nav-list { grid-template-columns: repeat(6, minmax(38px, 1fr)) !important; }
  .nav-link { min-height: 38px !important; height: 38px !important; }
  .topbar { position: static !important; padding: 12px 16px !important; }
  .content { padding: 26px 16px 34px !important; }
  .section-head { min-height: 0 !important; align-items: flex-start !important; }
  #overview .metric-grid,
  #overview .today-list { grid-template-columns: 1fr !important; }
}
