﻿:root {
  --brand-blue: #163e63;
  --brand-blue-dark: #102f4d;
  --brand-blue-light: #285878;
  --brand-gold: #e0c18c;
  --brand-gold-rich: #c79d55;
  --brand-gold-soft: #f8f1e5;
  --ink: #183044;
  --muted: #6f7e8a;
  --line: #e4e9ed;
  --canvas: #f5f7f9;
  --white: #fff;
  --teal: var(--brand-blue);
  --teal-dark: var(--brand-blue-dark);
  --teal-soft: #eaf0f5;
  --orange: var(--brand-gold-rich);
  --navy: #3e6580;
  --sand: #e7d8bb;
}

* { box-sizing: border-box; }
body { margin: 0; font-family: "DM Sans", sans-serif; color: var(--ink); background: var(--canvas); }
button { font: inherit; color: inherit; }
.login-screen { position: relative; isolation: isolate; min-height: 100vh; display: grid; place-items: center; padding: 28px; overflow: hidden; background: #163e63; }
.login-screen::before { content: ""; position: absolute; inset: -60px; z-index: -1; background-image: url("assets/amaros-logo-transparent.png"); background-size: 155px auto; background-repeat: repeat; opacity: .055; transform: rotate(-14deg); transform-origin: center; }
.login-screen::after { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 50% 38%, rgba(255,255,255,.08), transparent 30%), linear-gradient(135deg, rgba(13,42,66,.22), transparent 45%); }
body:not(.login-mode) .login-screen { display: none; }
body.login-mode .app-shell { display: none; }
.login-card { width: min(390px,100%); display: grid; gap: 13px; padding: 30px; border-radius: 20px; background: #fff; box-shadow: 0 28px 80px rgba(5,22,35,.28); }
.login-card-logo { display: grid; place-items: center; min-height: 120px; margin-bottom: 6px; }
.login-card-logo img { width: 210px; max-height: 118px; object-fit: contain; filter: drop-shadow(0 8px 18px rgba(22,62,99,.08)); }
.login-field { display: grid; }
.login-field input { width: 100%; min-height: 50px; padding: 0 14px; border: 1px solid #dce4e9; border-radius: 11px; outline: 0; background: #fbfcfd; color: #405662; }
.login-field input::placeholder { color: #8a9aa4; }
.login-field input:focus { border-color: #b9934c; box-shadow: 0 0 0 4px rgba(224,193,140,.15); background: white; }
.login-remember { display: inline-flex; width: max-content; align-items: center; gap: 8px; margin: -2px 0 2px 2px; color: #61737d; font-size: 12px; font-weight: 700; cursor: pointer; }
.login-remember input { width: 15px; height: 15px; accent-color: var(--brand-blue); cursor: pointer; }
.login-submit { width: 100%; margin-top: 2px; min-height: 50px; justify-content: center; }
.login-message { min-height: 20px; margin: 0; padding: 9px 10px; border-radius: 9px; background: #edf3f7; color: #607985 !important; font-size: 11px !important; text-align: center; }
.login-message.error { background: #fff0ec; color: #a14e3f !important; }
.login-message.success { background: #edf6f1; color: #37755b !important; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 240px 1fr; }

.sidebar {
  position: fixed; inset: 0 auto 0 0; width: 240px; z-index: 20;
  display: flex; flex-direction: column; padding: 20px 18px 20px;
  background: var(--brand-blue); color: #e6edf3;
  box-shadow: 8px 0 30px rgba(22,62,99,.08);
}
.brand { width: 100%; height: 104px; display: flex; align-items: center; justify-content: center; padding: 0 5px 18px; border: 0; border-bottom: 1px solid rgba(224,193,140,.17); background: transparent; cursor: pointer; }
.brand img { width: 177px; max-height: 92px; object-fit: contain; display: block; }
.brand:hover img { transform: translateY(-1px); filter: drop-shadow(0 8px 14px rgba(224,193,140,.13)); }
.brand:focus-visible { outline: 2px solid rgba(224,193,140,.75); outline-offset: -6px; }
nav { flex: 1; min-height: 0; overflow-y: auto; overflow-x: hidden; scrollbar-width: none; }
nav::-webkit-scrollbar { display: none; }
.nav-label { margin: 16px 12px 8px; display: flex; align-items: center; gap: 9px; color: #9cb4c7; font-size: 11px; font-weight: 800; letter-spacing: 1.35px; }
.nav-label:first-child { margin-top: 8px; }
.nav-label::after { content: ""; flex: 1; height: 1px; background: rgba(224,193,140,.16); }
.nav-item { width: 100%; min-height: 47px; border: 0; border-radius: 9px; padding: 6px 12px; display: flex; align-items: center; gap: 12px; color: #b4c5d3; background: transparent; cursor: pointer; text-align: left; font-size: 15px; transition: .18s ease; }
.nav-item:hover { background: rgba(255,255,255,.06); color: #fff; }
.nav-item.active { position: relative; background: rgba(255,255,255,.1); color: #fff; box-shadow: inset 0 0 0 1px rgba(224,193,140,.08); }
.nav-item.active::before { content: ""; position: absolute; left: 0; width: 3px; height: 22px; border-radius: 0 4px 4px 0; background: linear-gradient(#f1d69c, var(--brand-gold-rich)); }
.nav-item .icon { width: 18px; text-align: center; font-size: 19px; }
.nav-count, .nav-alert { margin-left: auto; min-width: 20px; height: 20px; border-radius: 10px; display: grid; place-items: center; font-size: 12px; }
.nav-count { background: rgba(255,255,255,.1); color: #d8e4ec; }
.nav-alert { background: var(--brand-gold); color: var(--brand-blue-dark); }
.nav-folder { margin: 1px 0; }
.access-hidden { display: none !important; }
.nav-folder-toggle .folder-icon { color: #b4c5d3; }
.nav-folder-toggle:hover .folder-icon, .nav-folder.open .folder-icon { color: #fff; }
.cleaning-nav-icon { display: grid; place-items: center; }
.cleaning-nav-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.folder-chevron { margin-left: auto; color: #829bad; font-size: 14px; font-weight: 400; transition: transform .2s ease; }
.nav-folder.open .folder-chevron { transform: rotate(180deg); color: var(--brand-gold); }
.nav-folder.open > .nav-folder-toggle { color: #fff; background: rgba(255,255,255,.045); }
.nav-submenu { max-height: 0; margin: 0 0 0 21px; padding-left: 10px; border-left: 1px solid rgba(224,193,140,.18); opacity: 0; overflow: hidden; transition: max-height .24s ease, opacity .18s ease, margin .24s ease; }
.nav-folder.open .nav-submenu { max-height: 235px; margin-top: 3px; margin-bottom: 5px; opacity: 1; }
.nav-subitem { min-height: 38px; padding: 5px 9px; gap: 9px; border-radius: 7px; color: #9fb3c2; font-size: 12px; }
.nav-subitem::before { display: none !important; }
.nav-subitem:hover { background: rgba(255,255,255,.045); }
.submenu-dot { width: 5px; height: 5px; flex: 0 0 auto; border-radius: 50%; background: #68869b; transition: .18s ease; }
.nav-subitem:hover .submenu-dot, .nav-subitem.active .submenu-dot { background: var(--brand-gold); }
.sidebar-bottom { border-top: 1px solid rgba(255,255,255,.07); padding-top: 9px; }
.help-card { display: flex; align-items: center; gap: 10px; margin: 10px 3px 18px; padding: 12px; border-radius: 10px; background: rgba(255,255,255,.055); }
.help-card > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; background: rgba(224,193,140,.13); color: var(--brand-gold); font-weight: 700; }
.help-card strong, .help-card small, .profile strong, .profile small { display: block; }
.help-card strong { color: #edf3f7; font-size: 13px; }
.help-card small { margin-top: 3px; color: #8fa7b9; font-size: 11px; }
.profile { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 9px; padding: 0 6px; }
.avatar { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(145deg,#f1d9a7,#c79d55); color: var(--brand-blue-dark); font-size: 13px; font-weight: 700; }
.profile strong { font-size: 13px; color: #edf4f3; }
.profile small { margin-top: 3px; color: #7d9397; font-size: 11px; }
.profile button { min-height: 28px; padding: 0 7px; border: 1px solid rgba(255,255,255,.08); border-radius: 8px; background: rgba(255,255,255,.04); color: #b4c5d3; cursor: pointer; font-size: 11px; font-weight: 800; }
.profile button:hover { color: white; border-color: rgba(224,193,140,.22); }

main { grid-column: 2; min-width: 0; }
header { height: 70px; display: flex; align-items: center; justify-content: flex-end; padding: 0 38px; border-bottom: 1px solid #e4e9ed; background: rgba(255,255,255,.9); backdrop-filter: blur(12px); }
.header-actions { display: flex; gap: 9px; align-items: center; }
.icon-button { width: 38px; height: 38px; border: 1px solid #e1e8e7; border-radius: 9px; background: #fff; cursor: pointer; color: #50656a; font-size: 21px; }
.notification { position: relative; }
.notification span { position: absolute; top: 8px; right: 8px; width: 6px; height: 6px; border-radius: 50%; background: var(--brand-gold-rich); border: 1px solid #fff; }
.primary-button { min-height: 42px; border: 0; border-radius: 9px; padding: 7px 17px; background: var(--brand-blue); color: white; cursor: pointer; font-weight: 600; font-size: 14px; box-shadow: 0 6px 18px rgba(22,62,99,.18); }
.primary-button:hover { background: var(--teal-dark); }
.primary-button span { margin-right: 5px; color: var(--brand-gold); }
.menu-toggle, .page-title-mobile { display: none; }
.content { max-width: 1420px; margin: auto; padding: 31px 38px 45px; }
.page-view.hidden { display: none; }
#dashboardPage > .welcome-row,
#dashboardPage > .metrics-grid,
#dashboardPage > .main-grid,
#dashboardPage > .bottom-grid { display: none; }
.overview-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.overview-hero h1 { margin: 0; color: #102f4d; font: 900 30px/1.08 "Manrope"; letter-spacing: -.04em; }
.overview-hero .subtitle { max-width: 760px; margin-top: 8px; color: #6f7e8a; font-size: 13px; line-height: 1.55; }
.overview-hero-side { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.overview-hero-side > span { min-height: 40px; display: inline-flex; align-items: center; padding: 0 12px; border: 1px solid #e1e8ed; border-radius: 999px; background: #fff; color: #526a76; font-size: 12px; font-weight: 900; }
.overview-kpi-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; margin-bottom: 14px; }
.overview-kpi-card { min-width: 0; display: grid; grid-template-columns: 44px minmax(0,1fr); align-items: center; gap: 11px; min-height: 98px; padding: 15px; border: 1px solid #e2e9ee; border-radius: 16px; background: #fff; box-shadow: 0 10px 26px rgba(22,62,99,.045); }
.overview-kpi-card > span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 14px; color: var(--brand-blue); background: #e9f0f5; font: 900 13px "Manrope"; }
.overview-kpi-card.checkin > span { color: #39785f; background: #eaf4ef; }
.overview-kpi-card.checkout > span { color: #9a6328; background: #fff3df; }
.overview-kpi-card.urgent > span { color: #a74343; background: #fff0ef; }
.overview-kpi-card small, .overview-kpi-card strong, .overview-kpi-card p { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.overview-kpi-card small { color: #7d8d96; font-size: 9px; font-weight: 900; letter-spacing: .35px; text-transform: uppercase; }
.overview-kpi-card strong { margin-top: 4px; color: #163e63; font: 900 24px "Manrope"; }
.overview-kpi-card p { margin: 3px 0 0; color: #87949b; font-size: 10px; font-weight: 700; }
.overview-alert-panel, .overview-list-panel { border: 1px solid #e2e9ee; border-radius: 16px; background: #fff; box-shadow: 0 10px 26px rgba(22,62,99,.045); overflow: hidden; }
.overview-alert-panel { margin-bottom: 14px; }
.overview-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 16px 18px; border-bottom: 1px solid #edf1f3; }
.overview-panel-head.compact { padding: 14px 16px; }
.overview-panel-head h2, .overview-panel-head p { margin: 0; }
.overview-panel-head h2 { color: #102f4d; font: 900 16px "Manrope"; letter-spacing: -.02em; }
.overview-panel-head p { margin-top: 4px; color: #87949b; font-size: 10px; line-height: 1.45; }
.overview-panel-head > span { flex: 0 0 auto; min-height: 28px; display: inline-flex; align-items: center; padding: 0 10px; border-radius: 999px; background: #f4f7f9; color: #61727d; font-size: 10px; font-weight: 900; }
.overview-alert-list { display: grid; gap: 10px; max-height: min(42vh,430px); overflow: auto; padding: 14px 18px 18px; scrollbar-width: thin; }
.overview-alert-item { width: 100%; display: grid; grid-template-columns: 34px minmax(0,1fr) 16px; gap: 10px; align-items: center; padding: 12px; border: 1px solid #e5edf2; border-left: 4px solid #7b8e9b; border-radius: 12px; background: #fbfcfd; text-align: left; cursor: pointer; transition: .16s ease; }
.overview-alert-item:hover, .overview-movement-card:hover, .overview-area-card:hover, .overview-action-item:hover { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(22,62,99,.06); }
.overview-alert-item.critical { border-left-color: #e15c5c; background: #fff5f4; }
.overview-alert-item.warning { border-left-color: #c79d55; background: #fffaf0; }
.overview-alert-item.good { border-left-color: #3a9d65; background: #f0f8f4; }
.overview-alert-item.info { border-left-color: #4f7895; background: #f7fafc; }
.overview-alert-item > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: #fff; color: var(--brand-blue); font-size: 11px; font-weight: 900; }
.overview-alert-item strong, .overview-alert-item small, .overview-alert-item em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.overview-alert-item strong { color: #243f50; font-size: 12px; }
.overview-alert-item small { margin-top: 3px; color: #71848f; font-size: 10px; }
.overview-alert-item em { width: fit-content; max-width: 100%; margin-top: 7px; padding: 4px 7px; border-radius: 999px; background: rgba(255,255,255,.7); color: #526a76; font-size: 9px; font-style: normal; font-weight: 900; }
.overview-alert-item b { color: #9aabb4; font-size: 18px; font-weight: 500; }
.overview-movement-grid, .overview-bottom-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-bottom: 14px; }
.overview-movement-list, .overview-action-list { display: grid; gap: 9px; padding: 12px; max-height: 430px; overflow: auto; scrollbar-width: thin; }
.overview-movement-card { width: 100%; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 13px; border: 1px solid #e3eaf0; border-left: 4px solid #39785f; border-radius: 13px; background: #f7fcf9; text-align: left; cursor: pointer; transition: .16s ease; }
.overview-movement-card.checkout { border-left-color: #c79d55; background: #fffaf2; }
.overview-movement-card strong, .overview-movement-card small, .overview-movement-card span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.overview-movement-card > div > strong { color: #17364f; font-size: 12px; }
.overview-movement-card small { margin-top: 3px; color: #6f808a; font-size: 10px; }
.overview-movement-card span { width: fit-content; max-width: 100%; margin-top: 7px; padding: 5px 8px; border-radius: 999px; background: #eaf4ef; color: #39785f; font-size: 9px; font-weight: 900; }
.overview-movement-card.checkout span { background: #fff0df; color: #9a6328; }
.overview-movement-card aside { text-align: right; }
.overview-movement-card aside strong { color: #163e63; font: 900 12px "Manrope"; }
.overview-movement-card aside small { color: #7d8d96; font-size: 9px; }
.overview-area-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; padding: 12px; }
.overview-area-card { min-width: 0; display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 10px; align-items: center; padding: 11px; border: 1px solid #e3eaf0; border-radius: 13px; background: #fbfcfd; text-align: left; cursor: pointer; transition: .16s ease; }
.overview-area-card > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: #e9f0f5; color: var(--brand-blue); font-size: 10px; font-weight: 900; }
.overview-area-card.warning > span { background: #fff3df; color: #9a6328; }
.overview-area-card.good > span { background: #eaf4ef; color: #39785f; }
.overview-area-card strong, .overview-area-card small, .overview-area-card p { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.overview-area-card strong { color: #17364f; font: 900 19px "Manrope"; }
.overview-area-card small { margin-top: 2px; color: #263f4f; font-size: 11px; font-weight: 900; }
.overview-area-card p { margin: 3px 0 0; color: #7d8d96; font-size: 9px; }
.overview-action-item { width: 100%; display: grid; grid-template-columns: 56px minmax(0,1fr) auto; gap: 10px; align-items: start; padding: 11px; border: 1px solid #e3eaf0; border-radius: 13px; background: #fbfcfd; text-align: left; cursor: pointer; transition: .16s ease; }
.overview-action-item > span { min-height: 25px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: #edf3f7; color: var(--brand-blue); font-size: 9px; font-weight: 900; }
.overview-action-item.priority-alta > span { background: #fff0ef; color: #a74343; }
.overview-action-item.priority-media > span { background: #fff3df; color: #9a6328; }
.overview-action-item strong, .overview-action-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.overview-action-item strong { color: #243f50; font-size: 11px; }
.overview-action-item small { margin-top: 3px; color: #71848f; font-size: 9px; }
.overview-action-item b { min-height: 28px; display: inline-flex; align-items: center; justify-content: center; padding: 0 9px; border: 1px solid #dac394; border-radius: 999px; background: #fffaf0; color: #85652f; font-size: 9px; font-weight: 900; white-space: nowrap; }
.decision-meta { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; margin-top: 9px; }
.decision-meta span { min-width: 0; padding: 7px 8px; border: 1px solid #e4ebef; border-radius: 9px; background: #fff; color: #314957; font-size: 9px; font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.decision-meta b { display: block; margin: 0 0 3px; border: 0; padding: 0; background: transparent; color: #7d8d96; font-size: 7px; font-weight: 900; text-transform: uppercase; letter-spacing: .35px; }
.decision-meta.compact { grid-template-columns: repeat(4,minmax(72px,1fr)); gap: 5px; margin-top: 7px; }
.decision-meta.compact span { padding: 6px 7px; font-size: 8px; background: #f8fafb; }
.overview-empty-state { min-height: 170px; display: grid; place-items: center; align-content: center; gap: 6px; padding: 22px; color: #7d8d96; text-align: center; }
.overview-empty-state span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 14px; background: #edf3f7; color: var(--brand-blue); font-weight: 900; }
.overview-empty-state strong { color: #243f50; font-size: 12px; }
.overview-empty-state p { max-width: 260px; margin: 0; font-size: 10px; line-height: 1.45; }
.occupancy-map-page { min-height: calc(100vh - 108px); padding: 18px 0 32px; color: #12233a; }
.occupancy-map-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 10px; }
.occupancy-map-heading h1 { margin: 0; color: #0f2742; font: 900 22px "Manrope"; letter-spacing: -.02em; }
.occupancy-map-heading h1 span { margin-left: 8px; color: #5f6e7a; font: 700 13px "DM Sans"; }
.occupancy-legend { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 14px; color: #506577; font-size: 12px; font-weight: 700; }
.occupancy-legend span { display: inline-flex; align-items: center; gap: 6px; }
.occupancy-legend i { width: 11px; height: 11px; border-radius: 2px; border: 1px solid currentColor; background: currentColor; opacity: .18; }
.occupancy-legend .free { color: #149b4d; }
.occupancy-legend .occupied { color: #e22727; }
.occupancy-legend .unavailable { color: #6f8090; }
.occupancy-actions.clean-toolbar { grid-template-columns: minmax(280px,1.25fr) minmax(155px,.65fr) minmax(140px,.55fr) auto auto; width: min(810px,100%); padding: 10px; border-radius: 12px; }
.occupancy-actions .finance-search { min-width: 0; }
.occupancy-actions .finance-clear-filters { align-self: end; }
.occupancy-actions .secondary-button { min-height: 42px; align-self: end; border-radius: 8px; box-shadow: none; font-size: 12px; }
.occupancy-map-meta { display: flex; justify-content: flex-end; gap: 18px; margin-bottom: 10px; color: #687a88; font-size: 12px; }
.occupancy-map-groups { display: grid; gap: 18px; }
.occupancy-building-group { min-width: 0; }
.occupancy-building-title { display: flex; align-items: center; gap: 7px; margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid #dfe5ea; color: #243b55; font-size: 15px; font-weight: 900; }
.occupancy-building-title small { color: #778895; font-size: 12px; font-weight: 800; }
.occupancy-house-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(116px,1fr)); gap: 20px 22px; align-items: start; }
.occupancy-house-card { min-width: 0; padding: 9px 6px 7px; border: 1px solid transparent; border-radius: 15px; background: transparent; color: var(--house-color,#149b4d); cursor: pointer; text-align: center; transition: .16s ease; }
.occupancy-house-card.occupied { --house-color:#df2828; }
.occupancy-house-card.unavailable { --house-color:#7b8994; opacity: .78; }
.occupancy-house-icon { display: grid; place-items: center; width: 78px; height: 78px; margin: 0 auto 7px; border-radius: 18px; background: color-mix(in srgb, currentColor 7%, white); }
.occupancy-house-icon svg { width: 66px; height: 66px; display: block; shape-rendering: geometricPrecision; transform: translateZ(0); }
.occupancy-house-icon path { vector-effect: non-scaling-stroke; }
.occupancy-house-card strong { display: block; color: #10243b; font-size: 14px; font-weight: 900; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.occupancy-house-card small { display: block; min-height: 18px; margin-top: 5px; color: #687a88; font-size: 11px; font-weight: 800; }
.occupancy-house-card .next-checkin { color: #8a642a; }
.occupancy-house-card:hover { border-color: #dce6ec; background: #fff; box-shadow: 0 8px 18px rgba(22,62,99,.055); transform: translateY(-1px); }
.occupancy-house-card:hover .occupancy-house-icon { background: color-mix(in srgb, currentColor 10%, white); }
.occupancy-house-card:focus-visible { outline: 2px solid #c79d55; border-radius: 10px; }
.welcome-row { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 23px; }
.eyebrow { margin: 0 0 7px; color: var(--brand-gold-rich); font-size: 11px; font-weight: 800; letter-spacing: 1.1px; }
h1, h2 { font-family: "Manrope", sans-serif; }
h1 { margin: 0; font-size: 27px; letter-spacing: -.7px; }
h1 span { font-size: 23px; }
.subtitle { margin: 7px 0 0; color: var(--muted); font-size: 14px; }
.calendar-heading { align-items: center; }
.calendar-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.secondary-button { min-height: 40px; border: 1px solid #dfe7ec; border-radius: 11px; padding: 0 14px; background: white; color: #315066; cursor: pointer; font-weight: 800; box-shadow: 0 8px 20px rgba(22,62,99,.04); }
.secondary-button:hover { border-color: rgba(199,157,85,.45); color: var(--brand-blue); }
.calendar-summary-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-bottom: 14px; }
.calendar-summary-grid article { min-height: 82px; display: flex; align-items: center; gap: 12px; padding: 14px; border: 1px solid #e3e9ed; border-radius: 15px; background: white; box-shadow: 0 10px 24px rgba(22,62,99,.04); }
.calendar-summary-grid span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; background: #edf3f7; color: var(--brand-blue); font-size: 12px; font-weight: 900; }
.calendar-summary-grid small { display: block; color: #748895; font-weight: 700; }
.calendar-summary-grid strong { display: block; margin-top: 2px; color: #17364f; font: 800 24px/1 "Manrope", sans-serif; }
.calendar-control-panel { padding: 0; overflow: hidden; }
.calendar-control-top { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; padding: 18px 18px 12px; border-bottom: 1px solid #e8eef2; }
.calendar-control-top h2 { margin: 0; font: 800 20px/1.1 "Manrope", sans-serif; color: #15364f; }
.calendar-control-top p { margin: 5px 0 0; color: #738493; }
.calendar-legend { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; max-width: 610px; }
.calendar-legend span { display: inline-flex; align-items: center; gap: 6px; padding: 7px 9px; border: 1px solid #e4eaee; border-radius: 999px; background: #fbfcfd; color: #587080; font-size: 12px; font-weight: 800; }
.calendar-legend i { width: 9px; height: 9px; border-radius: 50%; }
.calendar-legend .reservation, .calendar-event-chip.reservation { --event-color: #163e63; --event-bg: #eaf1f6; --event-border: #b8ccdc; }
.calendar-legend .ongoing, .calendar-event-chip.ongoing { --event-color: #2d7a68; --event-bg: #eaf7f2; --event-border: #b8dfd0; }
.calendar-legend .checkin, .calendar-event-chip.checkin { --event-color: #a95f24; --event-bg: #fff5e8; --event-border: #edc999; }
.calendar-legend .cleaning, .calendar-event-chip.cleaning { --event-color: #6f57a8; --event-bg: #f1edf9; --event-border: #d5c9ee; }
.calendar-legend .resolved, .calendar-event-chip.resolved { --event-color: #718391; --event-bg: #f3f6f8; --event-border: #d8e1e7; }
.calendar-legend .maintenance, .calendar-event-chip.maintenance { --event-color: #a0692f; --event-bg: #fff4e6; --event-border: #edd3ad; }
.calendar-legend .blocked, .calendar-event-chip.blocked { --event-color: #9d3f3f; --event-bg: #fff0ef; --event-border: #efc2bd; }
.calendar-legend .monthly, .calendar-event-chip.monthly { --event-color: #2f6a94; --event-bg: #eaf4fb; --event-border: #bed9eb; }
.calendar-legend i.reservation { background: #163e63; }
.calendar-legend i.ongoing { background: #2d7a68; }
.calendar-legend i.checkin { background: #c77b2d; }
.calendar-legend i.cleaning { background: #6f57a8; }
.calendar-legend i.resolved { background: #9aa8b2; }
.calendar-legend i.maintenance { background: #c79d55; }
.calendar-legend i.blocked { background: #b95454; }
.calendar-legend i.monthly { background: #2f6a94; }
.calendar-filter-bar { display: grid; grid-template-columns: minmax(240px,1.4fr) minmax(150px,.8fr) minmax(170px,.9fr) minmax(145px,.75fr) auto; gap: 10px; align-items: end; padding: 12px 18px 16px; }
.calendar-board-wrap { overflow: auto; max-height: 660px; border-top: 1px solid #e9eef2; background: #f8fafb; }
.calendar-board { min-width: 1460px; }
.calendar-grid-header, .calendar-property-row { display: grid; grid-template-columns: 232px 1fr; }
.calendar-grid-header { position: sticky; top: 0; z-index: 4; background: #f8fafb; border-bottom: 1px solid #dfe7ec; }
.calendar-property-head { position: sticky; left: 0; z-index: 5; display: flex; align-items: center; min-height: 66px; padding: 0 16px; background: #f8fafb; border-right: 1px solid #dfe7ec; color: #526b7d; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .9px; }
.calendar-days-head { display: grid; grid-template-columns: repeat(var(--calendar-days), minmax(86px,1fr)); }
.calendar-day-head { min-height: 66px; display: grid; place-items: center; align-content: center; gap: 2px; border-right: 1px solid #e4ebef; color: #5d7180; }
.calendar-day-head small { font-size: 10px; font-weight: 900; letter-spacing: .5px; }
.calendar-day-head strong { font: 800 20px/1 "Manrope", sans-serif; color: #17364f; }
.calendar-day-head span { font-size: 11px; color: #8a9ba6; }
.calendar-day-head.today { background: linear-gradient(180deg,#fff8ec,#f8fafb); }
.calendar-day-head.today strong { color: var(--brand-gold-rich); }
.calendar-property-row { border-bottom: 1px solid #e6edf1; background: white; }
.calendar-property-info { position: sticky; left: 0; z-index: 3; min-height: 82px; display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-right: 1px solid #e1e8ed; background: white; }
.calendar-property-info > span { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; background: linear-gradient(145deg,#f3dfb1,#c79d55); color: var(--brand-blue-dark); font-weight: 900; font-size: 12px; }
.calendar-property-info strong, .calendar-property-info small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.calendar-property-info strong { color: #17364f; font-size: 13px; }
.calendar-property-info small { max-width: 150px; margin-top: 3px; color: #738493; font-size: 11px; }
.calendar-row-lane { min-height: 82px; display: grid; grid-template-columns: repeat(var(--calendar-days), minmax(86px,1fr)); grid-auto-rows: 27px; gap: 5px 0; align-content: center; padding: 8px 0; background-image: linear-gradient(90deg,#e8eef2 1px,transparent 1px); background-size: 86px 100%; }
.calendar-event-chip { position: relative; z-index: 1; min-width: 0; min-height: 27px; margin: 0 5px; display: flex; align-items: center; gap: 6px; border: 1px solid var(--event-border); border-left: 4px solid var(--event-color); border-radius: 999px; padding: 3px 9px 3px 5px; background: var(--event-bg); color: var(--event-color); cursor: pointer; box-shadow: 0 6px 14px rgba(22,62,99,.06); overflow: hidden; transition: .18s ease; }
.calendar-event-chip.checkin { border-width: 1px; box-shadow: 0 8px 18px rgba(169,95,36,.14); }
.calendar-event-chip.checkin.checkout { --event-color: #b95454; --event-bg: #fff0ef; --event-border: #efc2bd; box-shadow: 0 8px 18px rgba(185,84,84,.18); }
.calendar-event-chip.resolved { opacity: .56; filter: saturate(.45); box-shadow: none; }
.calendar-event-chip.resolved:hover { opacity: .78; filter: saturate(.75); }
.calendar-event-chip.checkin strong { font-weight: 900; letter-spacing: .15px; }
.calendar-event-chip:hover { transform: translateY(-1px); box-shadow: 0 10px 20px rgba(22,62,99,.1); }
.calendar-event-chip span { min-width: 21px; height: 21px; display: grid; place-items: center; border-radius: 50%; background: white; font-size: 9px; font-weight: 900; }
.calendar-event-chip strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.calendar-event-chip small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; opacity: .78; font-size: 10px; font-weight: 800; }
.calendar-free-label { grid-column: 1 / -1; align-self: center; margin-left: 12px; color: #9aabb5; font-size: 12px; font-weight: 800; }
.calendar-empty-state { min-height: 280px; display: grid; place-items: center; align-content: center; gap: 8px; color: #718391; text-align: center; }
.calendar-empty-state span { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 16px; background: #edf3f7; color: var(--brand-blue); font-size: 24px; }
.calendar-empty-state strong { color: #193a55; font-size: 18px; }
.calendar-empty-state p { margin: 0; }
.calendar-event-dialog { max-width: 560px; }
.calendar-event-status { display: inline-flex; width: fit-content; margin: -4px 0 12px; padding: 7px 10px; border-radius: 999px; background: #edf3f7; color: #315066; font-size: 12px; font-weight: 900; }
.calendar-event-status.reservation { background: #eaf1f6; color: #163e63; }
.calendar-event-status.ongoing { background: #eaf7f2; color: #2d7a68; }
.calendar-event-status.checkin { background: #fff5e8; color: #a95f24; }
.calendar-event-status.checkin.checkout { background: #fff0ef; color: #b95454; }
.calendar-event-status.cleaning { background: #f1edf9; color: #6f57a8; }
.calendar-event-status.resolved { background: #f3f6f8; color: #718391; }
.calendar-event-status.maintenance { background: #fff4e6; color: #a0692f; }
.calendar-event-status.blocked { background: #fff0ef; color: #9d3f3f; }
.calendar-event-status.monthly { background: #eaf4fb; color: #2f6a94; }
.calendar-event-details { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin: 0 0 12px; }
.calendar-event-details div { padding: 10px; border: 1px solid #e4eaee; border-radius: 10px; background: #fbfcfd; }
.calendar-event-details dt { color: #7b8e9b; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .5px; }
.calendar-event-details dd { margin: 4px 0 0; color: #18384f; font-weight: 800; }
.calendar-event-notes { padding: 11px 12px; border-radius: 11px; background: #f6f9fb; color: #607685; line-height: 1.45; }
.period-control { text-align: right; }
.period-button { height: 37px; padding: 0 12px; border: 1px solid #dfe7e6; border-radius: 8px; background: white; font-size: 13px; cursor: pointer; }
.period-button span { margin-right: 6px; color: var(--teal); }
.period-button b { margin-left: 14px; color: #93a1a3; }
.compare { display: block; margin-top: 6px; color: #a2adaf; font-size: 11px; }
.metrics-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-bottom: 17px; }
.metric-card, .panel { border: 1px solid var(--line); border-radius: 12px; background: var(--white); box-shadow: 0 2px 10px rgba(22,62,99,.025); }
.metric-card { position: relative; padding: 17px 18px 14px; overflow: hidden; }
.metric-card.featured::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: linear-gradient(var(--brand-gold),var(--brand-gold-rich)); }
.metric-top, .metric-bottom { display: flex; align-items: center; justify-content: space-between; }
.metric-top > span { color: #708084; font-size: 12px; font-weight: 500; }
.metric-icon { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; background: var(--brand-gold-soft); color: #a67a35; font-size: 12px; font-weight: 700; }
.metric-icon.purple { background: #edf2f6; color: #56768e; }
.metric-icon.orange { background: #f8f0e3; color: #ad7d39; }
.metric-icon.green { background: #edf3f7; color: var(--brand-blue); }
.metric-card > strong { display: block; margin: 11px 0 12px; font: 700 25px "Manrope"; letter-spacing: -.7px; }
.metric-bottom { color: #98a5a7; font-size: 11px; }
.trend { padding: 3px 6px; border-radius: 5px; font-weight: 700; }
.trend.up { color: var(--brand-blue); background: #eaf1f6; }
.trend.down { color: #b97950; background: #fbf0e8; }
.main-grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(280px,.75fr); gap: 17px; margin-bottom: 17px; }
.panel { padding: 18px; }
.panel-header { display: flex; align-items: flex-start; justify-content: space-between; }
.panel-header h2 { margin: 0; font-size: 16px; letter-spacing: -.3px; }
.panel-header p { margin: 5px 0 0; color: #8a989a; font-size: 11px; }
.text-button { border: 0; background: transparent; color: var(--teal); font-size: 12px; font-weight: 700; cursor: pointer; }
.text-button span { margin-left: 5px; }
.week-strip { display: grid; grid-template-columns: repeat(7,1fr); gap: 7px; margin: 17px 0 14px; }
.week-strip button { position: relative; height: 54px; border: 1px solid #e6eceb; border-radius: 8px; background: #fbfcfc; cursor: pointer; }
.week-strip small, .week-strip strong { display: block; }
.week-strip small { margin-bottom: 4px; color: #98a4a6; font-size: 9px; font-weight: 700; letter-spacing: .5px; }
.week-strip strong { font-size: 15px; }
.week-strip i { position: absolute; left: 50%; bottom: 5px; width: 3px; height: 3px; border-radius: 50%; background: var(--brand-gold-rich); }
.week-strip button:nth-child(2) i, .week-strip button:nth-child(7) i { display: none; }
.week-strip .today { border-color: var(--teal); background: var(--teal); color: white; }
.week-strip .today small { color: #cad9e4; }
.week-strip .today i { background: var(--brand-gold); }
.movement-list { border-top: 1px solid #edf1f1; }
.movement { display: grid; grid-template-columns: 62px 38px 1fr auto 20px; align-items: center; gap: 10px; min-height: 62px; border-bottom: 1px solid #edf1f1; }
.movement:last-child { border-bottom: 0; }
.time strong, .time span { display: block; }
.time strong { font-size: 13px; }
.time span { margin-top: 3px; color: #9ca8aa; font-size: 9px; letter-spacing: .4px; }
.property-thumb { width: 36px; height: 36px; border-radius: 7px; background-size: cover; }
.thumb-one { background: linear-gradient(135deg, #a2bdc4, #365b66 60%, #d5b17d); }
.thumb-two { background: linear-gradient(140deg, #d7c4a2, #fbf3e1 50%, #566e72 51%, #263e46); }
.thumb-three { background: linear-gradient(150deg, #80a4a0, #c7d3c4 48%, #c48755 49%, #6f4530); }
.movement-info strong, .movement-info span { display: block; }
.movement-info strong { font-size: 12px; }
.movement-info span { margin-top: 4px; color: #899799; font-size: 10px; }
.status { padding: 4px 8px; border-radius: 10px; font-size: 10px; font-weight: 700; }
.status.checkout { color: #986341; background: #fbefe5; }
.status.checkin { color: var(--brand-blue); background: #eaf1f6; }
.more { border: 0; background: transparent; color: #99a6a7; cursor: pointer; letter-spacing: 1px; }
.attention-count { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 7px; background: var(--brand-gold-soft); color: #a77734; font-size: 11px; font-weight: 700; }
.attention-list { margin-top: 13px; }
.attention-item { width: 100%; display: grid; grid-template-columns: 32px 1fr 12px; align-items: center; gap: 10px; padding: 12px 3px; border: 0; border-bottom: 1px solid #edf1f1; background: transparent; text-align: left; cursor: pointer; }
.attention-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; font-weight: 700; font-size: 13px; }
.attention-icon.red { background: #fbe9e7; color: #c25f54; }
.attention-icon.amber { background: var(--brand-gold-soft); color: #a77734; }
.attention-icon.blue { background: #e9f0f5; color: var(--brand-blue); }
.attention-item strong, .attention-item small { display: block; }
.attention-item strong { font-size: 11px; }
.attention-item small { margin-top: 4px; color: #929fa1; font-size: 10px; }
.attention-item b { color: #9aa7a9; font-weight: 400; }
.all-tasks { width: 100%; height: 32px; margin-top: 12px; border: 1px solid #dfe8e7; border-radius: 7px; background: #fbfcfc; color: var(--teal); font-size: 11px; font-weight: 700; cursor: pointer; }
.bottom-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 17px; }
.revenue-content { display: flex; align-items: center; justify-content: space-around; padding: 19px 5px 6px; }
.donut { width: 116px; height: 116px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--brand-gold-rich) 0 64.6%, var(--brand-blue) 64.6% 95.1%, var(--sand) 95.1% 100%); box-shadow: inset 0 0 0 1px rgba(22,62,99,.03); }
.donut::before { content: ""; position: absolute; width: 77px; height: 77px; border-radius: 50%; background: white; }
.donut div { position: relative; z-index: 1; text-align: center; }
.donut strong, .donut span { display: block; }
.donut strong { font: 700 16px "Manrope"; }
.donut span { margin-top: 2px; color: #97a3a5; font-size: 10px; }
.legend { min-width: 55%; }
.legend > div { display: grid; grid-template-columns: 10px 1fr auto 42px; align-items: center; gap: 5px; padding: 7px 0; border-bottom: 1px solid #eef2f1; font-size: 10px; }
.legend > div:last-child { border: 0; }
.dot { width: 7px; height: 7px; border-radius: 50%; }
.dot.teal { background: var(--brand-gold-rich); }.dot.navy { background: var(--brand-blue); }.dot.sand { background: var(--sand); }
.legend span { color: #708083; }
.legend strong { font-size: 11px; }
.legend small { text-align: right; color: #9ca7a9; }
.occupancy-summary { display: grid; grid-template-columns: repeat(4,1fr); margin: 30px 0 23px; }
.occupancy-summary div { border-right: 1px solid #edf1f0; text-align: center; }
.occupancy-summary div:last-child { border: 0; }
.occupancy-summary span, .occupancy-summary small { display: block; }
.occupancy-summary span { font: 700 22px "Manrope"; }
.occupancy-summary small { margin-top: 5px; color: #8b999b; font-size: 10px; }
.teal-text { color: var(--brand-blue); }.orange-text { color: var(--brand-gold-rich); }.gray-text { color: #8f9b9d; }
.occupancy-bar { height: 8px; display: flex; gap: 2px; overflow: hidden; border-radius: 5px; }
.occupancy-bar i:nth-child(1) { background: var(--brand-blue); }.occupancy-bar i:nth-child(2) { background: var(--brand-gold-rich); }.occupancy-bar i:nth-child(3) { background: #bec8ce; }

/* Reservas */
.reservations-heading { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 18px; }
.reservations-heading .page-new-reservation { display: block; }
.reservation-mode header #newReservation { display: none; }
.reservation-summary { display: grid; grid-template-columns: repeat(4,1fr); margin-bottom: 13px; border: 1px solid var(--line); border-radius: 10px; background: white; overflow: hidden; }
.reservation-summary article { display: flex; align-items: center; gap: 10px; min-height: 58px; padding: 10px 15px; border-right: 1px solid #e9eef1; background: white; }
.reservation-summary article:last-child { border-right: 0; }
.summary-icon { width: 29px; height: 29px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; font-size: 14px; font-weight: 700; }
.summary-icon.gold { color: #9b6e2c; background: var(--brand-gold-soft); }
.summary-icon.blue { color: var(--brand-blue); background: #e9f0f5; }
.summary-icon.green { color: #39785f; background: #eaf4ef; }
.summary-icon.muted { color: #6e7e89; background: #eef1f3; }
.reservation-summary small, .reservation-summary strong { display: block; }
.reservation-summary small { margin-bottom: 2px; color: #829099; font-size: 10px; }
.reservation-summary strong { font: 700 17px "Manrope"; }
.reservation-filters { margin-bottom: 13px; padding: 12px 14px; }
.filter-top { display: grid; grid-template-columns: minmax(280px,1fr) auto; align-items: center; gap: 12px; }
.reservation-search { min-height: 42px; display: flex; align-items: center; gap: 9px; padding: 6px 12px; border: 1px solid #dce4e9; border-radius: 8px; background: #fbfcfd; }
.reservation-search:focus-within { border-color: #7f9ab0; box-shadow: 0 0 0 3px rgba(22,62,99,.07); }
.reservation-search > span { color: #84929c; font-size: 20px; }
.reservation-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 13px; }
.reservation-search input::placeholder { color: #9ba7ae; }
.rental-type-filter { display: flex; padding: 3px; border: 1px solid #dfe6ea; border-radius: 9px; background: #f6f8f9; }
.rental-type-filter button { min-width: 68px; height: 31px; padding: 0 11px; border: 0; border-radius: 6px; background: transparent; color: #71818b; font-size: 12px; font-weight: 600; cursor: pointer; }
.rental-type-filter button.active { background: var(--brand-blue); color: white; box-shadow: 0 3px 8px rgba(22,62,99,.16); }
.filter-actions { display: flex; align-items: center; gap: 8px; }
.advanced-filter-toggle { height: 39px; display: flex; align-items: center; gap: 6px; padding: 0 11px; border: 1px solid #dfe6ea; border-radius: 8px; background: white; color: #536873; font-size: 11px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.advanced-filter-toggle:hover, .advanced-filter-toggle.open { border-color: #a8bac6; background: #f5f8fa; color: var(--brand-blue); }
.advanced-filter-toggle > span { color: var(--brand-gold-rich); font-size: 14px; }
.advanced-filter-toggle b { min-width: 18px; height: 18px; display: grid; place-items: center; border-radius: 9px; background: #edf2f5; color: #657984; font-size: 9px; }
.advanced-filter-toggle b:empty, .advanced-filter-toggle b[data-empty="true"] { display: none; }
.filter-row { display: grid; grid-template-columns: 1.35fr 1fr 1fr auto; align-items: end; gap: 12px; max-height: 130px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #ebeff2; opacity: 1; overflow: hidden; transition: max-height .2s ease, opacity .18s ease, margin .2s ease, padding .2s ease; }
.filter-row.collapsed { max-height: 0; margin-top: 0; padding-top: 0; border-top: 0; opacity: 0; pointer-events: none; }
.filter-field > span { display: block; margin: 0 0 6px 2px; color: #667781; font-size: 11px; font-weight: 600; }
.filter-field select, .filter-field input { width: 100%; min-height: 41px; padding: 6px 11px; border: 1px solid #dce4e9; border-radius: 8px; outline: 0; background: #fff; color: #405662; font-size: 12px; }
.filter-field select:focus, .filter-field input:focus { border-color: #7f9ab0; box-shadow: 0 0 0 3px rgba(22,62,99,.06); }
.clear-filters { height: 38px; padding: 0 12px; border: 0; background: transparent; color: var(--brand-blue); font-size: 12px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.active-filter-summary { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 10px; padding-top: 10px; border-top: 1px solid #eef2f4; }
.filter-chip { display: inline-flex; align-items: center; gap: 5px; min-height: 27px; padding: 4px 8px; border-radius: 14px; background: #edf2f5; color: #526873; font-size: 9px; }
.filter-chip b { color: var(--brand-blue); font-weight: 700; }
.reservations-list-panel { padding: 0; overflow: hidden; }
.list-heading { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; border-bottom: 1px solid #e9eef1; }
.list-heading h2 { margin: 0; font: 700 16px "Manrope"; }
.list-heading p { margin: 4px 0 0; color: #8a989f; font-size: 11px; }
.export-button { height: 34px; padding: 0 12px; border: 1px solid #dce4e9; border-radius: 7px; background: white; color: #536873; font-size: 11px; font-weight: 600; cursor: pointer; }
.export-button span { margin-right: 5px; color: var(--brand-gold-rich); }
.reservations-table-wrap { overflow: visible; }
.reservations-table { width: 100%; min-width: 0; table-layout: fixed; border-collapse: collapse; }
.reservations-table th { height: 36px; padding: 0 11px; border-bottom: 1px solid #e8edef; background: #fafbfc; color: #7e8c94; text-align: left; font-size: 9px; font-weight: 700; letter-spacing: .25px; text-transform: uppercase; white-space: nowrap; }
.reservations-table th:first-child, .reservations-table td:first-child { padding-left: 20px; }
.reservations-table th:last-child, .reservations-table td:last-child { padding-right: 20px; }
.reservations-table td { min-height: 66px; padding: 9px 8px; border-bottom: 1px solid #edf1f3; color: #344b57; font-size: 11px; vertical-align: middle; }
.reservations-table th:nth-child(1) { width: 20%; }
.reservations-table th:nth-child(2) { width: 20%; }
.reservations-table th:nth-child(4) { width: 20%; }
.reservations-table th:nth-child(6) { width: 12%; }
.reservations-table th:nth-child(7) { width: 12%; }
.reservations-table th:nth-child(8) { width: 16%; }
.reservations-table th:nth-child(3), .reservations-table td:nth-child(3),
.reservations-table th:nth-child(5), .reservations-table td:nth-child(5) { display: none; }
.reservations-table tbody tr { transition: .15s ease; }
.reservations-table tbody tr:hover { background: #fbfcfd; }
.reservations-table tbody tr:last-child td { border-bottom: 0; }
.guest-cell { display: flex; align-items: center; gap: 10px; }
.guest-avatar { width: 31px; height: 31px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 9px; background: #e9f0f5; color: var(--brand-blue); font-size: 11px; font-weight: 700; }
.guest-avatar.gold-avatar { background: var(--brand-gold-soft); color: #926c31; }
.guest-cell strong, .guest-cell small, .property-cell strong, .property-cell small, .date-main, .date-time, .value-main, .payment-ok, .payment-pending, .payment-late { display: block; }
.guest-cell strong, .property-cell strong, .date-main, .value-main { color: #293f4c; font-size: 11px; }
.guest-cell small, .property-cell small, .date-time { margin-top: 4px; color: #8b989f; font-size: 10px; font-weight: 400; }
.guest-cell > div, .property-cell { min-width: 0; }
.guest-cell strong, .guest-cell small, .property-cell strong, .property-cell small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.property-cell .compact-type-badge { display: inline-flex; margin-top: 7px; }
.period-cell { white-space: nowrap; }
.period-cell > div { display: inline-block; min-width: 0; vertical-align: middle; }
.period-cell .period-label { display: block; margin-bottom: 4px; color: #91a0a7; font-size: 8px; font-weight: 700; text-transform: uppercase; }
.period-cell .period-arrow { display: inline-block; margin: 0 7px; color: var(--brand-gold-rich); font-size: 14px; vertical-align: middle; }
.rental-badge { display: inline-flex; align-items: center; height: 21px; padding: 0 8px; border-radius: 6px; font-size: 10px; font-weight: 700; }
.rental-badge.daily { color: var(--brand-blue); background: #e9f0f5; }
.rental-badge.monthly { color: #90692e; background: var(--brand-gold-soft); }
.payment-ok, .payment-pending, .payment-late { margin-top: 4px; font-size: 9px; font-weight: 600; }
.payment-ok { color: #43816a; }.payment-pending { color: #ad7d39; }.payment-late { color: #ba5c56; }
.booking-status { display: inline-flex; align-items: center; gap: 5px; height: 22px; padding: 0 8px; border-radius: 11px; font-size: 10px; font-weight: 600; }
.booking-status i { width: 5px; height: 5px; border-radius: 50%; }
.booking-status.confirmed { color: #356f79; background: #e8f2f3; }.booking-status.confirmed i { background: #4e929b; }
.booking-status.in-progress { color: #356b58; background: #e8f3ed; }.booking-status.in-progress i { background: #4e8c73; }
.booking-status.pending { color: #9b6e2c; background: #f8f0e3; }.booking-status.pending i { background: #c59750; }
.booking-status.finishing { color: #875f43; background: #f7eee8; }.booking-status.finishing i { background: #bd8060; }
.booking-status.pending-cleaning { color: #8a682f; background: #fbf3e4; }.booking-status.pending-cleaning i { background: #cf9d4c; }
.booking-status.cleaning { color: #426f7d; background: #e8f1f4; }.booking-status.cleaning i { background: #5d91a0; }
.booking-status.completed { color: #687780; background: #eef1f3; }.booking-status.completed i { background: #8d9aa1; }
.row-menu { width: 28px; height: 28px; border: 0; border-radius: 6px; background: transparent; color: #8c999f; cursor: pointer; letter-spacing: 1px; }
.row-menu:hover { background: #eef2f4; color: var(--brand-blue); }
.reservation-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 5px; }
.operation-button { min-width: 0; height: 34px; padding: 0 9px; border: 1px solid #cfdce4; border-radius: 7px; background: white; color: var(--brand-blue); font-size: 10px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.operation-button:hover { border-color: var(--brand-blue); background: #eef3f7; }
.operation-button.checkout-action { border-color: #dac394; background: #fdf9f1; color: #85652f; }
.operation-button.cleaning-action { border-color: #bdd2dc; background: #eef5f7; color: #376879; }
.operation-button.finish-cleaning-action { border-color: #c8d9cf; background: #f0f7f3; color: #3f735a; }
.operation-button.completed-action { border-color: #e0e6e9; background: #f2f4f5; color: #89969c; cursor: default; }
.reservation-action-menu { position: fixed; z-index: 90; display: none; width: 236px; padding: 6px; border: 1px solid #dfe6ea; border-radius: 10px; background: white; box-shadow: 0 18px 40px rgba(18,48,68,.18); }
.reservation-action-menu.open { display: block; }
.reservation-action-menu > button { width: 100%; display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: 8px; padding: 9px; border: 0; border-radius: 7px; background: transparent; text-align: left; cursor: pointer; }
.reservation-action-menu > button:hover { background: #f2f6f8; }
.reservation-action-menu > button > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 7px; background: #edf2f5; color: var(--brand-blue); font-size: 13px; }
.reservation-action-menu strong, .reservation-action-menu small { display: block; }
.reservation-action-menu strong { font-size: 11px; }.reservation-action-menu small { margin-top: 3px; color: #87949b; font-size: 9px; }
.empty-reservations { display: none; min-height: 230px; flex-direction: column; align-items: center; justify-content: center; color: #7f8e97; text-align: center; }
.empty-reservations.visible { display: flex; }
.empty-reservations > span { width: 44px; height: 44px; display: grid; place-items: center; margin-bottom: 11px; border-radius: 50%; background: #edf2f5; color: var(--brand-blue); font-size: 24px; }
.empty-reservations strong { color: #415964; font-size: 13px; }
.empty-reservations p { margin: 5px 0 0; font-size: 11px; }
.table-footer { min-height: 49px; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; border-top: 1px solid #e9eef1; color: #849198; font-size: 11px; }
.pagination { display: flex; gap: 4px; }
.pagination button { width: 28px; height: 28px; border: 1px solid #dfe6ea; border-radius: 6px; background: white; color: #6e7f88; font-size: 11px; }
.pagination button.active { border-color: var(--brand-blue); background: var(--brand-blue); color: white; }
.pagination button:disabled { opacity: .45; }

/* Imóveis */
.property-mode header #newReservation { display: none; }
.properties-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.property-summary { display: grid; grid-template-columns: repeat(4,1fr); margin-bottom: 13px; border: 1px solid var(--line); border-radius: 10px; background: white; overflow: hidden; }
.property-summary article { display: flex; align-items: center; gap: 10px; min-height: 58px; padding: 10px 15px; border-right: 1px solid #e9eef1; background: white; }
.property-summary article:last-child { border-right: 0; }
.property-summary small, .property-summary strong { display: block; }
.property-summary small { margin-bottom: 2px; color: #829099; font-size: 10px; }
.property-summary strong { font: 700 17px "Manrope"; }
.properties-heading-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.portfolio-building-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; margin-bottom: 13px; }
.portfolio-building-card { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: start; padding: 12px; border: 1px solid #e0e7eb; border-radius: 11px; background: white; text-align: left; cursor: pointer; transition: .16s ease; }
.portfolio-building-card:hover, .portfolio-building-card.active { border-color: #c9d6de; box-shadow: 0 8px 18px rgba(22,62,99,.055); transform: translateY(-1px); }
.portfolio-building-card.active { background: #fbf7ef; }
.portfolio-building-card strong, .portfolio-building-card small { display: block; }
.portfolio-building-card strong { color: #293f4c; font-size: 12px; }
.portfolio-building-card small { margin-top: 4px; color: #83929a; font-size: 10px; line-height: 1.35; }
.portfolio-building-card em { display: block; margin-top: 5px; color: #9b7440; font-size: 9px; font-style: normal; font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.portfolio-building-card > span { min-width: 42px; padding: 6px 7px; border-radius: 10px; background: #edf3f7; color: var(--brand-blue); font: 800 13px "Manrope"; text-align: center; }
.portfolio-building-card dl { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; margin: 2px 0 0; }
.portfolio-building-card dl div { padding: 7px; border-radius: 8px; background: #f7fafb; }
.portfolio-building-card dt, .portfolio-building-card dd { margin: 0; }
.portfolio-building-card dt { color: #87959d; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.portfolio-building-card dd { margin-top: 3px; color: #293f4c; font: 800 12px "Manrope"; }
.property-filters { display: grid; grid-template-columns: minmax(280px,1.5fr) repeat(3,minmax(130px,.65fr)) auto; align-items: end; gap: 10px; margin-bottom: 13px; padding: 12px 14px; }
.property-search { min-height: 42px; display: flex; align-items: center; gap: 9px; padding: 6px 12px; border: 1px solid #dce4e9; border-radius: 8px; background: #fbfcfd; }
.property-search:focus-within { border-color: #7f9ab0; box-shadow: 0 0 0 3px rgba(22,62,99,.07); }
.property-search > span { color: #84929c; font-size: 20px; }
.property-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 13px; }
.property-filter-field > span { display: block; margin: 0 0 5px 2px; color: #667781; font-size: 10px; font-weight: 600; }
.property-filter-field select { width: 100%; min-height: 42px; padding: 6px 9px; border: 1px solid #dce4e9; border-radius: 8px; outline: 0; background: white; color: #405662; font-size: 11px; }
.property-clear-filters { height: 42px; padding: 0 10px; border: 0; background: transparent; color: var(--brand-blue); font-size: 11px; font-weight: 700; cursor: pointer; }
.property-list-panel { padding: 0; overflow: hidden; }
.property-list-note { display: inline-flex; align-items: center; min-height: 27px; padding: 0 9px; border-radius: 14px; background: var(--brand-gold-soft); color: #8b6b36; font-size: 10px; font-weight: 700; }
.property-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 14px; }
.load-more-button { width: calc(100% - 28px); min-height: 42px; margin: 0 14px 14px; border: 1px dashed #cfdbe3; border-radius: 10px; background: #fbfcfd; color: var(--brand-blue); font-size: 12px; font-weight: 800; cursor: pointer; }
.load-more-button:hover { border-style: solid; background: #f0f5f8; }
.property-card { display: grid; grid-template-columns: 76px 1fr; gap: 13px; padding: 13px; border: 1px solid #e0e7eb; border-radius: 12px; background: #fff; box-shadow: 0 2px 9px rgba(22,62,99,.025); }
.property-card:hover { border-color: #cdd9e1; box-shadow: 0 8px 20px rgba(22,62,99,.045); }
.property-thumb-card { width: 76px; height: 76px; border-radius: 11px; background: linear-gradient(135deg,#d8c190,#163e63); position: relative; overflow: hidden; }
.property-thumb-card::after { content: ""; position: absolute; inset: auto 0 0; height: 35%; background: rgba(255,255,255,.18); }
.property-thumb-card > span { position: absolute; left: 7px; bottom: 7px; z-index: 1; padding: 4px 6px; border-radius: 999px; background: rgba(255,255,255,.9); color: var(--brand-blue); font-size: 8px; font-weight: 900; }
.property-thumb-card.apartment { background: linear-gradient(135deg,#9fb7c5,#163e63 64%,#d8b26b); }
.property-thumb-card.house { background: linear-gradient(140deg,#d9c79f,#fbf4e4 52%,#3f657d 53%); }
.property-thumb-card.loft { background: linear-gradient(135deg,#c7d5da,#557b90 55%,#f0d59d); }
.property-card-main { min-width: 0; }
.property-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.property-card h3 { margin: 0; color: #293f4c; font: 700 14px "Manrope"; }
.property-card small { color: #87969e; font-size: 10px; }
.property-card-meta { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.property-chip, .property-status { display: inline-flex; align-items: center; min-height: 21px; padding: 3px 7px; border-radius: 11px; font-size: 9px; font-weight: 700; }
.property-chip { color: var(--brand-blue); background: #e9f0f5; }
.property-ready { display: inline-flex; align-items: center; min-height: 21px; padding: 3px 7px; border-radius: 999px; font-size: 9px; font-weight: 900; }
.property-ready.ready { color: #39785f; background: #eaf4ef; }
.property-ready.attention { color: #9a6328; background: #fff3df; }
.property-ready.blocked { color: #a74343; background: #fff0ef; }
.property-status.available { color: #39785f; background: #eaf4ef; }
.property-status.occupied { color: #90692e; background: var(--brand-gold-soft); }
.property-status.maintenance { color: #9a6340; background: #fbede3; }
.property-status.blocked { color: #7d8890; background: #eef1f3; }
.property-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 7px; margin: 13px 0; }
.property-stats div { min-height: 52px; padding: 8px; border-radius: 9px; background: #f7fafb; }
.property-stats span, .property-stats strong { display: block; }
.property-stats span { color: #8b989f; font-size: 8px; font-weight: 700; text-transform: uppercase; }
.property-stats strong { margin-top: 5px; color: #293f4c; font: 700 13px "Manrope"; }
.property-next { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; margin-bottom: 12px; padding: 9px; border-radius: 9px; background: #fbf7ef; color: #775e32; }
.property-next strong, .property-next small { display: block; }
.property-next strong { font-size: 11px; }
.property-next small { margin-top: 3px; color: #8b7652; font-size: 9px; }
.property-amenities { display: flex; flex-wrap: wrap; gap: 5px; margin: 0 0 12px; }
.property-amenities span { padding: 3px 7px; border-radius: 10px; background: #eef2f4; color: #647681; font-size: 8px; font-weight: 700; }
.property-actions { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
.property-actions button { min-height: 31px; padding: 0 9px; border: 1px solid #d8e2e7; border-radius: 7px; background: white; color: var(--brand-blue); font-size: 10px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.property-actions button:hover { border-color: var(--brand-blue); background: #eef3f7; }
.property-actions .primary-lite { border-color: #dac394; background: #fffaf0; color: #85652f; }
.property-field-wide { grid-column: 1 / -1; }
.property-editor-dialog, .property-reservations-dialog, .condominium-editor-dialog { width: min(920px,100%); }
.property-amenity-editor { margin-top: 14px; padding: 13px; border: 1px solid #e3e9ed; border-radius: 10px; background: #fbfcfd; }
.property-amenity-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 10px; }
.property-amenity-head strong, .property-amenity-head small { display: block; }
.property-amenity-head strong { color: #293f4c; font-size: 11px; }
.property-amenity-head small { margin-top: 3px; color: #83929a; font-size: 9px; }
.property-amenity-manager { display: grid; gap: 9px; margin-bottom: 10px; padding: 10px; border: 1px dashed #cfdae0; border-radius: 10px; background: white; }
.property-amenity-manager.hidden { display: none; }
.property-amenity-creator { display: grid; grid-template-columns: minmax(220px,1fr) auto auto; gap: 8px; align-items: end; }
.property-amenity-creator .form-field { margin: 0; }
.property-amenity-creator button { min-height: 36px; }
.property-amenity-manager-list { display: grid; gap: 6px; max-height: 205px; overflow-y: auto; padding-right: 3px; }
.property-amenity-manager-list article { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center; padding: 8px 9px; border: 1px solid #e6edf1; border-radius: 9px; background: #fbfcfd; }
.property-amenity-manager-list strong, .property-amenity-manager-list small { display: block; }
.property-amenity-manager-list strong { color: #293f4c; font-size: 10px; }
.property-amenity-manager-list small { margin-top: 2px; color: #87959d; font-size: 8px; font-weight: 800; }
.property-amenity-manager-list button { min-height: 28px; padding: 0 8px; border: 1px solid #efd1cc; border-radius: 8px; background: #fffafa; color: #a74343; font-size: 9px; font-weight: 900; cursor: pointer; }
.property-amenity-list { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.property-amenity-editor label { display: flex; align-items: center; gap: 7px; color: #5f727c; font-size: 10px; font-weight: 600; }
.property-amenity-editor input { accent-color: var(--brand-blue); }
.property-photo-preview, .property-detail-gallery, .property-detail-amenities { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.property-photo-chip { min-width: 122px; min-height: 58px; display: grid; align-content: end; gap: 3px; padding: 9px; border-radius: 11px; background: linear-gradient(135deg,#d9c79f,#163e63); color: white; overflow: hidden; }
.property-photo-chip.photo-2 { background: linear-gradient(135deg,#9fb7c5,#285878); }
.property-photo-chip.photo-3 { background: linear-gradient(135deg,#ead19d,#9b7135); }
.property-photo-chip.photo-4 { background: linear-gradient(135deg,#c7d5da,#557b90); }
.property-photo-chip b, .property-photo-chip small { display: block; }
.property-photo-chip b { font-size: 9px; opacity: .85; }
.property-photo-chip small { font-size: 10px; font-weight: 900; text-shadow: 0 1px 5px rgba(0,0,0,.18); }
.property-photo-empty { padding: 9px; border-radius: 9px; background: #f7fafb; color: #74848d; font-size: 10px; font-weight: 800; }
.property-rate-editor { margin-top: 14px; padding: 13px; border: 1px solid #e3e9ed; border-radius: 10px; background: #fbfcfd; }
.property-rate-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.property-rate-head strong, .property-rate-head small { display: block; }
.property-rate-head strong { color: #293f4c; font-size: 11px; }
.property-rate-head small { margin-top: 3px; color: #83929a; font-size: 9px; }
.property-rate-list { display: grid; gap: 8px; }
.property-rate-row { display: grid; grid-template-columns: 1.1fr repeat(4,.75fr) 30px; gap: 7px; align-items: end; }
.property-rate-row label span { display: block; margin-bottom: 4px; color: #75858e; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.property-rate-row input, .property-rate-row select { width: 100%; min-height: 34px; padding: 5px 7px; border: 1px solid #dce4e9; border-radius: 8px; background: white; color: #405662; font-size: 10px; }
.property-rate-row button { width: 30px; height: 34px; border: 1px solid #efd1cc; border-radius: 8px; background: #fffafa; color: #a74343; font-size: 17px; cursor: pointer; }
.property-detail-sheet { display: grid; gap: 15px; }
.property-detail-sheet h3 { margin: 0 0 9px; color: #293f4c; font-size: 12px; }
.property-detail-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,.85fr); gap: 12px; padding: 13px; border: 1px solid #e3e9ed; border-radius: 13px; background: #fbfcfd; }
.property-detail-hero h3 { margin: 8px 0 4px; color: var(--brand-blue); font-size: 18px; }
.property-detail-hero p, .property-detail-hero small { display: block; margin: 0; color: #6f8089; font-size: 11px; line-height: 1.45; }
.property-detail-hero dl, .property-detail-rates { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 0; }
.property-detail-hero dl div, .property-detail-rates article { min-width: 0; padding: 10px; border-radius: 10px; background: white; border: 1px solid #e8eef2; }
.property-detail-hero dt, .property-detail-rates span { display: block; color: #87959d; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.property-detail-hero dd, .property-detail-rates strong { display: block; margin: 4px 0 0; color: #293f4c; font-size: 12px; font-weight: 900; }
.property-detail-rates small { display: block; margin-top: 4px; color: #83929a; font-size: 9px; }
.property-detail-amenities span { padding: 6px 9px; border-radius: 999px; background: #eef3f7; color: var(--brand-blue); font-size: 10px; font-weight: 900; }
.property-detail-two { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.property-mini-list { display: grid; gap: 8px; }
.property-mini-list article { padding: 10px; border: 1px solid #e3e9ed; border-radius: 10px; background: #fbfcfd; }
.property-mini-list strong, .property-mini-list small, .property-mini-list span { display: block; }
.property-mini-list strong { color: #293f4c; font-size: 11px; }
.property-mini-list small { margin-top: 4px; color: #83929a; font-size: 9px; }
.property-mini-list span { width: fit-content; margin-top: 7px; padding: 4px 7px; border-radius: 999px; background: var(--brand-gold-soft); color: #85652f; font-size: 8px; font-weight: 900; }
.property-reservation-list { display: grid; gap: 9px; max-height: 390px; overflow-y: auto; }
.property-reservation-card { display: grid; grid-template-columns: 38px 1fr auto auto; align-items: center; gap: 10px; padding: 12px; border: 1px solid #e1e7ea; border-radius: 10px; background: #fbfcfd; }
.property-reservation-card.current { border-color: #f0c978; background: #fffaf0; }
.property-reservation-card.upcoming { border-color: #c8d9cf; background: #f3faf6; }
.property-reservation-card > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: var(--brand-gold-soft); color: #8b662d; font-size: 15px; }
.property-reservation-card strong, .property-reservation-card small { display: block; }
.property-reservation-card strong { color: #293f4c; font-size: 12px; }
.property-reservation-card small { margin-top: 4px; color: #839198; font-size: 10px; }
.property-reservation-date { text-align: right; }
.property-reservation-date strong { color: var(--brand-blue); }
.property-reservation-date small { color: #8b989f; }
.property-reservation-moment { padding: 6px 8px; border-radius: 999px; background: #eef3f7; color: #4f6574; font-size: 9px; text-transform: uppercase; }
.property-reservation-card.current .property-reservation-moment { background: #f7e8c9; color: #8a642a; }
.property-reservation-card.upcoming .property-reservation-moment { background: #e3f2e8; color: #37755b; }

/* CRM */
.crm-mode header #newReservation { display: none; }
.crm-heading { align-items: flex-end; }
.crm-summary-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-bottom: 14px; }
.crm-panel { padding: 0; overflow: hidden; }
.crm-filters { display: grid; grid-template-columns: minmax(260px,1.35fr) repeat(4,minmax(118px,.62fr)) auto; align-items: end; gap: 10px; padding: 12px 16px 16px; border-top: 1px solid #edf1f3; }
.crm-workspace { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 14px; padding: 14px; border-top: 1px solid #e8eef2; background: #f8fafb; }
.crm-main-area, .crm-side-card { min-width: 0; border: 1px solid #e2e9ee; border-radius: 14px; background: white; box-shadow: 0 8px 20px rgba(22,62,99,.035); }
.crm-list-head { min-height: 56px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 14px; border-bottom: 1px solid #edf1f3; }
.crm-list-head strong, .crm-list-head small { display: block; }
.crm-list-head strong { color: #18384f; font: 800 15px "Manrope"; }
.crm-list-head small { margin-top: 3px; color: #81919a; font-size: 10px; }
.crm-list-head > span { padding: 7px 9px; border-radius: 999px; background: #eef3f7; color: #536b7d; font-size: 10px; font-weight: 800; white-space: nowrap; }
.crm-pipeline { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding: 12px; }
.crm-pipeline-column { min-width: 0; overflow: hidden; border: 1px solid #e3eaf0; border-radius: 13px; background: #fbfcfd; }
.crm-pipeline-column header { height: auto; min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 12px; border: 0; border-bottom: 1px solid #e7edf1; background: linear-gradient(135deg,#fff,#f7fafb); backdrop-filter: none; }
.crm-pipeline-column header strong, .crm-pipeline-column header small { display: block; }
.crm-pipeline-column header strong { color: #17364f; font: 900 13px "Manrope"; }
.crm-pipeline-column header small { margin-top: 3px; color: #87959d; font-size: 9px; }
.crm-pipeline-column header > span { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: #edf3f7; color: var(--brand-blue); font-size: 11px; font-weight: 900; }
.crm-pipeline-column.new header > span { background: #eef3f7; color: #536b7d; }
.crm-pipeline-column.deal header > span { background: #fff3df; color: #9a6328; }
.crm-pipeline-column.active header > span { background: #eaf4ef; color: #39785f; }
.crm-pipeline-column.recurring header > span { background: #f7f0df; color: #8a642a; }
.crm-pipeline-column.after header > span { background: #edf1f4; color: #687780; }
.crm-pipeline-column.attention header > span { background: #fff0ef; color: #a74343; }
.crm-pipeline-cards { display: grid; gap: 9px; padding: 10px; min-height: 120px; align-content: start; }
.crm-contact-card { display: grid; gap: 9px; padding: 11px; border: 1px solid #e2e9ee; border-left: 4px solid var(--crm-color,#163e63); border-radius: 12px; background: #fff; box-shadow: 0 4px 12px rgba(22,62,99,.025); transition: .16s ease; }
.crm-contact-card:hover { transform: translateY(-1px); border-color: #cfdce3; box-shadow: 0 10px 22px rgba(22,62,99,.06); }
.crm-contact-card.new { --crm-color:#7b8e9b; }
.crm-contact-card.deal { --crm-color:#c77b2d; }
.crm-contact-card.active { --crm-color:#39785f; }
.crm-contact-card.recurring { --crm-color:#c79d55; }
.crm-contact-card.after { --crm-color:#8b98a0; }
.crm-contact-card.attention { --crm-color:#b95454; }
.crm-contact-top { display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 9px; align-items: center; }
.crm-contact-top strong, .crm-contact-top small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crm-contact-top strong { color: #17364f; font-size: 12px; }
.crm-contact-top small { margin-top: 3px; color: #758892; font-size: 9px; }
.crm-contact-meta { display: flex; flex-wrap: wrap; gap: 5px; }
.crm-contact-meta span { min-height: 21px; display: inline-flex; align-items: center; padding: 0 7px; border-radius: 999px; background: #f0f4f6; color: #637784; font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .2px; }
.crm-contact-card p { margin: 0; color: #5d7180; font-size: 10px; line-height: 1.42; }
.crm-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-top: 8px; border-top: 1px solid #eef2f4; }
.crm-card-footer strong { color: var(--brand-blue); font: 900 12px "Manrope"; }
.crm-card-footer button { min-height: 28px; padding: 0 9px; border: 1px solid #d8e2e7; border-radius: 8px; background: #fff; color: var(--brand-blue); font-size: 9px; font-weight: 900; cursor: pointer; white-space: nowrap; }
.crm-card-footer button:hover { border-color: var(--brand-blue); background: #eef3f7; }
.crm-column-empty, .crm-empty-note { padding: 13px; border: 1px dashed #dce5ea; border-radius: 10px; background: #fff; color: #87959d; font-size: 10px; text-align: center; }
.crm-side-area { display: grid; gap: 14px; align-content: start; min-width: 0; }
.crm-side-card { padding: 13px; }
.crm-side-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 11px; padding-bottom: 10px; border-bottom: 1px solid #edf1f3; }
.crm-side-head strong, .crm-side-head small { display: block; }
.crm-side-head strong { color: #17364f; font: 900 13px "Manrope"; }
.crm-side-head small { margin-top: 3px; color: #81919a; font-size: 10px; }
.crm-action-list { display: grid; gap: 8px; }
.crm-action-item { width: 100%; display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 9px; align-items: center; padding: 9px; border: 1px solid #e1e8ed; border-radius: 11px; background: #fbfcfd; text-align: left; cursor: pointer; transition: .16s ease; }
.crm-action-item:hover { border-color: #cfdce3; background: #fff; box-shadow: 0 8px 18px rgba(22,62,99,.055); }
.crm-action-item > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(145deg,#f1d9a7,#c79d55); color: var(--brand-blue-dark); font-size: 10px; font-weight: 900; }
.crm-action-item strong, .crm-action-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crm-action-item strong { color: #293f4c; font-size: 11px; }
.crm-action-item small { margin-top: 3px; color: #7f9099; font-size: 9px; }
.crm-source-list { display: grid; gap: 10px; }
.crm-source-item { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 10px; border: 1px solid #e2e9ee; border-radius: 11px; background: #fbfcfd; }
.crm-source-item div, .crm-source-item span { position: relative; z-index: 1; }
.crm-source-item strong, .crm-source-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crm-source-item strong { color: #293f4c; font-size: 11px; }
.crm-source-item small { margin-top: 3px; color: #7f9099; font-size: 9px; }
.crm-source-item span { color: var(--brand-blue); font: 900 12px "Manrope"; }
.crm-source-item i { position: absolute; inset: auto 0 0 0; width: var(--crm-source-width,0); height: 3px; background: linear-gradient(90deg,var(--brand-blue),var(--brand-gold-rich)); }
#crmPage > .crm-panel > .crm-workspace { display: none; }
.crm-legacy-panel { display: none !important; }
.crm-legacy-support { display: none !important; }
.crm-heading-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.crm-simple-dashboard { display: grid; gap: 14px; }
.crm-simple-kpi-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(132px,1fr)); gap: 10px; }
.crm-simple-kpi-grid button { min-width: 0; display: grid; gap: 5px; align-content: center; min-height: 86px; padding: 12px; border: 1px solid #e2e9ee; border-radius: 15px; background: #fff; color: #18384f; text-align: left; cursor: pointer; box-shadow: 0 10px 24px rgba(22,62,99,.04); transition: .16s ease; }
.crm-simple-kpi-grid button:hover { transform: translateY(-1px); border-color: #d7c18f; background: #fffaf0; }
.crm-simple-kpi-grid button.danger { border-color: #efd0c8; background: #fff8f6; }
.crm-simple-kpi-grid small { overflow: hidden; color: #758892; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .3px; text-overflow: ellipsis; white-space: nowrap; }
.crm-simple-kpi-grid strong { color: var(--brand-blue); font: 900 23px "Manrope"; }
.crm-simple-panel { padding: 0; overflow: hidden; }
.crm-simple-tabs { display: flex; gap: 8px; padding: 12px 14px 0; overflow-x: auto; border-top: 1px solid #edf1f3; background: #fff; }
.crm-simple-tabs button { flex: 0 0 auto; min-height: 34px; padding: 0 12px; border: 1px solid #dfe7ec; border-radius: 999px; background: #fbfcfd; color: #617582; font-size: 11px; font-weight: 900; cursor: pointer; white-space: nowrap; transition: .16s ease; }
.crm-simple-tabs button.active, .crm-simple-tabs button:hover { border-color: #c79d55; background: #fffaf0; color: #8a642a; }
.crm-simple-filters { display: grid; grid-template-columns: minmax(260px,1.4fr) repeat(auto-fit,minmax(135px,.75fr)); align-items: end; gap: 10px; padding: 12px 14px 14px; background: #fff; border-bottom: 1px solid #e8eef2; }
.crm-simple-table-wrap { overflow: auto; background: #f8fafb; }
.crm-simple-table { width: 100%; min-width: 1040px; border-collapse: separate; border-spacing: 0 9px; padding: 10px 12px 14px; }
.crm-simple-table th { padding: 0 9px 2px; color: #7b8c95; font-size: 9px; font-weight: 900; text-align: left; text-transform: uppercase; letter-spacing: .25px; white-space: nowrap; }
.crm-simple-table td { padding: 11px 9px; border-top: 1px solid #e3eaf0; border-bottom: 1px solid #e3eaf0; background: #fff; color: #344c58; font-size: 11px; vertical-align: middle; }
.crm-simple-table td:first-child { border-left: 4px solid var(--crm-row-color,#dce5ea); border-radius: 13px 0 0 13px; }
.crm-simple-table td:last-child { border-right: 1px solid #e3eaf0; border-radius: 0 13px 13px 0; }
.crm-simple-table tr.high-priority { --crm-row-color:#d65d4f; }
.crm-simple-table tr.overdue { --crm-row-color:#b94f4f; }
.crm-simple-table tr.missing { --crm-row-color:#c79d55; }
.crm-simple-table tr:hover td { background: #fffdf7; }
.crm-simple-table strong, .crm-simple-table small, .crm-simple-table span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crm-simple-table strong { color: #203d50; font-size: 12px; }
.crm-simple-table small { margin-top: 3px; color: #7d8d96; font-size: 9px; }
.crm-simple-cell-alert { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 4px; }
.crm-simple-cell-alert em { padding: 3px 6px; border-radius: 999px; background: #fff3df; color: #8b642a; font-size: 8px; font-style: normal; font-weight: 900; }
.crm-simple-status, .crm-simple-priority { display: inline-flex !important; align-items: center; width: fit-content; max-width: 100%; min-height: 24px; padding: 0 8px; border-radius: 999px; background: #eef3f7; color: var(--brand-blue); font-size: 9px; font-weight: 900; }
.crm-simple-status.hot, .crm-simple-priority.high { background: #fff0ef; color: #a74343; }
.crm-simple-status.warm, .crm-simple-priority.medium { background: #fff3df; color: #8c6428; }
.crm-simple-status.closed { background: #eaf4ef; color: #39785f; }
.crm-simple-status.lost { background: #f2f3f5; color: #7a858d; }
.crm-simple-actions { display: flex; flex-wrap: wrap; gap: 6px; min-width: 180px; }
.crm-simple-actions a, .crm-simple-actions button { min-height: 27px; display: inline-flex; align-items: center; justify-content: center; padding: 0 8px; border: 1px solid #d8e2e7; border-radius: 8px; background: #fff; color: var(--brand-blue); font-size: 9px; font-weight: 900; text-decoration: none; cursor: pointer; white-space: nowrap; }
.crm-simple-actions .primary { border-color: #c79d55; background: #fffaf0; color: #7d5a20; }
.crm-simple-actions .danger { border-color: #efd0c8; background: #fff8f6; color: #a74343; }
.crm-client-detail-dialog { width: min(1180px, calc(100vw - 34px)); max-height: min(92vh, 860px); overflow: auto; }
.crm-client-detail { display: grid; gap: 14px; }
.crm-client-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding-bottom: 12px; border-bottom: 1px solid #edf1f3; }
.crm-client-detail-head h2 { margin: 0; color: #102f4d; font: 900 24px "Manrope"; }
.crm-client-detail-head p { margin: 5px 0 0; color: #70818b; font-size: 12px; }
.crm-client-detail-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.crm-client-detail-card { padding: 11px; border: 1px solid #e3eaf0; border-radius: 12px; background: #fbfcfd; }
.crm-client-detail-card small, .crm-client-detail-card strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crm-client-detail-card small { color: #7d8d96; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .25px; }
.crm-client-detail-card strong { margin-top: 4px; color: #243f50; font-size: 12px; }
.crm-client-detail-section { padding: 13px; border: 1px solid #e3eaf0; border-radius: 13px; background: #fff; }
.crm-client-detail-section h3 { margin: 0 0 10px; color: #17364f; font: 900 14px "Manrope"; }
.crm-history-list, .crm-related-list { display: grid; gap: 8px; }
.crm-history-item, .crm-related-item { padding: 10px; border: 1px solid #e5ebef; border-radius: 10px; background: #fbfcfd; }
.crm-history-item strong, .crm-history-item small, .crm-related-item strong, .crm-related-item small { display: block; margin: 0; }
.crm-history-item strong, .crm-related-item strong { color: #263f4d; font-size: 11px; }
.crm-history-item small, .crm-related-item small { margin-top: 4px; color: #7f8f98; font-size: 10px; line-height: 1.4; }
.crm2-tabs { display: flex; gap: 8px; padding: 12px 14px 0; overflow-x: auto; border-top: 1px solid #edf1f3; background: #fff; }
.crm2-tabs button { flex: 0 0 auto; min-height: 34px; padding: 0 12px; border: 1px solid #dfe7ec; border-radius: 999px; background: #fbfcfd; color: #617582; font-size: 11px; font-weight: 800; cursor: pointer; white-space: nowrap; transition: .16s ease; }
.crm2-tabs button:hover { border-color: #cfdce3; background: #eef3f7; color: var(--brand-blue); }
.crm2-tabs button.active { border-color: #c79d55; background: #fffaf0; color: #8a642a; box-shadow: 0 6px 14px rgba(199,157,85,.1); }
.crm2-toolbar { display: grid; grid-template-columns: minmax(260px,1.4fr) minmax(145px,.7fr) minmax(135px,.7fr) minmax(130px,.7fr) auto; align-items: end; gap: 10px; padding: 12px 14px 14px; background: #fff; }
.crm2-tab-panel { display: none; padding: 14px; border-top: 1px solid #e8eef2; background: #f8fafb; }
.crm2-tab-panel.active { display: block; }
.crm2-kpi-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 14px; }
.crm2-overview-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.crm2-card, .crm2-pipeline-column, .crm2-table-wrap { min-width: 0; border: 1px solid #e2e9ee; border-radius: 14px; background: #fff; box-shadow: 0 8px 20px rgba(22,62,99,.035); overflow: hidden; }
.crm2-card { padding: 14px; }
.crm2-card-head, .crm2-section-head, .crm2-pipeline-column header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid #edf1f3; margin-bottom: 12px; }
.crm2-card-head strong, .crm2-section-head strong, .crm2-pipeline-column header strong { display: block; color: #17364f; font: 900 14px "Manrope"; }
.crm2-card-head small, .crm2-section-head small, .crm2-pipeline-column header small { display: block; margin-top: 4px; color: #81919a; font-size: 10px; line-height: 1.35; }
.crm2-section-head { margin-bottom: 12px; padding: 13px 14px; border: 1px solid #e2e9ee; border-radius: 14px; background: #fff; box-shadow: 0 8px 20px rgba(22,62,99,.035); }
.crm2-section-head .primary-button { min-height: 34px; padding: 0 12px; font-size: 11px; }
.crm2-mini-list { display: grid; gap: 8px; }
.crm2-mini-item { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 10px; border: 1px solid #e3eaf0; border-radius: 11px; background: #fbfcfd; }
.crm2-mini-item strong, .crm2-mini-item small, .crm2-mini-item span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crm2-mini-item strong { color: #293f4c; font-size: 11px; }
.crm2-mini-item small { margin-top: 3px; color: #7f9099; font-size: 9px; }
.crm2-mini-item span { color: var(--brand-blue); font: 900 11px "Manrope"; }
.crm2-pipeline { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.crm2-pipeline-column { min-height: 190px; }
.crm2-pipeline-column header { margin: 0; padding: 12px; background: linear-gradient(135deg,#fff,#f8fafb); }
.crm2-pipeline-column header > span { min-width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: #edf3f7; color: var(--brand-blue); font: 900 11px "Manrope"; }
.crm2-pipeline-cards { display: grid; gap: 9px; padding: 10px; align-content: start; }
.crm2-lead-card { display: grid; gap: 8px; padding: 11px; border: 1px solid #e2e9ee; border-left: 4px solid var(--crm2-color,#7b8e9b); border-radius: 12px; background: #fff; box-shadow: 0 4px 12px rgba(22,62,99,.025); }
.crm2-lead-card.hot { --crm2-color:#c79d55; background:#fffdf7; }
.crm2-lead-card.lost { --crm2-color:#b95454; background:#fffafa; }
.crm2-lead-card.confirmed { --crm2-color:#39785f; }
.crm2-lead-card strong, .crm2-lead-card small, .crm2-lead-card span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crm2-lead-card strong { color:#17364f; font-size:12px; }
.crm2-lead-card small { color:#7f9099; font-size:9px; }
.crm2-lead-card span { color:#8a642a; font-size:8px; font-weight:900; letter-spacing:.35px; text-transform:uppercase; }
.crm2-table-wrap { overflow-x: auto; }
.crm2-table { width: 100%; min-width: 980px; border-collapse: collapse; background: #fff; }
.crm2-table th, .crm2-table td { padding: 11px 10px; border-bottom: 1px solid #edf1f3; text-align: left; vertical-align: top; font-size: 11px; }
.crm2-table th { color: #617582; background: #fbfcfd; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .35px; white-space: nowrap; }
.crm2-table td strong, .crm2-table td small { display: block; }
.crm2-table td strong { color: #203948; font-size: 11px; }
.crm2-table td small { margin-top: 3px; color: #7f9099; font-size: 9px; line-height: 1.35; }
.crm2-status, .crm2-priority, .crm2-tag { display: inline-flex; align-items: center; min-height: 22px; padding: 0 8px; border-radius: 999px; background: #eef3f7; color: #536b7d; font-size: 9px; font-weight: 900; white-space: nowrap; }
.crm2-status.hot { background:#fff3df; color:#9a6328; }
.crm2-status.confirmed, .crm2-tag.good { background:#edf6f1; color:#39785f; }
.crm2-status.lost, .crm2-priority.high, .crm2-tag.bad { background:#fff0ef; color:#a74343; }
.crm2-priority.medium { background:#fff3df; color:#9a6328; }
.crm2-actions { display: flex; flex-wrap: wrap; gap: 6px; min-width: 210px; }
.crm2-actions button, .crm2-actions a { min-height: 28px; display: inline-flex; align-items: center; justify-content: center; padding: 0 8px; border: 1px solid #d8e2e7; border-radius: 8px; background: #fff; color: var(--brand-blue); font-size: 9px; font-weight: 900; text-decoration: none; cursor: pointer; white-space: nowrap; }
.crm2-actions button:hover, .crm2-actions a:hover { border-color: var(--brand-blue); background: #eef3f7; }
.crm2-actions .danger { color:#a74343; border-color:#efd1cc; background:#fffafa; }
.crm2-campaign-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); gap: 12px; }
.crm2-campaign-card { padding: 13px; border: 1px solid #e2e9ee; border-radius: 14px; background: #fff; box-shadow: 0 8px 20px rgba(22,62,99,.035); }
.crm2-campaign-card strong, .crm2-campaign-card small, .crm2-campaign-card p { display: block; margin: 0; }
.crm2-campaign-card strong { color:#17364f; font:900 13px "Manrope"; }
.crm2-campaign-card small { margin-top:4px; color:#7f9099; font-size:10px; }
.crm2-campaign-card p { margin-top:10px; color:#526876; font-size:11px; line-height:1.45; }
.crm2-report-grid { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:12px; }
.crm2-loss-card { grid-column: span 2; }
.crm2-lead-dialog { width: min(880px,100%); }
.crm-simple-layout { display: grid; grid-template-columns: minmax(250px,.82fr) minmax(420px,1.25fr) minmax(340px,.9fr); gap: 14px; padding: 14px; border-top: 1px solid #e8eef2; background: #f8fafb; }
.crm-opportunities-panel, .crm-directory-panel, .crm-detail-panel { min-width: 0; border: 1px solid #e2e9ee; border-radius: 14px; background: #fff; box-shadow: 0 8px 20px rgba(22,62,99,.035); overflow: hidden; }
.crm-opportunity-list, .crm-simple-contact-list { display: grid; gap: 9px; padding: 11px; max-height: min(72vh,760px); overflow: auto; }
.crm-opportunity-card { width: 100%; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 12px; border: 1px solid #e2e9ee; border-left: 4px solid #7b8e9b; border-radius: 12px; background: #fff; text-align: left; cursor: pointer; transition: .16s ease; }
.crm-opportunity-card:hover { transform: translateY(-1px); border-color: #cfdce3; box-shadow: 0 10px 22px rgba(22,62,99,.06); }
.crm-opportunity-card.overdue, .crm-opportunity-card.today { border-left-color: #b95454; background: #fffafa; }
.crm-opportunity-card.week { border-left-color: #c79d55; background: #fffdf7; }
.crm-opportunity-card.future { border-left-color: #39785f; }
.crm-opportunity-card span, .crm-opportunity-card strong, .crm-opportunity-card small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crm-opportunity-card span { color: #8a642a; font-size: 8px; font-weight: 900; letter-spacing: .35px; text-transform: uppercase; }
.crm-opportunity-card strong { margin-top: 4px; color: #17364f; font: 900 12px "Manrope"; }
.crm-opportunity-card small { margin-top: 4px; color: #758892; font-size: 9px; }
.crm-opportunity-card b { color: var(--brand-blue); font: 900 12px "Manrope"; white-space: nowrap; }
.crm-linked-grid { display: grid; grid-template-columns: 1fr; gap: 8px; margin-bottom: 12px; }
.crm-linked-grid button { min-width: 0; display: grid; gap: 4px; padding: 11px; border: 1px solid #e2e9ee; border-radius: 12px; background: #fbfcfd; text-align: left; cursor: pointer; transition: .16s ease; }
.crm-linked-grid button:hover { border-color: #c79d55; background: #fffaf0; box-shadow: 0 8px 18px rgba(22,62,99,.055); }
.crm-linked-grid span, .crm-linked-grid strong, .crm-linked-grid small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crm-linked-grid span { color: #87959d; font-size: 8px; font-weight: 900; letter-spacing: .35px; text-transform: uppercase; }
.crm-linked-grid strong { color: #17364f; font: 900 12px "Manrope"; }
.crm-linked-grid small { color: #7f9099; font-size: 9px; }
.crm-simple-row { width: 100%; display: grid; grid-template-columns: minmax(185px,.9fr) 128px minmax(190px,1fr) minmax(210px,1fr); gap: 10px; align-items: center; padding: 12px; border: 1px solid #e3eaf0; border-left: 4px solid #7b8e9b; border-radius: 12px; background: #fff; text-align: left; cursor: pointer; transition: .16s ease; }
.crm-simple-row.overdue, .crm-simple-row.today { border-left-color: #b95454; }
.crm-simple-row.week { border-left-color: #c79d55; }
.crm-simple-row.future { border-left-color: #39785f; }
.crm-simple-row:hover, .crm-simple-row.selected { border-color: #c79d55; background: #fffaf0; box-shadow: 0 10px 22px rgba(22,62,99,.055); }
.crm-simple-person { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 9px; align-items: center; min-width: 0; }
.crm-simple-person strong, .crm-simple-person small, .crm-return-cell span, .crm-return-cell strong, .crm-return-cell small, .crm-simple-opportunity span, .crm-simple-opportunity strong, .crm-simple-opportunity small, .crm-simple-note span, .crm-simple-note strong, .crm-simple-note small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crm-simple-person strong { color: #17364f; font-size: 12px; }
.crm-simple-person small, .crm-return-cell small, .crm-simple-opportunity small, .crm-simple-note small { margin-top: 3px; color: #7f9099; font-size: 9px; }
.crm-return-cell { padding: 9px; border-radius: 11px; background: #f7fafb; text-align: center; }
.crm-return-cell span, .crm-simple-opportunity span, .crm-simple-note span { color: #87959d; font-size: 8px; font-weight: 900; letter-spacing: .35px; text-transform: uppercase; }
.crm-return-cell strong { margin-top: 3px; color: #17364f; font: 900 19px "Manrope"; }
.crm-simple-row.overdue .crm-return-cell, .crm-simple-row.today .crm-return-cell { background: #fff0ef; }
.crm-simple-row.week .crm-return-cell { background: #fff3df; }
.crm-simple-row.future .crm-return-cell { background: #edf6f1; }
.crm-simple-opportunity strong, .crm-simple-note strong { margin-top: 3px; color: #293f4c; font-size: 11px; }
.crm-simple-return-box { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: end; margin: 12px 0; padding: 12px; border-radius: 13px; border-left: 4px solid #7b8e9b; background: #f7fafb; }
.crm-simple-return-box.overdue, .crm-simple-return-box.today { border-left-color: #b95454; background: #fff5f2; }
.crm-simple-return-box.week { border-left-color: #c79d55; background: #fff8ea; }
.crm-simple-return-box.future { border-left-color: #39785f; background: #f0f7f3; }
.crm-simple-return-box label span, .crm-note-editor label span, .crm-auto-opportunity-box span { display: block; margin-bottom: 6px; color: #7b8e9b; font-size: 9px; font-weight: 900; letter-spacing: .35px; text-transform: uppercase; }
.crm-simple-return-box input { width: 100%; min-height: 39px; padding: 7px 10px; border: 1px solid #dce4e9; border-radius: 9px; background: #fff; color: #293f4c; font-weight: 800; }
.crm-simple-return-box > strong { padding: 9px 10px; border-radius: 999px; background: #fff; color: var(--brand-blue); font-size: 10px; font-weight: 900; white-space: nowrap; }
.crm-auto-opportunity-box { margin-bottom: 12px; padding: 12px; border: 1px solid #e2e9ee; border-radius: 13px; background: linear-gradient(135deg,#fff,#fbf7ef); }
.crm-auto-opportunity-box strong, .crm-auto-opportunity-box small { display: block; }
.crm-auto-opportunity-box strong { color: #17364f; font: 900 14px "Manrope"; }
.crm-auto-opportunity-box p { margin: 6px 0; color: #5d7180; font-size: 11px; line-height: 1.45; }
.crm-auto-opportunity-box small { color: #8a642a; font-weight: 900; font-size: 10px; }
.crm-note-editor { display: grid; gap: 9px; padding: 12px; border: 1px solid #e2e9ee; border-radius: 13px; background: #fbfcfd; }
.crm-note-editor textarea { width: 100%; resize: vertical; min-height: 92px; padding: 10px; border: 1px solid #dce4e9; border-radius: 10px; outline: 0; background: #fff; color: #293f4c; font-size: 12px; line-height: 1.45; }
.crm-note-editor button { min-height: 36px; border: 0; border-radius: 9px; background: var(--brand-blue); color: #fff; font-size: 11px; font-weight: 900; cursor: pointer; }
.crm-history-list { display: grid; gap: 8px; }
.crm-history-note { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 9px; align-items: center; padding: 9px; border: 1px solid #e2e9ee; border-radius: 11px; background: #fbfcfd; }
.crm-history-note > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: #eef3f7; color: var(--brand-blue); font-size: 9px; font-weight: 900; }
.crm-history-note strong, .crm-history-note small { display: block; }
.crm-history-note strong { color: #293f4c; font-size: 11px; line-height: 1.35; }
.crm-history-note small { margin-top: 3px; color: #7f9099; font-size: 9px; }
.crm-simple-actions { margin-top: 12px; }
.crm-heading-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.crm-command-grid { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 14px; padding: 14px; border-top: 1px solid #e8eef2; background: #f8fafb; }
.crm-stage-strip { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; }
.crm-stage-chip { min-width: 0; min-height: 78px; display: grid; align-content: center; gap: 4px; padding: 10px; border: 1px solid #e1e8ed; border-radius: 12px; background: #fff; text-align: left; cursor: pointer; transition: .16s ease; }
.crm-stage-chip:hover { transform: translateY(-1px); border-color: #cfdce3; box-shadow: 0 8px 18px rgba(22,62,99,.055); }
.crm-stage-chip span, .crm-stage-chip strong, .crm-stage-chip small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crm-stage-chip span { color: #748792; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .25px; }
.crm-stage-chip strong { color: #17364f; font: 900 20px "Manrope"; }
.crm-stage-chip small { color: #7e8f99; font-size: 9px; }
.crm-stage-chip.attention { border-left: 4px solid #b95454; }
.crm-stage-chip.deal { border-left: 4px solid #c77b2d; }
.crm-stage-chip.active { border-left: 4px solid #39785f; }
.crm-stage-chip.recurring { border-left: 4px solid #c79d55; }
.crm-stage-chip.new, .crm-stage-chip.after { border-left: 4px solid #7b8e9b; }
.crm-health-panel { display: grid; gap: 8px; }
.crm-health-panel article { min-width: 0; display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 9px; align-items: center; padding: 9px; border: 1px solid #e2e9ee; border-radius: 12px; background: #fff; }
.crm-health-panel article > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: #eef3f7; color: var(--brand-blue); font-size: 10px; font-weight: 900; }
.crm-health-panel article > span.warn { background: #fff0ef; color: #a74343; }
.crm-health-panel article > span.good { background: #eaf4ef; color: #39785f; }
.crm-health-panel strong, .crm-health-panel small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crm-health-panel strong { color: #293f4c; font-size: 11px; }
.crm-health-panel small { margin-top: 3px; color: #7f9099; font-size: 9px; }
.crm-pro-workspace { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(360px,.75fr); gap: 14px; padding: 0 14px 14px; background: #f8fafb; }
.crm-directory-panel, .crm-detail-panel { min-width: 0; border: 1px solid #e2e9ee; border-radius: 14px; background: #fff; box-shadow: 0 8px 20px rgba(22,62,99,.035); overflow: hidden; }
.crm-contact-list { display: grid; gap: 8px; padding: 11px; max-height: min(68vh,720px); overflow: auto; }
.crm-list-row { width: 100%; display: grid; grid-template-columns: minmax(210px,1.25fr) minmax(142px,.75fr) minmax(170px,1fr) minmax(185px,1fr) minmax(96px,.55fr); gap: 10px; align-items: center; padding: 11px; border: 1px solid #e3eaf0; border-radius: 12px; background: #fff; text-align: left; cursor: pointer; transition: .16s ease; }
.crm-list-row:hover, .crm-list-row.selected { border-color: #c79d55; background: #fffaf0; box-shadow: 0 10px 22px rgba(22,62,99,.055); }
.crm-list-contact { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 9px; align-items: center; min-width: 0; }
.crm-list-contact strong, .crm-list-contact small, .crm-list-stage strong, .crm-list-stage small, .crm-list-action strong, .crm-list-action small, .crm-list-reservation strong, .crm-list-reservation small, .crm-list-value strong, .crm-list-value small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crm-list-contact strong { color: #17364f; font-size: 12px; }
.crm-list-contact small, .crm-list-stage small, .crm-list-action small, .crm-list-reservation small, .crm-list-value small { margin-top: 3px; color: #7f9099; font-size: 9px; }
.crm-list-stage strong, .crm-list-action strong, .crm-list-reservation strong { color: #293f4c; font-size: 11px; }
.crm-list-value { text-align: right; }
.crm-list-value strong { color: var(--brand-blue); font: 900 12px "Manrope"; }
.crm-priority-badge { display: inline-flex; align-items: center; min-height: 21px; margin-bottom: 4px; padding: 0 7px; border-radius: 999px; font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .25px; }
.crm-priority-badge.high { color: #a74343; background: #fff0ef; }
.crm-priority-badge.medium { color: #9a6328; background: #fff3df; }
.crm-priority-badge.low { color: #557668; background: #edf4f0; }
.crm-detail-panel { align-self: start; padding: 13px; }
.crm-detail-empty { min-height: 360px; display: grid; place-items: center; align-content: center; gap: 8px; color: #7f9099; text-align: center; }
.crm-detail-empty span { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 16px; background: #eef3f7; color: var(--brand-blue); font-weight: 900; }
.crm-detail-empty strong { color: #293f4c; font: 900 15px "Manrope"; }
.crm-detail-empty p { max-width: 250px; margin: 0; font-size: 11px; line-height: 1.45; }
.crm-detail-head { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 10px; align-items: center; padding-bottom: 12px; border-bottom: 1px solid #edf1f3; }
.crm-detail-head .guest-avatar { width: 44px; height: 44px; }
.crm-detail-head strong, .crm-detail-head small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crm-detail-head strong { color: #17364f; font: 900 16px "Manrope"; }
.crm-detail-head small { margin-top: 3px; color: #7f9099; font-size: 10px; }
.crm-next-action-card { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 12px 0; padding: 12px; border-radius: 13px; background: #eef3f7; border-left: 4px solid var(--brand-blue); }
.crm-next-action-card.high { background: #fff5f2; border-left-color: #b95454; }
.crm-next-action-card.medium { background: #fff8ea; border-left-color: #c79d55; }
.crm-next-action-card.low { background: #f0f7f3; border-left-color: #557668; }
.crm-next-action-card span, .crm-next-action-card strong, .crm-next-action-card small { display: block; }
.crm-next-action-card span { color: #7b8e9b; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.crm-next-action-card strong { margin-top: 3px; color: #17364f; font: 900 13px "Manrope"; }
.crm-next-action-card small { margin-top: 3px; color: #637784; font-size: 10px; }
.crm-next-action-buttons { display: flex; flex-direction: column; gap: 6px; flex: 0 0 auto; }
.crm-next-action-card button, .crm-detail-section-head button { flex: 0 0 auto; min-height: 30px; padding: 0 9px; border: 1px solid #d8e2e7; border-radius: 8px; background: white; color: var(--brand-blue); font-size: 9px; font-weight: 900; cursor: pointer; }
.crm-next-action-card button:hover, .crm-detail-section-head button:hover { border-color: var(--brand-blue); background: #eef3f7; }
.crm-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.crm-detail-grid div { min-width: 0; padding: 9px; border-radius: 10px; background: #f7fafb; }
.crm-detail-grid span, .crm-detail-grid strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crm-detail-grid span { color: #87959d; font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .35px; }
.crm-detail-grid strong { margin-top: 4px; color: #293f4c; font-size: 11px; }
.crm-alert-box { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0; padding: 10px; border-radius: 12px; background: #fbfcfd; border: 1px solid #e2e9ee; }
.crm-alert-box strong { flex: 0 0 100%; color: #17364f; font-size: 11px; }
.crm-alert-box span { min-height: 22px; display: inline-flex; align-items: center; padding: 0 8px; border-radius: 999px; background: #fff3df; color: #8a642a; font-size: 9px; font-weight: 900; }
.crm-alert-box small { color: #7f9099; font-size: 10px; }
.crm-detail-section { margin-top: 12px; }
.crm-detail-section-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.crm-detail-section-head strong { color: #17364f; font: 900 12px "Manrope"; }
.crm-detail-reservations, .crm-timeline { display: grid; gap: 8px; }
.crm-detail-reservation, .crm-timeline-item { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; gap: 9px; align-items: center; padding: 9px; border: 1px solid #e2e9ee; border-radius: 11px; background: #fbfcfd; }
.crm-timeline-item { grid-template-columns: 34px minmax(0,1fr); }
.crm-detail-reservation > span, .crm-timeline-item > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: #eef3f7; color: var(--brand-blue); font-size: 9px; font-weight: 900; }
.crm-detail-reservation.current > span { background: #eaf4ef; color: #39785f; }
.crm-detail-reservation.upcoming > span { background: #fff3df; color: #9a6328; }
.crm-detail-reservation strong, .crm-detail-reservation small, .crm-timeline-item strong, .crm-timeline-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crm-detail-reservation strong, .crm-timeline-item strong { color: #293f4c; font-size: 11px; }
.crm-detail-reservation small, .crm-timeline-item small { margin-top: 3px; color: #7f9099; font-size: 9px; }
.crm-detail-reservation b { color: #7b8e9b; font-size: 9px; white-space: nowrap; }
.crm-detail-note { padding: 12px; border: 1px dashed #dce5ea; border-radius: 10px; background: #fbfcfd; color: #7f9099; font-size: 10px; line-height: 1.45; }

/* CRM horizontal e sem corte */
#crmPage .crm-simple-layout { grid-template-columns: 1fr; gap: 12px; padding: 12px 14px 16px; }
#crmPage .crm-opportunities-panel, #crmPage .crm-directory-panel, #crmPage #crmSimpleDetailPanel { width: 100%; overflow: visible; }
#crmPage .crm-opportunity-list { grid-template-columns: repeat(auto-fit,minmax(255px,1fr)); align-items: stretch; max-height: none; overflow: visible; }
#crmPage .crm-opportunity-card { min-height: 96px; }
#crmPage .crm-simple-contact-list { max-height: none; overflow: visible; }
#crmPage .crm-simple-row { grid-template-columns: minmax(210px,.95fr) 150px minmax(240px,1.15fr) minmax(260px,1.25fr); min-height: 82px; }
#crmPage .crm-simple-note strong, #crmPage .crm-simple-opportunity strong { white-space: normal; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
#crmPage #crmSimpleDetailPanel { display: grid; grid-template-columns: minmax(250px,.75fr) minmax(300px,.95fr) minmax(320px,1fr); gap: 12px; padding: 12px; align-items: start; }
#crmPage #crmSimpleDetailPanel .crm-detail-head { grid-column: 1; }
#crmPage #crmSimpleDetailPanel .crm-simple-return-box { grid-column: 1; margin: 0; }
#crmPage #crmSimpleDetailPanel .crm-auto-opportunity-box { grid-column: 2; grid-row: 1 / span 2; margin: 0; min-height: 100%; }
#crmPage #crmSimpleDetailPanel .crm-note-editor { grid-column: 3; grid-row: 1 / span 2; min-height: 100%; }
#crmPage #crmSimpleDetailPanel .crm-linked-grid { grid-column: 1 / -1; margin: 0; }
#crmPage #crmSimpleDetailPanel .crm-detail-section { margin-top: 0; }
#crmPage #crmSimpleDetailPanel .crm-observations-section { grid-column: 1 / span 2; }
#crmPage #crmSimpleDetailPanel .crm-reservations-section { grid-column: 3; }
#crmPage #crmSimpleDetailPanel .crm-simple-actions { grid-column: 1 / -1; margin: 0; }
#crmPage .crm-history-list, #crmPage .crm-detail-reservations { max-height: 240px; overflow: auto; padding-right: 2px; }

/* Contratos e documentos */
.documents-heading { align-items: flex-end; }
.documents-heading-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.documents-summary-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-bottom: 14px; }
.documents-panel { padding: 0; overflow: hidden; }
.documents-filters { display: grid; grid-template-columns: minmax(260px,1.4fr) minmax(155px,.8fr) minmax(145px,.75fr) minmax(120px,.65fr) auto; align-items: end; gap: 10px; padding: 12px 16px 16px; border-top: 1px solid #edf1f3; }
.documents-workspace { display: grid; grid-template-columns: minmax(0,1fr) 350px; gap: 14px; padding: 14px; background: #f8fafb; border-top: 1px solid #e8eef2; }
.documents-main-list, .document-dossier-card { min-width: 0; border: 1px solid #e2e9ee; border-radius: 14px; background: white; box-shadow: 0 8px 20px rgba(22,62,99,.035); }
.documents-list-head { min-height: 56px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 14px; border-bottom: 1px solid #edf1f3; }
.documents-list-head strong, .documents-list-head small { display: block; }
.documents-list-head strong { color: #18384f; font: 800 15px "Manrope"; }
.documents-list-head small { margin-top: 3px; color: #81919a; font-size: 10px; }
.documents-list-head > span { padding: 7px 9px; border-radius: 999px; background: #f7f0df; color: #8a642a; font-size: 10px; font-weight: 800; white-space: nowrap; }
.documents-card-list { display: grid; gap: 10px; padding: 12px; }
.document-card { display: grid; grid-template-columns: 42px 1fr auto; gap: 11px; align-items: start; padding: 13px; border: 1px solid #e1e8ed; border-left: 4px solid var(--doc-color,#163e63); border-radius: 13px; background: #fff; box-shadow: 0 4px 12px rgba(22,62,99,.025); transition: .16s ease; }
.document-card:hover { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(22,62,99,.06); border-color: #cfdce3; }
.document-card.contract { --doc-color:#163e63; }
.document-card.guest-doc { --doc-color:#6f57a8; }
.document-card.payment { --doc-color:#3f735a; }
.document-card.term { --doc-color:#c77b2d; }
.document-card.signature { --doc-color:#8d6b35; }
.document-card.archived { opacity:.65; filter:saturate(.65); }
.document-card-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: #edf3f7; color: var(--doc-color,#163e63); font: 900 12px "Manrope"; }
.document-card-main { min-width: 0; }
.document-card-top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 7px; }
.document-type-badge, .document-status-badge, .document-mode-badge { display: inline-flex; align-items: center; min-height: 22px; padding: 0 8px; border-radius: 999px; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .25px; }
.document-type-badge { color: var(--doc-color,#163e63); background: #edf3f7; }
.document-mode-badge { color: #8a642a; background: var(--brand-gold-soft); }
.document-status-badge.pending, .document-status-badge.review { color: #9a6328; background: #fff3df; }
.document-status-badge.valid { color: #37755b; background: #edf6f1; }
.document-status-badge.signature { color: #68529c; background: #f1edf9; }
.document-status-badge.expired { color: #a74343; background: #fff0ef; }
.document-status-badge.archived { color: #687780; background: #eef1f3; }
.document-card h3 { margin: 0; color: #17364f; font: 800 15px "Manrope"; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.document-card p { margin: 5px 0 0; color: #6d7f89; font-size: 11px; line-height: 1.45; }
.document-card-meta { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; margin-top: 11px; }
.document-card-meta div { min-width: 0; padding: 8px; border-radius: 9px; background: #f7fafb; }
.document-card-meta span, .document-card-meta strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.document-card-meta span { color: #87959d; font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .35px; }
.document-card-meta strong { margin-top: 4px; color: #293f4c; font-size: 11px; }
.document-card-actions { display: flex; flex-direction: column; gap: 7px; align-items: stretch; min-width: 136px; }
.document-card-actions button { min-height: 32px; padding: 0 10px; border: 1px solid #d8e2e7; border-radius: 8px; background: white; color: var(--brand-blue); font-size: 10px; font-weight: 800; cursor: pointer; white-space: nowrap; }
.document-card-actions button:hover { border-color: var(--brand-blue); background: #eef3f7; }
.document-card-actions .primary-lite { border-color: #dac394; background: #fffaf0; color: #85652f; }
.document-card-actions .success-lite { border-color: #c8d9cf; background: #f0f7f3; color: #3f735a; }
.document-card-actions button:disabled { opacity:.56; cursor: default; }
.document-dossier-card { padding: 14px; align-self: start; }
.document-dossier-head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.document-dossier-head > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: linear-gradient(145deg,#f3dfb1,#c79d55); color: var(--brand-blue-dark); font-weight: 900; }
.document-dossier-head strong, .document-dossier-head small { display: block; }
.document-dossier-head strong { color: #18384f; font-size: 13px; }
.document-dossier-head small { margin-top: 3px; color: #7d8c95; font-size: 10px; }
.document-dossier-summary { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; margin: 12px 0; }
.document-dossier-summary div { padding: 9px; border-radius: 10px; background: #f7fafb; }
.document-dossier-summary span, .document-dossier-summary strong { display: block; }
.document-dossier-summary span { color: #87959d; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.document-dossier-summary strong { margin-top: 4px; color: #263f50; font: 800 13px "Manrope"; }
.document-checklist { display: grid; gap: 8px; }
.document-check-item { display: grid; grid-template-columns: 28px 1fr auto; gap: 8px; align-items: center; padding: 9px; border: 1px solid #e4eaee; border-radius: 10px; background: #fbfcfd; }
.document-check-item.done { background: #f2f8f5; border-color: #dcebe3; }
.document-check-item.pending { background: #fffaf0; border-color: #eadcc0; }
.document-check-item > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: #edf3f7; color: var(--brand-blue); font-size: 10px; font-weight: 900; }
.document-check-item.done > span { background: #dfeee7; color: #37755b; }
.document-check-item.pending > span { background: #f7e8c9; color: #8a642a; }
.document-check-item strong, .document-check-item small { display: block; }
.document-check-item strong { color: #293f4c; font-size: 11px; }
.document-check-item small { margin-top: 3px; color: #7f8f98; font-size: 9px; }
.document-check-item b { color: #7b8e9b; font-size: 9px; text-transform: uppercase; }
.document-editor-dialog { width: min(840px,100%); }
.document-field-wide { grid-column: 1 / -1; }
.document-file-preview { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.document-file-preview span { display: inline-flex; align-items: center; gap: 5px; min-height: 27px; padding: 0 9px; border-radius: 999px; background: #eef3f7; color: #496475; font-size: 10px; font-weight: 800; }
.document-preview-dialog { width: min(920px,100%); }
.document-print-sheet { margin-top: 14px; padding: 28px; border: 1px solid #dfe7ec; border-radius: 12px; background: #fff; color: #203948; box-shadow: inset 0 0 0 1px rgba(22,62,99,.02); }
.template-page-view { padding-bottom: 18px; }
.document-template-page-shell { min-height: calc(100vh - 210px); display: flex; flex-direction: column; padding: 14px; border: 1px solid #e2e9ee; border-radius: 16px; background: #f8fafb; box-shadow: 0 8px 20px rgba(22,62,99,.035); }
.document-template-layout { flex: 1; min-height: 0; }
.document-template-selector { height: 100%; overflow-y: auto; padding: 4px 2px 10px; }
.document-template-selector-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; padding: 16px; border: 1px solid #e2e9ee; border-radius: 14px; background: linear-gradient(135deg,#fbfcfd,#f7f0df); }
.document-template-selector-head strong, .document-template-selector-head small { display: block; }
.document-template-selector-head strong { color: #173e63; font: 900 17px "Manrope"; }
.document-template-selector-head small { margin-top: 5px; color: #718391; font-size: 12px; }
.document-template-workspace { height: 100%; min-width: 0; display: grid; grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); gap: 14px; align-items: stretch; }
#documentTemplatesPage:not(.template-editing) .document-template-workspace { display: none; }
#documentTemplatesPage.template-editing .document-template-selector { display: none; }
.document-template-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); align-content: start; gap: 11px; overflow: visible; padding-right: 2px; }
.document-template-card { width: 100%; padding: 12px; border: 1px solid #e2e9ee; border-radius: 12px; background: #fbfcfd; text-align: left; cursor: pointer; transition: .16s ease; }
.document-template-card:hover, .document-template-card.active { border-color: #c79d55; background: #fffaf0; box-shadow: 0 10px 22px rgba(22,62,99,.06); }
.document-template-card span, .document-template-card strong, .document-template-card small { display: block; }
.document-template-card span { color: #8a642a; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .35px; }
.document-template-card strong { margin-top: 5px; color: #173e63; font: 800 13px "Manrope"; }
.document-template-card small { margin-top: 5px; color: #7d8e97; font-size: 10px; line-height: 1.35; }
.document-template-form, .document-template-preview-panel { min-width: 0; min-height: 0; padding: 14px; border: 1px solid #e2e9ee; border-radius: 14px; background: #fff; box-shadow: 0 8px 20px rgba(22,62,99,.035); overflow: hidden; }
.document-template-editor-head, .document-template-preview-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px solid #edf1f3; }
.document-template-editor-head strong, .document-template-editor-head small, .document-template-preview-head strong, .document-template-preview-head small { display: block; }
.document-template-editor-head strong, .document-template-preview-head strong { color: #173e63; font: 900 14px "Manrope"; }
.document-template-editor-head small, .document-template-preview-head small { margin-top: 4px; color: #7d8e97; font-size: 10px; line-height: 1.35; }
.document-template-editor-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.document-template-editor-actions > span { flex: 0 0 auto; max-width: 210px; padding: 7px 9px; border-radius: 999px; background: #f7f0df; color: #8a642a; font-size: 10px; font-weight: 900; text-align: right; }
.document-template-form { display: flex; flex-direction: column; }
.document-template-form .form-grid { flex: 1; min-height: 0; align-content: start; }
.template-body-input { min-height: min(50vh,520px); resize: vertical; font-family: "Consolas","Courier New",monospace; font-size: 13px; line-height: 1.65; }
.document-template-tokens { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.document-template-tokens button { min-height: 28px; padding: 0 9px; border: 1px solid #dfe7ec; border-radius: 999px; background: #eef3f7; color: #476171; font-size: 10px; font-weight: 800; cursor: pointer; }
.document-template-tokens button:hover { border-color: #c79d55; background: #fffaf0; color: #8a642a; }
.document-template-preview-panel { display: flex; flex-direction: column; background: #f8fafb; }
.document-template-preview-head label { min-width: 210px; display: grid; gap: 5px; }
.document-template-preview-head label span { color: #7b8e9b; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .35px; }
.document-template-preview-head select { width: 100%; min-height: 34px; border: 1px solid #dfe7ec; border-radius: 9px; padding: 0 9px; background: #fff; color: #293f4c; font-size: 11px; font-weight: 800; }
.document-template-preview { flex: 1; min-height: 0; overflow-y: auto; overflow-x: hidden; padding: 18px; border-radius: 12px; background: linear-gradient(135deg,#eef3f7,#f8fafb); }
.document-template-paper { width: min(100%,760px); margin: 0 auto; padding: 28px; border: 1px solid #dfe7ec; border-radius: 12px; background: #fff; box-shadow: 0 18px 44px rgba(22,62,99,.12); }
.print-doc-head { display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: start; padding-bottom: 18px; border-bottom: 2px solid #173e63; }
.print-doc-brand strong, .print-doc-brand small { display: block; }
.print-doc-brand strong { color: #173e63; font: 900 18px "Manrope"; letter-spacing: .08em; text-transform: uppercase; }
.print-doc-brand small { margin-top: 4px; color: #7d8e97; font-size: 11px; }
.print-doc-code { padding: 8px 10px; border-radius: 10px; background: #f7f0df; color: #8a642a; font-size: 11px; font-weight: 900; text-align: right; }
.print-doc-title { margin: 24px 0 16px; text-align: center; }
.print-doc-title h3 { margin: 0; color: #173e63; font: 900 21px "Manrope"; text-transform: uppercase; letter-spacing: .04em; }
.print-doc-title p { margin: 7px 0 0; color: #718391; font-size: 12px; }
.print-doc-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; margin: 16px 0; }
.print-doc-grid div { padding: 10px; border: 1px solid #e3e9ed; border-radius: 9px; background: #fbfcfd; }
.print-doc-grid span, .print-doc-grid strong { display: block; }
.print-doc-grid span { color: #7b8e9b; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .45px; }
.print-doc-grid strong { margin-top: 4px; color: #203948; font-size: 12px; }
.print-doc-section { margin-top: 16px; }
.print-doc-section h4 { margin: 0 0 8px; color: #173e63; font: 900 12px "Manrope"; text-transform: uppercase; letter-spacing: .04em; }
.print-doc-section p, .print-doc-section li { color: #374f5d; font-size: 12px; line-height: 1.65; }
.print-doc-section p { margin: 0 0 8px; }
.print-doc-section ol { margin: 0; padding-left: 18px; }
.print-doc-value-box { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 18px 0; padding: 14px 16px; border-radius: 12px; background: #fbf7ef; color: #7b5d2e; }
.print-doc-value-box span, .print-doc-value-box strong { display: block; }
.print-doc-value-box span { font-size: 10px; font-weight: 900; text-transform: uppercase; }
.print-doc-value-box strong { color: #173e63; font: 900 22px "Manrope"; }
.print-signatures { display: grid; grid-template-columns: repeat(2,1fr); gap: 28px; margin-top: 46px; }
.print-signatures div { padding-top: 10px; border-top: 1px solid #203948; text-align: center; }
.print-signatures strong, .print-signatures small { display: block; }
.print-signatures strong { color: #203948; font-size: 12px; }
.print-signatures small { margin-top: 4px; color: #7d8e97; font-size: 10px; }
.print-signatures .signature-ready { border-top-color: #c79d55; }
.amaros-signature-mark { color: #173e63 !important; font: 700 22px "Segoe Script","Brush Script MT",cursive !important; letter-spacing: .02em; }
.print-doc-footer { margin-top: 24px; padding-top: 12px; border-top: 1px solid #e3e9ed; color: #8a99a1; font-size: 10px; text-align: center; }

/* Manutenção */
.maintenance-mode header #newReservation { display: none; }
.maintenance-heading { align-items: flex-end; }
.maintenance-summary-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-bottom: 14px; }
.maintenance-board-panel { padding: 0; overflow: hidden; }
.maintenance-filters { display: grid; grid-template-columns: minmax(260px,1.4fr) minmax(135px,.75fr) minmax(150px,.9fr) minmax(120px,.65fr) minmax(120px,.65fr) auto; align-items: end; gap: 10px; padding: 12px 16px 16px; border-top: 1px solid #edf1f3; }
.maintenance-workspace { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 14px; padding: 14px; background: #f8fafb; border-top: 1px solid #e8eef2; }
.maintenance-main-list, .maintenance-history-card { min-width: 0; border: 1px solid #e2e9ee; border-radius: 14px; background: white; box-shadow: 0 8px 20px rgba(22,62,99,.035); }
.maintenance-list-head { min-height: 56px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 14px; border-bottom: 1px solid #edf1f3; }
.maintenance-list-head strong, .maintenance-list-head small { display: block; }
.maintenance-list-head strong { color: #18384f; font: 800 15px "Manrope"; }
.maintenance-list-head small { margin-top: 3px; color: #81919a; font-size: 10px; }
.maintenance-list-head > span { padding: 7px 9px; border-radius: 999px; background: #f7f0df; color: #8a642a; font-size: 10px; font-weight: 800; white-space: nowrap; }
.maintenance-ticket-list { display: grid; gap: 10px; padding: 12px; }
.maintenance-ticket-card { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 13px; border: 1px solid #e1e8ed; border-left: 4px solid var(--ticket-color,#7d91a0); border-radius: 13px; background: #fff; box-shadow: 0 4px 12px rgba(22,62,99,.025); transition: .16s ease; }
.maintenance-ticket-card:hover { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(22,62,99,.06); border-color: #cfdce3; }
.maintenance-ticket-card.link-highlight { border-color: #d4b16b; box-shadow: 0 0 0 3px rgba(212,177,107,.18), 0 10px 22px rgba(22,62,99,.06); }
.maintenance-ticket-card.urgent { --ticket-color:#b95454; }
.maintenance-ticket-card.high { --ticket-color:#c77b2d; }
.maintenance-ticket-card.medium { --ticket-color:#6f57a8; }
.maintenance-ticket-card.low { --ticket-color:#557668; }
.maintenance-ticket-card.done { opacity: .68; filter: saturate(.65); }
.maintenance-ticket-main { min-width: 0; }
.maintenance-ticket-top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 8px; }
.maintenance-priority, .maintenance-status, .maintenance-finance-tag, .maintenance-part-tag { display: inline-flex; align-items: center; min-height: 22px; padding: 0 8px; border-radius: 999px; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .25px; }
.maintenance-priority.urgent { color: #a74343; background: #fff0ef; }
.maintenance-priority.high { color: #9a6328; background: #fff3df; }
.maintenance-priority.medium { color: #68529c; background: #f1edf9; }
.maintenance-priority.low { color: #557668; background: #edf4f0; }
.maintenance-status.open { color: #9a6328; background: #fff3df; }
.maintenance-status.accepted { color: #7a6424; background: #fff8db; }
.maintenance-status.progress { color: #315f82; background: #eaf4fb; }
.maintenance-status.waiting { color: #7b5f91; background: #f4eef9; }
.maintenance-status.done { color: #687780; background: #eef1f3; }
.maintenance-status.cancelled { color: #9a4a3e; background: #faece8; }
.maintenance-finance-tag.pending { color: #93692d; background: var(--brand-gold-soft); }
.maintenance-finance-tag.sent { color: #376b57; background: #eaf4ef; }
.maintenance-finance-tag.none { color: #687780; background: #eef1f3; }
.maintenance-part-tag.pending { color: #7b5f91; background: #f4eef9; }
.maintenance-part-tag.received { color: #376b57; background: #eaf4ef; }
.maintenance-ticket-card h3 { margin: 0; color: #17364f; font: 800 15px "Manrope"; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.maintenance-ticket-card p { margin: 5px 0 0; color: #6d7f89; font-size: 11px; line-height: 1.45; }
.maintenance-ticket-meta { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 7px; margin-top: 11px; }
.maintenance-ticket-meta div { min-width: 0; padding: 8px; border-radius: 9px; background: #f7fafb; }
.maintenance-ticket-meta span, .maintenance-ticket-meta strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.maintenance-ticket-meta span { color: #87959d; font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .35px; }
.maintenance-ticket-meta strong { margin-top: 4px; color: #293f4c; font-size: 11px; }
.maintenance-ticket-actions { display: flex; flex-direction: column; gap: 7px; align-items: stretch; min-width: 132px; }
.maintenance-ticket-actions button { min-height: 32px; padding: 0 10px; border: 1px solid #d8e2e7; border-radius: 8px; background: white; color: var(--brand-blue); font-size: 10px; font-weight: 800; cursor: pointer; white-space: nowrap; }
.maintenance-ticket-actions button:hover { border-color: var(--brand-blue); background: #eef3f7; }
.maintenance-ticket-actions .primary-lite { border-color: #dac394; background: #fffaf0; color: #85652f; }
.maintenance-ticket-actions .success-lite { border-color: #c8d9cf; background: #f0f7f3; color: #3f735a; }
.maintenance-ticket-actions button:disabled { opacity: .56; cursor: default; }
.maintenance-history-card { padding: 14px; align-self: start; }
.maintenance-history-head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.maintenance-history-head > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: linear-gradient(145deg,#f3dfb1,#c79d55); color: var(--brand-blue-dark); font-weight: 900; }
.maintenance-history-head strong, .maintenance-history-head small { display: block; }
.maintenance-history-head strong { color: #18384f; font-size: 13px; }
.maintenance-history-head small { margin-top: 3px; color: #7d8c95; font-size: 10px; }
.maintenance-property-snapshot { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; margin: 12px 0; }
.maintenance-property-snapshot div { padding: 9px; border-radius: 10px; background: #f7fafb; }
.maintenance-property-snapshot span, .maintenance-property-snapshot strong { display: block; }
.maintenance-property-snapshot span { color: #87959d; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.maintenance-property-snapshot strong { margin-top: 4px; color: #263f50; font: 800 13px "Manrope"; }
.maintenance-history-list { display: grid; gap: 8px; max-height: 410px; overflow-y: auto; padding-right: 2px; }
.maintenance-history-item { display: grid; grid-template-columns: 30px 1fr; gap: 8px; padding: 9px; border: 1px solid #e4eaee; border-radius: 10px; background: #fbfcfd; }
.maintenance-history-item > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: #edf3f7; color: var(--brand-blue); font-size: 10px; font-weight: 900; }
.maintenance-history-item strong, .maintenance-history-item small { display: block; }
.maintenance-history-item strong { color: #293f4c; font-size: 11px; }
.maintenance-history-item small { margin-top: 4px; color: #7f8f98; font-size: 9px; line-height: 1.35; }
.maintenance-finance-panel { margin: 0 14px 14px; padding: 14px; border: 1px solid #e2e9ee; border-radius: 14px; background: #fff; box-shadow: 0 8px 20px rgba(22,62,99,.035); }
.maintenance-finance-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.maintenance-finance-head strong, .maintenance-finance-head small { display: block; }
.maintenance-finance-head strong { color: #18384f; font: 800 14px "Manrope"; }
.maintenance-finance-head small { margin-top: 3px; color: #81919a; font-size: 10px; }
.maintenance-finance-head > span { padding: 7px 9px; border-radius: 999px; background: #eef4ef; color: #376b57; font-size: 10px; font-weight: 900; white-space: nowrap; }
.maintenance-finance-list { display: grid; gap: 8px; }
.maintenance-finance-card { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 11px; border: 1px solid #e5ebef; border-radius: 11px; background: #fbfcfd; }
.maintenance-finance-card strong, .maintenance-finance-card small { display: block; }
.maintenance-finance-card strong { color: #263f4d; font-size: 12px; }
.maintenance-finance-card small, .maintenance-finance-card p { color: #7f8f98; font-size: 10px; }
.maintenance-finance-card p { margin: 4px 0 0; }
.maintenance-finance-card button { min-height: 31px; padding: 0 10px; border: 1px solid #dac394; border-radius: 9px; background: #fffaf0; color: #85652f; font-size: 10px; font-weight: 900; cursor: pointer; white-space: nowrap; }
.maintenance-finance-card button:disabled { opacity: .55; cursor: default; }
.maintenance-editor-dialog { width: min(820px,100%); }
.maintenance-field-wide { grid-column: 1 / -1; }
.maintenance-photo-preview { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.maintenance-photo-preview span { display: inline-flex; align-items: center; gap: 5px; min-height: 27px; padding: 0 9px; border-radius: 999px; background: #eef3f7; color: #496475; font-size: 10px; font-weight: 800; }

/* Hóspedes */
.guest-mode header #newReservation { display: none; }
.guests-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.guest-summary { display: grid; grid-template-columns: repeat(4,1fr); margin-bottom: 13px; border: 1px solid var(--line); border-radius: 10px; background: white; overflow: hidden; }
.guest-summary article { display: flex; align-items: center; gap: 10px; min-height: 58px; padding: 10px 15px; border-right: 1px solid #e9eef1; background: white; }
.guest-summary article:last-child { border-right: 0; }
.guest-summary small, .guest-summary strong { display: block; }
.guest-summary small { margin-bottom: 2px; color: #829099; font-size: 10px; }
.guest-summary strong { font: 700 17px "Manrope"; }
.guest-filters { display: grid; grid-template-columns: minmax(280px,1.5fr) repeat(3,minmax(130px,.65fr)) auto; align-items: end; gap: 10px; margin-bottom: 13px; padding: 12px 14px; }
.guest-search { min-height: 42px; display: flex; align-items: center; gap: 9px; padding: 6px 12px; border: 1px solid #dce4e9; border-radius: 8px; background: #fbfcfd; }
.guest-search:focus-within { border-color: #7f9ab0; box-shadow: 0 0 0 3px rgba(22,62,99,.07); }
.guest-search > span { color: #84929c; font-size: 20px; }
.guest-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 13px; }
.guest-filter-field > span { display: block; margin: 0 0 5px 2px; color: #667781; font-size: 10px; font-weight: 600; }
.guest-filter-field select { width: 100%; min-height: 42px; padding: 6px 9px; border: 1px solid #dce4e9; border-radius: 8px; outline: 0; background: white; color: #405662; font-size: 11px; }
.guest-clear-filters { height: 42px; padding: 0 10px; border: 0; background: transparent; color: var(--brand-blue); font-size: 11px; font-weight: 700; cursor: pointer; }
.guest-list-panel { padding: 0; overflow: hidden; }
.guest-list-note { display: inline-flex; align-items: center; min-height: 27px; padding: 0 9px; border-radius: 14px; background: var(--brand-gold-soft); color: #8b6b36; font-size: 10px; font-weight: 700; }
.guest-table-wrap { overflow: visible; }
.guest-table { width: 100%; min-width: 0; table-layout: fixed; border-collapse: collapse; }
.guest-table th { height: 36px; padding: 0 11px; border-bottom: 1px solid #e8edef; background: #fafbfc; color: #7e8c94; text-align: left; font-size: 9px; font-weight: 700; letter-spacing: .25px; text-transform: uppercase; white-space: nowrap; }
.guest-table th:first-child, .guest-table td:first-child { padding-left: 20px; }
.guest-table th:last-child, .guest-table td:last-child { padding-right: 20px; }
.guest-table td { min-height: 66px; padding: 11px 9px; border-bottom: 1px solid #edf1f3; color: #344b57; font-size: 11px; vertical-align: middle; }
.guest-table th:nth-child(1) { width: 22%; }
.guest-table th:nth-child(2) { width: 24%; }
.guest-table th:nth-child(3) { width: 20%; }
.guest-table th:nth-child(4) { width: 12%; }
.guest-table th:nth-child(5) { width: 10%; }
.guest-table th:nth-child(6) { width: 12%; }
.guest-sort-button { width: 100%; height: 36px; display: inline-flex; align-items: center; gap: 5px; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; text-align: left; cursor: pointer; }
.guest-sort-button span { color: #b1bcc2; font-size: 10px; transition: .15s ease; }
.guest-sort-button:hover { color: var(--brand-blue); }
.guest-sort-button.active { color: var(--brand-blue); }
.guest-sort-button.active span { color: var(--brand-gold-rich); }
.guest-table tbody tr { transition: .15s ease; }
.guest-table tbody tr:hover { background: #fbfcfd; }
.guest-table tbody tr:last-child td { border-bottom: 0; }
.guest-profile-card { display: flex; align-items: center; gap: 10px; min-width: 0; }
.guest-profile-card .guest-avatar { width: 34px; height: 34px; }
.guest-profile-card strong, .guest-profile-card small, .guest-general-data strong, .guest-general-data small, .guest-reservation-cell strong, .guest-reservation-cell small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.guest-profile-card strong, .guest-general-data strong, .guest-reservation-cell strong { color: #293f4c; font-size: 11px; }
.guest-profile-card small, .guest-general-data small, .guest-reservation-cell small { margin-top: 4px; color: #8b989f; font-size: 10px; font-weight: 400; }
.guest-status-line { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin-top: 6px; }
.guest-country-badge, .guest-status-badge { display: inline-flex; align-items: center; height: 20px; padding: 0 7px; border-radius: 10px; font-size: 9px; font-weight: 700; }
.guest-country-badge { color: var(--brand-blue); background: #e9f0f5; }
.guest-country-badge.foreign { color: #936a2d; background: var(--brand-gold-soft); }
.guest-status-badge { color: #60727d; background: #eef2f4; }
.guest-status-badge.recurring { color: #376b57; background: #eaf4ef; }
.guest-status-badge.attention { color: #9a6b2d; background: #f8f0e3; }
.guest-status-badge.new { color: #426f7d; background: #e8f1f4; }
.guest-status-badge.inactive { color: #87939a; background: #f0f2f3; }
.guest-rating-pill { display: inline-flex; align-items: center; gap: 4px; height: 28px; padding: 0 9px; border-radius: 14px; background: var(--brand-gold-soft); color: #7f612e; font-size: 11px; font-weight: 800; }
.guest-rating-pill b { color: var(--brand-gold-rich); font-size: 13px; }
.guest-rating-pill.empty { background: #eef2f4; color: #829098; }
.guest-rating-button { min-height: 0; padding: 0; border: 0; border-radius: 14px; background: transparent; color: var(--brand-blue); font-size: 10px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.guest-rating-button:hover .guest-rating-pill { background: #f4ead6; color: #76592a; transform: translateY(-1px); }
.guest-history-button, .guest-edit-button, .guest-whatsapp-button { min-height: 31px; display: inline-flex; align-items: center; justify-content: center; padding: 0 9px; border: 1px solid #d8e2e7; border-radius: 7px; background: white; color: var(--brand-blue); font-size: 10px; font-weight: 700; cursor: pointer; white-space: nowrap; text-decoration: none; }
.guest-history-button:hover, .guest-edit-button:hover { border-color: var(--brand-blue); background: #eef3f7; }
.guest-whatsapp-button { border-color: #cfe8d9; background: #edf8f1; color: #287a4d; }
.guest-whatsapp-button:hover { border-color: #85c99e; background: #def3e6; }
.guest-action-stack { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.guest-history-count { color: #596d77; font-weight: 700; }
.guest-history-count small { display: block; margin-top: 3px; color: #8b989f; font-size: 9px; font-weight: 500; }
.guest-field-wide { grid-column: 1 / -1; }
.guest-editor-dialog { width: min(940px,100%); }
.guest-reservations-dialog { width: min(760px,100%); }
.guest-profile-editor { display: grid; gap: 12px; margin-top: 12px; }
.guest-profile-section { padding: 13px; border: 1px solid #e3e9ed; border-radius: 12px; background: #fbfcfd; }
.guest-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 11px; padding-bottom: 10px; border-bottom: 1px solid #edf1f3; }
.guest-section-heading h3, .guest-section-heading p { margin: 0; }
.guest-section-heading h3 { color: #293f4c; font: 900 13px "Manrope"; }
.guest-section-heading p { margin-top: 3px; color: #83929a; font-size: 10px; line-height: 1.35; }
.guest-cep-action button { width: 100%; min-height: 40px; }
.guest-cep-action button:disabled, #guestProfileHistoryButton:disabled { opacity: .55; cursor: not-allowed; }
.guest-history-preview { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-bottom: 10px; }
.guest-history-preview article, .guest-history-preview-empty { padding: 10px; border: 1px solid #e6edf1; border-radius: 10px; background: white; }
.guest-history-preview span, .guest-history-preview small { display: block; }
.guest-history-preview span { color: var(--brand-blue); font: 900 16px "Manrope"; }
.guest-history-preview small, .guest-history-preview-empty { color: #7f9099; font-size: 10px; }
.guest-relationship-card { display: grid; gap: 10px; margin: 12px 0; padding: 13px; border: 1px solid #e3e9ed; border-radius: 12px; background: #fbfcfd; }
.guest-relationship-main { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 10px; align-items: center; }
.guest-relationship-main strong, .guest-relationship-main small, .guest-relationship-main p { display: block; margin: 0; }
.guest-relationship-main strong { color: #293f4c; font: 900 13px "Manrope"; }
.guest-relationship-main small { margin-top: 3px; color: #7f9099; font-size: 10px; }
.guest-relationship-main p { margin-top: 5px; color: #5f727c; font-size: 10px; line-height: 1.4; }
.guest-relationship-card dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 0; }
.guest-relationship-card dl div { padding: 9px; border-radius: 9px; background: white; border: 1px solid #e8eef2; }
.guest-relationship-card dt { color: #87959d; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.guest-relationship-card dd { margin: 4px 0 0; color: #293f4c; font-size: 10px; font-weight: 800; }
.guest-reservation-list { display: grid; gap: 9px; max-height: 390px; overflow-y: auto; }
.guest-reservation-card { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 10px; padding: 12px; border: 1px solid #e1e7ea; border-radius: 10px; background: #fbfcfd; }
.guest-reservation-card > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: var(--brand-gold-soft); color: #8b662d; font-size: 15px; }
.guest-reservation-card strong, .guest-reservation-card small { display: block; }
.guest-reservation-card strong { color: #293f4c; font-size: 12px; }
.guest-reservation-card small { margin-top: 4px; color: #839198; font-size: 10px; }
.guest-reservation-values { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.guest-reservation-values b { display: inline-flex; align-items: center; min-height: 22px; padding: 0 8px; border-radius: 999px; background: #eef3f7; color: #17364f; font-size: 9px; font-weight: 900; white-space: nowrap; }
.guest-reservation-dates { text-align: right; }
.guest-reservation-dates strong { color: var(--brand-blue); }
.guest-reservation-dates small { color: #8b989f; }
.guest-payment-status { display: inline-flex; align-items: center; justify-content: center; min-height: 22px; margin-top: 7px; padding: 0 8px; border-radius: 999px; background: #eef3f7; color: #61717b; font-size: 9px; font-style: normal; font-weight: 900; white-space: nowrap; }
.guest-payment-status.paid { background: #eaf4ef; color: #39785f; }
.guest-payment-status.partial { background: #fff8ea; color: #9a6328; }
.guest-payment-status.late, .guest-payment-status.pending { background: #fff0ef; color: #a74343; }

/* Financeiro */
.finance-mode header #newReservation { display: none; }
.finance-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.finance-heading-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.finance-heading-actions .secondary-button { min-height: 42px; height: auto; }
.finance-heading-actions .secondary-button span { margin-right: 5px; color: var(--brand-gold-rich); }
.finance-payable-button { background: #9a6d2f; }
.finance-payable-button:hover { background: #805822; }
.finance-period-control { display: block; min-width: 180px; }
.finance-period-control span { display: block; margin: 0 0 5px 2px; color: #667781; font-size: 10px; font-weight: 700; }
.finance-period-control select { width: 100%; min-height: 42px; padding: 6px 10px; border: 1px solid #dce4e9; border-radius: 8px; outline: 0; background: white; color: #405662; font-size: 11px; }
.finance-dashboard-filters { display: grid; grid-template-columns: repeat(6,minmax(112px,1fr)) auto; align-items: end; gap: 10px; margin: -6px 0 13px; padding: 12px 14px; }
.finance-dashboard-filters .finance-filter-field { min-width: 0; }
.finance-dashboard-filters .finance-clear-filters { height: 42px; padding: 0 13px; border: 1px solid #dce4e9; border-radius: 8px; background: #fbfcfd; color: var(--brand-blue); }
.finance-dashboard-filters .finance-clear-filters:hover { border-color: #c8d4db; background: #f4f7f9; }
.finance-summary { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-bottom: 13px; }
.finance-summary article { display: flex; align-items: center; gap: 10px; min-height: 82px; padding: 13px; border: 1px solid var(--line); border-radius: 11px; background: white; box-shadow: 0 2px 10px rgba(22,62,99,.025); }
.finance-summary.compact article { min-height: 64px; }
.finance-summary small, .finance-summary strong, .finance-summary p { display: block; margin: 0; }
.finance-summary small { color: #798991; font-size: 9px; }
.finance-summary strong { margin-top: 3px; color: #294450; font: 700 19px "Manrope"; }
.finance-summary p { margin-top: 2px; color: #99a4a9; font-size: 8px; }
.finance-dashboard-grid, .finance-insight-strip { display: grid; grid-template-columns: minmax(260px,.78fr) minmax(360px,1.22fr); gap: 12px; margin-bottom: 12px; }
.finance-deep-analysis-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-bottom: 12px; }
.finance-pending-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-bottom: 12px; }
.finance-chart-panel, .finance-priority-panel, .finance-breakdown-panel, .finance-pending-panel, .finance-health-panel, .cash-flow-panel { padding: 0; overflow: hidden; }
.finance-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px 16px; border-bottom: 1px solid #e8edf0; }
.finance-panel-heading h2, .finance-panel-heading p { margin: 0; }
.finance-panel-heading h2 { font: 700 14px "Manrope"; }
.finance-panel-heading p { margin-top: 4px; color: #87949b; font-size: 9px; }
.finance-panel-actions { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; justify-content: flex-end; }
.finance-text-action { min-height: 27px; padding: 0 9px; border: 1px solid #dce4e9; border-radius: 14px; background: white; color: var(--brand-blue); font-size: 10px; font-weight: 800; cursor: pointer; white-space: nowrap; }
.finance-text-action:hover { background: #f4f7f9; border-color: #c8d4db; }
.finance-live-pill, .finance-list-note { display: inline-flex; align-items: center; min-height: 27px; padding: 0 9px; border-radius: 14px; background: var(--brand-gold-soft); color: #8b6b36; font-size: 10px; font-weight: 700; white-space: nowrap; }
.finance-bars { display: grid; gap: 12px; padding: 16px; }
.finance-bars.compact { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 12px; }
.finance-bar-item { display: grid; gap: 6px; }
.finance-bars.compact .finance-bar-item { padding: 10px; border: 1px solid #e6edf1; border-radius: 10px; background: #fbfcfd; }
.finance-bar-head { display: flex; align-items: center; justify-content: space-between; color: #405762; font-size: 11px; font-weight: 700; }
.finance-bar-track { height: 9px; overflow: hidden; border-radius: 6px; background: #edf2f4; }
.finance-bar-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--brand-blue),var(--brand-gold)); }
.finance-bar-meta { color: #8c999f; font-size: 9px; }
.finance-health-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; padding: 12px; }
.finance-health-item { min-height: 76px; padding: 11px; border: 1px solid #e6edf1; border-radius: 10px; background: #fbfcfd; }
.finance-health-item span, .finance-health-item strong, .finance-health-item small { display: block; }
.finance-health-item span { color: #7d8b93; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .25px; }
.finance-health-item strong { margin-top: 7px; color: var(--brand-blue); font: 800 15px "Manrope"; }
.finance-health-item small { margin-top: 3px; color: #98a4aa; font-size: 8px; }
.finance-due-list { display: grid; gap: 9px; padding: 12px; }
.finance-due-item { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 10px; padding: 10px; border: 1px solid #e1e7ea; border-radius: 10px; background: #fbfcfd; }
.finance-due-item > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; font-size: 13px; font-weight: 800; }
.finance-due-item.income > span { color: #376f5d; background: #eaf4ef; }
.finance-due-item.outgoing > span { color: #956b31; background: var(--brand-gold-soft); }
.finance-due-item strong, .finance-due-item small, .finance-due-value strong, .finance-due-value small { display: block; }
.finance-due-item strong { color: #293f4c; font-size: 11px; }
.finance-due-item small { margin-top: 3px; color: #839198; font-size: 9px; }
.finance-due-value { text-align: right; }
.finance-due-value strong { color: var(--brand-blue); font-size: 11px; }
.finance-due-value small { margin-top: 3px; color: #8b989f; font-size: 8px; }
.finance-breakdown-list { display: grid; gap: 10px; padding: 14px 16px 16px; }
.finance-breakdown-item { border: 1px solid #e3e9ed; border-radius: 10px; background: #fbfcfd; overflow: hidden; }
.finance-breakdown-item summary { display: grid; grid-template-columns: 1fr auto 24px; align-items: center; gap: 10px; padding: 11px; cursor: pointer; list-style: none; }
.finance-breakdown-item summary::-webkit-details-marker { display: none; }
.finance-breakdown-item summary::after { content: "⌄"; width: 24px; height: 24px; display: grid; place-items: center; border-radius: 7px; background: #eef3f6; color: var(--brand-blue); font-size: 12px; transition: transform .18s ease; }
.finance-breakdown-item[open] summary::after { transform: rotate(180deg); background: var(--brand-gold-soft); color: #8b662d; }
.finance-breakdown-head { min-width: 0; }
.finance-breakdown-head strong, .finance-breakdown-head small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.finance-breakdown-head strong { color: #293f4c; font-size: 11px; }
.finance-breakdown-head small { margin-top: 3px; color: #8c999f; font-size: 9px; }
.finance-breakdown-total { color: var(--brand-blue); font: 700 12px "Manrope"; white-space: nowrap; text-align: right; }
.finance-breakdown-track { height: 8px; overflow: hidden; border-radius: 6px; background: #edf2f4; }
.finance-breakdown-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--brand-blue),var(--brand-gold)); }
.finance-breakdown-meta { display: grid; gap: 6px; padding: 0 11px 11px; color: #8c999f; font-size: 9px; }
.finance-breakdown-meta-line { display: flex; justify-content: space-between; gap: 10px; }
.finance-type-split { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin-top: 3px; }
.finance-type-split article { padding: 8px; border: 1px solid #e6edf1; border-radius: 8px; background: white; }
.finance-type-split span, .finance-type-split strong, .finance-type-split small { display: block; }
.finance-type-split span { color: #7d8b93; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .25px; }
.finance-type-split strong { margin-top: 4px; color: var(--brand-blue); font: 800 12px "Manrope"; }
.finance-type-split small { margin-top: 2px; color: #98a4aa; font-size: 8px; }
.finance-breakdown-detail-list { display: grid; gap: 7px; margin-top: 4px; padding-top: 9px; border-top: 1px solid #e8edf0; }
.finance-breakdown-detail { display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 8px; border-radius: 8px; background: white; }
.finance-breakdown-detail strong, .finance-breakdown-detail small { display: block; }
.finance-breakdown-detail strong { color: #344d59; font-size: 10px; }
.finance-breakdown-detail small { margin-top: 3px; color: #839198; font-size: 8px; }
.finance-breakdown-detail > span { color: var(--brand-blue); font-size: 10px; font-weight: 800; white-space: nowrap; }
.dashboard-pending-list { display: grid; gap: 9px; max-height: 350px; overflow-y: auto; padding: 12px; scrollbar-width: thin; }
.dashboard-pending-item { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 10px; padding: 10px; border: 1px solid #e1e7ea; border-radius: 10px; background: #fbfcfd; cursor: pointer; transition: .18s ease; }
.dashboard-pending-item:hover, .dashboard-pending-item:focus { border-color: #c8d4db; background: white; box-shadow: 0 8px 18px rgba(22,62,99,.06); outline: 0; }
.dashboard-pending-item > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; font-size: 13px; font-weight: 800; }
.dashboard-pending-item.income > span { color: #376f5d; background: #eaf4ef; }
.dashboard-pending-item.outgoing > span { color: #956b31; background: var(--brand-gold-soft); }
.dashboard-pending-item.commission > span { color: var(--brand-blue); background: #e9f0f5; }
.dashboard-pending-item.due-late { border-color: #efc7c0; background: #fff7f5; }
.dashboard-pending-item.due-late > span { color: #a84f43; background: #fae8e5; }
.dashboard-pending-item.due-late .dashboard-pending-value strong,
.dashboard-pending-item.due-late .dashboard-pending-value small { color: #a84f43; }
.dashboard-pending-item.due-today { border-color: #ead8ad; background: #fffaf0; }
.dashboard-pending-item.due-today > span { color: #9a6d2f; background: #f8edcf; }
.dashboard-pending-item.due-today .dashboard-pending-value strong,
.dashboard-pending-item.due-today .dashboard-pending-value small { color: #9a6d2f; }
.dashboard-pending-item strong, .dashboard-pending-item small, .dashboard-pending-value strong, .dashboard-pending-value small { display: block; }
.dashboard-pending-item strong { color: #293f4c; font-size: 11px; }
.dashboard-pending-item small { margin-top: 3px; color: #839198; font-size: 9px; }
.dashboard-pending-value { text-align: right; }
.dashboard-pending-value strong { color: var(--brand-blue); font-size: 11px; }
.dashboard-pending-value small { margin-top: 3px; color: #8b989f; font-size: 8px; }
.dashboard-status-line { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; margin-bottom: 7px; }
.dashboard-status-line .finance-status { height: 26px; padding: 0 10px; border-radius: 14px; font-size: 10px; letter-spacing: .28px; text-transform: uppercase; box-shadow: 0 5px 12px rgba(22,62,99,.06); }
.dashboard-status-line small { display: inline-flex; align-items: center; margin-top: 0; color: #75858e; font-size: 9px; font-weight: 800; }
.dashboard-pending-item.due-late .dashboard-status-line small { color: #a84f43; }
.dashboard-pending-item.due-today .dashboard-status-line small { color: #9a6d2f; }
.dashboard-pending-meta { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
.dashboard-pending-meta span { display: inline-flex; align-items: center; min-height: 20px; padding: 0 7px; border-radius: 10px; background: #eef2f4; color: #60727d; font-size: 8px; font-weight: 700; }
.dashboard-payment-path { margin: 7px 0 0; color: #60727d; font-size: 9px; line-height: 1.35; }
.finance-management-summary article { min-height: 72px; }
.finance-management-summary { gap: 12px; }
.finance-management-summary article { min-height: 92px; padding: 16px; border: 0; border-radius: 16px; background: linear-gradient(145deg,#ffffff,#f7fafb); box-shadow: 0 10px 26px rgba(22,62,99,.055); }
.finance-management-summary article:first-child { background: linear-gradient(145deg,#fff7f5,#ffffff); }
.finance-management-summary article:nth-child(2) { background: linear-gradient(145deg,#fffaf0,#ffffff); }
.finance-management-summary article:nth-child(3) { background: linear-gradient(145deg,#f1f7f4,#ffffff); }
.finance-management-summary .summary-icon { width: 38px; height: 38px; border-radius: 13px; font-size: 13px; }
.finance-management-summary strong { font-size: 21px; }
.finance-management-filters { grid-template-columns: minmax(280px,1.5fr) repeat(4,minmax(126px,.65fr)) auto; }
.finance-management-filters { border: 0; border-radius: 16px; background: white; box-shadow: 0 8px 22px rgba(22,62,99,.04); }
.financial-entry-panel { margin: -2px 0 14px; overflow: visible; border: 0; border-radius: 16px; background: linear-gradient(145deg,#ffffff,#f8fbfc); box-shadow: 0 10px 26px rgba(22,62,99,.055); }
.financial-entry-panel.hidden { display: none; }
.financial-entry-panel .modal-kicker { display: inline-flex; margin-bottom: 5px; color: var(--brand-gold-rich); font-size: 10px; font-weight: 900; letter-spacing: .8px; }
.financial-entry-form { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 11px; padding: 14px 16px 16px; }
.financial-entry-wide { grid-column: span 2; }
.financial-entry-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; align-items: center; gap: 9px; padding-top: 2px; }
.financial-entry-actions .primary-button { min-height: 40px; }
.financial-entry-actions .finance-clear-filters { padding: 0 12px; }
.finance-management-grid { gap: 14px; }
.finance-management-grid .finance-pending-panel { border: 0; border-radius: 16px; box-shadow: 0 10px 26px rgba(22,62,99,.055); }
.finance-management-grid .dashboard-pending-list { max-height: 390px; padding: 12px; gap: 10px; }
.finance-management-grid .dashboard-pending-item { grid-template-columns: 42px 1fr; align-items: start; padding: 14px; border-radius: 14px; background: white; }
.finance-management-grid .dashboard-pending-item > span { width: 42px; height: 42px; border-radius: 13px; }
.finance-management-grid .dashboard-pending-item strong { font-size: 12px; }
.finance-management-grid .dashboard-pending-item small { font-size: 10px; }
.finance-management-grid .dashboard-pending-meta { margin-top: 8px; }
.finance-management-grid .dashboard-pending-meta span { background: #f4f7f9; color: #72818a; font-size: 9px; font-weight: 700; }
.finance-management-grid .dashboard-pending-value { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 3px; padding-top: 10px; border-top: 1px solid #edf1f3; text-align: left; }
.finance-management-grid .dashboard-pending-value small { margin-top: 2px; }
.dashboard-payment-path { display: inline-flex; width: fit-content; max-width: 100%; margin-top: 8px; padding: 6px 8px; border-radius: 10px; background: #f3f6f8; color: #526a76; font-size: 9px; line-height: 1.35; }
.finance-management-support-grid { display: grid; grid-template-columns: minmax(360px,1.2fr) minmax(280px,.8fr); gap: 12px; margin-bottom: 12px; }
.finance-action-panel, .finance-routine-panel { padding: 0; overflow: hidden; }
.financial-action-list { display: grid; gap: 9px; padding: 12px; }
.financial-action-item { display: grid; grid-template-columns: 34px 1fr auto; align-items: start; gap: 10px; padding: 10px; border: 1px solid #e1e7ea; border-radius: 10px; background: #fbfcfd; }
.financial-action-item > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; font-size: 13px; font-weight: 900; }
.financial-action-item.income > span { color: #376f5d; background: #eaf4ef; }
.financial-action-item.outgoing > span { color: #956b31; background: var(--brand-gold-soft); }
.financial-action-item.commission > span { color: var(--brand-blue); background: #e9f0f5; }
.financial-action-item.due-late { border-color: #efc7c0; background: #fff7f5; }
.financial-action-item.due-today { border-color: #ead8ad; background: #fffaf0; }
.financial-action-item strong, .financial-action-item small, .financial-action-item p { display: block; margin: 0; }
.financial-action-item strong { color: #293f4c; font-size: 11px; }
.financial-action-item small { margin-top: 3px; color: #839198; font-size: 9px; }
.financial-action-item p { margin-top: 4px; color: #60727d; font-size: 9px; }
.financial-action-item.due-late strong, .financial-action-item.due-late p { color: #a84f43; }
.financial-action-item.due-today strong, .financial-action-item.due-today p { color: #9a6d2f; }
.finance-mini-action { height: 31px; padding: 0 10px; border: 1px solid #dce4e9; border-radius: 8px; background: white; color: var(--brand-blue); font-size: 10px; font-weight: 800; cursor: pointer; }
.finance-mini-action:hover { background: #f4f7f9; border-color: #c8d4db; }
.finance-routine-list { display: grid; gap: 9px; padding: 13px 16px 16px; }
.finance-routine-list label { display: flex; align-items: center; gap: 9px; min-height: 38px; padding: 10px; border: 1px solid #e6edf1; border-radius: 10px; background: #fbfcfd; color: #405762; font-size: 11px; font-weight: 700; }
.finance-routine-list input { width: 16px; height: 16px; accent-color: var(--brand-blue); }
.finance-directory-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 14px 0 12px; }
.finance-directory-panel { padding: 0; overflow: hidden; }
.finance-directory-panel#financialCategoriesPanel { grid-column: 1 / -1; }
.compact-directory { border: 0; border-radius: 16px; background: white; box-shadow: 0 10px 26px rgba(22,62,99,.045); }
.directory-summary { cursor: pointer; list-style: none; }
.directory-summary::-webkit-details-marker { display: none; }
.directory-summary::after { content: "Abrir"; min-height: 28px; display: inline-flex; align-items: center; padding: 0 10px; border-radius: 14px; background: #eef3f6; color: var(--brand-blue); font-size: 10px; font-weight: 800; }
.compact-directory[open] .directory-summary::after { content: "Fechar"; background: var(--brand-gold-soft); color: #8b662d; }
.financial-directory-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 13px 16px; border-bottom: 1px solid #e8edf0; background: #fbfcfd; }
.financial-directory-form .finance-filter-field:first-child { grid-column: 1 / -1; }
.financial-directory-actions { display: flex; align-items: flex-end; gap: 8px; }
.financial-directory-actions .finance-text-action { min-height: 42px; border-radius: 8px; background: var(--brand-blue); color: white; }
.financial-directory-actions .finance-text-action:hover { background: #1f506f; }
.financial-directory-filter { padding: 12px 16px 0; }
.financial-directory-list { display: grid; gap: 9px; max-height: 330px; overflow-y: auto; padding: 12px 16px 16px; scrollbar-width: thin; }
.financial-directory-card { display: grid; grid-template-columns: 36px 1fr auto; align-items: center; gap: 10px; padding: 10px; border: 1px solid #e1e7ea; border-radius: 10px; background: white; }
.financial-directory-card > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 9px; background: #e9f0f5; color: var(--brand-blue); font-size: 11px; font-weight: 900; }
.financial-directory-card.supplier > span { color: #8b662d; background: var(--brand-gold-soft); }
.financial-directory-card strong, .financial-directory-card small, .financial-directory-card p { display: block; margin: 0; }
.financial-directory-card:not(.supplier) div small:nth-of-type(n+2) { display: none; }
.financial-directory-card strong { color: #293f4c; font-size: 11px; }
.financial-directory-card small { margin-top: 3px; color: #839198; font-size: 9px; }
.financial-directory-card p { margin-top: 4px; color: #60727d; font-size: 9px; }
.financial-category-form { grid-template-columns: minmax(240px,1fr) auto; }
.financial-category-list { grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); max-height: none; }
.financial-category-pill { display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: 9px; padding: 10px; border: 1px solid #e1e7ea; border-radius: 11px; background: white; }
.financial-category-pill > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; background: var(--brand-gold-soft); color: #8b662d; font-size: 10px; font-weight: 900; }
.financial-category-pill strong { color: #293f4c; font-size: 11px; }
.financial-category-pill small { display: block; margin-top: 3px; color: #839198; font-size: 9px; }
.financial-category-pill button { min-height: 30px; padding: 0 9px; border: 1px solid #ecd5d0; border-radius: 8px; background: #fff7f5; color: #a84f43; font-size: 10px; font-weight: 800; cursor: pointer; }
.financial-category-pill button:hover { background: #fae8e5; }
.financial-category-pill button:disabled { border-color: #e4e9ed; background: #f6f8f9; color: #8a969e; cursor: default; }
.financial-detail-dialog { width: min(920px,100%); max-height: 92vh; overflow-y: auto; padding: 0; border-radius: 18px; }
.financial-detail-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 22px 24px 18px; border-bottom: 1px solid #e8edf0; }
.financial-detail-header h2, .financial-detail-header p { margin: 0; }
.financial-detail-header h2 { margin-top: 4px; color: #253f4d; font: 800 22px "Manrope"; }
.financial-detail-header p { margin-top: 6px; color: #7e8d95; font-size: 11px; line-height: 1.45; }
.financial-detail-header-actions { display: flex; align-items: center; gap: 8px; padding-right: 32px; }
.financial-detail-overview { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding: 14px 24px; background: #fbfcfd; border-bottom: 1px solid #e8edf0; }
.financial-detail-overview article { min-height: 70px; padding: 12px; border: 1px solid #e3e9ed; border-radius: 11px; background: white; }
.financial-detail-overview small, .financial-detail-overview strong { display: block; }
.financial-detail-overview small { color: #7f8e96; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .25px; }
.financial-detail-overview strong { margin-top: 6px; color: var(--brand-blue); font: 800 14px "Manrope"; line-height: 1.25; }
.financial-detail-body { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; padding: 16px 24px 24px; }
.financial-detail-card { border: 1px solid #e3e9ed; border-radius: 12px; background: white; overflow: hidden; }
.financial-detail-card:first-child { border: 0; box-shadow: 0 10px 26px rgba(22,62,99,.055); }
.financial-edit-card { border-style: dashed; background: #fbfcfd; }
.financial-edit-card { overflow: visible; }
.financial-edit-card summary { cursor: pointer; list-style: none; }
.financial-edit-card summary::-webkit-details-marker { display: none; }
.financial-edit-card summary::after { content: "Abrir edição"; min-height: 28px; display: inline-flex; align-items: center; padding: 0 10px; border-radius: 14px; background: #eef3f6; color: var(--brand-blue); font-size: 10px; font-weight: 800; white-space: nowrap; }
.financial-edit-card[open] summary::after { content: "Fechar edição"; background: var(--brand-gold-soft); color: #8b662d; }
.finance-panel-heading.compact { padding: 13px 14px; }
.financial-detail-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 14px; }
.financial-detail-form .finance-filter-field:first-child { grid-column: 1 / -1; }
.financial-partial-fields { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 11px; border: 1px solid #ead8ad; border-radius: 10px; background: #fffaf0; }
.financial-edit-notes { grid-column: 1 / -1; }
.financial-edit-notes textarea { width: 100%; min-height: 86px; padding: 9px; border: 1px solid #dce4e9; border-radius: 8px; outline: 0; resize: vertical; color: #405662; font-size: 11px; font-family: inherit; }
.financial-edit-notes textarea:focus { border-color: #7f9ab0; box-shadow: 0 0 0 3px rgba(22,62,99,.07); }
.finance-integration-panel { padding: 14px 16px; }
.finance-integration-panel > div { display: flex; align-items: center; gap: 12px; }
.finance-integration-panel span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: #e9f0f5; color: var(--brand-blue); font-size: 18px; font-weight: 800; }
.finance-integration-panel strong, .finance-integration-panel p { display: block; margin: 0; }
.finance-integration-panel strong { color: #294450; font: 700 13px "Manrope"; }
.finance-integration-panel p { margin-top: 4px; color: #7f8e96; font-size: 10px; line-height: 1.5; }
.finance-filters { display: grid; grid-template-columns: minmax(280px,1.5fr) repeat(3,minmax(130px,.65fr)) auto; align-items: end; gap: 10px; margin-bottom: 13px; padding: 12px 14px; }
.finance-search { min-height: 42px; display: flex; align-items: center; gap: 9px; padding: 6px 12px; border: 1px solid #dce4e9; border-radius: 8px; background: #fbfcfd; }
.finance-search:focus-within { border-color: #7f9ab0; box-shadow: 0 0 0 3px rgba(22,62,99,.07); }
.finance-search > span { color: #84929c; font-size: 20px; }
.finance-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 13px; }
.finance-filter-field > span { display: block; margin: 0 0 5px 2px; color: #667781; font-size: 10px; font-weight: 600; }
.finance-filter-field select, .finance-filter-field input, .finance-filter-field textarea { width: 100%; min-height: 42px; padding: 6px 9px; border: 1px solid #dce4e9; border-radius: 8px; outline: 0; background: white; color: #405662; font-size: 11px; font-family: inherit; }
.finance-filter-field textarea { min-height: 88px; resize: vertical; line-height: 1.45; padding: 10px; }
.finance-filter-field select:focus, .finance-filter-field input:focus, .finance-filter-field textarea:focus { border-color: #7f9ab0; box-shadow: 0 0 0 3px rgba(22,62,99,.07); }
.financial-search-select { position: relative; min-height: 42px; }
.financial-select-display { width: 100%; min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 34px 6px 10px; border: 1px solid #dce4e9; border-radius: 8px; outline: 0; background: white; color: #405662; font-size: 11px; text-align: left; cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.financial-select-display::after { content: "⌄"; position: absolute; right: 11px; color: #7e8c94; font-size: 13px; transition: transform .16s ease; }
.financial-search-select.open .financial-select-display::after { transform: rotate(180deg); }
.financial-select-display.placeholder { color: #9aa7ad; }
.financial-select-display:focus, .financial-search-select.open .financial-select-display { border-color: #7f9ab0; box-shadow: 0 0 0 3px rgba(22,62,99,.07); }
.financial-select-menu { position: absolute; z-index: 30; top: calc(100% + 5px); left: 0; right: 0; display: none; overflow: hidden; border: 1px solid #dce4e9; border-radius: 10px; background: white; box-shadow: 0 16px 34px rgba(22,62,99,.14); }
.financial-search-select.open .financial-select-menu { display: block; }
.finance-filter-field .financial-select-menu .financial-select-search,
.form-field .financial-select-menu .financial-select-search { width: calc(100% - 16px); min-height: 38px; margin: 8px; border: 1px solid #dce4e9; border-radius: 8px; background: #fbfcfd; }
.finance-filter-field .financial-select-search::placeholder { color: #9aa7ad; }
.form-field .financial-select-search::placeholder { color: #9aa7ad; }
.financial-select-options { display: grid; max-height: 210px; overflow-y: auto; padding: 0 8px 8px; scrollbar-width: thin; }
.financial-select-option { min-height: 34px; padding: 7px 9px; border: 0; border-radius: 8px; background: transparent; color: #344b57; font-size: 11px; text-align: left; cursor: pointer; }
.financial-select-option:hover { background: #f4f7f9; color: var(--brand-blue); }
.financial-select-option.selected { background: var(--brand-gold-soft); color: #85652f; font-weight: 800; }
.financial-select-empty { padding: 11px 9px 13px; color: #87949b; font-size: 11px; }
.finance-clear-filters { height: 42px; padding: 0 10px; border: 0; background: transparent; color: var(--brand-blue); font-size: 11px; font-weight: 700; cursor: pointer; }
.finance-list-panel { padding: 0; overflow: hidden; }
.finance-table-wrap { overflow: visible; }
.finance-table { width: 100%; min-width: 0; table-layout: fixed; border-collapse: collapse; }
.finance-table th { height: 36px; padding: 0 11px; border-bottom: 1px solid #e8edef; background: #fafbfc; color: #7e8c94; text-align: left; font-size: 9px; font-weight: 700; letter-spacing: .25px; text-transform: uppercase; white-space: nowrap; }
.finance-table th:first-child, .finance-table td:first-child { padding-left: 20px; }
.finance-table th:last-child, .finance-table td:last-child { padding-right: 20px; }
.finance-table td { min-height: 66px; padding: 11px 9px; border-bottom: 1px solid #edf1f3; color: #344b57; font-size: 11px; vertical-align: middle; }
.finance-table th:nth-child(1) { width: 18%; }
.finance-table th:nth-child(2) { width: 28%; }
.finance-table th:nth-child(3) { width: 14%; }
.finance-table th:nth-child(4) { width: 14%; }
.finance-table th:nth-child(5) { width: 12%; }
.finance-table th:nth-child(6) { width: 14%; }
.finance-source-cell, .finance-main-cell, .finance-responsible-cell { min-width: 0; }
.finance-source-cell strong, .finance-source-cell small, .finance-main-cell strong, .finance-main-cell small, .finance-responsible-cell strong, .finance-responsible-cell small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.finance-source-cell strong, .finance-main-cell strong, .finance-responsible-cell strong { color: #293f4c; font-size: 11px; }
.finance-source-cell small, .finance-main-cell small, .finance-responsible-cell small { margin-top: 4px; color: #8b989f; font-size: 10px; font-weight: 400; }
.finance-date-cell strong, .finance-date-cell small, .finance-value-cell strong, .finance-value-cell small { display: block; }
.finance-date-cell strong, .finance-value-cell strong { color: #293f4c; font-size: 11px; }
.finance-date-cell small, .finance-value-cell small { margin-top: 4px; color: #8b989f; font-size: 9px; }
.finance-value-cell strong { color: var(--brand-blue); font: 700 13px "Manrope"; }
.finance-status { display: inline-flex; align-items: center; height: 23px; padding: 0 8px; border-radius: 12px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.finance-status.received, .finance-status.paid { color: #39785f; background: #eaf4ef; }
.finance-status.partial { color: #426f7d; background: #e8f1f4; }
.finance-status.pending { color: #90692e; background: var(--brand-gold-soft); }
.finance-status.late { color: #9a6340; background: #fbede3; }
.finance-status.due-late { color: #a84f43; background: #fae8e5; }
.finance-status.due-today { color: #9a6d2f; background: #f8edcf; }
.finance-table tr.due-late td { background: #fff7f5; }
.finance-table tr.due-late .finance-date-cell strong,
.finance-table tr.due-late .finance-date-cell small,
.finance-table tr.due-late .finance-value-cell strong { color: #a84f43; }
.finance-table tr.due-today td { background: #fffaf0; }
.finance-table tr.due-today .finance-date-cell strong,
.finance-table tr.due-today .finance-date-cell small,
.finance-table tr.due-today .finance-value-cell strong { color: #9a6d2f; }
.cash-flow-timeline { display: grid; gap: 9px; padding: 12px 16px 16px; }
.cash-flow-row { display: grid; grid-template-columns: 96px 34px 1fr auto; align-items: center; gap: 10px; padding: 11px; border: 1px solid #e1e7ea; border-radius: 10px; background: #fbfcfd; }
.cash-flow-row > time { color: #5e727d; font-size: 10px; font-weight: 800; }
.cash-flow-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; font-size: 13px; font-weight: 900; }
.cash-flow-row.income .cash-flow-icon { color: #39785f; background: #eaf4ef; }
.cash-flow-row.outgoing .cash-flow-icon { color: #956b31; background: var(--brand-gold-soft); }
.cash-flow-main strong, .cash-flow-main small, .cash-flow-amount strong, .cash-flow-amount small { display: block; }
.cash-flow-main strong { color: #293f4c; font-size: 11px; }
.cash-flow-main small { margin-top: 4px; color: #839198; font-size: 9px; }
.cash-flow-amount { text-align: right; }
.cash-flow-amount strong { color: var(--brand-blue); font: 700 13px "Manrope"; }
.cash-flow-amount small { margin-top: 4px; color: #8b989f; font-size: 8px; }

/* Painel de limpezas */
.cleaning-mode header #newReservation { display: none; }
.cleaning-dashboard-heading { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 18px; }
.cleaning-today { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 9px; background: white; }
.cleaning-today > span { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 8px; background: var(--brand-gold-soft); color: #926a2d; font: 700 16px "Manrope"; }
.cleaning-today strong, .cleaning-today small { display: block; }
.cleaning-today strong { font-size: 11px; }.cleaning-today small { margin-top: 2px; color: #849198; font-size: 9px; }
.cleaning-filters { display: grid; grid-template-columns: minmax(250px,1.6fr) repeat(3,minmax(130px,.65fr)) auto; align-items: end; gap: 10px; margin-bottom: 15px; padding: 12px 14px; }
.cleaning-search { min-height: 42px; display: flex; align-items: center; gap: 9px; padding: 6px 11px; border: 1px solid #dce4e9; border-radius: 8px; background: #fbfcfd; }
.cleaning-search:focus-within { border-color: #7f9ab0; box-shadow: 0 0 0 3px rgba(22,62,99,.06); }
.cleaning-search > span { color: #84929c; font-size: 20px; }
.cleaning-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 12px; }
.cleaning-filter-field > span { display: block; margin: 0 0 5px 2px; color: #667781; font-size: 10px; font-weight: 600; }
.cleaning-filter-field select { width: 100%; min-height: 42px; padding: 6px 9px; border: 1px solid #dce4e9; border-radius: 8px; outline: 0; background: white; color: #405662; font-size: 11px; }
.cleaning-clear-filters { height: 42px; padding: 0 10px; border: 0; background: transparent; color: var(--brand-blue); font-size: 11px; font-weight: 700; cursor: pointer; }
.cleaning-board { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: start; gap: 13px; }
.cleaning-column { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #f8fafb; }
.cleaning-column > header { display: flex; align-items: center; justify-content: space-between; min-height: 66px; padding: 12px 14px; border-bottom: 1px solid #e7ecef; background: white; }
.cleaning-column-title { display: flex; align-items: center; gap: 9px; }
.cleaning-status-icon { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 8px; font-size: 14px; font-weight: 700; }
.active-cleaning .cleaning-status-icon { color: #376f7c; background: #e8f2f4; }
.pending-cleaning-column .cleaning-status-icon { color: #98702e; background: var(--brand-gold-soft); }
.upcoming-checkouts .cleaning-status-icon { color: var(--brand-blue); background: #e9f0f5; }
.cleaning-column-title h2, .cleaning-column-title p { margin: 0; }
.cleaning-column-title h2 { font: 700 13px "Manrope"; }
.cleaning-column-title p { margin-top: 3px; color: #8a979e; font-size: 9px; }
.cleaning-count { min-width: 25px; height: 25px; display: grid; place-items: center; border-radius: 8px; background: #eef2f4; color: #5e727d; font-size: 10px; }
.cleaning-task-list { display: grid; gap: 9px; padding: 10px; }
.cleaning-task { padding: 12px; border: 1px solid #e0e7eb; border-radius: 10px; background: white; box-shadow: 0 2px 8px rgba(22,62,99,.025); }
.cleaning-task[hidden] { display: none; }
.cleaning-task-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.cleaning-task-top > div { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }
.task-time { color: #667984; font-size: 9px; font-weight: 700; }
.task-priority { padding: 3px 6px; border-radius: 8px; font-size: 8px; font-weight: 700; }
.priority-high { color: #9d6340; background: #fbede3; }
.priority-late { color: #a95550; background: #f9e9e7; }
.priority-normal { color: #577268; background: #edf4f0; }
.cleaning-task-controls { display: flex; flex-wrap: nowrap !important; align-items: center; gap: 4px; margin-left: auto; }
.assign-cleaning-button { height: 27px; padding: 0 8px; border: 1px solid #d8e2e7; border-radius: 6px; background: white; color: var(--brand-blue); font-size: 9px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.assign-cleaning-button:hover { border-color: #91aabd; background: #eef4f7; }
.cleaning-task h3 { margin: 0; font: 700 13px "Manrope"; color: #263e4b; }
.cleaning-task > p { margin: 4px 0 11px; color: #839198; font-size: 9px; }
.cleaning-progress { height: 6px; overflow: hidden; border-radius: 4px; background: #e9eef0; }
.cleaning-progress i { display: block; height: 100%; border-radius: inherit; background: var(--brand-blue-light); }
.cleaning-progress-label { display: flex; justify-content: space-between; margin-top: 5px; color: #7d8d95; font-size: 8px; }
.cleaning-progress-label strong { color: #466b7d; }
.cleaning-detail-row { display: flex; justify-content: space-between; margin: 10px 0; padding: 8px 9px; border-radius: 7px; background: #f5f7f8; color: #73848c; font-size: 9px; }
.cleaning-detail-row strong { color: #405965; }
.cleaning-task-footer { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin-top: 11px; padding-top: 10px; border-top: 1px solid #edf1f3; }
.cleaning-decision-meta { margin: 9px 0 0; }
.assignment-team { min-width: 0; }
.cleaner-profile { display: flex; align-items: center; gap: 7px; min-width: 0; }
.cleaner-profile > span, .checkout-guest > span { width: 29px; height: 29px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: #e7f0f3; color: #3e7180; font-size: 8px; font-weight: 700; }
.cleaner-profile.gold > span { background: var(--brand-gold-soft); color: #946d31; }
.cleaner-profile.blue > span { background: #e8eef5; color: #4a6985; }
.cleaner-profile.team > span { border-radius: 8px; background: #edf0f4; color: #596d79; }
.cleaner-profile small, .cleaner-profile strong, .next-arrival small, .next-arrival strong, .next-arrival span, .checkout-guest small, .checkout-guest strong { display: block; }
.cleaner-profile small, .next-arrival small, .checkout-guest small { color: #8a989f; font-size: 7px; }
.cleaner-profile strong, .next-arrival strong, .checkout-guest strong { margin-top: 2px; color: #354d59; font-size: 9px; white-space: nowrap; }
.assignment-supervisor { display: flex; align-items: center; gap: 5px; margin: 5px 0 0 35px; color: #7c8c94; font-size: 8px; }
.assignment-supervisor::before { content: "◇"; color: var(--brand-gold-rich); font-size: 9px; }
.assignment-supervisor strong { color: #526a75; font-size: 9px; }
.next-arrival { text-align: right; }
.guest-kit-info { margin-top: 4px; padding: 3px 6px; border-radius: 7px; background: var(--brand-gold-soft); color: #80652f; font-size: 8px; font-weight: 700; white-space: nowrap; }
.kit-composition { margin-top: 10px; border: 1px solid #e6ddd0; border-radius: 8px; background: #fdfaf5; }
.kit-composition summary { display: flex; align-items: center; gap: 7px; padding: 8px 9px; color: #715f42; font-size: 9px; font-weight: 700; cursor: pointer; list-style: none; }
.kit-composition summary::-webkit-details-marker { display: none; }
.kit-composition summary::before { content: "▦"; width: 20px; height: 20px; display: grid; place-items: center; border-radius: 6px; background: #f2e4c8; color: #90692d; font-size: 10px; }
.kit-composition summary::after { content: "⌄"; margin-left: auto; color: #a48a5e; transition: transform .18s ease; }
.kit-composition[open] summary::after { transform: rotate(180deg); }
.kit-items { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 0 9px 9px; }
.kit-item { display: flex; align-items: center; justify-content: space-between; gap: 7px; padding: 6px 7px; border-radius: 6px; background: white; color: #718088; font-size: 8px; }
.kit-item strong { color: #344e5a; font-size: 9px; }
.kit-note { grid-column: 1 / -1; margin: 1px 0 0; color: #927747; font-size: 8px; line-height: 1.4; }
.checkout-guest { display: flex; align-items: center; gap: 7px; margin: 9px 0; padding: 8px 9px; border-radius: 7px; background: #f5f7f8; }
.cleaning-primary-action { width: 100%; min-height: 34px; margin-top: 10px; border: 1px solid #cbd9e2; border-radius: 7px; background: #f5f8fa; color: var(--brand-blue); font-size: 10px; font-weight: 700; cursor: pointer; }
.cleaning-primary-action:hover { border-color: var(--brand-blue); background: #eaf1f6; }
.cleaning-empty { display: none; padding: 30px 15px; color: #89979e; text-align: center; font-size: 10px; }
.cleaning-empty.visible { display: block; }
.cleaning-load-more { width: calc(100% - 20px); min-height: 36px; margin: 0 10px 10px; border: 1px solid #d8e2e7; border-radius: 8px; background: white; color: var(--brand-blue); font-size: 10px; font-weight: 700; cursor: pointer; }
.cleaning-load-more:hover { border-color: #91aabd; background: #eef4f7; }
.cleaning-load-more[hidden] { display: none; }
.cleaning-board-footer { display: flex; align-items: center; justify-content: space-between; padding: 12px 4px 0; color: #849198; font-size: 9px; }
.cleaning-board-footer span { display: flex; align-items: center; gap: 6px; }
.cleaning-board-footer i { width: 6px; height: 6px; border-radius: 50%; background: #5e977d; box-shadow: 0 0 0 3px #e6f1eb; }
.cleaning-board-footer button { border: 0; background: transparent; color: var(--brand-blue); font-size: 10px; font-weight: 700; cursor: pointer; }

/* Gestão de lavanderia */
.laundry-mode header #newReservation { display: none; }
.laundry-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.laundry-summary { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; margin-bottom: 12px; }
.laundry-summary article { display: flex; align-items: center; gap: 10px; min-height: 86px; padding: 13px; border: 1px solid var(--line); border-radius: 11px; background: white; box-shadow: 0 2px 10px rgba(22,62,99,.025); }
.laundry-summary article > span { width: 36px; height: 36px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 9px; font-size: 14px; font-weight: 800; }
.laundry-summary .dirty > span { color: #a65e4b; background: #faece7; }.laundry-summary .washing > span { color: #4c7188; background: #eaf1f5; }.laundry-summary .clean > span { color: #557869; background: #edf4f0; }.laundry-summary .apartments > span { color: #8e6b34; background: var(--brand-gold-soft); }.laundry-summary .forecast > span { color: var(--brand-blue); background: #eaf0f5; }
.laundry-summary small, .laundry-summary strong, .laundry-summary p { display: block; margin: 0; }
.laundry-summary small { color: #798991; font-size: 9px; }.laundry-summary strong { margin-top: 3px; color: #294450; font: 700 20px "Manrope"; }.laundry-summary p { margin-top: 2px; color: #99a4a9; font-size: 8px; }
.laundry-alerts { display: grid; gap: 7px; margin-bottom: 12px; }
.laundry-alert { display: flex; align-items: center; gap: 9px; padding: 10px 12px; border: 1px solid #eadcc3; border-radius: 9px; background: #fffaf3; color: #756344; font-size: 9px; }
.laundry-alert.critical { border-color: #ecd3cc; background: #fff6f3; color: #8d5548; }
.laundry-alert > span { width: 23px; height: 23px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 7px; background: white; color: #a97b38; font-weight: 800; }
.laundry-alert strong { color: #604f34; }
.laundry-main-grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(250px,.55fr); gap: 12px; margin-bottom: 12px; }
.laundry-inventory-panel, .laundry-batches-panel, .laundry-forecast-panel { padding: 0; overflow: hidden; }
.laundry-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px 16px; border-bottom: 1px solid #e8edf0; }
.laundry-panel-heading h2, .laundry-panel-heading p { margin: 0; }.laundry-panel-heading h2 { font: 700 14px "Manrope"; }.laundry-panel-heading p { margin-top: 4px; color: #87949b; font-size: 9px; }
.laundry-panel-heading label { min-width: 135px; }.laundry-panel-heading label > span { display: block; margin: 0 0 4px 2px; color: #778891; font-size: 8px; font-weight: 700; }.laundry-panel-heading select { width: 100%; height: 34px; padding: 0 8px; border: 1px solid #dce4e9; border-radius: 7px; background: white; color: #405662; font-size: 9px; }
.laundry-table { width: 100%; border-collapse: collapse; }
.laundry-table th { padding: 9px 10px; border-bottom: 1px solid #e7ecef; color: #89969c; font-size: 7px; letter-spacing: .35px; text-align: left; text-transform: uppercase; }
.laundry-table td { padding: 10px; border-bottom: 1px solid #edf1f3; color: #526974; font-size: 9px; }
.laundry-table tbody tr:last-child td { border-bottom: 0; }.laundry-table td:first-child { color: #304a56; font-weight: 700; }
.laundry-number { font-size: 10px; font-weight: 700; }.laundry-number.dirty { color: #ad634e; }.laundry-number.washing { color: #52768c; }.laundry-number.clean { color: #557a68; }.laundry-number.forecast { color: #946c31; }
.laundry-coverage { display: inline-flex; padding: 4px 6px; border-radius: 7px; font-size: 7px; font-weight: 700; }.laundry-coverage.ok { color: #567768; background: #edf4f0; }.laundry-coverage.warning { color: #956d34; background: var(--brand-gold-soft); }.laundry-coverage.critical { color: #a35f4d; background: #faece8; }
.laundry-partner-card { padding: 15px; }
.laundry-partner-title { display: flex; align-items: center; gap: 9px; padding-bottom: 12px; border-bottom: 1px solid #e8edef; }
.laundry-partner-title > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: var(--brand-gold-soft); color: #9a7136; font-size: 14px; }
.laundry-partner-title strong, .laundry-partner-title small { display: block; }.laundry-partner-title strong { font-size: 11px; }.laundry-partner-title small { margin-top: 3px; color: #8a979e; font-size: 8px; }
.laundry-partner-card dl { margin: 10px 0; }.laundry-partner-card dl > div { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-bottom: 1px solid #edf1f3; font-size: 9px; }.laundry-partner-card dt { color: #7e8e96; }.laundry-partner-card dd { margin: 0; color: #344e5a; font-weight: 700; text-align: right; }
.laundry-sla { display: flex; align-items: center; gap: 8px; padding: 9px; border-radius: 8px; background: #edf4f0; }.laundry-sla > span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: white; color: #5b846f; font-weight: 800; }.laundry-sla p { margin: 0; }.laundry-sla strong, .laundry-sla small { display: block; }.laundry-sla strong { color: #506f61; font-size: 9px; }.laundry-sla small { margin-top: 3px; color: #7e968a; font-size: 7px; line-height: 1.4; }
.laundry-batches-panel { margin-bottom: 12px; }
.laundry-batches-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; padding: 11px; }
.laundry-batch-card { padding: 12px; border: 1px solid #e0e7eb; border-radius: 9px; background: white; }
.laundry-batch-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 9px; }.laundry-batch-head strong, .laundry-batch-head small { display: block; }.laundry-batch-head strong { color: #304955; font-size: 11px; }.laundry-batch-head small { margin-top: 3px; color: #89979e; font-size: 8px; }
.laundry-batch-status { padding: 4px 6px; border-radius: 7px; font-size: 7px; font-weight: 700; white-space: nowrap; }.laundry-batch-status.washing { color: #52768c; background: #eaf1f5; }.laundry-batch-status.scheduled { color: #936d35; background: var(--brand-gold-soft); }.laundry-batch-status.returned { color: #567768; background: #edf4f0; }
.laundry-batch-dates { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 10px 0; }.laundry-batch-dates div { padding: 7px; border-radius: 7px; background: #f5f8fa; }.laundry-batch-dates span, .laundry-batch-dates strong { display: block; }.laundry-batch-dates span { color: #89979e; font-size: 7px; }.laundry-batch-dates strong { margin-top: 3px; color: #405965; font-size: 9px; }
.laundry-batch-info { display: flex; justify-content: space-between; gap: 8px; color: #7c8c94; font-size: 8px; }.laundry-batch-info strong { color: #38515d; }
.laundry-batch-note { margin: 8px 0 0; padding: 7px; border-left: 2px solid var(--brand-gold-rich); background: #fdfaf5; color: #796b50; font-size: 7px; line-height: 1.4; }
.laundry-batch-discrepancy { display: flex; align-items: flex-start; gap: 7px; margin-top: 8px; padding: 8px; border: 1px solid #ecd2ca; border-radius: 7px; background: #fff5f2; color: #865447; font-size: 7px; line-height: 1.45; }
.laundry-batch-discrepancy > span { width: 18px; height: 18px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 6px; background: white; color: #b2604e; font-weight: 800; }
.laundry-batch-discrepancy p { margin: 0; }.laundry-batch-discrepancy strong { color: #75483e; }
.laundry-batch-action { width: 100%; height: 31px; margin-top: 9px; border: 1px solid #cedde5; border-radius: 7px; background: #f4f8fa; color: var(--brand-blue); font-size: 8px; font-weight: 700; cursor: pointer; }
.laundry-batch-action.secondary { border-color: #e2c9c1; background: #fff7f4; color: #975a4b; }
.laundry-checkouts { display: grid; gap: 0; }
.laundry-checkout { display: grid; grid-template-columns: 80px minmax(180px,1fr) 110px 100px 100px 90px; align-items: center; gap: 10px; min-height: 58px; padding: 9px 15px; border-bottom: 1px solid #edf1f3; }
.laundry-checkout:last-child { border-bottom: 0; }.laundry-checkout strong, .laundry-checkout small { display: block; }.laundry-checkout strong { color: #354e5a; font-size: 9px; }.laundry-checkout small { margin-top: 3px; color: #8b999f; font-size: 7px; }
.laundry-checkout-date { color: var(--brand-blue); font-weight: 800; font-size: 9px; }.laundry-checkout-pieces { color: #966f34; font-weight: 800; font-size: 10px; }
.laundry-risk { display: inline-flex; width: max-content; padding: 4px 6px; border-radius: 7px; font-size: 7px; font-weight: 700; }.laundry-risk.ok { color: #567768; background: #edf4f0; }.laundry-risk.attention { color: #a35f4d; background: #faece8; }
.laundry-checkout-register { display: block; margin-top: 5px; padding: 0; border: 0; background: transparent; color: var(--brand-blue); font-size: 7px; font-weight: 800; cursor: pointer; }
.laundry-projection-note { padding: 5px 8px; border-radius: 8px; background: #edf3f7; color: #557386; font-size: 8px; font-weight: 700; }
.laundry-batch-editor { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin-top: 10px; }
.laundry-batch-editor-row { display: grid; grid-template-columns: 1fr 70px; align-items: center; gap: 8px; padding: 8px 9px; border: 1px solid #e1e8eb; border-radius: 8px; background: #fbfcfd; }
.laundry-batch-editor-row span { color: #526974; font-size: 9px; }.laundry-batch-editor-row small { display: block; margin-top: 3px; color: #97a3a9; font-size: 7px; }.laundry-batch-editor-row input { width: 100%; height: 32px; padding: 0 7px; border: 1px solid #d9e2e7; border-radius: 7px; outline: 0; text-align: center; font-size: 10px; }
.laundry-batch-total { display: flex; align-items: center; justify-content: space-between; margin-top: 10px; padding: 10px; border-radius: 8px; background: var(--brand-gold-soft); }.laundry-batch-total span { color: #786849; font-size: 9px; }.laundry-batch-total strong { color: var(--brand-blue); font: 700 14px "Manrope"; }
.laundry-receive-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-bottom: 12px; }
.laundry-receive-summary div { padding: 10px; border-radius: 8px; background: #f3f7f9; text-align: center; }
.laundry-receive-summary div:last-child { background: #fff5f2; }
.laundry-receive-summary span, .laundry-receive-summary strong { display: block; }.laundry-receive-summary span { color: #819098; font-size: 8px; }.laundry-receive-summary strong { margin-top: 3px; color: #34505d; font: 700 13px "Manrope"; }.laundry-receive-summary div:last-child strong { color: #a45d4b; }
.laundry-receive-editor { display: grid; gap: 7px; }
.laundry-receive-responsible { margin-bottom: 12px; }
.laundry-receive-row { display: grid; grid-template-columns: 1fr 75px 82px 105px 70px; align-items: center; gap: 8px; padding: 9px 10px; border: 1px solid #e1e8eb; border-radius: 8px; background: #fbfcfd; }
.laundry-receive-row > strong { color: #405965; font-size: 9px; }.laundry-receive-row label span { display: block; margin-bottom: 3px; color: #8b989e; font-size: 7px; }.laundry-receive-row label strong { display: block; color: #405965; font-size: 10px; }
.laundry-receive-row input, .laundry-receive-row select { width: 100%; height: 32px; padding: 0 7px; border: 1px solid #d9e2e7; border-radius: 7px; outline: 0; background: white; color: #344d59; font-size: 9px; text-align: center; }
.laundry-receive-missing { color: #a45e4c !important; }
.laundry-discrepancy-section { margin-top: 13px; padding: 12px; border: 1px solid #ebd4cd; border-radius: 9px; background: #fff9f7; }
.laundry-discrepancy-heading { display: flex; align-items: center; gap: 8px; margin-bottom: 11px; }
.laundry-discrepancy-heading > span { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; background: #fae8e3; color: #ad5f4d; font-weight: 800; }
.laundry-discrepancy-heading strong, .laundry-discrepancy-heading small { display: block; }.laundry-discrepancy-heading strong { color: #754d43; font-size: 10px; }.laundry-discrepancy-heading small { margin-top: 3px; color: #9b746c; font-size: 8px; }
.system-activity-panel { margin-top: 12px; padding: 0; overflow: hidden; }
.system-activity-list { display: grid; }
.system-activity-item { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 10px; min-height: 57px; padding: 9px 15px; border-bottom: 1px solid #edf1f3; }
.system-activity-item:last-child { border-bottom: 0; }
.system-activity-item > span { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 8px; background: #edf3f7; color: var(--brand-blue); font-size: 9px; font-weight: 800; }
.system-activity-item strong, .system-activity-item small { display: block; }
.system-activity-item strong { color: #354e5a; font-size: 9px; }.system-activity-item small { margin-top: 3px; color: #89979e; font-size: 8px; }
.system-activity-meta { text-align: right; }.system-activity-meta strong { color: #536f7f; }.system-activity-meta small { white-space: nowrap; }

/* Controle de insumos */
.supplies-mode header #newReservation { display: none; }
.supplies-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.supplies-heading-actions { display: flex; gap: 8px; }
.supplies-tabs { flex: none; min-height: auto; display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; margin-bottom: 12px; padding: 6px; overflow: visible; border: 1px solid var(--line); border-radius: 11px; background: white; }
.supplies-tabs button { display: flex; align-items: center; gap: 10px; min-height: 50px; padding: 8px 12px; border: 0; border-radius: 8px; background: transparent; color: #73838c; text-align: left; cursor: pointer; }
.supplies-tabs button:hover { background: #f4f7f9; }.supplies-tabs button.active { background: var(--brand-blue); color: white; box-shadow: 0 5px 14px rgba(22,62,99,.15); }
.supplies-tabs button > span { width: 29px; height: 29px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; background: #edf2f5; color: var(--brand-blue); font-size: 13px; }.supplies-tabs button.active > span { background: rgba(255,255,255,.12); color: var(--brand-gold); }
.supplies-tabs strong, .supplies-tabs small { display: block; }.supplies-tabs strong { font-size: 11px; }.supplies-tabs small { margin-top: 3px; color: #97a4aa; font-size: 9px; }.supplies-tabs button.active small { color: #bbccd8; }
.supplies-tab-panel { display: none; }.supplies-tab-panel.active { display: block; }
.supplies-summary { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; margin-bottom: 12px; }
.supplies-summary article { display: flex; align-items: center; gap: 10px; min-height: 86px; padding: 13px; border: 1px solid var(--line); border-radius: 11px; background: white; box-shadow: 0 2px 10px rgba(22,62,99,.025); }
.supplies-summary article > span { width: 36px; height: 36px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 9px; background: #eaf1f5; color: var(--brand-blue); font-size: 14px; font-weight: 800; }
.supplies-summary .available > span { color: #557869; background: #edf4f0; }.supplies-summary .warning > span { color: #ad654f; background: #faece7; }.supplies-summary .forecast > span { color: #936c34; background: var(--brand-gold-soft); }.supplies-summary .requests > span { color: #55758b; background: #edf2f6; }
.supplies-summary small, .supplies-summary strong, .supplies-summary p { display: block; margin: 0; }
.supplies-summary small { color: #798991; font-size: 9px; }.supplies-summary strong { margin-top: 3px; color: #294450; font: 700 20px "Manrope"; }.supplies-summary p { margin-top: 2px; color: #99a4a9; font-size: 8px; }
.supplies-alerts { display: grid; gap: 7px; margin-bottom: 12px; }
.supply-alert { display: flex; align-items: center; gap: 9px; padding: 10px 12px; border: 1px solid #eadcc3; border-radius: 9px; background: #fffaf3; color: #756344; font-size: 9px; }
.supply-alert.critical { border-color: #ecd3cc; background: #fff6f3; color: #8d5548; }
.supply-alert > span { width: 23px; height: 23px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 7px; background: white; color: #a97b38; font-weight: 800; }
.supplies-main-grid { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(260px,.55fr); gap: 12px; margin-bottom: 12px; }
.supplies-stock-panel, .supply-requests-panel, .supply-movements-panel { padding: 0; overflow: hidden; }
.supplies-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px 16px; border-bottom: 1px solid #e8edf0; }
.supplies-panel-heading h2, .supplies-panel-heading p { margin: 0; }.supplies-panel-heading h2 { font: 700 14px "Manrope"; }.supplies-panel-heading p { margin-top: 4px; color: #87949b; font-size: 9px; }
.supplies-forecast-filter { min-width: 130px; }.supplies-forecast-filter > span { display: block; margin: 0 0 4px 2px; color: #778891; font-size: 8px; font-weight: 700; }.supplies-forecast-filter select { width: 100%; height: 34px; padding: 0 8px; border: 1px solid #dce4e9; border-radius: 7px; background: white; color: #405662; font-size: 9px; }
.supplies-toolbar { display: grid; grid-template-columns: minmax(240px,1.4fr) repeat(2,minmax(145px,.55fr)) auto; align-items: end; gap: 9px; padding: 11px 14px; background: #fbfcfd; }
.supplies-toolbar > label:not(.linen-search) > span { display: block; margin: 0 0 5px 2px; color: #6f8089; font-size: 9px; font-weight: 700; }
.supplies-toolbar select { width: 100%; height: 39px; padding: 0 9px; border: 1px solid #dce4e9; border-radius: 8px; background: white; color: #405662; font-size: 10px; }
.supplies-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.supplies-table th { padding: 9px 10px; border-bottom: 1px solid #e7ecef; color: #89969c; font-size: 7px; letter-spacing: .35px; text-align: left; text-transform: uppercase; }
.supplies-table th:first-child { width: 24%; }.supplies-table th:last-child { width: 70px; }
.supplies-table td { padding: 10px; border-bottom: 1px solid #edf1f3; color: #526974; font-size: 9px; vertical-align: middle; }
.supplies-table tbody tr:last-child td { border-bottom: 0; }.supplies-table tbody tr:hover { background: #fbfcfd; }
.supply-product { display: flex; align-items: center; gap: 8px; }
.supply-product > span { width: 31px; height: 31px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; background: var(--brand-gold-soft); color: #956e35; font-size: 12px; }
.supply-product strong, .supply-product small { display: block; }.supply-product strong { color: #304955; font-size: 10px; }.supply-product small { margin-top: 3px; color: #929fa5; font-size: 7px; }
.supply-stock-number { color: #344f5b; font-size: 10px; font-weight: 800; }.supply-stock-number.low { color: #ad5f4b; }
.supply-coverage { display: inline-flex; padding: 4px 6px; border-radius: 7px; font-size: 7px; font-weight: 700; }.supply-coverage.ok { color: #567768; background: #edf4f0; }.supply-coverage.warning { color: #936d35; background: var(--brand-gold-soft); }.supply-coverage.critical { color: #a35f4d; background: #faece8; }
.supply-row-actions { display: flex; justify-content: flex-end; gap: 4px; }.supply-row-actions button { width: 27px; height: 27px; border: 1px solid #d9e2e7; border-radius: 7px; background: white; color: var(--brand-blue); font-size: 10px; cursor: pointer; }
.supplies-operation-card { padding: 15px; }
.supplies-operation-title { display: flex; align-items: center; gap: 9px; padding-bottom: 12px; border-bottom: 1px solid #e8edef; }
.supplies-operation-title > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: var(--brand-gold-soft); color: #9a7136; font-size: 14px; }
.supplies-operation-title strong, .supplies-operation-title small { display: block; }.supplies-operation-title strong { font-size: 11px; }.supplies-operation-title small { margin-top: 3px; color: #8a979e; font-size: 8px; }
.supplies-operation-numbers { display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; margin: 11px 0; }
.supplies-operation-numbers div { padding: 8px 4px; border-radius: 7px; background: #f4f7f9; text-align: center; }
.supplies-operation-numbers strong, .supplies-operation-numbers small { display: block; }.supplies-operation-numbers strong { color: var(--brand-blue); font: 700 15px "Manrope"; }.supplies-operation-numbers small { margin-top: 3px; color: #8b999f; font-size: 7px; }
.supplies-priority-list { display: grid; gap: 6px; }
.supply-priority-item { display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 8px; border: 1px solid #e5ebee; border-radius: 7px; }
.supply-priority-item strong, .supply-priority-item small { display: block; }.supply-priority-item strong { color: #405965; font-size: 8px; }.supply-priority-item small { margin-top: 3px; color: #8a979e; font-size: 7px; }.supply-priority-item > span { color: #a45e4b; font-size: 9px; font-weight: 800; white-space: nowrap; }
.supplies-bottom-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.supply-requests-list, .supply-movements-list { display: grid; }
.supply-request-item, .supply-movement-item { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 10px; min-height: 58px; padding: 9px 14px; border-bottom: 1px solid #edf1f3; }
.supply-request-item:last-child, .supply-movement-item:last-child { border-bottom: 0; }
.supply-request-item > span, .supply-movement-item > span { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 8px; background: #edf3f7; color: var(--brand-blue); font-size: 9px; font-weight: 800; }
.supply-request-item strong, .supply-request-item small, .supply-movement-item strong, .supply-movement-item small { display: block; }
.supply-request-item strong, .supply-movement-item strong { color: #354e5a; font-size: 9px; }.supply-request-item small, .supply-movement-item small { margin-top: 3px; color: #89979e; font-size: 8px; }
.supply-request-meta, .supply-movement-meta { text-align: right; }.supply-request-meta button { height: 28px; padding: 0 8px; border: 1px solid #d4e0e6; border-radius: 7px; background: white; color: var(--brand-blue); font-size: 7px; font-weight: 800; cursor: pointer; }.supply-movement-meta strong { color: #536f7f; }
.supply-request-status { display: inline-flex; padding: 4px 6px; border-radius: 7px; color: #926d35; background: var(--brand-gold-soft); font-size: 7px; font-weight: 700; }
.cleaner-kit-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-bottom: 12px; }
.cleaner-kit-summary article { display: flex; align-items: center; gap: 10px; min-height: 82px; padding: 13px; border: 1px solid var(--line); border-radius: 11px; background: white; box-shadow: 0 2px 10px rgba(22,62,99,.025); }
.cleaner-kit-summary article > span { width: 35px; height: 35px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 9px; background: #eaf1f5; color: var(--brand-blue); font-size: 14px; font-weight: 800; }
.cleaner-kit-summary .products > span { color: #567768; background: #edf4f0; }.cleaner-kit-summary .attention > span { color: #936d35; background: var(--brand-gold-soft); }.cleaner-kit-summary .overdue > span { color: #a45e4b; background: #faece8; }
.cleaner-kit-summary small, .cleaner-kit-summary strong, .cleaner-kit-summary p { display: block; margin: 0; }.cleaner-kit-summary small { color: #798991; font-size: 9px; }.cleaner-kit-summary strong { margin-top: 3px; color: #294450; font: 700 20px "Manrope"; }.cleaner-kit-summary p { margin-top: 2px; color: #99a4a9; font-size: 8px; }
.cleaner-kit-control { padding: 0; overflow: hidden; }
.cleaner-kit-toolbar { display: grid; grid-template-columns: minmax(240px,1.4fr) repeat(2,minmax(145px,.55fr)) auto; align-items: end; gap: 9px; padding: 11px 14px; border-bottom: 1px solid #e8edf0; background: #fbfcfd; }
.cleaner-kit-toolbar > label:not(.linen-search) > span { display: block; margin: 0 0 5px 2px; color: #6f8089; font-size: 9px; font-weight: 700; }
.cleaner-kit-toolbar select { width: 100%; height: 39px; padding: 0 9px; border: 1px solid #dce4e9; border-radius: 8px; background: white; color: #405662; font-size: 10px; }
.cleaner-kits-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 11px; }
.cleaner-kit-card { overflow: hidden; border: 1px solid #e0e7eb; border-radius: 10px; background: white; }
.cleaner-kit-card-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 13px; border-bottom: 1px solid #e9eef1; }
.cleaner-kit-person { display: flex; align-items: center; gap: 9px; }.cleaner-kit-person > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--brand-gold-soft); color: #916a32; font-size: 9px; font-weight: 800; }.cleaner-kit-person strong, .cleaner-kit-person small { display: block; }.cleaner-kit-person strong { color: #304955; font-size: 11px; }.cleaner-kit-person small { margin-top: 3px; color: #89979e; font-size: 8px; }
.cleaner-kit-card-head > span { padding: 5px 7px; border-radius: 7px; color: #567768; background: #edf4f0; font-size: 7px; font-weight: 700; }
.cleaner-kit-card-head > span.review { color: #936d35; background: var(--brand-gold-soft); }.cleaner-kit-card-head > span.suspended { color: #87949b; background: #eef1f3; }
.cleaner-kit-items { display: grid; gap: 7px; padding: 11px 13px; }
.cleaner-kit-item { display: grid; grid-template-columns: minmax(120px,1fr) auto; align-items: center; gap: 8px; padding-bottom: 7px; border-bottom: 1px solid #edf1f3; }
.cleaner-kit-item:last-child { padding-bottom: 0; border-bottom: 0; }
.cleaner-kit-item strong, .cleaner-kit-item small { display: block; }.cleaner-kit-item strong { color: #405965; font-size: 8px; }.cleaner-kit-item small { margin-top: 3px; color: #89979e; font-size: 7px; }
.cleaner-kit-delivery { text-align: right; }.cleaner-kit-delivery strong { color: var(--brand-blue); font-size: 8px; }
.cleaner-kit-card-note { margin: 0 13px 10px; padding: 7px 8px; border-left: 2px solid var(--brand-gold-rich); background: #fdfaf5; color: #796b50; font-size: 7px; line-height: 1.45; }
.cleaner-kit-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 13px; border-top: 1px solid #edf1f3; background: #fbfcfd; }.cleaner-kit-card-footer small { color: #89979e; font-size: 7px; }.cleaner-kit-card-footer button { height: 29px; padding: 0 9px; border: 1px solid #d6e0e5; border-radius: 7px; background: white; color: var(--brand-blue); font-size: 8px; font-weight: 800; cursor: pointer; }
.cleaner-kit-dialog { width: min(850px,100%); }
.cleaner-kit-editor-heading { margin-top: 15px; padding-top: 13px; border-top: 1px solid #e7ecef; }.cleaner-kit-editor-heading strong, .cleaner-kit-editor-heading small { display: block; }.cleaner-kit-editor-heading strong { font-size: 11px; }.cleaner-kit-editor-heading small { margin-top: 3px; color: #89979e; font-size: 9px; }
.cleaner-kit-editor-labels { display: grid; grid-template-columns: minmax(180px,1fr) 90px 145px; gap: 8px; margin-top: 10px; padding: 0 10px; color: #87949a; font-size: 7px; font-weight: 800; text-transform: uppercase; }
.cleaner-kit-editor { display: grid; gap: 6px; margin-top: 5px; }
.cleaner-kit-editor-row { display: grid; grid-template-columns: minmax(180px,1fr) 90px 145px; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid #e1e8eb; border-radius: 8px; background: #fbfcfd; }
.cleaner-kit-editor-row label:first-child { display: flex; align-items: center; gap: 7px; color: #405965; font-size: 9px; }.cleaner-kit-editor-row input[type="checkbox"] { accent-color: var(--brand-blue); }
.cleaner-kit-editor-row input[type="number"], .cleaner-kit-editor-row input[type="date"] { width: 100%; height: 32px; padding: 0 7px; border: 1px solid #d9e2e7; border-radius: 7px; outline: 0; background: white; color: #344d59; font-size: 9px; }

/* Gestão de enxoval */
.linen-mode header #newReservation { display: none; }
.linen-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.linen-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 14px; }
.linen-summary article { display: flex; align-items: center; gap: 12px; min-height: 94px; padding: 15px; border: 1px solid var(--line); border-radius: 11px; background: white; box-shadow: 0 2px 10px rgba(22,62,99,.025); }
.linen-summary article.attention { border-color: #eadcc3; background: #fffdfa; }
.linen-summary-icon { width: 39px; height: 39px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 10px; background: #eaf1f5; color: var(--brand-blue); font-size: 15px; font-weight: 700; }
.linen-summary-icon.gold { background: var(--brand-gold-soft); color: #9c7338; }
.linen-summary-icon.blue { background: #edf2f6; color: #52728a; }
.linen-summary-icon.alert { background: #faece5; color: #ad684a; }
.linen-summary small, .linen-summary strong, .linen-summary p { display: block; margin: 0; }
.linen-summary small { color: #788991; font-size: 10px; }
.linen-summary strong { margin-top: 3px; color: #263f4c; font: 700 21px "Manrope"; }
.linen-summary p { margin-top: 2px; color: #9aa5aa; font-size: 9px; }
.linen-tabs { flex: none; min-height: auto; display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin-bottom: 14px; padding: 6px; overflow: visible; border: 1px solid var(--line); border-radius: 11px; background: white; }
.linen-tabs button { display: flex; align-items: center; gap: 10px; min-height: 53px; padding: 8px 12px; border: 0; border-radius: 8px; background: transparent; color: #73838c; text-align: left; cursor: pointer; }
.linen-tabs button:hover { background: #f4f7f9; }
.linen-tabs button.active { background: var(--brand-blue); color: white; box-shadow: 0 5px 14px rgba(22,62,99,.15); }
.linen-tabs button > span { width: 29px; height: 29px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; background: #edf2f5; color: var(--brand-blue); font-size: 13px; }
.linen-tabs button.active > span { background: rgba(255,255,255,.12); color: var(--brand-gold); }
.linen-tabs strong, .linen-tabs small { display: block; }
.linen-tabs strong { font-size: 11px; }.linen-tabs small { margin-top: 3px; color: #97a4aa; font-size: 9px; }
.linen-tabs button.active small { color: #bbccd8; }
.linen-tab-panel { display: none; }
.linen-tab-panel.active { display: block; }
.linen-stock-panel { padding: 0; overflow: hidden; }
.linen-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 17px 18px; border-bottom: 1px solid #e8edf0; }
.linen-panel-heading h2, .linen-panel-heading p { margin: 0; }
.linen-panel-heading h2 { font: 700 15px "Manrope"; }
.linen-panel-heading p { margin-top: 4px; color: #87949b; font-size: 10px; }
.linen-standalone-heading { margin-bottom: 12px; padding: 0 2px; border: 0; }
.linen-toolbar { display: grid; grid-template-columns: minmax(250px,1.5fr) repeat(2,minmax(150px,.6fr)) auto; align-items: end; gap: 9px; padding: 12px 18px; background: #fbfcfd; }
.linen-toolbar > label:not(.linen-search) > span, .linen-apartment-filter > span { display: block; margin: 0 0 5px 2px; color: #6f8089; font-size: 9px; font-weight: 700; }
.linen-toolbar select, .linen-apartment-filter select { width: 100%; height: 39px; padding: 0 9px; border: 1px solid #dce4e9; border-radius: 8px; outline: 0; background: white; color: #405662; font-size: 10px; }
.linen-search { height: 39px; display: flex; align-items: center; gap: 8px; padding: 0 10px; border: 1px solid #dce4e9; border-radius: 8px; background: white; }
.linen-search span { color: #86959c; font-size: 17px; }
.linen-search input { width: 100%; border: 0; outline: 0; background: transparent; color: #334b57; font-size: 11px; }
.linen-table-wrap { overflow: hidden; }
.linen-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.linen-table th { padding: 10px 12px; border-bottom: 1px solid #e6ecef; color: #87949a; font-size: 8px; font-weight: 800; letter-spacing: .4px; text-align: left; text-transform: uppercase; }
.linen-table th:first-child { width: 23%; }.linen-table th:nth-child(2) { width: 14%; }.linen-table th:last-child { width: 54px; }
.linen-table td { padding: 12px; border-bottom: 1px solid #edf1f3; color: #526872; font-size: 10px; vertical-align: middle; }
.linen-table tbody tr:last-child td { border-bottom: 0; }
.linen-table tbody tr:hover { background: #fbfcfd; }
.linen-product { display: flex; align-items: center; gap: 9px; }
.linen-product-icon { width: 32px; height: 32px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; background: var(--brand-gold-soft); color: #98713a; font-size: 13px; }
.linen-product strong, .linen-product small { display: block; }
.linen-product strong { color: #304955; font-size: 11px; }.linen-product small { margin-top: 3px; color: #97a3a9; font-size: 8px; }
.linen-quantity { color: #304955; font-size: 11px; font-weight: 700; }
.linen-quantity.available { color: var(--brand-blue); }
.linen-stock-status { display: inline-flex; align-items: center; gap: 5px; padding: 5px 7px; border-radius: 8px; font-size: 8px; font-weight: 700; white-space: nowrap; }
.linen-stock-status::before { content: ""; width: 5px; height: 5px; border-radius: 50%; }
.linen-stock-status.ok { color: #557668; background: #edf4f0; }.linen-stock-status.ok::before { background: #6d9b86; }
.linen-stock-status.low { color: #a45f4e; background: #faece8; }.linen-stock-status.low::before { background: #c26b58; }
.linen-row-action { width: 29px; height: 29px; border: 1px solid #dce4e8; border-radius: 7px; background: white; color: var(--brand-blue); font-size: 13px; cursor: pointer; }
.linen-row-action:hover { background: #edf3f7; }
.linen-empty { padding: 38px 15px; color: #87959c; text-align: center; }
.linen-empty span, .linen-empty strong { display: block; }.linen-empty span { font-size: 23px; }.linen-empty strong { margin-top: 8px; color: #405965; font-size: 12px; }.linen-empty p { margin: 5px 0 0; font-size: 10px; }
.linen-kits-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.linen-kit-card { overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: white; box-shadow: 0 2px 10px rgba(22,62,99,.025); }
.linen-kit-card header { height: auto; display: flex; align-items: center; justify-content: space-between; padding: 14px; border: 0; border-bottom: 1px solid #e9eef1; background: white; }
.linen-kit-title { display: flex; align-items: center; gap: 9px; }
.linen-kit-title > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: var(--brand-gold-soft); color: #9b7135; font-size: 14px; }
.linen-kit-title strong, .linen-kit-title small { display: block; }
.linen-kit-title strong { font-size: 12px; }.linen-kit-title small { margin-top: 3px; color: #89979e; font-size: 9px; }
.linen-kit-edit { border: 0; background: transparent; color: var(--brand-blue); font-size: 10px; font-weight: 700; cursor: pointer; }
.linen-kit-items { display: grid; gap: 7px; padding: 13px 14px; }
.linen-kit-item { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #687a83; font-size: 9px; }
.linen-kit-item strong { min-width: 24px; padding: 3px 6px; border-radius: 6px; background: #eef3f6; color: #3d5966; text-align: center; font-size: 9px; }
.linen-kit-footer { display: flex; align-items: center; justify-content: space-between; padding: 10px 14px; border-top: 1px solid #edf1f3; background: #fbfcfd; color: #89979e; font-size: 8px; }
.linen-kit-footer strong { color: var(--brand-blue); font-size: 9px; }
.linen-apartment-filter { min-width: 190px; }
.linen-apartments-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.linen-apartment-card { padding: 15px; border: 1px solid var(--line); border-radius: 11px; background: white; box-shadow: 0 2px 10px rgba(22,62,99,.025); }
.linen-apartment-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid #edf1f3; }
.linen-apartment-head h3, .linen-apartment-head p { margin: 0; }.linen-apartment-head h3 { font: 700 13px "Manrope"; }.linen-apartment-head p { margin-top: 4px; color: #87959c; font-size: 9px; }
.linen-apartment-badges { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.linen-apartment-status { padding: 5px 7px; border-radius: 8px; font-size: 8px; font-weight: 700; white-space: nowrap; }
.linen-apartment-status.complete { color: #567768; background: #edf4f0; }.linen-apartment-status.replace { color: #a35f4d; background: #faece8; }.linen-apartment-status.pending { color: #906d36; background: var(--brand-gold-soft); }.linen-apartment-status.monthly { color: #526f84; background: #eaf1f6; }
.linen-rental-type { padding: 5px 7px; border: 1px solid #dce5ea; border-radius: 8px; color: #596f7b; background: white; font-size: 8px; font-weight: 700; white-space: nowrap; }
.linen-apartment-kit { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 11px 0; padding: 9px; border-radius: 8px; background: #f5f8fa; }
.linen-apartment-kit span { color: #7b8b93; font-size: 9px; }.linen-apartment-kit strong { color: #344f5c; font-size: 10px; }
.linen-apartment-items { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; }
.linen-apartment-items div { padding: 7px; border: 1px solid #e7ecef; border-radius: 7px; text-align: center; }
.linen-apartment-items strong, .linen-apartment-items small { display: block; }.linen-apartment-items strong { color: #344e5a; font-size: 12px; }.linen-apartment-items small { margin-top: 3px; color: #8c999f; font-size: 7px; }
.linen-apartment-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; }
.linen-apartment-actions small { color: #929fa5; font-size: 8px; }.linen-apartment-actions button { height: 31px; padding: 0 10px; border: 1px solid #d6e0e5; border-radius: 7px; background: white; color: var(--brand-blue); font-size: 9px; font-weight: 700; cursor: pointer; }
.linen-visible-note { display: flex; align-items: flex-start; gap: 7px; margin-top: 10px; padding: 8px 9px; border-radius: 7px; background: var(--brand-gold-soft); color: #756545; font-size: 8px; line-height: 1.45; }
.linen-visible-note > span { color: #9a7337; font-weight: 800; }.linen-visible-note p { margin: 0; }
.linen-monthly-empty { display: grid; place-items: center; min-height: 84px; padding: 14px; border: 1px dashed #d8e2e7; border-radius: 8px; color: #72848d; background: #fafcfd; text-align: center; font-size: 9px; line-height: 1.5; }
.linen-field-wide { grid-column: 1 / -1; }
.linen-balance-preview { display: flex; align-items: center; justify-content: space-between; margin-top: 13px; padding: 11px; border-radius: 8px; background: #edf3f7; }
.linen-balance-preview span { color: #6e818b; font-size: 10px; }.linen-balance-preview strong { color: var(--brand-blue); font: 700 14px "Manrope"; }
.linen-kit-dialog { width: min(720px,100%); }
.linen-kit-composition-heading { margin-top: 16px; padding-top: 14px; border-top: 1px solid #e7ecef; }
.linen-kit-composition-heading strong, .linen-kit-composition-heading small { display: block; }
.linen-kit-composition-heading strong { font-size: 11px; }.linen-kit-composition-heading small { margin-top: 3px; color: #89979e; font-size: 9px; }
.linen-kit-editor, .linen-apartment-editor { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin-top: 10px; }
.linen-kit-editor-row, .linen-apartment-editor-row { display: grid; grid-template-columns: 1fr 65px; align-items: center; gap: 8px; padding: 8px 9px; border: 1px solid #e2e8eb; border-radius: 8px; background: #fbfcfd; }
.linen-kit-editor-row label { display: flex; align-items: center; gap: 7px; color: #526974; font-size: 9px; }
.linen-kit-editor-row input[type="checkbox"] { accent-color: var(--brand-blue); }
.linen-kit-editor-row input[type="number"], .linen-apartment-editor-row input { width: 100%; height: 32px; padding: 0 7px; border: 1px solid #d9e2e7; border-radius: 7px; outline: 0; color: #344d59; font-size: 10px; text-align: center; }
.linen-apartment-editor-row span { color: #526974; font-size: 9px; }
.linen-monthly-notice { display: flex; align-items: flex-start; gap: 8px; margin-top: 13px; padding: 10px; border-radius: 8px; background: #eaf1f6; color: #536f82; font-size: 9px; line-height: 1.5; }
.linen-monthly-notice > span { width: 20px; height: 20px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: white; color: var(--brand-blue); font-weight: 800; }
.linen-monthly-notice p { margin: 1px 0 0; }
.linen-apartment-editor.monthly-disabled { display: block; }
.linen-apartment-editor.monthly-disabled .linen-apartment-editor-row { display: none; }
.linen-apartment-editor.monthly-disabled::after { content: "Locação mensal: nenhuma peça de enxoval será mantida no apartamento."; display: grid; place-items: center; min-height: 75px; padding: 12px; border: 1px dashed #cfdde5; border-radius: 8px; color: #5c7585; background: #f5f9fb; text-align: center; font-size: 9px; }
.property-items-panel { padding: 0; overflow: hidden; }
.property-items-toolbar { display: grid; grid-template-columns: minmax(250px,1.4fr) repeat(3,minmax(135px,.55fr)) auto; align-items: end; gap: 9px; padding: 12px 14px; border-bottom: 1px solid #e7ecef; background: #fbfcfd; }
.property-items-toolbar > label:not(.linen-search) > span { display: block; margin: 0 0 5px 2px; color: #6f8089; font-size: 9px; font-weight: 700; }
.property-items-toolbar select { width: 100%; height: 39px; padding: 0 9px; border: 1px solid #dce4e9; border-radius: 8px; outline: 0; background: white; color: #405662; font-size: 10px; }
.property-items-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding: 12px; }
.property-item-card { padding: 13px; border: 1px solid #e0e7eb; border-radius: 10px; background: white; }
.property-item-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 9px; }
.property-item-title { display: flex; align-items: center; gap: 8px; min-width: 0; }
.property-item-title > span { width: 32px; height: 32px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; background: var(--brand-gold-soft); color: #98703a; font-size: 13px; }
.property-item-title strong, .property-item-title small { display: block; }
.property-item-title strong { overflow: hidden; color: #304955; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }.property-item-title small { margin-top: 3px; color: #89979e; font-size: 8px; }
.property-item-status { padding: 4px 6px; border-radius: 7px; font-size: 7px; font-weight: 700; white-space: nowrap; }
.property-item-status.ok { color: #557668; background: #edf4f0; }.property-item-status.maintenance { color: #906d36; background: var(--brand-gold-soft); }.property-item-status.replace { color: #a45f4e; background: #faece8; }
.property-item-meta { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 10px; padding: 8px; border-radius: 7px; background: #f5f8fa; }
.property-item-meta span, .property-item-meta strong { display: block; }.property-item-meta span { color: #849198; font-size: 8px; }.property-item-meta strong { margin-top: 3px; color: #3b5561; font-size: 9px; }.property-item-meta > div:last-child { text-align: right; }
.property-item-note { min-height: 43px; margin: 9px 0 0; padding: 8px; border-left: 2px solid var(--brand-gold-rich); border-radius: 0 6px 6px 0; background: #fdfaf5; color: #76694f; font-size: 8px; line-height: 1.45; }
.property-item-footer { display: flex; justify-content: flex-end; margin-top: 10px; padding-top: 9px; border-top: 1px solid #edf1f3; }
.property-item-footer button { height: 29px; padding: 0 9px; border: 1px solid #d8e2e7; border-radius: 7px; background: white; color: var(--brand-blue); font-size: 8px; font-weight: 700; cursor: pointer; }

/* Criação de reserva */
.creation-mode header #newReservation { display: none; }
.create-heading { display: grid; grid-template-columns: 36px 1fr auto; align-items: center; gap: 13px; margin-bottom: 21px; }
.back-to-reservations { width: 36px; height: 36px; border: 1px solid #dce4e9; border-radius: 9px; background: white; color: var(--brand-blue); cursor: pointer; font-size: 19px; }
.draft-status { display: flex; align-items: center; gap: 6px; color: #71828c; font-size: 11px; }
.draft-status i { width: 6px; height: 6px; border-radius: 50%; background: #579179; }
.creation-progress { display: flex; align-items: center; gap: 8px; margin-bottom: 18px; padding: 13px 17px; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: 0 6px 20px rgba(22,62,99,.03); }
.creation-progress > button { flex: 0 1 auto; min-width: 0; display: flex; align-items: center; gap: 7px; padding: 0; border: 0; background: transparent; color: #8c999f; text-align: left; cursor: default; }
.creation-progress > button > span { width: 27px; height: 27px; display: grid; place-items: center; border: 1px solid #d8e0e5; border-radius: 50%; background: #fafbfc; font-size: 11px; font-weight: 700; }
.creation-progress button strong, .creation-progress button small { display: block; }
.creation-progress button strong { color: #657781; font-size: 10.5px; white-space: nowrap; }
.creation-progress button small { margin-top: 2px; font-size: 8.5px; white-space: nowrap; }
.creation-progress button.active > span, .creation-progress button.completed > span { border-color: var(--brand-blue); background: var(--brand-blue); color: white; }
.creation-progress button.active strong, .creation-progress button.completed strong { color: var(--brand-blue); }
.creation-progress button.completed > span { font-size: 0; }
.creation-progress button.completed > span::before { content: "✓"; font-size: 11px; }
.creation-progress > i { flex: 1 1 18px; min-width: 10px; height: 1px; margin: 0 4px; background: #dfe6ea; }
.creation-progress > i.completed { background: var(--brand-gold-rich); }
.creation-layout { display: grid; grid-template-columns: minmax(0,1fr) 245px; align-items: start; gap: 17px; }
.wizard-card { overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: white; box-shadow: 0 8px 25px rgba(22,62,99,.04); }
.wizard-step { display: none; padding: 23px 25px 8px; }
.wizard-step.active { display: block; }
.step-title { display: flex; align-items: flex-start; gap: 11px; margin-bottom: 21px; }
.step-title > span { width: 31px; height: 31px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 9px; background: var(--brand-gold-soft); color: #9b7134; font-size: 11px; font-weight: 800; }
.step-title h2, .step-title p { margin: 0; }
.step-title h2 { font: 700 18px "Manrope"; }
.step-title p { margin-top: 5px; color: #85939a; font-size: 11px; }
.creation-type-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 20px; }
.creation-type-options button { position: relative; min-height: 83px; display: grid; grid-template-columns: 37px 1fr 21px; align-items: center; gap: 11px; padding: 13px; border: 1px solid #dfe6ea; border-radius: 10px; background: #fbfcfd; text-align: left; cursor: pointer; }
.creation-type-options button > span { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 9px; background: #edf2f5; color: var(--brand-blue); font-size: 19px; }
.creation-type-options strong, .creation-type-options small { display: block; }
.creation-type-options strong { font-size: 12px; }
.creation-type-options small { margin-top: 4px; color: #87959c; font-size: 10px; line-height: 1.4; }
.creation-type-options button > i { width: 19px; height: 19px; display: none; place-items: center; border-radius: 50%; background: var(--brand-blue); color: white; font-size: 10px; font-style: normal; }
.creation-type-options button.selected { border-color: var(--brand-gold-rich); background: #fffdf9; box-shadow: inset 0 0 0 1px rgba(199,157,85,.11); }
.creation-type-options button.selected > span { background: var(--brand-gold-soft); color: #9b7134; }
.creation-type-options button.selected > i { display: grid; }
.form-grid { display: grid; gap: 13px; }
.form-grid.two-cols { grid-template-columns: repeat(2,minmax(0,1fr)); }
.form-grid.three-cols { grid-template-columns: repeat(3,minmax(0,1fr)); }
.form-grid.four-cols { grid-template-columns: repeat(4,minmax(0,1fr)); }
.form-field { display: block; min-width: 0; }
.form-field > span { display: block; margin: 0 0 6px 2px; color: #5f727d; font-size: 11px; font-weight: 600; }
.form-field input, .form-field select, .form-field textarea { width: 100%; border: 1px solid #dce4e9; border-radius: 8px; outline: 0; background: white; color: #334a57; font: 12px "DM Sans"; }
.form-field input, .form-field select { min-height: 42px; padding: 6px 10px; }
.form-field textarea { padding: 11px; resize: vertical; line-height: 1.5; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: #7d9ab0; box-shadow: 0 0 0 3px rgba(22,62,99,.06); }
.form-field input[readonly] { border-color: #d9e3e8; background: #f3f7f9; color: var(--brand-blue); font-weight: 700; cursor: default; }
.date-selection { margin-bottom: 13px; }
.period-summary { display: flex; align-items: center; gap: 11px; margin-bottom: 18px; padding: 12px 13px; border-radius: 9px; background: #edf3f7; }
.period-summary-icon { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 8px; background: white; color: var(--brand-blue); }
.period-summary strong, .period-summary small { display: block; }
.period-summary strong { font-size: 11px; }.period-summary small { margin-top: 3px; color: #72858f; font-size: 10px; }
.monthly-tip { display: flex; align-items: center; gap: 9px; margin-top: 16px; padding: 11px 13px; border: 1px solid #ecdfc6; border-radius: 8px; background: #fdf9f1; }
.monthly-tip > span { width: 21px; height: 21px; display: grid; place-items: center; border-radius: 50%; background: var(--brand-gold); color: var(--brand-blue-dark); font-size: 11px; font-weight: 700; }
.monthly-tip p { margin: 0; color: #806d4f; font-size: 10px; line-height: 1.45; }
.monthly-billing-panel { display: grid; gap: 11px; margin-top: 14px; padding: 14px; border: 1px solid #e2e9ed; border-radius: 12px; background: #fbfcfd; }
.monthly-adjustment-card { display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 10px; padding: 11px 12px; border: 1px solid #e8edf1; border-radius: 10px; background: white; }
.monthly-adjustment-card > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: var(--brand-gold-soft); color: #936b30; font-weight: 900; }
.monthly-adjustment-card strong, .monthly-adjustment-card small { display: block; }
.monthly-adjustment-card strong { color: var(--brand-blue); font-size: 11px; }
.monthly-adjustment-card small { margin-top: 3px; color: #7d8c95; font-size: 10px; line-height: 1.45; }
.monthly-adjustment-card > b { color: var(--brand-blue); font: 800 13px "Manrope"; white-space: nowrap; }
.monthly-adjustment-card.negative > span { background: #eef6f1; color: #39775e; }
.monthly-adjustment-card.negative > b { color: #39775e; }
.monthly-adjustment-card.positive > span { background: #fff2d6; color: #94631f; }
.monthly-adjustment-card.positive > b { color: #94631f; }
.availability-bar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; padding: 11px 13px; border: 1px solid #dce9e2; border-radius: 9px; background: #f2f8f5; }
.availability-bar > div { display: flex; align-items: center; gap: 9px; }
.availability-bar > div > span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: #dceee4; color: #39775e; font-size: 11px; font-weight: 700; }
.availability-bar p, .availability-bar strong, .availability-bar small { margin: 0; display: block; }
.availability-bar strong { font-size: 11px; }.availability-bar small { margin-top: 3px; color: #768a81; font-size: 10px; }
.availability-bar button { border: 0; background: transparent; color: var(--brand-blue); font-size: 10px; font-weight: 700; cursor: pointer; }
.best-fit-explanation { display: flex; align-items: center; gap: 7px; margin: 0 2px 13px; color: #74848d; font-size: 10px; }
.best-fit-explanation > span { color: var(--brand-gold-rich); }
.best-fit-explanation p { margin: 0; }
.apartment-list { display: grid; gap: 9px; }
.apartment-option { position: relative; display: grid; grid-template-columns: 88px 1fr auto 22px; align-items: center; gap: 13px; min-height: 82px; padding: 9px 12px 9px 9px; border: 1px solid #e0e7eb; border-radius: 10px; background: white; text-align: left; cursor: pointer; transition: .16s ease; }
.apartment-option:hover { border-color: #a9bdca; background: #fbfcfd; }
.apartment-option.selected { border-color: var(--brand-gold-rich); background: #fffdf9; box-shadow: inset 0 0 0 1px rgba(199,157,85,.12); }
.apartment-option.unavailable { border-color: #ead8d4; background: #fffafa; opacity: .9; }
.apartment-option.unavailable:hover { border-color: #ddb8b0; background: #fff7f6; }
.apartment-option[hidden] { display: none; }
.apartment-image { position: relative; width: 88px; height: 62px; overflow: hidden; border-radius: 8px; background: #dce5e8; }
.apartment-a { background: linear-gradient(145deg,#b7d0d8 0 35%,#365b6d 36% 68%,#e1c391 69%); }
.apartment-b { background: linear-gradient(135deg,#eadcc1 0 48%,#607a86 49% 70%,#263f50 71%); }
.apartment-c { background: linear-gradient(150deg,#86aaa7 0 42%,#d5ddd0 43% 62%,#b97649 63%); }
.apartment-d { background: linear-gradient(140deg,#b8c9b3 0 35%,#f1e7cf 36% 59%,#466679 60%); }
.apartment-e { background: linear-gradient(135deg,#d6c9b5 0 38%,#879da6 39% 65%,#294b61 66%); }
.best-fit-label, .fit-label { position: absolute; top: 5px; left: 5px; padding: 3px 5px; border-radius: 5px; font-size: 8px; font-weight: 700; }
.best-fit-label { background: #f3ddb2; color: #725322; }.fit-label { background: rgba(255,255,255,.88); color: #596d77; }
.apartment-image .best-fit-label[hidden], .apartment-image .fit-label[hidden] { display: none; }
.apartment-info strong, .apartment-info small { display: block; }
.apartment-info strong { font-size: 12px; }.apartment-info small { margin-top: 4px; color: #829098; font-size: 10px; }
.apartment-info > div { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.apartment-info > div span { padding: 3px 5px; border-radius: 5px; background: #f0f3f5; color: #6d7e87; font-size: 9px; }
.apartment-info > .apartment-schedule-meta { margin-top: 7px; gap: 5px; }
.apartment-info > .apartment-schedule-meta span { border-radius: 999px; background: #eef3f5; color: #637681; font-size: 9px; font-weight: 700; }
.apartment-info > .apartment-schedule-meta span.available { background: #eef8f2; color: #39775e; }
.apartment-info > .apartment-schedule-meta span.occupied { background: #f8e8e5; color: #9b3f34; }
.apartment-info > .apartment-schedule-meta span.fit { background: #fff2d6; color: #94631f; }
.apartment-price { text-align: right; }
.apartment-price small, .apartment-price strong, .apartment-price span { display: block; }
.apartment-price small { color: #929fa5; font-size: 9px; }.apartment-price strong { margin: 3px 0; font: 700 14px "Manrope"; }.apartment-price span { color: #829098; font-size: 9px; }
.selection-check { width: 19px; height: 19px; display: none; place-items: center; border-radius: 50%; background: var(--brand-blue); color: white; font-size: 10px; font-style: normal; }
.apartment-option.unavailable .selection-check { background: #c77b70; }
.apartment-option.selected .selection-check { display: grid; }
.selected-property-strip { display: grid; grid-template-columns: 31px 1fr auto; align-items: center; gap: 10px; margin-bottom: 15px; padding: 10px 12px; border-radius: 9px; background: #edf3f7; }
.selected-property-strip > span { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 8px; background: white; color: var(--brand-blue); }
.selected-property-strip small, .selected-property-strip strong { display: block; }
.selected-property-strip small { color: #7d8d96; font-size: 9px; }.selected-property-strip strong { margin-top: 3px; font-size: 11px; }
.selected-property-strip button, .review-hero button, .review-card-title button { border: 0; background: transparent; color: var(--brand-blue); font-size: 10px; font-weight: 700; cursor: pointer; }
.form-section { margin: 0 -25px; padding: 18px 25px; border-top: 1px solid #e9eef1; }
.section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.section-heading h3, .section-heading p { margin: 0; }
.section-heading h3 { font: 700 14px "Manrope"; }.section-heading p { margin-top: 4px; color: #8b989f; font-size: 10px; }
.inline-toggle { display: flex; flex: 0 0 auto; padding: 3px; border: 1px solid #dfe6ea; border-radius: 8px; background: #f4f7f8; }
.inline-toggle button { height: 27px; padding: 0 9px; border: 0; border-radius: 6px; background: transparent; color: #73838c; font-size: 10px; font-weight: 600; cursor: pointer; }
.inline-toggle button.active { background: white; color: var(--brand-blue); box-shadow: 0 2px 6px rgba(22,62,99,.1); }
.money-input { display: flex; align-items: center; min-height: 42px; padding-left: 9px; border: 1px solid #dce4e9; border-radius: 8px; background: white; }
.money-input:focus-within { border-color: #7d9ab0; box-shadow: 0 0 0 3px rgba(22,62,99,.06); }
.money-input b { color: #71828b; font-size: 11px; }
.money-input input { height: 37px; padding-left: 6px; border: 0; box-shadow: none !important; }
.guest-registration-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.guest-name-field { grid-column: span 2; }
.phone-input { display: grid; grid-template-columns: 132px 1fr; min-height: 42px; border: 1px solid #dce4e9; border-radius: 8px; background: white; overflow: visible; }
.phone-input:focus-within { border-color: #7d9ab0; box-shadow: 0 0 0 3px rgba(22,62,99,.06); }
.phone-input input { width: 100%; height: 37px; border: 0; border-radius: 0; box-shadow: none !important; }
.phone-input .ddi-search { padding: 0 8px; border-right: 1px solid #e2e8eb; background: #f8fafb; font-weight: 600; color: var(--brand-blue); }
.phone-input input { padding: 0 9px; }
.field-hint { display: block; margin: 5px 0 0 2px; color: #8d9aa1; font-size: 9px; font-weight: 400; }
.existing-guest-data { align-items: center; gap: 11px; margin-top: 9px; padding: 10px 11px; border: 1px solid #dce9e2; border-radius: 8px; background: #f3f8f5; }
.existing-guest-data:not(.hidden) { display: flex; }
.existing-guest-data > span { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: #deeee5; color: #39775e; font-size: 10px; font-weight: 700; }
.existing-guest-data strong, .existing-guest-data small { display: block; }
.existing-guest-data strong { font-size: 10px; }.existing-guest-data small { margin-top: 3px; color: #778b82; font-size: 9px; }
.guest-rating-summary { margin-left: auto; padding-left: 12px; border-left: 1px solid #d7e5dd; }
.guest-rating-summary strong { color: var(--brand-blue); font-size: 11px; }
.guest-rating-summary strong b { color: var(--brand-gold-rich); }
.existing-guest-data > button { height: 31px; padding: 0 10px; border: 1px solid #cfdde4; border-radius: 7px; background: white; color: var(--brand-blue); font-size: 10px; font-weight: 700; cursor: pointer; }
.calculated-total-field { min-height: 63px; display: flex; flex-direction: column; justify-content: center; padding: 8px 11px; border: 1px solid #e5d6b9; border-radius: 8px; background: var(--brand-gold-soft); }
.calculated-total-field span, .calculated-total-field strong, .calculated-total-field small { display: block; }
.calculated-total-field span { color: #806b49; font-size: 9px; }
.calculated-total-field strong { margin: 4px 0 2px; color: var(--brand-blue); font: 700 15px "Manrope"; }
.calculated-total-field small { color: #9a896d; font-size: 9px; }
.check-field { min-height: 39px; display: flex; align-items: center; gap: 8px; margin-top: 15px; padding: 6px 9px; border: 1px solid #e0e7eb; border-radius: 8px; background: #fbfcfd; }
.check-field input, .confirmation-check input { accent-color: var(--brand-blue); }
.check-field strong, .check-field small { display: block; }
.check-field strong { font-size: 10px; }.check-field small { margin-top: 2px; color: #8a979e; font-size: 9px; }
.auto-status-check { pointer-events: none; background: #f6f9fb; }
.auto-status-check input { pointer-events: none; }
.finance-management-card { display: grid; grid-template-columns: minmax(0,1fr) 250px; gap: 14px; padding: 14px; border: 1px solid #e0e7ec; border-radius: 13px; background: white; box-shadow: 0 8px 22px rgba(22,62,99,.035); }
.finance-management-main { min-width: 0; }
.broker-summary-card { min-height: 100%; }
.finance-installment-panel { grid-column: 1 / -1; padding: 14px; border: 1px solid #e5e9ec; border-radius: 11px; background: #f9fafb; }
.finance-installment-panel.hidden { display: none; }
.reservation-payment-card { margin-bottom: 12px; padding: 12px; border: 1px solid #dde6eb; border-radius: 11px; background: linear-gradient(135deg,#fbfcfd,#f7f2e8); }
.reservation-payment-card-head { display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 10px; margin-bottom: 11px; }
.reservation-payment-card-head > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: white; color: var(--brand-blue); font: 800 16px "Manrope"; box-shadow: 0 6px 14px rgba(22,62,99,.06); }
.reservation-payment-card-head strong, .reservation-payment-card-head small { display: block; }
.reservation-payment-card-head strong { color: #2d4654; font-size: 12px; }
.reservation-payment-card-head small { margin-top: 3px; color: #7e8d95; font-size: 10px; }
.compact-payment-grid { gap: 10px; }
.reservation-payment-values { align-items: end; }
.reservation-payment-values .check-field { margin-top: 0; min-height: 42px; }
.reservation-finance-layout { display: grid; grid-template-columns: minmax(0,1fr) 260px; gap: 14px; align-items: stretch; margin-top: 14px; }
.reservation-payment-primary { margin-bottom: 0; background: white; border-color: #dde5ea; box-shadow: 0 8px 22px rgba(22,62,99,.035); }
.reservation-method-grid { gap: 12px; }
.reservation-method-grid .finance-wide { grid-column: 1 / -1; }
.reservation-method-grid textarea { min-height: 82px; resize: vertical; }
.reservation-payment-summary-card { display: flex; flex-direction: column; justify-content: space-between; padding: 16px; border: 1px solid #e1e8ec; border-radius: 13px; background: linear-gradient(160deg,#fbfcfd,#f7f2e8); }
.reservation-payment-summary-card > span { color: #7f8d95; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .4px; }
.reservation-payment-summary-card dl { margin: 12px 0; }
.reservation-payment-summary-card dl > div { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid rgba(22,62,99,.08); font-size: 11px; }
.reservation-payment-summary-card dt { color: #778891; }.reservation-payment-summary-card dd { margin: 0; color: var(--brand-blue); font-weight: 800; text-align: right; }
.reservation-payment-summary-card strong { display: block; padding: 9px 10px; border-radius: 9px; background: #dff7e8; color: #187344; font-size: 11px; text-align: center; }
.reservation-payment-summary-card strong.split { background: #fff3d7; color: #94631f; }
.reservation-payment-summary-card strong.pending { background: #f8e8e5; color: #9b3f34; }
.reservation-installments-card { margin-top: 14px; padding: 0; border: 1px solid #e0e7ec; border-radius: 13px; background: white; overflow: hidden; }
.installments-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border-bottom: 1px solid #e7edf1; }
.installments-head > div { display: flex; align-items: center; gap: 8px; color: var(--brand-blue); }
.installments-head span { color: #8f4ee8; font-size: 15px; }
.installments-head strong { font-size: 14px; }
.installments-head em { min-width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: #f0e3fb; color: #8f4ee8; font-size: 10px; font-style: normal; font-weight: 800; }
.installments-head button { height: 34px; padding: 0 13px; border: 0; border-radius: 8px; background: var(--brand-blue); color: white; font-size: 11px; font-weight: 800; cursor: pointer; }
.extra-installment-list { display: grid; gap: 10px; padding: 0 16px 16px; }
.extra-installment-row { border: 1px solid #e3ebef; border-radius: 12px; background: #fbfcfd; overflow: hidden; }
.extra-installment-row.compact { margin-top: 10px; }
.balance-heading.compact { padding: 12px 14px; border-bottom: 1px solid #e8edf1; }
.balance-heading.compact .remove-installment-button { margin-left: auto; border: 1px solid #dce5ea; border-radius: 8px; background: white; color: #71818b; font-size: 11px; font-weight: 800; padding: 7px 10px; cursor: pointer; }
.extra-installment-row .form-grid { padding: 12px 14px 14px; }
.quick-add-installment { margin-top: 12px; border: 1px solid #d8e3ea; background: #f8fbfc; color: var(--brand-blue); border-radius: 9px; min-height: 36px; padding: 0 12px; font-size: 12px; font-weight: 800; cursor: pointer; }
.installments-cash-notice { display: grid; grid-template-columns: 28px 1fr; gap: 8px; margin: 14px 16px; padding: 12px; border: 1px solid #cfe2ff; border-radius: 10px; background: #eff6ff; color: #1550b8; }
.installments-cash-notice > span { width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; border: 1px solid #7db0ff; font-size: 10px; font-weight: 800; }
.installments-cash-notice strong, .installments-cash-notice p { display: block; margin: 0; }
.installments-cash-notice strong { font-size: 11px; }.installments-cash-notice p { margin-top: 5px; font-size: 10px; line-height: 1.45; }
.capacity-warning { align-items: center; gap: 6px; margin-top: 9px; color: #a35d53; font-size: 10px; }
.capacity-warning:not(.hidden) { display: flex; }
.capacity-warning span { width: 17px; height: 17px; display: grid; place-items: center; border-radius: 50%; background: #f8e8e5; font-weight: 700; }
.balance-payment { margin: 14px 16px 16px; padding: 14px; border: 1px solid #e5e9ec; border-radius: 11px; background: #f9fafb; }
.balance-heading { display: grid; grid-template-columns: 27px 1fr auto; align-items: center; gap: 9px; margin-bottom: 11px; }
.balance-heading > span { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; background: var(--brand-gold-soft); color: #936b30; font-size: 10px; font-weight: 700; }
.balance-heading strong, .balance-heading small { display: block; }
.balance-heading strong { font-size: 11px; }.balance-heading small { margin-top: 2px; color: #8b989f; font-size: 9px; }
.balance-heading > b { color: var(--brand-blue); font: 700 13px "Manrope"; }
.immediate-arrival { align-items: center; gap: 9px; padding: 13px; border: 1px solid #d8e8df; border-radius: 9px; background: #f1f8f4; }
.immediate-arrival:not(.hidden) { display: flex; }
.immediate-arrival > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: #dceee4; color: #39775e; font-weight: 700; }
.immediate-arrival strong, .immediate-arrival small { display: block; }
.immediate-arrival strong { font-size: 11px; }.immediate-arrival small { margin-top: 3px; color: #788b82; font-size: 10px; }
.review-hero { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 12px; margin-bottom: 15px; padding: 14px; border-radius: 10px; background: linear-gradient(120deg,#edf3f7,#f8f2e7); }
.review-hero > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 11px; background: white; color: var(--brand-blue); font-size: 21px; }
.review-hero small, .review-hero strong, .review-hero p { display: block; margin: 0; }
.review-hero small { color: #897b61; font-size: 9px; text-transform: uppercase; font-weight: 700; letter-spacing: .4px; }
.review-hero strong { margin: 3px 0 4px; font: 700 15px "Manrope"; }.review-hero p { color: #71828b; font-size: 10px; }
.review-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.review-grid article { padding: 13px; border: 1px solid #e2e8eb; border-radius: 9px; }
.review-card-title { display: grid; grid-template-columns: 25px 1fr auto; align-items: center; gap: 7px; margin-bottom: 10px; padding-bottom: 9px; border-bottom: 1px solid #edf1f3; }
.review-card-title > span { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 7px; background: #edf2f5; color: var(--brand-blue); font-size: 10px; font-weight: 700; }
.review-card-title strong { font-size: 11px; }
.review-grid dl { margin: 0; }
.review-grid dl > div { display: flex; justify-content: space-between; gap: 15px; padding: 4px 0; font-size: 10px; }
.review-grid dt { color: #829098; }.review-grid dd { margin: 0; color: #354d59; font-weight: 600; text-align: right; }
.review-grid dd.review-ok { color: #3e7a63; }
.confirmation-check { display: flex; align-items: center; gap: 9px; margin-top: 13px; padding: 12px 13px; border: 1px solid #e1e7eb; border-radius: 9px; background: #fbfcfd; }
.confirmation-check strong, .confirmation-check small { display: block; }
.confirmation-check strong { font-size: 11px; }.confirmation-check small { margin-top: 3px; color: #87949b; font-size: 10px; }
.wizard-footer { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 67px; margin-top: 17px; padding: 0 25px; border-top: 1px solid #e7ecef; background: #fbfcfd; }
.wizard-footer .secondary-button { justify-self: start; }
.wizard-footer .primary-button { justify-self: end; }
.secondary-button { height: 38px; padding: 0 14px; border: 1px solid #dce4e9; border-radius: 8px; background: white; color: var(--brand-blue); font-size: 12px; font-weight: 700; cursor: pointer; }
.wizard-position { color: #8a979e; font-size: 10px; }
.creation-help { position: sticky; top: 87px; padding: 17px; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: 0 6px 20px rgba(22,62,99,.03); }
.help-title { display: flex; align-items: center; gap: 9px; padding-bottom: 13px; border-bottom: 1px solid #e9eef1; }
.help-title > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; background: var(--brand-gold-soft); color: #9c7338; }
.help-title strong, .help-title small { display: block; }
.help-title strong { font-size: 11px; }.help-title small { margin-top: 3px; color: #8a979e; font-size: 9px; }
.creation-help dl { margin: 10px 0; }
.creation-help dl > div { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-bottom: 1px solid #eef2f4; font-size: 10px; }
.creation-help dt { color: #829099; }.creation-help dd { margin: 0; color: #354d59; font-weight: 600; text-align: right; }
.side-total { display: flex; align-items: center; justify-content: space-between; padding: 12px 0; }
.side-total span { color: #72828b; font-size: 10px; }.side-total strong { color: var(--brand-blue); font: 700 16px "Manrope"; }
.security-note { display: flex; align-items: flex-start; gap: 7px; padding: 9px; border-radius: 8px; background: #f2f7f4; color: #668075; font-size: 9px; line-height: 1.4; }
.security-note > span { color: #4b826b; font-weight: 700; }.security-note p { margin: 0; }
.hidden { display: none !important; }

.modal-backdrop { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: 20px; background: rgba(10,35,57,.6); opacity: 0; visibility: hidden; transition: .2s ease; backdrop-filter: blur(4px); }
.modal-backdrop.open { opacity: 1; visibility: visible; }
.modal { position: relative; width: min(440px,100%); padding: 30px; border-radius: 16px; background: white; transform: translateY(12px); transition: .2s ease; box-shadow: 0 30px 70px rgba(10,30,34,.25); }
.modal-backdrop.open .modal { transform: translateY(0); }
.modal-close { position: absolute; top: 13px; right: 15px; border: 0; background: none; color: #879596; font-size: 26px; cursor: pointer; }
.modal-kicker { color: var(--teal); font-size: 11px; font-weight: 800; letter-spacing: 1px; }
.modal h2 { margin: 8px 0; font-size: 22px; }
.modal > p { margin: 0; color: #78878a; font-size: 13px; line-height: 1.6; }
.modal-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 21px 0; }
.modal-options button { display: flex; flex-direction: column; align-items: flex-start; padding: 15px; border: 1px solid #e1e8e7; border-radius: 10px; background: #fbfcfc; cursor: pointer; }
.modal-options button:hover, .modal-options button.selected { border-color: var(--brand-gold-rich); background: var(--brand-gold-soft); box-shadow: inset 0 0 0 1px rgba(199,157,85,.12); }
.modal-options span { margin-bottom: 12px; font-size: 22px; color: var(--teal); }
.modal-options strong { font-size: 13px; }
.modal-options small { margin-top: 4px; color: #8b999b; font-size: 10px; }
.modal-confirm { width: 100%; }
.assignment-property-card { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; padding: 11px; border-radius: 9px; background: #edf3f7; }
.assignment-property-card > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: white; color: var(--brand-gold-rich); font-size: 16px; }
.assignment-property-card strong, .assignment-property-card small { display: block; }
.assignment-property-card strong { font-size: 12px; }.assignment-property-card small { margin-top: 3px; color: #798a92; font-size: 10px; }
.assignment-notes { margin-top: 13px; }
.assignment-info { display: flex; align-items: flex-start; gap: 8px; margin-top: 12px; padding: 9px 10px; border-radius: 8px; background: var(--brand-gold-soft); color: #786745; font-size: 9px; line-height: 1.45; }
.assignment-info > span { width: 19px; height: 19px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: #ead19d; color: var(--brand-blue); font-weight: 700; }
.assignment-info p { margin: 1px 0 0; }
.reservation-dialog-backdrop, .details-backdrop { position: fixed; inset: 0; z-index: 70; padding: 20px; background: rgba(10,35,57,.6); opacity: 0; visibility: hidden; transition: .2s ease; backdrop-filter: blur(4px); }
.reservation-dialog-backdrop { display: grid; place-items: center; }
.reservation-dialog-backdrop.open, .details-backdrop.open { opacity: 1; visibility: visible; }
.reservation-dialog { position: relative; width: min(620px,100%); max-height: calc(100vh - 40px); overflow-y: auto; padding: 26px; border-radius: 15px; background: white; box-shadow: 0 28px 65px rgba(10,35,57,.25); transform: translateY(12px); transition: .2s ease; }
.reservation-dialog-backdrop.open .reservation-dialog { transform: translateY(0); }
.reservation-dialog h2 { margin: 7px 0; font: 700 20px "Manrope"; }
.reservation-dialog > p { margin: 0 0 18px; color: #78878f; font-size: 12px; line-height: 1.5; }
.dialog-close { width: 30px; height: 30px; border: 0; border-radius: 7px; background: transparent; color: #839198; font-size: 24px; cursor: pointer; }
.reservation-dialog > .dialog-close { position: absolute; top: 14px; right: 14px; }
.reservation-edit-options-dialog { width: min(760px,100%); }
.reservation-quick-edit-dialog { width: min(960px,100%); }
.reservation-edit-option-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.reservation-edit-option-grid > button { display: grid; grid-template-columns: 38px 1fr; gap: 9px; align-items: center; min-height: 76px; padding: 12px; border: 1px solid #e1e8ec; border-radius: 12px; background: #fbfcfd; text-align: left; cursor: pointer; transition: .16s ease; }
.reservation-edit-option-grid > button:hover { border-color: #d3ad65; background: #fffaf0; transform: translateY(-1px); }
.reservation-edit-option-grid > button > span { grid-row: span 2; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: var(--brand-gold-soft); color: var(--brand-blue); font: 800 15px "Manrope"; }
.reservation-edit-option-grid strong, .reservation-edit-option-grid small { display: block; }
.reservation-edit-option-grid strong { color: #294755; font-size: 13px; }
.reservation-edit-option-grid small { margin-top: 3px; color: #84939b; font-size: 11px; line-height: 1.35; }
.reservation-quick-edit-dialog { width: min(720px,100%); }
.reservation-quick-edit-form { display: grid; gap: 12px; padding: 13px; border: 1px solid #e6edf1; border-radius: 13px; background: #fbfcfd; }
.reservation-quick-edit-form .form-grid { gap: 10px; }
.reservation-quick-edit-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 11px; border-radius: 10px; background: white; border: 1px solid #edf1f4; }
.reservation-quick-edit-summary strong, .reservation-quick-edit-summary small { display: block; }
.reservation-quick-edit-summary strong { color: var(--brand-blue); font-size: 12px; }
.reservation-quick-edit-summary small { margin-top: 2px; color: #7e8d95; font-size: 10px; }
.reservation-quick-edit-summary span { padding: 5px 8px; border-radius: 999px; background: var(--brand-gold-soft); color: #8b682f; font-size: 10px; font-weight: 800; }
.quick-payment-card, .extension-config-card { border: 1px solid #e0e7ec; border-radius: 13px; background: white; overflow: hidden; }
.quick-payment-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border-bottom: 1px solid #e8edf1; }
.quick-payment-head > div { display: flex; align-items: center; gap: 8px; color: var(--brand-blue); }
.quick-payment-head span { color: #5f6df4; font-size: 14px; }
.quick-payment-head strong { font-size: 14px; }
.quick-payment-head small { color: #7f8d95; font-size: 10px; text-align: right; }
.quick-payment-body { padding: 14px 16px 16px; }
.quick-payment-main-method { margin-bottom: 12px; }
.quick-payment-status { margin-top: 12px; }
.extension-config-card { padding: 14px; background: #fbfcfd; }
.extension-config-card h3 { margin: 0 0 14px; color: var(--brand-blue); font-size: 14px; }
.extension-config-grid { align-items: end; }
.extension-checkout-field { grid-column: 1 / -1; }
.quantity-stepper { display: grid; grid-template-columns: 38px 1fr 38px; height: 39px; border: 1px solid #d8e2e8; border-radius: 8px; overflow: hidden; background: white; }
.quantity-stepper button { border: 0; background: #f5f8fa; color: var(--brand-blue); font-size: 16px; cursor: pointer; }
.quantity-stepper input { border: 0; text-align: center; font-weight: 700; }
.extension-summary-card { margin: 14px -14px 14px; padding: 14px; background: #f6f8fa; }
.extension-summary-card strong { display: block; margin-bottom: 10px; color: var(--brand-blue); font-size: 12px; }
.extension-summary-card dl { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 0; }
.extension-summary-card dt, .extension-summary-card dd { margin: 0; }
.extension-summary-card dt { color: #687a84; font-size: 10px; }
.extension-summary-card dd { margin-top: 5px; color: var(--brand-blue); font-size: 12px; font-weight: 800; }
.vehicle-form-grid .check-field { margin-top: 0; min-height: 42px; }
.service-options { display: grid; gap: 7px; }
.service-options > label { display: grid; grid-template-columns: 20px 1fr 115px; align-items: center; gap: 9px; padding: 9px 10px; border: 1px solid #e1e7eb; border-radius: 8px; background: #fbfcfd; }
.service-options input[type="checkbox"] { accent-color: var(--brand-blue); }
.service-options strong, .service-options small { display: block; }
.service-options strong { font-size: 11px; }.service-options small { margin-top: 3px; color: #87949b; font-size: 9px; }
.service-options .money-input { min-height: 36px; }
.service-options .money-input input { height: 34px; }
.custom-service { display: grid; grid-template-columns: 1fr 150px; gap: 10px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #e9eef1; }
.dialog-total { display: flex; align-items: center; justify-content: space-between; margin-top: 14px; padding: 13px; border-radius: 9px; background: var(--brand-gold-soft); }
.dialog-total span { color: #806c4c; font-size: 11px; }.dialog-total strong { color: var(--brand-blue); font: 700 17px "Manrope"; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 17px; }
.logged-action-owner { display: flex; align-items: center; gap: 7px; margin-top: 13px; padding: 8px 10px; border-radius: 8px; background: #edf3f7; color: #607985; font-size: 8px; }
.logged-action-owner > span { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: var(--brand-blue); color: white; font-size: 7px; font-weight: 800; }
.logged-action-owner strong { color: var(--brand-blue); }
.wizard-logged-owner { width: max-content; margin: 12px 25px 0 auto; padding: 5px 9px; }
.operation-reservation-card { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; padding: 11px; border-radius: 9px; background: #edf3f7; }
.operation-reservation-card > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 9px; background: white; color: var(--brand-blue); font-size: 11px; font-weight: 700; }
.operation-reservation-card strong, .operation-reservation-card small { display: block; }
.operation-reservation-card strong { font-size: 12px; }.operation-reservation-card small { margin-top: 3px; color: #788991; font-size: 10px; }
.operation-notes { margin-top: 13px; }
.checkout-evaluation { margin: 16px -26px -10px; padding: 17px 26px 0; border-top: 1px solid #e6ecef; }
.evaluation-heading { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; }
.evaluation-heading > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; background: var(--brand-gold-soft); color: var(--brand-gold-rich); font-size: 16px; }
.evaluation-heading strong, .evaluation-heading small { display: block; }
.evaluation-heading strong { font-size: 12px; }.evaluation-heading small { margin-top: 3px; color: #849198; font-size: 10px; }
.evaluation-block { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 9px 16px; padding: 13px 0; border-top: 1px solid #edf1f3; }
.evaluation-block > div:first-child strong, .evaluation-block > div:first-child small { display: block; }
.evaluation-block > div:first-child strong { font-size: 11px; }.evaluation-block > div:first-child small { margin-top: 3px; color: #8a979e; font-size: 9px; }
.evaluation-block .form-field { grid-column: 1 / -1; }
.star-rating { display: flex; gap: 3px; }
.star-rating button { width: 28px; height: 28px; padding: 0; border: 0; background: transparent; color: #d4dce0; font-size: 23px; cursor: pointer; transition: .12s ease; }
.star-rating button:hover, .star-rating button.active { color: #d4a64f; transform: translateY(-1px); }
.reviews-overview { display: flex; align-items: center; gap: 17px; margin: 15px 0; padding: 14px; border-radius: 10px; background: var(--brand-gold-soft); }
.reviews-overview > div { min-width: 92px; text-align: center; }
.reviews-overview strong { color: var(--brand-blue); font: 700 25px "Manrope"; }
.reviews-overview span { margin-left: 3px; color: var(--brand-gold-rich); font-size: 20px; }
.reviews-overview small { display: block; margin-top: 3px; color: #8a795d; font-size: 9px; }
.reviews-overview p { margin: 0; color: #77694f; font-size: 10px; line-height: 1.5; }
.reviews-list { display: grid; gap: 8px; max-height: 330px; overflow-y: auto; }
.review-history-item { padding: 12px; border: 1px solid #e1e7ea; border-radius: 9px; }
.review-history-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.review-history-head strong { font-size: 11px; }
.review-history-stars { color: var(--brand-gold-rich); font-size: 13px; letter-spacing: 1px; }
.review-history-item p { margin: 7px 0; color: #596d77; font-size: 10px; line-height: 1.5; }
.review-history-item small { color: #8a989f; font-size: 9px; }
.reviews-empty { padding: 30px 10px; color: #7f8e96; text-align: center; font-size: 11px; }
.details-backdrop { padding: 0; }
.reservation-details-drawer { position: absolute; inset: 0 0 0 auto; width: min(450px,100%); overflow-y: auto; padding: 24px; background: white; box-shadow: -20px 0 50px rgba(10,35,57,.2); transform: translateX(100%); transition: .25s ease; }
.details-backdrop.open .reservation-details-drawer { transform: translateX(0); }
.drawer-header { display: flex; align-items: flex-start; justify-content: space-between; padding-bottom: 17px; border-bottom: 1px solid #e7ecef; }
.drawer-header h2 { margin: 5px 0 0; font: 700 20px "Manrope"; }
.drawer-guest { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 10px; padding: 18px 0; }
.drawer-guest > span:first-child { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 11px; background: var(--brand-gold-soft); color: #8b662d; font-size: 12px; font-weight: 700; }
.drawer-guest strong, .drawer-guest small { display: block; }
.drawer-guest strong { font-size: 13px; }.drawer-guest small { margin-top: 4px; color: #7e8e96; font-size: 10px; }
.drawer-section { padding: 16px 0; border-top: 1px solid #e9eef1; }
.drawer-section h3 { margin: 0 0 9px; font: 700 12px "Manrope"; }
.drawer-section dl { margin: 0; }
.drawer-section dl > div { display: flex; justify-content: space-between; gap: 18px; padding: 6px 0; font-size: 11px; }
.drawer-section dt { color: #7e8d95; }.drawer-section dd { margin: 0; color: #334b57; font-weight: 600; text-align: right; }
.drawer-actions { display: flex; gap: 8px; padding-top: 16px; border-top: 1px solid #e7ecef; }
.drawer-actions button { flex: 1; }
.toast { position: fixed; right: 24px; bottom: 24px; z-index: 80; display: flex; align-items: center; gap: 10px; min-width: 260px; padding: 13px 15px; border-radius: 10px; background: var(--brand-blue); color: white; box-shadow: 0 15px 35px rgba(10,35,57,.2); transform: translateY(90px); opacity: 0; transition: .25s ease; }
.toast.show { transform: translateY(0); opacity: 1; }
.toast > span { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: rgba(224,193,140,.16); color: var(--brand-gold); }
.toast strong, .toast small { display: block; }
.toast strong { font-size: 12px; }.toast small { margin-top: 3px; color: #91a8aa; font-size: 10px; }

/* Limpeza visual geral */
body { background: #f7f9fb; }
.content { max-width: 1360px; }
.panel, .metric-card, .reservation-dialog { box-shadow: 0 1px 8px rgba(22,62,99,.035); }
.panel { padding: 16px; }
.panel-header, .finance-panel-heading, .clean-panel-heading { gap: 12px; }
.panel-header h2, .finance-panel-heading h2, .clean-panel-heading h2 { color: #263f4d; }
.panel-header p, .finance-panel-heading p, .clean-panel-heading p { line-height: 1.45; }
.metric-card { padding: 15px 16px; }
.metric-card > strong { margin: 9px 0 8px; }
.primary-button, .icon-button, .period-button, .finance-clear-filters, .text-button, .finance-text-action { transition: .16s ease; }
.primary-button { box-shadow: 0 4px 12px rgba(22,62,99,.14); }
.primary-button:hover, .finance-text-action:hover, .text-button:hover { transform: translateY(-1px); }
.finance-dashboard-filters, .finance-filters, .reservation-filters, .cleaning-filters, .linen-toolbar, .supplies-toolbar, .cleaner-kit-toolbar { box-shadow: none; }
.reservations-table td, .finance-table td, .guest-table td { font-size: 12px; }
.dashboard-pending-list, .finance-breakdown-list, .cleaning-task-list, .movement-list { gap: 9px; }
.simple-page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.simple-page-heading h1, .simple-page-heading p { margin-left: 0; }
.clean-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; margin-bottom: 15px; }
.compact-kpi p { margin: 0; color: #87959d; font-size: 11px; }
.clean-control-panel { display: grid; gap: 13px; }
.clean-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; }
.clean-panel-heading h2, .clean-panel-heading p { margin: 0; }
.clean-panel-heading h2 { font: 800 16px "Manrope"; letter-spacing: -.25px; }
.clean-panel-heading p { margin-top: 4px; color: #87959d; font-size: 11px; }
.clean-toolbar { display: grid; grid-template-columns: minmax(260px,1fr) 170px 150px auto; align-items: end; gap: 10px; padding: 12px; border: 1px solid #e5ebef; border-radius: 11px; background: #fbfcfd; }
.tasks-mode .clean-toolbar { grid-template-columns: minmax(260px,1fr) 155px 180px 150px auto; }
.task-quick-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.task-quick-filters button { min-height: 34px; padding: 0 13px; border: 1px solid #dfe7ec; border-radius: 999px; background: #fff; color: #647783; font-size: 11px; font-weight: 800; cursor: pointer; transition: .16s ease; }
.task-quick-filters button:hover { border-color: #c9d8df; transform: translateY(-1px); }
.task-quick-filters button.active { border-color: #d4b16b; background: #fff7e6; color: #866426; box-shadow: 0 6px 16px rgba(212,177,107,.12); }
.task-agenda-board { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.task-agenda-column { padding: 13px; border: 1px solid #e4ebef; border-radius: 13px; background: linear-gradient(180deg,#fbfcfd 0%,#fff 100%); }
.task-agenda-column header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.task-agenda-column header strong { color: #263f4d; font-size: 13px; }
.task-agenda-column header span { display: inline-flex; align-items: center; justify-content: center; min-width: 25px; height: 25px; padding: 0 8px; border-radius: 999px; background: var(--brand-gold-soft); color: #896529; font-size: 10px; font-weight: 900; }
.task-agenda-items { display: grid; gap: 8px; }
.task-agenda-item { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 9px; padding: 10px; border: 1px solid #e7edf1; border-radius: 10px; background: white; cursor: pointer; transition: .16s ease; }
.task-agenda-item:hover { border-color: #cbd8df; box-shadow: 0 6px 14px rgba(22,62,99,.05); }
.task-agenda-item strong, .task-agenda-item small { display: block; }
.task-agenda-item strong { color: #263f4d; font-size: 12px; }
.task-agenda-item small { margin-top: 3px; color: #81909a; font-size: 10px; }
.task-agenda-item span { color: var(--brand-blue); font-size: 10px; font-weight: 900; white-space: nowrap; }
.executive-task-list { display: grid; gap: 10px; }
.executive-task-item { width: 100%; display: grid; grid-template-columns: 92px minmax(0,1fr) minmax(185px,.38fr); align-items: start; gap: 12px; padding: 13px; border: 1px solid #e2e8ec; border-radius: 13px; background: white; text-align: left; cursor: pointer; transition: .16s ease; }
.executive-task-item:hover { border-color: #c9d6de; transform: translateY(-1px); box-shadow: 0 8px 18px rgba(22,62,99,.06); }
.executive-task-priority { display: inline-grid; place-items: center; min-height: 28px; padding: 0 9px; border-radius: 999px; background: #eef3f6; color: var(--brand-blue); font-size: 10px; font-weight: 800; }
.executive-task-item.priority-alta .executive-task-priority { background: #f9e7e2; color: #a14e3f; }
.executive-task-item.priority-media .executive-task-priority { background: var(--brand-gold-soft); color: #8e682d; }
.executive-task-item strong, .executive-task-item small, .executive-task-meta span { display: block; }
.executive-task-item strong { color: #263f4d; font-size: 13px; }
.executive-task-item small { margin-top: 4px; color: #83929a; font-size: 10px; }
.executive-task-meta { text-align: left; display: grid; gap: 9px; justify-items: end; }
.executive-task-meta span { color: var(--brand-blue); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .3px; }
.task-action-pill { min-height: 31px; display: inline-flex; align-items: center; justify-content: center; padding: 0 10px; border: 1px solid #dac394; border-radius: 999px; background: #fffaf0; color: #85652f; font-size: 9px; font-style: normal; font-weight: 900; white-space: nowrap; }
.task-status-pill { justify-self: start; display: inline-flex; align-items: center; min-height: 25px; padding: 0 9px; border-radius: 999px; background: #eef4f7; color: #4f6875; font-size: 9px; font-weight: 900; }
.task-status-pill.done { background: #e6f6ea; color: #247342; }
.task-status-pill.late { background: #fde9e6; color: #a04438; }
.task-open-hint { display: inline-flex; justify-self: end; align-items: center; min-height: 28px; padding: 0 10px; border-radius: 999px; background: #fffaf0; color: #85652f; font-size: 9px; font-style: normal; font-weight: 900; white-space: nowrap; }
.executive-report-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 15px; margin-bottom: 15px; }
.executive-report-card, .executive-recommendations { display: grid; gap: 13px; }
.executive-bars { display: grid; gap: 11px; }
.executive-bar-row { display: grid; grid-template-columns: 150px 1fr 44px; align-items: center; gap: 12px; }
.executive-bar-row strong, .executive-bar-row small { display: block; }
.executive-bar-row strong { color: #263f4d; font-size: 12px; }
.executive-bar-row small { margin-top: 3px; color: #83929a; font-size: 10px; }
.executive-bar-row > span { height: 9px; overflow: hidden; border-radius: 999px; background: #edf2f5; }
.executive-bar-row > span i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--brand-blue),var(--brand-gold-rich)); }
.executive-bar-row b { color: var(--brand-blue); font-size: 11px; text-align: right; }
.executive-alert-list, .executive-recommendation-list { display: grid; gap: 9px; }
.executive-alert-item { width: 100%; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; padding: 12px; border: 1px solid #e3e9ed; border-radius: 10px; background: #fbfcfd; text-align: left; cursor: pointer; }
.executive-alert-item strong, .executive-alert-item small { display: block; }
.executive-alert-item strong { color: #263f4d; font-size: 12px; }
.executive-alert-item small { margin-top: 4px; color: #83929a; font-size: 10px; }
.executive-alert-item span { color: var(--brand-blue); font: 800 13px "Manrope"; }
.executive-recommendation-list article { display: grid; grid-template-columns: 28px 1fr; align-items: start; gap: 10px; padding: 12px; border: 1px solid #e6ebee; border-radius: 10px; background: #fbfcfd; }
.executive-recommendation-list span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; background: var(--brand-gold-soft); color: #8b662d; font-weight: 800; font-size: 11px; }
.executive-recommendation-list p { margin: 0; color: #435a66; font-size: 12px; line-height: 1.45; }
.executive-report-filters { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)) auto; align-items: end; gap: 10px; margin-bottom: 14px; }
.executive-kpi-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; margin-bottom: 15px; }
.executive-diagnosis-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; margin-bottom: 15px; }
.executive-report-grid.three-panels { grid-template-columns: repeat(3,minmax(0,1fr)); }
.executive-insight-list { display: grid; gap: 9px; align-content: start; }
.executive-insight { display: grid; grid-template-columns: 28px 1fr auto; align-items: start; gap: 9px; padding: 10px; border: 1px solid #e4eaee; border-radius: 10px; background: #fbfcfd; }
.executive-insight > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; background: #edf3f7; color: var(--brand-blue); font-size: 11px; font-weight: 800; }
.executive-insight.good > span { background: #edf6f1; color: #37755b; }
.executive-insight.warn > span { background: var(--brand-gold-soft); color: #8e682d; }
.executive-insight.bad > span { background: #f9e7e2; color: #a14e3f; }
.executive-insight strong, .executive-insight small { display: block; }
.executive-insight strong { color: #263f4d; font-size: 11px; }
.executive-insight small { margin-top: 4px; color: #83929a; font-size: 10px; line-height: 1.35; }
.executive-insight b { color: var(--brand-blue); font: 800 11px "Manrope"; white-space: nowrap; }
.compact-empty { min-height: 120px; }
.executive-compact-list, .executive-table-list { display: grid; gap: 9px; }
.executive-compact-item { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px; padding: 11px; border: 1px solid #e4eaee; border-radius: 10px; background: #fbfcfd; }
.executive-compact-item strong, .executive-compact-item small { display: block; }
.executive-compact-item strong { color: #263f4d; font-size: 12px; }
.executive-compact-item small { margin-top: 4px; color: #83929a; font-size: 10px; }
.executive-compact-item span { color: var(--brand-blue); font: 800 13px "Manrope"; text-align: right; }
.executive-table-row { display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 10px; padding: 11px; border: 1px solid #e4eaee; border-radius: 10px; background: #fbfcfd; }
.executive-table-row > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: white; color: var(--brand-blue); font-size: 11px; font-weight: 800; }
.executive-table-row strong, .executive-table-row small { display: block; }
.executive-table-row strong { color: #263f4d; font-size: 12px; }
.executive-table-row small { margin-top: 4px; color: #83929a; font-size: 10px; }
.executive-table-row b { color: var(--brand-blue); font: 800 12px "Manrope"; }
.executive-guest-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; }
.executive-guest-grid article { min-height: 72px; padding: 12px; border: 1px solid #e4eaee; border-radius: 10px; background: #fbfcfd; }
.executive-guest-grid article span { display: block; color: var(--brand-blue); font: 800 19px "Manrope"; }
.executive-guest-grid article small { display: block; margin-top: 5px; color: #83929a; font-size: 10px; }
.executive-guest-top { grid-column: 1 / -1; display: grid; gap: 8px; padding: 11px; border: 1px solid #e4eaee; border-radius: 10px; background: white; }
.executive-guest-top p { display: flex; justify-content: space-between; gap: 10px; margin: 0; }
.executive-guest-top strong { color: #263f4d; font-size: 11px; }
.executive-guest-top small { color: #83929a; font-size: 10px; }
.executive-operations-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.executive-operations-grid article { min-height: 86px; padding: 12px; border: 1px solid #e4eaee; border-radius: 10px; background: #fbfcfd; }
.executive-operations-grid article.good { border-color: #d9eadf; background: #f5fbf7; }
.executive-operations-grid article.warn { border-color: #eadcc0; background: #fffaf1; }
.executive-operations-grid article.bad { border-color: #f0d1c9; background: #fff7f5; }
.executive-operations-grid strong, .executive-operations-grid span, .executive-operations-grid small { display: block; }
.executive-operations-grid strong { color: var(--brand-blue); font: 800 20px "Manrope"; }
.executive-operations-grid span { margin-top: 5px; color: #263f4d; font-size: 11px; font-weight: 800; }
.executive-operations-grid small { margin-top: 4px; color: #83929a; font-size: 10px; }
.users-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; margin-bottom: 18px; }
.users-summary { display: grid; grid-template-columns: repeat(4,1fr); margin-bottom: 13px; border: 1px solid var(--line); border-radius: 10px; background: white; overflow: hidden; }
.users-summary article { min-height: 76px; display: flex; align-items: center; gap: 11px; padding: 15px; border-right: 1px solid var(--line); }
.users-summary article:last-child { border-right: 0; }
.users-summary small, .users-summary strong { display: block; }
.users-summary small { color: #7d8e97; font-size: 10px; }
.users-summary strong { margin-top: 3px; color: var(--brand-blue); font: 800 20px "Manrope"; }
.session-profile-card { display: grid; grid-template-columns: 48px 1fr; gap: 12px; align-items: center; padding: 13px; border: 1px solid #e3e9ed; border-radius: 12px; background: linear-gradient(145deg,#ffffff,#f8fbfc); }
.session-profile-card > span { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: var(--brand-blue); color: white; font: 800 14px "Manrope"; }
.session-profile-card strong, .session-profile-card small { display: block; }
.session-profile-card strong { color: #263f4d; font-size: 14px; }
.session-profile-card small { margin-top: 3px; color: var(--brand-gold-rich); font-size: 11px; font-weight: 800; }
.session-profile-card p { margin: 7px 0 0; color: #63747d; font-size: 11px; line-height: 1.4; }
.session-note { margin: 0; padding: 10px 11px; border-radius: 10px; background: var(--brand-gold-soft); color: #7b5d2c; font-size: 11px; line-height: 1.4; }
.security-check-list { display: grid; gap: 9px; }
.security-check-list span { display: flex; align-items: center; gap: 8px; padding: 10px 11px; border: 1px solid #e4eaee; border-radius: 10px; background: #fbfcfd; color: #435a66; font-size: 12px; }
.security-check-list span::before { content: "✓"; width: 20px; height: 20px; display: grid; place-items: center; border-radius: 7px; background: #edf6f1; color: #37755b; font-size: 10px; font-weight: 800; }
.users-toolbar { display: grid; grid-template-columns: minmax(260px,1fr) 190px 150px auto; align-items: end; gap: 10px; margin-bottom: 13px; }
.user-search { min-height: 42px; display: flex; align-items: center; gap: 9px; padding: 0 12px; border: 1px solid #dce4e9; border-radius: 8px; background: white; }
.user-search span { color: #87959d; font-size: 14px; }
.user-search input { width: 100%; border: 0; outline: 0; background: transparent; color: #405662; font-size: 12px; }
.users-main-grid { display: grid; grid-template-columns: 1fr; gap: 13px; align-items: start; margin-bottom: 13px; }
.users-list-panel, .permission-panel { overflow: hidden; }
.users-list { display: grid; gap: 9px; padding: 12px; }
.user-card { display: grid; grid-template-columns: minmax(200px,.95fr) 118px minmax(210px,1.25fr) 84px 132px; align-items: center; gap: 10px; padding: 12px; border: 1px solid #e3e9ed; border-radius: 12px; background: white; transition: .16s ease; cursor: pointer; }
.user-card.logged { border-color: rgba(212,171,86,.45); background: linear-gradient(145deg,#ffffff,#fffaf0); }
.user-card:hover { transform: translateY(-1px); box-shadow: 0 8px 18px rgba(22,62,99,.055); }
.user-identity { display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 10px; min-width: 0; }
.user-identity > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: #edf3f7; color: var(--brand-blue); font: 800 12px "Manrope"; }
.user-identity strong, .user-identity small, .user-card-meta small, .user-card-access small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-identity strong { color: #263f4d; font-size: 13px; }
.user-identity small, .user-card-meta small, .user-card-access small { margin-top: 4px; color: #81919a; font-size: 10px; }
.user-card-meta { min-width: 0; }
.user-status { display: inline-flex; min-height: 25px; align-items: center; padding: 0 9px; border-radius: 999px; font-size: 10px; font-weight: 800; }
.user-status.total { background: #edf6f1; color: #37755b; }
.user-status.read { background: var(--brand-gold-soft); color: #8e682d; }
.user-status.blocked { background: #eef2f4; color: #73838c; }
.user-card-access { text-align: right; }
.user-card-access strong { display: block; color: var(--brand-blue); font: 800 15px "Manrope"; }
.user-card-actions { display: flex; justify-content: flex-end; gap: 7px; }
.finance-mini-action.whatsapp { border-color: #cfe9d9; background: #edf8f1; color: #23724c; }
.user-card-permissions { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.user-card-permissions span, .user-access-preview span { display: inline-flex; align-items: center; min-height: 25px; padding: 0 8px; border-radius: 999px; border: 1px solid #e3e9ed; background: #fbfcfd; color: #506670; font-size: 9px; font-weight: 800; white-space: nowrap; }
.user-card-permissions .total, .user-access-preview .total { border-color: #d9eadf; background: #edf6f1; color: #37755b; }
.user-card-permissions .edit, .user-access-preview .edit { border-color: #d9e7ef; background: #eef5fa; color: var(--brand-blue); }
.user-card-permissions .read, .user-access-preview .read { border-color: #eadcc0; background: var(--brand-gold-soft); color: #8e682d; }
.user-card-permissions .blocked, .user-access-preview .blocked { background: #f4f6f7; color: #8b989e; }
.user-card-permissions .more-access { background: white; color: var(--brand-blue); }
.user-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.user-form-grid .wide { grid-column: 1 / -1; }
.user-editor-backdrop { padding: 18px; }
.user-editor-dialog { width: min(780px,100%); max-height: calc(100vh - 36px); display: flex; flex-direction: column; padding: 0; overflow: hidden; border-radius: 18px; }
.user-editor-dialog .drawer-header { flex: 0 0 auto; padding: 20px 22px 16px; border-bottom: 1px solid #e7ecef; background: linear-gradient(145deg,#ffffff,#f8fbfc); }
.user-editor-dialog .drawer-header h2 { margin: 5px 0 0; font-size: 20px; }
.user-editor-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 18px 22px 8px; scrollbar-width: thin; }
.drawer-user-form { padding: 0 0 4px; }
.user-access-preview { display: grid; gap: 8px; margin: 12px 0; padding: 12px; border: 1px solid #e5ebef; border-radius: 11px; background: #fbfcfd; }
.user-access-preview strong, .user-access-preview small { display: block; }
.user-access-preview strong { color: var(--brand-blue); font-size: 12px; }
.user-access-preview small { color: #72838c; font-size: 11px; line-height: 1.4; }
.user-access-preview div { display: flex; flex-wrap: wrap; gap: 6px; }
.permission-editor-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.permission-editor-head h3 { margin: 0 0 5px; }
.permission-editor-head p { margin: 0; color: #7b8a93; font-size: 11px; line-height: 1.4; }
.user-permission-editor { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; align-items: start; }
.permission-rule-group { display: grid; gap: 8px; padding: 12px; border: 1px solid #e3e9ed; border-radius: 12px; background: #fbfcfd; }
.permission-rule-group h4 { margin: 0; color: var(--brand-blue); font: 800 12px "Manrope"; }
.permission-rule-group > div { display: grid; gap: 7px; }
.permission-rule-row { min-height: 36px; display: grid; grid-template-columns: 18px 1fr; align-items: center; gap: 8px; padding: 8px; border: 1px solid #e5ebef; border-radius: 9px; background: white; color: #405662; font-size: 11px; font-weight: 700; cursor: pointer; }
.permission-rule-row.allowed { border-color: #d9eadf; background: #f4fbf7; color: #2f6c4d; }
.permission-rule-row.blocked { color: #84919a; }
.permission-rule-row input { accent-color: var(--brand-blue); }
.permission-edit-row { display: grid; grid-template-columns: 1fr 112px; align-items: center; gap: 9px; padding: 10px; border: 1px solid #e3e9ed; border-radius: 10px; background: #fbfcfd; }
.permission-edit-row.total { border-color: #d9eadf; background: #f5fbf7; }
.permission-edit-row.edit { border-color: #d9e7ef; background: #f5f9fc; }
.permission-edit-row.read { border-color: #eadcc0; background: #fffaf1; }
.permission-edit-row.blocked { background: #f4f6f7; }
.permission-edit-row strong, .permission-edit-row small { display: block; }
.permission-edit-row strong { color: #344c58; font-size: 11px; }
.permission-edit-row small { margin-top: 3px; color: #7d8d96; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .25px; }
.permission-edit-row select { width: 100%; min-height: 36px; padding: 5px 7px; border: 1px solid #dce4e9; border-radius: 8px; background: white; color: #405662; font-size: 10px; outline: 0; }
.user-permission-section { margin-top: 16px; padding-top: 16px; border-top: 1px solid #e9eef1; }
.inline-actions { margin-top: 4px; padding-top: 12px; border-top: 1px solid #e8edf0; }
.user-editor-dialog .inline-actions { flex: 0 0 auto; justify-content: space-between; margin: 0; padding: 14px 22px; border-top: 1px solid #e3e9ed; background: white; box-shadow: 0 -8px 18px rgba(22,62,99,.035); }
.user-profile-dialog { width: min(980px,100%); max-height: calc(100vh - 36px); display: flex; flex-direction: column; padding: 0; overflow: hidden; border-radius: 18px; }
.user-profile-dialog .drawer-header { flex: 0 0 auto; padding: 20px 22px 16px; border-bottom: 1px solid #e7ecef; background: linear-gradient(145deg,#ffffff,#f8fbfc); }
.user-profile-title { display: flex; align-items: center; gap: 13px; }
.user-profile-title > span { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 14px; background: var(--brand-blue); color: white; font: 800 14px "Manrope"; }
.user-profile-title h2, .user-profile-title p { margin: 0; }
.user-profile-title h2 { margin-top: 4px; color: #263f4d; font: 800 21px "Manrope"; }
.user-profile-title p:last-child { margin-top: 4px; color: #7d8d96; font-size: 11px; }
.user-profile-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 18px 22px 22px; scrollbar-width: thin; }
.user-profile-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-bottom: 12px; }
.user-profile-summary article { min-height: 74px; padding: 12px; border: 1px solid #e3e9ed; border-radius: 12px; background: #fbfcfd; }
.user-profile-summary span, .user-profile-summary strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-profile-summary span { color: #87959d; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .25px; }
.user-profile-summary strong { margin-top: 8px; color: var(--brand-blue); font: 800 13px "Manrope"; }
.user-profile-actions { display: flex; justify-content: flex-end; gap: 8px; margin: 0 0 14px; }
.user-profile-actions a.disabled { pointer-events: none; opacity: .45; }
.user-profile-permissions { padding: 12px; border: 1px solid #e5ebef; border-radius: 12px; background: #fbfcfd; }
.user-profile-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; margin-top: 14px; }
.user-profile-grid .panel { padding: 0; overflow: hidden; }
.user-profile-wide { grid-column: 1 / -1; }
.user-profile-list { display: grid; gap: 8px; padding: 12px; }
.user-profile-list-item { display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 10px; padding: 10px; border: 1px solid #e4eaee; border-radius: 10px; background: #fbfcfd; }
.user-profile-list-item > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: white; color: var(--brand-blue); font: 800 10px "Manrope"; }
.user-profile-list-item strong, .user-profile-list-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-profile-list-item strong { color: #263f4d; font-size: 12px; }
.user-profile-list-item small { margin-top: 4px; color: #83929a; font-size: 10px; }
.permission-matrix { display: grid; gap: 10px; padding: 12px; }
.permission-profile-card { display: grid; gap: 10px; padding: 13px; border: 1px solid #e3e9ed; border-radius: 12px; background: white; }
.permission-profile-card.current { border-color: rgba(212,171,86,.5); background: #fffaf1; }
.permission-profile-head { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: start; }
.permission-profile-head strong, .permission-profile-head small { display: block; }
.permission-profile-head strong { color: #263f4d; font-size: 13px; }
.permission-profile-head small { margin-top: 4px; color: #7d8d96; font-size: 11px; line-height: 1.35; }
.permission-profile-head > span { padding: 6px 9px; border-radius: 999px; background: #edf3f7; color: var(--brand-blue); font-size: 10px; font-weight: 800; white-space: nowrap; }
.permission-tags { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; }
.permission-pill { display: grid; gap: 3px; min-height: 48px; padding: 8px; border-radius: 9px; border: 1px solid #e3e9ed; background: #fbfcfd; }
.permission-pill b, .permission-pill small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.permission-pill b { color: #344c58; font-size: 10px; }
.permission-pill small { font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .25px; }
.permission-pill.total { background: #edf6f1; border-color: #d9eadf; }
.permission-pill.total small { color: #37755b; }
.permission-pill.edit { background: #eef5fa; border-color: #d9e7ef; }
.permission-pill.edit small { color: var(--brand-blue); }
.permission-pill.read { background: var(--brand-gold-soft); border-color: #eadcc0; }
.permission-pill.read small { color: #8e682d; }
.permission-pill.blocked { background: #f4f6f7; color: #8b989e; }
.permission-pill.blocked small { color: #8b989e; }
.settings-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; margin-bottom: 18px; }
.settings-summary-grid { display: grid; grid-template-columns: repeat(4,1fr); margin-bottom: 13px; border: 1px solid var(--line); border-radius: 10px; background: white; overflow: hidden; }
.settings-summary-grid article { min-height: 76px; display: flex; align-items: center; gap: 11px; padding: 15px; border-right: 1px solid var(--line); }
.settings-summary-grid article:last-child { border-right: 0; }
.settings-summary-grid article > span, .settings-folder-card > span { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; background: #edf3f7; color: var(--brand-blue); font: 800 10px "Manrope"; }
.settings-summary-grid small, .settings-summary-grid strong { display: block; }
.settings-summary-grid small { color: #7d8e97; font-size: 10px; }
.settings-summary-grid strong { margin-top: 3px; color: var(--brand-blue); font: 800 20px "Manrope"; }
.settings-folder-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; margin-bottom: 13px; }
.settings-folder-grid.compact { grid-template-columns: repeat(3,minmax(0,1fr)); }
.settings-folder-grid.settings-four-cards { grid-template-columns: repeat(4,minmax(0,1fr)); }
.settings-folder-card { display: grid; grid-template-columns: 38px 1fr; align-items: start; gap: 12px; min-height: 116px; }
.settings-folder-card h2, .settings-folder-card p { margin: 0; }
.settings-folder-card h2 { color: #263f4d; font: 800 14px "Manrope"; }
.settings-folder-card p { margin-top: 6px; color: #7d8d96; font-size: 11px; line-height: 1.45; }
.settings-two-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; margin-bottom: 13px; }
.settings-list-panel { padding: 0; overflow: hidden; }
.settings-compact-list { display: grid; gap: 8px; padding: 12px; }
.settings-list-item { display: grid; grid-template-columns: 36px 1fr auto; align-items: center; gap: 10px; padding: 10px; border: 1px solid #e4eaee; border-radius: 10px; background: #fbfcfd; }
.settings-list-item > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; background: white; color: var(--brand-blue); font: 800 10px "Manrope"; }
.settings-list-item strong, .settings-list-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.settings-list-item strong { color: #263f4d; font-size: 12px; }
.settings-list-item small { margin-top: 3px; color: #83929a; font-size: 10px; }
.settings-list-item b { color: var(--brand-blue); font-size: 11px; text-align: right; white-space: nowrap; }
.settings-rules-panel { margin-bottom: 13px; }
.settings-form-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)) auto; align-items: end; gap: 10px; }
.settings-form-grid .settings-wide { grid-column: span 2; }
.settings-rules-panel .settings-form-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.settings-config-blocks { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; margin-bottom: 13px; }
.settings-config-block { padding: 0; overflow: hidden; }
.settings-config-block .settings-form-grid { padding: 12px; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; }
.settings-config-block-full { grid-column: 1 / -1; }
.settings-config-block .settings-wide { grid-column: 1 / -1; }
.settings-message-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 12px; align-items: start; }
.settings-message-grid textarea { min-height: 112px; }
.settings-message-wide { grid-column: 1 / -1; }
.settings-attachments-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; margin-bottom: 13px; }
.settings-attachment-panel { padding: 0; overflow: hidden; }
.settings-attachment-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 12px; align-items: end; border-bottom: 1px solid var(--line); background: #fbfcfd; }
.settings-attachment-form .settings-message-wide { grid-column: 1 / -1; }
.settings-attachment-form button { justify-self: start; }
.settings-attachment-list { display: grid; gap: 9px; padding: 12px; }
.settings-attachment-card { display: grid; grid-template-columns: 38px 1fr auto; gap: 11px; align-items: start; padding: 12px; border: 1px solid #e3e9ed; border-radius: 12px; background: white; }
.settings-attachment-card > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: #edf3f7; color: var(--brand-blue); font-size: 16px; }
.settings-attachment-card strong, .settings-attachment-card small, .settings-attachment-card p, .settings-attachment-card em { display: block; margin: 0; }
.settings-attachment-card strong { color: #263f4d; font: 800 13px "Manrope"; }
.settings-attachment-card small { margin-top: 4px; color: #73848d; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .25px; }
.settings-attachment-card p { margin-top: 6px; color: #506670; font-size: 11px; line-height: 1.45; }
.settings-attachment-card em { margin-top: 6px; color: #91a0a8; font-size: 10px; font-style: normal; }
.settings-attachment-actions { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; min-width: 150px; }
.ghost-button.danger { color: #a54d3f; border-color: #efd0c8; background: #fff8f6; }
.restricted-notice { display: grid; gap: 5px; margin: 12px; padding: 14px; border: 1px solid #eadcc0; border-radius: 12px; background: #fffaf1; color: #7c622f; }
.restricted-notice strong { color: #6d5120; font-size: 13px; }
.restricted-notice span { font-size: 11px; line-height: 1.45; }
.settings-empty-state { padding: 14px; border: 1px dashed #dce4e9; border-radius: 12px; background: #fbfcfd; color: #7f8f98; font-size: 11px; text-align: center; }
.audit-toolbar { grid-template-columns: minmax(260px,1fr) 180px 190px auto; }
.audit-timeline { display: grid; gap: 9px; }
.audit-record { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 12px; padding: 13px; border: 1px solid #e3e9ed; border-radius: 11px; background: white; }
.audit-record.critical { border-color: #efd0c8; background: #fff8f6; }
.audit-record > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: #edf3f7; color: var(--brand-blue); font-size: 11px; font-weight: 800; }
.audit-record.critical > span { background: #f9e7e2; color: #a14e3f; }
.audit-record strong, .audit-record p, .audit-record small { display: block; margin: 0; }
.audit-record strong { color: #263f4d; font-size: 12px; }
.audit-record p { margin-top: 4px; color: #506670; font-size: 11px; }
.audit-record small { margin-top: 4px; color: #87959d; font-size: 10px; }
.audit-record-owner { text-align: right; }
.audit-record-owner strong { color: var(--brand-blue); }

@media (max-width: 1100px) {
  .overview-hero { align-items: flex-start; flex-direction: column; }
  .overview-hero-side { justify-content: flex-start; }
  .overview-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .overview-kpi-card.urgent { grid-column: 1 / -1; }
  .overview-movement-grid, .overview-bottom-grid { grid-template-columns: 1fr; }
  .overview-area-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .metrics-grid { grid-template-columns: repeat(2,1fr); }
  .clean-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .executive-kpi-grid, .executive-diagnosis-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .executive-report-grid { grid-template-columns: 1fr; }
  .executive-report-grid.three-panels { grid-template-columns: 1fr; }
  .executive-report-filters { grid-template-columns: 1fr 1fr; }
  .clean-toolbar { grid-template-columns: 1fr 1fr; }
  .main-grid { grid-template-columns: 1fr; }
  .reservation-summary { grid-template-columns: repeat(2,1fr); }
  .calendar-summary-grid { grid-template-columns: repeat(2,1fr); }
  .calendar-control-top { flex-direction: column; }
  .calendar-legend { justify-content: flex-start; max-width: none; }
  .calendar-filter-bar { grid-template-columns: 1fr 1fr; }
  .calendar-filter-bar .finance-search { grid-column: 1 / -1; }
  .property-summary { grid-template-columns: repeat(2,1fr); }
  .portfolio-building-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .property-filters { grid-template-columns: 1fr 1fr; }
  .property-search { grid-column: 1 / -1; }
  .property-grid { grid-template-columns: 1fr; }
  .property-detail-hero, .property-detail-two { grid-template-columns: 1fr; }
  .property-amenity-creator { grid-template-columns: 1fr auto auto; }
  .property-amenity-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .property-rate-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .property-rate-row button { width: 100%; }
  .crm-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .crm-filters { grid-template-columns: 1fr 1fr; }
  .crm-filters .finance-search { grid-column: 1 / -1; }
  .crm-simple-kpi-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .crm-simple-filters { grid-template-columns: 1fr 1fr; }
  .crm-simple-filters .finance-search { grid-column: 1 / -1; }
  .crm-client-detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .crm-command-grid, .crm-pro-workspace, .crm-simple-layout { grid-template-columns: 1fr; }
  .crm-stage-strip { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .crm-list-row { grid-template-columns: minmax(210px,1.1fr) minmax(140px,.8fr) minmax(170px,1fr); }
  .crm-simple-row { grid-template-columns: minmax(200px,1fr) 130px minmax(210px,1fr); }
  .crm-simple-note { grid-column: 1 / -1; }
  .crm-list-reservation, .crm-list-value { grid-column: span 1; text-align: left; }
  .crm-workspace { grid-template-columns: 1fr; }
  .crm-pipeline { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .documents-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .documents-filters { grid-template-columns: 1fr 1fr; }
  .documents-filters .finance-search { grid-column: 1 / -1; }
  .documents-workspace { grid-template-columns: 1fr; }
  .document-card-meta { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .maintenance-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .maintenance-filters { grid-template-columns: 1fr 1fr; }
  .maintenance-filters .finance-search { grid-column: 1 / -1; }
  .maintenance-workspace { grid-template-columns: 1fr; }
  .maintenance-ticket-meta { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .guest-summary { grid-template-columns: repeat(2,1fr); }
  .guest-filters { grid-template-columns: 1fr 1fr; }
  .guest-search { grid-column: 1 / -1; }
  .users-summary { grid-template-columns: repeat(2,1fr); }
  .users-control-grid, .users-main-grid { grid-template-columns: 1fr; }
  .users-toolbar { grid-template-columns: 1fr 1fr; }
  .user-search { grid-column: 1 / -1; }
  .user-card { grid-template-columns: minmax(220px,1fr) 140px minmax(260px,1fr) 150px; }
  .user-card-access { display: none; }
  .user-profile-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .user-profile-grid, .user-permission-editor { grid-template-columns: 1fr; }
  .permission-tags { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .settings-summary-grid, .settings-folder-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .settings-folder-grid.compact, .settings-folder-grid.settings-four-cards, .settings-two-columns, .settings-config-blocks, .settings-attachments-grid { grid-template-columns: 1fr; }
  .settings-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .settings-form-grid .settings-wide { grid-column: 1 / -1; }
  .settings-message-grid { grid-template-columns: 1fr; }
  .settings-message-wide { grid-column: auto; }
  .settings-attachment-card { grid-template-columns: 38px 1fr; }
  .settings-attachment-actions { grid-column: 1 / -1; justify-content: flex-start; }
  .finance-summary { grid-template-columns: repeat(2,1fr); }
  .finance-dashboard-grid, .finance-insight-strip { grid-template-columns: 1fr; }
  .finance-deep-analysis-grid, .finance-pending-grid { grid-template-columns: 1fr; }
  .finance-management-support-grid { grid-template-columns: 1fr; }
  .finance-directory-grid { grid-template-columns: 1fr; }
  .finance-dashboard-filters { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .finance-filters { grid-template-columns: 1fr 1fr; }
  .finance-search { grid-column: 1 / -1; }
  .filter-row { grid-template-columns: 1fr 1fr; }
  .clear-filters { justify-self: start; padding-left: 2px; }
  .creation-layout { grid-template-columns: 1fr; }
  .creation-help { position: static; display: none; }
  .form-grid.four-cols { grid-template-columns: 1fr 1fr; }
  .cleaning-filters { grid-template-columns: 1fr 1fr; }
  .cleaning-search { grid-column: 1 / -1; }
  .cleaning-board { grid-template-columns: 1fr; }
  .laundry-summary { grid-template-columns: repeat(3,1fr); }
  .laundry-main-grid { grid-template-columns: 1fr; }
  .laundry-batches-grid { grid-template-columns: repeat(2,1fr); }
  .supplies-summary { grid-template-columns: repeat(3,1fr); }
  .supplies-main-grid { grid-template-columns: 1fr; }
  .supplies-toolbar { grid-template-columns: 1fr 1fr; }
  .supplies-toolbar .linen-search { grid-column: 1 / -1; }
  .cleaner-kit-toolbar { grid-template-columns: 1fr 1fr; }
  .cleaner-kit-toolbar .linen-search { grid-column: 1 / -1; }
  .linen-summary { grid-template-columns: repeat(2,1fr); }
  .linen-toolbar { grid-template-columns: 1fr 1fr; }
  .linen-search { grid-column: 1 / -1; }
  .linen-kits-grid { grid-template-columns: repeat(2,1fr); }
  .linen-tabs { grid-template-columns: repeat(2,1fr); }
  .property-items-toolbar { grid-template-columns: 1fr 1fr; }
  .property-items-toolbar .linen-search { grid-column: 1 / -1; }
  .property-items-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 1180px) {
  .reservations-list-panel { padding: 0 14px 14px; overflow: visible; background: transparent; border: 0; box-shadow: none; }
  .reservations-list-panel .list-heading { margin: 0 -14px 12px; border: 1px solid var(--line); border-radius: 12px; background: white; }
  .reservations-table-wrap { overflow: visible; }
  .reservations-table, .reservations-table tbody { display: block; width: 100%; }
  .reservations-table thead { display: none; }
  .reservations-table tbody { display: grid; gap: 10px; }
  .reservations-table tbody tr { display: grid; grid-template-columns: 1.1fr 1fr 1fr; grid-template-areas: "guest property actions" "period finance status"; align-items: center; gap: 12px 16px; padding: 15px; border: 1px solid var(--line); border-radius: 11px; background: white; box-shadow: 0 5px 16px rgba(22,62,99,.035); }
  .reservations-table tbody tr:hover { background: white; border-color: #cfdae1; }
  .reservations-table td { display: block; min-height: 0; padding: 0 !important; border: 0; }
  .reservations-table td:nth-child(1) { grid-area: guest; }
  .reservations-table td:nth-child(2) { grid-area: property; }
  .reservations-table td:nth-child(4) { grid-area: period; }
  .reservations-table td:nth-child(6) { grid-area: finance; }
  .reservations-table td:nth-child(7) { grid-area: status; }
  .reservations-table td:nth-child(8) { grid-area: actions; }
  .reservations-table td:nth-child(3), .reservations-table td:nth-child(5) { display: none; }
  .reservation-row-actions { justify-content: flex-end; }
  .operation-button { min-width: 108px; }
  .table-footer { margin: 12px -14px -14px; border: 1px solid var(--line); border-radius: 10px; background: white; }
  .guest-list-panel { padding: 0 14px 14px; overflow: visible; background: transparent; border: 0; box-shadow: none; }
  .guest-list-panel .list-heading { margin: 0 -14px 12px; border: 1px solid var(--line); border-radius: 12px; background: white; }
  .guest-table, .guest-table tbody { display: block; width: 100%; }
  .guest-table thead { display: none; }
  .guest-table tbody { display: grid; gap: 10px; }
  .guest-table tbody tr { display: grid; grid-template-columns: 1.1fr 1fr auto; grid-template-areas: "profile general actions" "reservation rating history"; align-items: center; gap: 12px 16px; padding: 15px; border: 1px solid var(--line); border-radius: 11px; background: white; box-shadow: 0 5px 16px rgba(22,62,99,.035); }
  .guest-table tbody tr:hover { background: white; border-color: #cfdae1; }
  .guest-table td { display: block; min-height: 0; padding: 0 !important; border: 0; }
  .guest-table td:nth-child(1) { grid-area: profile; }
  .guest-table td:nth-child(2) { grid-area: general; }
  .guest-table td:nth-child(3) { grid-area: reservation; }
  .guest-table td:nth-child(4) { grid-area: rating; }
  .guest-table td:nth-child(5) { grid-area: history; }
  .guest-table td:nth-child(6) { grid-area: actions; }
  .finance-list-panel { padding: 0 14px 14px; overflow: visible; background: transparent; border: 0; box-shadow: none; }
  .finance-list-panel .list-heading { margin: 0 -14px 12px; border: 1px solid var(--line); border-radius: 12px; background: white; }
  .finance-table, .finance-table tbody { display: block; width: 100%; }
  .finance-table thead { display: none; }
  .finance-table tbody { display: grid; gap: 10px; }
  .finance-table tbody tr { display: grid; grid-template-columns: 1fr 1fr auto; grid-template-areas: "source value status" "main date responsible"; align-items: center; gap: 12px 16px; padding: 15px; border: 1px solid var(--line); border-radius: 11px; background: white; box-shadow: 0 5px 16px rgba(22,62,99,.035); }
  .finance-table td { display: block; min-height: 0; padding: 0 !important; border: 0; }
  .finance-table td:nth-child(1) { grid-area: source; }
  .finance-table td:nth-child(2) { grid-area: main; }
  .finance-table td:nth-child(3) { grid-area: date; }
  .finance-table td:nth-child(4) { grid-area: value; }
  .finance-table td:nth-child(5) { grid-area: status; }
  .finance-table td:nth-child(6) { grid-area: responsible; }
  .linen-table, .linen-table tbody { display: block; width: 100%; }
  .linen-table thead { display: none; }
  .linen-table tbody { display: grid; gap: 8px; padding: 10px; }
  .linen-table tbody tr { display: grid; grid-template-columns: 1.4fr repeat(3,.55fr) auto; grid-template-areas: "product total allocated laundry action" "product available status status action"; align-items: center; gap: 7px 12px; padding: 12px; border: 1px solid var(--line); border-radius: 9px; }
  .linen-table td { padding: 0; border: 0; }
  .linen-table td:nth-child(1) { grid-area: product; }.linen-table td:nth-child(2) { display: none; }.linen-table td:nth-child(3) { grid-area: total; }.linen-table td:nth-child(4) { grid-area: allocated; }.linen-table td:nth-child(5) { grid-area: laundry; }.linen-table td:nth-child(6) { grid-area: available; }.linen-table td:nth-child(7) { grid-area: status; }.linen-table td:nth-child(8) { grid-area: action; }
  .linen-table td[data-label]::before { content: attr(data-label); display: block; margin-bottom: 3px; color: #99a5aa; font-size: 7px; font-weight: 700; text-transform: uppercase; }
  .laundry-table-wrap { overflow-x: auto; }
  .laundry-table { min-width: 720px; }
  .supplies-table-wrap { overflow-x: auto; }
  .supplies-table { min-width: 760px; }
}
@media (max-width: 780px) {
  .login-screen { padding: 22px; }
  .login-card { padding: 24px; }
  .login-card-logo { min-height: 105px; }
  .login-card-logo img { width: 165px; }
  .app-shell { display: block; }
  .sidebar { transform: translateX(-100%); transition: .25s ease; box-shadow: 20px 0 40px rgba(12,30,34,.15); }
  .sidebar.open { transform: translateX(0); }
  main { width: 100%; }
  header { height: 62px; justify-content: space-between; padding: 0 18px; }
  .menu-toggle { display: block; border: 0; background: none; font-size: 22px; cursor: pointer; }
  .page-title-mobile { display: block; margin-right: auto; margin-left: 10px; font: 800 19px "Manrope"; }
  .icon-button { display: none; }
  .primary-button { padding: 0 12px; }
  .content { padding: 25px 18px 40px; }
  .overview-kpi-grid { grid-template-columns: 1fr; }
  .overview-kpi-card.urgent { grid-column: auto; }
  .overview-panel-head { align-items: flex-start; flex-direction: column; }
  .overview-alert-list { max-height: none; padding: 12px; }
  .overview-alert-item { grid-template-columns: 34px minmax(0,1fr); }
  .overview-alert-item b { display: none; }
  .overview-movement-card, .overview-action-item { grid-template-columns: 1fr; }
  .overview-movement-card aside { text-align: left; }
  .overview-area-grid { grid-template-columns: 1fr; }
  .simple-page-heading { align-items: flex-start; flex-direction: column; }
  .crm-filters { grid-template-columns: 1fr; }
  .crm-simple-kpi-grid { grid-template-columns: 1fr; }
  .crm-simple-filters { grid-template-columns: 1fr; }
  .crm-simple-filters .finance-search { grid-column: auto; }
  .crm-client-detail-head { flex-direction: column; }
  .crm-client-detail-grid { grid-template-columns: 1fr; }
  .crm-stage-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .crm-pipeline { grid-template-columns: 1fr; }
  .crm-workspace, .crm-command-grid, .crm-pro-workspace, .crm-simple-layout { padding: 10px; }
  .crm-list-row { grid-template-columns: 1fr; }
  .crm-simple-row { grid-template-columns: 1fr; }
  .crm-list-value { text-align: left; }
  .calendar-actions { width: 100%; }
  .calendar-actions button { flex: 1; }
  .calendar-summary-grid { grid-template-columns: 1fr 1fr; }
  .calendar-filter-bar { grid-template-columns: 1fr; }
  .calendar-filter-bar .finance-search { grid-column: auto; }
  .calendar-board { min-width: 1180px; }
  .calendar-grid-header, .calendar-property-row { grid-template-columns: 190px 1fr; }
  .calendar-property-info small { max-width: 118px; }
  .calendar-event-details { grid-template-columns: 1fr; }
  .clean-toolbar { grid-template-columns: 1fr; }
  .task-agenda-board { grid-template-columns: 1fr; }
  .task-open-hint, .executive-task-meta { justify-items: start; justify-content: flex-start; }
  .executive-report-filters, .executive-kpi-grid, .executive-diagnosis-grid { grid-template-columns: 1fr; }
  .executive-task-item { grid-template-columns: 1fr; }
  .executive-task-meta { text-align: left; }
  .executive-bar-row { grid-template-columns: 1fr; }
  .executive-guest-grid, .executive-operations-grid { grid-template-columns: 1fr 1fr; }
  .audit-record { grid-template-columns: 38px 1fr; }
  .audit-record-owner { grid-column: 2; text-align: left; }
  .welcome-row { align-items: flex-start; gap: 18px; }
  .occupancy-map-heading { flex-direction: column; }
  .occupancy-actions.clean-toolbar { width: 100%; grid-template-columns: 1fr; }
  .occupancy-actions .finance-search { grid-column: auto; }
  .occupancy-actions .finance-clear-filters { justify-self: start; }
  .occupancy-house-grid { grid-template-columns: repeat(auto-fill,minmax(92px,1fr)); gap: 16px 14px; }
  .occupancy-house-icon { width: 66px; height: 66px; }
  .occupancy-house-card strong { font-size: 12px; }
  .period-control { display: none; }
  .metrics-grid, .bottom-grid { grid-template-columns: 1fr; }
  .properties-heading { align-items: center; }
  .property-filters { grid-template-columns: 1fr; }
  .property-search { grid-column: auto; }
  .property-clear-filters { justify-self: start; padding-left: 2px; }
  .property-card { grid-template-columns: 62px 1fr; }
  .property-thumb-card { width: 62px; height: 62px; }
  .property-stats { grid-template-columns: repeat(2,1fr); }
  .property-amenity-head { flex-direction: column; }
  .property-amenity-list { grid-template-columns: repeat(2,1fr); }
  .documents-heading { align-items: flex-start; }
  .documents-heading-actions { width: 100%; justify-content: flex-start; }
  .documents-heading-actions button { flex: 1 1 140px; }
  .documents-filters { grid-template-columns: 1fr; }
  .documents-filters .finance-search { grid-column: auto; }
  .document-card { grid-template-columns: 38px 1fr; }
  .document-card-actions { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; min-width: 0; }
  .document-card-actions button { flex: 1 1 130px; }
  .document-dossier-summary { grid-template-columns: 1fr 1fr; }
  .document-template-layout { grid-template-columns: 1fr; }
  .document-template-list { max-height: 240px; padding-right: 0; }
  .document-template-workspace { grid-template-columns: 1fr; }
  .document-template-preview { min-height: 440px; max-height: none; }
  .document-template-preview-head { flex-direction: column; }
  .document-template-preview-head label { width: 100%; min-width: 0; }
  .maintenance-heading { align-items: flex-start; }
  .maintenance-filters { grid-template-columns: 1fr; }
  .maintenance-filters .finance-search { grid-column: auto; }
  .maintenance-ticket-card { grid-template-columns: 1fr; }
  .maintenance-ticket-actions { flex-direction: row; flex-wrap: wrap; min-width: 0; }
  .maintenance-ticket-actions button { flex: 1 1 130px; }
  .maintenance-property-snapshot { grid-template-columns: 1fr 1fr; }
  #reservationsPage .reservations-heading { align-items: center; }
  .guests-heading { align-items: center; }
  .guest-filters { grid-template-columns: 1fr; }
  .guest-search { grid-column: auto; }
  .guest-clear-filters { justify-self: start; padding-left: 2px; }
  .users-heading { align-items: flex-start; flex-direction: column; }
  .users-toolbar { grid-template-columns: 1fr; }
  .user-search { grid-column: auto; }
  .user-card { grid-template-columns: 1fr; align-items: start; }
  .user-card-meta, .user-card-access { text-align: left; }
  .user-card-access { display: block; }
  .user-permission-editor { grid-template-columns: 1fr; }
  .permission-editor-head { flex-direction: column; }
  .permission-profile-head { grid-template-columns: 1fr; }
  .permission-tags { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .settings-heading { align-items: flex-start; flex-direction: column; }
  .settings-form-grid { grid-template-columns: 1fr; }
  .settings-form-grid .settings-wide { grid-column: auto; }
  .settings-message-grid { grid-template-columns: 1fr; }
  .settings-attachment-form { grid-template-columns: 1fr; }
  .settings-attachment-form .settings-message-wide { grid-column: auto; }
  .guest-table tbody tr { grid-template-columns: 1fr 1fr; grid-template-areas: "profile actions" "general general" "reservation rating" "history history"; }
  .guest-action-stack { justify-content: flex-end; }
  .finance-heading { align-items: center; }
  .finance-heading-actions { justify-content: flex-start; }
  .finance-period-control { min-width: 150px; }
  .finance-dashboard-filters { grid-template-columns: 1fr 1fr; }
  .finance-filters { grid-template-columns: 1fr; }
  .finance-search { grid-column: auto; }
  .finance-clear-filters { justify-self: start; padding-left: 2px; }
  .finance-health-list { grid-template-columns: 1fr; }
  .reservation-finance-layout { grid-template-columns: 1fr; }
  .reservation-method-grid { grid-template-columns: 1fr; }
  .finance-management-card { grid-template-columns: 1fr; }
  .extension-summary-card dl { grid-template-columns: 1fr; }
  .financial-directory-form { grid-template-columns: 1fr; }
  .financial-entry-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .financial-directory-actions { align-items: stretch; flex-direction: column; }
  .financial-detail-overview { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .financial-detail-body { grid-template-columns: 1fr; }
  .finance-table tbody tr { grid-template-columns: 1fr 1fr; grid-template-areas: "source status" "main main" "date value" "responsible responsible"; }
  .cash-flow-row { grid-template-columns: 82px 30px 1fr; }
  .cash-flow-amount { grid-column: 3; text-align: left; }
  .filter-top { grid-template-columns: 1fr; }
  .filter-actions { justify-content: space-between; }
  .rental-type-filter button { flex: 1; }
  .filter-row { grid-template-columns: 1fr; }
  .filter-row:not(.collapsed) { max-height: 340px; }
  .reservation-filters { padding: 14px; }
  .operation-button { min-width: 82px; padding: 0 8px; }
  .reservations-table tbody tr { grid-template-columns: 1fr 1fr; grid-template-areas: "guest actions" "property property" "period finance" "status status"; }
  .reservation-row-actions { align-items: flex-start; }
  .reservation-dialog { padding: 22px 17px; }
  .reservation-edit-option-grid { grid-template-columns: 1fr; }
  .reservation-quick-edit-form .form-grid.four-cols,
  .reservation-quick-edit-form .form-grid.three-cols,
  .reservation-quick-edit-form .form-grid.two-cols { grid-template-columns: 1fr; }
  .cleaning-dashboard-heading { align-items: flex-start; }
  .cleaning-filters { grid-template-columns: 1fr; }
  .cleaning-search { grid-column: auto; }
  .cleaning-clear-filters { justify-self: start; padding-left: 2px; }
  .laundry-summary { grid-template-columns: 1fr 1fr; }
  .laundry-batches-grid { grid-template-columns: 1fr; }
  .laundry-checkout { grid-template-columns: 70px 1fr auto; grid-template-areas: "date property risk" "pieces checkin risk"; }
  .laundry-checkout-date { grid-area: date; }.laundry-checkout > div:nth-child(2) { grid-area: property; }.laundry-checkout > div:nth-child(3) { display: none; }.laundry-checkout > div:nth-child(4) { grid-area: checkin; }.laundry-checkout-pieces { grid-area: pieces; }.laundry-risk { grid-area: risk; }
  .laundry-batch-editor { grid-template-columns: 1fr; }
  .supplies-heading { align-items: flex-start; }
  .supplies-heading-actions { flex-direction: column; }
  .supplies-summary { grid-template-columns: 1fr 1fr; }
  .supplies-toolbar { grid-template-columns: 1fr; }
  .supplies-toolbar .linen-search { grid-column: auto; }
  .supplies-bottom-grid { grid-template-columns: 1fr; }
  .cleaner-kit-summary { grid-template-columns: 1fr 1fr; }
  .cleaner-kit-toolbar { grid-template-columns: 1fr; }
  .cleaner-kit-toolbar .linen-search { grid-column: auto; }
  .cleaner-kits-grid { grid-template-columns: 1fr; }
  .laundry-receive-row { grid-template-columns: 1fr 65px 70px 90px 65px; }
  .linen-heading { align-items: flex-start; }
  .linen-tabs { grid-template-columns: 1fr; }
  .linen-tabs button { min-height: 46px; }
  .linen-toolbar { grid-template-columns: 1fr; }
  .linen-search { grid-column: auto; }
  .linen-kits-grid, .linen-apartments-grid { grid-template-columns: 1fr; }
  .property-items-toolbar { grid-template-columns: 1fr; }
  .property-items-toolbar .linen-search { grid-column: auto; }
  .property-items-grid { grid-template-columns: 1fr; }
  .linen-panel-heading { align-items: flex-start; }
  .linen-standalone-heading { flex-direction: column; }
  .linen-apartment-filter { width: 100%; }
  .linen-kit-editor, .linen-apartment-editor { grid-template-columns: 1fr; }
  .checkout-evaluation { margin-left: -17px; margin-right: -17px; padding-left: 17px; padding-right: 17px; }
  .creation-progress { overflow-x: auto; }
  .creation-progress > button div, .creation-progress > i { display: none; }
  .creation-progress { justify-content: space-between; }
  .creation-progress > button > span { width: 30px; height: 30px; }
  .wizard-step { padding: 20px 17px 6px; }
  .form-section { margin: 0 -17px; padding: 17px; }
  .form-grid.three-cols, .form-grid.four-cols { grid-template-columns: 1fr 1fr; }
  .guest-registration-grid { grid-template-columns: 1fr 1fr; }
  .guest-name-field { grid-column: span 2; }
  .apartment-option { grid-template-columns: 76px 1fr 20px; }
  .apartment-image { width: 76px; }
  .apartment-price { grid-column: 2; text-align: left; display: flex; align-items: baseline; gap: 4px; margin-top: -8px; }
  .apartment-price small { display: none; }
  .selection-check { grid-column: 3; grid-row: 1 / span 2; }
  .review-grid { grid-template-columns: 1fr; }
  .wizard-footer { padding: 0 17px; }
  .week-strip button { height: 48px; }
  .movement { grid-template-columns: 52px 1fr auto; }
  .property-thumb { display: none; }
  .movement .more { display: none; }
}
@media (max-width: 480px) {
  h1 { font-size: 23px; }
  .metrics-grid { grid-template-columns: 1fr; }
  .clean-summary-grid { grid-template-columns: 1fr; }
  .executive-guest-grid, .executive-operations-grid { grid-template-columns: 1fr; }
  .reservation-summary { grid-template-columns: 1fr 1fr; }
  .crm-summary-grid { grid-template-columns: 1fr 1fr; }
  .crm-stage-strip { grid-template-columns: 1fr; }
  .crm-detail-grid { grid-template-columns: 1fr; }
  .documents-summary-grid { grid-template-columns: 1fr 1fr; }
  .crm-workspace { padding: 10px; }
  .documents-workspace { padding: 10px; }
  .document-card-meta { grid-template-columns: 1fr; }
  .document-dossier-summary { grid-template-columns: 1fr; }
  .maintenance-summary-grid { grid-template-columns: 1fr 1fr; }
  .maintenance-workspace { padding: 10px; }
  .maintenance-ticket-meta { grid-template-columns: 1fr; }
  .maintenance-property-snapshot { grid-template-columns: 1fr; }
  .calendar-summary-grid { grid-template-columns: 1fr 1fr; }
  .calendar-summary-grid article { min-height: 64px; padding: 10px; }
  .calendar-summary-grid strong { font-size: 20px; }
  .calendar-control-top { padding: 14px; }
  .calendar-filter-bar { padding: 12px 14px; }
  .calendar-board-wrap { max-height: 560px; }
  .reservation-summary article { min-height: 56px; padding: 9px 10px; gap: 8px; border-bottom: 1px solid #e9eef1; }
  .reservation-summary article:nth-child(2) { border-right: 0; }
  .reservation-summary article:nth-child(3), .reservation-summary article:nth-child(4) { border-bottom: 0; }
  .property-summary { grid-template-columns: 1fr 1fr; }
  .portfolio-building-grid { grid-template-columns: 1fr; }
  .property-summary article { min-height: 56px; padding: 9px 10px; gap: 8px; border-bottom: 1px solid #e9eef1; }
  .property-summary article:nth-child(2) { border-right: 0; }
  .property-summary article:nth-child(3), .property-summary article:nth-child(4) { border-bottom: 0; }
  .properties-heading { align-items: flex-start; gap: 15px; }
  .properties-heading .primary-button { min-width: 112px; font-size: 12px; }
  .property-grid { padding: 10px; }
  .property-card { grid-template-columns: 1fr; }
  .property-thumb-card { display: none; }
  .property-card-top { display: block; }
  .property-card-top .property-status { margin-top: 8px; }
  .property-next { grid-template-columns: 1fr; }
  .property-actions { justify-content: stretch; }
  .property-actions button { flex: 1; }
  .property-list-note { display: none; }
  .property-amenity-creator, .property-amenity-list { grid-template-columns: 1fr; }
  .property-rate-row, .property-detail-hero dl, .property-detail-rates { grid-template-columns: 1fr; }
  .properties-heading-actions { width: 100%; justify-content: stretch; }
  .properties-heading-actions button { flex: 1; }
  .property-reservation-card { grid-template-columns: 34px 1fr; }
  .property-reservation-date { grid-column: 2; text-align: left; }
  .guest-summary { grid-template-columns: 1fr 1fr; }
  .guest-summary article { min-height: 56px; padding: 9px 10px; gap: 8px; border-bottom: 1px solid #e9eef1; }
  .guest-summary article:nth-child(2) { border-right: 0; }
  .guest-summary article:nth-child(3), .guest-summary article:nth-child(4) { border-bottom: 0; }
  .guests-heading { align-items: flex-start; gap: 15px; }
  .guests-heading .primary-button { min-width: 118px; font-size: 12px; }
  .users-summary { grid-template-columns: 1fr 1fr; }
  .users-summary article { min-height: 56px; padding: 9px 10px; gap: 8px; border-bottom: 1px solid #e9eef1; }
  .users-summary article:nth-child(2) { border-right: 0; }
  .users-summary article:nth-child(3), .users-summary article:nth-child(4) { border-bottom: 0; }
  .user-form-grid, .permission-tags { grid-template-columns: 1fr; }
  .settings-summary-grid, .settings-folder-grid, .settings-folder-grid.compact, .settings-folder-grid.settings-four-cards { grid-template-columns: 1fr; }
  .settings-summary-grid article { border-right: 0; border-bottom: 1px solid #e9eef1; }
  .settings-summary-grid article:last-child { border-bottom: 0; }
  .settings-list-item { grid-template-columns: 34px 1fr; }
  .settings-list-item b { grid-column: 2; text-align: left; }
  .finance-summary { grid-template-columns: 1fr; }
  .finance-heading { align-items: flex-start; gap: 15px; }
  .finance-heading-actions { width: 100%; justify-content: stretch; }
  .finance-heading-actions button { flex: 1 1 100%; }
  .finance-heading .primary-button { min-width: 118px; font-size: 12px; }
  .finance-period-control { width: 100%; }
  .finance-dashboard-filters { grid-template-columns: 1fr; }
  .finance-bars.compact { grid-template-columns: 1fr; }
  .finance-list-note, .finance-live-pill { display: none; }
  .finance-due-item { grid-template-columns: 31px 1fr; }
  .finance-due-value { grid-column: 2; text-align: left; }
  .finance-integration-panel > div { align-items: flex-start; }
  .financial-action-item, .financial-directory-card { grid-template-columns: 31px 1fr; }
  .financial-entry-form { grid-template-columns: 1fr; }
  .financial-entry-wide, .financial-entry-actions { grid-column: auto; }
  .financial-entry-actions { align-items: stretch; flex-direction: column; }
  .financial-entry-actions button { width: 100%; }
  .financial-action-item .finance-mini-action, .financial-directory-card .finance-mini-action { grid-column: 2; justify-self: start; }
  .financial-detail-header { display: block; padding: 20px 17px 15px; }
  .financial-detail-header-actions { margin-top: 12px; padding-right: 0; }
  .financial-detail-overview { grid-template-columns: 1fr; padding: 12px 17px; }
  .financial-detail-body { padding: 14px 17px 18px; }
  .financial-detail-form, .financial-partial-fields { grid-template-columns: 1fr; }
  .cash-flow-row { grid-template-columns: 1fr; }
  .cash-flow-row > time { font-size: 11px; }
  .cash-flow-icon { display: none; }
  .cash-flow-amount { grid-column: auto; }
  .summary-icon { width: 27px; height: 27px; }
  .filter-actions { align-items: stretch; }
  .rental-type-filter { flex: 1; }
  .advanced-filter-toggle { padding: 0 9px; }
  .cleaning-dashboard-heading { display: block; }
  .cleaning-today { width: max-content; margin-top: 13px; }
  .laundry-heading { display: block; }
  .laundry-heading .primary-button { width: 100%; margin-top: 14px; }
  .laundry-summary { grid-template-columns: 1fr; }
  .laundry-panel-heading { align-items: flex-start; }
  .laundry-panel-heading label { min-width: 112px; }
  .supplies-heading { display: block; }
  .supplies-heading-actions { margin-top: 14px; }
  .supplies-heading-actions button { width: 100%; }
  .supplies-summary { grid-template-columns: 1fr; }
  .supplies-panel-heading { align-items: flex-start; }
  .supply-request-item, .supply-movement-item { grid-template-columns: 31px 1fr; }
  .supply-request-meta, .supply-movement-meta { grid-column: 2; text-align: left; }
  .supplies-tabs { grid-template-columns: 1fr; }
  .cleaner-kit-summary { grid-template-columns: 1fr; }
  .cleaner-kit-editor-labels { display: none; }
  .cleaner-kit-editor-row { grid-template-columns: 1fr 80px; }
  .cleaner-kit-editor-row label:first-child { grid-column: 1 / -1; }
  .cleaner-kit-editor-row input[type="date"] { grid-column: 1; }
  .laundry-receive-row { grid-template-columns: 1fr 68px; }
  .laundry-receive-row > strong { grid-column: 1 / -1; }
  .laundry-receive-row label:nth-child(4) { grid-column: 1; }
  .system-activity-item { grid-template-columns: 31px 1fr; }
  .system-activity-meta { grid-column: 2; text-align: left; }
  .cleaning-task-footer { align-items: flex-start; }
  .cleaner-profile strong, .next-arrival strong { white-space: normal; }
  .linen-heading { display: block; }
  .linen-heading .primary-button { width: 100%; margin-top: 14px; }
  .linen-summary { grid-template-columns: 1fr 1fr; }
  .linen-summary article { min-height: 78px; padding: 11px; }
  .linen-summary-icon { width: 33px; height: 33px; }
  .linen-table tbody tr { grid-template-columns: 1fr 1fr; grid-template-areas: "product product" "total available" "allocated laundry" "status action"; }
  .linen-table td:nth-child(8) { justify-self: end; }
  .linen-apartment-items { grid-template-columns: 1fr 1fr; }
  .reservations-heading { align-items: flex-start !important; gap: 15px; }
  .reservations-heading .page-new-reservation { min-width: 116px; font-size: 12px; }
  .list-heading { padding: 15px; }
  .table-footer { padding: 0 15px; }
  .reservations-table tbody tr { grid-template-columns: 1fr; grid-template-areas: "guest" "property" "period" "finance" "status" "actions"; }
  .guest-table tbody tr { grid-template-columns: 1fr; grid-template-areas: "profile" "general" "reservation" "rating" "history" "actions"; }
  .guest-action-stack { justify-content: stretch; }
  .guest-action-stack button, .guest-action-stack a { flex: 1; }
  .guest-history-preview, .guest-relationship-card dl { grid-template-columns: 1fr; }
  .guest-relationship-main { grid-template-columns: 42px 1fr; }
  .guest-relationship-main .guest-whatsapp-button { grid-column: 1 / -1; }
  .guest-list-note { display: none; }
  .guest-reservation-card { grid-template-columns: 34px 1fr; }
  .guest-reservation-dates { grid-column: 2; text-align: left; }
  .reservation-row-actions { justify-content: stretch; }
  .operation-button { flex: 1; }
  .row-menu { width: 38px; height: 34px; border: 1px solid #e0e6ea; }
  .service-options > label { grid-template-columns: 20px 1fr; }
  .service-options .money-input { grid-column: 2; }
  .custom-service { grid-template-columns: 1fr; }
  .drawer-guest { grid-template-columns: 42px 1fr; }
  .drawer-guest .booking-status { grid-column: 2; justify-self: start; }
  .existing-guest-data { align-items: flex-start; flex-wrap: wrap; }
  .guest-rating-summary { order: 3; width: calc(100% - 33px); margin-left: 33px; padding: 8px 0 0; border-top: 1px solid #d7e5dd; border-left: 0; }
  .existing-guest-data > button { order: 4; margin-left: 33px; }
  .evaluation-block { grid-template-columns: 1fr; }
  .star-rating { grid-row: 2; }
  .reviews-overview { display: block; }
  .reviews-overview p { margin-top: 10px; text-align: center; }
  .create-heading { grid-template-columns: 34px 1fr; }
  .draft-status { display: none; }
  .creation-type-options, .form-grid.two-cols, .form-grid.three-cols, .form-grid.four-cols { grid-template-columns: 1fr; }
  .guest-registration-grid { grid-template-columns: 1fr; }
  .guest-name-field { grid-column: auto; }
  .section-heading { display: block; }
  .section-heading .inline-toggle { margin-top: 11px; }
  .inline-toggle button { flex: 1; }
  .apartment-option { grid-template-columns: 68px 1fr 20px; gap: 9px; }
  .apartment-image { width: 68px; height: 59px; }
  .apartment-info > div { display: none; }
  .apartment-info > .apartment-schedule-meta { display: flex; }
  .wizard-footer { grid-template-columns: 1fr 1fr; gap: 8px; padding: 10px 14px; }
  .wizard-position { display: none; }
  .wizard-footer .secondary-button, .wizard-footer .primary-button { width: 100%; justify-self: stretch; }
  .wizard-footer .primary-button { grid-column: 2; }
  .wizard-footer .primary-button:only-child { grid-column: 2; }
  .review-hero { grid-template-columns: 38px 1fr; }
  .review-hero button { grid-column: 2; justify-self: start; padding: 0; }
  .calendar-panel { padding: 15px 10px; }
  .week-strip { gap: 3px; }
  .week-strip button { padding: 0; }
  .status { display: none; }
  .movement { grid-template-columns: 52px 1fr; }
  .revenue-content { flex-direction: column; gap: 15px; }
  .legend { width: 100%; }
  .occupancy-summary span { font-size: 19px; }
}

@media (max-width: 1180px) {
  #crmPage .crm-simple-row { grid-template-columns: minmax(210px,1fr) 145px minmax(230px,1fr); }
  #crmPage .crm-simple-note { grid-column: 1 / -1; }
  #crmPage #crmSimpleDetailPanel { grid-template-columns: 1fr 1fr; }
  #crmPage #crmSimpleDetailPanel .crm-detail-head,
  #crmPage #crmSimpleDetailPanel .crm-simple-return-box { grid-column: 1; }
  #crmPage #crmSimpleDetailPanel .crm-auto-opportunity-box,
  #crmPage #crmSimpleDetailPanel .crm-note-editor { grid-column: 2; grid-row: auto; min-height: auto; }
  #crmPage #crmSimpleDetailPanel .crm-linked-grid { grid-column: 1 / -1; }
  #crmPage #crmSimpleDetailPanel .crm-observations-section,
  #crmPage #crmSimpleDetailPanel .crm-reservations-section { grid-column: 1 / -1; }
}

@media (max-width: 780px) {
  #crmPage .crm-opportunity-list { grid-template-columns: 1fr; }
  #crmPage .crm-simple-row { grid-template-columns: 1fr; }
  #crmPage #crmSimpleDetailPanel { grid-template-columns: 1fr; }
  #crmPage #crmSimpleDetailPanel .crm-detail-head,
  #crmPage #crmSimpleDetailPanel .crm-simple-return-box,
  #crmPage #crmSimpleDetailPanel .crm-auto-opportunity-box,
  #crmPage #crmSimpleDetailPanel .crm-note-editor,
  #crmPage #crmSimpleDetailPanel .crm-linked-grid,
  #crmPage #crmSimpleDetailPanel .crm-observations-section,
  #crmPage #crmSimpleDetailPanel .crm-reservations-section,
  #crmPage #crmSimpleDetailPanel .crm-simple-actions { grid-column: 1; }
  #crmPage #crmSimpleDetailPanel .crm-linked-grid { grid-template-columns: 1fr; }
  #crmPage .crm-history-list, #crmPage .crm-detail-reservations { max-height: none; }
}

@media (max-width: 1180px) {
  #crmPage .crm2-kpi-grid,
  #crmPage .crm2-report-grid,
  #crmPage .crm2-pipeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #crmPage .crm2-toolbar {
    grid-template-columns: 1fr 1fr;
  }

  #crmPage .crm2-toolbar .finance-search {
    grid-column: 1 / -1;
  }
}

@media (max-width: 780px) {
  #crmPage .crm2-kpi-grid,
  #crmPage .crm2-overview-grid,
  #crmPage .crm2-report-grid,
  #crmPage .crm2-pipeline,
  #crmPage .crm2-toolbar {
    grid-template-columns: 1fr;
  }

  #crmPage .crm2-loss-card,
  #crmPage .crm2-toolbar .finance-search {
    grid-column: auto;
  }
}

@media (max-width: 1180px) {
  .decision-meta,
  .decision-meta.compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .maintenance-ticket-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .decision-meta,
  .decision-meta.compact {
    grid-template-columns: 1fr;
  }

  .maintenance-ticket-meta {
    grid-template-columns: 1fr;
  }

  .task-action-pill {
    justify-self: start;
  }
}

