/* ==== 01-base.css ==== */
  :root {
    --purple-50: #EEEDFE; --purple-100: #CECBF6; --purple-200: #AFA9EC; --purple-400: #7F77DD; --purple-600: #534AB7; --purple-800: #3C3489; --purple-900: #26215C;
    --teal-50: #E1F5EE; --teal-100: #9FE1CB; --teal-200: #5DCAA5; --teal-400: #1D9E75; --teal-600: #0F6E56; --teal-800: #085041; --teal-900: #04342C;
    --amber-50: #FAEEDA; --amber-100: #FAC775; --amber-200: #EF9F27; --amber-400: #BA7517; --amber-800: #633806;
    --red-50: #FCEBEB; --red-100: #F7C1C1; --red-400: #E24B4A; --red-600: #A32D2D; --red-800: #791F1F;
    --gray-50: #eff2f6; --gray-100: #d0d7e0; --gray-200: #B4B2A9; --gray-400: #888780; --gray-600: #5F5E5A; --gray-800: #444441;
    --blue-50: #E6F1FB; --blue-200: #85B7EB; --blue-400: #378ADD; --blue-800: #0C447C;
    --green-50: #EAF3DE; --green-400: #639922; --green-800: #27500A;

    --bg: #f3f6fa;
    --surface: #ffffff;
    --surface2: #f8fafc;
    --border: rgba(0,0,0,0.1);
    --border-med: rgba(0,0,0,0.18);
    --text: #1a1a18;
    --text-muted: #5a5955;
    --text-hint: #888780;
    --accent: #0B1B2E;
    --accent-light: #EAF1FB;
    --radius: 10px;
    --radius-lg: 14px;
  }

  @media (prefers-color-scheme: dark) {
    :root {
      --bg: #1a1917;
      --surface: #24231f;
      --surface2: #2d2c28;
      --border: rgba(255,255,255,0.1);
      --border-med: rgba(255,255,255,0.18);
      --text: #eef1f5;
      --text-muted: #a8a59e;
      --text-hint: #6b6860;
      --accent: var(--purple-400);
      --accent-light: #2a2850;
    }
  }

  * { box-sizing: border-box; margin: 0; padding: 0; }

  body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    background: var(--bg);
    color: var(--text);
    font-size: 14px;
    min-height: 100vh;
  }

  .app-shell { display: flex; min-height: 100vh; }

  /* Sidebar */
  .sidebar {
    width: 250px;
    background: var(--surface);
    border-right: 0.5px solid var(--border);
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0; left: 0; bottom: 0;
    z-index: 100;
    overflow-y: auto;
  }

  .sidebar-logo {
    padding: 20px 16px 14px;
    border-bottom: 0.5px solid var(--border);
  }

  .logo-name {
    font-size: 17px;
    font-weight: 600;
    color: var(--accent);
    letter-spacing: -0.3px;
  }

  .logo-sub {
    font-size: 13px;
    color: var(--text-muted);
    margin-top: 2px;
  }

  .sidebar-date {
    padding: 10px 16px;
    border-bottom: 0.5px solid var(--border);
  }

  .date-label {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-hint);
    margin-bottom: 4px;
  }

  .date-value {
    font-size: 13px;
    font-weight: 500;
    color: var(--text);
  }

  .nav-section-title {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-hint);
    padding: 12px 16px 6px;
  }

  .nav-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    cursor: pointer;
    color: var(--text-muted);
    font-size: 13px;
    border-left: 2px solid transparent;
    transition: all 0.12s;
    text-decoration: none;
  }

  .nav-item:hover { background: var(--surface2); color: var(--text); }
  .nav-item.active { background: var(--accent-light); color: var(--accent); border-left-color: var(--accent); font-weight: 500; }
  .nav-item i { font-size: 16px; flex-shrink: 0; }

  /* Main content */
  .main { margin-left: 250px; padding: 28px 32px 40px; min-height: 100vh; max-width: 1600px; width: calc(100% - 250px); }

  /* Page header */
  .page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
  }

  .page-title {
    font-size: 20px;
    font-weight: 600;
    color: var(--text);
    letter-spacing: -0.3px;
  }

  .page-subtitle { font-size: 13px; color: var(--text-muted); margin-top: 2px; }

  /* Buttons */
  .btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border-radius: var(--radius);
    border: 0.5px solid var(--border-med);
    background: var(--surface);
    color: var(--text);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.12s;
  }

  .btn:hover { background: var(--surface2); }
  .btn:active { transform: scale(0.98); }

  .btn-primary {
    background: var(--accent);
    border-color: var(--accent);
    color: white;
  }

  .btn-primary:hover { opacity: 0.9; background: var(--accent); }

  .btn-sm { padding: 5px 10px; font-size: 13px; }
  .btn-danger { background: var(--red-50); border-color: var(--red-100); color: var(--red-600); }

  /* Metric cards */
  .metrics-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 10px;
    margin-bottom: 20px;
  }

  .metric-card {
    background: var(--surface2);
    border-radius: var(--radius);
    padding: 14px;
    border: 0.5px solid var(--border);
  }

  .metric-label {
    font-size: 13px;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 5px;
  }

  .metric-value {
    font-size: 22px;
    font-weight: 600;
    color: var(--text);
    letter-spacing: -0.5px;
  }

  .metric-value.accent { color: var(--accent); }
  .metric-value.success { color: var(--teal-600); }
  .metric-value.warning { color: var(--amber-400); }
  .metric-value.danger { color: var(--red-600); }

  .metric-sub { font-size: 13px; color: var(--text-hint); margin-top: 3px; }

  /* Section cards */
  .section-card {
    background: var(--surface);
    border-radius: var(--radius-lg);
    border: 0.5px solid var(--border);
    margin-bottom: 16px;
    overflow: hidden;
  }

  .section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 0.5px solid var(--border);
  }

  .section-title {
    font-size: 14px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--text);
  }

  .section-title i { font-size: 16px; color: var(--accent); }

  /* Table */
  .data-table { width: 100%; border-collapse: collapse; }
  .data-table th {
    padding: 8px 12px;
    text-align: left;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-muted);
    background: var(--surface2);
    font-weight: 500;
    border-bottom: 0.5px solid var(--border);
  }

  .data-table td {
    padding: 9px 12px;
    border-bottom: 0.5px solid var(--border);
    font-size: 13px;
    color: var(--text);
  }

  .data-table tr:last-child td { border-bottom: none; }
  .data-table tr:hover td { background: var(--surface2); }
  .data-table td:first-child { color: var(--text-muted); }

  /* Badges */
  .badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border-radius: 100px;
    font-size: 13px;
    font-weight: 500;
  }

  .badge-pass { background: var(--teal-50); color: var(--teal-600); }
  .badge-fail { background: var(--red-50); color: var(--red-600); }
  .badge-checkout { background: var(--purple-50); color: var(--purple-600); }
  .badge-stayover { background: var(--blue-50); color: var(--blue-800); }
  .badge-deep { background: var(--amber-50); color: var(--amber-400); }
  .badge-maint { background: var(--red-50); color: var(--red-600); }
  .badge-open { background: var(--amber-50); color: var(--amber-400); }
  .badge-resolved { background: var(--teal-50); color: var(--teal-600); }

  /* Form */
  .form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
    padding: 16px;
  }

  .form-group { display: flex; flex-direction: column; gap: 5px; }

  .form-group label {
    font-size: 13px;
    font-weight: 500;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
  }

  .form-group input,
  .form-group select,
  .form-group textarea {
    padding: 7px 10px;
    border-radius: var(--radius);
    border: 0.5px solid var(--border-med);
    background: var(--surface2);
    color: var(--text);
    font-size: 13px;
    font-family: inherit;
    outline: none;
    transition: border-color 0.12s;
  }

  .form-group input:focus,
  .form-group select:focus,
  .form-group textarea:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 2px rgba(83,74,183,0.12);
  }

  .form-group textarea { resize: vertical; min-height: 60px; }

  .form-actions {
    padding: 12px 16px;
    border-top: 0.5px solid var(--border);
    display: flex;
    gap: 8px;
    align-items: center;
  }

  /* Tabs */
  .tab-bar {
    display: flex;
    gap: 2px;
    padding: 0 16px;
    border-bottom: 0.5px solid var(--border);
    background: var(--surface);
  }

  .tab-btn {
    padding: 10px 14px;
    font-size: 13px;
    font-weight: 500;
    color: var(--text-muted);
    cursor: pointer;
    border-bottom: 2px solid transparent;
    background: none;
    border-top: none;
    border-left: none;
    border-right: none;
    transition: all 0.12s;
    margin-bottom: -0.5px;
  }

  .tab-btn:hover { color: var(--text); }
  .tab-btn.active { color: var(--accent); border-bottom-color: var(--accent); }

  /* Modal */
  .modal-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.4);
    z-index: 200;
    align-items: center;
    justify-content: center;
  }

  .modal-overlay.open { display: flex; }

  .modal {
    background: var(--surface);
    border-radius: var(--radius-lg);
    border: 0.5px solid var(--border);
    width: 560px;
    max-width: 95vw;
    max-height: 90vh;
    overflow-y: auto;
  }

  .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
    border-bottom: 0.5px solid var(--border);
    position: sticky;
    top: 0;
    background: var(--surface);
  }

  .modal-title { font-size: 15px; font-weight: 600; }

  .close-btn {
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    font-size: 18px;
    padding: 4px;
    border-radius: 6px;
  }

  .close-btn:hover { background: var(--surface2); color: var(--text); }

  /* Pill status row */
  .status-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    padding: 12px 16px;
    border-bottom: 0.5px solid var(--border);
  }

  .status-pill {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 100px;
    font-size: 13px;
    font-weight: 500;
    border: 0.5px solid var(--border);
    cursor: pointer;
    background: var(--surface2);
    color: var(--text-muted);
    transition: all 0.12s;
  }

  .status-pill:hover { background: var(--accent-light); color: var(--accent); border-color: var(--purple-200); }
  .status-pill.selected { background: var(--accent-light); color: var(--accent); border-color: var(--purple-200); font-weight: 600; }

  /* Empty state */
  .empty-state {
    padding: 40px;
    text-align: center;
    color: var(--text-hint);
  }

  .empty-state i { font-size: 32px; margin-bottom: 10px; display: block; }
  .empty-state p { font-size: 13px; }

  /* Date nav */
  .date-nav {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .date-nav input[type="date"] {
    padding: 6px 10px;
    border-radius: var(--radius);
    border: 0.5px solid var(--border-med);
    background: var(--surface2);
    color: var(--text);
    font-size: 13px;
    font-family: inherit;
    cursor: pointer;
  }

  /* Summary bar */
  .summary-bar {
    display: flex;
    gap: 6px;
    align-items: center;
    padding: 8px 16px;
    background: var(--surface2);
    border-bottom: 0.5px solid var(--border);
    flex-wrap: wrap;
  }

  .summary-chip {
    font-size: 13px;
    padding: 3px 9px;
    border-radius: 100px;
    background: var(--surface);
    border: 0.5px solid var(--border);
    color: var(--text-muted);
  }

  /* Cash tracker */
  .cash-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0;
  }

  .cash-cell {
    padding: 12px 14px;
    border-right: 0.5px solid var(--border);
    border-bottom: 0.5px solid var(--border);
  }

  .cash-cell:nth-child(3n) { border-right: none; }
  .cash-cell-label { font-size: 13px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 4px; }
  .cash-cell-value { font-size: 18px; font-weight: 600; color: var(--text); }
  .cash-cell-value.positive { color: var(--teal-600); }

  /* Housekeeper leaderboard */
  .hk-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 9px 16px;
    border-bottom: 0.5px solid var(--border);
  }

  .hk-row:last-child { border-bottom: none; }
  .hk-info { display: flex; align-items: center; gap: 10px; }
  .hk-avatar {
    width: 30px; height: 30px;
    border-radius: 50%;
    background: var(--accent-light);
    color: var(--accent);
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; font-weight: 600;
    flex-shrink: 0;
  }

  .hk-name { font-size: 13px; font-weight: 500; }
  .hk-meta { font-size: 13px; color: var(--text-muted); margin-top: 1px; }
  .hk-count { font-size: 18px; font-weight: 600; color: var(--accent); }

  /* Progress bar */
  .progress-wrap { height: 4px; background: var(--border); border-radius: 2px; overflow: hidden; margin-top: 5px; }
  .progress-bar { height: 100%; background: var(--accent); border-radius: 2px; transition: width 0.3s; }

  .toast {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: var(--teal-600);
    color: white;
    padding: 10px 16px;
    border-radius: var(--radius);
    font-size: 13px;
    font-weight: 500;
    z-index: 999;
    display: none;
    align-items: center;
    gap: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  }

  .toast.show { display: flex; }
  .app-error-banner {
    position: fixed;
    top: 18px;
    left: 50%;
    transform: translateX(-50%) translateY(-16px);
    z-index: 10050;
    width: min(760px, calc(100vw - 28px));
    display: none;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 15px;
    border-radius: 13px;
    border: 1px solid rgba(178,55,55,.28);
    background: #fff4f4;
    color: #7e2525;
    box-shadow: 0 16px 44px rgba(24,39,58,.22);
  }
  .app-error-banner.show { display: flex; animation: errorBannerIn .16s ease-out forwards; }
  .app-error-banner.warning { background:#fff9eb; border-color:rgba(184,128,32,.30); color:#795315; }
  .app-error-banner.info { background:#f2f8fd; border-color:rgba(47,116,170,.25); color:#245f8d; }
  .app-error-banner > i { font-size:20px; line-height:1.25; margin-top:1px; flex:0 0 auto; }
  .app-error-banner-copy { flex:1; min-width:0; }
  .app-error-banner-copy strong { display:block; font-size:13px; margin-bottom:3px; }
  .app-error-banner-copy span { display:block; font-size:13px; line-height:1.45; overflow-wrap:anywhere; }
  .app-error-banner-close { border:0; background:transparent; color:inherit; cursor:pointer; padding:2px; font-size:18px; line-height:1; opacity:.72; }
  .app-error-banner-close:hover { opacity:1; }
  .operations-tracking-note {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    padding: 8px 12px;
    border-radius: 9px;
    background: #f2f8fd;
    border: 1px solid rgba(47,116,170,.2);
    color: #245f8d;
    margin: 10px 14px 0;
  }
  .operations-tracking-note.warning { background:#fff9eb; border-color:rgba(184,128,32,.28); color:#795315; }
  .operations-tracking-note i { font-size: 15px; flex: 0 0 auto; }
  .status-pill { display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:600; padding:3px 9px; border-radius:99px; }
  .status-pill.ok { background:#e9f7ef; color:#1f7a4d; }
  .status-pill.bad { background:#fdeaea; color:#b23737; }
  .status-pill i { font-size:13px; }
  .app-confirm-overlay {
    position: fixed;
    inset: 0;
    z-index: 10100;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(19, 31, 45, .48);
    backdrop-filter: blur(2px);
  }
  .app-confirm-overlay.show { display:flex; }
  .app-confirm-dialog {
    width: min(440px, 100%);
    background: var(--card, #fff);
    color: var(--text, #1e293b);
    border: 1px solid var(--line, #e3e8ee);
    border-radius: 16px;
    box-shadow: 0 24px 70px rgba(15,23,42,.28);
    overflow: hidden;
    animation: appConfirmIn .15s ease-out;
  }
  .app-confirm-body { display:flex; gap:14px; padding:21px 21px 17px; align-items:flex-start; }
  .app-confirm-icon {
    width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center;
    flex:0 0 auto; font-size:21px; background:#eef5fb; color:#286a9d;
  }
  .app-confirm-icon.danger { background:#fff0f0; color:#a63434; }
  .app-confirm-icon.warning { background:#fff7e5; color:#9a6817; }
  .app-confirm-copy { min-width:0; flex:1; }
  .app-confirm-copy h3 { margin:1px 0 7px; font-size:16px; line-height:1.3; }
  .app-confirm-copy p { margin:0; color:var(--muted, #667085); font-size:13.5px; line-height:1.5; white-space:pre-line; overflow-wrap:anywhere; }
  .app-confirm-actions {
    display:flex; justify-content:flex-end; gap:9px; padding:13px 20px 18px;
    border-top:1px solid var(--line, #e8edf2);
  }
  .app-confirm-actions .btn-danger-confirm {
    background:#a63434; color:#fff; border-color:#a63434;
  }
  .app-confirm-actions .btn-danger-confirm:hover { filter:brightness(.94); }

  .operations-performance-note{font-size:13px;color:var(--text-muted);line-height:1.45}
  .operations-priority-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 17px;border:1px solid #e6c77f;border-radius:13px;background:#fff8e8}
  .operations-priority-banner div{display:flex;flex-direction:column;gap:3px}
  .operations-priority-banner strong{font-size:14px;color:#604710}.operations-priority-banner span{font-size:13px;color:#7d6530;line-height:1.4}
  .operations-priority-banner b{font-size:24px;color:#815a10}
  .operations-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px}
  .operations-service-card{padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--card)}
  .operations-service-card span,.operations-service-card small{display:block}.operations-service-card span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}
  .operations-service-card strong{display:block;font-size:27px;margin:7px 0 3px}.operations-service-card small{font-size:13px;color:var(--text-muted)}
  .operations-service-card.priority{border-left:4px solid #c69b4b}.operations-service-card.stayover{border-left:4px solid #6a89a8;background:#f7fafc}
  @media(max-width:760px){.operations-service-grid{grid-template-columns:1fr}.operations-priority-banner{align-items:flex-start}.operations-priority-banner b{font-size:20px}}

  @media(max-width:760px){
    .section-card .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  }

  @keyframes appConfirmIn {
    from { opacity:0; transform:translateY(8px) scale(.985); }
    to { opacity:1; transform:translateY(0) scale(1); }
  }

  @keyframes errorBannerIn { to { transform:translateX(-50%) translateY(0); } }

  .hk-count-warning {
    display:flex; gap:12px; align-items:flex-start; margin:0 0 14px; padding:14px 16px;
    border:1px solid #ead49d; background:#fff9e9; border-radius:13px; color:#704f16;
  }
  .hk-count-warning > i { font-size:22px; margin-top:1px; }
  .hk-count-warning strong { display:block; color:#634410; margin-bottom:4px; }
  .hk-count-warning span { display:block; font-size:13px; line-height:1.45; }
  .hk-count-warning-actions { margin-left:auto; display:flex; gap:7px; flex-wrap:wrap; }
  @media(max-width:700px){ .hk-count-warning{flex-wrap:wrap}.hk-count-warning-actions{margin-left:34px} }


  /* Spreadsheet table */
  .spreadsheet-table { font-size: 13px; border-collapse: collapse; }

  .spreadsheet-table th {
    background: var(--surface2);
    border: 0.5px solid var(--border-med);
    padding: 6px 10px;
    font-size: 13px;
    white-space: nowrap;
    position: sticky;
    top: 0;
    z-index: 2;
  }

  .spreadsheet-table td {
    border: 0.5px solid var(--border);
    padding: 5px 10px;
    vertical-align: middle;
    white-space: nowrap;
  }

  .spreadsheet-table tr:hover td { background: rgba(83,74,183,0.04); }

  .spreadsheet-table .row-num {
    background: var(--surface2);
    color: var(--text-hint);
    font-size: 13px;
    text-align: center;
    width: 28px;
    border-color: var(--border-med);
    font-weight: 500;
    user-select: none;
  }

  .spreadsheet-table thead .row-num { background: var(--gray-50); }
  @media (prefers-color-scheme: dark) {
    .spreadsheet-table thead .row-num { background: #2a2927; }
  }

  .mono-cell { font-family: 'SF Mono', 'Fira Mono', monospace; font-size: 13px; color: var(--text-muted); }
  .editable-cell { color: var(--text); }
  .notes-cell { max-width: 160px; overflow: hidden; text-overflow: ellipsis; color: var(--text-muted); font-style: italic; }
  .action-cell { white-space: nowrap; text-align: right; }
  .action-cell .btn { padding: 3px 7px; font-size: 13px; }

  .sheet-totals td {
    background: var(--surface2);
    border-top: 1.5px solid var(--border-med);
    font-size: 13px;
    font-weight: 600;
    padding: 5px 10px;
  }

  .sheet-row:nth-child(even) td { background: rgba(0,0,0,0.015); }
  @media (prefers-color-scheme: dark) {
    .sheet-row:nth-child(even) td { background: rgba(255,255,255,0.02); }
  }

  /* Responsive */
  @media (max-width: 768px) {
    .sidebar { width: 100%; height: 56px; flex-direction: row; align-items: center; padding: 0 12px; bottom: auto; overflow: hidden; }
    .sidebar-logo { border-bottom: none; padding: 0 12px 0 0; }
    .sidebar-date, .nav-section-title { display: none; }
    .nav-item { padding: 6px 10px; font-size: 13px; }
    .main { margin-left: 0; margin-top: 56px; padding: 12px; }
  }

  .auth-screen {
    position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center;
    padding: 24px; background: linear-gradient(145deg, #101B2D, #0e2a45);
  }
  .auth-card { width: min(420px, 100%); background: white; color: #1a1a18; border-radius: 18px; padding: 28px; box-shadow: 0 24px 70px rgba(0,0,0,.32); }
  .auth-mark { width: 58px; height: 58px; margin: 0 auto 14px; border: 2px solid #B08D57; border-radius: 50%; display: flex; align-items: center; justify-content: center; font: 700 36px Georgia, serif; color: #101B2D; overflow: hidden; }
  .auth-mark img { width: 100%; height: 100%; object-fit: cover; }
  .auth-title { text-align: center; font-size: 24px; font-weight: 700; color: #101B2D; }
  .auth-subtitle { text-align: center; color: #666; margin: 6px 0 22px; }
  .auth-card label { display:block; margin: 12px 0 6px; font-size: 13px; font-weight: 700; color:#555; text-transform: uppercase; letter-spacing:.04em; }
  .auth-card input { width:100%; padding:11px 12px; border:1px solid #d6d6d6; border-radius:9px; font:inherit; }
  .auth-card button { width:100%; margin-top:16px; padding:11px 14px; border:0; border-radius:9px; background:#101B2D; color:white; font-weight:700; cursor:pointer; }
  .auth-error { min-height:18px; margin-top:10px; color:#a32d2d; font-size:13px; text-align:center; }
  .loading-screen { position: fixed; inset: 0; z-index: 900; display:flex; flex-direction:column; align-items:center; justify-content:center; background:var(--bg); color:var(--text-muted); font-size:14px; }
  .sidebar-user { margin-top:auto; padding:12px 16px; border-top:.5px solid var(--border); }
  .sidebar-user-name { font-size:13px; font-weight:600; color:var(--text); }
  .sidebar-user-role { font-size:13px; color:var(--text-muted); margin:2px 0 8px; text-transform:capitalize; }
  .logout-btn { width:100%; padding:6px 8px; border:.5px solid var(--border-med); border-radius:8px; background:var(--surface2); color:var(--text); cursor:pointer; font-size:14px; }

  /* Hotel USA UI refresh */
  body { background: linear-gradient(180deg,#f5f8fc 0,#eef3f8 100%); }
  .sidebar { background: linear-gradient(180deg,#101B2D 0%,#0d2944 100%); border-right: none; box-shadow: 10px 0 30px rgba(7,22,37,.08); }
  .sidebar-logo { padding: 22px 18px 18px; border-bottom: 1px solid rgba(255,255,255,.10); }
  .brand-lockup { display:flex; align-items:center; gap:12px; }
  .brand-mark { width:42px; height:42px; border:1.5px solid #B08D57; display:grid; place-items:center; color:white; font:700 27px Georgia,serif; border-radius:8px; box-shadow: inset 0 0 0 4px rgba(201,167,93,.06); overflow:hidden; }
  .brand-mark img { width:100%; height:100%; object-fit:cover; }
  .logo-name { color:#fff; font-size:18px; letter-spacing:.12em; font-family:Georgia,serif; }
  .logo-sub { color:#B08D57; font-size:13px; letter-spacing:.08em; text-transform:uppercase; }
  .sidebar-date { border-bottom:1px solid rgba(255,255,255,.08); padding:13px 18px; }
  .date-label,.nav-section-title { color:rgba(255,255,255,.42); }
  .date-value { color:rgba(255,255,255,.88); }
  .nav-item { margin:2px 10px; padding:10px 12px; border-left:0; border-radius:9px; color:rgba(255,255,255,.72); }
  .nav-item:hover { background:rgba(255,255,255,.08); color:#fff; }
  .nav-item.active { background:linear-gradient(90deg,rgba(201,167,93,.22),rgba(201,167,93,.10)); color:#fff; border:1px solid rgba(201,167,93,.28); box-shadow:inset 3px 0 0 #B08D57; }
  .sidebar-user { border-top:1px solid rgba(255,255,255,.10); padding:14px 16px 18px; }
  .sidebar-user-name { color:#fff; } .sidebar-user-role { color:#B08D57; }
  .logout-btn { color:#fff; background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.15); }
  .logout-btn:hover { background:rgba(255,255,255,.12); }
  .page-header { background:rgba(255,255,255,.72); backdrop-filter:blur(14px); border:1px solid rgba(7,22,37,.08); border-radius:18px; padding:18px 20px; box-shadow:0 8px 24px rgba(13,42,74,.06); }
  .page-title { font-size:24px; color:#101B2D; }
  .page-subtitle { margin-top:5px; }
  .btn { min-height:38px; border-radius:10px; box-shadow:0 1px 2px rgba(0,0,0,.03); }
  .btn-primary { background:linear-gradient(135deg,#0B1B2E,#164d7a); border-color:#0B1B2E; box-shadow:0 6px 14px rgba(11,42,74,.18); }
  .metrics-grid { gap:14px; }
  .metric-card { position:relative; overflow:hidden; background:#fff; border:1px solid rgba(7,22,37,.08); border-radius:16px; padding:16px; box-shadow:0 8px 24px rgba(13,42,74,.055); }
  .metric-card:before { content:''; position:absolute; left:0; top:0; bottom:0; width:4px; background:#B08D57; }
  .metric-label { color:#66758a; font-weight:700; }
  .metric-value { color:#101B2D; font-size:26px; }
  .section-card { border:1px solid rgba(7,22,37,.08); border-radius:16px; box-shadow:0 8px 24px rgba(13,42,74,.055); }
  .section-header { background:linear-gradient(180deg,#fff,#fbfcfe); padding:16px 18px; }
  .section-title { color:#101B2D; font-size:15px; } .section-title i { color:#b08b42; }
  .data-table th { background:#f2f6fa; color:#5a687c; padding:10px 12px; }
  .data-table td { padding:11px 12px; }
  .data-table tbody tr:hover td { background:#f7fafc; }
  .form-group input,.form-group select,.form-group textarea,.date-nav input[type=date] { background:#fff; border:1px solid #d8e0e8; min-height:40px; }
  .form-group input:focus,.form-group select:focus,.form-group textarea:focus { border-color:#0B1B2E; box-shadow:0 0 0 3px rgba(11,42,74,.10); }
  .modal { border-radius:18px; box-shadow:0 28px 80px rgba(0,0,0,.25); }
  .modal-header { background:#101B2D; color:#fff; } .modal-header .close-btn{color:#fff;}
  .auth-screen { background:radial-gradient(circle at 30% 20%,#183d62 0,#101B2D 48%,#03101c 100%); }
  .auth-card { border:1px solid rgba(201,167,93,.35); }
  .auth-mark { border-radius:10px; background:#101B2D; color:#fff; box-shadow:0 8px 22px rgba(7,22,37,.15); }
  .dashboard-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:16px; }
  .quick-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
  .quick-action { cursor:pointer; border:1px solid rgba(7,22,37,.08); background:#fff; border-radius:14px; padding:16px; transition:.18s ease; }
  .quick-action:hover { transform:translateY(-2px); box-shadow:0 10px 25px rgba(13,42,74,.10); border-color:rgba(201,167,93,.5); }
  .quick-action i { font-size:24px; color:#b08b42; }
  .quick-action strong { display:block; margin-top:10px; color:#101B2D; }
  .quick-action span { display:block; margin-top:4px; color:#6d7888; font-size:13px; }
  .today-list { display:grid; gap:10px; padding:16px; }
  .today-item { display:flex; justify-content:space-between; align-items:center; padding:12px 14px; border-radius:12px; background:#f7fafc; border:1px solid #e7edf3; }
  .today-item strong { color:#101B2D; }
  .today-item small { color:#748194; }
  @media(max-width:1100px){ .dashboard-grid{grid-template-columns:1fr;} .quick-actions{grid-template-columns:1fr 1fr;} }
  @media(max-width:768px){ .sidebar{width:100%;height:66px;background:#101B2D;} .brand-mark{width:34px;height:34px;font-size:22px}.logo-sub{display:none}.main{width:100%;max-width:none}.sidebar-user{display:none}.nav-item{margin:0 2px;padding:8px}.quick-actions{grid-template-columns:1fr}.page-header{align-items:flex-start;gap:12px}.page-header,.date-nav{flex-wrap:wrap}.metrics-grid{grid-template-columns:repeat(2,1fr)} }
  @media(max-width:520px){ .metrics-grid{grid-template-columns:1fr}.main{padding:12px}.page-title{font-size:20px}.data-table{min-width:900px}.modal{width:96vw}.form-grid{grid-template-columns:1fr} }

  /* High-contrast readability update */
  :root {
    color-scheme: light;
    --bg: #f3f6fa;
    --surface: #ffffff;
    --surface2: #f8fafc;
    --border: rgba(7,22,37,0.12);
    --border-med: rgba(7,22,37,0.22);
    --text: #101B2D;
    --text-muted: #4b5a6d;
    --text-hint: #657489;
    --accent: #0B1B2E;
    --accent-light: #EAF1FB;
  }

  .section-card {
    background: #ffffff;
    color: #101B2D;
  }

  .section-card > div:not(.section-header),
  .today-list {
    color: #101B2D;
  }

  .section-card strong,
  .section-card span,
  .section-card p {
    color: #101B2D;
  }

  .section-card .quick-action span,
  .section-card .today-item small,
  .section-card .empty-state p,
  .section-card .metric-sub {
    color: #4b5a6d;
  }

  .today-item {
    background: #f7fafc;
    color: #101B2D;
  }

  .today-item span,
  .today-item strong {
    color: #101B2D;
  }

  .empty-state {
    color: #4b5a6d;
  }

  .empty-state i {
    color: #64748b;
  }

  .progress-wrap {
    background: #dbe3ec;
  }

  .page-subtitle,
  .metric-sub {
    color: #526174;
  }

  /* Mobile-first phone usability improvements */
  @media (max-width: 768px) {
    body {
      background: #f3f6fa;
      padding-bottom: calc(76px + env(safe-area-inset-bottom));
    }

    /* Bottom mobile navigation */
    .sidebar {
      position: fixed;
      left: 0;
      right: 0;
      top: auto;
      bottom: 0;
      width: 100%;
      height: calc(70px + env(safe-area-inset-bottom));
      padding: 6px 6px env(safe-area-inset-bottom);
      display: flex;
      flex-direction: row;
      align-items: stretch;
      justify-content: space-around;
      overflow: visible;
      z-index: 500;
      background: #101B2D;
      border-top: 1px solid rgba(255,255,255,.12);
      box-shadow: 0 -8px 24px rgba(7,22,37,.18);
    }

    .sidebar-logo,
    .sidebar-date,
    .nav-section-title,
    .sidebar-user {
      display: none !important;
    }

    .nav-item {
      flex: 1 1 20%;
      min-width: 0;
      height: 58px;
      margin: 0 2px;
      padding: 6px 2px;
      border: 0;
      border-radius: 10px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 4px;
      font-size: 13px;
      line-height: 1.05;
      text-align: center;
      white-space: normal;
      color: rgba(255,255,255,.72);
      box-shadow: none;
      -webkit-tap-highlight-color: transparent;
    }

    .nav-item i {
      font-size: 20px;
      line-height: 1;
    }

    .nav-item.active {
      background: rgba(201,167,93,.17);
      border: 1px solid rgba(201,167,93,.35);
      color: #fff;
      box-shadow: inset 0 3px 0 #B08D57;
    }

    .main {
      margin: 0;
      width: 100%;
      max-width: none;
      padding: 10px 10px 18px;
    }

    .page-header {
      position: sticky;
      top: 0;
      z-index: 40;
      margin: -10px -10px 12px;
      padding: 14px 14px;
      border-radius: 0 0 16px 16px;
      align-items: flex-start;
      gap: 10px;
      background: rgba(255,255,255,.96);
      backdrop-filter: blur(14px);
    }

    .page-title {
      font-size: 22px;
      line-height: 1.15;
    }

    .page-subtitle {
      font-size: 13px;
      line-height: 1.35;
    }

    .date-nav {
      width: 100%;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 8px;
    }

    .date-nav input[type="date"] {
      min-width: 0;
      width: 100%;
      min-height: 44px;
    }

    .date-nav .btn {
      min-height: 44px;
      padding: 8px 12px;
    }

    .metrics-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
    }

    .metric-card {
      min-width: 0;
      padding: 14px 12px;
      border-radius: 14px;
    }

    .metric-label {
      font-size: 13px;
      line-height: 1.25;
    }

    .metric-value {
      font-size: 22px;
      line-height: 1.1;
      overflow-wrap: anywhere;
    }

    .metric-sub {
      font-size: 13px;
      line-height: 1.25;
    }

    .dashboard-grid {
      grid-template-columns: 1fr;
      gap: 12px;
    }

    .quick-actions {
      grid-template-columns: 1fr;
      gap: 10px;
      padding: 12px;
    }

    .quick-action {
      min-height: 86px;
      padding: 14px;
      display: grid;
      grid-template-columns: 34px 1fr;
      grid-template-rows: auto auto;
      column-gap: 10px;
      align-items: center;
    }

    .quick-action i {
      grid-row: 1 / 3;
      font-size: 26px;
    }

    .quick-action strong {
      margin: 0;
      font-size: 15px;
    }

    .quick-action span {
      margin-top: 2px;
      font-size: 13px;
      line-height: 1.3;
    }

    .section-card {
      border-radius: 14px;
      overflow: hidden;
    }

    .section-header {
      padding: 14px;
    }

    .section-title {
      font-size: 15px;
    }

    .today-list {
      padding: 12px;
      gap: 8px;
    }

    .today-item {
      padding: 12px;
    }

    /* Forms and buttons */
    .form-grid {
      grid-template-columns: 1fr;
      gap: 12px;
    }

    .form-group input,
    .form-group select,
    .form-group textarea,
    .btn,
    button {
      font-size: 16px; /* Prevents iPhone auto-zoom */
    }

    .form-group input,
    .form-group select {
      min-height: 46px;
    }

    .form-group textarea {
      min-height: 96px;
    }

    .btn {
      min-height: 44px;
      padding: 10px 14px;
    }

    /* Tables stay usable with horizontal swipe */
    .table-wrap,
    .spreadsheet-wrap {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: thin;
    }

    .data-table {
      min-width: 720px;
    }

    .spreadsheet-table {
      min-width: 720px;
    }

    .data-table th,
    .data-table td,
    .spreadsheet-table th,
    .spreadsheet-table td {
      padding: 10px 9px;
      font-size: 13px;
    }

    /* Full-screen-like mobile modals */
    .modal-overlay {
      align-items: flex-end;
      padding: 0;
    }

    .modal {
      width: 100vw;
      max-width: none;
      max-height: 92vh;
      border-radius: 18px 18px 0 0;
      overflow-y: auto;
      overscroll-behavior: contain;
    }

    .modal-header {
      position: sticky;
      top: 0;
      z-index: 2;
      padding: 14px 16px;
    }

    .modal-body {
      padding: 16px;
    }

    .modal-footer {
      position: sticky;
      bottom: 0;
      z-index: 2;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
      background: #fff;
      border-top: 1px solid #e3e8ef;
    }

    /* Login screen on phones */
    .auth-screen {
      padding: 14px;
      align-items: center;
    }

    .auth-card {
      padding: 22px 18px;
      border-radius: 16px;
    }

    .auth-title {
      font-size: 23px;
    }

    .auth-card input {
      min-height: 48px;
      font-size: 16px;
    }

    .auth-card button {
      min-height: 48px;
      font-size: 16px;
    }
  }

  @media (max-width: 390px) {
    .nav-item {
      font-size: 13px;
    }

    .nav-item i {
      font-size: 19px;
    }

    .metrics-grid {
      grid-template-columns: 1fr;
    }

    .metric-card {
      min-height: 96px;
    }
  }

  @media (orientation: landscape) and (max-height: 520px) and (max-width: 900px) {
    .sidebar {
      height: 58px;
    }

    .nav-item {
      height: 48px;
      flex-direction: row;
      gap: 5px;
      font-size: 13px;
    }

    body {
      padding-bottom: 62px;
    }
  }

  /* Hotel USA Operations Pro UI */
  :root {
    --navy-950: #0B1B2E;
    --navy-900: #102A47;
    --navy-800: #142E4D;
    --gold-500: #B08D57;
    --gold-100: #f7f0df;
    --green-600: #128572;
    --red-600: #b93939;
    --amber-600: #B7791F;
  }

  body {
    background:
      radial-gradient(circle at 90% 0%, rgba(201,167,93,.10), transparent 28%),
      linear-gradient(180deg, #f6f8fb 0%, #edf2f7 100%);
  }

  .sidebar {
    background: linear-gradient(180deg, var(--navy-950), var(--navy-800));
    border-right: 0;
    box-shadow: 10px 0 32px rgba(6,19,33,.10);
  }

  .sidebar-logo { border-color: rgba(255,255,255,.10); }
  .logo-name, .date-value, .sidebar-user-name { color: #fff; }
  .logo-sub, .sidebar-user-role { color: #e8c977; }
  .date-label, .nav-section-title { color: rgba(255,255,255,.52); }

  .nav-item {
    color: rgba(255,255,255,.74);
    margin: 2px 10px;
    border-radius: 10px;
    padding: 10px 12px;
  }

  .nav-item:hover {
    background: rgba(255,255,255,.08);
    color: #fff;
  }

  .nav-item.active {
    background: linear-gradient(90deg, rgba(201,167,93,.22), rgba(255,255,255,.07));
    color: #fff;
    box-shadow: inset 3px 0 0 var(--gold-500);
  }

  .main { max-width: 1680px; }
  .page-header {
    border: 1px solid rgba(10,29,49,.08);
    box-shadow: 0 12px 34px rgba(10,29,49,.06);
  }

  .page-title {
    letter-spacing: -.02em;
  }

  .executive-banner {
    background: linear-gradient(120deg, #101B2D 0%, #103250 70%, #173e62 100%);
    color: #fff;
    border-radius: 18px;
    padding: 20px 22px;
    margin-bottom: 16px;
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    box-shadow: 0 18px 42px rgba(7,22,37,.18);
    overflow: hidden;
    position: relative;
  }

  .executive-banner::after {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    right: -70px;
    top: -110px;
    background: rgba(201,167,93,.15);
  }

  .executive-banner h2 {
    font-size: 21px;
    margin: 0 0 5px;
    position: relative;
    z-index: 1;
  }

  .executive-banner p {
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: 13px;
    position: relative;
    z-index: 1;
  }

  .role-chip {
    position: relative;
    z-index: 1;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.18);
    color: #f3d98f;
    border-radius: 999px;
    padding: 8px 12px;
    font-weight: 700;
    font-size: 13px;
    white-space: nowrap;
  }

  .metrics-grid {
    gap: 14px;
  }

  .metric-card {
    border: 1px solid rgba(10,29,49,.09);
    box-shadow: 0 10px 28px rgba(10,29,49,.06);
    overflow: hidden;
    position: relative;
  }

  .metric-card::after {
    content: "";
    position: absolute;
    width: 76px;
    height: 76px;
    border-radius: 50%;
    right: -28px;
    bottom: -34px;
    background: rgba(201,167,93,.09);
  }

  .metric-label { color: #526174; }
  .metric-value { color: #101B2D; }

  .section-card {
    box-shadow: 0 10px 30px rgba(10,29,49,.06);
    border: 1px solid rgba(10,29,49,.09);
  }

  .section-header {
    background: #fff;
    border-bottom: 1px solid #e7edf3;
  }

  .dashboard-pro-grid {
    display: grid;
    grid-template-columns: 1.35fr .65fr;
    gap: 16px;
  }

  .dashboard-stack {
    display: grid;
    gap: 16px;
  }

  .ops-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    padding: 16px;
  }

  .ops-summary-box {
    padding: 14px;
    background: #f7fafc;
    border: 1px solid #e5ebf1;
    border-radius: 12px;
  }

  .ops-summary-box small {
    display: block;
    color: #657489;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: 13px;
    margin-bottom: 5px;
  }

  .ops-summary-box strong {
    color: #101B2D;
    font-size: 18px;
  }

  .trend-chart {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    height: 150px;
    padding: 18px 16px 14px;
  }

  .trend-day {
    flex: 1;
    min-width: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    gap: 5px;
  }

  .trend-value {
    font-size: 13px;
    color: #526174;
    white-space: nowrap;
  }

  .trend-bar {
    width: 100%;
    max-width: 48px;
    min-height: 4px;
    border-radius: 7px 7px 2px 2px;
    background: linear-gradient(180deg, #B08D57, #9c7831);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.3);
  }

  .trend-day-label {
    font-size: 13px;
    color: #657489;
  }

  .attention-item {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 11px;
    align-items: center;
    padding: 12px 14px;
    background: #fff;
    border: 1px solid #e7edf3;
    border-radius: 12px;
  }

  .attention-icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: #fff3e3;
    color: #a96812;
  }

  .attention-item strong { color: #101B2D; }
  .attention-item small { color: #657489; }

  .readiness-list {
    display: grid;
    gap: 9px;
    padding: 16px;
  }

  .readiness-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 11px 12px;
    border-radius: 11px;
    background: #f7fafc;
    border: 1px solid #e7edf3;
  }

  .readiness-label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #26384c;
    font-size: 13px;
    font-weight: 600;
  }

  .status-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #a0aec0;
  }

  .status-dot.good { background: #13a474; box-shadow: 0 0 0 4px rgba(19,164,116,.10); }
  .status-dot.warn { background: #d49227; box-shadow: 0 0 0 4px rgba(212,146,39,.10); }
  .status-dot.bad { background: #d14a4a; box-shadow: 0 0 0 4px rgba(209,74,74,.10); }

  .title-role {
    text-transform: capitalize;
  }

  @media (max-width: 1100px) {
    .dashboard-pro-grid { grid-template-columns: 1fr; }
  }

  @media (max-width: 768px) {
    .executive-banner {
      border-radius: 14px;
      padding: 16px;
      align-items: flex-start;
      flex-direction: column;
    }

    .executive-banner h2 { font-size: 18px; }

    .ops-summary-grid {
      grid-template-columns: 1fr 1fr;
    }

    .trend-chart {
      overflow-x: auto;
      justify-content: flex-start;
    }

    .trend-day {
      flex: 0 0 42px;
    }

    .attention-item {
      grid-template-columns: auto 1fr;
    }

    .attention-item .badge {
      grid-column: 2;
      justify-self: start;
    }
  }

  @media (max-width: 390px) {
    .ops-summary-grid { grid-template-columns: 1fr; }
  }

  /* Property map and room finder */
  .property-toolbar {
    display: grid;
    grid-template-columns: 1fr 220px 220px;
    gap: 10px;
    margin-bottom: 16px;
  }

  .property-toolbar input,
  .property-toolbar select {
    min-height: 46px;
    border: 1px solid #dce4ec;
    border-radius: 11px;
    padding: 0 13px;
    background: #fff;
    color: #101B2D;
    font: inherit;
  }

  .building-tabs {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 14px;
  }

  .building-tab {
    border: 1px solid #d8e1ea;
    background: #fff;
    color: #31445a;
    border-radius: 999px;
    padding: 9px 14px;
    font-weight: 700;
    cursor: pointer;
  }

  .building-tab.active {
    background: #102A47;
    color: #fff;
    border-color: #102A47;
    box-shadow: 0 5px 14px rgba(10,29,49,.15);
  }

  .room-finder-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
    gap: 16px;
    align-items: start;
  }

  .room-directory {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
    padding: 16px;
    max-height: 680px;
    overflow: auto;
  }

  .room-tile {
    background: #fff;
    border: 1px solid #e0e7ef;
    border-radius: 11px;
    padding: 11px;
    cursor: pointer;
    transition: .15s ease;
    min-width: 0;
  }

  .room-tile:hover {
    border-color: #B08D57;
    box-shadow: 0 7px 18px rgba(7,22,37,.08);
    transform: translateY(-1px);
  }

  .room-tile-number {
    font-size: 17px;
    font-weight: 800;
    color: #101B2D;
  }

  .room-tile-meta {
    font-size: 13px;
    color: #657489;
    margin-top: 3px;
  }

  .building-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 21px;
    padding: 0 7px;
    border-radius: 999px;
    background: #f5ecd6;
    color: #88651f;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 6px;
  }

  .map-viewer {
    padding: 12px;
    background: #fff;
  }

  .map-viewer img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 12px;
    border: 1px solid #e0e7ef;
    background: #fafbfc;
  }

  .map-caption {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 10px 2px 2px;
    color: #526174;
    font-size: 13px;
  }

  .selected-room-panel {
    margin: 0 16px 16px;
    padding: 14px;
    border-radius: 12px;
    border: 1px solid #e4d5ad;
    background: #f8fafc;
    display: none;
  }

  .selected-room-panel.show { display: block; }

  .selected-room-title {
    color: #101B2D;
    font-weight: 800;
    margin-bottom: 5px;
  }

  .selected-room-actions {
    display: flex;
    gap: 8px;
    margin-top: 10px;
    flex-wrap: wrap;
  }

  .room-count-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 9px;
    border-radius: 999px;
    background: #eff4f8;
    color: #3e5168;
    font-size: 13px;
    font-weight: 700;
  }

  @media (max-width: 1150px) {
    .room-finder-layout { grid-template-columns: 1fr; }
    .room-directory { grid-template-columns: repeat(5, minmax(0,1fr)); max-height: none; }
  }

  @media (max-width: 768px) {
    .property-toolbar { grid-template-columns: 1fr; }
    .room-directory { grid-template-columns: repeat(3, minmax(0,1fr)); padding: 12px; }
    .map-viewer { padding: 8px; }
    .building-tabs { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 3px; }
    .building-tab { flex: 0 0 auto; }
  }

  @media (max-width: 390px) {
    .room-directory { grid-template-columns: repeat(2, minmax(0,1fr)); }
  }

  /* Live room status board */
  .status-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0 16px;
  }

  .status-key {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border-radius: 999px;
    border: 1px solid #dfe6ee;
    background: #fff;
    color: #41556d;
    font-size: 13px;
    font-weight: 700;
  }

  .status-swatch {
    width: 10px;
    height: 10px;
    border-radius: 50%;
  }

  .room-status-board {
    display: grid;
    grid-template-columns: repeat(8, minmax(0,1fr));
    gap: 9px;
    padding: 16px;
  }

  .live-room-card {
    border: 1px solid #dfe6ee;
    border-left-width: 5px;
    border-radius: 12px;
    padding: 10px;
    background: #fff;
    cursor: pointer;
    transition: .15s ease;
    min-width: 0;
  }

  .live-room-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(7,22,37,.08);
  }

  .live-room-card.dirty { border-left-color: #d14a4a; }
  .live-room-card.assigned { border-left-color: #d49227; }
  .live-room-card.cleaning { border-left-color: #4f7bb8; }
  .live-room-card.clean { border-left-color: #2f9e74; }
  .live-room-card.inspected { border-left-color: #0f7a5b; }
  .live-room-card.reclean { border-left-color: #8e5ab5; }
  .live-room-card.hold { border-left-color: #222; background: #fff7f7; }
  .live-room-card.ooo { border-left-color: #000; background: #f1f3f5; }

  .live-room-number {
    font-size: 17px;
    font-weight: 800;
    color: #101B2D;
  }

  .live-room-building {
    font-size: 13px;
    color: #7a8899;
    text-transform: uppercase;
    letter-spacing: .06em;
  }

  .live-room-meta {
    margin-top: 7px;
    display: grid;
    gap: 4px;
  }

  .mini-status {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    padding: 4px 7px;
    border-radius: 999px;
    font-size: 13px;
    line-height: 1;
    font-weight: 800;
    white-space: nowrap;
  }

  .mini-status.hk { background: #eef4fb; color: #345b87; }
  .mini-status.occ { background: #f3f6fa; color: #775e25; }
  .mini-status.maint { background: #fff0f0; color: #9f3434; }

  .status-summary-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0,1fr));
    gap: 10px;
    margin-bottom: 14px;
  }

  .status-summary-card {
    padding: 13px;
    background: #fff;
    border: 1px solid #e1e8ef;
    border-radius: 12px;
  }

  .status-summary-card small {
    display: block;
    color: #69788b;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 5px;
  }

  .status-summary-card strong {
    font-size: 21px;
    color: #101B2D;
  }

  .status-filter-row {
    display: grid;
    grid-template-columns: 1fr 180px 180px 180px;
    gap: 10px;
    margin-bottom: 14px;
  }

  .status-filter-row input,
  .status-filter-row select {
    min-height: 44px;
    border: 1px solid #dce4ec;
    border-radius: 10px;
    padding: 0 12px;
    background: #fff;
    color: #101B2D;
    font: inherit;
  }

  .room-status-modal-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .room-status-identity {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 13px;
    background: #f7fafc;
    border: 1px solid #e3eaf1;
    border-radius: 12px;
    margin-bottom: 14px;
  }

  .room-status-identity .room-big {
    width: 54px;
    height: 54px;
    border-radius: 12px;
    background: #102A47;
    color: #fff;
    display: grid;
    place-items: center;
    font-weight: 800;
    font-size: 18px;
  }

  @media (max-width: 1200px) {
    .room-status-board { grid-template-columns: repeat(6, minmax(0,1fr)); }
    .status-summary-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  }

  @media (max-width: 768px) {
    .room-status-board { grid-template-columns: repeat(3, minmax(0,1fr)); padding: 12px; }
    .status-summary-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .status-filter-row { grid-template-columns: 1fr 1fr; }
    .room-status-modal-grid { grid-template-columns: 1fr; }
  }

  @media (max-width: 390px) {
    .room-status-board { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .status-filter-row { grid-template-columns: 1fr; }
  }

  /* Front desk handover */
  .handoff-toolbar {
    display: grid;
    grid-template-columns: 1fr 190px 190px auto;
    gap: 10px;
    margin-bottom: 14px;
  }

  .handoff-toolbar input,
  .handoff-toolbar select {
    min-height: 44px;
    border: 1px solid #dce4ec;
    border-radius: 10px;
    padding: 0 12px;
    background: #fff;
    color: #101B2D;
    font: inherit;
  }

  .handoff-list {
    display: grid;
    gap: 12px;
  }

  .handoff-card {
    background: #fff;
    border: 1px solid #e1e8ef;
    border-left: 5px solid #B08D57;
    border-radius: 14px;
    padding: 16px;
    box-shadow: 0 8px 22px rgba(7,22,37,.05);
  }

  .handoff-card.completed { border-left-color: #0f7a5b; }

  .handoff-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
  }

  .handoff-shift {
    font-size: 17px;
    font-weight: 800;
    color: #101B2D;
  }

  .handoff-meta {
    font-size: 13px;
    color: #657489;
    margin-top: 3px;
  }

  .handoff-status {
    padding: 6px 9px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    background: #fff4dd;
    color: #906313;
  }

  .handoff-status.completed {
    background: #e8f7f1;
    color: #0f7a5b;
  }

  .handoff-sections {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px;
  }

  .handoff-section {
    background: #f8fafc;
    border: 1px solid #e6ecf2;
    border-radius: 10px;
    padding: 11px;
  }

  .handoff-section small {
    display: block;
    color: #68788a;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 5px;
  }

  .handoff-section p {
    margin: 0;
    color: #26384c;
    font-size: 13px;
    line-height: 1.45;
    white-space: pre-wrap;
  }

  .handoff-actions {
    display: flex;
    gap: 8px;
    margin-top: 12px;
    flex-wrap: wrap;
  }

  @media (max-width: 768px) {
    .handoff-toolbar { grid-template-columns: 1fr; }
    .handoff-sections { grid-template-columns: 1fr; }
  }

  /* Downloadable report center */
  .report-controls {
    display: grid;
    grid-template-columns: 180px 210px 1fr auto;
    gap: 10px;
    align-items: center;
    margin-bottom: 16px;
  }

  .report-controls input,
  .report-controls select {
    min-height: 44px;
    border: 1px solid #dce4ec;
    border-radius: 10px;
    padding: 0 12px;
    background: #fff;
    color: #101B2D;
    font: inherit;
  }

  .report-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 16px;
  }

  .report-card {
    background: #fff;
    border: 1px solid #e1e8ef;
    border-radius: 16px;
    padding: 18px;
    box-shadow: 0 10px 26px rgba(7,22,37,.06);
  }

  .report-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: #f5ecd6;
    color: #86641f;
    font-size: 23px;
    margin-bottom: 13px;
  }

  .report-card h3 {
    margin: 0 0 6px;
    color: #101B2D;
    font-size: 18px;
  }

  .report-card p {
    margin: 0 0 14px;
    color: #657489;
    font-size: 13px;
    line-height: 1.45;
  }

  .report-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 8px;
    margin-bottom: 14px;
  }

  .report-stat {
    background: #f7fafc;
    border: 1px solid #e6ecf2;
    border-radius: 10px;
    padding: 10px;
  }

  .report-stat small {
    display: block;
    color: #758398;
    text-transform: uppercase;
    letter-spacing: .05em;
    font-size: 13px;
    margin-bottom: 4px;
  }

  .report-stat strong {
    color: #101B2D;
    font-size: 18px;
  }

  .report-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .report-note {
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 12px;
    background: #f7fafc;
    border: 1px solid #e5ebf1;
    color: #526174;
    font-size: 13px;
    line-height: 1.45;
  }

  @media (max-width: 980px) {
    .report-grid { grid-template-columns: 1fr; }
  }

  @media (max-width: 768px) {
    .report-controls { grid-template-columns: 1fr; }
    .report-actions { grid-template-columns: 1fr; }
  }

  /* Staff management */
  .staff-toolbar {
    display: grid;
    grid-template-columns: 1fr 210px 210px auto;
    gap: 10px;
    margin-bottom: 16px;
  }

  .staff-toolbar input,
  .staff-toolbar select {
    min-height: 44px;
    border: 1px solid #dce4ec;
    border-radius: 10px;
    padding: 0 12px;
    background: #fff;
    color: #101B2D;
    font: inherit;
  }

  .staff-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 14px;
  }

  .staff-card {
    background: #fff;
    border: 1px solid #e1e8ef;
    border-radius: 15px;
    padding: 16px;
    box-shadow: 0 9px 24px rgba(7,22,37,.06);
  }

  .staff-card.inactive {
    opacity: .72;
    background: #f7f8fa;
  }

  .staff-card-head {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: flex-start;
  }

  .staff-avatar {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(145deg,#102A47,#173e62);
    color: #fff;
    display: grid;
    place-items: center;
    font-weight: 800;
    font-size: 15px;
  }

  .staff-name {
    font-size: 16px;
    font-weight: 800;
    color: #101B2D;
  }

  .staff-email {
    color: #657489;
    font-size: 13px;
    overflow-wrap: anywhere;
    margin-top: 3px;
  }

  .staff-role {
    display: inline-flex;
    margin-top: 9px;
    padding: 6px 9px;
    border-radius: 999px;
    background: #eef4fb;
    color: #345b87;
    font-size: 13px;
    font-weight: 800;
  }

  .staff-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 8px;
    border-radius: 999px;
    background: #e8f7f1;
    color: #0f7a5b;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
  }

  .staff-status.inactive {
    background: #eef0f3;
    color: #667085;
  }

  .staff-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 14px;
  }

  .password-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
  }

  .staff-summary-grid {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 10px;
    margin-bottom: 14px;
  }

  .staff-summary {
    background: #fff;
    border: 1px solid #e1e8ef;
    border-radius: 12px;
    padding: 12px;
  }

  .staff-summary small {
    display:block;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:#76869a;
    margin-bottom:4px;
  }

  .staff-summary strong {
    color:#101B2D;
    font-size:20px;
  }

  @media (max-width: 1050px) {
    .staff-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .staff-summary-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  }

  @media (max-width: 768px) {
    .staff-toolbar { grid-template-columns: 1fr; }
    .staff-grid { grid-template-columns: 1fr; }
    .staff-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .staff-actions { grid-template-columns: 1fr; }
  }

  /* PWA install + connectivity */
  body {
    padding-top: env(safe-area-inset-top);
    padding-right: env(safe-area-inset-right);
    padding-bottom: env(safe-area-inset-bottom);
    padding-left: env(safe-area-inset-left);
  }

  .offline-banner {
    position: fixed;
    top: max(8px, env(safe-area-inset-top));
    left: 50%;
    transform: translateX(-50%);
    z-index: 3000;
    display: none;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: #8f1d1d;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 10px 30px rgba(0,0,0,.25);
  }

  .offline-banner.show { display: flex; }

  .install-app-btn {
    width: 100%;
    border: 1px solid rgba(202,164,80,.65);
    border-radius: 9px;
    background: rgba(202,164,80,.12);
    color: #f1d48e;
    padding: 9px 11px;
    font-weight: 700;
    cursor: pointer;
    margin-bottom: 8px;
    display: none;
  }

  .install-app-btn.show { display: inline-flex; justify-content:center; align-items:center; gap:7px; }

  .auth-install-btn {
    width: 100%;
    margin-top: 12px;
    padding: 11px 14px;
    border: 1px solid #caa450;
    border-radius: 10px;
    background: #fff8e8;
    color: #17324c;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    display: none;
  }

  .auth-install-btn.show { display:block; }

  .pwa-help {
    font-size: 13px;
    color: #5f6e7d;
    line-height: 1.5;
    margin-top: 8px;
  }

  @media (display-mode: standalone) {
    .install-app-btn, .auth-install-btn { display:none !important; }
  }

  /* Hotel USA multi-property branding */
  .property-switcher {
    padding: 12px 14px;
    border-bottom: 1px solid rgba(255,255,255,.10);
  }

  .property-switcher label {
    display: block;
    color: rgba(255,255,255,.55);
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 6px;
  }

  .property-switcher select {
    width: 100%;
    min-height: 38px;
    border-radius: 9px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.08);
    color: #fff;
    padding: 0 9px;
    font-size: 13px;
    font-weight: 700;
  }

  .property-switcher select option {
    color: #101B2D;
    background: #fff;
  }

  .property-address {
    margin-top: 6px;
    color: rgba(255,255,255,.58);
    font-size: 13px;
    line-height: 1.3;
  }

  .org-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #f4ead2;
    color: #7d5e22;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 7px;
  }

  .property-name-line {
    color: #526174;
    font-size: 13px;
    margin-top: 3px;
  }

  @media (max-width: 768px) {
    .property-switcher {
      display: none;
    }
  }

  /* Mobile refinement: comfortable navigation and compact install sheet */
  @media (max-width: 768px) {
    body {
      padding-bottom: calc(82px + env(safe-area-inset-bottom));
    }

    .sidebar {
      height: calc(76px + env(safe-area-inset-bottom));
      justify-content: flex-start;
      gap: 4px;
      padding: 7px 8px calc(7px + env(safe-area-inset-bottom));
      overflow-x: auto;
      overflow-y: hidden;
      scroll-snap-type: x proximity;
      scrollbar-width: none;
      -webkit-overflow-scrolling: touch;
    }

    .sidebar::-webkit-scrollbar {
      display: none;
    }

    .nav-item {
      flex: 0 0 76px;
      width: 76px;
      height: 60px;
      margin: 0;
      padding: 7px 4px;
      scroll-snap-align: start;
      border-radius: 12px;
      font-size: 13px;
      line-height: 1.1;
      white-space: nowrap;
    }

    .nav-item i {
      font-size: 21px;
    }

    .nav-item.active {
      box-shadow: inset 0 3px 0 #B08D57;
    }

    .page-header {
      padding: 13px 14px;
    }

    .org-badge {
      font-size: 13px;
      padding: 5px 9px;
      margin-bottom: 5px;
    }

    .page-title {
      font-size: clamp(21px, 6vw, 27px);
    }

    .property-name-line {
      font-size: 13px;
      line-height: 1.35;
    }

    .metric-card {
      padding: 13px 12px;
    }

    #pwa-install-modal .modal {
      max-height: min(74vh, 520px);
    }

    #pwa-install-modal .modal-header {
      padding: 13px 16px;
    }

    #pwa-install-modal .modal-title {
      font-size: 16px;
    }

    #pwa-install-modal .modal-body {
      padding: 14px 16px 10px;
    }

    #pwa-install-modal .pwa-help {
      font-size: 14px;
      line-height: 1.65;
    }

    #pwa-install-modal .modal-footer {
      grid-template-columns: 1fr;
      padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
    }
  }

  @media (max-width: 430px) {
    .main {
      padding-left: 8px;
      padding-right: 8px;
    }

    .page-header {
      margin-left: -8px;
      margin-right: -8px;
    }

    .metrics-grid {
      grid-template-columns: 1fr;
      gap: 9px;
    }

    .metric-card {
      min-height: 92px;
    }

    .date-nav {
      grid-template-columns: 1fr;
    }

    .date-nav .btn {
      width: 100%;
    }
  }

  /* Mobile selected-property bar */
  .mobile-property-bar {
    display: none;
  }

  @media (max-width: 768px) {
    .mobile-property-bar {
      position: sticky;
      top: 0;
      z-index: 90;
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(130px, 43%);
      align-items: center;
      gap: 10px;
      margin: 0 -8px 10px;
      padding: 9px 10px;
      background: rgba(5, 25, 43, 0.97);
      border-bottom: 1px solid rgba(202, 164, 80, 0.48);
      box-shadow: 0 7px 22px rgba(0, 0, 0, 0.18);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
    }

    .mobile-property-copy {
      min-width: 0;
    }

    .mobile-property-bar small {
      display: block;
      margin-bottom: 2px;
      color: rgba(255, 255, 255, 0.58);
      font-size: 13px;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .mobile-property-bar strong {
      display: block;
      overflow: hidden;
      color: #fff;
      font-size: 13px;
      line-height: 1.25;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .mobile-property-bar select {
      width: 100%;
      min-height: 36px;
      padding: 0 8px;
      border: 1px solid rgba(255, 255, 255, 0.22);
      border-radius: 9px;
      background: rgba(255, 255, 255, 0.10);
      color: #fff;
      font-size: 13px;
      font-weight: 800;
    }

    .mobile-property-bar select option {
      background: #fff;
      color: #101B2D;
    }
  }

  /* Activity History */
  .activity-toolbar {
    display: grid;
    grid-template-columns: minmax(200px,1fr) 190px 170px auto;
    gap: 10px;
    margin-bottom: 14px;
  }
  .activity-list { display: grid; gap: 9px; padding: 14px; }
  .activity-row {
    display: grid;
    grid-template-columns: 42px 1fr auto;
    gap: 12px;
    align-items: start;
    padding: 13px 14px;
    border: 1px solid var(--border);
    border-radius: 13px;
    background: #fff;
  }
  .activity-icon {
    width: 42px; height: 42px; border-radius: 12px;
    display: grid; place-items: center;
    background: #eaf0f6; color: #12385c; font-size: 20px;
  }
  .activity-row strong { font-size: 13px; }
  .activity-row p {
    margin: 4px 0 0; color: #667487; font-size: 13px; line-height: 1.45;
  }
  .activity-time { color: #7b8795; font-size: 13px; white-space: nowrap; }

  @media (max-width: 768px) {
    .activity-toolbar { grid-template-columns: 1fr; }
    .activity-row { grid-template-columns: 36px 1fr; }
    .activity-icon { width: 36px; height: 36px; font-size: 17px; }
    .activity-time { grid-column: 2; white-space: normal; }
  }


.table-status-select {
  min-width: 112px;
  padding: 7px 9px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  color: var(--text);
  font-size: 13px;
  font-weight: 700;
}

  .morning-assignment-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .morning-housekeeper-card { min-width:0; }
  .morning-assignment-table td { vertical-align:top; }
  .print-checkbox { font-size:23px; line-height:1; }
  @media (max-width: 1050px) { .morning-assignment-grid { grid-template-columns:1fr; } }


  .data-table .action-cell .btn, .data-table .action-cell select { margin:2px; }
  @media print { .header-actions, .sidebar, .mobile-property-bar { display:none !important; } }

  /* V2 executive dashboard */
  .ops-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
  .ops-summary-card{background:#fff;border:1px solid rgba(7,22,37,.08);border-radius:16px;padding:15px 16px;box-shadow:0 8px 24px rgba(13,42,74,.05);display:flex;align-items:center;justify-content:space-between;gap:12px}
  .ops-summary-card .kicker{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#66758a;font-weight:800}
  .ops-summary-card .value{font-size:26px;font-weight:800;color:#101B2D;margin-top:3px}
  .ops-summary-card .icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#eef4fa;color:#0B1B2E;font-size:21px}
  .live-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#e8f7f1;color:#0f6e56;font-size:13px;font-weight:800}
  .reservation-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
  .reservation-list{padding:6px 16px 14px}
  .reservation-row{display:grid;grid-template-columns:minmax(0,1.3fr) .8fr .7fr;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #e8edf2}
  .reservation-row:last-child{border-bottom:0}.reservation-name{font-weight:750;color:#101B2D}.reservation-meta{font-size:13px;color:#66758a;margin-top:2px}.room-chip{justify-self:start;padding:4px 8px;border-radius:999px;background:#eef4fa;color:#0B1B2E;font-size:13px;font-weight:800}.status-chip{justify-self:end;padding:4px 8px;border-radius:999px;background:#f7f0df;color:#8a641d;font-size:13px;font-weight:800}
  .dashboard-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sync-time{font-size:13px;color:#66758a}
  @media(max-width:1100px){.ops-summary-grid{grid-template-columns:repeat(2,1fr)}.reservation-grid{grid-template-columns:1fr}}
  @media(max-width:620px){.ops-summary-grid{grid-template-columns:1fr 1fr}.ops-summary-card{padding:12px}.ops-summary-card .value{font-size:22px}.reservation-row{grid-template-columns:1fr auto}.reservation-row .status-chip{display:none}}


  /* V3 live room command center */
  .room-tile { position:relative; border-left:4px solid #94a3b8; }
  .room-tile.map-ready { border-left-color:#0f7a5b; background:linear-gradient(180deg,#fff,#f1fbf7); }
  .room-tile.map-occupied { border-left-color:#2563a6; background:linear-gradient(180deg,#fff,#f2f7fd); }
  .room-tile.map-dueout { border-left-color:#d49227; background:linear-gradient(180deg,#fff,#fff8eb); }
  .room-tile.map-dirty { border-left-color:#c23d3d; background:linear-gradient(180deg,#fff,#fff3f3); }
  .room-tile.map-cleaning { border-left-color:#7c5ac7; background:linear-gradient(180deg,#fff,#f7f3ff); }
  .room-tile.map-maintenance { border-left-color:#111827; background:linear-gradient(180deg,#fff,#f0f1f3); }
  .room-live-pill { display:inline-flex; margin-top:8px; padding:3px 8px; border-radius:999px; background:rgba(7,22,37,.07); color:#0B1B2E; font-size:13px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }
  .room-tile.map-maintenance .room-live-pill { background:#111827; color:#fff; }


  /* V4 operational workflow */
  .workflow-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;font-size:13px;font-weight:800;white-space:nowrap}
  .workflow-dueout{background:#fff3cd;color:#7a4d00;border:1px solid #f0cf72}
  .workflow-checkedout{background:#e6f7ef;color:#0f6e56;border:1px solid #9fe1cb}
  .workflow-dirty{background:#fce8e8;color:#a32d2d;border:1px solid #f0b3b3}
  .workflow-cleaning{background:#eeeafe;color:#534ab7;border:1px solid #c8c0f5}
  .workflow-ready{background:#e7f6ee;color:#0f6e56;border:1px solid #9fe1cb}
  .workflow-ooo{background:#202936;color:#fff;border:1px solid #111827}
  .maintenance-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:12px;margin-bottom:14px}
  .maintenance-alert{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 15px;border-bottom:1px solid #e7edf3;background:#fff}
  .maintenance-alert.ooo{background:linear-gradient(90deg,#fff4f4,#fff)}
  .maintenance-alert .meta{font-size:13px;color:#5d6b7d;margin-top:3px}
  .hk-operational-note{padding:10px 14px;background:#fff9e8;border:1px solid #f0d998;border-radius:12px;color:#6d4b00;font-size:13px;margin-bottom:12px}

/* V7 Expenses */
.expense-tabs{display:flex;gap:7px;padding:6px;background:#eaf0f3;border-radius:14px;width:max-content;margin-bottom:16px}.expense-tabs button{border:0;background:transparent;padding:10px 16px;border-radius:10px;font-weight:800;color:#5b6c79;cursor:pointer}.expense-tabs button.active{background:#fff;color:#123046;box-shadow:0 3px 10px rgba(16,36,58,.08)}
.finance-section-select{min-width:230px;padding:11px 38px 11px 13px;border:1px solid var(--border-med);border-radius:12px;background:#fff;font-weight:800;color:#163347;box-shadow:0 4px 14px rgba(17,40,60,.06)}
.nav-group-toggle{width:calc(100% - 20px);margin:6px 10px 3px;padding:8px 10px;border:0;background:transparent;color:rgba(255,255,255,.52);display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;letter-spacing:.1em;font-size:13px;font-weight:800;cursor:pointer}.nav-group-toggle:hover{color:#fff}.nav-group-toggle i{transition:transform .2s ease}.nav-group-toggle.collapsed i{transform:rotate(-90deg)}.nav-group-items.collapsed{display:none}.file-choice-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.file-choice{border:1px dashed var(--border-med);border-radius:12px;padding:10px;background:var(--surface2)}.file-choice label{display:flex;align-items:center;gap:7px;font-weight:800;margin-bottom:7px}.preset-note{font-size:13px;color:var(--text-muted);margin-top:5px}
.expense-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px}.expense-kpis>div{background:#fff;border:1px solid #e1e8ec;border-radius:17px;padding:17px}.expense-kpis small{display:block;color:#6e7f8d;text-transform:uppercase;letter-spacing:.09em;font-weight:800;font-size:13px}.expense-kpis strong{display:block;margin-top:7px;font-size:25px;color:#102b3d}.expense-kpis .small-strong{font-size:17px}
.expense-toolbar{display:grid;grid-template-columns:1fr 250px auto;gap:10px;margin-bottom:13px}.expense-toolbar input,.expense-toolbar select{border:1px solid #d9e2e7;border-radius:12px;padding:11px;background:#fff}.expense-table-wrap{overflow:auto}.expense-desc{font-size:13px;color:#70808c;margin-top:3px;max-width:320px}.expense-status{padding:5px 9px;border-radius:999px;font-size:13px;font-weight:800;background:#eef3f5}.expense-status.paid{background:#dff4ee;color:#128572}.expense-status.pending{background:#fff1cd;color:#805a14}.expense-status.disputed{background:#fee5e1;color:#9b2c21}.receipt-link{color:#128572;font-weight:800;text-decoration:none}.field-help{color:#6b7d89;margin-top:5px}.expense-page-actions{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #e1e8ec;border-radius:16px;padding:16px;margin-bottom:14px}.expense-page-actions strong{font-size:25px}.bill-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.bill-card{background:#fff;border:1px solid #e1e8ec;border-radius:17px;padding:17px}.bill-card.inactive{opacity:.58}.bill-card-head{display:flex;justify-content:space-between;gap:10px}.bill-card small{color:#6c7c88}.bill-card h3{margin:4px 0 13px}.bill-card>strong{font-size:25px}.bill-due{background:#edf3f6;border-radius:999px;padding:5px 9px;height:max-content;font-size:13px;font-weight:800}.bill-meta{margin-top:8px;color:#697b88;font-size:13px}.bill-actions{display:flex;gap:7px;margin-top:15px}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.summary-list{padding:8px 18px 18px}.summary-list>div{display:flex;justify-content:space-between;border-bottom:1px solid #edf1f3;padding:12px 0}.summary-list small{color:#7a8994}.expense-modal-card{max-width:760px}
@media(max-width:900px){.expense-kpis{grid-template-columns:1fr 1fr}.bill-grid{grid-template-columns:1fr 1fr}.summary-grid{grid-template-columns:1fr}.expense-toolbar{grid-template-columns:1fr}}
@media(max-width:560px){.expense-kpis,.bill-grid{grid-template-columns:1fr}.expense-tabs{width:100%;overflow:auto}.expense-tabs button{white-space:nowrap}.expense-page-actions{align-items:flex-start;gap:12px;flex-direction:column}}

/* V8 Financial Center */
.finance-close-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:15px}.finance-kpi{background:#fff;border:1px solid #dfe7eb;border-radius:18px;padding:17px}.finance-kpi small{display:block;color:#738390;font-size:13px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.finance-kpi strong{display:block;color:#102c3c;font-size:25px;margin-top:7px}.finance-kpi.positive strong{color:#0b756a}.finance-kpi.warning strong{color:#a46210}.finance-workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px}.finance-checklist{display:grid;gap:9px;padding:16px}.finance-check{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid #e3eaee;background:#f8fafb;border-radius:13px;padding:12px}.finance-check.ready{border-color:#bce5d9;background:#effaf6}.finance-check.pending{border-color:#f0d69b;background:#fff9e9}.finance-check strong{display:block}.finance-check small{color:#6c7d88}.finance-status-pill{padding:6px 10px;border-radius:999px;font-size:13px;font-weight:900;background:#e7eef2}.finance-check.ready .finance-status-pill{background:#d7f3e9;color:#0d6c61}.finance-check.pending .finance-status-pill{background:#ffefc3;color:#815b13}.manager-note{width:100%;min-height:210px;border:1px solid #d9e3e8;border-radius:14px;padding:14px;resize:vertical;font:inherit}.invoice-type{display:inline-flex;padding:5px 9px;border-radius:999px;background:#edf3f6;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.invoice-type.ota{background:#ede9fe;color:#5b3bb0}.invoice-type.payroll{background:#e1f3eb;color:#12685e}.doc-actions{display:flex;gap:7px;flex-wrap:wrap}.month-close-actions{display:flex;gap:9px;flex-wrap:wrap;padding:15px;border-top:1px solid #e8eef1}.finance-table-scroll{overflow:auto}.finance-table-scroll table{min-width:1050px}.report-preview{padding:22px}.report-preview h2{margin:0 0 5px}.report-preview h3{margin-top:22px}.report-preview .report-line{display:flex;justify-content:space-between;border-bottom:1px solid #e7ecef;padding:9px 0}.attachment-count{font-size:13px;color:#687a87}.financial-upload{border:1px dashed #aebdc6;background:#f7fafb;border-radius:14px;padding:13px}
@media(max-width:1050px){.finance-close-grid{grid-template-columns:1fr 1fr}.finance-workspace{grid-template-columns:1fr}}
@media(max-width:600px){.finance-close-grid{grid-template-columns:1fr}.doc-actions .btn{width:100%}}


/* V36 cash drawer shift workflow */
.fd-shift-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start;margin:4px 0 22px}.fd-shift-grid label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:800;color:#40566d}.fd-shift-grid input,.fd-shift-grid select{width:100%;height:52px;border:1px solid #d4e0eb;border-radius:12px;background:#fff;padding:0 14px;font-size:16px;color:#10233d}.fd-shift-grid small{font-size:12px;font-weight:500;color:#74879b}.money-input{display:flex;align-items:center;height:52px;border:1px solid #d4e0eb;border-radius:12px;background:#fff;overflow:hidden}.money-input span{padding-left:14px;font-weight:800;color:#52677c}.money-input input{border:0!important;box-shadow:none!important}.fd-active-shift-banner{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 28px 8px;padding:16px;border:1px solid #cfe0ef;border-radius:14px;background:#f3f8fc}.fd-active-shift-banner div{display:flex;flex-direction:column;gap:5px}.fd-active-shift-banner span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#6a7e92;font-weight:800}.fd-active-shift-banner strong{font-size:18px}.fd-shift-explanation{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:14px 16px;border-radius:12px;background:#f6f9fc;color:#536a80}.fd-shift-explanation i{font-size:22px}.fd-shift-explanation div{display:flex;flex-direction:column;gap:4px}.fd-shift-explanation strong{color:#173553}.fd-manager-shift-list article{font-size:14px}.fd-manager-shift-list article strong,.fd-manager-shift-list article b{font-size:16px}.fd-manager-shift-list .fd-shift-money{align-items:flex-end}.fd-reference-close-form{padding:28px}.fd-reference-notes{display:block;margin-top:8px}.fd-reference-notes textarea{min-height:118px}.fd-reference-close-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding-top:20px;border-top:1px solid #e4ebf2}.fd-reference-close-footer div{display:flex;flex-direction:column;gap:4px}.fd-reference-close-footer span{color:#6c8094}.fd-reference-close-footer strong{font-size:20px}.fd-reference-close-footer button{min-height:48px;padding:0 22px;border:0;border-radius:12px;background:#1767c9;color:#fff;font-size:15px;font-weight:850}@media(max-width:900px){.fd-shift-grid{grid-template-columns:1fr}.fd-active-shift-banner{grid-template-columns:1fr 1fr}.fd-reference-close-footer{align-items:stretch;flex-direction:column}.fd-reference-close-footer button{width:100%}}@media(max-width:560px){.fd-active-shift-banner{grid-template-columns:1fr;margin:0 14px 8px}.fd-reference-close-form{padding:18px 14px}.fd-manager-shift-list .fd-shift-money{align-items:flex-start}}

/* V88.4 consolidated finance modal polish */
.expense-smart-modal{width:min(1040px,calc(100vw - 28px))}
.expense-smart-modal .finance-modal-section .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.expense-smart-modal textarea{min-height:94px}
.finance-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.finance-upload-card{border:1px dashed #b7c6d4;border-radius:15px;background:#f9fbfd;padding:14px;min-width:0}
.finance-upload-card>label{display:flex;align-items:center;gap:8px;color:#425972;font-weight:800;margin-bottom:10px}
.finance-upload-card input[type=file]{width:100%;max-width:100%}
@media(max-width:820px){.expense-smart-modal .finance-modal-section .form-grid{grid-template-columns:1fr 1fr}.finance-upload-grid{grid-template-columns:1fr}}
@media(max-width:560px){.expense-smart-modal .finance-modal-section .form-grid{grid-template-columns:1fr}.expense-smart-modal{width:calc(100vw - 14px);max-height:calc(100vh - 14px)}}


/* V88.12 Hotel Tax & Revenue Audit Report */
.tax-report-shell{display:grid;gap:18px}.tax-report-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;flex-wrap:wrap}.tax-report-toolbar .controls{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.tax-report-toolbar label{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#667d93;margin-bottom:6px}.tax-report-toolbar select,.tax-report-toolbar input{min-height:44px;border:1px solid #d8e2ec;border-radius:12px;padding:0 12px;background:#fff;color:#173550;font-weight:700}.tax-source-banner{display:flex;gap:12px;align-items:flex-start;border:1px solid #cfe0f2;background:#f5f9fd;border-radius:14px;padding:14px 16px;color:#46647f}.tax-source-banner i{font-size:21px;color:#1765c0}.tax-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tax-kpi{border:1px solid #dce6ef;border-radius:16px;background:#fff;padding:18px}.tax-kpi span{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#6e8297;margin-bottom:8px}.tax-kpi strong{font-size:27px;color:#102a43}.tax-kpi.tax strong{color:#1765c0}.tax-kpi.total strong{color:#138257}.tax-report-card{border:1px solid #dce6ef;border-radius:18px;background:#fff;overflow:hidden}.tax-report-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:18px 20px;border-bottom:1px solid #e6edf3}.tax-report-card>header h2{margin:0;color:#15324d;font-size:19px}.tax-report-card>header p{margin:4px 0 0;color:#718397;font-size:13px}.tax-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.tax-report-field{padding:15px 20px;border-bottom:1px solid #edf2f6}.tax-report-field:nth-child(odd){border-right:1px solid #edf2f6}.tax-report-field label{display:block;color:#667d93;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:7px}.tax-report-field input,.tax-report-field select,.tax-report-field textarea{width:100%;min-height:44px;border:1px solid #d8e2ec;border-radius:11px;padding:9px 11px;background:#fff;color:#173550;font:inherit}.tax-report-field textarea{min-height:86px;resize:vertical}.tax-report-field.wide{grid-column:1/-1;border-right:0}.tax-report-field small{display:block;color:#8191a1;margin-top:6px;line-height:1.4}.tax-reconcile{padding:18px 20px;background:#fbfcfe;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tax-reconcile article{border:1px solid #e0e7ef;background:#fff;border-radius:14px;padding:14px}.tax-reconcile span{display:block;font-size:10px;text-transform:uppercase;font-weight:800;color:#74879a}.tax-reconcile strong{display:block;margin-top:5px;font-size:19px;color:#15324d}.tax-reconcile .balanced strong{color:#138257}.tax-reconcile .review strong{color:#b35c18}.tax-action-row{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;padding:16px 20px;border-top:1px solid #e6edf3}.tax-action-row .actions{display:flex;gap:8px;flex-wrap:wrap}.tax-filed-chip{display:inline-flex;gap:6px;align-items:center;background:#e7f7ef;color:#138257;padding:7px 10px;border-radius:999px;font-weight:800;font-size:12px}.tax-inline-note{font-size:12px;color:#718397}.tax-detail-table{width:100%;border-collapse:collapse}.tax-detail-table th,.tax-detail-table td{padding:11px 14px;border-bottom:1px solid #edf2f6;text-align:left}.tax-detail-table th{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#74879a;background:#f8fafc}.tax-detail-table td:last-child,.tax-detail-table th:last-child{text-align:right}.tax-report-empty{padding:28px;text-align:center;color:#718397}.tax-report-status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800;background:#eef3f8;color:#536b80}.tax-report-status.filed{background:#e7f7ef;color:#138257}.tax-report-status.review{background:#fff3df;color:#a86219}.tax-report-status.draft{background:#edf5ff;color:#1765c0}
@media(max-width:900px){.tax-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tax-report-grid{grid-template-columns:1fr}.tax-report-field:nth-child(odd){border-right:0}.tax-reconcile{grid-template-columns:1fr}.tax-report-toolbar{align-items:stretch}.tax-report-toolbar .controls{width:100%}}
@media(max-width:560px){.tax-kpi-grid{grid-template-columns:1fr}.tax-report-toolbar .controls>*{width:100%}.tax-report-toolbar select,.tax-report-toolbar input{width:100%}}

/* V88.12 simplified Cloudbeds-style audit report */
.tax-audit-wrap{border:1px solid #d7dde4;background:#fff;border-radius:14px;overflow:hidden}
.tax-audit-title{background:#333;color:#fff;text-align:center;font-weight:800;padding:10px 14px;font-size:15px}
.tax-audit-subtitle{background:#f7f7f7;color:#5c6873;text-align:center;padding:8px 14px;border-bottom:1px solid #ddd;font-size:12px}
.tax-audit-table{width:100%;border-collapse:collapse;font-size:14px}
.tax-audit-table th{background:#969696;color:#fff;font-weight:800;padding:10px 12px;text-align:center}
.tax-audit-table th:first-child{text-align:left}
.tax-audit-table td{padding:10px 12px;border-bottom:1px solid #eee}
.tax-audit-table tr:nth-child(odd) td{background:#f6f6f6}
.tax-audit-table td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}
.tax-audit-table .audit-total td{font-weight:900;background:#ececec!important;border-top:2px solid #999}
.tax-audit-table .audit-tax td{font-weight:900;color:#0f5b45}
.tax-audit-note{padding:12px 14px;color:#6b7785;font-size:12px;background:#fafafa;border-top:1px solid #e5e7eb}
.tax-edit-panel{border:1px solid #dce6ef;border-radius:14px;background:#fff;padding:16px 18px}
.tax-edit-panel h3{margin:0 0 4px;color:#15324d;font-size:17px}.tax-edit-panel p{margin:0 0 14px;color:#718397;font-size:13px}
.tax-filing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.tax-filing-grid .tax-report-field{padding:0;border:0}.tax-filing-grid .wide{grid-column:1/-1}
@media(max-width:900px){.tax-filing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.tax-filing-grid{grid-template-columns:1fr}.tax-audit-table{font-size:12px}.tax-audit-table th,.tax-audit-table td{padding:8px}}

/* ==== 02-v6-command-center-theme.css ==== */
  :root{
    --v6-ink:#101B2D;--v6-slate:#64748B;--v6-canvas:#F5F7FA;--v6-teal:#128572;
    --v6-teal-soft:#E7F5F1;--v6-blue-soft:#EAF1FB;--v6-amber:#b7791f;
    --v6-amber-soft:#FDF3E1;--v6-red:#B93939;--v6-red-soft:#FBEAEA;
  }
  body{background:var(--v6-canvas);color:var(--v6-ink)}
  .main-content{background:linear-gradient(180deg,#f8fafb 0,#f3f6f7 100%)}
  .page-header,.section-card,.metric-card,.ops-summary-card{box-shadow:0 8px 30px rgba(16,36,58,.055)}
  .executive-banner{background:linear-gradient(120deg,#102b43,#173f5f);border:1px solid rgba(255,255,255,.08);box-shadow:0 14px 34px rgba(16,36,58,.16)}
  .ops-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
  .ops-summary-card{border:1px solid #e4eaee;border-radius:18px;padding:17px;background:rgba(255,255,255,.96);min-height:108px;transition:transform .18s ease,box-shadow .18s ease}
  .ops-summary-card:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(16,36,58,.09)}
  .ops-summary-card .kicker{font-size:13px;letter-spacing:.13em;color:#64778a}
  .ops-summary-card .value{font-size:29px;letter-spacing:-.04em;color:var(--v6-ink)}
  .ops-summary-card .live-value{font-size:19px;color:var(--v6-teal)}
  .ops-summary-card .icon{background:var(--v6-blue-soft);color:#254e70;border-radius:14px}
  .ops-summary-card .icon.success{background:var(--v6-teal-soft);color:var(--v6-teal)}
  .ops-summary-card .icon.warning{background:var(--v6-amber-soft);color:var(--v6-amber)}
  .attention-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:-4px 0 18px}
  .attention-item{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:13px;border:1px solid #e2e8ec;background:#fff;color:var(--v6-ink);font:inherit;text-align:left;cursor:pointer}
  .attention-item i{font-size:18px}.attention-item strong{font-size:16px;margin-right:3px}
  .attention-item.needs-action{background:var(--v6-amber-soft);border-color:#f0d38d;color:#785113}
  .attention-item.watch{background:#fff9eb;border-color:#f2ddb0;color:#785113}
  .attention-item.critical{background:var(--v6-red-soft);border-color:#f2c3bd;color:#8d2118}
  .attention-item.clear{background:var(--v6-teal-soft);border-color:#c6e6df;color:#128572}
  .metrics-grid{gap:12px}.metric-card{border-radius:17px;border-color:#e3e9ed;padding:17px}
  .reservation-grid{gap:14px}.section-card{border-radius:18px;border:1px solid #e3e9ed;overflow:hidden}
  .section-header{background:#fbfcfc}.reservation-list{padding:0 16px 5px}
  .reservation-row{padding:14px 3px;transition:background .15s ease}.reservation-row:hover{background:#f7fafb}
  .reservation-name{font-size:14px}.reservation-meta{font-size:13px;color:#687b8e}
  .room-chip{background:#edf3f8;color:#173c5b}.room-chip.needs-room{background:var(--v6-amber-soft);color:#7b5516;border:1px solid #efd184}
  .arrival-chip,.workflow-chip{justify-self:end;display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:13px;font-weight:800;white-space:nowrap}
  .arrival-checkedin{background:var(--v6-teal-soft);color:#128572}.arrival-expected{background:#eef3f8;color:#314f68}.arrival-noshow{background:var(--v6-red-soft);color:#9b2c21}
  .workflow-dueout{background:var(--v6-amber-soft);color:#7b5516;border:1px solid #efcf79}.workflow-checkedout{background:var(--v6-teal-soft);color:#128572;border:1px solid #b8dfd6}
  .btn{border-radius:11px}.live-pill{background:var(--v6-teal-soft);color:var(--v6-teal)}
  @media(max-width:1350px){.ops-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
  @media(max-width:850px){.attention-strip{grid-template-columns:1fr}.ops-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
  @media(max-width:560px){.ops-summary-grid{grid-template-columns:1fr 1fr}.reservation-row{grid-template-columns:1fr auto}.arrival-chip,.workflow-chip{grid-column:2}.attention-item{padding:10px}}

/* ==== 03-block-03.css ==== */
.inline-time-field{display:flex;gap:8px;align-items:center}.inline-time-field input{flex:1}
.pnl-lines{padding:18px}.pnl-lines>div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}
.pnl-lines .pnl-total{font-size:18px;border-top:2px solid var(--text);border-bottom:0;margin-top:8px}
.data-table .success{color:#087f5b;font-weight:800}.data-table .danger{color:#c92a2a;font-weight:800}
@media(max-width:720px){.inline-time-field{align-items:stretch;flex-direction:column}.file-choice-row{grid-template-columns:1fr}.finance-close-grid{grid-template-columns:1fr 1fr}}

/* ==== 04-v13-continuous-stay.css ==== */
.assignment-note-input{
  width:210px;min-height:60px;resize:vertical;border:1px solid #d8e0e6;
  border-radius:9px;padding:8px 9px;background:#fff;font:inherit;font-size:14px;color:#183047
}
.assignment-note-input:focus{
  outline:none;border-color:#197a74;box-shadow:0 0 0 3px rgba(25,122,116,.12)
}
.morning-assignment-table th:nth-child(6){min-width:190px}
.morning-assignment-table th:nth-child(7){min-width:225px}
.continuous-stay-note{font-size:13px;color:#647789;margin-top:3px}
@media(max-width:800px){.assignment-note-input{width:160px}}

/* ==== 05-v14-major-light-redesign.css ==== */
:root{
  --ui-bg:#F5F7FA;
  --ui-surface:#ffffff;
  --ui-surface-2:#F7F9FC;
  --ui-line:#E3E8EF;
  --ui-line-strong:#D7DEE7;
  --ui-text:#101B2D;
  --ui-muted:#64748B;
  --ui-primary:#1D5FBF;
  --ui-primary-soft:#EAF1FB;
  --ui-success:#128572;
  --ui-success-soft:#E7F5F1;
  --ui-warning:#B7791F;
  --ui-warning-soft:#FDF3E1;
  --ui-danger:#B93939;
  --ui-danger-soft:#FBEAEA;
  --ui-purple:#6D5DD3;
  --ui-purple-soft:#f0edfb;
  --ui-shadow:0 10px 30px rgba(36,55,74,.06);
  --ui-shadow-hover:0 14px 38px rgba(36,55,74,.10);
}
*{scrollbar-color:#cbd5df transparent}
body{
  background:var(--ui-bg)!important;
  color:var(--ui-text)!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
.app-shell{background:var(--ui-bg)!important}
.sidebar{
  width:248px!important;
  background:#ffffff!important;
  border-right:1px solid var(--ui-line)!important;
  box-shadow:none!important;
  color:var(--ui-text)!important;
  padding-bottom:12px!important;
}
.sidebar-logo{
  padding:20px 18px 16px!important;
  border-bottom:1px solid var(--ui-line)!important;
}
.brand-lockup{gap:11px!important}
.brand-mark{
  width:40px!important;height:40px!important;
  border-radius:13px!important;
  background:linear-gradient(145deg,#eff6ff,#e5eef9)!important;
  border:1px solid #cbdced!important;
  color:#2d6da9!important;
  box-shadow:none!important;
  font-family:Georgia,serif!important;
}
.logo-name{color:#203243!important;font-size:16px!important;letter-spacing:.04em!important}
.logo-sub{color:#8b99a6!important;font-size:13px!important;letter-spacing:.12em!important}
.property-switcher{
  margin:6px 12px 10px!important;
  padding:12px!important;
  background:#f7f9fb!important;
  border:1px solid var(--ui-line)!important;
  border-radius:14px!important;
}
.property-switcher label,.nav-section-title,.date-label{color:#8a98a5!important}
.property-switcher select{
  background:#fff!important;color:var(--ui-text)!important;
  border:1px solid var(--ui-line-strong)!important;
  border-radius:10px!important;
}
.property-address{color:#80909f!important}
.sidebar-date{
  margin:0 12px 8px!important;padding:10px 12px!important;
  border:0!important;background:#fbfcfd!important;border-radius:12px!important;
}
.date-value{color:#34495d!important}
.nav-section-title{padding:13px 18px 6px!important;font-size:13px!important}
.nav-item,.nav-group-toggle{
  margin:3px 10px!important;
  min-height:42px!important;
  border-radius:11px!important;
  color:#506172!important;
  font-weight:650!important;
  transition:.16s ease!important;
}
.nav-item i{color:#8495a5!important}
.nav-item:hover,.nav-group-toggle:hover{background:#f3f6f9!important;color:#22374a!important}
.nav-item.active{
  background:var(--ui-primary-soft)!important;
  color:#27669e!important;
  box-shadow:none!important;
  border:1px solid #d6e7f7!important;
}
.nav-item.active i{color:#3178c6!important}
.nav-group-toggle{border:0!important;background:transparent!important}
.nav-group-toggle span{font-size:13px!important;text-transform:uppercase!important;letter-spacing:.07em!important;color:#8796a4!important}
.nav-group-items{padding-left:0!important}
.sidebar-user{
  margin:10px 12px 0!important;padding:13px!important;
  background:#f7f9fb!important;border:1px solid var(--ui-line)!important;border-radius:14px!important;
}
.sidebar-user-name{color:#2b3e50!important}
.sidebar-user-role{color:#368276!important}
.install-app-btn,.logout-btn{
  border-radius:9px!important;
  border:1px solid var(--ui-line-strong)!important;
  background:#fff!important;color:#506172!important;
}
.main{
  margin-left:248px!important;
  width:calc(100% - 248px)!important;
  max-width:none!important;
  padding:22px 28px 42px!important;
  background:var(--ui-bg)!important;
}
#main-content{max-width:1560px;margin:0 auto}
.page-header{
  background:transparent!important;border:0!important;box-shadow:none!important;
  padding:8px 2px 18px!important;margin-bottom:0!important;
}
.org-badge{
  background:var(--ui-primary-soft)!important;color:#4e769a!important;
  border:0!important;border-radius:999px!important;padding:6px 10px!important;
}
.page-title{color:#182a3a!important;font-size:27px!important;letter-spacing:-.035em!important}
.property-name-line,.page-subtitle{color:var(--ui-muted)!important}
.date-nav input,.date-nav .btn{
  height:42px!important;background:#fff!important;border:1px solid var(--ui-line-strong)!important;
  border-radius:12px!important;box-shadow:none!important;color:#3a4d5e!important;
}
.date-nav .btn:hover{background:#f5f8fa!important}
.executive-banner{
  background:linear-gradient(135deg,#ffffff,#f5f9fd)!important;
  border:1px solid #dfe8f0!important;
  box-shadow:var(--ui-shadow)!important;
  color:var(--ui-text)!important;
  border-radius:20px!important;
  padding:20px 22px!important;
  margin-bottom:16px!important;
}
.executive-banner:before,.executive-banner:after{display:none!important}
.executive-banner h2{color:#203447!important;font-size:21px!important}
.executive-banner p{color:#718292!important}
.role-chip{
  background:#fff!important;color:#54718a!important;
  border:1px solid #dbe6ee!important;box-shadow:none!important;
}
.ops-summary-grid,.metrics-grid{gap:12px!important}
.ops-summary-card,.metric-card{
  background:#fff!important;
  border:1px solid var(--ui-line)!important;
  border-radius:18px!important;
  box-shadow:var(--ui-shadow)!important;
  min-height:116px!important;
  transition:transform .16s ease,box-shadow .16s ease!important;
}
.ops-summary-card:hover,.metric-card:hover{
  transform:translateY(-2px)!important;box-shadow:var(--ui-shadow-hover)!important;
}
.ops-summary-card{padding:17px!important}
.ops-summary-card .kicker,.metric-label{
  color:#7c8d9c!important;font-size:13px!important;letter-spacing:.1em!important;
}
.ops-summary-card .value,.metric-value{
  color:#203447!important;font-size:29px!important;letter-spacing:-.045em!important;
}
.metric-value.success,.ops-summary-card .live-value{color:var(--ui-success)!important}
.metric-value.danger{color:var(--ui-danger)!important}
.metric-value.accent{color:#276ea8!important}
.metric-sub{color:#8493a0!important}
.ops-summary-card .icon{
  width:38px!important;height:38px!important;border-radius:12px!important;
  background:var(--ui-primary-soft)!important;color:#4b82b2!important;
}
.ops-summary-card .icon.warning{background:var(--ui-warning-soft)!important;color:var(--ui-warning)!important}
.ops-summary-card .icon.success{background:var(--ui-success-soft)!important;color:var(--ui-success)!important}
.attention-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.attention-item{
  background:#fff!important;border:1px solid var(--ui-line)!important;
  border-radius:14px!important;color:#536576!important;padding:12px 14px!important;
  box-shadow:none!important;
}
.attention-item i{background:#f2f5f8!important;color:#789!important;border-radius:9px!important;padding:7px!important}
.attention-item.needs-action,.attention-item.watch{
  background:#f8fafc!important;border-color:#f2dfbd!important;
}
.attention-item.critical{background:#fff7f7!important;border-color:#efd0d0!important}
.section-card,.ops-accordion,.finance-kpi,.finance-workspace>div{
  background:#fff!important;border:1px solid var(--ui-line)!important;
  border-radius:18px!important;box-shadow:var(--ui-shadow)!important;
}
.section-header{background:#fff!important;border-bottom:1px solid var(--ui-line)!important}
.section-title{color:#263a4c!important}
.btn{
  border-radius:11px!important;min-height:40px!important;
  border:1px solid var(--ui-line-strong)!important;
  background:#fff!important;color:#4b6072!important;
  box-shadow:none!important;
}
.btn:hover{background:#f4f7f9!important}
.btn-primary,.finance-primary-action{
  background:#3d7db5!important;border-color:#3d7db5!important;color:#fff!important;
  box-shadow:0 5px 14px rgba(61,125,181,.18)!important;
}
.btn-primary:hover,.finance-primary-action:hover{background:#326e9f!important}
.ops-accordion-trigger{background:#fff!important}
.ops-accordion-trigger:hover{background:#fafbfd!important}
.ops-accordion-icon.arrivals{background:var(--ui-primary-soft)!important;color:#3c78aa!important}
.ops-accordion-icon.departures{background:var(--ui-warning-soft)!important;color:var(--ui-warning)!important}
.ops-table-head,.data-table thead th{background:#f8fafb!important;color:#7c8c9a!important}
.reservation-row,.data-table td{border-color:#edf0f3!important}
.room-chip{background:#eef3f7!important;color:#445d72!important}
.room-chip.needs-room,.summary-pill.amber,.workflow-dueout{
  background:var(--ui-warning-soft)!important;color:#9a6316!important;border-color:#efd18e!important;
}
.arrival-chip,.workflow-chip,.expense-status{box-shadow:none!important}
.arrival-chip.checked-in,.workflow-checkedout,.summary-pill.green{
  background:var(--ui-success-soft)!important;color:#23705e!important;border-color:#b9e2d7!important;
}
.finance-tab-track{
  background:#f0f3f6!important;border:1px solid var(--ui-line)!important;
  border-radius:14px!important;padding:5px!important;
}
.finance-tab{color:#687988!important;border-radius:10px!important}
.finance-tab.active{color:#2f6694!important;background:#fff!important;box-shadow:0 3px 10px rgba(44,64,82,.08)!important}
.finance-kpi{padding:20px!important}
.finance-kpi.positive{background:linear-gradient(145deg,#fff,#f1faf7)!important}
.modal-overlay{background:rgba(42,57,70,.24)!important;backdrop-filter:blur(7px)!important}
.modal{
  border-radius:22px!important;border:1px solid var(--ui-line)!important;
  box-shadow:0 30px 80px rgba(34,49,62,.18)!important;
}
.modal-header{background:#fff!important;border-bottom:1px solid var(--ui-line)!important}
input,select,textarea{
  border:1px solid var(--ui-line-strong)!important;border-radius:10px!important;
  background:#fff!important;color:var(--ui-text)!important;
}
input:focus,select:focus,textarea:focus{
  border-color:#78a8d3!important;box-shadow:0 0 0 3px rgba(49,120,198,.11)!important;
}
.mobile-menu-btn{display:none}
.sidebar-scrim{display:none}
@media(max-width:1100px){
  .main{padding:18px 18px 36px!important}
}
@media(max-width:860px){
  .mobile-menu-btn{
    display:grid;place-items:center;position:fixed;left:14px;top:12px;z-index:1400;
    width:42px;height:42px;border:1px solid var(--ui-line);border-radius:12px;
    background:#fff;color:#425a6e;box-shadow:var(--ui-shadow);
  }
  .sidebar{
    position:fixed!important;left:-270px!important;top:0!important;bottom:0!important;
    height:100vh!important;width:260px!important;z-index:1500!important;
    transition:left .22s ease!important;overflow-y:auto!important;
  }
  body.mobile-nav-open .sidebar{left:0!important}
  .sidebar-scrim{
    position:fixed;inset:0;background:rgba(37,52,65,.24);backdrop-filter:blur(3px);
    z-index:1450;
  }
  body.mobile-nav-open .sidebar-scrim{display:block}
  .main{
    margin-left:0!important;width:100%!important;padding:66px 14px 28px!important;
  }
  .mobile-property-bar{display:none!important}
  .attention-strip{grid-template-columns:1fr!important}
  .page-header{gap:12px!important}
}
@media(max-width:620px){
  .page-title{font-size:23px!important}
  .executive-banner{padding:16px!important}
  .executive-banner .role-chip{display:none!important}
  .ops-summary-grid,.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ops-summary-card,.metric-card{min-height:108px!important;padding:14px!important}
  .ops-summary-card .value,.metric-value{font-size:24px!important}
  .date-nav{width:100%!important}
  .date-nav input,.date-nav .btn{flex:1!important}
}
@media(max-width:410px){
  .ops-summary-grid,.metrics-grid{grid-template-columns:1fr!important}
}

/* ==== 06-v14-login-light.css ==== */
.login-screen{background:linear-gradient(145deg,#f3f7fb,#eef4f7)!important}
.login-card{border-radius:24px!important;border:1px solid #dfe7ed!important;box-shadow:0 24px 60px rgba(43,62,80,.12)!important}
.login-logo{background:#eef5fb!important;color:#2e6ea5!important;border-color:#c9ddec!important}
.login-btn{background:#3d7db5!important;border-radius:11px!important}

/* ==== 07-v15-real-fix.css ==== */
.reservation-grid,.finance-section-select{display:none!important}
.dashboard-rolldowns{display:grid;gap:14px;margin-bottom:18px}
.dashboard-rolldown{background:#fff;border:1px solid #e4eaf0;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(37,57,76,.05)}
.rolldown-trigger{width:100%;border:0;background:#fff;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;cursor:pointer}
.rolldown-trigger:hover{background:#fafcfd}
.rolldown-title-wrap{display:flex;align-items:center;gap:13px}
.rolldown-title-wrap strong{display:block;font-size:18px;color:#203447}
.rolldown-title-wrap small{display:block;margin-top:3px;color:#718292}
.rolldown-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:20px}
.rolldown-icon.arrival{background:#eaf4fc;color:#377bb4}
.rolldown-icon.departure{background:#fff3df;color:#b8751b}
.rolldown-summary{display:flex;align-items:center;gap:8px}
.rolldown-pill,.rolldown-warning{padding:7px 10px;border-radius:999px;font-size:13px;font-weight:800;white-space:nowrap}
.rolldown-pill{background:#eef3f7;color:#42627c}
.rolldown-warning{background:#fff2d8;color:#976117}
.rolldown-chevron{width:34px;height:34px;border-radius:10px;background:#f2f5f7;display:grid;place-items:center;padding:8px;transition:transform .2s}
.dashboard-rolldown.is-open .rolldown-chevron{transform:rotate(180deg)}
.rolldown-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .24s ease;border-top:1px solid transparent}
.dashboard-rolldown.is-open .rolldown-panel{grid-template-rows:1fr;border-top-color:#e8edf1}
.rolldown-panel-inner{min-height:0;overflow:hidden}
.rolldown-toolbar{padding:10px 14px;text-align:right;background:#f8fafb}
.finance-nav-row{display:flex;gap:7px;overflow-x:auto;padding:5px;margin-bottom:18px;background:#eef2f5;border:1px solid #e1e7ec;border-radius:14px;scrollbar-width:none}
.finance-nav-row::-webkit-scrollbar{display:none}
.finance-nav-chip{border:0;background:transparent;color:#657686;padding:10px 14px;border-radius:10px;font-size:13px;font-weight:760;white-space:nowrap;cursor:pointer}
.finance-nav-chip:hover{background:rgba(255,255,255,.7);color:#273d50}
.finance-nav-chip.active{background:#fff;color:#2d6c9f;box-shadow:0 3px 10px rgba(36,56,74,.08)}
@media(max-width:700px){
  .rolldown-trigger{padding:14px}
  .rolldown-summary .rolldown-warning{display:none}
  .rolldown-title-wrap strong{font-size:16px}
  .dashboard-rolldown .reservation-row{grid-template-columns:1fr auto!important}
  .dashboard-rolldown .reservation-row>div:first-child{grid-column:1/-1}
}

/* ==== 08-v21-exact-reference-design.css ==== */
:root{
  --ref-navy:#0B1B2E;
  --ref-navy-deep:#142E4D;
  --ref-blue:#1D5FBF;
  --ref-blue-dark:#164A99;
  --ref-green:#128572;
  --ref-orange:#B7791F;
  --ref-red:#B93939;
  --ref-purple:#6D5DD3;
  --ref-bg:#F5F7FA;
  --ref-surface:#ffffff;
  --ref-border:#E3E8EF;
  --ref-text:#101B2D;
  --ref-muted:#64748B;
  --ref-soft-blue:#EAF1FB;
  --ref-shadow:0 7px 24px rgba(18,42,76,.055);
}
*{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{background:var(--ref-bg)!important;color:var(--ref-text)!important;font-size:13px!important}
.app-shell{background:var(--ref-bg)!important}
.sidebar{
  width:178px!important;height:100vh!important;overflow:hidden!important;
  display:flex!important;flex-direction:column!important;
  background:linear-gradient(180deg,var(--ref-navy-deep),#062647)!important;
  border-right:1px solid rgba(255,255,255,.06)!important;
  box-shadow:none!important;
}
.sidebar-logo{padding:21px 16px 18px!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.brand-lockup{display:flex!important;align-items:center!important;gap:9px!important}
.brand-mark{
  width:33px!important;height:39px!important;display:grid!important;place-items:center!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
  color:#e7b84d!important;font-size:30px!important;border-radius:0!important;
}
.logo-name{
  color:#fff!important;font-family:"Inter",sans-serif!important;font-size:16px!important;
  font-weight:700!important;letter-spacing:-.02em!important;text-transform:none!important;line-height:1.05!important;
}
.logo-sub{
  color:#bdcad8!important;font-size:13px!important;font-weight:500!important;
  letter-spacing:.1em!important;text-transform:uppercase!important;margin-top:4px!important;
}
.property-switcher,.sidebar-date{display:none!important}
.reference-nav{
  flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;
  display:flex!important;flex-direction:column!important;padding:10px 8px 8px!important;
}
.reference-nav .nav-item{
  display:flex!important;align-items:center!important;gap:10px!important;
  min-height:40px!important;margin:2px 0!important;padding:0 12px!important;
  color:#eef5fc!important;font-size:13px!important;font-weight:500!important;
  border:0!important;border-radius:8px!important;line-height:1!important;
}
.reference-nav .nav-item i{width:17px!important;min-width:17px!important;font-size:16px!important;color:#f0f6fc!important}
.reference-nav .nav-item:hover{background:rgba(255,255,255,.07)!important;color:#fff!important}
.reference-nav .nav-item.active{
  background:linear-gradient(135deg,#0d59b9,#0f6fe5)!important;color:#fff!important;
  box-shadow:0 5px 16px rgba(0,72,170,.28)!important;
}
.reference-nav-spacer{flex:1 1 auto!important;min-height:30px!important}
.sidebar-user{
  position:relative!important;flex:0 0 auto!important;margin:0 10px 12px!important;padding:10px 7px!important;
  display:grid!important;grid-template-columns:32px minmax(0,1fr) 15px!important;align-items:center!important;gap:8px!important;
  border:0!important;border-top:1px solid rgba(255,255,255,.1)!important;border-radius:0!important;background:transparent!important;
  overflow:visible!important;cursor:pointer!important;
}
.sidebar-user-avatar{
  width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(145deg,#d7a15f,#77422c);color:#fff;font-size:13px;font-weight:800;
  border:2px solid rgba(255,255,255,.25)
}
.sidebar-user-copy{min-width:0}
.sidebar-user-name{color:#fff!important;font-size:13px!important;font-weight:650!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-user-role{color:#aebed0!important;font-size:13px!important;margin-top:3px!important}
.sidebar-user-chevron{color:#c4d1de;font-size:13px}
.sidebar-account-menu{
  display:none;position:absolute;left:0;right:0;bottom:49px;padding:7px;
  background:#fff;border:1px solid var(--ref-border);border-radius:10px;box-shadow:0 12px 34px rgba(5,25,52,.2);z-index:20
}
.sidebar-account-menu.show{display:grid;gap:5px}
.sidebar-account-menu button{display:flex!important;width:100%;align-items:center;gap:7px;padding:8px!important;border:0!important;background:#fff!important;color:#334a62!important;border-radius:7px!important;font-size:14px!important}
.sidebar-account-menu button:hover{background:#f3f6fa!important}
.main{
  margin-left:178px!important;width:calc(100% - 178px)!important;max-width:none!important;
  min-height:100vh!important;padding:22px 16px 34px!important;background:var(--ref-bg)!important;
}
#main-content{max-width:1420px!important;margin:0 auto!important}
.mobile-property-bar{display:none!important}

/* Global reference components */
.reference-page-shell{display:grid;gap:12px}
.reference-page-header{
  display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 2px!important;
}
.reference-page-header h1{margin:0;color:var(--ref-text);font-size:20px;line-height:1.15;letter-spacing:-.025em;font-weight:750}
.reference-page-header p{margin:4px 0 0;color:var(--ref-muted);font-size:13px;line-height:1.45}
.reference-page-actions{display:flex;align-items:center;gap:8px}
.reference-page-actions button,.reference-page-actions select,.reference-page-actions input{
  min-height:35px;border:1px solid #dde6f0;background:#fff;color:#31465f;border-radius:8px;
  padding:0 10px;font-size:14px;font-weight:600;box-shadow:0 3px 10px rgba(14,39,69,.025)
}
.reference-page-actions button{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.reference-page-actions button.primary,.reference-primary-button{background:var(--ref-blue)!important;color:#fff!important;border-color:var(--ref-blue)!important}
.reference-subtabs{
  display:flex;align-items:center;gap:5px;padding:5px;background:#edf2f7;border:1px solid #e2e9f1;border-radius:9px;
  overflow-x:auto
}
.reference-subtab,.reference-subtabs>button{
  border:0;background:transparent;color:#63768d;border-radius:7px;padding:8px 11px;font-size:14px;font-weight:650;white-space:nowrap
}
.reference-subtab.active,.reference-subtabs>button.active{background:#fff;color:#145ea8;box-shadow:0 3px 9px rgba(17,42,72,.08)}
.section-card,.metric-card,.report-card{
  background:#fff!important;border:1px solid var(--ref-border)!important;border-radius:10px!important;
  box-shadow:var(--ref-shadow)!important;
}
.btn{
  border:1px solid #dbe5ef!important;background:#fff!important;color:#365069!important;
  border-radius:8px!important;padding:8px 11px!important;font-size:13px!important;font-weight:650!important;
}
.btn-primary{background:var(--ref-blue)!important;color:#fff!important;border-color:var(--ref-blue)!important}
.data-table th{background:#f8fafc!important;color:#71839a!important;font-size:13px!important;text-transform:uppercase!important;letter-spacing:.07em!important;padding:10px 11px!important}
.data-table td{font-size:13px!important;color:#132640!important;padding:10px 11px!important;border-color:#edf1f5!important}

/* Dashboard */
  height:36px!important;border:1px solid #dde5ee!important;background:#fff!important;border-radius:8px!important;
  display:flex!important;align-items:center!important;gap:7px!important;padding:0 10px!important;color:#30455f!important;
  font-size:13px!important;font-weight:600!important;box-shadow:0 3px 10px rgba(13,39,70,.025)!important;
}
  width:38px!important;height:38px!important;border-radius:50%!important;border:0!important;background:var(--ref-navy)!important;
  display:grid!important;place-items:center!important;color:#fff!important;font-size:15px!important;position:relative!important
}
  min-height:142px!important;border:1px solid var(--ref-border)!important;background:#fff!important;border-radius:9px!important;
  padding:15px 13px!important;box-shadow:var(--ref-shadow)!important;color:var(--ref-text)!important;text-align:left!important;position:relative!important;overflow:hidden!important
}
  min-height:56px!important;border:1px solid var(--ref-border)!important;border-radius:9px!important;
  display:grid!important;grid-template-columns:auto auto 1fr!important;align-items:center!important;gap:9px!important;padding:9px 12px!important;text-align:left!important
}
  min-height:41px!important;display:grid!important;grid-template-columns:auto minmax(0,1fr) 56px 72px!important;
  gap:8px!important;align-items:center!important;padding:4px 3px!important;border-bottom:1px solid #edf1f5!important
}

/* Housekeeping board */
.reference-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.reference-board-column{border:1px solid var(--ref-border);border-radius:9px;padding:9px;background:#fff;min-width:0}
.reference-board-column.dirty{background:#fff7f7}.reference-board-column.clean{background:#f6fcf8}.reference-board-column.inspected{background:#f6f9ff}.reference-board-column.ooo{background:#fbfcfe}
.reference-board-column>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.reference-board-column>header div{display:flex;align-items:center;gap:3px}
.reference-board-column>header strong{font-size:13px;letter-spacing:.03em}.reference-board-column.dirty>header strong{color:#c83f4a}.reference-board-column.clean>header strong{color:#18865d}.reference-board-column.inspected>header strong{color:#1d64d4}.reference-board-column.ooo>header strong{color:#556b88}
.reference-board-column>header span{font-size:13px;color:#71839a}
.reference-board-column>header button{border:0;background:transparent;color:#607794;font-size:14px}
.reference-board-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:6px}
.reference-room-task{display:block;width:100%;text-align:left;background:#fff;border:1px solid #e8edf3;border-radius:7px;padding:8px;min-height:67px;position:relative}
.reference-room-task strong{display:block;font-size:13px;color:#12243f}
.reference-room-task>span{display:block;font-size:13px;color:#334c69;margin-top:4px;line-height:1.25}
.reference-room-task footer{display:flex;justify-content:space-between;gap:6px;margin-top:7px;color:#71849c}
.reference-room-task footer small,.reference-room-task footer time{font-size:13px}
.reference-room-task em{display:block;font-size:13px;color:#ef454d;font-style:normal;font-weight:700;margin-top:4px}
.reference-more-rooms{width:100%;border:0;background:transparent;color:#1766c4;font-size:13px;font-weight:650;padding:8px 0 2px}
.reference-column-empty{padding:24px 10px;text-align:center;color:#8191a3;font-size:13px}

/* Maintenance board */
.maintenance-reference-card{background:#fff;border:1px solid var(--ref-border);border-radius:9px;box-shadow:var(--ref-shadow);overflow:hidden}
.maintenance-reference-tabs{display:flex;align-items:center;gap:22px;padding:0 13px;border-bottom:1px solid #edf1f5}
.maintenance-reference-tabs button{height:42px;border:0;background:transparent;color:#61768e;font-size:14px;font-weight:600;position:relative}
.maintenance-reference-tabs button.active{color:#1163cf}.maintenance-reference-tabs button.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#1267dc;border-radius:2px}
.maintenance-reference-tabs>span{margin-left:auto;font-size:13px;color:#7a8da1}
.maintenance-reference-list{padding:4px 12px 10px}
.maintenance-reference-list article{display:grid;grid-template-columns:28px minmax(0,1.3fr) 92px 100px 76px 30px;align-items:center;gap:10px;min-height:52px;border-bottom:1px solid #edf1f5}
.maintenance-reference-list article:last-child{border-bottom:0}
.maintenance-reference-icon{width:27px;height:27px;border-radius:7px;display:grid;place-items:center;background:#eef4ff;color:#1265d5;font-size:13px}
.maintenance-reference-copy strong,.maintenance-reference-copy span{display:block}.maintenance-reference-copy strong{font-size:13px}.maintenance-reference-copy span{font-size:13px;color:#536b86;margin-top:2px}
.maintenance-reference-priority{font-size:13px;font-weight:650}.maintenance-reference-priority.high,.maintenance-reference-priority.urgent{color:#e53f48}.maintenance-reference-priority.medium{color:#ed8c15}.maintenance-reference-priority.low{color:#15945b}
.maintenance-reference-list time{font-size:13px;color:#73859a}
.maintenance-reference-list select{height:28px;border:1px solid #dfe7ef;border-radius:7px;background:#fff;color:#165cb7;font-size:13px;padding:0 7px}
.maintenance-reference-delete{width:27px;height:27px;border:1px solid #e0e7ef;border-radius:7px;background:#fff;color:#8a9aae}

/* Front desk */
.frontdesk-reference-tabs{margin-bottom:0}
.frontdesk-arrivals-reference{background:#fff;border:1px solid var(--ref-border);border-radius:9px;box-shadow:var(--ref-shadow);overflow:hidden}
.frontdesk-reference-heading{display:flex;justify-content:space-between;align-items:flex-start;padding:13px 14px 10px}
.frontdesk-reference-heading h2{font-size:13px;margin:0;color:#0f213d}.frontdesk-reference-heading p{font-size:13px;color:#71839a;margin:3px 0 0}
.reference-primary-button{border:0;border-radius:7px;padding:8px 10px;font-size:14px;font-weight:700}
.frontdesk-reference-toolbar{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:7px;padding:7px 13px;border-top:1px solid #edf1f5;border-bottom:1px solid #edf1f5;background:#fbfcfe}
.frontdesk-filter-chips{display:flex;gap:5px}.frontdesk-filter-chips button{border:1px solid #dfe6ee;background:#fff;color:#49627c;border-radius:6px;padding:6px 8px;font-size:14px;font-weight:650}.frontdesk-filter-chips button.active{background:#071f3d;color:#fff;border-color:#071f3d}
.frontdesk-search-wrap{height:29px;border:1px solid #dfe6ee;background:#fff;border-radius:6px;display:flex;align-items:center;gap:6px;padding:0 8px;color:#7c8fa4}.frontdesk-search-wrap input{border:0!important;box-shadow:none!important;background:transparent!important;width:100%;font-size:14px!important;padding:0!important}
.reference-filter-button{height:29px;border:1px solid #dfe6ee;background:#fff;border-radius:6px;color:#49627c;font-size:14px;padding:0 8px}
.frontdesk-arrival-list{padding:3px 12px 8px}
.frontdesk-arrival-list article{display:grid;grid-template-columns:24px minmax(0,1.2fr) 48px 54px 86px 32px 72px 67px;align-items:center;gap:7px;min-height:43px;border-bottom:1px solid #edf1f5}
.reference-guest-avatar{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#234f84;color:#fff;font-size:13px;font-weight:750}
.reference-arrival-guest strong,.reference-arrival-guest span{display:block}.reference-arrival-guest strong{font-size:13px}.reference-arrival-guest span{font-size:13px;color:#73869c;margin-top:2px}
.reference-arrival-guests,.frontdesk-arrival-list time,.reference-confirmation,.reference-room-number{font-size:13px;color:#526a86}
.reference-arrival-badge{border-radius:6px;padding:5px 6px;text-align:center;font-size:13px;font-weight:700}.reference-arrival-badge.needs{background:#fff1dc;color:#aa650d}.reference-arrival-badge.assigned{background:#e9f7ef;color:#188258}.reference-arrival-badge.checked{background:#e6f7ef;color:#147c52}.reference-arrival-badge.noshow{background:#ffeded;color:#b64343}
.reference-row-action{border:0;background:#1268d8;color:#fff;border-radius:6px;padding:6px;font-size:13px;font-weight:700}.reference-row-action.success{background:#10965c}

/* Finance */
.finance-header{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin-bottom:8px!important}
.finance-title h1{font-size:20px!important;color:#0f213d!important;letter-spacing:-.02em!important}.finance-title p{font-size:13px!important;color:#71839a!important}
.finance-header-controls input,.finance-header-controls button{height:34px!important;border-radius:8px!important;font-size:14px!important}
.finance-nav{display:flex!important;gap:2px!important;padding:5px!important;background:#edf2f6!important;border:1px solid #e1e8ef!important;border-radius:9px!important;overflow-x:auto!important;margin-bottom:10px!important}
.finance-nav-chip{border:0!important;background:transparent!important;color:#687b90!important;padding:8px 10px!important;border-radius:7px!important;font-size:13px!important;font-weight:650!important;white-space:nowrap!important}
.finance-nav-chip.active{background:#fff!important;color:#135da9!important;box-shadow:0 3px 8px rgba(16,40,70,.08)!important}
.finance-close-grid,.expense-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
.finance-kpi,.expense-kpis>div{background:#fff!important;border:1px solid var(--ref-border)!important;border-radius:9px!important;padding:14px!important;box-shadow:var(--ref-shadow)!important}
.finance-kpi small,.expense-kpis small{font-size:13px!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:#72849a!important}.finance-kpi strong,.expense-kpis strong{display:block!important;font-size:20px!important;margin-top:7px!important;color:#10223e!important}
.finance-kpi.positive strong{color:#12805e!important}
.expense-toolbar,.expense-page-actions{background:#fff!important;border:1px solid var(--ref-border)!important;border-radius:9px!important;padding:9px!important;margin-bottom:8px!important}
.bill-card{border-radius:9px!important}

/* Reports */
.reports-reference-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.reports-reference-kpis article{background:#fff;border:1px solid var(--ref-border);border-radius:9px;padding:13px;box-shadow:var(--ref-shadow)}
.reports-reference-kpis span{font-size:13px;text-transform:uppercase;color:#71849a;font-weight:700}.reports-reference-kpis strong{display:block;font-size:19px;margin:7px 0 5px}.reports-reference-kpis small{font-size:13px;color:#17a05d}
.reports-reference-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:8px}
.reports-reference-chart,.reports-reference-source,.reports-reference-toprooms,.reports-export-tools{background:#fff;border:1px solid var(--ref-border);border-radius:9px;box-shadow:var(--ref-shadow);overflow:hidden}
.reports-reference-chart,.reports-reference-source{padding:12px}
.reports-reference-chart header strong,.reports-reference-source header strong{display:block;font-size:13px}.reports-reference-chart header span,.reports-reference-source header span{display:block;font-size:13px;color:#71849a;margin-top:2px}
.reports-reference-chart svg{width:100%;height:118px;margin-top:9px;overflow:visible}.reports-reference-chart line{stroke:#edf1f5;stroke-width:.5}.reports-reference-chart polyline{fill:none;stroke:#1268dd;stroke-width:1.6}.reports-reference-chart circle{fill:#fff;stroke:#1268dd;stroke-width:1}
.reports-chart-labels{display:flex;justify-content:space-between;color:#7b8da1;font-size:13px}
.reports-source-content{display:grid;grid-template-columns:135px 1fr;align-items:center;gap:14px;margin-top:10px}
.reports-donut{width:120px;height:120px;border-radius:50%;display:grid;place-items:center}.reports-donut>div{width:72px;height:72px;border-radius:50%;background:#fff;display:grid;place-items:center;align-content:center;text-align:center}.reports-donut strong{font-size:13px}.reports-donut span{font-size:13px;color:#7b8da1}
.reports-source-legend{display:grid;gap:8px}.reports-source-legend div{display:grid;grid-template-columns:8px 1fr auto;gap:7px;align-items:center;font-size:13px}.reports-source-legend i{width:6px;height:6px;border-radius:50%}
.reports-reference-toprooms header,.reports-export-tools>header{padding:10px 12px;border-bottom:1px solid #edf1f5}.reports-reference-toprooms header strong,.reports-export-tools header strong{font-size:13px}
.reports-room-table{padding:0 12px 8px}.reports-room-table>div{display:grid;grid-template-columns:1.6fr .7fr .8fr .6fr;gap:8px;align-items:center;min-height:31px;border-bottom:1px solid #edf1f5;font-size:13px}.reports-room-table>div:last-child{border-bottom:0}.reports-room-table .head{color:#71849a;text-transform:uppercase;font-size:13px}
.reports-export-tools{padding-bottom:10px}.reports-export-tools .report-grid{padding:10px;grid-template-columns:repeat(3,1fr)!important}.reports-export-tools .report-card{padding:12px!important}.reports-export-tools .report-card h3{font-size:13px!important}.reports-export-tools .report-card p{font-size:13px!important}.reports-export-tools .report-stats strong{font-size:15px!important}

/* Rooms and remaining pages */
.property-finder-layout{gap:10px!important}
.property-room-directory,.property-map-panel{border-radius:9px!important;border-color:var(--ref-border)!important;box-shadow:var(--ref-shadow)!important}
.property-room-card{border-radius:8px!important;border-color:#dfe7f0!important;padding:12px!important}
.property-room-card .room-number{font-size:18px!important}
.report-controls{background:#fff!important;border:1px solid var(--ref-border)!important;border-radius:9px!important;padding:8px!important}
.modal{border-radius:12px!important;border-color:var(--ref-border)!important;box-shadow:0 24px 70px rgba(4,24,48,.22)!important}

/* Responsive */
@media(max-width:1180px){
  .reference-board{grid-template-columns:repeat(2,1fr)}
  .reports-reference-grid{grid-template-columns:1fr}
}
@media(max-width:860px){
  .sidebar{width:250px!important;left:-260px!important}
  body.mobile-nav-open .sidebar{left:0!important}
  .main{margin-left:0!important;width:100%!important;padding:68px 12px 28px!important}
  .reports-reference-kpis,.finance-close-grid,.expense-kpis{grid-template-columns:repeat(2,1fr)!important}
  .frontdesk-arrival-list article{grid-template-columns:25px minmax(0,1fr) 72px 64px}.reference-arrival-guests,.frontdesk-arrival-list time,.reference-confirmation,.reference-room-number{display:none}
}
@media(max-width:620px){
  .reference-board,.reports-reference-kpis,.finance-close-grid,.expense-kpis{grid-template-columns:1fr!important}
  .reference-page-header{flex-direction:column}
  .reference-page-actions{width:100%;flex-wrap:wrap}
  .maintenance-reference-list article{grid-template-columns:28px 1fr 70px}.maintenance-reference-priority,.maintenance-reference-list time{display:none}
  .frontdesk-reference-toolbar{grid-template-columns:1fr}.frontdesk-filter-chips{overflow-x:auto}
}

/* ==== 09-v22-larger-fonts-dashboard-reports.css ==== */
/* Larger, readable typography across the real application */
body{font-size:15px!important}
.logo-name{font-size:20px!important}
.logo-sub{font-size:13px!important}
.reference-nav .nav-item{font-size:14px!important;min-height:48px!important}
.reference-nav .nav-item i{font-size:19px!important}
.sidebar-user-name{font-size:13px!important}
.sidebar-user-role{font-size:13px!important}






/* Larger page-level typography */
.reference-page-header h1{font-size:30px!important}
.reference-page-header p{font-size:13px!important}
.reference-page-actions button,
.reference-page-actions select,
.reference-page-actions input{font-size:14px!important;min-height:40px!important}
.reference-subtab,.reference-subtabs>button{font-size:14px!important;padding:10px 14px!important}
.data-table th{font-size:13px!important}
.data-table td{font-size:13px!important}
.btn{font-size:13px!important}
input,select,textarea{font-size:13px!important}

/* Dashboard Reports Overview */
.dashboard-report-overview{
  display:grid;
  gap:12px;
  background:#fff;
  border:1px solid var(--ref-border);
  border-radius:14px;
  padding:20px;
  box-shadow:var(--ref-shadow);
}
.dashboard-report-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}
.dashboard-report-heading h2{
  margin:0;
  font-size:24px;
  letter-spacing:-.025em;
  color:var(--ref-text);
}
.dashboard-report-heading p{
  margin:5px 0 0;
  font-size:13px;
  color:var(--ref-muted);
}
.dashboard-report-heading button{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid #dce6f0;
  background:#fff;
  color:#1264ca;
  border-radius:9px;
  padding:10px 13px;
  font-size:14px;
  font-weight:700;
}

.dashboard-report-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.dashboard-report-kpis article{
  border:1px solid #e6edf5;
  border-radius:11px;
  padding:17px;
  background:#fff;
}
.dashboard-report-kpis span{
  display:block;
  color:#70829a;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:750;
}
.dashboard-report-kpis strong{
  display:block;
  margin:9px 0 7px;
  font-size:28px;
  color:#10213e;
  letter-spacing:-.03em;
}
.dashboard-report-kpis small{
  color:#14995c;
  font-size:13px;
}

.dashboard-report-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:11px;
}
.dashboard-occupancy-chart,
.dashboard-revenue-source,
.dashboard-top-rooms{
  border:1px solid #e6edf5;
  border-radius:11px;
  background:#fff;
  overflow:hidden;
}
.dashboard-occupancy-chart,
.dashboard-revenue-source{
  padding:17px;
}
.dashboard-occupancy-chart header strong,
.dashboard-revenue-source header strong{
  display:block;
  font-size:15px;
  color:#11233f;
}
.dashboard-occupancy-chart header span,
.dashboard-revenue-source header span{
  display:block;
  margin-top:3px;
  color:#71849a;
  font-size:13px;
}
.dashboard-occupancy-chart svg{
  width:100%;
  height:175px;
  margin-top:12px;
  overflow:visible;
}
.dashboard-occupancy-chart line{
  stroke:#edf1f5;
  stroke-width:.55;
}
.dashboard-occupancy-chart polyline{
  fill:none;
  stroke:#1768dd;
  stroke-width:1.7;
}
.dashboard-occupancy-chart circle{
  fill:#fff;
  stroke:#1768dd;
  stroke-width:1.1;
}
.dashboard-chart-labels{
  display:flex;
  justify-content:space-between;
  color:#74879d;
  font-size:13px;
  margin-top:5px;
}

.dashboard-source-layout{
  display:grid;
  grid-template-columns:170px minmax(0,1fr);
  align-items:center;
  gap:18px;
  margin-top:16px;
}
.dashboard-source-donut{
  width:155px;
  height:155px;
  border-radius:50%;
  display:grid;
  place-items:center;
}
.dashboard-source-donut>div{
  width:94px;
  height:94px;
  border-radius:50%;
  background:#fff;
  display:grid;
  place-items:center;
  align-content:center;
  text-align:center;
}
.dashboard-source-donut strong{
  font-size:15px;
  color:#10213e;
}
.dashboard-source-donut span{
  margin-top:3px;
  font-size:13px;
  color:#71849a;
}
.dashboard-source-legend{
  display:grid;
  gap:13px;
}
.dashboard-source-legend>div{
  display:grid;
  grid-template-columns:10px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  font-size:13px;
}
.dashboard-source-legend i{
  width:8px;
  height:8px;
  border-radius:50%;
}
.dashboard-source-legend span{
  color:#536b86;
}
.dashboard-source-legend strong{
  color:#10213e;
}

.dashboard-top-rooms header{
  padding:14px 17px;
  border-bottom:1px solid #edf1f5;
}
.dashboard-top-rooms header strong{
  font-size:15px;
  color:#11233f;
}
.dashboard-room-table{
  padding:0 17px 10px;
}
.dashboard-room-table>div{
  display:grid;
  grid-template-columns:1.7fr .75fr .9fr .7fr;
  gap:10px;
  align-items:center;
  min-height:44px;
  border-bottom:1px solid #edf1f5;
  font-size:13px;
}
.dashboard-room-table>div:last-child{border-bottom:0}
.dashboard-room-table .head{
  min-height:40px;
  color:#71849a;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:13px;
  font-weight:700;
}
.dashboard-room-table strong{
  color:#11233f;
}

.reports-reference-kpis span{font-size:13px!important}
.reports-reference-kpis strong{font-size:27px!important}
.reports-reference-kpis small{font-size:13px!important}
.reports-reference-chart header strong,
.reports-reference-source header strong{font-size:14px!important}
.reports-reference-chart header span,
.reports-reference-source header span{font-size:13px!important}
.reports-reference-chart svg{height:180px!important}
.reports-chart-labels{font-size:13px!important}
.reports-donut{width:155px!important;height:155px!important}
.reports-donut>div{width:94px!important;height:94px!important}
.reports-donut strong{font-size:15px!important}
.reports-donut span{font-size:13px!important}
.reports-source-legend div{font-size:13px!important}
.reports-reference-toprooms header strong{font-size:14px!important}
.reports-room-table>div{min-height:43px!important;font-size:13px!important}
.reports-room-table .head{font-size:13px!important}

@media(max-width:1100px){
  .dashboard-report-kpis{grid-template-columns:repeat(2,1fr)}
  .dashboard-report-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .dashboard-report-kpis{grid-template-columns:1fr}
  .dashboard-source-layout{grid-template-columns:1fr;justify-items:center}
  .dashboard-room-table{overflow-x:auto}
  .dashboard-room-table>div{min-width:620px}
}

/* ==== 10-v23-operations-rebuild.css ==== */
:root{
  --v23-navy:#0B1B2E;
  --v23-blue:#1D5FBF;
  --v23-blue-dark:#164A99;
  --v23-green:#128572;
  --v23-orange:#B7791F;
  --v23-red:#B93939;
  --v23-purple:#6D5DD3;
  --v23-bg:#F5F7FA;
  --v23-card:#ffffff;
  --v23-border:#E3E8EF;
  --v23-text:#101B2D;
  --v23-muted:#64748B;
  --v23-shadow:0 8px 28px rgba(19,44,76,.06);
}
body{font-size:15px!important;color:var(--v23-text)!important;background:var(--v23-bg)!important}
.main{background:var(--v23-bg)!important;padding:27px 24px 42px!important}
#main-content{max-width:1500px!important}

/* Sidebar */
.sidebar{width:216px!important}
.main{margin-left:216px!important;width:calc(100% - 216px)!important}
.reference-nav .nav-item{
  min-height:51px!important;
  padding:0 16px!important;
  font-size:15px!important;
  gap:13px!important;
}
.reference-nav .nav-item i{font-size:21px!important;width:22px!important}
.nav-inline-icon{width:22px;height:22px;display:inline-grid;place-items:center;flex:0 0 22px}
.nav-inline-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.logo-name{font-size:20px!important}
.logo-sub{font-size:13px!important}
.sidebar-user-name{font-size:13px!important}
.sidebar-user-role{font-size:13px!important}

/* Shared page components */
.reference-page-shell,.reference-page{display:grid!important;gap:17px!important}
.reference-page-header{
  display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:22px!important;
  margin-bottom:0!important
}
.reference-page-header>div>span{display:block;font-size:13px!important;text-transform:uppercase;letter-spacing:.08em;color:#617892;font-weight:800}
.reference-page-header h1,.page-title{font-size:34px!important;line-height:1.08!important;letter-spacing:-.035em!important;margin:5px 0 7px!important;color:var(--v23-text)!important}
.reference-page-header p,.page-subtitle{font-size:14px!important;line-height:1.55!important;color:var(--v23-muted)!important;margin:0!important}
.reference-page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.reference-page-actions button,.reference-page-actions input,.reference-page-actions select{
  height:43px!important;border:1px solid var(--v23-border)!important;border-radius:10px!important;
  background:#fff!important;color:#314960!important;padding:0 13px!important;font-size:14px!important;font-weight:650!important
}
.reference-page-actions button.primary{background:var(--v23-blue)!important;color:#fff!important;border-color:var(--v23-blue)!important}
.reference-subtabs{
  display:flex!important;align-items:center!important;gap:7px!important;padding:7px!important;
  background:#eaf0f6!important;border:1px solid var(--v23-border)!important;border-radius:13px!important;overflow-x:auto!important
}
.reference-subtabs button,.reference-subtab{
  min-height:43px!important;padding:0 16px!important;border:0!important;border-radius:10px!important;
  background:transparent!important;color:#5e7188!important;font-size:13px!important;font-weight:700!important;white-space:nowrap!important
}
.reference-subtabs button.active,.reference-subtab.active{background:#fff!important;color:#125dab!important;box-shadow:0 4px 12px rgba(14,38,67,.09)!important}
.section-card,.settings-card,.support-card,.fd-reference-card,.frontdesk-arrivals-reference,.frontdesk-departures-workspace,.maintenance-reference-card{
  background:#fff!important;border:1px solid var(--v23-border)!important;border-radius:14px!important;box-shadow:var(--v23-shadow)!important
}
input,select,textarea{font-size:14px!important}
.btn{font-size:13px!important;min-height:40px!important;border-radius:9px!important}
.data-table th{font-size:13px!important;padding:14px 13px!important}
.data-table td{font-size:13px!important;padding:14px 13px!important}

/* Dashboard */
.v23-dashboard{display:grid;gap:16px}
.v23-dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.v23-eyebrow{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.09em;color:#4f7196;font-weight:800;margin-bottom:7px}
.v23-dashboard-header h1{font-size:38px;line-height:1.06;letter-spacing:-.045em;margin:0;color:var(--v23-text)}
.v23-dashboard-header h1 span{font-size:28px}
.v23-dashboard-header p{font-size:14px;color:var(--v23-muted);margin:8px 0 0}
.v23-dashboard-actions{display:flex;align-items:center;gap:10px}
.v23-dashboard-actions label,.v23-dashboard-actions>button:not(.notification){
  height:44px;display:flex;align-items:center;gap:8px;padding:0 13px;
  border:1px solid var(--v23-border);border-radius:10px;background:#fff;color:#304960;font-size:14px;font-weight:650
}
.v23-dashboard-actions input{border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important}
.v23-dashboard-actions .notification{width:44px;height:44px;border:0;border-radius:50%;background:var(--v23-navy);color:#fff;position:relative;font-size:18px}
.v23-dashboard-actions .notification span{position:absolute;right:-3px;top:-4px;min-width:19px;height:19px;padding:0 4px;border-radius:10px;background:var(--v23-blue);font-size:13px;display:grid;place-items:center}
.v23-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px}
.v23-kpi-grid article{min-height:158px;padding:21px 18px;background:#fff;border:1px solid var(--v23-border);border-radius:13px;box-shadow:var(--v23-shadow);position:relative}
.v23-kpi-grid article>span{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.055em;color:#58718e;font-weight:800}
.v23-kpi-grid strong{display:block;font-size:34px;letter-spacing:-.04em;margin:18px 0 10px;color:#101e3c}
.v23-kpi-grid strong.blue{color:#1D5FBF}
.v23-kpi-grid small{font-size:13px;color:#6f8298}
.v23-kpi-grid .cloudbeds strong{color:#159b5d}
.v23-kpi-grid .cloudbeds>i{position:absolute;right:17px;bottom:17px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#e7f7ef;color:#169663;font-size:21px}
.v23-attention-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.v23-attention-grid button{min-height:84px;padding:14px 17px;border:1px solid var(--v23-border);border-radius:13px;background:#fff;display:flex;align-items:center;gap:14px;text-align:left}
.v23-attention-grid button>span{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;font-size:22px}
.v23-attention-grid span.blue{background:#e8f1ff;color:#1D5FBF}.v23-attention-grid span.orange{background:#fff0dd;color:#e9851e}.v23-attention-grid span.red{background:#ffeaec;color:#dc4651}
.v23-attention-grid div{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}
.v23-attention-grid strong{font-size:27px;color:#10203c;grid-row:1/3}
.v23-attention-grid b{font-size:14px;color:#1a2d48}.v23-attention-grid small{font-size:13px;color:#718399;margin-top:3px}
.v23-quick-launcher{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid var(--v23-border);border-radius:13px;box-shadow:var(--v23-shadow);overflow:hidden}
.v23-quick-launcher button{min-height:82px;border:0;background:#fff;display:flex;align-items:center;gap:12px;padding:14px 16px;text-align:left}
.v23-quick-launcher button+button{border-left:1px solid #edf1f5}
.v23-quick-launcher button>span{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:20px}
.v23-quick-launcher .blue{background:#e8f1ff;color:#1D5FBF}.v23-quick-launcher .orange{background:#fff0dd;color:#e9851e}.v23-quick-launcher .red{background:#ffeaec;color:#dc4651}.v23-quick-launcher .green{background:#e6f7ef;color:#169663}.v23-quick-launcher .purple{background:#f0eaff;color:#7754d8}
.v23-quick-launcher strong{display:block;font-size:13px;color:#152842}.v23-quick-launcher small{display:block;font-size:13px;color:#718399;margin-top:4px}

/* Professional report graph */
.dashboard-report-overview{padding:22px!important;border-radius:14px!important}
.dashboard-report-heading>div>span{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#56718f;font-weight:800;margin-bottom:4px}
.dashboard-report-heading h2{font-size:27px!important}
.dashboard-report-heading p{font-size:13px!important}
.dashboard-report-kpis article{padding:18px!important}
.dashboard-report-kpis span{font-size:13px!important}.dashboard-report-kpis strong{font-size:30px!important}.dashboard-report-kpis small{font-size:13px!important}
.dashboard-occupancy-chart,.dashboard-revenue-source{padding:20px!important}
.dashboard-occupancy-chart header,.dashboard-revenue-source header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.dashboard-occupancy-chart header strong,.dashboard-revenue-source header strong{font-size:17px!important}
.dashboard-occupancy-chart header span,.dashboard-revenue-source header span{font-size:13px!important}
.chart-current-value{font-size:24px!important;color:var(--v23-blue)!important;font-weight:800!important}
.professional-chart-wrap{display:grid;grid-template-columns:44px 1fr;align-items:stretch;margin-top:15px}
.professional-y-axis{height:235px;display:flex;flex-direction:column;justify-content:space-between;padding:1px 9px 1px 0;text-align:right;color:#8393a5;font-size:13px}
.dashboard-occupancy-chart svg{height:235px!important;margin:0!important}
.chart-grid-line{stroke:#e8edf3;stroke-width:.45}
.chart-area-path{fill:url(#occupancyAreaGradientV23)}
.chart-line-path{fill:none;stroke:#1768dd;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.chart-data-point circle{fill:#fff;stroke:#1768dd;stroke-width:1.05}
.dashboard-chart-labels{margin-left:44px!important;font-size:13px!important}
.dashboard-source-donut{width:170px!important;height:170px!important}.dashboard-source-donut>div{width:104px!important;height:104px!important}.dashboard-source-donut strong{font-size:16px!important}.dashboard-source-legend>div{font-size:13px!important}
.dashboard-top-rooms header strong{font-size:16px!important}.dashboard-room-table>div{font-size:13px!important;min-height:48px!important}.dashboard-room-table .head{font-size:13px!important}

/* Front Desk */
.frontdesk-arrivals-reference,.frontdesk-departures-workspace{overflow:hidden}
.frontdesk-reference-heading,.frontdesk-workspace-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:21px 22px;border-bottom:1px solid #edf1f5}
.frontdesk-reference-heading h2,.frontdesk-workspace-heading h2{font-size:23px!important;margin:4px 0 6px!important}
.frontdesk-reference-heading p,.frontdesk-workspace-heading p{font-size:13px!important;color:#6f8298!important;margin:0!important;max-width:880px}
.frontdesk-workspace-heading>div>span{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.075em;color:#56718f;font-weight:800}
.frontdesk-reference-heading button,.frontdesk-workspace-heading button,.fd-reference-primary{height:41px;border:0;border-radius:9px;background:var(--v23-blue);color:#fff;padding:0 14px;font-size:14px;font-weight:700}
.frontdesk-reference-toolbar,.frontdesk-workspace-toolbar{display:grid;grid-template-columns:auto minmax(240px,1fr);gap:12px;align-items:center;padding:13px 21px;background:#f8fafc;border-bottom:1px solid #edf1f5}
.frontdesk-filter-chips{display:flex;gap:7px;overflow-x:auto}
.frontdesk-filter-chips button{height:36px;border:1px solid #dce5ef;background:#fff;border-radius:8px;padding:0 12px;font-size:14px;font-weight:700;color:#536b84;white-space:nowrap}
.frontdesk-filter-chips button.active{background:var(--v23-navy);color:#fff;border-color:var(--v23-navy)}
.frontdesk-search-wrap,.frontdesk-workspace-search{height:38px;border:1px solid #dce5ef;background:#fff;border-radius:9px;display:flex;align-items:center;gap:8px;padding:0 11px;color:#71869c}
.frontdesk-search-wrap input,.frontdesk-workspace-search input{width:100%;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;font-size:14px!important}
.frontdesk-arrival-list,.frontdesk-departure-list{padding:4px 20px 12px}
.frontdesk-arrival-list article{grid-template-columns:36px minmax(150px,1.2fr) 70px 75px 115px 65px 95px 95px!important;min-height:63px!important;gap:10px!important}
.frontdesk-departure-list article{display:grid;grid-template-columns:36px minmax(180px,1fr) 125px 80px 105px 120px;align-items:center;gap:11px;min-height:66px;border-bottom:1px solid #edf1f5}
.reference-guest-avatar{width:34px!important;height:34px!important;font-size:13px!important}
.reference-arrival-guest strong,.frontdesk-departure-guest strong{display:block;font-size:13px!important;color:#152841}
.reference-arrival-guest span,.frontdesk-departure-guest span{display:block;font-size:13px!important;color:#718399;margin-top:3px}
.reference-arrival-guests,.frontdesk-arrival-list time,.reference-confirmation,.reference-room-number,.departure-confirmation,.departure-room{font-size:13px!important;color:#536b84}
.reference-arrival-badge,.departure-status{border-radius:8px;padding:8px 10px;font-size:13px!important;font-weight:750;text-align:center;white-space:nowrap}
.departure-status.dueout{background:#fff1db;color:#a96812}.departure-status.checkedout{background:#e6f7ef;color:#167a53}
.reference-row-action,.frontdesk-departure-list article>button{height:34px;border:0;border-radius:8px;background:var(--v23-blue);color:#fff;font-size:14px;font-weight:700;padding:0 10px}
.frontdesk-departure-list article>button.ready{background:#15935e}
.frontdesk-empty-state{padding:45px;text-align:center;color:#718399;font-size:13px}

/* Shift handovers and daily close */
.fd-reference-card{overflow:hidden!important}
.fd-reference-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:21px 22px;border-bottom:1px solid #edf1f5}
.fd-reference-card-head>div>span{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.075em;color:#56718f;font-weight:800}
.fd-reference-card-head h2{font-size:23px;margin:5px 0 6px}.fd-reference-card-head p{font-size:13px;color:#6f8298;margin:0;max-width:850px}
.fd-reference-filters{display:grid;grid-template-columns:180px 190px 190px;gap:10px;padding:13px 21px;background:#f8fafc;border-bottom:1px solid #edf1f5}
.fd-reference-filters input,.fd-reference-filters select{height:39px;border:1px solid #dce5ef;border-radius:9px;background:#fff;padding:0 11px;font-size:14px!important}
.fd-handover-list{display:grid;gap:11px;padding:17px}
.fd-handover-entry{border:1px solid var(--v23-border);border-left:5px solid #e0a33a;border-radius:11px;padding:17px;background:#fff}
.fd-handover-entry.completed{border-left-color:#1b9b68}
.fd-handover-entry-top{display:flex;justify-content:space-between;gap:15px}.fd-handover-entry-top span{font-size:13px;text-transform:uppercase;color:#718399;font-weight:800}.fd-handover-entry-top h3{font-size:16px;margin:5px 0}.fd-handover-entry-top small{font-size:13px;color:#718399}
.fd-handover-entry-actions{display:flex;gap:7px;align-items:flex-start}.fd-handover-entry-actions button{width:35px;height:35px;border:1px solid #dce5ef;border-radius:9px;background:#fff;color:#5c7188}
.fd-handover-status{padding:8px 11px!important;border-radius:999px;background:#fff1db;color:#a96812!important;font-size:13px!important}.fd-handover-status.completed{background:#e6f7ef;color:#167a53!important}
.fd-handover-sections{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.fd-handover-sections .handoff-section{padding:12px!important;background:#f7f9fc!important;border-radius:9px!important}.fd-handover-sections small{font-size:13px!important}.fd-handover-sections p{font-size:13px!important;line-height:1.5!important}
.fd-reference-empty{padding:55px 30px;text-align:center;display:grid;place-items:center;color:#718399}.fd-reference-empty i{font-size:31px;margin-bottom:10px}.fd-reference-empty strong{font-size:16px;color:#1b304a}.fd-reference-empty span{font-size:13px;margin-top:5px}.fd-reference-empty button{margin-top:14px;height:38px;border:0;border-radius:8px;background:var(--v23-blue);color:#fff;padding:0 13px;font-size:14px}
.fd-reference-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.fd-reference-summary article{padding:18px;background:#fff;border:1px solid var(--v23-border);border-radius:12px;box-shadow:var(--v23-shadow)}.fd-reference-summary span{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#617792;font-weight:800}.fd-reference-summary strong{display:block;font-size:27px;margin:9px 0 7px}.fd-reference-summary small{font-size:13px;color:#718399}
.fd-reference-close-form{padding:20px}.fd-cloudbeds-total{display:flex;align-items:center;justify-content:space-between;padding:17px;background:#f4f8fe;border:1px solid #dce8f6;border-radius:10px}.fd-cloudbeds-total span{display:block;font-size:13px;color:#617792}.fd-cloudbeds-total strong{display:block;font-size:26px;margin-top:4px}.fd-cloudbeds-total button{height:38px;border:1px solid #d5e2ef;border-radius:8px;background:#fff;color:#356a9e;padding:0 11px;font-size:14px}
.fd-reference-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.fd-reference-form-grid label,.fd-reference-notes{font-size:13px;font-weight:750;color:#4f6479}.fd-reference-form-grid label>div{height:43px;display:flex;align-items:center;border:1px solid #dce5ef;border-radius:9px;margin-top:7px;overflow:hidden}.fd-reference-form-grid label span{padding-left:11px}.fd-reference-form-grid input{width:100%;border:0!important;box-shadow:none!important}.fd-reference-notes textarea{display:block;width:100%;min-height:130px;margin-top:7px;border:1px solid #dce5ef;border-radius:9px;padding:12px}
.fd-reference-close-footer{display:flex;align-items:center;justify-content:space-between;margin-top:17px;padding-top:17px;border-top:1px solid #edf1f5}.fd-reference-close-footer span{display:block;font-size:13px;color:#718399}.fd-reference-close-footer strong{display:block;font-size:24px;margin-top:3px}.fd-reference-close-footer button{height:41px;border:0;border-radius:9px;background:var(--v23-blue);color:#fff;padding:0 14px;font-size:14px;font-weight:700}

/* Maintenance */
.maintenance-reference-card{overflow:hidden}
.maintenance-reference-tabs{display:flex;align-items:center;gap:28px;padding:0 20px;border-bottom:1px solid #edf1f5}
.maintenance-reference-tabs button{height:52px;border:0;background:transparent;color:#5f748c;font-size:14px;font-weight:700;position:relative}.maintenance-reference-tabs button.active{color:var(--v23-blue)}.maintenance-reference-tabs button.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--v23-blue);border-radius:2px}
.maintenance-reference-tabs>span{margin-left:auto;font-size:13px;color:#718399}
.maintenance-reference-list{padding:4px 18px 12px}.maintenance-reference-list article{display:grid;grid-template-columns:42px minmax(260px,1.4fr) 115px 135px 145px 36px;align-items:center;gap:15px;min-height:76px;border-bottom:1px solid #edf1f5}.maintenance-reference-list article.room-hold-row{background:#fffafa}
.maintenance-reference-icon{width:39px;height:39px;border-radius:10px;display:grid;place-items:center;background:#eaf2ff;color:var(--v23-blue);font-size:18px}.room-hold-row .maintenance-reference-icon{background:#ffeaec;color:#dc4651}
.maintenance-reference-copy strong{display:block;font-size:13px}.maintenance-reference-copy span{display:block;font-size:13px;color:#5c7289;margin-top:4px}.maintenance-reference-copy em{display:block;font-size:13px;color:#dc4651;font-style:normal;font-weight:700;margin-top:5px}
.maintenance-reference-priority{font-size:13px;font-weight:750}.maintenance-reference-priority.high,.maintenance-reference-priority.urgent{color:#dc4651}.maintenance-reference-priority.medium{color:#e9851e}.maintenance-reference-priority.low{color:#15935e}
.maintenance-reference-list time{font-size:13px;color:#718399}.maintenance-reference-list select,.maintenance-room-status-button{height:39px;border:1px solid #dce5ef;border-radius:9px;background:#fff;color:#245b8f;padding:0 10px;font-size:14px}.maintenance-room-status-button{font-weight:700}.maintenance-reference-delete{width:36px;height:36px;border:1px solid #dce5ef;border-radius:9px;background:#fff;color:#8293a5}

/* Settings and Support restored */
.settings-grid,.support-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
.settings-card{display:flex!important;gap:15px!important;align-items:flex-start!important;padding:21px!important}
.settings-icon{width:48px!important;height:48px!important;border-radius:13px!important;display:grid!important;place-items:center!important;font-size:22px!important;flex:0 0 48px!important}
.settings-icon.blue{background:#e8f1ff!important;color:#1D5FBF!important}.settings-icon.green{background:#e6f7ef!important;color:#169663!important}.settings-icon.purple{background:#f0eaff!important;color:#7754d8!important}.settings-icon.orange{background:#fff0dd!important;color:#e9851e!important}
.settings-card span{display:block!important;font-size:13px!important;text-transform:uppercase!important;letter-spacing:.06em!important;color:#617792!important;font-weight:800!important}
.settings-card h2{font-size:21px!important;margin:6px 0!important}.settings-card p{font-size:13px!important;color:#718399!important;line-height:1.5!important;margin:0!important}
.reference-link-btn,.support-card button{height:39px!important;border:1px solid #dce5ef!important;background:#fff!important;color:#1764bb!important;border-radius:9px!important;padding:0 12px!important;font-size:14px!important;font-weight:700!important;margin-top:13px!important}
.support-card{padding:22px!important}.support-card>i{font-size:27px!important;color:#1764bb!important}.support-card h2{font-size:21px!important;margin:12px 0 7px!important}.support-card p{font-size:13px!important;line-height:1.6!important;color:#718399!important;margin:0!important}

/* Activity */
.page-header{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:20px!important;margin-bottom:16px!important}
.activity-toolbar{display:grid!important;grid-template-columns:minmax(260px,1fr) 190px 165px auto!important;gap:10px!important;margin-bottom:13px!important}
.activity-toolbar input,.activity-toolbar select{height:42px!important;border:1px solid #dce5ef!important;border-radius:9px!important;background:#fff!important;padding:0 11px!important}
.activity-list{padding:5px 18px!important}.activity-row{display:grid!important;grid-template-columns:42px 1fr auto!important;align-items:center!important;gap:13px!important;min-height:68px!important;border-bottom:1px solid #edf1f5!important}.activity-icon{width:39px!important;height:39px!important;border-radius:10px!important;display:grid!important;place-items:center!important;background:#eaf2ff!important;color:#1764bb!important;font-size:18px!important}.activity-row strong{font-size:13px!important}.activity-row p{font-size:13px!important;color:#718399!important;margin:4px 0 0!important}.activity-time{font-size:13px!important;color:#718399!important}

/* Error state */
.production-error-state{max-width:720px!important;margin:80px auto!important;padding:48px!important;border:1px solid var(--v23-border)!important;background:#fff!important;border-radius:15px!important;box-shadow:var(--v23-shadow)!important}
.production-error-state h1{font-size:30px!important}.production-error-state p{font-size:13px!important}

@media(max-width:1200px){
  .v23-kpi-grid{grid-template-columns:repeat(3,1fr)}
  .dashboard-report-grid{grid-template-columns:1fr}
  .fd-reference-summary{grid-template-columns:repeat(2,1fr)}
  .maintenance-reference-list article{grid-template-columns:42px 1fr 105px 125px}.maintenance-reference-list time,.maintenance-reference-delete{display:none}
}
@media(max-width:900px){
  .sidebar{width:260px!important}.main{margin-left:0!important;width:100%!important;padding:74px 14px 30px!important}
  .v23-dashboard-header,.reference-page-header{flex-direction:column}
  .v23-kpi-grid,.v23-attention-grid,.dashboard-report-kpis{grid-template-columns:repeat(2,1fr)}
  .v23-quick-launcher{grid-template-columns:1fr}
  .v23-quick-launcher button+button{border-left:0;border-top:1px solid #edf1f5}
  .frontdesk-arrival-list article{grid-template-columns:36px 1fr 100px 100px!important}.reference-arrival-guests,.frontdesk-arrival-list time,.reference-confirmation,.reference-room-number{display:none}
  .frontdesk-departure-list article{grid-template-columns:36px 1fr 85px 105px}.departure-confirmation,.departure-room{display:none}
  .fd-handover-sections{grid-template-columns:1fr 1fr}
  .settings-grid,.support-grid{grid-template-columns:1fr!important}
  .activity-toolbar{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .v23-kpi-grid,.v23-attention-grid,.dashboard-report-kpis,.fd-reference-summary,.fd-reference-form-grid{grid-template-columns:1fr}
  .dashboard-source-layout{grid-template-columns:1fr;justify-items:center}
  .fd-reference-filters{grid-template-columns:1fr}
  .fd-handover-sections{grid-template-columns:1fr}
  .maintenance-reference-list article{grid-template-columns:42px 1fr}.maintenance-reference-priority,.maintenance-reference-list article>select,.maintenance-room-status-button{grid-column:2}
  .activity-toolbar{grid-template-columns:1fr}
}

/* ==== 11-v24-editable-financial-center.css ==== */
.finance-center-reference,.finance-detail-page{display:grid;gap:16px}
.finance-center-header,.finance-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.finance-center-header>div:first-child>span,.finance-detail-header>div:first-child>span{
  display:block;font-size:13px;line-height:1;text-transform:uppercase;letter-spacing:.08em;
  color:#5f7590;font-weight:800;margin-bottom:7px
}
.finance-center-header h1,.finance-detail-header h1{
  margin:0;color:#10203c;font-size:35px;line-height:1.08;letter-spacing:-.04em
}
.finance-center-header p,.finance-detail-header p{
  margin:8px 0 0;color:#6f8198;font-size:14px;line-height:1.5
}
.finance-center-header-actions,.finance-detail-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.finance-month-nav{display:flex;align-items:center;gap:8px}
.finance-month-arrow{width:44px;height:44px;border:1px solid #d7e1ea;border-radius:13px;background:#fff;color:#18324b;display:grid;place-items:center;font-size:20px;cursor:pointer}
.finance-month-arrow:hover:not(:disabled){background:#eef5ff;border-color:#9dbbe5}
.finance-month-arrow:disabled{opacity:.4;cursor:not-allowed}
.finance-month-selector{
  height:44px;min-width:174px;display:flex;align-items:center;gap:9px;padding:0 12px;
  border:1px solid #dce5ef;border-radius:11px;background:#fff;color:#405870;box-shadow:0 4px 14px rgba(18,42,72,.04)
}
.finance-month-selector select{
  flex:1;border:0!important;background:transparent!important;box-shadow:none!important;
  appearance:none;font-size:13px!important;font-weight:750!important;color:#314a63!important
}
.finance-add-expense,.finance-detail-actions button{
  height:44px;border:1px solid #dce5ef;border-radius:11px;background:#fff;color:#31506f;
  padding:0 14px;font-size:14px;font-weight:750;display:inline-flex;align-items:center;gap:8px
}
.finance-add-expense,.finance-detail-actions button.primary{background:#1D5FBF;color:#fff;border-color:#1D5FBF}

.finance-overview-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.finance-overview-kpis article{
  min-height:146px;padding:22px;background:#fff;border:1px solid #e0e7f0;border-radius:15px;
  box-shadow:0 8px 28px rgba(21,45,76,.055)
}
.finance-overview-kpis article>span{
  display:block;color:#708198;font-size:13px;text-transform:uppercase;letter-spacing:.055em;font-weight:800
}
.finance-overview-kpis strong{
  display:block;margin:18px 0 11px;color:#10203c;font-size:31px;letter-spacing:-.035em
}
.finance-overview-kpis article.profit strong{color:#16975d}
.finance-overview-kpis article.loss strong{color:#d64d59}
.finance-change{display:inline-flex!important;align-items:center;gap:5px;font-size:13px!important;text-transform:none!important;letter-spacing:0!important;font-weight:700!important}
.finance-change.positive{color:#16975d!important}.finance-change.negative{color:#d64d59!important}.finance-change.neutral{color:#7a8a9d!important}
.finance-overview-kpis small{display:block;color:#75879a;font-size:13px;margin-top:6px}

.finance-quick-access-card,.finance-recent-expenses-card,.finance-detail-card,.finance-revenue-summary,.finance-revenue-actions,.finance-owner-narrative,.finance-owner-checklist{
  background:#fff;border:1px solid #e0e7f0;border-radius:15px;box-shadow:0 8px 28px rgba(21,45,76,.055)
}
.finance-quick-access-card{padding:22px}
.finance-quick-access-card>header h2,.finance-recent-expenses-card>header h2{
  margin:0;color:#13243f;font-size:18px;letter-spacing:-.02em
}
.finance-quick-access-card>header p,.finance-recent-expenses-card>header p{
  margin:5px 0 0;color:#74869a;font-size:13px
}
.finance-quick-access-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-top:20px}
.finance-quick-access-grid button{
  min-height:108px;border:0;background:#fff;border-radius:12px;padding:9px;
  display:grid;place-items:center;align-content:center;gap:11px;color:#536a83
}
.finance-quick-access-grid button:hover{background:#f7f9fc;transform:translateY(-1px)}
.finance-quick-access-grid button>span{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-size:25px}
.finance-quick-access-grid .blue{background:#e8f1ff;color:#1D5FBF}
.finance-quick-access-grid .purple{background:#f1eaff;color:#7955dc}
.finance-quick-access-grid .green{background:#e7f7ef;color:#16975d}
.finance-quick-access-grid .orange{background:#fff0df;color:#ed8820}
.finance-quick-access-grid strong{font-size:13px;color:#405670;text-align:center}

.finance-recent-expenses-card{overflow:hidden}
.finance-recent-expenses-card>header{
  min-height:76px;padding:18px 21px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #edf1f5
}
.finance-recent-expenses-card>header>div:last-child{display:flex;gap:8px}
.finance-recent-expenses-card>header button,.finance-recent-expenses-card footer button{
  height:38px;border:1px solid #dce5ef;border-radius:9px;background:#fff;color:#315574;
  padding:0 12px;font-size:14px;font-weight:750;display:inline-flex;align-items:center;gap:7px
}
.finance-recent-expenses-card>header button.primary{background:#1D5FBF;color:#fff;border-color:#1D5FBF}
.finance-recent-expense-list{padding:3px 18px}
.finance-recent-expense-list article{
  min-height:68px;display:grid;grid-template-columns:38px minmax(145px,1.1fr) minmax(150px,1fr) 90px 94px 86px 38px 74px;
  align-items:center;gap:12px;border-bottom:1px solid #edf1f5
}
.finance-recent-expense-list article:last-child{border-bottom:0}
.finance-expense-icon{width:36px;height:36px;border-radius:10px;background:#eaf2ff;color:#1D5FBF;display:grid;place-items:center;font-size:18px}
.finance-expense-vendor strong{display:block;color:#172943;font-size:13px}.finance-expense-vendor span{display:block;color:#74869a;font-size:13px;margin-top:3px}
.finance-expense-description{color:#61758d;font-size:13px}
.finance-expense-amount{font-size:13px;color:#142640}
.finance-recent-expense-list time{font-size:13px;color:#74869a}
.finance-expense-status{display:inline-flex;align-items:center;justify-content:center;min-height:29px;padding:0 9px;border-radius:8px;font-size:13px;font-weight:800}
.finance-expense-status.approved{background:#e7f7ef;color:#168052}.finance-expense-status.pending{background:#fff1dc;color:#a86912}.finance-expense-status.overdue{background:#ffeaec;color:#d64754}
.finance-receipt-button,.finance-edit-button{
  height:32px;border:1px solid #dce5ef;border-radius:8px;background:#fff;color:#35648f;
  display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:14px;font-weight:750
}
.finance-receipt-button{width:34px;padding:0}.finance-receipt-button.missing{color:#df8a24}.finance-edit-button{padding:0 9px}
.finance-recent-expenses-card footer{display:flex;justify-content:center;padding:15px;border-top:1px solid #edf1f5}

.finance-empty-state{padding:48px 24px;display:grid;place-items:center;text-align:center;color:#74869a}
.finance-empty-state>i{font-size:30px;margin-bottom:10px}.finance-empty-state strong{font-size:15px;color:#243951}.finance-empty-state span{font-size:13px;margin-top:5px}.finance-empty-state button{margin-top:14px;height:38px;border:0;border-radius:8px;background:#1D5FBF;color:#fff;padding:0 13px;font-size:14px;font-weight:750}

.finance-back-button{
  height:34px!important;border:1px solid #dce5ef!important;border-radius:9px!important;background:#fff!important;
  color:#376083!important;padding:0 10px!important;font-size:14px!important;font-weight:750!important;
  display:inline-flex!important;align-items:center!important;gap:6px!important;margin-bottom:13px!important
}
.finance-detail-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.finance-detail-kpis.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.finance-detail-kpis article{padding:19px;background:#fff;border:1px solid #e0e7f0;border-radius:13px}
.finance-detail-kpis span{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.055em;color:#708198;font-weight:800}
.finance-detail-kpis strong{display:block;font-size:26px;margin-top:10px;color:#10203c}
.finance-detail-kpis article.profit strong{color:#16975d}.finance-detail-kpis article.loss strong{color:#d64d59}

.finance-detail-card{overflow:hidden}
.finance-detail-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 220px;gap:10px;padding:14px 18px;background:#f8fafc;border-bottom:1px solid #edf1f5}
.finance-detail-toolbar label{height:40px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid #dce5ef;border-radius:9px;background:#fff;color:#7b8d9f}
.finance-detail-toolbar input{width:100%;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;font-size:14px!important}
.finance-detail-toolbar select{height:40px;border:1px solid #dce5ef;border-radius:9px;background:#fff;padding:0 10px;font-size:13px!important}
.finance-responsive-table{overflow:auto}
.finance-responsive-table table{width:100%;border-collapse:collapse;min-width:1040px}
.finance-responsive-table th{padding:13px 14px;background:#f8fafc;color:#718399;font-size:13px;text-transform:uppercase;letter-spacing:.055em;text-align:left;border-bottom:1px solid #e5ebf2}
.finance-responsive-table td{padding:14px;border-bottom:1px solid #edf1f5;color:#455d76;font-size:13px;vertical-align:middle}
.finance-responsive-table td strong{color:#172943;font-size:13px}.finance-responsive-table td small{display:block;color:#7b8c9f;font-size:13px;margin-top:3px}
.finance-responsive-table td a,.finance-responsive-table td>button{border:0;background:transparent;color:#1768d7;font-size:14px;font-weight:750}
.finance-table-actions{display:flex;gap:6px}.finance-table-actions button{height:31px;border:1px solid #dce5ef;border-radius:7px;background:#fff;color:#35648f;padding:0 8px;font-size:14px;font-weight:750}.finance-table-actions button.danger{width:31px;color:#d64754;padding:0}
.finance-empty-table{padding:35px;text-align:center;color:#74869a;font-size:13px}

.finance-recurring-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.finance-recurring-grid>article{padding:18px;background:#fff;border:1px solid #e0e7f0;border-radius:13px;box-shadow:0 7px 22px rgba(21,45,76,.045)}
.finance-recurring-grid>article.inactive{opacity:.62}
.finance-recurring-grid article>header{display:flex;justify-content:space-between;gap:12px}.finance-recurring-grid header span{font-size:13px;text-transform:uppercase;letter-spacing:.055em;color:#708198;font-weight:800}.finance-recurring-grid h2{font-size:15px;margin:5px 0 0;color:#172943}.finance-recurring-grid header>strong{font-size:13px;color:#a66c17}
.finance-recurring-amount{font-size:26px;font-weight:800;color:#10203c;margin:20px 0 8px}.finance-recurring-grid p{font-size:13px;line-height:1.5;color:#74869a;min-height:30px}
.finance-recurring-grid footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid #edf1f5}.finance-recurring-grid footer>span{font-size:13px;color:#74869a}.finance-recurring-grid footer div{display:flex;gap:6px}.finance-recurring-grid footer button{height:31px;border:1px solid #dce5ef;border-radius:7px;background:#fff;color:#35648f;padding:0 8px;font-size:14px;font-weight:750}.finance-recurring-grid footer button.danger{width:31px;color:#d64754;padding:0}

.finance-revenue-layout,.finance-owner-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:13px}
.finance-revenue-summary,.finance-revenue-actions,.finance-owner-narrative,.finance-owner-checklist{overflow:hidden}
.finance-revenue-summary>header,.finance-revenue-actions>h2,.finance-owner-narrative>header,.finance-owner-checklist>header{padding:18px 20px;border-bottom:1px solid #edf1f5}
.finance-revenue-summary h2,.finance-revenue-actions h2,.finance-owner-narrative h2,.finance-owner-checklist h2{font-size:18px;margin:0;color:#172943}
.finance-revenue-summary header p,.finance-revenue-actions>p,.finance-owner-narrative header p,.finance-owner-checklist header p{font-size:13px;color:#74869a;margin:5px 0 0}
.finance-revenue-summary>div{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #edf1f5;font-size:13px}.finance-revenue-summary>div span{color:#5d7289}.finance-revenue-summary>div strong{color:#172943}.finance-revenue-summary>div.total{background:#f3f8ff;font-size:14px}.finance-revenue-summary>div.total strong{color:#16975d;font-size:18px}
.finance-revenue-actions{padding-bottom:14px}.finance-revenue-actions>h2{border:0;padding-bottom:3px}.finance-revenue-actions>p{padding:0 20px 10px}.finance-revenue-actions>button{width:calc(100% - 28px);margin:7px 14px 0;min-height:57px;border:1px solid #e0e7f0;border-radius:10px;background:#fff;display:flex;align-items:center;gap:12px;padding:10px 13px;text-align:left;color:#1768d7}.finance-revenue-actions>button>i{font-size:20px}.finance-revenue-actions strong{display:block;color:#172943;font-size:13px}.finance-revenue-actions small{display:block;color:#74869a;font-size:13px;margin-top:3px}

.finance-owner-narrative textarea{display:block;width:calc(100% - 36px);min-height:330px;margin:18px;border:1px solid #dce5ef;border-radius:10px;padding:14px;font:inherit;font-size:13px;line-height:1.65;resize:vertical}
.finance-owner-narrative footer{padding:0 18px 18px}.finance-owner-narrative footer button{height:39px;border:0;border-radius:8px;background:#1D5FBF;color:#fff;padding:0 13px;font-size:14px;font-weight:750}
.finance-owner-checklist>div{padding:13px;display:grid;gap:8px}.finance-owner-checklist>div>article{min-height:65px;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e0e7f0;border-radius:10px}.finance-owner-checklist>div>article.ready{background:#effaf5;border-color:#bfe7d6}.finance-owner-checklist>div>article.pending{background:#fff9eb;border-color:#f0d79d}.finance-owner-checklist article>span{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#fff}.finance-owner-checklist article strong{display:block;font-size:13px;color:#172943}.finance-owner-checklist article small{display:block;font-size:13px;color:#74869a;margin-top:3px}.finance-owner-checklist article b{font-size:13px;padding:7px 9px;border-radius:999px}.finance-owner-checklist article.ready b{background:#d8f3e8;color:#157a52}.finance-owner-checklist article.pending b{background:#ffedbd;color:#815c13}

@media(max-width:1200px){
  .finance-quick-access-grid{grid-template-columns:repeat(3,1fr)}
  .finance-recent-expense-list article{grid-template-columns:38px minmax(150px,1fr) 90px 90px 84px 38px 70px}
  .finance-expense-description{display:none}
}
@media(max-width:950px){
  .finance-center-header,.finance-detail-header{flex-direction:column}
  .finance-overview-kpis,.finance-detail-kpis,.finance-detail-kpis.three{grid-template-columns:repeat(2,1fr)}
  .finance-revenue-layout,.finance-owner-layout{grid-template-columns:1fr}
  .finance-recurring-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
  .finance-overview-kpis,.finance-detail-kpis,.finance-detail-kpis.three{grid-template-columns:1fr}
  .finance-quick-access-grid{grid-template-columns:repeat(2,1fr)}
  .finance-recent-expenses-card>header{align-items:flex-start;flex-direction:column}
  .finance-recent-expense-list article{grid-template-columns:36px 1fr auto;gap:8px;padding:11px 0}
  .finance-expense-description,.finance-recent-expense-list time,.finance-receipt-button{display:none}
  .finance-expense-amount{grid-column:2}.finance-expense-status{grid-column:3}.finance-edit-button{grid-column:3}
  .finance-detail-toolbar{grid-template-columns:1fr}
  .finance-recurring-grid{grid-template-columns:1fr}
}

/* ==== 12-v25-consistent-typography-pro-charts.css ==== */
:root{
  --type-page-title:32px;
  --type-dashboard-title:34px;
  --type-section-title:21px;
  --type-card-title:15px;
  --type-body:13px;
  --type-label:11px;
  --type-caption:10px;
  --type-kpi:29px;
}

/* Consistent global scale */
body{font-size:14px!important}
.reference-nav .nav-item{font-size:14px!important;min-height:48px!important}
.reference-nav .nav-item i,.nav-inline-icon svg{font-size:20px!important;width:20px!important;height:20px!important}
.logo-name{font-size:19px!important}
.logo-sub{font-size:13px!important}
.sidebar-user-name{font-size:13px!important}
.sidebar-user-role{font-size:13px!important}

.v23-dashboard-header h1{font-size:var(--type-dashboard-title)!important}
.v23-dashboard-header h1 span{font-size:25px!important}
.v23-dashboard-header p{font-size:13px!important}
.v23-eyebrow{font-size:13px!important}

.reference-page-header h1,
.page-title,
.finance-center-header h1,
.finance-detail-header h1{font-size:var(--type-page-title)!important}
.reference-page-header p,
.page-subtitle,
.finance-center-header p,
.finance-detail-header p{font-size:13px!important}
.reference-page-header>div>span,
.finance-center-header>div:first-child>span,
.finance-detail-header>div:first-child>span{font-size:13px!important}

.reference-subtabs button,
.reference-subtab{font-size:14px!important;min-height:41px!important}
.reference-page-actions button,
.reference-page-actions input,
.reference-page-actions select,
.v23-dashboard-actions label,
.v23-dashboard-actions>button:not(.notification){font-size:14px!important;height:41px!important}

.v23-kpi-grid article{min-height:145px!important;padding:19px 17px!important}
.v23-kpi-grid article>span,
.dashboard-report-kpis span,
.reports-reference-kpis span,
.finance-overview-kpis article>span,
.finance-detail-kpis span{font-size:13px!important}
.v23-kpi-grid strong{font-size:31px!important}
.v23-kpi-grid small{font-size:13px!important}

.v23-attention-grid button{min-height:76px!important}
.v23-attention-grid strong{font-size:24px!important}
.v23-attention-grid b{font-size:13px!important}
.v23-attention-grid small{font-size:13px!important}

.dashboard-report-heading h2{font-size:25px!important}
.dashboard-report-heading p{font-size:13px!important}
.dashboard-report-kpis strong{font-size:27px!important}
.dashboard-report-kpis small{font-size:13px!important}

.reference-page-header h1,
.frontdesk-reference-heading h2,
.frontdesk-workspace-heading h2,
.fd-reference-card-head h2,
.finance-quick-access-card>header h2,
.finance-recent-expenses-card>header h2,
.finance-revenue-summary h2,
.finance-revenue-actions h2,
.finance-owner-narrative h2,
.finance-owner-checklist h2,
.support-card h2,
.settings-card h2{letter-spacing:-.025em!important}

.frontdesk-reference-heading h2,
.frontdesk-workspace-heading h2,
.fd-reference-card-head h2{font-size:21px!important}
.frontdesk-reference-heading p,
.frontdesk-workspace-heading p,
.fd-reference-card-head p{font-size:13px!important}
.reference-arrival-guest strong,
.frontdesk-departure-guest strong,
.maintenance-reference-copy strong,
.activity-row strong{font-size:13px!important}
.reference-arrival-guest span,
.frontdesk-departure-guest span,
.maintenance-reference-copy span,
.activity-row p{font-size:13px!important}

.maintenance-reference-tabs button{font-size:14px!important}
.maintenance-reference-list article{min-height:70px!important}
.maintenance-reference-priority,
.maintenance-reference-list time{font-size:13px!important}

.settings-card h2,.support-card h2{font-size:19px!important}
.settings-card p,.support-card p{font-size:13px!important}
.activity-toolbar input,.activity-toolbar select{font-size:14px!important}

.finance-center-header h1,.finance-detail-header h1{font-size:31px!important}
.finance-overview-kpis article{min-height:134px!important;padding:20px!important}
.finance-overview-kpis strong{font-size:28px!important;margin:15px 0 9px!important}
.finance-change{font-size:13px!important}
.finance-quick-access-card>header h2,
.finance-recent-expenses-card>header h2{font-size:17px!important}
.finance-quick-access-grid button{min-height:98px!important}
.finance-quick-access-grid button>span{width:48px!important;height:48px!important;font-size:23px!important}
.finance-quick-access-grid strong{font-size:13px!important}
.finance-detail-kpis strong{font-size:24px!important}
.finance-responsive-table th{font-size:13px!important}
.finance-responsive-table td{font-size:13px!important}

/* New professional occupancy card */
.occupancy-insight-card,
.revenue-source-card{
  background:#fff;
  border:1px solid #e0e7f0;
  border-radius:13px;
  box-shadow:0 7px 24px rgba(20,44,74,.045);
  overflow:hidden;
}
.occupancy-insight-card{padding:18px 18px 13px}
.occupancy-insight-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:6px;
}
.occupancy-insight-header>div:first-child strong,
.revenue-source-card header strong{
  display:block;
  color:#142640;
  font-size:15px;
  letter-spacing:-.015em;
}
.occupancy-insight-header>div:first-child span,
.revenue-source-card header span{
  display:block;
  color:#73859a;
  font-size:13px;
  margin-top:4px;
}
.occupancy-current{text-align:right}
.occupancy-current>strong{
  display:block;
  color:#1D5FBF;
  font-size:24px;
  line-height:1;
  letter-spacing:-.035em;
}
.occupancy-current>span{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-top:6px;
  font-size:13px;
  font-weight:750;
}
.occupancy-current>span.up{color:#16975d}
.occupancy-current>span.down{color:#d64d59}
.occupancy-current>span.flat{color:#73859a}

.occupancy-chart-shell{width:100%;height:230px}
.occupancy-chart-shell svg{display:block;width:100%;height:100%;overflow:visible}
.occupancy-grid-line{
  stroke:#e8edf3;
  stroke-width:1;
  vector-effect:non-scaling-stroke;
}
.occupancy-axis-label,
.occupancy-date-label{
  fill:#7d8ea2;
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:13px;
  font-weight:550;
}
.occupancy-area{opacity:.9}
.occupancy-line{
  fill:none;
  stroke:#1D5FBF;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.occupancy-point-halo{fill:#fff;stroke:#dce9fb;stroke-width:5;vector-effect:non-scaling-stroke}
.occupancy-point-core{fill:#1D5FBF;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}
.occupancy-point.latest .occupancy-point-halo{stroke:#bdd5f7;stroke-width:7}
.occupancy-point.latest .occupancy-point-core{fill:#0d5ecb}

.occupancy-insight-footer{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  padding-top:12px;
  border-top:1px solid #edf1f5;
}
.occupancy-insight-footer div{
  padding:8px 10px;
  background:#f8fafc;
  border-radius:8px;
}
.occupancy-insight-footer span{
  display:block;
  color:#7a8b9e;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.055em;
  font-weight:750;
}
.occupancy-insight-footer strong{
  display:block;
  color:#172943;
  font-size:14px;
  margin-top:4px;
}

.revenue-source-card{padding:18px}
.revenue-source-card header{display:flex;justify-content:space-between;align-items:flex-start}
.revenue-source-layout{
  display:grid;
  grid-template-columns:155px minmax(0,1fr);
  align-items:center;
  gap:18px;
  margin-top:18px;
}
.revenue-source-donut{
  width:150px;
  height:150px;
  border-radius:50%;
  display:grid;
  place-items:center;
}
.revenue-source-donut>div{
  width:91px;
  height:91px;
  border-radius:50%;
  background:#fff;
  display:grid;
  place-items:center;
  align-content:center;
  text-align:center;
  box-shadow:inset 0 0 0 1px #edf1f5;
}
.revenue-source-donut strong{font-size:14px;color:#142640}
.revenue-source-donut span{font-size:13px;color:#74869a;margin-top:3px}
.revenue-source-legend{display:grid;gap:11px}
.revenue-source-legend>div{
  display:grid;
  grid-template-columns:9px minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  font-size:13px;
}
.revenue-source-legend i{width:7px;height:7px;border-radius:50%}
.revenue-source-legend span{color:#5f738a}
.revenue-source-legend strong{color:#172943}

.dashboard-report-grid,
.reports-analytics-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  gap:12px;
}
.reports-reference-kpis{gap:10px!important}
.reports-reference-kpis article{padding:17px!important}
.reports-reference-kpis strong{font-size:26px!important}
.reports-reference-kpis small{font-size:13px!important}
.reports-reference-toprooms header strong,
.dashboard-top-rooms header strong{font-size:15px!important}
.reports-room-table>div,
.dashboard-room-table>div{min-height:44px!important;font-size:13px!important}

@media(max-width:1150px){
  .dashboard-report-grid,.reports-analytics-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  :root{--type-page-title:28px;--type-dashboard-title:30px}
  .occupancy-chart-shell{height:210px}
  .revenue-source-layout{grid-template-columns:1fr;justify-items:center}
  .occupancy-insight-footer{grid-template-columns:1fr}
}

/* V25 dual-Cloudbeds property separation */
.cloudbeds-property-performance{margin:0 0 18px;padding:20px;border:1px solid #e2e8ed;border-radius:20px;background:#fff;box-shadow:0 10px 32px rgba(16,36,58,.055)}
.cloudbeds-property-performance>header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px}
.cloudbeds-property-performance>header span{font-size:13px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:#128572}
.cloudbeds-property-performance>header h2{margin:4px 0 4px;font-size:20px;letter-spacing:-.025em;color:#10243a}
.cloudbeds-property-performance>header p{margin:0;max-width:780px;color:#687b8e;font-size:13px;line-height:1.5}
.cloudbeds-property-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.cloudbeds-property-card{border:1px solid #dfe7ec;border-radius:17px;padding:16px;background:linear-gradient(155deg,#fff,#f8fbfc);min-width:0}
.cloudbeds-property-card.grand{border-top:3px solid #1D5FBF}.cloudbeds-property-card.residence{border-top:3px solid #128572}
.cloudbeds-property-card>header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:15px}
.cloudbeds-property-card>header span{display:block;font-size:13px;font-weight:850;letter-spacing:.11em;text-transform:uppercase;color:#77899b}
.cloudbeds-property-card>header h3{margin:4px 0 0;font-size:15px;color:#142640;line-height:1.25}
.cloudbeds-property-card>header b{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;font-size:13px;white-space:nowrap}
.cloudbeds-property-card>header b i{width:6px;height:6px;border-radius:50%;background:currentColor}
.cloudbeds-property-card>header b.live{color:#126f5e;background:#e8f6f2}.cloudbeds-property-card>header b.partial{color:#8a5d13;background:#fff5df}.cloudbeds-property-card>header b.pending{color:#6d7f90;background:#eef3f6}
.cloudbeds-property-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cloudbeds-property-metrics>div{padding:11px;border:1px solid #e6ecef;border-radius:12px;background:#fff;min-width:0}
.cloudbeds-property-metrics span{display:block;font-size:13px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#718397}
.cloudbeds-property-metrics strong{display:block;margin:5px 0 2px;font-size:20px;letter-spacing:-.04em;color:#10243a;overflow:hidden;text-overflow:ellipsis}
.cloudbeds-property-metrics small{display:block;font-size:13px;color:#8292a2;white-space:normal}
.cloudbeds-property-card>footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid #e8edef;font-size:13px;color:#738596}
.cloudbeds-property-card>footer .inventory-ok{color:#128572;font-weight:750}.cloudbeds-property-card>footer .inventory-warning{color:#a16414;font-weight:800}
.cloudbeds-report-scope{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 12px;padding:12px 14px;border:1px solid #e1e8ed;border-radius:15px;background:#fff}
.cloudbeds-report-scope>div span{display:block;font-size:13px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:#718397}.cloudbeds-report-scope>div strong{display:block;margin-top:3px;font-size:13px;color:#142640}
.cloudbeds-report-scope nav{display:inline-flex;gap:3px;padding:3px;border-radius:11px;background:#eef3f6}
.cloudbeds-report-scope button{border:0;border-radius:8px;padding:7px 10px;background:transparent;color:#5d7083;font:inherit;font-size:14px;font-weight:800;cursor:pointer}
.cloudbeds-report-scope button.active{background:#fff;color:#128572;box-shadow:0 2px 8px rgba(16,36,58,.12)}
@media(max-width:850px){.cloudbeds-property-grid{grid-template-columns:1fr}.cloudbeds-report-scope{align-items:flex-start;flex-direction:column}.cloudbeds-report-scope nav{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.cloudbeds-property-performance{padding:14px}.cloudbeds-property-metrics{grid-template-columns:1fr 1fr}.cloudbeds-property-metrics>div:last-child{grid-column:1/-1}.cloudbeds-property-card>header{flex-direction:column}.cloudbeds-report-scope button{padding:7px 4px}}

/* ==== 13-v25-3-separate-property-dashboards.css ==== */
/* V25.3 — Separate property dashboards and readable operations typography */
:root{
  --scope-grand:#1D5FBF;
  --scope-grand-soft:#eaf2ff;
  --scope-residence:#128572;
  --scope-residence-soft:#e8f7f4;
}
#main-content{max-width:1580px!important}
.main{padding:28px 24px 46px!important}
.nav-section-label{
  padding:15px 12px 6px;color:#91a7bd;font-size:13px;font-weight:850;
  letter-spacing:.13em;text-transform:uppercase
}
.nav-section-label.nav-section-spaced{padding-top:22px}
.reference-nav .nav-item{min-height:45px!important;font-size:13px!important;border-radius:10px!important}
.reference-nav .nav-item i{font-size:18px!important}
.reference-nav-spacer{display:none!important}

.property-dashboard{display:grid;gap:18px}
.property-dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.property-dashboard-heading{display:flex;align-items:flex-start;gap:16px}
.property-dashboard-logo{width:52px;height:52px;border-radius:50%;flex-shrink:0;margin-top:2px;box-shadow:0 4px 14px rgba(11,27,46,.18)}
.property-dashboard-eyebrow{display:block;font-size:13px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:#58718e;margin-bottom:8px}
.property-dashboard-header h1{font-size:40px;line-height:1.05;letter-spacing:-.045em;margin:0;color:#10213a}
.property-dashboard-header p{font-size:15px;color:#687c92;margin:9px 0 0}
.property-dashboard-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.property-dashboard-actions label,.property-dashboard-actions>button:not(.property-alert-button){
  min-height:48px;border:1px solid #dce5ee;background:#fff;border-radius:12px;padding:0 15px;
  display:flex;align-items:center;gap:8px;color:#324b67;font-size:13px;font-weight:750;box-shadow:0 4px 14px rgba(18,44,74,.04)
}
.property-dashboard-actions input{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;font-size:13px!important}
.property-alert-button{width:48px;height:48px;border:0;border-radius:50%;background:#102a4b;color:#fff;position:relative;font-size:20px}
.property-alert-button span{position:absolute;right:-4px;top:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:12px;background:#e64c57;color:#fff;font-size:14px;display:grid;place-items:center}

.property-workspace-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:7px;background:#eaf0f5;border:1px solid #dfe7ee;border-radius:17px}
.property-workspace-switch button{min-height:70px;border:0;background:transparent;border-radius:12px;padding:13px 17px;display:flex;align-items:center;gap:13px;text-align:left;color:#5d7288;cursor:pointer}
.property-workspace-switch button>i{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#dce5ed;font-size:21px}
.property-workspace-switch button span{display:grid;gap:3px}.property-workspace-switch small{font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.property-workspace-switch strong{font-size:16px}
.property-workspace-switch button.active{background:#fff;box-shadow:0 5px 16px rgba(19,45,76,.10);color:#132842}
.property-workspace-switch button.active.grand>i{background:var(--scope-grand-soft);color:var(--scope-grand)}
.property-workspace-switch button.active.residence>i{background:var(--scope-residence-soft);color:var(--scope-residence)}

.property-connection-banner{border:1px solid #dce6ee;border-radius:20px;padding:25px 27px;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:28px;box-shadow:0 8px 26px rgba(22,47,75,.05);position:relative;overflow:hidden}
.property-connection-banner:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--scope-grand)}
.property-connection-banner.residence:before{background:var(--scope-residence)}
.property-building-badge{display:inline-flex;padding:6px 9px;border-radius:8px;background:var(--scope-grand-soft);color:var(--scope-grand);font-size:13px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.property-connection-banner.residence .property-building-badge{background:var(--scope-residence-soft);color:var(--scope-residence)}
.property-connection-identity h2{font-size:27px;line-height:1.15;letter-spacing:-.035em;margin:9px 0 6px;color:#122640}
.property-connection-identity p{font-size:13px;line-height:1.5;color:#6a7e92;margin:0}
.property-connection-status{min-width:300px;display:grid;gap:8px;justify-items:start}
.property-connection-status>b{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 10px;font-size:13px}.property-connection-status>b i{width:7px;height:7px;border-radius:50%;background:currentColor}
.property-connection-status>b.live{background:#e8f7ef;color:#137753}.property-connection-status>b.partial{background:#fff4dc;color:#916111}.property-connection-status>b.pending{background:#edf2f5;color:#6a7d8f}.property-connection-status>b.error{background:#ffebed;color:#c53c49}
.property-connection-status>span{font-size:13px;color:#718498;display:flex;gap:7px;align-items:center}.property-connection-sync{margin-top:4px;border:1px solid #d8e3ea;background:#fff;color:#17324b;border-radius:10px;padding:8px 11px;font-size:13px;font-weight:800;display:inline-flex;align-items:center;gap:7px;cursor:pointer}.property-connection-sync:hover{background:#f3f7fa}

.property-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}
.property-kpi-grid article{min-height:145px;padding:22px 20px;border:1px solid #dfe7ee;border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(24,49,77,.045)}
.property-kpi-grid article.primary{background:linear-gradient(145deg,#1D5FBF,#1158bd);border-color:transparent}.property-dashboard.residence .property-kpi-grid article.primary{background:linear-gradient(145deg,#168a83,#106c67)}
.property-kpi-grid span{display:block;font-size:13px;font-weight:850;letter-spacing:.075em;text-transform:uppercase;color:#647991}.property-kpi-grid article.primary span{color:rgba(255,255,255,.76)}
.property-kpi-grid strong{display:block;font-size:24px;line-height:1.1;letter-spacing:-.02em;color:#10223b;margin:14px 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.property-kpi-grid article.primary strong{color:#fff}
.property-kpi-grid small{font-size:13px;line-height:1.4;color:#73869a}.property-kpi-grid article.primary small{color:rgba(255,255,255,.76)}

.property-attention-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.property-attention-grid button{min-height:102px;padding:18px 20px;border:1px solid #dfe7ee;border-radius:15px;background:#fff;display:flex;align-items:center;gap:16px;text-align:left;box-shadow:0 6px 20px rgba(21,46,75,.04)}
.property-attention-grid button>span{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;font-size:24px}.property-attention-grid .blue{background:#e9f2ff;color:#1D5FBF}.property-attention-grid .orange{background:#fff0df;color:#e7801b}.property-attention-grid .red{background:#ffebed;color:#d94753}
.property-attention-grid div{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}.property-attention-grid strong{font-size:30px;color:#10233d;grid-row:1/3}.property-attention-grid b{font-size:15px;color:#1c314d}.property-attention-grid small{font-size:13px;color:#72859a;margin-top:4px}

.property-scoped-report{border-top:4px solid var(--scope-grand)!important}.property-scoped-report.residence{border-top-color:var(--scope-residence)!important}
.dashboard-report-heading h2{font-size:29px!important}.dashboard-report-heading p{font-size:13px!important}.dashboard-report-heading>div>span{font-size:13px!important}
.dashboard-report-heading button{font-size:14px!important;min-height:42px!important;padding:0 14px!important}
.dashboard-report-kpis span{font-size:13px!important}.dashboard-report-kpis strong{font-size:31px!important}.dashboard-report-kpis small{font-size:13px!important}
.dashboard-top-rooms header strong{font-size:17px!important}.dashboard-room-table>div{font-size:13px!important}.dashboard-room-table strong{font-size:13px!important}

.shared-center-banner{border:1px solid #dfe7ee;border-radius:18px;padding:22px 24px;background:linear-gradient(135deg,#f7f9fc,#eef4f8);display:flex;justify-content:space-between;align-items:center;gap:24px}
.shared-center-banner>div:first-child>span{display:block;font-size:13px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:#60758b}.shared-center-banner h2{font-size:22px;letter-spacing:-.03em;margin:6px 0;color:#142942}.shared-center-banner p{font-size:13px;line-height:1.5;color:#697d91;margin:0;max-width:760px}
.shared-center-banner>div:last-child{display:flex;gap:9px;flex-wrap:wrap}.shared-center-banner button{min-height:42px;border:1px solid #d6e0e9;border-radius:10px;background:#fff;color:#23415f;padding:0 13px;font-size:14px;font-weight:800;display:flex;align-items:center;gap:7px}

.property-quick-launcher{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid #dfe7ee;border-radius:16px;box-shadow:0 7px 22px rgba(24,49,77,.045);overflow:hidden}
.property-quick-launcher button{min-height:92px;border:0;background:#fff;display:flex;align-items:center;gap:13px;padding:16px 18px;text-align:left}.property-quick-launcher button+button{border-left:1px solid #edf1f5}.property-quick-launcher button>span{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:21px}.property-quick-launcher .blue{background:#e8f1ff;color:#1D5FBF}.property-quick-launcher .orange{background:#fff0dd;color:#e9851e}.property-quick-launcher .red{background:#ffeaec;color:#dc4651}.property-quick-launcher .green{background:#e6f7ef;color:#169663}.property-quick-launcher .purple{background:#f0eaff;color:#7754d8}
.property-quick-launcher strong{display:block;font-size:14px;color:#152842}.property-quick-launcher small{display:block;font-size:13px;line-height:1.35;color:#718399;margin-top:4px}

/* Housekeeping readability corrections */
.housekeeping-page-reference{gap:16px!important}
.housekeeping-page-reference .reference-page-header h1{font-size:38px!important}
.housekeeping-page-reference .reference-page-header p{font-size:14px!important}
.housekeeping-page-reference .reference-page-header>div>span{font-size:13px!important}
.housekeeping-page-actions select,.housekeeping-page-actions button,.housekeeping-page-actions input{min-height:46px!important;font-size:14px!important;padding:0 14px!important;border-radius:11px!important}
.housekeeping-page-reference .reference-subtabs{padding:8px!important;border-radius:14px!important;gap:6px!important}
.housekeeping-page-reference .reference-subtab{padding:12px 17px!important;font-size:13px!important;border-radius:10px!important}
.housekeeping-reference-board{gap:13px!important}
.housekeeping-reference-board .reference-board-column{border-radius:15px!important;padding:13px!important}
.housekeeping-reference-board .reference-board-column>header{margin-bottom:12px!important}
.housekeeping-reference-board .reference-board-column>header strong{font-size:13px!important;letter-spacing:.055em!important}
.housekeeping-reference-board .reference-board-column>header span{font-size:13px!important}
.housekeeping-reference-board .reference-board-column>header button{font-size:16px!important}
.housekeeping-reference-board .reference-board-cards{grid-template-columns:repeat(auto-fill,minmax(126px,1fr))!important;gap:8px!important}
.housekeeping-reference-board .reference-room-task{border-radius:10px!important;padding:9px!important;min-height:76px!important}
.housekeeping-reference-board .reference-room-task strong{font-size:15px!important;line-height:1.1!important}
.housekeeping-reference-board .reference-room-task>span{font-size:12px!important;line-height:1.3!important;margin-top:5px!important;min-height:0!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
.housekeeping-reference-board .reference-room-task footer{margin-top:8px!important}.housekeeping-reference-board .reference-room-task footer small,.housekeeping-reference-board .reference-room-task footer time{font-size:11px!important}
.housekeeping-reference-board .reference-room-task em{font-size:11px!important;margin-top:5px!important}
.housekeeping-reference-board .reference-more-rooms{font-size:13px!important;padding:11px 0 3px!important}.housekeeping-reference-board .reference-column-empty{font-size:13px!important;padding:35px 12px!important}

@media(max-width:1250px){.property-kpi-grid{grid-template-columns:repeat(3,1fr)}.property-quick-launcher{grid-template-columns:repeat(3,1fr)}.property-quick-launcher button+button{border-left:0;border-top:1px solid #edf1f5}.housekeeping-reference-board{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:900px){.property-dashboard-header,.property-connection-banner,.shared-center-banner{flex-direction:column;align-items:stretch}.property-dashboard-actions{width:100%}.property-workspace-switch{grid-template-columns:1fr}.property-kpi-grid,.property-attention-grid{grid-template-columns:1fr 1fr}.property-connection-status{min-width:0}.property-quick-launcher{grid-template-columns:1fr 1fr}.housekeeping-reference-board{grid-template-columns:1fr!important}.housekeeping-reference-board .reference-board-cards{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))!important}}
@media(max-width:620px){.main{padding:18px 12px 36px!important}.property-dashboard-header h1{font-size:31px}.property-kpi-grid,.property-attention-grid,.property-quick-launcher{grid-template-columns:1fr}.property-quick-launcher button+button{border-top:1px solid #edf1f5}.property-dashboard-actions label,.property-dashboard-actions>button:not(.property-alert-button){flex:1}.shared-center-banner>div:last-child{display:grid}.housekeeping-page-reference .reference-page-header h1{font-size:31px!important}}

/* V87.9 — Housekeeping date navigation + daily work tracking polish */
.hk-date-tools{display:flex;flex-direction:column;gap:8px;align-items:flex-end;min-width:320px}
.hk-date-nav{display:flex;align-items:stretch;gap:8px;width:100%}
.hk-date-arrow{width:46px;min-width:46px;border:1px solid #d7e1ea;background:#fff;color:#193451;border-radius:11px;display:grid;place-items:center;font-size:20px;cursor:pointer;transition:.15s ease}
.hk-date-arrow:hover{background:#f3f7fb;border-color:#c7d5e2}
.hk-date-main{position:relative;flex:1;min-width:210px;border:1px solid #d7e1ea;background:#fff;border-radius:11px;padding:8px 42px 8px 42px;display:flex;align-items:center;cursor:pointer;box-shadow:0 4px 14px rgba(22,48,76,.035)}
.hk-date-main>i{position:absolute;left:14px;font-size:18px;color:#1d5fbf}.hk-date-main>.hk-date-chevron{left:auto;right:14px;color:#5e7186;font-size:16px}
.hk-date-copy{display:flex;flex-direction:column;line-height:1.15}.hk-date-copy strong{font-size:14px;color:#174f9c}.hk-date-copy small{font-size:11px;color:#73869a;margin-top:3px}
.hk-date-main input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.hk-date-quick{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap;width:100%}
.hk-date-quick button{min-height:34px!important;padding:0 12px!important;border-radius:9px!important;font-size:12px!important;border:1px solid #d7e1ea!important;background:#fff!important;color:#334c68!important;font-weight:800!important}
.hk-date-quick button.active{border-color:#4d86d7!important;color:#165db8!important;background:#f2f7ff!important}

.hk-daily-card{overflow:hidden}.hk-daily-card .section-header{padding:16px 18px}.hk-daily-card .operations-tracking-note{margin:0 14px 12px}
.hk-summary-band{margin:0 14px 12px;border:1px solid #e8c97d;border-radius:14px;background:linear-gradient(90deg,#fff9ea,#ffffff);padding:15px 16px;display:grid;grid-template-columns:minmax(280px,1.3fr) minmax(360px,1fr);gap:18px;align-items:center}
.hk-priority-lead{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center}.hk-priority-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#edb847;color:#fff;font-size:20px}.hk-priority-copy strong{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.035em;color:#2a2d33}.hk-priority-copy span{display:block;margin-top:4px;font-size:12px;color:#6e6247;line-height:1.35}.hk-priority-rate{text-align:right}.hk-priority-rate b{display:block;font-size:27px;color:#a36b08;line-height:1}.hk-priority-rate small{font-size:11px;color:#775e2b}
.hk-glance{border-left:1px solid #e3e9f0;padding-left:18px}.hk-glance-title{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;color:#2f3741}.hk-glance-grid{display:grid;grid-template-columns:repeat(4,1fr)}.hk-glance-grid div{padding:0 10px;border-left:1px solid #e2e5e9}.hk-glance-grid div:first-child{border-left:0;padding-left:0}.hk-glance-grid span{display:block;font-size:10px;font-weight:800;color:#53687e}.hk-glance-grid b{display:block;font-size:22px;margin-top:4px;color:#10233d}.hk-glance-grid b.good{color:#168d66}.hk-glance-grid b.bad{color:#cf4650}.hk-glance-grid b.blue{color:#1d63bd}

.operations-service-grid.hk-service-grid{padding:0 14px 12px;gap:10px}.hk-service-grid .operations-service-card{position:relative;padding:15px 16px 13px;min-height:126px;box-shadow:0 4px 16px rgba(23,49,78,.035)}.hk-service-grid .operations-service-card.priority:first-child{border-left-color:#dd554c}.hk-service-grid .operations-service-card:nth-child(2){border-left-color:#efa325}.hk-service-grid .operations-service-card.stayover{border-left-color:#3f75b8;background:#fbfdff}.hk-service-head{display:flex;align-items:center;gap:8px}.hk-service-head i{font-size:20px}.hk-service-grid .operations-service-card:first-child .hk-service-head i{color:#d64b45}.hk-service-grid .operations-service-card:nth-child(2) .hk-service-head i{color:#e39712}.hk-service-grid .operations-service-card.stayover .hk-service-head i{color:#296cc1}.hk-service-main{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-top:10px}.hk-service-main strong{margin:0!important}.hk-service-rate{text-align:right;font-size:11px!important;color:#73869a!important}.hk-service-rate b{display:block;font-size:19px;color:#1d63bd}.hk-progress{height:5px;border-radius:999px;background:#e8eef4;margin-top:12px;overflow:hidden}.hk-progress span{height:100%;display:block;border-radius:999px;background:#2e6fc1}.hk-service-grid .operations-service-card:first-child .hk-progress span{background:#d9554d}.hk-service-grid .operations-service-card:nth-child(2) .hk-progress span{background:#19a175}.hk-service-grid .operations-service-card.stayover .hk-progress span{background:#2e6fc1}
.hk-staff-summary{padding:0 14px 14px;overflow:auto}.hk-staff-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #e2e8ee;border-radius:12px;overflow:hidden}.hk-staff-table th{background:#f7f9fb;color:#718397;font-size:11px;text-transform:uppercase;letter-spacing:.055em;padding:11px 13px;text-align:left}.hk-staff-table td{padding:11px 13px;border-top:1px solid #edf1f4;font-size:13px}.hk-staff-table td:not(:first-child){font-variant-numeric:tabular-nums}.hk-staff-table .workload-pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef4fb;color:#31597f;font-weight:800}

.hk-worklist-card .section-header{padding:16px 18px}.hk-worklist-wrap{overflow:auto}.hk-worklist{width:100%;border-collapse:separate;border-spacing:0}.hk-worklist thead th{position:sticky;top:0;z-index:1;background:#f7f9fb;color:#718397;font-size:11px;text-transform:uppercase;letter-spacing:.055em;padding:12px 14px;border-bottom:1px solid #e1e7ed;text-align:left}.hk-worklist tbody tr{background:#fff}.hk-worklist tbody tr:nth-child(even){background:#fbfcfd}.hk-worklist tbody tr:hover{background:#f5f9fe}.hk-worklist td{padding:12px 14px;border-bottom:1px solid #edf1f4;font-size:13px;vertical-align:middle}.hk-room-number{font-size:15px;font-weight:900;color:#14283f}.hk-status-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:#edf4ff;color:#1e61b8;font-weight:800;font-size:11px}.hk-status-pill.danger{background:#fff0ef;color:#bf423b}.hk-status-pill.warn{background:#fff6e7;color:#a66b12}.hk-status-pill.good{background:#eaf8f2;color:#12835d}.hk-row-note{font-size:11px;color:#6f8296;margin-top:4px;max-width:240px}.hk-work-actions{display:flex;align-items:center;gap:7px;white-space:nowrap}.hk-action-primary,.hk-action-secondary,.hk-action-more{min-height:34px!important;border-radius:9px!important;padding:0 11px!important;font-size:12px!important}.hk-action-more{width:36px!important;padding:0!important;display:grid!important;place-items:center!important}
.hk-more-menu{position:relative}.hk-more-menu summary{list-style:none}.hk-more-menu summary::-webkit-details-marker{display:none}.hk-more-popover{position:absolute;right:0;top:39px;z-index:30;min-width:170px;background:#fff;border:1px solid #dce4eb;border-radius:10px;box-shadow:0 12px 30px rgba(24,49,77,.15);padding:6px}.hk-more-popover button{width:100%;border:0;background:#fff;text-align:left;padding:9px 10px;border-radius:7px;font-size:12px;color:#29435e;cursor:pointer}.hk-more-popover button:hover{background:#f3f7fb}.hk-more-popover button.danger{color:#b83f47}

@media(max-width:1000px){.hk-date-tools{min-width:280px}.hk-summary-band{grid-template-columns:1fr}.hk-glance{border-left:0;border-top:1px solid #e3e9f0;padding:12px 0 0}.hk-worklist{min-width:900px}}
@media(max-width:760px){.housekeeping-page-reference .reference-page-header{align-items:stretch!important}.hk-date-tools{width:100%;min-width:0;align-items:stretch}.hk-date-main{min-width:0}.hk-date-quick{justify-content:stretch}.hk-date-quick button{flex:1}.hk-summary-band{margin-left:10px;margin-right:10px}.hk-priority-lead{grid-template-columns:38px 1fr}.hk-priority-rate{grid-column:2;text-align:left}.hk-glance-grid{grid-template-columns:repeat(2,1fr);row-gap:10px}.operations-service-grid.hk-service-grid{padding-left:10px;padding-right:10px}}

/* V87.9.1 — Housekeeping alignment fix */
.housekeeping-page-reference .reference-page-header{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(430px,520px)!important;
  align-items:start!important;
  column-gap:30px!important;
}
.housekeeping-page-actions{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(255px,1fr) auto!important;
  gap:10px!important;
  align-items:start!important;
  justify-self:end!important;
}
.housekeeping-page-actions>select{width:100%!important;min-width:0!important}
.housekeeping-page-actions>button{white-space:nowrap!important;justify-content:center!important}
.housekeeping-page-actions .hk-date-tools{grid-column:1/-1!important;width:100%!important;min-width:0!important;align-items:stretch!important}
.housekeeping-page-actions .hk-date-nav{width:100%!important;display:grid!important;grid-template-columns:46px minmax(0,1fr) 46px!important;gap:9px!important}
.housekeeping-page-actions .hk-date-main{min-width:0!important;width:100%!important}
.housekeeping-page-actions .hk-date-quick{justify-content:flex-end!important;width:100%!important}

.morning-sheet-controls{overflow:visible!important}
.morning-sheet-controls .section-header{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:22px!important;
  align-items:start!important;
  padding:18px 20px 14px!important;
}
.morning-sheet-controls .section-header>div:first-child{min-width:0!important}
.morning-sheet-controls .section-header .section-title{margin-bottom:5px!important}
.morning-sheet-controls .section-header .btn{align-self:start!important;white-space:nowrap!important}
.morning-sheet-toolbar{
  display:grid!important;
  grid-template-columns:minmax(190px,220px) auto auto minmax(170px,1fr) auto auto!important;
  gap:10px!important;
  align-items:end!important;
  padding:14px 20px 18px!important;
  border-top:1px solid #e7edf3!important;
  background:#fbfcfe!important;
}
.morning-sheet-toolbar .morning-sheet-date{min-width:0!important;width:100%!important}
.morning-sheet-toolbar .morning-sheet-date label{display:block!important;margin:0 0 6px!important;font-size:11px!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#65798f!important;font-weight:850!important}
.morning-sheet-toolbar .morning-sheet-date input{width:100%!important;min-height:43px!important}
.morning-sheet-toolbar>.badge{align-self:center!important;justify-self:start!important;white-space:nowrap!important;margin:0!important}
.morning-sheet-controls + .metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}

@media(max-width:1180px){
  .housekeeping-page-reference .reference-page-header{grid-template-columns:minmax(0,1fr) minmax(390px,470px)!important}
  .morning-sheet-toolbar{grid-template-columns:minmax(190px,1fr) auto auto!important}
  .morning-sheet-toolbar>.badge{grid-column:1/-1!important;justify-self:start!important}
}
@media(max-width:900px){
  .housekeeping-page-reference .reference-page-header{grid-template-columns:1fr!important}
  .housekeeping-page-actions{justify-self:stretch!important;max-width:none!important}
  .housekeeping-page-actions .hk-date-quick{justify-content:flex-start!important}
  .morning-sheet-controls .section-header{grid-template-columns:1fr!important}
  .morning-sheet-controls .section-header .btn{justify-self:start!important}
  .morning-sheet-controls + .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:680px){
  .housekeeping-page-actions{grid-template-columns:1fr!important}
  .housekeeping-page-actions .hk-date-tools{grid-column:1!important}
  .housekeeping-page-actions .hk-date-nav{grid-template-columns:42px minmax(0,1fr) 42px!important}
  .housekeeping-page-actions .hk-date-quick{display:grid!important;grid-template-columns:repeat(3,1fr)!important;justify-content:stretch!important}
  .housekeeping-page-actions .hk-date-quick button{justify-content:center!important}
  .morning-sheet-toolbar{grid-template-columns:1fr!important;padding:14px 16px 16px!important}
  .morning-sheet-toolbar>.badge{grid-column:1!important;white-space:normal!important}
  .morning-sheet-toolbar>.btn{width:100%!important;justify-content:center!important}
  .morning-sheet-controls + .metrics-grid{grid-template-columns:1fr 1fr!important}
}

/* ==== 14-v30-property-logo-fix.css ==== */
.property-nav-item{display:flex!important;align-items:center!important;gap:14px!important}
.property-nav-logo{width:24px;height:24px;object-fit:contain;flex:0 0 24px;border-radius:6px;background:rgba(255,255,255,.08);padding:2px}
.property-nav-item.active .property-nav-logo{background:rgba(255,255,255,.16)}
.property-workspace-switch button>.property-workspace-logo-wrap{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;flex:0 0 48px;background:#dce5ed;overflow:hidden}
.property-workspace-logo{width:42px;height:42px;display:block;object-fit:contain}
.property-workspace-switch button.active.grand>.property-workspace-logo-wrap{background:var(--scope-grand-soft)}
.property-workspace-switch button.active.residence>.property-workspace-logo-wrap{background:var(--scope-residence-soft)}

/* ==== 15-v33-mobile-layout-polish.css ==== */
/* V33 — focused mobile alignment and navigation cleanup */
@media (max-width: 860px) {
  html, body { overflow-x:hidden; }
  .mobile-menu-btn {
    left:max(12px, env(safe-area-inset-left));
    top:max(12px, env(safe-area-inset-top));
    width:46px;height:46px;border-radius:14px;
  }
  .sidebar {
    left:calc(-1 * min(330px, calc(100vw - 54px)))!important;
    width:min(330px, calc(100vw - 54px))!important;
    padding-top:env(safe-area-inset-top)!important;
    padding-bottom:env(safe-area-inset-bottom)!important;
    overflow-x:hidden!important;
  }
  body.mobile-nav-open .sidebar { left:0!important; }
  .sidebar-logo { padding:18px 18px 15px!important; }
  .brand-lockup { justify-content:flex-start!important; }
  .property-switcher,.sidebar-date { display:none!important; }
  .reference-nav { padding:8px 10px 18px!important; }
  .nav-section-label {
    padding:18px 12px 7px!important;
    font-size:12px!important;letter-spacing:.12em!important;
  }
  .reference-nav .nav-item,
  .sidebar .nav-item {
    width:100%!important;min-height:50px!important;margin:3px 0!important;
    padding:11px 13px!important;display:flex!important;flex-direction:row!important;
    justify-content:flex-start!important;align-items:center!important;gap:13px!important;
    text-align:left!important;font-size:16px!important;line-height:1.25!important;
    white-space:normal!important;overflow:visible!important;
  }
  .reference-nav .nav-item i,
  .sidebar .nav-item i {
    width:24px!important;min-width:24px!important;font-size:22px!important;
    display:grid!important;place-items:center!important;margin:0!important;
  }
  .property-nav-logo {
    width:34px!important;height:34px!important;min-width:34px!important;
    margin:0!important;border-radius:10px!important;
  }
  .sidebar-user {
    display:flex!important;position:sticky!important;bottom:0!important;
    margin-top:auto!important;background:#0d2944!important;
    padding:14px 16px calc(14px + env(safe-area-inset-bottom))!important;
  }
  .main { padding:calc(74px + env(safe-area-inset-top)) 14px 28px!important; }

  .property-dashboard { gap:14px!important; }
  .property-dashboard-header { gap:14px!important; }
  .property-dashboard-heading { gap:0!important; }
  .property-dashboard-logo { display:none!important; }
  .property-dashboard-eyebrow {
    font-size:11px!important;line-height:1.35!important;letter-spacing:.08em!important;
    margin-bottom:6px!important;
  }
  .property-dashboard-header h1 {
    font-size:clamp(30px,9vw,40px)!important;line-height:1.02!important;
    letter-spacing:-.045em!important;
  }
  .property-dashboard-header p {
    margin-top:8px!important;font-size:16px!important;line-height:1.4!important;
  }
  .property-dashboard-actions {
    width:100%!important;display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) 52px!important;gap:9px!important;
  }
  .property-dashboard-actions label,
  .property-dashboard-actions>button:not(.property-alert-button) {
    min-width:0!important;width:100%!important;min-height:52px!important;
    padding:0 11px!important;justify-content:center!important;text-align:center!important;
    font-size:14px!important;line-height:1.15!important;
  }
  .property-dashboard-actions input { min-width:0!important;width:100%!important;font-size:14px!important; }
  .property-alert-button { width:52px!important;height:52px!important; }

  .property-workspace-switch {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;padding:6px!important;border-radius:16px!important;
  }
  .property-workspace-switch button {
    min-height:74px!important;padding:10px!important;gap:9px!important;align-items:center!important;
  }
  .property-workspace-switch button>.property-workspace-logo-wrap {
    width:42px!important;height:42px!important;flex-basis:42px!important;border-radius:11px!important;
  }
  .property-workspace-switch small { font-size:10px!important;line-height:1.2!important; }
  .property-workspace-switch strong { font-size:14px!important;line-height:1.2!important; }

  .property-connection-banner {
    padding:20px 18px!important;border-radius:20px!important;gap:18px!important;
  }
  .property-connection-identity h2 { font-size:28px!important;line-height:1.08!important; }
  .property-connection-identity p { font-size:15px!important;line-height:1.5!important; }
  .property-connection-status { gap:9px!important;align-items:flex-start!important; }
  .property-connection-sync { width:100%!important;justify-content:center!important;min-height:48px!important; }
}

@media (max-width: 430px) {
  .main { padding-left:10px!important;padding-right:10px!important; }
  .property-dashboard-actions { grid-template-columns:1fr 1fr 50px!important; }
  .property-dashboard-actions label,
  .property-dashboard-actions>button:not(.property-alert-button) { padding:0 8px!important;font-size:13px!important; }
  .property-workspace-switch button { flex-direction:column!important;text-align:center!important;justify-content:center!important;gap:6px!important; }
  .property-workspace-switch button span:last-child { justify-items:center!important; }
  .property-workspace-switch button>.property-workspace-logo-wrap { width:38px!important;height:38px!important;flex-basis:38px!important; }
  .property-connection-banner { padding:18px 15px!important; }
  .property-connection-identity h2 { font-size:25px!important; }
}

/* ==== 16-block-16.css ==== */
/* V82 Intelligence Center */
.intel-page{display:flex;flex-direction:column;gap:20px}
.intel-hero{
  position:relative;overflow:hidden;border-radius:18px;padding:28px 30px;
  background:linear-gradient(135deg,#10243d 0%,#183b63 58%,#1b527c 100%);
  color:#fff;box-shadow:0 14px 38px rgba(23,50,79,.17)
}
.intel-hero:after{
  content:"";position:absolute;width:300px;height:300px;border-radius:50%;
  right:-90px;top:-120px;background:rgba(255,255,255,.07)
}
.intel-hero-top{position:relative;z-index:1;display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.intel-eyebrow{font-size:12px;font-weight:850;letter-spacing:.13em;text-transform:uppercase;color:#9fc7ec}
.intel-hero h1{font-size:31px;line-height:1.1;margin:6px 0 8px;letter-spacing:-.035em}
.intel-hero p{max-width:760px;margin:0;color:rgba(255,255,255,.74);line-height:1.55}
.intel-hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.intel-hero-actions button,.intel-scope button,.intel-tabs button{
  border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.08);color:#fff;
  border-radius:10px;padding:9px 12px;font-weight:780;cursor:pointer
}
.intel-hero-actions button:hover{background:rgba(255,255,255,.15)}
.intel-scopebar{position:relative;z-index:1;margin-top:22px;display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.intel-scope,.intel-period{display:flex;gap:7px;flex-wrap:wrap}
.intel-scope button,.intel-period button{
  border:1px solid rgba(255,255,255,.16);background:transparent;color:rgba(255,255,255,.76);
  padding:8px 12px;border-radius:999px;font-weight:760;cursor:pointer
}
.intel-scope button.active,.intel-period button.active{background:#fff;color:#17324f;border-color:#fff}
.intel-tabs{display:flex;gap:7px;flex-wrap:wrap;padding:6px;background:#f1f5f8;border:1px solid #e1e8ee;border-radius:13px}
.intel-tabs button{border:0;background:transparent;color:#587086;padding:9px 14px}
.intel-tabs button.active{background:#fff;color:#17324f;box-shadow:0 2px 8px rgba(20,43,69,.08)}
.intel-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.intel-kpi{background:#fff;border:1px solid #dde6ed;border-radius:15px;padding:17px 18px;min-width:0}
.intel-kpi span{display:block;color:#708293;font-size:11px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.intel-kpi strong{display:block;margin-top:7px;font-size:24px;line-height:1.08;color:#142b43;letter-spacing:-.03em}
.intel-kpi small{display:block;margin-top:6px;color:#81909f;line-height:1.35}
.intel-delta{font-size:12px!important;font-weight:800!important}
.intel-delta.up{color:#17865f!important}.intel-delta.down{color:#c45151!important}.intel-delta.flat{color:#76889a!important}
.intel-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}
.intel-card{background:#fff;border:1px solid #dde6ed;border-radius:16px;overflow:hidden}
.intel-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:19px 20px;border-bottom:1px solid #edf1f4}
.intel-card-head span{display:block;color:#748697;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.intel-card-head h2{font-size:18px;margin:4px 0 0;color:#18314b}
.intel-card-head p{font-size:13px;color:#7a8a99;margin:5px 0 0}
.intel-card-body{padding:18px 20px}
.intel-brief{font-size:14px;line-height:1.58;color:#364e65}
.intel-brief strong{color:#142d47}
.intel-action-list{display:flex;flex-direction:column;gap:10px}
.intel-alert{display:flex;gap:12px;padding:13px 14px;border:1px solid #e3eaf0;border-radius:12px;background:#fbfcfd}
.intel-alert i{font-size:19px;margin-top:1px}
.intel-alert.high i{color:#c74b4b}.intel-alert.medium i{color:#c48629}.intel-alert.good i{color:#16835e}.intel-alert.info i{color:#397db7}
.intel-alert strong{display:block;color:#1e3851;font-size:13px}.intel-alert span{display:block;color:#6f8191;font-size:12px;margin-top:3px;line-height:1.4}
.intel-chart{display:flex;align-items:flex-end;gap:8px;height:190px;padding-top:20px}
.intel-bar-wrap{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px}
.intel-bar{width:100%;max-width:34px;min-height:3px;background:linear-gradient(180deg,#418bc5,#235f96);border-radius:7px 7px 2px 2px}
.intel-bar-wrap strong{font-size:11px;color:#3d556d}.intel-bar-wrap small{font-size:10px;color:#8a98a5;white-space:nowrap}
.intel-table{width:100%;border-collapse:collapse;font-size:13px}
.intel-table th{padding:10px 8px;text-align:left;color:#778897;font-size:10px;text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid #e8eef2}
.intel-table td{padding:11px 8px;border-bottom:1px solid #edf1f4;color:#3f566d}
.intel-table tr:last-child td{border-bottom:0}.intel-table td strong{color:#19324b}
.intel-progress{height:7px;background:#edf2f5;border-radius:999px;overflow:hidden;min-width:80px}
.intel-progress i{display:block;height:100%;background:#397fba;border-radius:inherit}
.intel-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.intel-stat{padding:14px;border-radius:12px;background:#f7f9fb;border:1px solid #e6edf2}
.intel-stat span{font-size:11px;color:#778999;text-transform:uppercase;font-weight:850;letter-spacing:.05em}
.intel-stat strong{display:block;font-size:20px;color:#19334d;margin-top:5px}
.intel-spark{display:flex;gap:5px;align-items:flex-end;height:82px}
.intel-spark i{flex:1;background:#4d8fc4;border-radius:4px 4px 1px 1px;min-height:2px}
.intel-note{font-size:12px;color:#7d8c9a;margin-top:12px;line-height:1.5}
.intel-empty{padding:28px;text-align:center;color:#82909d}
.intel-tag{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#eef5fb;color:#3477ad;font-size:11px;font-weight:800}
.intel-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:1200px){.intel-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.intel-grid,.intel-two{grid-template-columns:1fr}.intel-hero-top{flex-direction:column}.intel-hero-actions{justify-content:flex-start}.intel-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.intel-hero{padding:21px 18px}.intel-hero h1{font-size:25px}.intel-kpis{grid-template-columns:1fr 1fr}.intel-kpi{padding:14px}.intel-kpi strong{font-size:20px}.intel-stat-grid{grid-template-columns:1fr}.intel-card-body{padding:15px}.intel-card-head{padding:16px}}

/* ==== 17-block-17.css ==== */
/* V83 Revenue & Market Intelligence */
.market-demand-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}
.market-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.market-day{border:1px solid #e1e8ee;border-radius:12px;padding:10px;background:#fff;min-height:112px;cursor:pointer;transition:.15s}
.market-day:hover{transform:translateY(-1px);box-shadow:0 5px 16px rgba(26,51,78,.08)}
.market-day .date{font-size:12px;font-weight:850;color:#1b3854}
.market-day .score{font-size:22px;font-weight:900;margin-top:6px;letter-spacing:-.03em}
.market-day .meta{font-size:11px;color:#718394;margin-top:5px;line-height:1.35}
.market-day.low .score{color:#6f879c}.market-day.normal .score{color:#3879ad}.market-day.elevated .score{color:#a8771e}.market-day.high .score{color:#c45b34}.market-day.compression .score{color:#b43c4e}
.market-pill{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:850;margin-top:6px;background:#eef3f7;color:#4e687f}
.market-event{padding:12px 13px;border:1px solid #e5ebef;border-radius:12px;background:#fafcfd;margin-bottom:10px}
.market-event:last-child{margin-bottom:0}
.market-event strong{display:block;font-size:13px;color:#1d3852}
.market-event span{display:block;font-size:11px;color:#758797;margin-top:4px;line-height:1.45}
.market-event em{font-style:normal;font-weight:850;color:#396f9d}
.market-rec{padding:13px 14px;border-radius:12px;background:#f5f9fc;border:1px solid #dce8f1;margin-top:10px}
.market-rec strong{display:block;color:#173650;font-size:13px}.market-rec span{display:block;color:#6d8191;font-size:12px;margin-top:4px;line-height:1.45}
.pickup-table td,.pickup-table th{white-space:nowrap}
.demand-legend{display:flex;gap:6px;flex-wrap:wrap}
.demand-legend span{font-size:10px;font-weight:800;padding:5px 7px;border-radius:999px;background:#eef3f7;color:#567086}
@media(max-width:1000px){.market-demand-grid{grid-template-columns:1fr}.market-calendar{grid-template-columns:repeat(4,1fr)}}
@media(max-width:650px){.market-calendar{grid-template-columns:repeat(2,1fr)}}

/* ==== 18-block-18.css ==== */
/* V88.0 — Permits & Licenses polish */
.permits-shell{display:grid;gap:18px}
.permits-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px;border:1px solid #dfe7ef;border-radius:20px;background:linear-gradient(135deg,#fff 0%,#f7fafc 100%);box-shadow:0 10px 30px rgba(16,36,58,.05)}
.permits-hero-copy{max-width:760px}.permits-eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#7a8798;margin-bottom:7px}.permits-hero h1{margin:0;color:#10233d;font-size:30px;line-height:1.12}.permits-hero p{margin:8px 0 0;color:#657489;font-size:14px;line-height:1.55}
.permits-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.permits-summary-card{background:#fff;border:1px solid #dfe7ef;border-radius:16px;padding:16px 18px;box-shadow:0 6px 20px rgba(16,36,58,.045)}.permits-summary-card .k{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#7a8798;font-weight:800}.permits-summary-card .v{font-size:27px;font-weight:800;color:#10233d;margin-top:5px}.permits-summary-card.ok .v{color:#087f5b}.permits-summary-card.warn .v{color:#a66a00}.permits-summary-card.bad .v{color:#c92a2a}
.permit-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.permit-filter-chips{display:flex;gap:8px;flex-wrap:wrap}.permit-filter-chip{appearance:none;border:1px solid #d9e2ec;background:#fff;color:#42536a;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:750;cursor:pointer;transition:.15s}.permit-filter-chip:hover{border-color:#9db8d9;background:#f7fbff}.permit-filter-chip.active{background:#eaf3ff;color:#0b63ce;border-color:#8db9ee}
.permits-table-wrap{overflow-x:auto}.permits-table td:first-child{color:inherit}.permit-name-cell strong{display:block;color:#10233d;font-size:14px}.permit-number{display:inline-flex;margin-top:5px;padding:3px 7px;border-radius:7px;background:#f2f6fa;color:#53657a;font:700 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.permit-note-preview{display:block;margin-top:5px;color:#7a8798;font-size:11px;max-width:380px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.permit-actions{display:flex;gap:6px;justify-content:flex-end}
#permit-modal .modal{width:min(980px,94vw);max-height:92vh;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 30px 90px rgba(4,21,40,.28)}
#permit-modal .modal-header{padding:20px 24px;background:linear-gradient(135deg,#0f2238,#183a5f);border:0;align-items:flex-start}#permit-modal .modal-title{font-size:19px;font-weight:800}.permit-modal-subtitle{color:#c9d6e4;font-size:12px;margin-top:5px}.permit-modal-kicker{font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#b08d57;margin-bottom:5px}
#permit-modal .modal-close{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:10px;width:36px;height:36px;font-size:23px;line-height:1}
#permit-modal .modal-body{padding:22px 24px 10px;overflow-y:auto}.permit-form-section{border:1px solid #e2e9f0;border-radius:16px;padding:17px;margin-bottom:14px;background:#fbfcfe}.permit-form-section-title{display:flex;align-items:center;gap:8px;color:#18334f;font-size:13px;font-weight:800;margin-bottom:14px}.permit-form-section-title i{color:#b08d57;font-size:17px}.permit-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px}.permit-form-grid .span-2{grid-column:span 2}.permit-form-grid .span-3{grid-column:1/-1}
#permit-modal .form-group label{display:block;font-size:11px;font-weight:800;letter-spacing:.045em;text-transform:uppercase;color:#5d6d81;margin-bottom:6px}#permit-modal .form-group input,#permit-modal .form-group select,#permit-modal .form-group textarea{width:100%;min-height:44px;border:1px solid #cfd9e5;border-radius:11px;background:#fff;color:#10233d;padding:10px 12px;font-size:14px;box-sizing:border-box;transition:.15s}#permit-modal .form-group textarea{min-height:86px;resize:vertical}#permit-modal .form-group input:focus,#permit-modal .form-group select:focus,#permit-modal .form-group textarea:focus{outline:none;border-color:#5c9ee6;box-shadow:0 0 0 3px rgba(52,125,210,.12)}
.permit-upload-zone{position:relative;border:1.5px dashed #b9c8d8;border-radius:13px;background:#fff;padding:16px;display:flex;align-items:center;gap:13px;min-height:70px}.permit-upload-zone i{font-size:26px;color:#3376c8}.permit-upload-zone strong{display:block;color:#18334f;font-size:13px}.permit-upload-zone small{display:block;color:#7a8798;margin-top:3px}.permit-upload-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
#permit-modal .modal-footer{padding:14px 24px 18px;background:#f8fafc;border-top:1px solid #e3eaf1;display:flex;justify-content:flex-end;gap:10px}#permit-modal .modal-footer .btn{min-width:110px;justify-content:center}
@media(max-width:900px){.permits-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.permit-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.permit-form-grid .span-3{grid-column:1/-1}}
@media(max-width:620px){.permits-hero{flex-direction:column}.permits-hero .btn{width:100%;justify-content:center}.permits-summary-grid{grid-template-columns:1fr 1fr}.permit-form-grid{grid-template-columns:1fr}.permit-form-grid .span-2,.permit-form-grid .span-3{grid-column:1}.permit-filter-bar{align-items:flex-start}.permit-filter-chips{width:100%}#permit-modal .modal{width:96vw}.permits-hero h1{font-size:25px}}

/* ==== 19-v88-2-recurring-finance-ui.css ==== */
.finance-smart-modal{width:min(1120px,calc(100vw - 28px));max-height:calc(100vh - 28px);display:flex;flex-direction:column;overflow:hidden;padding:0!important}.finance-modal-head{flex:0 0 auto;background:linear-gradient(120deg,#102f4c,#1d4c79);color:#fff;padding:26px 32px;display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.finance-modal-head h2{margin:4px 0 6px;font-size:28px}.finance-modal-head p{margin:0;color:#dce8f4;max-width:760px}.finance-modal-kicker{color:#e2b75f;font-size:12px;font-weight:800;letter-spacing:.12em}.finance-modal-close{width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;font-size:22px}.finance-modal-body{overflow:auto;min-height:0;flex:1;padding:28px;background:#fff}.finance-modal-section{border:1px solid #dbe5ef;border-radius:20px;padding:24px;margin-bottom:20px;background:#fbfdff}.finance-modal-section h3{margin:0 0 20px;color:#15324d;display:flex;gap:10px;align-items:center}.finance-modal-section h3 i{color:#b88a37}.finance-modal-footer{flex:0 0 auto;border-top:1px solid #dbe5ef;padding:18px 28px;background:#fff;display:flex;justify-content:flex-end;gap:12px}.finance-inline-control{display:flex;gap:10px}.finance-inline-control select{min-width:0;flex:1}.finance-section-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.finance-vendor-list{display:grid;gap:10px}.finance-vendor-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;border:1px solid #dde6ef;border-radius:14px;background:#fff}.finance-vendor-row strong{display:block;color:#15324d}.finance-vendor-row span{display:block;color:#6e8194;font-size:13px;margin-top:3px}.finance-vendor-row.inactive{opacity:.55}.recurring-header{align-items:flex-start}.recurring-month-toolbar{display:flex;align-items:end;gap:24px;padding:18px 22px;border:1px solid #dce6ef;border-radius:18px;background:#fff;margin:20px 0}.recurring-month-toolbar label{display:block;font-size:12px;font-weight:800;text-transform:uppercase;color:#6c8095;margin-bottom:6px}.recurring-month-toolbar input{height:44px;border:1px solid #cfdce8;border-radius:12px;padding:0 12px;font:inherit}.recurring-month-title{display:flex;flex-direction:column}.recurring-month-title strong{font-size:20px;color:#15324d}.recurring-month-title span{color:#718397;font-size:14px}.finance-detail-kpis.four{grid-template-columns:repeat(4,minmax(0,1fr))}.recurring-entry-section,.finance-recurring-setup{margin-top:26px}.finance-section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}.finance-section-heading span{font-size:11px;font-weight:800;letter-spacing:.12em;color:#a8792e}.finance-section-heading h2{margin:4px 0;font-size:24px;color:#102a43}.finance-section-heading p{margin:0;color:#728398}.monthly-bill-workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.monthly-bill-card{border:1px solid #dbe6ef;border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(32,54,73,.05)}.monthly-bill-card>header{padding:18px 20px;border-bottom:1px solid #edf2f6;display:flex;justify-content:space-between;gap:12px}.monthly-bill-card>header span{font-size:11px;font-weight:800;color:#a6792c;text-transform:uppercase}.monthly-bill-card>header h3{margin:4px 0 2px;color:#112f4b;font-size:20px}.monthly-bill-card>header p{margin:0;color:#728397;font-size:13px}.monthly-bill-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px 20px}.monthly-bill-fields label,.monthly-bill-support label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:800;color:#60758a;text-transform:uppercase}.monthly-bill-fields input,.monthly-bill-fields select,.monthly-bill-support input{height:42px;border:1px solid #cfdae6;border-radius:11px;padding:0 11px;font:inherit;color:#132c45;background:#fff}.monthly-bill-support{padding:0 20px 18px;display:grid;grid-template-columns:1fr auto 1.3fr;gap:12px;align-items:end}.monthly-bill-support>a{height:42px;display:flex;align-items:center;color:#1765c0;font-weight:700;white-space:nowrap}.monthly-bill-card>footer{padding:14px 20px;border-top:1px solid #edf2f6;background:#f9fbfd;display:flex;align-items:center;justify-content:space-between;gap:12px}.monthly-bill-status{display:flex;align-items:center;gap:10px}.monthly-bill-status small{color:#7a8b9c}.monthly-bill-card.paid{border-color:#bfe5d1}.monthly-bill-card.paid>footer{background:#f3fbf6}@media(max-width:1000px){.monthly-bill-workspace{grid-template-columns:1fr}.finance-detail-kpis.four{grid-template-columns:repeat(2,1fr)}.monthly-bill-fields{grid-template-columns:repeat(2,1fr)}.monthly-bill-support{grid-template-columns:1fr 1fr}.monthly-bill-notes{grid-column:1/-1}}@media(max-width:640px){.finance-modal-head{padding:20px}.finance-modal-body{padding:14px}.finance-modal-section{padding:16px}.finance-inline-control{flex-direction:column}.recurring-month-toolbar{align-items:stretch;flex-direction:column}.finance-detail-kpis.four{grid-template-columns:1fr 1fr}.monthly-bill-fields{grid-template-columns:1fr}.monthly-bill-support{grid-template-columns:1fr}.monthly-bill-card>footer{align-items:stretch;flex-direction:column}.monthly-bill-card>footer .btn{width:100%}}

/* ==== 20-v88-7-monthly-operating-expenses.css ==== */
.finance-quick-access-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
.finance-operating-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px 21px 8px}.finance-operating-summary article{border:1px solid #dfe7ef;border-radius:14px;padding:16px;display:flex;justify-content:space-between;gap:14px;align-items:center;background:#fbfdff}.finance-operating-summary article>div{display:flex;flex-direction:column;gap:4px}.finance-operating-summary span{font-size:12px;font-weight:800;text-transform:uppercase;color:#6d8195}.finance-operating-summary strong{font-size:24px;color:#102a43}.finance-operating-summary small{color:#7a8c9f}.finance-operating-summary i{font-size:26px}.finance-operating-summary .fixed i{color:#8a6a2f}.finance-operating-summary .variable i{color:#1765c0}.finance-operating-summary .pending i{color:#d47a18}.finance-operating-taxonomy{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:8px 21px 18px}.finance-operating-taxonomy>div{background:#f7f9fc;border-radius:12px;padding:12px 14px}.finance-operating-taxonomy strong{display:block;color:#173550;font-size:12px;margin-bottom:4px}.finance-operating-taxonomy span{color:#718397;font-size:12px;line-height:1.45}.finance-recent-divider{display:flex;align-items:center;gap:12px;padding:4px 21px 10px;color:#718397;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.finance-recent-divider:before,.finance-recent-divider:after{content:"";height:1px;background:#e6edf3;flex:1}.operating-class-guide{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.operating-class-guide article{display:flex;gap:14px;align-items:flex-start;border:1px solid #dce6ef;border-radius:16px;padding:16px 18px;background:#fff}.operating-class-guide i{font-size:26px;margin-top:2px}.operating-class-guide .fixed i{color:#9f752e}.operating-class-guide .variable i{color:#1765c0}.operating-class-guide strong{display:block;color:#15324d;font-size:16px;margin-bottom:4px}.operating-class-guide span{color:#728397;font-size:13px;line-height:1.5}.operating-filter-tabs{display:flex;gap:8px;margin:20px 0 6px;padding:5px;background:#eef3f8;border-radius:14px;width:max-content;max-width:100%}.operating-filter-tabs button{border:0;background:transparent;color:#5c7187;font-weight:800;padding:10px 15px;border-radius:10px}.operating-filter-tabs button.active{background:#fff;color:#155db4;box-shadow:0 2px 8px rgba(31,61,91,.08)}.operating-group.fixed{border-top:3px solid #c6a05a;padding-top:18px}.operating-group.variable{border-top:3px solid #77a8df;padding-top:18px}.saved-record-chip{display:inline-flex;align-items:center;gap:5px;background:#e7f7ef;color:#138257;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800}.monthly-bill-card.saved>header{background:#fbfefd}.monthly-bill-readonly-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-bottom:1px solid #edf2f6}.monthly-bill-readonly-grid>div{padding:14px 18px;border-right:1px solid #edf2f6;border-bottom:1px solid #edf2f6;min-width:0}.monthly-bill-readonly-grid>div:nth-child(3n){border-right:0}.monthly-bill-readonly-grid span{display:block;color:#74879a;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}.monthly-bill-readonly-grid strong{display:block;color:#15324d;font-size:14px;overflow-wrap:anywhere}.monthly-bill-readonly-grid .amount strong{font-size:20px;color:#102a43}.monthly-bill-readonly-grid .wide{grid-column:1/-1;border-right:0}.saved-file-link{color:#1765c0;text-decoration:none}.monthly-bill-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
@media(max-width:1200px){.finance-quick-access-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:850px){.finance-operating-summary,.finance-operating-taxonomy,.operating-class-guide{grid-template-columns:1fr}.monthly-bill-readonly-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-bill-readonly-grid>div:nth-child(3n){border-right:1px solid #edf2f6}.monthly-bill-readonly-grid>div:nth-child(2n){border-right:0}}
@media(max-width:640px){.finance-quick-access-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operating-filter-tabs{width:100%;overflow:auto}.operating-filter-tabs button{white-space:nowrap}.monthly-bill-readonly-grid{grid-template-columns:1fr}.monthly-bill-readonly-grid>div{border-right:0!important}.monthly-bill-actions{align-items:stretch;flex-direction:column}.monthly-bill-actions .btn{width:100%}}
/* V88.8 operating expense alignment + quick add */
.recurring-center{max-width:1460px;margin:0 auto;padding-bottom:48px}
.recurring-center .finance-detail-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:start}
.recurring-center .finance-detail-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;padding-top:0}
.operating-quick-access{margin:26px 0 22px}
.operating-quick-access>header{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:14px}
.operating-quick-access>header h2{margin:3px 0 0;color:#102a43;font-size:22px}
.operating-quick-access>header p{margin:4px 0 0;color:#728397;max-width:760px}
.operating-quick-access-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.operating-quick-box{border:1px solid #dce6ef;border-radius:20px;background:#fff;padding:20px;box-shadow:0 8px 26px rgba(26,52,78,.04)}
.operating-quick-box.fixed{border-top:4px solid #c99b43}.operating-quick-box.variable{border-top:4px solid #3b7fd0}
.operating-quick-box>header{display:flex;gap:12px;align-items:flex-start;margin-bottom:15px}.operating-quick-box>header i{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:21px}.operating-quick-box.fixed>header i{background:#fff6e4;color:#9b6d1e}.operating-quick-box.variable>header i{background:#edf5ff;color:#1765c0}
.operating-quick-box h3{margin:0;color:#15324d;font-size:18px}.operating-quick-box>header p{margin:4px 0 0;color:#73869a;font-size:13px;line-height:1.45}
.operating-quick-items{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.operating-quick-item{border:1px solid #dfe7ef;background:#fbfdff;border-radius:13px;padding:12px 13px;text-align:left;min-height:78px;display:flex;flex-direction:column;gap:4px;transition:.16s ease;cursor:pointer}
.operating-quick-item:hover{border-color:#9ab8d8;background:#f6faff;transform:translateY(-1px);box-shadow:0 6px 16px rgba(32,70,105,.07)}
.operating-quick-item strong{color:#173550;font-size:13px}.operating-quick-item span{color:#74869a;font-size:11px;line-height:1.35}
.operating-quick-box.fixed .operating-quick-item:hover{border-color:#d3b06b;background:#f8fafc}
.recurring-month-toolbar{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:end;gap:24px}
.recurring-month-title{justify-self:start}
.finance-detail-kpis.four{gap:16px}.finance-detail-kpis.four article{min-height:126px}
.operating-filter-tabs{margin-top:24px}
@media(max-width:1000px){.recurring-center .finance-detail-header{grid-template-columns:1fr}.recurring-center .finance-detail-actions{justify-content:flex-start}.operating-quick-access-grid{grid-template-columns:1fr}.operating-quick-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.operating-quick-access>header{align-items:flex-start;flex-direction:column}.operating-quick-items{grid-template-columns:1fr}.recurring-month-toolbar{grid-template-columns:1fr;align-items:stretch}.finance-detail-kpis.four{grid-template-columns:1fr 1fr}}

/* ==== 21-v88-9-finance-workflow-ux.css ==== */
.finance-workflow-page{max-width:1460px;margin:0 auto;padding:0 0 56px}
.finance-workflow-header{margin-bottom:18px}.finance-workflow-header>div:first-child p{max-width:850px}
.finance-workflow-tabs{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#eaf0f6;border:1px solid #dbe5ef;border-radius:18px;padding:7px;margin:8px 0 20px}
.finance-workflow-tabs button{border:0;background:transparent;border-radius:13px;padding:14px 16px;display:flex;gap:12px;align-items:center;text-align:left;color:#5f7489;cursor:pointer}
.finance-workflow-tabs button>i{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:rgba(255,255,255,.6);font-size:20px}.finance-workflow-tabs button span{display:flex;flex-direction:column;gap:2px}.finance-workflow-tabs button strong{font-size:14px;color:#28435d}.finance-workflow-tabs button small{font-size:11px;color:#75879a}.finance-workflow-tabs button.active{background:#fff;box-shadow:0 4px 14px rgba(27,53,78,.08)}.finance-workflow-tabs button.active>i{background:#eaf3ff;color:#1765c0}.finance-workflow-tabs button.active strong{color:#1259ad}
.finance-month-workbar{margin:0 0 16px}.finance-operating-kpis{display:grid;grid-template-columns:1.25fr repeat(4,1fr);gap:12px;margin:0 0 10px}.finance-operating-kpis article{min-height:116px;border:1px solid #dce6ef;border-radius:16px;background:#fff;padding:17px}.finance-operating-kpis article span{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#718397}.finance-operating-kpis article strong{display:block;font-size:25px;color:#102a43;margin:8px 0 3px}.finance-operating-kpis article small{color:#7b8c9e;font-size:11px}.finance-operating-kpis .total{border-top:3px solid #1765c0}.finance-operating-kpis .warning{border-top:3px solid #d48a22}.finance-operating-kpis .pending{border-top:3px solid #b85f5f}
.finance-month-filter{margin:14px 0 20px}.finance-work-queue{margin-top:22px}.finance-work-queue-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:0 0 12px;padding:0 2px}.finance-work-queue-head span{font-size:11px;letter-spacing:.12em;font-weight:900}.finance-work-queue-head h2{margin:3px 0 2px;font-size:22px;color:#14324d}.finance-work-queue-head p{margin:0;color:#74869a;font-size:13px}.finance-work-queue-head>strong{min-width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-size:15px}.finance-work-queue.attention .finance-work-queue-head span{color:#b56a1e}.finance-work-queue.attention .finance-work-queue-head>strong{background:#fff0df;color:#a95e12}.finance-work-queue.complete .finance-work-queue-head span{color:#18845a}.finance-work-queue.complete .finance-work-queue-head>strong{background:#e7f7ef;color:#147b54}
.operating-card-wrap{min-width:0}.operating-card-wrap.attention{border:1px solid #f0d7b5;border-radius:21px;background:#f8fafc;padding:8px}.operating-card-wrap.attention .monthly-bill-card{box-shadow:none;border-color:#e1e8f0}.operating-attention-reasons{display:flex;gap:6px;flex-wrap:wrap;padding:3px 4px 9px}.operating-attention-reasons span{background:#fff0df;color:#9c5a18;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}.copy-last-month{color:#1765c0!important;border-color:#bcd3ea!important;background:#f5faff!important}
.finance-setup-intro{display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid #dce6ef;border-radius:18px;background:#fff;padding:20px 22px;margin-bottom:18px}.finance-setup-intro h2{margin:3px 0 4px;color:#102a43;font-size:22px}.finance-setup-intro p{margin:0;color:#728397}.finance-setup-quick-access{margin:0 0 26px}.finance-setup-list{border-top:1px solid #e1e9f0;padding-top:26px}.contract-status{margin-top:9px!important;min-height:auto!important}.contract-status.warning{color:#a86716!important}.contract-status.bad{color:#bf4148!important}.contract-status.ok{color:#27805a!important}
@media(max-width:1180px){.finance-operating-kpis{grid-template-columns:repeat(3,1fr)}.finance-operating-kpis .total{grid-column:span 1}}
@media(max-width:850px){.finance-workflow-tabs{grid-template-columns:1fr}.finance-operating-kpis{grid-template-columns:repeat(2,1fr)}.finance-setup-intro{align-items:flex-start;flex-direction:column}.finance-setup-intro button{width:100%}.finance-work-queue-head{align-items:flex-start}}
@media(max-width:560px){.finance-operating-kpis{grid-template-columns:1fr}.finance-work-queue-head{flex-direction:column}.finance-workflow-tabs button{padding:11px}.finance-workflow-tabs button small{display:none}}
/* V88.11 finance navigation simplification */
.finance-quick-access-grid{grid-template-columns:repeat(7,minmax(0,1fr));align-items:stretch}
.finance-quick-access-grid button{height:100%;min-height:104px}
.finance-detail-header.finance-workflow-header{align-items:flex-start;gap:24px}
.finance-detail-header.finance-workflow-header .finance-detail-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.finance-one-time-expenses{margin-top:22px}
.finance-one-time-expenses .finance-work-queue-head button.primary{background:#1d66c7;color:#fff;border-color:#1d66c7}
@media(max-width:1200px){.finance-quick-access-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:850px){.finance-detail-header.finance-workflow-header{flex-direction:column}.finance-detail-header.finance-workflow-header .finance-detail-actions{width:100%;justify-content:flex-start}}
@media(max-width:640px){.finance-quick-access-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-detail-header.finance-workflow-header .finance-detail-actions button{width:100%}}

/* ==== 22-v89-weekly-inspection-dashboard.css ==== */
.property-kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.property-kpi-grid article.available-to-sell{border-color:#c9e9d9;background:linear-gradient(180deg,#fff,#f4fcf8)}
.property-kpi-grid article.available-to-sell strong{color:#12825c}
.weekly-inspection-shell{display:grid;gap:18px}
.wi-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.wi-summary-card{border:1px solid #dfe7ee;border-radius:16px;background:#fff;padding:18px}
.wi-summary-card span{display:block;font-size:12px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:#71849a}
.wi-summary-card strong{display:block;font-size:29px;color:#11243c;margin-top:8px}
.wi-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px;flex-wrap:wrap;border:1px solid #dfe7ee;border-radius:16px;background:#fff;padding:16px}
.wi-toolbar-fields{display:flex;gap:12px;flex-wrap:wrap;align-items:end}
.wi-toolbar label{display:grid;gap:6px;font-size:12px;font-weight:800;text-transform:uppercase;color:#61758c}
.wi-toolbar input{min-width:140px}
.wi-layout{display:grid;grid-template-columns:minmax(360px,.85fr) minmax(520px,1.35fr);gap:16px;align-items:start}
.wi-panel{border:1px solid #dfe7ee;border-radius:18px;background:#fff;overflow:hidden}
.wi-panel-head{padding:17px 18px;border-bottom:1px solid #e6edf3;display:flex;justify-content:space-between;gap:12px;align-items:center}
.wi-panel-head h3{margin:0;color:#152b45;font-size:18px}
.wi-room-list{max-height:720px;overflow:auto}
.wi-room-row{width:100%;border:0;border-bottom:1px solid #edf2f6;background:#fff;padding:14px 16px;text-align:left;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;cursor:pointer}
.wi-room-row:hover,.wi-room-row.active{background:#f3f8ff}
.wi-room-num{width:48px;height:48px;border-radius:13px;background:#eef4fb;display:grid;place-items:center;font-weight:900;color:#17365a;transition:.15s}
.wi-room-num.passed{background:#e7f7ef;color:#0e7d56}
.wi-room-num.maintenance{background:#fff0e8;color:#b85621}
.wi-room-num.dnd{background:#fff3d7;color:#8c5f00}
.wi-room-num.rescheduled{background:#eef3ff;color:#325b9e}
.wi-room-row small{display:block;color:#74869a;margin-top:3px}
.wi-status{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:850;white-space:nowrap}
.wi-status.scheduled{background:#eef4fb;color:#32689d}.wi-status.passed{background:#e7f7ef;color:#0e7d56}.wi-status.maintenance{background:#fff0e8;color:#b85621}
.wi-form{padding:18px;display:grid;gap:16px}
.wi-room-hero{display:flex;justify-content:space-between;gap:14px;align-items:start;border-radius:14px;background:#f7f9fc;padding:14px 16px}
.wi-room-hero h3{margin:0;font-size:22px;color:#10243d}.wi-room-hero p{margin:4px 0 0;color:#6e8195;font-size:13px}
.wi-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.wi-check-item{border:1px solid #e0e8ef;border-radius:12px;padding:11px;background:#fff;transition:.15s}
.wi-check-item.good{border-color:#bfe3cf;background:#f3fbf6}
.wi-check-item.flagged{border-color:#f3b9b9;background:#fff5f5}
.wi-check-item.na{border-color:#e0e5eb;background:#f7f8fa}
.wi-check-item select{border-color:transparent}
.wi-check-item.good select{color:#1f7a4d}
.wi-check-item.flagged select{color:#b23737;font-weight:700}
.wi-check-item.na select{color:#7a8699}
.wi-check-item label{display:block;font-size:13px;font-weight:750;color:#253e58;margin-bottom:7px}
.wi-check-item select{width:100%;height:38px}
.wi-issue-grid{display:grid;grid-template-columns:1fr 180px;gap:12px}.wi-form textarea{min-height:92px}
.wi-photo-zone{position:relative;border:1.5px dashed #b9c9d8;border-radius:13px;padding:15px;background:#fbfcfe;display:flex;gap:10px;align-items:center}.wi-photo-zone input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.wi-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;border-top:1px solid #e6edf3;padding-top:15px}
.wi-empty{padding:42px 18px;text-align:center;color:#718399}.wi-note{font-size:12px;line-height:1.45;color:#6c8095;background:#f7f9fc;border-radius:10px;padding:10px 12px}
@media(max-width:1250px){.property-kpi-grid{grid-template-columns:repeat(3,1fr)}.wi-summary-grid{grid-template-columns:repeat(3,1fr)}.wi-layout{grid-template-columns:1fr}}
@media(max-width:760px){.wi-summary-grid{grid-template-columns:1fr 1fr}.wi-check-grid,.wi-issue-grid{grid-template-columns:1fr}.wi-room-list{max-height:none}}
@media(max-width:520px){.wi-summary-grid{grid-template-columns:1fr}}

/* ==== 23-v89-1-weekly-rotation.css ==== */
.wi-week-progress{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px 18px;display:grid;gap:10px}.wi-week-progress>div:first-child{display:flex;justify-content:space-between;gap:14px;align-items:center}.wi-week-progress span{color:var(--text-muted);font-size:13px}.wi-progress-track{height:8px;background:#e8eef5;border-radius:999px;overflow:hidden}.wi-progress-track span{display:block;height:100%;background:#1769d2;border-radius:999px}.wi-schedule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.wi-schedule-card{border:1px solid var(--border);background:#fff;border-radius:14px;padding:14px;text-align:left;cursor:pointer;display:grid;gap:4px}.wi-schedule-card:hover{border-color:#9dc2ef;background:#f7fbff}.wi-schedule-card span{font-size:12px;font-weight:800;color:#1769d2;text-transform:uppercase}.wi-schedule-card strong{font-size:14px;color:var(--text)}.wi-schedule-card small{font-size:12px;color:var(--text-muted)}.wi-occupied-note{display:flex;gap:10px;align-items:flex-start;background:#fff8e8;border:1px solid #efcf8e;border-radius:12px;padding:12px 14px;color:#715115}.wi-occupied-note i{font-size:20px}.wi-occupied-note div{display:grid;gap:3px}.wi-occupied-note span{font-size:12px}.wi-status.dnd{background:#fff3d7;color:#8c5f00}.wi-status.rescheduled{background:#eef3ff;color:#325b9e}.wi-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr))}@media(max-width:1100px){.wi-summary-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.wi-summary-grid{grid-template-columns:repeat(2,1fr)}.wi-week-progress>div:first-child{align-items:flex-start;flex-direction:column}}

/* ==== 24-finance-v91-user-friendly.css ==== */
.finance-payroll-page{max-width:1240px;margin:0 auto}.finance-payroll-header{align-items:flex-end}.finance-payroll-toolbar{display:grid;grid-template-columns:44px minmax(220px,320px) 44px 1fr;align-items:end;gap:10px;padding:14px 16px;background:#fff;border:1px solid #dce6ef;border-radius:16px;box-shadow:0 6px 20px rgba(25,48,73,.04)}.finance-payroll-toolbar>button{height:44px;border:1px solid #d4e0eb;border-radius:12px;background:#fff;color:#173956;font-size:18px}.finance-payroll-toolbar>button:disabled{opacity:.35}.finance-payroll-toolbar label{display:flex;flex-direction:column;gap:5px}.finance-payroll-toolbar label span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#70849a}.finance-payroll-toolbar select{height:44px;border:1px solid #ccd9e5;border-radius:12px;padding:0 12px;background:#fff;color:#102a43;font:inherit;font-weight:700}.finance-payroll-month-note{display:flex;flex-direction:column;align-items:flex-end}.finance-payroll-month-note strong{font-size:18px;color:#15324d}.finance-payroll-month-note span{font-size:13px;color:#718397}.finance-payroll-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.finance-payroll-summary-grid article{background:#fff;border:1px solid #dce6ef;border-radius:16px;padding:18px;box-shadow:0 6px 20px rgba(25,48,73,.04)}.finance-payroll-summary-grid span{display:block;color:#6f8296;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.finance-payroll-summary-grid strong{display:block;color:#10233f;font-size:25px;margin-top:8px}.finance-payroll-summary-grid small{display:block;margin-top:5px;color:#8392a1;font-size:12px}.finance-payrun-list{display:grid;gap:12px}.finance-payrun-card{background:#fff;border:1px solid #dce6ef;border-radius:17px;padding:18px;display:grid;grid-template-columns:130px 1fr;gap:14px 20px;box-shadow:0 7px 22px rgba(25,48,73,.045)}.finance-payrun-date{grid-row:1/3;border-right:1px solid #e4ebf2;padding-right:18px;display:flex;flex-direction:column;justify-content:center}.finance-payrun-date span,.finance-payrun-main span,.finance-payrun-breakdown span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#75889b;font-weight:800}.finance-payrun-date strong{font-size:17px;color:#14324d;margin-top:4px}.finance-payrun-main{display:flex;justify-content:space-between;gap:20px;align-items:start}.finance-payrun-main strong{display:block;color:#17324c;margin-top:4px}.finance-payrun-amount{text-align:right}.finance-payrun-amount strong{font-size:24px;color:#166c4f}.finance-payrun-breakdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.finance-payrun-breakdown div{background:#f6f9fc;border-radius:11px;padding:10px 12px}.finance-payrun-breakdown strong{display:block;color:#17324c;margin-top:4px}.finance-payrun-footer{grid-column:1/-1;border-top:1px solid #edf1f5;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.finance-payrun-footer a,.finance-payrun-footer>div>button{border:0;background:transparent;color:#1768d7;font-weight:750;text-decoration:none}.finance-payroll-empty{padding:42px 24px;border:1px dashed #c9d8e5;border-radius:18px;background:#fbfdff;text-align:center;display:flex;flex-direction:column;align-items:center}.finance-payroll-empty>i{font-size:34px;color:#5f86ad}.finance-payroll-empty strong{margin-top:10px;font-size:18px;color:#183751}.finance-payroll-empty span{margin-top:5px;max-width:520px;color:#718397}.finance-payroll-empty button{margin-top:16px;border:0;border-radius:11px;background:#1768d7;color:white;padding:10px 16px;font-weight:800}.finance-center-reference{max-width:1320px;margin:0 auto}.finance-center-header,.finance-quick-access-card,.finance-recent-expenses-card{box-shadow:0 7px 22px rgba(25,48,73,.04)}.finance-overview-kpis article{border-radius:16px}.finance-quick-access-grid button{min-height:76px;border-radius:14px}.finance-detail-header h1,.finance-center-header h1{letter-spacing:-.035em}
@media(max-width:900px){.finance-payroll-summary-grid{grid-template-columns:repeat(2,1fr)}.finance-payroll-toolbar{grid-template-columns:42px 1fr 42px}.finance-payroll-month-note{grid-column:1/-1;align-items:flex-start}.finance-payrun-card{grid-template-columns:1fr}.finance-payrun-date{grid-row:auto;border-right:0;border-bottom:1px solid #e8eef4;padding:0 0 10px}.finance-payrun-breakdown{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.finance-detail-page{gap:12px}.finance-payroll-header{align-items:stretch}.finance-payroll-header .finance-detail-actions,.finance-payroll-header .finance-detail-actions button{width:100%}.finance-payroll-toolbar{padding:10px}.finance-payroll-summary-grid{grid-template-columns:1fr 1fr;gap:8px}.finance-payroll-summary-grid article{padding:13px}.finance-payroll-summary-grid strong{font-size:20px}.finance-payroll-summary-grid small{display:none}.finance-payrun-card{padding:14px;gap:12px}.finance-payrun-main{flex-direction:column}.finance-payrun-amount{text-align:left}.finance-payrun-breakdown{grid-template-columns:1fr 1fr}.finance-payrun-footer{align-items:stretch;flex-direction:column}.finance-payrun-footer .finance-table-actions{width:100%;justify-content:flex-end}.finance-center-header{gap:12px}.finance-center-header-actions{width:100%}.finance-month-nav,.finance-add-expense{width:100%}.finance-overview-kpis{grid-template-columns:1fr 1fr!important;gap:8px}.finance-overview-kpis article{padding:14px!important}.finance-overview-kpis strong{font-size:21px!important}.finance-quick-access-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}.finance-quick-access-grid button{min-height:68px!important;padding:10px!important}.finance-recent-expenses-card header{align-items:stretch!important}.finance-recent-expenses-card header>div:last-child{width:100%;display:grid!important;grid-template-columns:1fr 1fr}.finance-recent-expense-list article{grid-template-columns:auto 1fr auto!important;gap:8px!important}.finance-expense-description,.finance-recent-expense-list time{display:none!important}}

/* V91 finance polish: compact, readable management UI */
.finance-detail-page{display:grid;gap:18px;width:100%}
.finance-payroll-page{padding-bottom:32px}
.finance-payroll-header{display:flex;justify-content:space-between;gap:24px;margin-bottom:0}
.finance-payroll-header>div:first-child{max-width:760px}
.finance-payroll-header>div:first-child>span{display:block;margin-top:14px;color:#637b92;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.finance-payroll-header h1{margin:4px 0 7px;font-size:34px;line-height:1.05;color:#10233f}
.finance-payroll-header p{margin:0;color:#6d8196;font-size:14px;line-height:1.55}
.finance-payroll-header .finance-back-button{margin-bottom:8px}
.finance-payroll-header .primary{min-height:46px;padding:0 18px;border:0;border-radius:12px;background:#1768d7;color:#fff;font-weight:800;box-shadow:0 6px 14px rgba(23,104,215,.18)}
.finance-payroll-summary-grid{margin-top:0}
.finance-payrun-list{margin-top:0}
.finance-payrun-card:hover{border-color:#c5d6e5;box-shadow:0 10px 28px rgba(25,48,73,.075)}
.finance-table-actions{display:flex;gap:8px;align-items:center}
.finance-table-actions button{border:1px solid #d7e2ec;background:#fff;border-radius:9px;padding:7px 10px;color:#28506f;font-weight:700}
.finance-table-actions button.danger{color:#c13d4a;background:#fff7f8;border-color:#f0d5da}
.finance-payrun-footer>div:first-child button,.finance-payrun-footer>div:first-child a{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:9px;background:#f2f7fd}
@media(max-width:760px){.finance-payroll-header{flex-direction:column}.finance-payroll-header h1{font-size:28px}.finance-payroll-header .finance-detail-actions{width:100%}.finance-payroll-header .primary{width:100%;justify-content:center}}

/* ==== 51-layer-finance-safe-v102.css ==== */
/* Hotel USA Operations — isolated Shared Finance V102 */
:root{--fv-bg:#f6f8fb;--fv-card:#fff;--fv-soft:#f6f8fb;--fv-text:#10213a;--fv-muted:#6f8198;--fv-line:#dce5ef;--fv-blue:#2489f5;--fv-green:#16b889;--fv-red:#e85b6d;--fv-purple:#8064e9;--fv-orange:#efa22d;--fv-shadow:0 10px 28px rgba(18,42,72,.07)}
.finance-v102{max-width:1480px;margin:0 auto;display:grid;gap:16px;color:var(--fv-text);padding:4px 0 32px;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.finance-v102 *{box-sizing:border-box}.finance-v102.dark{--fv-bg:#081426;--fv-card:#10243b;--fv-soft:#f4f6fa;--fv-text:#eef2f7;--fv-muted:#c3cfdb;--fv-line:#28415b;--fv-shadow:0 14px 34px rgba(0,0,0,.24);background:var(--fv-bg);padding:22px;border-radius:20px}
.fv-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:end}.fv-head>div:first-child{min-width:0}.fv-head h1{font-size:34px;line-height:1.05;margin:0;letter-spacing:-.04em;font-weight:800}.fv-head p{margin:8px 0 0;color:var(--fv-muted);font-size:14px;line-height:1.45}.fv-head-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.fv-theme,.fv-month{display:flex;align-items:center;gap:5px;border:1px solid var(--fv-line);background:var(--fv-card);border-radius:13px;padding:5px;min-height:46px}.fv-theme button,.fv-month button{border:0;background:transparent;color:var(--fv-muted);border-radius:9px;padding:8px 11px;font-weight:800;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center;gap:6px}.fv-theme button i,.fv-month button i{display:grid;place-items:center;width:16px;height:16px;line-height:1;font-size:16px}.fv-theme button.active{background:var(--fv-blue);color:#fff;box-shadow:0 3px 10px rgba(36,137,245,.26)}.fv-month strong{min-width:132px;text-align:center;font-size:12px;line-height:1.2}
.fv-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.fv-kpi{background:var(--fv-card);border:1px solid var(--fv-line);border-radius:18px;padding:18px 20px;display:grid;grid-template-columns:58px minmax(0,1fr);gap:16px;align-items:center;box-shadow:var(--fv-shadow);cursor:pointer;transition:.15s;min-height:138px}.fv-kpi:hover{transform:translateY(-2px);border-color:#8eb8e8}.fv-kpi-icon{width:58px;height:58px;border-radius:17px;display:flex;align-items:center;justify-content:center;align-self:center;justify-self:start;padding:0;overflow:hidden}.fv-kpi-icon i{display:flex!important;align-items:center!important;justify-content:center!important;width:24px!important;height:24px!important;font-size:22px!important;line-height:1!important;margin:0!important;padding:0!important;position:static!important;transform:none!important}.fv-kpi>div{min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.fv-kpi.revenue .fv-kpi-icon{background:rgba(22,184,137,.14);color:var(--fv-green)}.fv-kpi.expense .fv-kpi-icon{background:rgba(232,91,109,.14);color:var(--fv-red)}.fv-kpi.payroll .fv-kpi-icon{background:rgba(36,137,245,.14);color:var(--fv-blue)}.fv-kpi.payable .fv-kpi-icon{background:rgba(239,162,45,.16);color:var(--fv-orange)}.fv-kpi span{display:block;color:var(--fv-muted);font-size:12px;font-weight:750;line-height:1.25}.fv-kpi strong{display:block;font-size:27px;line-height:1.05;margin:7px 0 0;font-weight:800;letter-spacing:-.03em;white-space:nowrap}.fv-kpi small{display:block;margin-top:7px;color:var(--fv-muted);font-size:11px;line-height:1.3}.fv-linkhint{color:var(--fv-blue)!important;font-weight:800!important;white-space:nowrap}
.fv-grid2{display:grid;grid-template-columns:minmax(0,1.30fr) minmax(500px,.70fr);gap:14px}.fv-panel{background:var(--fv-card);border:1px solid var(--fv-line);border-radius:18px;box-shadow:var(--fv-shadow);overflow:hidden;min-width:0}.fv-panel>header{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 20px;border-bottom:1px solid var(--fv-line);min-height:56px}.fv-panel h2{font-size:15px;line-height:1.2;margin:0;font-weight:800;display:flex;align-items:center;gap:8px}.fv-panel h2 i{display:grid;place-items:center;width:18px;height:18px;line-height:1;font-size:18px;margin:0;padding:0}.fv-panel a{font-size:11px;font-weight:800;color:var(--fv-blue);cursor:pointer;white-space:nowrap}.fv-chart{padding:22px 24px 20px}.fv-bars{height:210px;display:flex;align-items:flex-end;gap:14px;border-left:1px solid var(--fv-line);border-bottom:1px solid var(--fv-line);padding:10px 12px 0}.fv-monthbar{height:100%;flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;align-items:end;position:relative;min-width:0}.fv-bar{min-height:2px;border-radius:6px 6px 0 0}.fv-bar.rev{background:#2998ff}.fv-bar.exp{background:#20c997}.fv-bar.pay{background:#8b6dea}.fv-monthbar label{position:absolute;bottom:-25px;left:0;right:0;text-align:center;color:var(--fv-muted);font-size:10px;line-height:1}.fv-legend{padding-top:31px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;color:var(--fv-muted);font-size:11px;line-height:1}.fv-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:5px;flex:0 0 8px}
.fv-break{padding:26px 28px;display:grid;grid-template-columns:180px minmax(0,1fr);gap:26px;align-items:center;min-height:284px}.fv-donut{width:170px;height:170px;border-radius:50%;display:grid;place-items:center;position:relative;justify-self:center}.fv-donut:after{content:"";width:104px;height:104px;border-radius:50%;background:var(--fv-card);position:absolute}.fv-donut-center{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:130px}.fv-donut-center strong{display:block;font-size:19px;line-height:1;font-weight:800;letter-spacing:-.02em;white-space:nowrap}.fv-donut-center span{color:var(--fv-muted);font-size:10px;margin-top:7px;white-space:nowrap}.fv-break-list{display:grid;gap:14px;align-content:center;min-width:0;width:100%}.fv-break-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;column-gap:11px;min-width:0;width:100%}.fv-break-dot{width:9px;height:9px;border-radius:50%;display:block}.fv-break-label{min-width:0;color:var(--fv-muted);font-size:11px;line-height:1.18;font-weight:600}.fv-break-main{display:block}.fv-break-sub{display:block;font-size:10px;line-height:1.2;margin-top:2px;color:var(--fv-muted);opacity:.88}.fv-break-value{white-space:nowrap;text-align:right;justify-self:end;font-size:11px;line-height:1.15;min-width:110px}
.fv-actions{background:var(--fv-card);border:1px solid var(--fv-line);border-radius:18px;box-shadow:var(--fv-shadow);padding:20px}.fv-actions h2{margin:0 0 6px;font-size:18px;line-height:1.15;font-weight:800}.fv-actions p{margin:0 0 16px;color:var(--fv-muted);font-size:12px;line-height:1.4}.fv-actions-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.fv-quick{border:1px solid var(--fv-line);background:var(--fv-card);border-radius:15px;min-height:104px;padding:16px;display:grid;grid-template-columns:50px minmax(0,1fr);align-items:center;gap:14px;text-align:left;cursor:pointer;color:var(--fv-text);transition:.15s}.fv-quick:hover{background:var(--fv-soft);color:#1a2a3f;transform:translateY(-1px)}.fv-quick i{width:50px!important;height:50px!important;border-radius:14px;display:flex!important;align-items:center!important;justify-content:center!important;font-size:23px!important;line-height:1!important;margin:0!important;padding:0!important;position:static!important;transform:none!important;background:#eaf2ff;color:#286fca}.fv-quick:nth-child(2) i,.fv-quick:nth-child(6) i{background:#e5f6ee;color:#168c62}.fv-quick:nth-child(3) i,.fv-quick:nth-child(8) i{background:#fff0dc;color:#e68a18}.fv-quick:nth-child(4) i,.fv-quick:nth-child(7) i{background:#efe7ff;color:#7b55db}.fv-quick strong{font-size:12px;line-height:1.25;font-weight:800;display:block;min-width:0}
.fv-lower{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.fv-lower .fv-panel{min-height:300px}.fv-list-body{padding:8px 16px 14px}.fv-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px 0;border-bottom:1px solid var(--fv-line)}.fv-row:last-child{border-bottom:0}.fv-row-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--fv-soft);color:#1d6fc8}.fv-row-icon i{display:flex!important;align-items:center!important;justify-content:center!important;width:18px!important;height:18px!important;line-height:1!important;font-size:17px!important;margin:0!important;padding:0!important;position:static!important}.fv-row>div{min-width:0}.fv-row strong{font-size:11px;line-height:1.25}.fv-row small{display:block;color:var(--fv-muted);font-size:10px;line-height:1.35;margin-top:4px}.fv-row b{font-size:11px;white-space:nowrap}.fv-empty{padding:28px 18px;text-align:center;color:var(--fv-muted);font-size:11px;line-height:1.4}.fv-status{border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;white-space:nowrap}.fv-status.good{background:rgba(22,184,137,.15);color:var(--fv-green)}.fv-status.warn{background:rgba(239,162,45,.16);color:#c87900}.fv-status.bad{background:rgba(232,91,109,.16);color:var(--fv-red)}
.finance-v102.dark .fv-quick:hover{background:#f4f6fa;color:#1a2a3f}.finance-v102.dark .fv-quick:hover strong{color:#1a2a3f}.finance-v102.dark .fv-row-icon{background:#f4f6fa;color:#1d6fc8}
@media(max-width:1350px){.fv-grid2{grid-template-columns:minmax(0,1.18fr) minmax(470px,.82fr)}.fv-break{grid-template-columns:165px minmax(0,1fr);gap:20px;padding:24px}.fv-donut{width:158px;height:158px}.fv-donut:after{width:96px;height:96px}.fv-break-value{min-width:104px}}
@media(max-width:1220px){.fv-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.fv-grid2{grid-template-columns:1fr}.fv-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fv-lower{grid-template-columns:repeat(2,minmax(0,1fr))}.fv-break{grid-template-columns:180px minmax(0,1fr)}.fv-donut{width:170px;height:170px}.fv-donut:after{width:104px;height:104px}}
@media(max-width:820px){.fv-head{grid-template-columns:1fr;align-items:start}.fv-head-actions{justify-content:flex-start}.fv-break{grid-template-columns:1fr;justify-items:center}.fv-break-list{width:100%;max-width:560px}.fv-actions-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.finance-v102.dark{padding:14px}.fv-kpis,.fv-actions-grid,.fv-lower{grid-template-columns:1fr}.fv-head h1{font-size:29px}.fv-kpi{min-height:118px}.fv-head-actions{width:100%;align-items:stretch;flex-direction:column}.fv-theme,.fv-month{width:100%;justify-content:space-between}.fv-chart{padding:18px 14px}.fv-bars{height:175px;gap:8px}.fv-break{padding:20px 16px}.fv-break-row{grid-template-columns:9px minmax(0,1fr) auto;column-gap:9px}.fv-break-value{min-width:0;font-size:10px}}

/* ==== 52-layer-app-theme-v103.css ==== */
/* Hotel USA Operations — global Light / Dark theme V103 */
html[data-app-theme="light"] .app-shell{
  --bg:#f4f7fb;--surface:#ffffff;--surface2:#f8fafc;--border:rgba(16,33,58,.10);--border-med:rgba(16,33,58,.18);--text:#10213a;--text-muted:#5f7389;--text-hint:#8191a4;--accent:#1769c2;--accent-light:#eaf2ff;
  color-scheme:light;
}
html[data-app-theme="dark"] .app-shell{
  --bg:#081426;--surface:#10243b;--surface2:#122a44;--border:rgba(212,224,237,.13);--border-med:rgba(212,224,237,.24);--text:#eef2f7;--text-muted:#c3cfdb;--text-hint:#93a5b8;--accent:#4da3ff;--accent-light:#17395f;
  color-scheme:dark;
}
html[data-app-theme="light"] body{background:#f4f7fb;color:#10213a}
html[data-app-theme="dark"] body{background:#081426;color:#eef2f7}
html[data-app-theme="light"] .app-shell,html[data-app-theme="light"] .main{background:#f4f7fb;color:#10213a}
html[data-app-theme="dark"] .app-shell,html[data-app-theme="dark"] .main{background:#081426;color:#eef2f7}

/* Preserve the branded navy navigation in both modes. */
html[data-app-theme] .sidebar{background:#0b2b4b!important;border-right-color:#214563!important;color:#eef5fc}
html[data-app-theme] .sidebar .logo-name,html[data-app-theme] .sidebar .nav-item,html[data-app-theme] .sidebar .nav-section-title,html[data-app-theme] .sidebar .date-value,html[data-app-theme] .sidebar .logo-sub{color:#eef5fc}
html[data-app-theme] .sidebar .nav-section-title,html[data-app-theme] .sidebar .logo-sub{opacity:.72}
html[data-app-theme] .sidebar .nav-item:hover{background:#123b63!important;color:#fff!important}
html[data-app-theme] .sidebar .nav-item.active{background:#1f74d7!important;color:#fff!important;border-left-color:#79b9ff!important}

/* Light mode must explicitly override several dashboard headings that were designed for dark surfaces. */
html[data-app-theme="light"] .main h1,
html[data-app-theme="light"] .main h2,
html[data-app-theme="light"] .main h3,
html[data-app-theme="light"] .main h4,
html[data-app-theme="light"] .main .page-title,
html[data-app-theme="light"] .main .section-title,
html[data-app-theme="light"] .main .metric-value,
html[data-app-theme="light"] .main .card-title,
html[data-app-theme="light"] .main .dashboard-title,
html[data-app-theme="light"] .main .property-title,
html[data-app-theme="light"] .main .hero-title{color:#10213a!important}
html[data-app-theme="light"] .main .page-subtitle,
html[data-app-theme="light"] .main .metric-label,
html[data-app-theme="light"] .main .metric-sub,
html[data-app-theme="light"] .main .muted,
html[data-app-theme="light"] .main .subtitle,
html[data-app-theme="light"] .main .helper-text{color:#5f7389!important}

/* Shared surfaces used across dashboards, finance, housekeeping, maintenance and reports. */
html[data-app-theme="dark"] .section-card,
html[data-app-theme="dark"] .metric-card,
html[data-app-theme="dark"] .card,
html[data-app-theme="dark"] .panel,
html[data-app-theme="dark"] .summary-card,
html[data-app-theme="dark"] .stat-card,
html[data-app-theme="dark"] .dashboard-card,
html[data-app-theme="dark"] .content-card,
html[data-app-theme="dark"] .workflow-card,
html[data-app-theme="dark"] .property-card,
html[data-app-theme="dark"] .table-card{background:#10243b!important;border-color:#28415b!important;color:#eef2f7!important;box-shadow:0 14px 34px rgba(0,0,0,.18)}
html[data-app-theme="light"] .section-card,
html[data-app-theme="light"] .metric-card,
html[data-app-theme="light"] .card,
html[data-app-theme="light"] .panel,
html[data-app-theme="light"] .summary-card,
html[data-app-theme="light"] .stat-card,
html[data-app-theme="light"] .dashboard-card,
html[data-app-theme="light"] .content-card,
html[data-app-theme="light"] .workflow-card,
html[data-app-theme="light"] .property-card,
html[data-app-theme="light"] .table-card{background:#fff!important;border-color:#dce5ef!important;color:#10213a!important}

html[data-app-theme="dark"] .section-header,html[data-app-theme="dark"] .tab-bar,html[data-app-theme="dark"] .data-table th{background:#122a44!important;border-color:#28415b!important;color:#d8e2ec!important}
html[data-app-theme="light"] .section-header,html[data-app-theme="light"] .tab-bar,html[data-app-theme="light"] .data-table th{background:#f7f9fc!important;border-color:#dce5ef!important;color:#5f7389!important}
html[data-app-theme="dark"] .data-table td{color:#edf3f9!important;border-color:#233d58!important;background:#10243b}
html[data-app-theme="dark"] .data-table tr:nth-child(even) td{background:#0e2137}
html[data-app-theme="dark"] .data-table tr:hover td{background:#16314d!important}
html[data-app-theme="light"] .data-table td{color:#10213a!important;border-color:#e4ebf2!important;background:#fff}

html[data-app-theme="dark"] input,html[data-app-theme="dark"] select,html[data-app-theme="dark"] textarea{background:#0d2035!important;color:#eef2f7!important;border-color:#35506a!important}
html[data-app-theme="dark"] input::placeholder,html[data-app-theme="dark"] textarea::placeholder{color:#8fa1b4!important}
html[data-app-theme="light"] input,html[data-app-theme="light"] select,html[data-app-theme="light"] textarea{background:#fff!important;color:#10213a!important;border-color:#cfdbe7!important}

html[data-app-theme="dark"] .btn:not(.btn-primary):not(.btn-danger){background:#f4f6fa!important;color:#1a2a3f!important;border-color:#dbe2ea!important}
html[data-app-theme="dark"] .btn:not(.btn-primary):not(.btn-danger):hover{background:#f8fafc!important}
html[data-app-theme="light"] .btn:not(.btn-primary):not(.btn-danger){background:#fff!important;color:#17314f!important;border-color:#cedbe7!important}

html[data-app-theme="dark"] .page-title,html[data-app-theme="dark"] .section-title,html[data-app-theme="dark"] .metric-value,html[data-app-theme="dark"] h1,html[data-app-theme="dark"] h2,html[data-app-theme="dark"] h3,html[data-app-theme="dark"] h4{color:#eef2f7!important}
html[data-app-theme="dark"] .page-subtitle,html[data-app-theme="dark"] .metric-label,html[data-app-theme="dark"] .metric-sub,html[data-app-theme="dark"] .muted{color:#b8c5d2!important}

/* Keep semantic/brand colors from being flattened by theme rules. */
html[data-app-theme] .badge,html[data-app-theme] .status-badge,html[data-app-theme] .alert,html[data-app-theme] .occupancy-card,html[data-app-theme] .btn-primary{color:inherit}
html[data-app-theme] .btn-primary{color:#fff!important}

/* Global theme switch shown on every authenticated page. */
.app-theme-switch{margin:12px 14px 14px;padding:5px;display:grid;grid-template-columns:1fr 1fr;gap:5px;border:1px solid #315574;border-radius:12px;background:#09233d;box-shadow:0 8px 24px rgba(0,0,0,.14)}
.app-theme-switch button{height:34px;border:0;border-radius:8px;background:transparent;color:#bcd0e1;font:700 12px/1 Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
.app-theme-switch button i{font-size:15px;line-height:1}
.app-theme-switch button.active{background:#2b8df4;color:#fff;box-shadow:0 4px 12px rgba(43,141,244,.28)}
.app-theme-switch button:not(.active):hover{background:#123b63;color:#fff}

/* Finance follows the same global theme selection. */
html[data-app-theme="dark"] .finance-v102{--fv-bg:#081426;--fv-card:#10243b;--fv-soft:#f4f6fa;--fv-text:#eef2f7;--fv-muted:#c3cfdb;--fv-line:#28415b;background:#081426}
html[data-app-theme="light"] .finance-v102{--fv-bg:#f6f8fb;--fv-card:#fff;--fv-soft:#f6f8fb;--fv-text:#10213a;--fv-muted:#6f8198;--fv-line:#dce5ef;background:transparent}

@media(max-width:700px){.app-theme-switch{margin:10px}}

/* ==== 53-layer-app-theme-v104.css ==== */
/* Hotel USA Operations — Theme V104 global surface correction */
/* Dark = Shared Finance dark canvas + cream text. Light = warm cream canvas + dark text. */

html[data-app-theme="dark"]{
  --app-page:#081426;
  --app-panel:#10243b;
  --app-panel-2:#122a44;
  --app-soft:#0d2035;
  --app-border:#28415b;
  --app-text:#f4f6fa;
  --app-muted:#c3cfdb;
}
html[data-app-theme="light"]{
  --app-page:#f4f6fa;
  --app-panel:#ffffff;
  --app-panel-2:#f5f7fa;
  --app-soft:#e9eef4;
  --app-border:#d5dde7;
  --app-text:#142033;
  --app-muted:#607086;
}

/* FULL APP CANVAS — match Shared Finance, not mixed white/dark surfaces */
html[data-app-theme="dark"],
html[data-app-theme="dark"] body,
html[data-app-theme="dark"] #app,
html[data-app-theme="dark"] .app,
html[data-app-theme="dark"] .app-shell,
html[data-app-theme="dark"] .main,
html[data-app-theme="dark"] .main-content,
html[data-app-theme="dark"] #main-content,
html[data-app-theme="dark"] .property-dashboard,
html[data-app-theme="dark"] .property-dashboard-header,
html[data-app-theme="dark"] .page-content,
html[data-app-theme="dark"] .content-wrap{
  background:var(--app-page)!important;
  background-color:var(--app-page)!important;
  color:var(--app-text)!important;
}
html[data-app-theme="light"],
html[data-app-theme="light"] body,
html[data-app-theme="light"] #app,
html[data-app-theme="light"] .app,
html[data-app-theme="light"] .app-shell,
html[data-app-theme="light"] .main,
html[data-app-theme="light"] .main-content,
html[data-app-theme="light"] #main-content,
html[data-app-theme="light"] .property-dashboard,
html[data-app-theme="light"] .property-dashboard-header,
html[data-app-theme="light"] .page-content,
html[data-app-theme="light"] .content-wrap{
  background:var(--app-page)!important;
  background-color:var(--app-page)!important;
  color:var(--app-text)!important;
}

/* Remove pale/white dashboard backdrop layers so the page reads like Shared Finance. */
html[data-app-theme="dark"] .property-dashboard::before,
html[data-app-theme="dark"] .property-dashboard::after,
html[data-app-theme="dark"] .main::before,
html[data-app-theme="dark"] .main::after{background:transparent!important}

/* Keep the sidebar branded navy in both themes. */
html[data-app-theme] .sidebar{background:#0b2b4b!important;color:#eef5fc!important}

/* Headings + body text */
html[data-app-theme="dark"] .main :is(h1,h2,h3,h4,h5,h6,.page-title,.section-title,.card-title,.dashboard-title,.property-title,.hero-title,.metric-value,strong,b){color:var(--app-text)!important}
html[data-app-theme="dark"] .main :is(p,small,.muted,.subtitle,.page-subtitle,.metric-label,.metric-sub,.helper-text,.property-dashboard-eyebrow){color:var(--app-muted)!important}
html[data-app-theme="light"] .main :is(h1,h2,h3,h4,h5,h6,.page-title,.section-title,.card-title,.dashboard-title,.property-title,.hero-title,.metric-value,strong,b){color:var(--app-text)!important}
html[data-app-theme="light"] .main :is(p,small,.muted,.subtitle,.page-subtitle,.metric-label,.metric-sub,.helper-text,.property-dashboard-eyebrow){color:var(--app-muted)!important}

/* Dashboard heading should visually match Shared Finance heading. */
html[data-app-theme="dark"] .property-dashboard-header h1{color:#f4f6fa!important}
html[data-app-theme="dark"] .property-dashboard-eyebrow{color:#9fb2c5!important}
html[data-app-theme="dark"] .property-dashboard-header p{color:#c3cfdb!important}
html[data-app-theme="light"] .property-dashboard-header h1{color:#142033!important}
html[data-app-theme="light"] .property-dashboard-eyebrow{color:#607086!important}
html[data-app-theme="light"] .property-dashboard-header p{color:#607086!important}

/* Dashboard actions */
html[data-app-theme="dark"] .property-dashboard-actions label,
html[data-app-theme="dark"] .property-dashboard-actions>button:not(.property-alert-button){background:var(--app-panel)!important;border-color:var(--app-border)!important;color:var(--app-text)!important;box-shadow:none!important}
html[data-app-theme="dark"] .property-dashboard-actions input{color:var(--app-text)!important;background:transparent!important}
html[data-app-theme="dark"] .property-dashboard-actions input::-webkit-calendar-picker-indicator{filter:invert(1) opacity(.9)}
html[data-app-theme="light"] .property-dashboard-actions label,
html[data-app-theme="light"] .property-dashboard-actions>button:not(.property-alert-button){background:var(--app-panel)!important;border-color:var(--app-border)!important;color:var(--app-text)!important}
html[data-app-theme="light"] .property-dashboard-actions input{color:var(--app-text)!important;background:transparent!important}

/* Property workspace switch */
html[data-app-theme="dark"] .property-workspace-switch{background:var(--app-soft)!important;border-color:var(--app-border)!important}
html[data-app-theme="dark"] .property-workspace-switch button{color:var(--app-muted)!important}
html[data-app-theme="dark"] .property-workspace-switch button:hover{background:#16314d!important;color:var(--app-text)!important}
html[data-app-theme="dark"] .property-workspace-switch button.active{background:var(--app-panel)!important;color:var(--app-text)!important;box-shadow:none!important}
html[data-app-theme="dark"] .property-workspace-switch button>.property-workspace-logo-wrap{background:#17324e!important}
html[data-app-theme="light"] .property-workspace-switch{background:var(--app-soft)!important;border-color:var(--app-border)!important}
html[data-app-theme="light"] .property-workspace-switch button{color:var(--app-muted)!important}
html[data-app-theme="light"] .property-workspace-switch button.active{background:var(--app-panel)!important;color:var(--app-text)!important}

/* Cloudbeds/property connection banner */
html[data-app-theme="dark"] .property-connection-banner{background:var(--app-panel)!important;border-color:var(--app-border)!important;color:var(--app-text)!important;box-shadow:0 10px 28px rgba(0,0,0,.18)!important}
html[data-app-theme="dark"] .property-connection-identity h2{color:var(--app-text)!important}
html[data-app-theme="dark"] .property-connection-identity p,
html[data-app-theme="dark"] .property-connection-status>span{color:var(--app-muted)!important}
html[data-app-theme="dark"] .property-connection-sync{background:#f4f6fa!important;color:#17314f!important;border-color:#d5dde7!important}
html[data-app-theme="light"] .property-connection-banner{background:var(--app-panel)!important;border-color:var(--app-border)!important;color:var(--app-text)!important}
html[data-app-theme="light"] .property-connection-identity h2{color:var(--app-text)!important}
html[data-app-theme="light"] .property-connection-identity p,
html[data-app-theme="light"] .property-connection-status>span{color:var(--app-muted)!important}
html[data-app-theme="light"] .property-connection-sync{background:var(--app-panel)!important;color:#17314f!important;border-color:var(--app-border)!important}

/* Common app cards/surfaces */
html[data-app-theme="dark"] :is(.section-card,.metric-card,.card,.panel,.summary-card,.stat-card,.dashboard-card,.content-card,.workflow-card,.property-card,.table-card,.property-attention-grid article,.property-attention-grid button,.property-quick-launcher,.property-quick-launcher button,.shared-center-banner,.dashboard-rolldown,.rolldown-trigger,.quick-action,.today-item,.ops-summary-card,.reference-page-header,.reference-board-card,.reference-room-task,.reference-column,.frontdesk-reference-card,.maintenance-reference-card,.housekeeping-reference-board>section){background:var(--app-panel)!important;border-color:var(--app-border)!important;color:var(--app-text)!important}
html[data-app-theme="light"] :is(.section-card,.metric-card,.card,.panel,.summary-card,.stat-card,.dashboard-card,.content-card,.workflow-card,.property-card,.table-card,.property-attention-grid article,.property-attention-grid button,.property-quick-launcher,.property-quick-launcher button,.shared-center-banner,.dashboard-rolldown,.rolldown-trigger,.quick-action,.today-item,.ops-summary-card,.reference-page-header,.reference-board-card,.reference-room-task,.reference-column,.frontdesk-reference-card,.maintenance-reference-card,.housekeeping-reference-board>section){background:var(--app-panel)!important;border-color:var(--app-border)!important;color:var(--app-text)!important}

/* KPI cards */
html[data-app-theme="dark"] .property-kpi-grid article:not(.primary){background:var(--app-panel)!important;border-color:var(--app-border)!important;color:var(--app-text)!important}
html[data-app-theme="light"] .property-kpi-grid article:not(.primary){background:var(--app-panel)!important;border-color:var(--app-border)!important;color:var(--app-text)!important}
html[data-app-theme] .property-kpi-grid article.primary{background:linear-gradient(145deg,#1D5FBF,#1158bd)!important;color:#fff!important;border-color:transparent!important}
html[data-app-theme] .property-dashboard.residence .property-kpi-grid article.primary{background:linear-gradient(145deg,#168a83,#106c67)!important}
html[data-app-theme] .property-kpi-grid article.primary :is(span,p,small,strong,b){color:#fff!important}
html[data-app-theme] .property-kpi-grid article.primary .property-kpi-label{color:#f5f9ff!important}
html[data-app-theme] .property-kpi-grid article.primary .property-kpi-value{color:#fff!important}
html[data-app-theme] .property-kpi-grid article.primary .property-kpi-sub{color:#e5efff!important}
html[data-app-theme="dark"] .property-kpi-grid article:not(.primary) :is(span,p,small){color:var(--app-muted)!important}
html[data-app-theme="dark"] .property-kpi-grid article:not(.primary) :is(strong,b){color:var(--app-text)!important}
html[data-app-theme="light"] .property-kpi-grid article:not(.primary) :is(span,p,small){color:var(--app-muted)!important}
html[data-app-theme="light"] .property-kpi-grid article:not(.primary) :is(strong,b){color:var(--app-text)!important}

/* Rolldowns and quick actions */
html[data-app-theme="dark"] .rolldown-trigger:hover,
html[data-app-theme="dark"] .property-quick-launcher button:hover,
html[data-app-theme="dark"] .quick-action:hover{background:#16314d!important}
html[data-app-theme="dark"] .rolldown-panel,
html[data-app-theme="dark"] .rolldown-toolbar{background:#0e2137!important;border-color:var(--app-border)!important}
html[data-app-theme="light"] .rolldown-panel,
html[data-app-theme="light"] .rolldown-toolbar{background:var(--app-panel-2)!important;border-color:var(--app-border)!important}

/* Tables */
html[data-app-theme="dark"] table,
html[data-app-theme="dark"] .data-table{background:var(--app-panel)!important;color:var(--app-text)!important}
html[data-app-theme="dark"] .data-table th{background:var(--app-panel-2)!important;color:#dbe5ef!important;border-color:var(--app-border)!important}
html[data-app-theme="dark"] .data-table td{background:var(--app-panel)!important;color:var(--app-text)!important;border-color:#233d58!important}
html[data-app-theme="dark"] .data-table tr:nth-child(even) td{background:#0e2137!important}
html[data-app-theme="dark"] .data-table tr:hover td{background:#16314d!important}
html[data-app-theme="light"] table,
html[data-app-theme="light"] .data-table{background:var(--app-panel)!important;color:var(--app-text)!important}
html[data-app-theme="light"] .data-table th{background:var(--app-panel-2)!important;color:var(--app-muted)!important;border-color:var(--app-border)!important}
html[data-app-theme="light"] .data-table td{background:var(--app-panel)!important;color:var(--app-text)!important;border-color:var(--app-border)!important}

/* Inputs */
html[data-app-theme="dark"] input,
html[data-app-theme="dark"] select,
html[data-app-theme="dark"] textarea{background:#0d2035!important;color:var(--app-text)!important;border-color:#35506a!important}
html[data-app-theme="light"] input,
html[data-app-theme="light"] select,
html[data-app-theme="light"] textarea{background:var(--app-panel)!important;color:var(--app-text)!important;border-color:var(--app-border)!important}

/* Finance follows same global palette. */
html[data-app-theme="dark"] .finance-v102{--fv-bg:#081426;--fv-card:#10243b;--fv-soft:#f4f6fa;--fv-text:#f4f6fa;--fv-muted:#c3cfdb;--fv-line:#28415b;background:#081426!important}
html[data-app-theme="light"] .finance-v102{--fv-bg:#f4f6fa;--fv-card:#ffffff;--fv-soft:#e9eef4;--fv-text:#142033;--fv-muted:#607086;--fv-line:#d5dde7;background:#f4f6fa!important}

/* Finance-like spacing around non-finance pages so panels sit on the same continuous canvas. */
html[data-app-theme="dark"] .property-dashboard,
html[data-app-theme="light"] .property-dashboard{padding:0!important;border-radius:0!important}

/* Do not theme the authentication screen. */
.auth-screen,.auth-card{color-scheme:light}

/* ==== 54-layer-app-theme-v105.css ==== */
/* Hotel USA Operations — dark-mode readability fix V105 */
/* Keep white/light panels readable in dark mode by forcing dark text inside those surfaces. */

html[data-app-theme="dark"] :is(
  .frontdesk-arrivals-reference,
  .frontdesk-departures-workspace,
  .frontdesk-reference-toolbar,
  .frontdesk-search-wrap,
  .frontdesk-workspace-search,
  .reference-subtabs,
  .dashboard-report-overview,
  .dashboard-report-kpis article,
  .dashboard-occupancy-chart,
  .dashboard-revenue-source,
  .reports-reference-kpis article,
  .reports-reference-card,
  .reports-chart-card,
  .reference-page-header,
  .reference-board-card,
  .frontdesk-reference-card,
  .fd-reference-card,
  .maintenance-reference-card,
  .settings-card,
  .support-card
){
  color:#142033!important;
}

html[data-app-theme="dark"] :is(
  .frontdesk-arrivals-reference,
  .frontdesk-departures-workspace,
  .dashboard-report-overview,
  .dashboard-report-kpis article,
  .dashboard-occupancy-chart,
  .dashboard-revenue-source,
  .reports-reference-kpis article,
  .reports-reference-card,
  .reports-chart-card
) :is(h1,h2,h3,h4,h5,h6,strong,b,.metric-value,.reference-arrival-guest strong,.frontdesk-departure-guest strong){
  color:#142033!important;
}

html[data-app-theme="dark"] :is(
  .frontdesk-arrivals-reference,
  .frontdesk-departures-workspace,
  .dashboard-report-overview,
  .dashboard-report-kpis article,
  .dashboard-occupancy-chart,
  .dashboard-revenue-source,
  .reports-reference-kpis article,
  .reports-reference-card,
  .reports-chart-card
) :is(p,small,span,.muted,.subtitle,.page-subtitle,.metric-label,.metric-sub,.helper-text,.reference-arrival-guests,time,.reference-confirmation,.reference-room-number,.departure-confirmation,.departure-room){
  color:#607086!important;
}

/* Front desk specifics */
html[data-app-theme="dark"] .frontdesk-reference-heading h2,
html[data-app-theme="dark"] .frontdesk-workspace-heading h2{color:#142033!important}
html[data-app-theme="dark"] .frontdesk-reference-heading p,
html[data-app-theme="dark"] .frontdesk-workspace-heading p{color:#607086!important}
html[data-app-theme="dark"] .reference-arrival-guest strong,
html[data-app-theme="dark"] .frontdesk-departure-guest strong{color:#142033!important}
html[data-app-theme="dark"] .reference-arrival-guest span,
html[data-app-theme="dark"] .frontdesk-departure-guest span,
html[data-app-theme="dark"] .reference-arrival-guests,
html[data-app-theme="dark"] .frontdesk-arrival-list time,
html[data-app-theme="dark"] .reference-confirmation,
html[data-app-theme="dark"] .reference-room-number,
html[data-app-theme="dark"] .departure-confirmation,
html[data-app-theme="dark"] .departure-room{color:#536b84!important}
html[data-app-theme="dark"] .frontdesk-search-wrap input,
html[data-app-theme="dark"] .frontdesk-workspace-search input{color:#142033!important}
html[data-app-theme="dark"] .frontdesk-search-wrap input::placeholder,
html[data-app-theme="dark"] .frontdesk-workspace-search input::placeholder{color:#718399!important}
html[data-app-theme="dark"] .frontdesk-filter-chips button:not(.active),
html[data-app-theme="dark"] .reference-filter-button{color:#49627c!important}

/* Dashboard report / chart specifics */
html[data-app-theme="dark"] .dashboard-report-heading>div>span{color:#56718f!important}
html[data-app-theme="dark"] .dashboard-report-heading h2{color:#142033!important}
html[data-app-theme="dark"] .dashboard-report-heading p{color:#607086!important}
html[data-app-theme="dark"] .dashboard-report-kpis span{color:#70829a!important}
html[data-app-theme="dark"] .dashboard-report-kpis strong{color:#142033!important}
html[data-app-theme="dark"] .dashboard-report-kpis small{color:#607086!important}
html[data-app-theme="dark"] .dashboard-occupancy-chart :is(strong,b),
html[data-app-theme="dark"] .dashboard-revenue-source :is(strong,b){color:#142033!important}
html[data-app-theme="dark"] .dashboard-occupancy-chart :is(span,p,small),
html[data-app-theme="dark"] .dashboard-revenue-source :is(span,p,small){color:#607086!important}
html[data-app-theme="dark"] .dashboard-chart-labels,
html[data-app-theme="dark"] .dashboard-source-legend,
html[data-app-theme="dark"] .dashboard-source-legend>div{color:#607086!important}
html[data-app-theme="dark"] .dashboard-source-donut strong{color:#142033!important}

/* Generic safety net for light cards that intentionally remain light in dark mode. */
html[data-app-theme="dark"] :is(
  .frontdesk-arrival-list,
  .frontdesk-departure-list,
  .dashboard-report-grid,
  .reports-room-table,
  .dashboard-room-table
){color:#142033!important}

/* Preserve semantic button/badge colors. */
html[data-app-theme="dark"] :is(.reference-row-action,.reference-primary-button,.btn-primary,.departure-status,.reference-arrival-badge,.status-badge,.badge){color:inherit}
html[data-app-theme="dark"] :is(.reference-row-action,.reference-primary-button,.btn-primary){color:#fff!important}

/* ==== 55-layer-app-theme-v106.css ==== */
/* Hotel USA Operations — Theme V106 remaining-page dark-mode completion */
/* Goal: make all authenticated pages visually match Shared Finance in dark mode. */

html[data-app-theme="dark"]{
  --v106-bg:#081426;
  --v106-panel:#10243b;
  --v106-panel-2:#122a44;
  --v106-border:#28415b;
  --v106-text:#f4f6fa;
  --v106-muted:#c3cfdb;
}

/* ----- Reports / report overview ----- */
html[data-app-theme="dark"] .dashboard-report-overview,
html[data-app-theme="dark"] .dashboard-report-kpis article,
html[data-app-theme="dark"] .dashboard-occupancy-chart,
html[data-app-theme="dark"] .dashboard-revenue-source,
html[data-app-theme="dark"] .reports-reference-kpis article,
html[data-app-theme="dark"] .reports-reference-chart,
html[data-app-theme="dark"] .reports-reference-source,
html[data-app-theme="dark"] .reports-reference-toprooms,
html[data-app-theme="dark"] .reports-page-reference .reference-board-card{
  background:var(--v106-panel)!important;
  border-color:var(--v106-border)!important;
  color:var(--v106-text)!important;
}
html[data-app-theme="dark"] .dashboard-report-heading h2,
html[data-app-theme="dark"] .dashboard-report-kpis strong,
html[data-app-theme="dark"] .dashboard-occupancy-chart header strong,
html[data-app-theme="dark"] .dashboard-revenue-source header strong,
html[data-app-theme="dark"] .reports-page-reference :is(h1,h2,h3,strong,b){color:var(--v106-text)!important}
html[data-app-theme="dark"] .dashboard-report-heading>div>span,
html[data-app-theme="dark"] .dashboard-report-heading p,
html[data-app-theme="dark"] .dashboard-report-kpis span,
html[data-app-theme="dark"] .dashboard-report-kpis small,
html[data-app-theme="dark"] .dashboard-occupancy-chart header span,
html[data-app-theme="dark"] .dashboard-revenue-source header span,
html[data-app-theme="dark"] .dashboard-chart-labels,
html[data-app-theme="dark"] .dashboard-source-legend>div,
html[data-app-theme="dark"] .reports-page-reference :is(p,small,.muted){color:var(--v106-muted)!important}
html[data-app-theme="dark"] .dashboard-report-heading button{background:var(--v106-panel-2)!important;color:#7db9ff!important;border-color:var(--v106-border)!important}
html[data-app-theme="dark"] .dashboard-report-overview{box-shadow:none!important}

/* ----- Intelligence ----- */
html[data-app-theme="dark"] .intel-tabs,
html[data-app-theme="dark"] .intel-kpi,
html[data-app-theme="dark"] .intel-card,
html[data-app-theme="dark"] .intel-stat,
html[data-app-theme="dark"] .intel-list-item,
html[data-app-theme="dark"] .intel-alert,
html[data-app-theme="dark"] .intel-brief{
  background:var(--v106-panel)!important;
  border-color:var(--v106-border)!important;
  color:var(--v106-text)!important;
}
html[data-app-theme="dark"] .intel-tabs button{color:var(--v106-muted)!important}
html[data-app-theme="dark"] .intel-tabs button.active{background:var(--v106-panel-2)!important;color:var(--v106-text)!important;box-shadow:none!important}
html[data-app-theme="dark"] .intel-kpi strong,
html[data-app-theme="dark"] .intel-card :is(h2,h3,strong,b){color:var(--v106-text)!important}
html[data-app-theme="dark"] .intel-kpi span,
html[data-app-theme="dark"] .intel-kpi small,
html[data-app-theme="dark"] .intel-card :is(p,small,.intel-note){color:var(--v106-muted)!important}
html[data-app-theme="dark"] .intel-card-head{border-color:var(--v106-border)!important}

/* ----- Front Desk ----- */
html[data-app-theme="dark"] .frontdesk-reference-tabs,
html[data-app-theme="dark"] .reference-subtabs,
html[data-app-theme="dark"] .frontdesk-arrivals-reference,
html[data-app-theme="dark"] .frontdesk-departures-workspace,
html[data-app-theme="dark"] .fd-reference-card,
html[data-app-theme="dark"] .frontdesk-reference-toolbar,
html[data-app-theme="dark"] .frontdesk-workspace-toolbar,
html[data-app-theme="dark"] .frontdesk-arrival-list,
html[data-app-theme="dark"] .frontdesk-departure-list{
  background:var(--v106-panel)!important;
  border-color:var(--v106-border)!important;
  color:var(--v106-text)!important;
}
html[data-app-theme="dark"] .reference-subtabs button{color:var(--v106-muted)!important}
html[data-app-theme="dark"] .reference-subtabs button.active,
html[data-app-theme="dark"] .reference-subtab.active{background:var(--v106-panel-2)!important;color:#7db9ff!important;box-shadow:none!important}
html[data-app-theme="dark"] .frontdesk-reference-heading,
html[data-app-theme="dark"] .frontdesk-workspace-heading{border-color:var(--v106-border)!important}
html[data-app-theme="dark"] .frontdesk-reference-heading h2,
html[data-app-theme="dark"] .frontdesk-workspace-heading h2,
html[data-app-theme="dark"] .fd-reference-card-head h2,
html[data-app-theme="dark"] .reference-arrival-guest strong,
html[data-app-theme="dark"] .frontdesk-departure-guest strong{color:var(--v106-text)!important}
html[data-app-theme="dark"] .frontdesk-reference-heading p,
html[data-app-theme="dark"] .frontdesk-workspace-heading p,
html[data-app-theme="dark"] .reference-arrival-guest span,
html[data-app-theme="dark"] .frontdesk-departure-guest span,
html[data-app-theme="dark"] .reference-arrival-guests,
html[data-app-theme="dark"] .frontdesk-arrival-list time,
html[data-app-theme="dark"] .reference-confirmation,
html[data-app-theme="dark"] .reference-room-number,
html[data-app-theme="dark"] .departure-confirmation,
html[data-app-theme="dark"] .departure-room{color:var(--v106-muted)!important}
html[data-app-theme="dark"] .frontdesk-arrival-list article,
html[data-app-theme="dark"] .frontdesk-departure-list article{border-color:#233d58!important}
html[data-app-theme="dark"] .frontdesk-filter-chips button,
html[data-app-theme="dark"] .reference-filter-button,
html[data-app-theme="dark"] .frontdesk-search-wrap,
html[data-app-theme="dark"] .frontdesk-workspace-search{
  background:var(--v106-panel-2)!important;
  border-color:var(--v106-border)!important;
  color:var(--v106-muted)!important;
}
html[data-app-theme="dark"] .frontdesk-filter-chips button.active{background:#1f6fd0!important;color:#fff!important;border-color:#1f6fd0!important}
html[data-app-theme="dark"] .frontdesk-search-wrap input,
html[data-app-theme="dark"] .frontdesk-workspace-search input{color:var(--v106-text)!important}

/* Front Desk payments / cash summary */
html[data-app-theme="dark"] .fd-reference-summary article,
html[data-app-theme="dark"] .fd-reference-card,
html[data-app-theme="dark"] .fd-reference-card-body,
html[data-app-theme="dark"] .fd-reference-breakdown,
html[data-app-theme="dark"] .fd-reference-summary-row{
  background:var(--v106-panel)!important;
  border-color:var(--v106-border)!important;
  color:var(--v106-text)!important;
}
html[data-app-theme="dark"] .fd-reference-summary :is(strong,b),
html[data-app-theme="dark"] .fd-reference-card :is(h2,h3,strong,b){color:var(--v106-text)!important}
html[data-app-theme="dark"] .fd-reference-summary :is(span,small,p),
html[data-app-theme="dark"] .fd-reference-card :is(span,small,p){color:var(--v106-muted)!important}

/* ----- Staff Management + Settings ----- */
html[data-app-theme="dark"] .staff-summary,
html[data-app-theme="dark"] .staff-card,
html[data-app-theme="dark"] .settings-card,
html[data-app-theme="dark"] .support-card{
  background:var(--v106-panel)!important;
  border-color:var(--v106-border)!important;
  color:var(--v106-text)!important;
}
html[data-app-theme="dark"] .staff-summary small,
html[data-app-theme="dark"] .settings-card span,
html[data-app-theme="dark"] .settings-card p,
html[data-app-theme="dark"] .support-card p{color:var(--v106-muted)!important}
html[data-app-theme="dark"] .staff-summary strong,
html[data-app-theme="dark"] .settings-card h2,
html[data-app-theme="dark"] .support-card h2{color:var(--v106-text)!important}
html[data-app-theme="dark"] .reference-link-btn,
html[data-app-theme="dark"] .support-card button{background:var(--v106-panel-2)!important;color:#7db9ff!important;border-color:var(--v106-border)!important}
html[data-app-theme="dark"] .staff-toolbar input,
html[data-app-theme="dark"] .staff-toolbar select,
html[data-app-theme="dark"] .staff-property-switch select{background:var(--v106-panel)!important;color:var(--v106-text)!important;border-color:var(--v106-border)!important}

/* ----- Permits ----- */
html[data-app-theme="dark"] .permits-hero,
html[data-app-theme="dark"] .permits-summary-card,
html[data-app-theme="dark"] .permit-card,
html[data-app-theme="dark"] .permit-checklist-card,
html[data-app-theme="dark"] .permit-panel{
  background:var(--v106-panel)!important;
  background-image:none!important;
  border-color:var(--v106-border)!important;
  color:var(--v106-text)!important;
  box-shadow:none!important;
}
html[data-app-theme="dark"] .permits-hero h1,
html[data-app-theme="dark"] .permits-summary-card .v,
html[data-app-theme="dark"] .permit-card :is(h2,h3,strong,b){color:var(--v106-text)!important}
html[data-app-theme="dark"] .permits-eyebrow,
html[data-app-theme="dark"] .permits-hero p,
html[data-app-theme="dark"] .permits-summary-card .k,
html[data-app-theme="dark"] .permit-card :is(p,small,span){color:var(--v106-muted)!important}
html[data-app-theme="dark"] .permits-summary-card.ok .v{color:#35c995!important}
html[data-app-theme="dark"] .permits-summary-card.warn .v{color:#f3b247!important}
html[data-app-theme="dark"] .permits-summary-card.bad .v{color:#ff7070!important}
html[data-app-theme="dark"] .permit-filter-chip{background:var(--v106-panel-2)!important;color:var(--v106-muted)!important;border-color:var(--v106-border)!important}
html[data-app-theme="dark"] .permit-filter-chip.active{background:#173a61!important;color:#8fc3ff!important;border-color:#326da8!important}

/* ----- Housekeeping / Rooms ----- */
html[data-app-theme="dark"] .housekeeping-reference-board>article,
html[data-app-theme="dark"] .housekeeping-reference-board .reference-column,
html[data-app-theme="dark"] .reference-board-card,
html[data-app-theme="dark"] .hk-worklist-card,
html[data-app-theme="dark"] .hk-summary-band,
html[data-app-theme="dark"] .operations-service-card,
html[data-app-theme="dark"] .hk-staff-table,
html[data-app-theme="dark"] .hk-worklist{
  background:var(--v106-panel)!important;
  background-image:none!important;
  border-color:var(--v106-border)!important;
  color:var(--v106-text)!important;
}
html[data-app-theme="dark"] .housekeeping-reference-board .reference-column>header,
html[data-app-theme="dark"] .housekeeping-reference-board .reference-column>header :is(strong,span),
html[data-app-theme="dark"] .hk-summary-band :is(strong,b),
html[data-app-theme="dark"] .operations-service-card :is(strong,b),
html[data-app-theme="dark"] .hk-worklist td,
html[data-app-theme="dark"] .hk-staff-table td{color:var(--v106-text)!important}
html[data-app-theme="dark"] .reference-room-task{background:#132b45!important;border-color:#2b4865!important;color:var(--v106-text)!important}
html[data-app-theme="dark"] .reference-room-task strong{color:var(--v106-text)!important}
html[data-app-theme="dark"] .reference-room-task>span,
html[data-app-theme="dark"] .reference-room-task footer,
html[data-app-theme="dark"] .reference-room-task footer small,
html[data-app-theme="dark"] .reference-room-task footer time{color:#aebdcc!important}
html[data-app-theme="dark"] .hk-worklist thead th,
html[data-app-theme="dark"] .hk-staff-table th{background:var(--v106-panel-2)!important;color:#aebdcc!important;border-color:var(--v106-border)!important}
html[data-app-theme="dark"] .hk-worklist tbody tr,
html[data-app-theme="dark"] .hk-worklist tbody tr:nth-child(even){background:var(--v106-panel)!important}
html[data-app-theme="dark"] .hk-worklist tbody tr:hover{background:#16314d!important}
html[data-app-theme="dark"] .hk-worklist td,
html[data-app-theme="dark"] .hk-staff-table td{border-color:#233d58!important}
html[data-app-theme="dark"] .hk-room-number{color:var(--v106-text)!important}

/* ----- Generic late-rendered white surfaces ----- */
html[data-app-theme="dark"] .reference-page :is(.section-card,.settings-card,.support-card,.staff-summary,.staff-card,.permits-hero,.permits-summary-card,.intel-kpi,.intel-card,.dashboard-report-overview,.dashboard-report-kpis article,.dashboard-occupancy-chart,.dashboard-revenue-source,.frontdesk-arrivals-reference,.frontdesk-departures-workspace,.fd-reference-card){box-shadow:none!important}

/* Keep light mode unchanged and readable. */
html[data-app-theme="light"] .settings-card h2,
html[data-app-theme="light"] .staff-summary strong,
html[data-app-theme="light"] .permits-hero h1,
html[data-app-theme="light"] .dashboard-report-kpis strong,
html[data-app-theme="light"] .intel-kpi strong{color:#142033!important}

/* ==== 56-layer-app-theme-v107.css ==== */
/* Hotel USA Operations — Theme V107 contrast correction
   Dark mode = dark navy surfaces + cream primary text + blue-gray secondary text.
   This file intentionally loads last and only affects authenticated dark mode. */

html[data-app-theme="dark"]{
  --v107-bg:#081426;
  --v107-panel:#10243b;
  --v107-panel-2:#132b45;
  --v107-border:#2a465f;
  --v107-text:#f4f6fa;
  --v107-muted:#b9c7d5;
  --v107-faint:#8fa3b8;
  --v107-link:#73b8ff;

  /* Make legacy variable-based components inherit the dark palette too. */
  --bg:#081426!important;
  --surface:#10243b!important;
  --surface2:#132b45!important;
  --border:#2a465f!important;
  --border-med:#385873!important;
  --text:#f4f6fa!important;
  --text-muted:#b9c7d5!important;
  --text-hint:#8fa3b8!important;
}

html[data-app-theme="dark"] body,
html[data-app-theme="dark"] .main,
html[data-app-theme="dark"] .main-content,
html[data-app-theme="dark"] #main-content,
html[data-app-theme="dark"] .reference-page{
  background:var(--v107-bg)!important;
  color:var(--v107-text)!important;
}

/* Primary headings on dark page canvas. */
html[data-app-theme="dark"] .main :is(.page-title,.reference-page-header h1,.property-dashboard-header h1,.frontdesk-reference-heading h2,.frontdesk-workspace-heading h2,.fd-reference-card-head h2){
  color:var(--v107-text)!important;
}
html[data-app-theme="dark"] .main :is(.page-subtitle,.reference-page-header p,.reference-page-header>div>span){
  color:var(--v107-muted)!important;
}

/* Dark panel families used outside Shared Finance. */
html[data-app-theme="dark"] :is(
  .frontdesk-reference-tabs,
  .reference-subtabs,
  .frontdesk-arrivals-reference,
  .frontdesk-departures-workspace,
  .frontdesk-reference-toolbar,
  .frontdesk-workspace-toolbar,
  .frontdesk-arrival-list,
  .frontdesk-departure-list,
  .fd-reference-card,
  .fd-reference-card-body,
  .fd-reference-breakdown,
  .fd-reference-summary article,
  .fd-reference-summary-row,
  .dashboard-report-overview,
  .dashboard-report-kpis article,
  .dashboard-occupancy-chart,
  .dashboard-revenue-source,
  .reports-reference-kpis article,
  .reports-reference-chart,
  .reports-reference-source,
  .reports-reference-toprooms,
  .intel-kpi,
  .intel-card,
  .intel-stat,
  .intel-list-item,
  .intel-alert,
  .intel-brief,
  .staff-summary,
  .staff-card,
  .settings-card,
  .support-card,
  .permits-hero,
  .permits-summary-card,
  .permit-card,
  .permit-checklist-card,
  .permit-panel,
  .housekeeping-reference-board>article,
  .housekeeping-reference-board .reference-column,
  .reference-board-card,
  .hk-worklist-card,
  .hk-summary-band,
  .operations-service-card,
  .hk-staff-table,
  .hk-worklist
){
  background:var(--v107-panel)!important;
  background-image:none!important;
  border-color:var(--v107-border)!important;
  color:var(--v107-text)!important;
  box-shadow:none!important;
}

/* Force readable primary text inside dark panels, overriding legacy hard-coded navy text. */
html[data-app-theme="dark"] :is(
  .frontdesk-arrivals-reference,
  .frontdesk-departures-workspace,
  .fd-reference-card,
  .dashboard-report-overview,
  .reports-page-reference,
  .intel-page,
  .staff-summary,
  .staff-card,
  .settings-card,
  .support-card,
  .permits-shell,
  .housekeeping-page-reference,
  .rooms-page-reference
) :is(h1,h2,h3,h4,h5,h6,strong,b,.metric-value,.reference-arrival-guest strong,.frontdesk-departure-guest strong,.hk-room-number){
  color:var(--v107-text)!important;
}

/* Secondary copy inside dark panels. */
html[data-app-theme="dark"] :is(
  .frontdesk-arrivals-reference,
  .frontdesk-departures-workspace,
  .fd-reference-card,
  .dashboard-report-overview,
  .reports-page-reference,
  .intel-page,
  .staff-summary,
  .staff-card,
  .settings-card,
  .support-card,
  .permits-shell,
  .housekeeping-page-reference,
  .rooms-page-reference
) :is(p,small,.muted,.subtitle,.page-subtitle,.metric-label,.metric-sub,.helper-text,time){
  color:var(--v107-muted)!important;
}

/* Front Desk rows and controls. */
html[data-app-theme="dark"] .frontdesk-reference-heading h2,
html[data-app-theme="dark"] .frontdesk-workspace-heading h2,
html[data-app-theme="dark"] .reference-arrival-guest strong,
html[data-app-theme="dark"] .frontdesk-departure-guest strong{color:var(--v107-text)!important}
html[data-app-theme="dark"] .frontdesk-reference-heading p,
html[data-app-theme="dark"] .frontdesk-workspace-heading p,
html[data-app-theme="dark"] .reference-arrival-guest span,
html[data-app-theme="dark"] .frontdesk-departure-guest span,
html[data-app-theme="dark"] .reference-arrival-guests,
html[data-app-theme="dark"] .frontdesk-arrival-list time,
html[data-app-theme="dark"] .reference-confirmation,
html[data-app-theme="dark"] .reference-room-number,
html[data-app-theme="dark"] .departure-confirmation,
html[data-app-theme="dark"] .departure-room{color:var(--v107-muted)!important}
html[data-app-theme="dark"] .frontdesk-arrival-list article,
html[data-app-theme="dark"] .frontdesk-departure-list article{border-color:var(--v107-border)!important}
html[data-app-theme="dark"] .frontdesk-filter-chips button,
html[data-app-theme="dark"] .reference-filter-button,
html[data-app-theme="dark"] .frontdesk-search-wrap,
html[data-app-theme="dark"] .frontdesk-workspace-search{
  background:var(--v107-panel-2)!important;
  border-color:var(--v107-border)!important;
  color:var(--v107-muted)!important;
}
html[data-app-theme="dark"] .frontdesk-search-wrap input,
html[data-app-theme="dark"] .frontdesk-workspace-search input{color:var(--v107-text)!important}
html[data-app-theme="dark"] .frontdesk-search-wrap input::placeholder,
html[data-app-theme="dark"] .frontdesk-workspace-search input::placeholder{color:var(--v107-faint)!important}
html[data-app-theme="dark"] .frontdesk-filter-chips button.active,
html[data-app-theme="dark"] .reference-subtabs button.active,
html[data-app-theme="dark"] .reference-subtab.active{background:#1f6fd0!important;color:#fff!important;border-color:#1f6fd0!important}
html[data-app-theme="dark"] .reference-subtabs button:not(.active){color:var(--v107-muted)!important}

/* Reports / analytics values and labels. */
html[data-app-theme="dark"] .dashboard-report-heading h2,
html[data-app-theme="dark"] .dashboard-report-kpis strong,
html[data-app-theme="dark"] .dashboard-occupancy-chart header strong,
html[data-app-theme="dark"] .dashboard-revenue-source header strong,
html[data-app-theme="dark"] .reports-page-reference :is(h1,h2,h3,strong,b){color:var(--v107-text)!important}
html[data-app-theme="dark"] .dashboard-report-heading>div>span,
html[data-app-theme="dark"] .dashboard-report-heading p,
html[data-app-theme="dark"] .dashboard-report-kpis span,
html[data-app-theme="dark"] .dashboard-report-kpis small,
html[data-app-theme="dark"] .dashboard-occupancy-chart header span,
html[data-app-theme="dark"] .dashboard-revenue-source header span,
html[data-app-theme="dark"] .dashboard-chart-labels,
html[data-app-theme="dark"] .dashboard-source-legend,
html[data-app-theme="dark"] .dashboard-source-legend>div{color:var(--v107-muted)!important}
html[data-app-theme="dark"] .dashboard-source-donut strong{color:var(--v107-text)!important}
html[data-app-theme="dark"] .dashboard-report-heading button{background:var(--v107-panel-2)!important;color:var(--v107-link)!important;border-color:var(--v107-border)!important}

/* Intelligence. */
html[data-app-theme="dark"] .intel-tabs{background:var(--v107-panel)!important;border-color:var(--v107-border)!important}
html[data-app-theme="dark"] .intel-tabs button{color:var(--v107-muted)!important}
html[data-app-theme="dark"] .intel-tabs button.active{background:var(--v107-panel-2)!important;color:var(--v107-text)!important;box-shadow:none!important}
html[data-app-theme="dark"] .intel-kpi strong,
html[data-app-theme="dark"] .intel-card :is(h2,h3,strong,b){color:var(--v107-text)!important}
html[data-app-theme="dark"] .intel-kpi span,
html[data-app-theme="dark"] .intel-kpi small,
html[data-app-theme="dark"] .intel-card :is(p,small,.intel-note){color:var(--v107-muted)!important}

/* Staff + settings. */
html[data-app-theme="dark"] .staff-summary strong,
html[data-app-theme="dark"] .settings-card h2,
html[data-app-theme="dark"] .support-card h2{color:var(--v107-text)!important}
html[data-app-theme="dark"] .staff-summary small,
html[data-app-theme="dark"] .settings-card span,
html[data-app-theme="dark"] .settings-card p,
html[data-app-theme="dark"] .support-card p{color:var(--v107-muted)!important}
html[data-app-theme="dark"] .reference-link-btn,
html[data-app-theme="dark"] .support-card button{background:var(--v107-panel-2)!important;color:var(--v107-link)!important;border-color:var(--v107-border)!important}

/* Permits. */
html[data-app-theme="dark"] .permits-hero h1,
html[data-app-theme="dark"] .permits-summary-card .v,
html[data-app-theme="dark"] .permit-card :is(h2,h3,strong,b){color:var(--v107-text)!important}
html[data-app-theme="dark"] .permits-eyebrow,
html[data-app-theme="dark"] .permits-hero p,
html[data-app-theme="dark"] .permits-summary-card .k,
html[data-app-theme="dark"] .permit-card :is(p,small){color:var(--v107-muted)!important}
html[data-app-theme="dark"] .permits-summary-card.ok .v{color:#35c995!important}
html[data-app-theme="dark"] .permits-summary-card.warn .v{color:#f3b247!important}
html[data-app-theme="dark"] .permits-summary-card.bad .v{color:#ff7070!important}

/* Rooms / housekeeping. */
html[data-app-theme="dark"] .reference-room-task{background:#132b45!important;border-color:#31506c!important;color:var(--v107-text)!important}
html[data-app-theme="dark"] .reference-room-task strong{color:var(--v107-text)!important}
html[data-app-theme="dark"] .reference-room-task>span,
html[data-app-theme="dark"] .reference-room-task footer,
html[data-app-theme="dark"] .reference-room-task footer small,
html[data-app-theme="dark"] .reference-room-task footer time{color:#aebdcc!important}
html[data-app-theme="dark"] .hk-worklist thead th,
html[data-app-theme="dark"] .hk-staff-table th{background:var(--v107-panel-2)!important;color:#aebdcc!important;border-color:var(--v107-border)!important}
html[data-app-theme="dark"] .hk-worklist tbody tr,
html[data-app-theme="dark"] .hk-worklist tbody tr:nth-child(even){background:var(--v107-panel)!important}
html[data-app-theme="dark"] .hk-worklist td,
html[data-app-theme="dark"] .hk-staff-table td{color:var(--v107-text)!important;border-color:var(--v107-border)!important}

/* Inputs/selects in dark mode. */
html[data-app-theme="dark"] .main :is(input,select,textarea){background:var(--v107-panel-2)!important;color:var(--v107-text)!important;border-color:var(--v107-border)!important}
html[data-app-theme="dark"] .main :is(input,textarea)::placeholder{color:var(--v107-faint)!important}

/* Preserve semantic buttons / badges instead of recoloring their text. */
html[data-app-theme="dark"] :is(.btn-primary,.reference-primary-button,.reference-row-action){color:#fff!important}
html[data-app-theme="dark"] :is(.reference-arrival-badge.needs,.departure-status.dueout){color:#9a5d08!important}
html[data-app-theme="dark"] :is(.reference-arrival-badge.checked,.reference-arrival-badge.assigned,.departure-status.checkedout){color:#137650!important}

/* Dashboard Cloudbeds badge remains a light semantic pill with dark green text. */
html[data-app-theme="dark"] .property-connection-status :is(.badge,.status-badge,strong,b,span:first-child){color:#087b59!important}

/* ==== 57-layer-app-theme-v108.css ==== */
/* Hotel USA Operations — Theme V108 targeted dark-mode contrast fixes
   Loaded last. Fixes dark text on dark panels and cream text on intentionally light panels. */

html[data-app-theme="dark"]{
  --v108-dark:#10243b;
  --v108-dark2:#132b45;
  --v108-border:#2a465f;
  --v108-cream:#f4f6fa;
  --v108-muted:#b9c7d5;
  --v108-faint:#8fa3b8;
  --v108-light:#ffffff;
  --v108-lighttext:#142033;
  --v108-lightmuted:#607086;
}

/* FRONT DESK — dark surfaces must use cream/white text. */
html[data-app-theme="dark"] :is(.frontdesk-arrivals-reference,.frontdesk-departures-workspace,.frontdesk-arrival-list,.frontdesk-departure-list){
  background:var(--v108-dark)!important;
  border-color:var(--v108-border)!important;
  color:var(--v108-cream)!important;
}
html[data-app-theme="dark"] :is(.frontdesk-arrivals-reference,.frontdesk-departures-workspace) :is(h1,h2,h3,h4,strong,b,.reference-arrival-guest strong,.frontdesk-departure-guest strong){
  color:var(--v108-cream)!important;
}
html[data-app-theme="dark"] :is(.frontdesk-arrivals-reference,.frontdesk-departures-workspace) :is(p,small,.reference-arrival-guest span,.frontdesk-departure-guest span,.reference-arrival-guests,.reference-confirmation,.reference-room-number,.departure-confirmation,.departure-room,time){
  color:var(--v108-muted)!important;
}
html[data-app-theme="dark"] .frontdesk-arrival-list article,
html[data-app-theme="dark"] .frontdesk-departure-list article{border-color:var(--v108-border)!important}

/* Daily Payments: keep the pale summary strip light, but make its text dark and readable. */
html[data-app-theme="dark"] .fd-active-shift-banner{
  background:#f6f8fb!important;
  border-color:#d9e2ec!important;
  color:var(--v108-lighttext)!important;
}
html[data-app-theme="dark"] .fd-active-shift-banner :is(strong,b){color:var(--v108-lighttext)!important}
html[data-app-theme="dark"] .fd-active-shift-banner :is(span,small,p){color:var(--v108-lightmuted)!important}

/* REPORTS — dark KPI/table surfaces get cream text. */
html[data-app-theme="dark"] :is(.reports-reference-kpis article,.reports-reference-toprooms,.reports-room-table){
  background:var(--v108-dark)!important;
  border-color:var(--v108-border)!important;
  color:var(--v108-cream)!important;
}
html[data-app-theme="dark"] .reports-reference-kpis article :is(strong,b){color:var(--v108-cream)!important}
html[data-app-theme="dark"] .reports-reference-kpis article :is(span,small,p){color:var(--v108-muted)!important}
html[data-app-theme="dark"] .reports-reference-toprooms header strong,
html[data-app-theme="dark"] .reports-room-table>div:not(.head) :is(strong,b,span:first-child){color:var(--v108-cream)!important}
html[data-app-theme="dark"] .reports-room-table .head span,
html[data-app-theme="dark"] .reports-room-table>div:not(.head) span{color:var(--v108-muted)!important}

/* Report scope is intentionally a light card in dark mode: use dark text. */
html[data-app-theme="dark"] .cloudbeds-report-scope{
  background:#f8fafc!important;
  border-color:#dce5ef!important;
  color:var(--v108-lighttext)!important;
}
html[data-app-theme="dark"] .cloudbeds-report-scope>div>span{color:#607792!important}
html[data-app-theme="dark"] .cloudbeds-report-scope>div>strong{color:var(--v108-lighttext)!important}
html[data-app-theme="dark"] .cloudbeds-report-scope nav{background:#eaf0f5!important}
html[data-app-theme="dark"] .cloudbeds-report-scope nav button{color:#536a82!important}
html[data-app-theme="dark"] .cloudbeds-report-scope nav button.active{background:#fff!important;color:#11806c!important}

/* Report charts intentionally remain light for chart readability. Force dark text on those light surfaces. */
html[data-app-theme="dark"] :is(.dashboard-occupancy-chart,.dashboard-revenue-source,.reports-reference-chart,.reports-reference-source){
  background:#fff!important;
  border-color:#dce5ef!important;
  color:var(--v108-lighttext)!important;
}
html[data-app-theme="dark"] :is(.dashboard-occupancy-chart,.dashboard-revenue-source,.reports-reference-chart,.reports-reference-source) :is(h1,h2,h3,h4,strong,b){color:var(--v108-lighttext)!important}
html[data-app-theme="dark"] :is(.dashboard-occupancy-chart,.dashboard-revenue-source,.reports-reference-chart,.reports-reference-source) :is(p,small,span,.dashboard-chart-labels,.dashboard-source-legend,.dashboard-source-legend>div){color:var(--v108-lightmuted)!important}
html[data-app-theme="dark"] .dashboard-source-donut strong{color:var(--v108-lighttext)!important}

/* WEEKLY INSPECTION — these cards remain light in dark mode, therefore use dark text throughout. */
html[data-app-theme="dark"] :is(.wi-toolbar,.wi-week-progress,.wi-schedule-card,.wi-summary-card,.wi-panel){
  background:#fff!important;
  border-color:#dce5ef!important;
  color:var(--v108-lighttext)!important;
}
html[data-app-theme="dark"] :is(.wi-toolbar,.wi-week-progress,.wi-schedule-card,.wi-summary-card,.wi-panel) :is(h1,h2,h3,h4,strong,b,.section-title){color:var(--v108-lighttext)!important}
html[data-app-theme="dark"] :is(.wi-toolbar,.wi-week-progress,.wi-schedule-card,.wi-summary-card,.wi-panel) :is(p,small,span,label){color:var(--v108-lightmuted)!important}
html[data-app-theme="dark"] .wi-schedule-card>span{color:#1466c3!important}
html[data-app-theme="dark"] .wi-summary-card>span{color:#607792!important}
html[data-app-theme="dark"] .wi-summary-card>strong{color:var(--v108-lighttext)!important}
html[data-app-theme="dark"] .wi-panel-head h3{color:var(--v108-lighttext)!important}
html[data-app-theme="dark"] .wi-panel-head span{color:var(--v108-lightmuted)!important}

/* Any dark reports/FD headings that still have legacy hard-coded navy colors. */
html[data-app-theme="dark"] :is(.frontdesk-reference-heading,.frontdesk-workspace-heading,.reports-page-reference .reference-page-header) :is(h1,h2,h3){color:var(--v108-cream)!important}
html[data-app-theme="dark"] :is(.frontdesk-reference-heading,.frontdesk-workspace-heading,.reports-page-reference .reference-page-header) p{color:var(--v108-muted)!important}

/* Keep semantic action buttons/badges untouched. */
html[data-app-theme="dark"] :is(.btn-primary,.reference-row-action,.fd-reference-primary){color:#fff!important}

/* ==== 58-layer-app-theme-v109.css ==== */
/* Theme V109 — dark mode high-contrast cleanup */
html[data-app-theme="dark"]{
  --v109-text:#f3f6fa;
  --v109-muted:#c8d3df;
  --v109-faint:#9fb0c1;
  --v109-panel:#10243b;
  --v109-panel2:#132b45;
  --v109-border:#2d4a64;
}

/* Front Desk exact selectors */
html[data-app-theme="dark"] body .main .frontdesk-arrivals-reference .frontdesk-reference-heading h2,
html[data-app-theme="dark"] body .main .frontdesk-departures-workspace .frontdesk-workspace-heading h2,
html[data-app-theme="dark"] body .main .reference-arrival-guest strong,
html[data-app-theme="dark"] body .main .frontdesk-departure-guest strong{
  color:var(--v109-text)!important;
}
html[data-app-theme="dark"] body .main .frontdesk-arrivals-reference .frontdesk-reference-heading p,
html[data-app-theme="dark"] body .main .frontdesk-departures-workspace .frontdesk-workspace-heading p,
html[data-app-theme="dark"] body .main .reference-arrival-guest span,
html[data-app-theme="dark"] body .main .frontdesk-departure-guest span,
html[data-app-theme="dark"] body .main .reference-arrival-guests,
html[data-app-theme="dark"] body .main .frontdesk-arrival-list time,
html[data-app-theme="dark"] body .main .reference-confirmation,
html[data-app-theme="dark"] body .main .reference-room-number,
html[data-app-theme="dark"] body .main .departure-confirmation,
html[data-app-theme="dark"] body .main .departure-room{
  color:var(--v109-muted)!important;
}

/* Front Desk Daily Payments light strip */
html[data-app-theme="dark"] body .main .fd-active-shift-banner{
  background:#f6f8fb!important;
  border-color:#d6dde6!important;
}
html[data-app-theme="dark"] body .main .fd-active-shift-banner span,
html[data-app-theme="dark"] body .main .fd-active-shift-banner small{
  color:#607086!important;
}
html[data-app-theme="dark"] body .main .fd-active-shift-banner strong{
  color:#142033!important;
}

/* Reports KPI cards */
html[data-app-theme="dark"] body .main .reports-reference-kpis article,
html[data-app-theme="dark"] body .main .dashboard-report-kpis article{
  background:var(--v109-panel)!important;
  border-color:var(--v109-border)!important;
}
html[data-app-theme="dark"] body .main .reports-reference-kpis article strong,
html[data-app-theme="dark"] body .main .dashboard-report-kpis article strong{
  color:var(--v109-text)!important;
}
html[data-app-theme="dark"] body .main .reports-reference-kpis article span,
html[data-app-theme="dark"] body .main .reports-reference-kpis article small,
html[data-app-theme="dark"] body .main .dashboard-report-kpis article span,
html[data-app-theme="dark"] body .main .dashboard-report-kpis article small{
  color:var(--v109-muted)!important;
}

/* Reports chart panels intentionally stay light: force dark text there */
html[data-app-theme="dark"] body .main .reports-reference-chart,
html[data-app-theme="dark"] body .main .reports-reference-source,
html[data-app-theme="dark"] body .main .dashboard-occupancy-chart,
html[data-app-theme="dark"] body .main .dashboard-revenue-source{
  background:#ffffff!important;
  color:#142033!important;
}
html[data-app-theme="dark"] body .main .reports-reference-chart :is(h1,h2,h3,strong,b),
html[data-app-theme="dark"] body .main .reports-reference-source :is(h1,h2,h3,strong,b),
html[data-app-theme="dark"] body .main .dashboard-occupancy-chart :is(h1,h2,h3,strong,b),
html[data-app-theme="dark"] body .main .dashboard-revenue-source :is(h1,h2,h3,strong,b){
  color:#142033!important;
}
html[data-app-theme="dark"] body .main .reports-reference-chart :is(span,p,small),
html[data-app-theme="dark"] body .main .reports-reference-source :is(span,p,small),
html[data-app-theme="dark"] body .main .dashboard-occupancy-chart :is(span,p,small),
html[data-app-theme="dark"] body .main .dashboard-revenue-source :is(span,p,small){
  color:#607086!important;
}

/* Reports top rooms table */
html[data-app-theme="dark"] body .main .reports-reference-toprooms{
  background:var(--v109-panel)!important;
  border-color:var(--v109-border)!important;
}
html[data-app-theme="dark"] body .main .reports-reference-toprooms header strong,
html[data-app-theme="dark"] body .main .reports-room-table>div:not(.head) strong,
html[data-app-theme="dark"] body .main .reports-room-table>div:not(.head) span{
  color:var(--v109-text)!important;
}
html[data-app-theme="dark"] body .main .reports-room-table .head,
html[data-app-theme="dark"] body .main .reports-room-table .head span{
  color:var(--v109-faint)!important;
}
html[data-app-theme="dark"] body .main .reports-room-table>div{
  border-color:var(--v109-border)!important;
}

/* Weekly inspection: fully darken cards and make text readable */
html[data-app-theme="dark"] body .main .weekly-inspection-shell .wi-toolbar,
html[data-app-theme="dark"] body .main .weekly-inspection-shell .wi-week-progress,
html[data-app-theme="dark"] body .main .weekly-inspection-shell .wi-schedule-card,
html[data-app-theme="dark"] body .main .weekly-inspection-shell .wi-summary-card,
html[data-app-theme="dark"] body .main .weekly-inspection-shell .wi-panel{
  background:var(--v109-panel)!important;
  border-color:var(--v109-border)!important;
  color:var(--v109-text)!important;
}
html[data-app-theme="dark"] body .main .weekly-inspection-shell :is(.section-title,h3,strong,.wi-summary-card strong,.wi-schedule-card strong){
  color:var(--v109-text)!important;
}
html[data-app-theme="dark"] body .main .weekly-inspection-shell :is(p,small,label,.wi-summary-card span,.wi-week-progress span,.wi-schedule-card span,.wi-panel-head span){
  color:var(--v109-muted)!important;
}
html[data-app-theme="dark"] body .main .weekly-inspection-shell .wi-room-row{
  background:var(--v109-panel2)!important;
  border-color:var(--v109-border)!important;
  color:var(--v109-text)!important;
}
html[data-app-theme="dark"] body .main .weekly-inspection-shell .wi-room-row strong{color:var(--v109-text)!important}
html[data-app-theme="dark"] body .main .weekly-inspection-shell .wi-room-row small{color:var(--v109-muted)!important}

/* Cloudbeds property selector strip in reports stays light: force dark text */
html[data-app-theme="dark"] body .main .cloudbeds-report-scope{
  background:#f6f8fb!important;
  border-color:#d6dde6!important;
}
html[data-app-theme="dark"] body .main .cloudbeds-report-scope>div>span{color:#607086!important}
html[data-app-theme="dark"] body .main .cloudbeds-report-scope>div>strong{color:#142033!important}
html[data-app-theme="dark"] body .main .cloudbeds-report-scope button{color:#607086!important}
html[data-app-theme="dark"] body .main .cloudbeds-report-scope button.active{background:#fff!important;color:#0f7f67!important}

/* ==== 59-layer-app-theme-final.css ==== */
/* ==========================================================================
   app-theme-final.css
   Hotel USA Operations — single, final theme-correction stylesheet.

   Purpose: consolidate the dark/light contrast fixes that had been spread
   across app-theme-v103.css .. app-theme-v109.css into one file, using a
   consistently high-specificity selector pattern so this file wins the
   cascade regardless of load order versus the older V10x files. This file
   must be linked LAST (after app-theme-v109.css) in the build injection.

   Surface rule (do not violate):
     Dark background  -> primary #f4f6fa, secondary #b9c7d5, faint #8fa3b8
     Light background -> primary #142033, secondary #607086, faint #718399
   Never cream-on-white. Never navy-on-navy.

   This file does not touch layout, auth, or business logic — colors only.
   ========================================================================== */

html[data-app-theme="dark"]{
  --final-bg:#081426;
  --final-panel:#10243b;
  --final-panel-2:#122a44;
  --final-border:#28415b;
  --final-text:#f4f6fa;
  --final-muted:#b9c7d5;
  --final-faint:#8fa3b8;
  /* Surfaces that intentionally stay light in dark mode (charts, printable strips) */
  --final-light-bg:#ffffff;
  --final-light-text:#142033;
  --final-light-muted:#607086;
}

/* ==========================================================================
   Global
   ========================================================================== */

/* High-specificity helper: every rule below is scoped under body .main so it
   consistently outranks any earlier flat `html[data-app-theme] .foo` rule. */

/* ==========================================================================
   Dashboard
   ========================================================================== */

html[data-app-theme="dark"] body .main .dashboard-report-overview{
  background:var(--final-panel)!important;
  border-color:var(--final-border)!important;
  box-shadow:none!important;
}
html[data-app-theme="dark"] body .main .dashboard-report-heading h2{color:var(--final-text)!important;
}
html[data-app-theme="dark"] body .main .dashboard-report-heading>div>span,
html[data-app-theme="dark"] body .main .dashboard-report-heading p{
  color:var(--final-muted)!important;
}
html[data-app-theme="dark"] body .main .dashboard-report-heading button{
  background:var(--final-panel-2)!important;
  color:#8fc3ff!important;
  border-color:var(--final-border)!important;
}
html[data-app-theme="dark"] body .main .dashboard-report-kpis article{
  background:var(--final-panel-2)!important;
  border-color:var(--final-border)!important;
}
html[data-app-theme="dark"] body .main .dashboard-report-kpis article strong{
  color:var(--final-text)!important;
}
html[data-app-theme="dark"] body .main .dashboard-report-kpis article span,
html[data-app-theme="dark"] body .main .dashboard-report-kpis article small{
  color:var(--final-muted)!important;
}

/* Chart cards (occupancy trend / revenue by source) intentionally stay
   white/light on the dashboard too — force dark navy text, never cream. */
html[data-app-theme="dark"] body .main .dashboard-occupancy-chart,
html[data-app-theme="dark"] body .main .dashboard-revenue-source{
  background:var(--final-light-bg)!important;
  color:var(--final-light-text)!important;
}
html[data-app-theme="dark"] body .main .dashboard-occupancy-chart :is(h1,h2,h3,strong,b,header strong),
html[data-app-theme="dark"] body .main .dashboard-revenue-source :is(h1,h2,h3,strong,b,header strong){
  color:var(--final-light-text)!important;
}
html[data-app-theme="dark"] body .main .dashboard-occupancy-chart :is(span,p,small,header span),
html[data-app-theme="dark"] body .main .dashboard-revenue-source :is(span,p,small,header span){
  color:var(--final-light-muted)!important;
}
html[data-app-theme="dark"] body .main .dashboard-chart-labels,
html[data-app-theme="dark"] body .main .dashboard-source-legend,
html[data-app-theme="dark"] body .main .dashboard-source-legend>div{
  color:var(--final-light-muted)!important;
}
html[data-app-theme="dark"] body .main .dashboard-source-donut strong{
  color:var(--final-light-text)!important;
}

/* Dashboard's own Top Performing Room Types table */
html[data-app-theme="dark"] body .main .dashboard-top-rooms{
  background:var(--final-panel)!important;
  border-color:var(--final-border)!important;
}
html[data-app-theme="dark"] body .main .dashboard-top-rooms header strong{
  color:var(--final-text)!important;
}
html[data-app-theme="dark"] body .main .dashboard-room-table>div{
  border-color:var(--final-border)!important;
}
html[data-app-theme="dark"] body .main .dashboard-room-table>div:not(.head) strong,
html[data-app-theme="dark"] body .main .dashboard-room-table>div:not(.head) span{
  color:var(--final-text)!important;
}
html[data-app-theme="dark"] body .main .dashboard-room-table .head,
html[data-app-theme="dark"] body .main .dashboard-room-table .head span{
  color:var(--final-faint)!important;
}

/* ==========================================================================
   Front Desk (Arrivals / Departures / Daily Payments)
   ========================================================================== */

html[data-app-theme="dark"] body .main .frontdesk-arrivals-reference,
html[data-app-theme="dark"] body .main .frontdesk-departures-workspace{
  background:var(--final-panel)!important;
  border-color:var(--final-border)!important;
  box-shadow:none!important;
}
html[data-app-theme="dark"] body .main .frontdesk-reference-heading h2,
html[data-app-theme="dark"] body .main .frontdesk-workspace-heading h2,
html[data-app-theme="dark"] body .main .frontdesk-arrivals-reference .frontdesk-reference-heading h2,
html[data-app-theme="dark"] body .main .frontdesk-departures-workspace .frontdesk-workspace-heading h2{
  color:var(--final-text)!important;
}
html[data-app-theme="dark"] body .main .frontdesk-reference-heading p,
html[data-app-theme="dark"] body .main .frontdesk-workspace-heading p{
  color:var(--final-muted)!important;
}

/* Guest names: cream/white. Source (Booking.com, Expedia) + metadata: blue-gray. */
html[data-app-theme="dark"] body .main .reference-arrival-guest strong,
html[data-app-theme="dark"] body .main .frontdesk-departure-guest strong{
  color:var(--final-text)!important;
}
html[data-app-theme="dark"] body .main .reference-arrival-guest span,
html[data-app-theme="dark"] body .main .frontdesk-departure-guest span,
html[data-app-theme="dark"] body .main .reference-arrival-guests,
html[data-app-theme="dark"] body .main .frontdesk-arrival-list time,
html[data-app-theme="dark"] body .main .reference-confirmation,
html[data-app-theme="dark"] body .main .reference-room-number,
html[data-app-theme="dark"] body .main .departure-confirmation,
html[data-app-theme="dark"] body .main .departure-room{
  color:var(--final-muted)!important;
}
html[data-app-theme="dark"] body .main .frontdesk-search-wrap input,
html[data-app-theme="dark"] body .main .frontdesk-workspace-search input{
  color:var(--final-text)!important;
}
html[data-app-theme="dark"] body .main .frontdesk-search-wrap input::placeholder,
html[data-app-theme="dark"] body .main .frontdesk-workspace-search input::placeholder{
  color:var(--final-faint)!important;
}
html[data-app-theme="dark"] body .main .frontdesk-filter-chips button:not(.active),
html[data-app-theme="dark"] body .main .reference-filter-button{
  color:var(--final-muted)!important;
}

/* ==== 60-layer-app-theme-final-font-fix.css ==== */
/* Minor dark-mode contrast corrections after app-theme-final.css.
   Scope: text only. No layout, auth, data, or business logic changes. */

/* Permits / Licenses: dark table surface -> light text. */
html[data-app-theme="dark"] body .main .permits-table .permit-name-cell strong{
  color:#f4f6fa!important;
}
html[data-app-theme="dark"] body .main .permits-table .permit-note-preview{
  color:#b9c7d5!important;
}
html[data-app-theme="dark"] body .main .permits-table td:nth-child(3),
html[data-app-theme="dark"] body .main .permits-table td:nth-child(3) span{
  color:#b9c7d5!important;
}
html[data-app-theme="dark"] body .main .permits-table .permit-number{
  background:#ffffff!important;
  color:#142033!important;
}

/* Housekeeping priority/service cards: titles sit on dark panels. */
html[data-app-theme="dark"] body .main .hk-service-grid .hk-service-head span,
html[data-app-theme="dark"] body .main .hk-service-grid .operations-service-card .hk-service-head span{
  color:#f4f6fa!important;
}
html[data-app-theme="dark"] body .main .hk-service-grid .hk-service-rate,
html[data-app-theme="dark"] body .main .hk-service-grid .hk-service-rate small{
  color:#b9c7d5!important;
}

/* Recent Changes intentionally uses light activity rows in dark mode.
   Keep those rows light, but force dark readable text inside them. */
html[data-app-theme="dark"] body .main .activity-row strong{
  color:#142033!important;
}
html[data-app-theme="dark"] body .main .activity-row p,
html[data-app-theme="dark"] body .main .activity-row .activity-time{
  color:#607086!important;
}

/* Reports -> Operational Report Downloads intentionally stays light in dark mode.
   Force dark readable text inside the light cards and stat boxes. */
html[data-app-theme="dark"] body .main .reports-export-tools{
  background:#ffffff!important;
  color:#142033!important;
}
html[data-app-theme="dark"] body .main .reports-export-tools>header strong,
html[data-app-theme="dark"] body .main .reports-export-tools .report-card h3,
html[data-app-theme="dark"] body .main .reports-export-tools .report-stat strong{
  color:#142033!important;
}
html[data-app-theme="dark"] body .main .reports-export-tools>header span,
html[data-app-theme="dark"] body .main .reports-export-tools .report-card p,
html[data-app-theme="dark"] body .main .reports-export-tools .report-stat small{
  color:#607086!important;
}
html[data-app-theme="dark"] body .main .reports-export-tools .report-card{
  background:#fff!important;
  color:#142033!important;
}
html[data-app-theme="dark"] body .main .reports-export-tools .report-stat{
  background:#f7fafc!important;
  color:#142033!important;
}

/* Front Desk -> Staff Logins: staff cards are dark in dark mode,
   so names/details must be light. */
html[data-app-theme="dark"] body .main .staff-card .staff-name{
  color:#f4f6fa!important;
}
html[data-app-theme="dark"] body .main .staff-card .staff-email,
html[data-app-theme="dark"] body .main .staff-card .staff-card-head div[style*="font-size:11px"]{
  color:#b9c7d5!important;
}
html[data-app-theme="dark"] body .main .staff-card.inactive{
  opacity:.88!important;
}
html[data-app-theme="dark"] body .main .staff-card.inactive .staff-name{
  color:#f4f6fa!important;
}
html[data-app-theme="dark"] body .main .staff-card.inactive .staff-email,
html[data-app-theme="dark"] body .main .staff-card.inactive .staff-card-head div[style*="font-size:11px"]{
  color:#b9c7d5!important;
}

/* ==== 61-layer-frontdesk-card-breakdown-v113.css ==== */
/* Front Desk Card Breakdown V113 */
.fd-card-breakdown-section{padding:22px}
.fd-card-breakdown-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:15px}
.fd-card-breakdown-heading h3{margin:0;font-size:20px;line-height:1.15}
.fd-card-breakdown-heading p{margin:4px 0 0;font-size:13px}
.fd-card-breakdown-total{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.fd-card-breakdown-total small{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.fd-card-breakdown-total strong{font-size:20px}
.fd-card-breakdown-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.fd-card-breakdown-tile{min-width:0;border-radius:16px;padding:15px 16px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-height:132px;border:1px solid;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.fd-card-breakdown-tile:hover{transform:translateY(-1px)}
.fd-card-breakdown-top{display:flex;align-items:center;gap:11px;min-width:0}
.fd-card-brand-badge{width:58px;height:42px;flex:0 0 58px;border-radius:11px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.fd-card-breakdown-meta{display:flex;flex-direction:column;gap:2px;min-width:0}
.fd-card-breakdown-meta>span{font-size:14px;font-weight:800;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fd-card-breakdown-meta>small{font-size:11px;line-height:1.2}
.fd-card-breakdown-amount{font-size:27px;line-height:1;font-weight:850;letter-spacing:-.02em}
.fd-card-logo-word{font-weight:900;letter-spacing:-.04em;line-height:1}
.visa-word{font-size:18px;font-style:italic;letter-spacing:-.08em}
.amex-word{font-size:13px;letter-spacing:-.03em}
.discover-word{font-size:11px;letter-spacing:-.05em}.discover-word span{display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;border-radius:50%;margin:0 1px}
.fd-card-logo-mastercard{position:relative;width:40px;height:24px}.fd-card-logo-mastercard i{position:absolute;top:2px;width:22px;height:22px;border-radius:50%;display:block}.fd-card-logo-mastercard i:first-child{left:1px;background:#eb001b}.fd-card-logo-mastercard i:last-child{right:1px;background:#f79e1b;mix-blend-mode:screen}
.fd-card-logo-other{font-size:22px;line-height:1}

html[data-app-theme="dark"] body .main .fd-card-breakdown-heading h3,
html[data-app-theme="dark"] body .main .fd-card-breakdown-total strong,
html[data-app-theme="dark"] body .main .fd-card-breakdown-meta>span,
html[data-app-theme="dark"] body .main .fd-card-breakdown-amount{color:#f4f6fa!important}
html[data-app-theme="dark"] body .main .fd-card-breakdown-heading p,
html[data-app-theme="dark"] body .main .fd-card-breakdown-total small,
html[data-app-theme="dark"] body .main .fd-card-breakdown-meta>small{color:#b9c7d5!important}
html[data-app-theme="dark"] body .main .fd-card-breakdown-tile{background:#122a44;border-color:#28415b;box-shadow:0 10px 24px rgba(0,0,0,.08)}
html[data-app-theme="dark"] body .main .fd-card-breakdown-tile.is-zero{background:#10243b}
html[data-app-theme="dark"] body .main .fd-card-brand-badge.visa{background:#eaf0ff;color:#1a1f71}
html[data-app-theme="dark"] body .main .fd-card-brand-badge.mastercard{background:#fff6ef}
html[data-app-theme="dark"] body .main .fd-card-brand-badge.amex{background:#e9f7ff;color:#006fcf}
html[data-app-theme="dark"] body .main .fd-card-brand-badge.discover{background:#fff6e8;color:#152033}
html[data-app-theme="dark"] body .main .fd-card-brand-badge.discover .discover-word span{background:#f58220;color:#fff}
html[data-app-theme="dark"] body .main .fd-card-brand-badge.other{background:#edf3f8;color:#334155}

html[data-app-theme="light"] body .main .fd-card-breakdown-heading h3,
html[data-app-theme="light"] body .main .fd-card-breakdown-total strong,
html[data-app-theme="light"] body .main .fd-card-breakdown-meta>span,
html[data-app-theme="light"] body .main .fd-card-breakdown-amount{color:#142033!important}
html[data-app-theme="light"] body .main .fd-card-breakdown-heading p,
html[data-app-theme="light"] body .main .fd-card-breakdown-total small,
html[data-app-theme="light"] body .main .fd-card-breakdown-meta>small{color:#607086!important}
html[data-app-theme="light"] body .main .fd-card-breakdown-tile{background:#ffffff;border-color:#d9e3ee;box-shadow:0 8px 20px rgba(20,32,51,.05)}
html[data-app-theme="light"] body .main .fd-card-breakdown-tile.is-zero{background:#f7f9fb}
html[data-app-theme="light"] body .main .fd-card-brand-badge.visa{background:#edf2ff;color:#1a1f71}
html[data-app-theme="light"] body .main .fd-card-brand-badge.mastercard{background:#fff4eb}
html[data-app-theme="light"] body .main .fd-card-brand-badge.amex{background:#e9f7ff;color:#006fcf}
html[data-app-theme="light"] body .main .fd-card-brand-badge.discover{background:#fff5e5;color:#152033}
html[data-app-theme="light"] body .main .fd-card-brand-badge.discover .discover-word span{background:#f58220;color:#fff}
html[data-app-theme="light"] body .main .fd-card-brand-badge.other{background:#edf3f8;color:#334155}

@media(max-width:1200px){.fd-card-breakdown-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.fd-card-breakdown-section{padding:16px}.fd-card-breakdown-heading{align-items:flex-start;flex-direction:column}.fd-card-breakdown-total{align-items:flex-start}.fd-card-breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fd-card-breakdown-tile{min-height:120px}.fd-card-breakdown-amount{font-size:24px}}
@media(max-width:460px){.fd-card-breakdown-grid{grid-template-columns:1fr}}

/* ==== 62-layer-reports-forecast-v118.css ==== */
/* Hotel USA Operations V118 - Reports forecasting / trend UI */
.rf-main-trend{overflow:hidden}.rf-main-trend .rf-chart-wrap{padding:4px 18px 12px}.rf-chart-wrap{width:100%;overflow:hidden}.rf-chart{width:100%;height:280px;display:block}.rf-grid{stroke:#dbe5ef;stroke-width:1}.rf-axis{font:12px Inter,Arial,sans-serif;fill:#6b7f95}.rf-line-actual,.rf-line-ma{fill:none;vector-effect:non-scaling-stroke}.rf-line-actual{stroke:#2878d8;stroke-width:2.2;opacity:.55}.rf-line-ma{stroke:#0f9d78;stroke-width:3.2}.rf-legend{display:flex;flex-wrap:wrap;gap:18px;padding:6px 4px 0;color:#667b91;font-size:12px}.rf-legend span{display:flex;align-items:center;gap:7px}.rf-legend i{width:18px;height:3px;border-radius:3px;display:inline-block}.rf-legend i.actual{background:#2878d8;opacity:.6}.rf-legend i.ma{background:#0f9d78}.rf-legend i.revenue{background:#2878d8;height:8px}.rf-legend i.trend{background:#0f9d78;height:2px}.rf-inline-stats{display:flex;gap:22px;padding:10px 22px 18px;color:#63778c;font-size:12px}.rf-inline-stats b{color:#14263a}.rf-lab{margin-top:22px;border:1px solid #d9e3ed;border-radius:18px;background:#fff;overflow:hidden}.rf-lab-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:22px 24px 18px;border-bottom:1px solid #e4ebf2}.rf-lab-head span,.rf-card header span{display:block;font-size:11px;font-weight:800;letter-spacing:.11em;color:#70869b}.rf-lab-head h2{margin:5px 0 5px;font-size:22px;color:#13263b}.rf-lab-head p{margin:0;max-width:760px;color:#64798f;line-height:1.45}.rf-window{display:flex;gap:6px;flex-shrink:0;background:#eff4f8;padding:5px;border-radius:12px}.rf-window button{border:0;background:transparent;padding:8px 11px;border-radius:9px;color:#5d7288;font-weight:800;cursor:pointer}.rf-window button.active{background:#fff;color:#14263a;box-shadow:0 1px 5px rgba(20,38,58,.12)}.rf-coverage{margin:18px 24px 0;padding:12px 14px;border:1px solid #dbe7f0;background:#f6f9fc;border-radius:12px;color:#5f7488;font-size:12px;line-height:1.45}.rf-coverage strong{color:#17314d}.rf-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px 24px}.rf-kpis article{border:1px solid #dce6ef;border-radius:13px;padding:14px;background:#fbfcfe}.rf-kpis span{display:block;color:#73879b;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.08em}.rf-kpis strong{display:block;margin-top:5px;color:#13263b;font-size:21px}.rf-kpis small{color:#71859a}.rf-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:14px;padding:0 24px 18px}.rf-card{border:1px solid #dce6ef;border-radius:15px;background:#fff;overflow:hidden}.rf-card header{padding:15px 17px 10px}.rf-card h3{margin:4px 0 0;color:#14263a;font-size:16px}.rf-card footer{padding:10px 16px 14px;color:#71859a;font-size:11px;line-height:1.4}.rf-weekly-bars{height:245px;padding:18px 14px 0;display:flex;align-items:stretch;gap:5px}.rf-week{flex:1;min-width:0;display:flex;flex-direction:column}.rf-bar-shell{height:205px;position:relative;display:flex;align-items:flex-end}.rf-bar{width:70%;margin:0 auto;background:#2d8fe8;border-radius:5px 5px 2px 2px;min-height:2px}.rf-bar-ma{position:absolute;left:5%;right:5%;height:2px;background:#10a27c;transform:translateY(1px);z-index:2}.rf-week small{text-align:center;font-size:9px;color:#71859a;white-space:nowrap;margin-top:5px}.rf-season-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;padding:14px 12px 16px}.rf-season-grid article{text-align:center;min-width:0}.rf-season-grid article>strong{font-size:11px;color:#526a80}.rf-season-bar{height:110px;background:#eef3f7;border-radius:7px;display:flex;align-items:flex-end;margin:7px 0}.rf-season-bar i{width:100%;background:#2878d8;border-radius:7px;min-height:2px}.rf-season-grid b{display:block;color:#13263b;font-size:13px}.rf-season-grid small{display:block;margin-top:3px;color:#7b8fa2;font-size:9px;line-height:1.25}.rf-forecast-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding:14px}.rf-forecast-grid article{padding:9px 5px;border:1px solid #e0e8ef;border-radius:10px;text-align:center;background:#f8fafc}.rf-forecast-grid span{font-size:9px;color:#8091a2;text-transform:uppercase;font-weight:800}.rf-forecast-grid strong{display:block;color:#536b82;font-size:10px;margin:2px 0 4px}.rf-forecast-grid b{color:#13263b;font-size:15px}.rf-empty{padding:30px;color:#778a9d;text-align:center}.reports-page-reference .reports-analytics-grid{align-items:stretch}
html[data-app-theme="dark"] body .main .rf-lab,html[data-app-theme="dark"] body .main .rf-card{background:#10243b;border-color:#28415b}html[data-app-theme="dark"] body .main .rf-lab-head,html[data-app-theme="dark"] body .main .rf-card{border-color:#28415b}html[data-app-theme="dark"] body .main .rf-lab-head h2,html[data-app-theme="dark"] body .main .rf-card h3,html[data-app-theme="dark"] body .main .rf-kpis strong,html[data-app-theme="dark"] body .main .rf-season-grid b,html[data-app-theme="dark"] body .main .rf-forecast-grid b,html[data-app-theme="dark"] body .main .rf-inline-stats b{color:#f4f6fa}html[data-app-theme="dark"] body .main .rf-lab-head p,html[data-app-theme="dark"] body .main .rf-legend,html[data-app-theme="dark"] body .main .rf-inline-stats,html[data-app-theme="dark"] body .main .rf-card footer{color:#b9c7d5}html[data-app-theme="dark"] body .main .rf-coverage,html[data-app-theme="dark"] body .main .rf-kpis article,html[data-app-theme="dark"] body .main .rf-forecast-grid article{background:#122a44;border-color:#28415b;color:#b9c7d5}html[data-app-theme="dark"] body .main .rf-coverage strong{color:#f4f6fa}html[data-app-theme="dark"] body .main .rf-window{background:#0b1c2f}html[data-app-theme="dark"] body .main .rf-window button{color:#b9c7d5}html[data-app-theme="dark"] body .main .rf-window button.active{background:#ffffff;color:#142033}html[data-app-theme="dark"] body .main .rf-grid{stroke:#28415b}html[data-app-theme="dark"] body .main .rf-axis{fill:#b9c7d5}html[data-app-theme="dark"] body .main .rf-season-bar{background:#18324e}
@media(max-width:900px){.rf-grid{grid-template-columns:1fr}.rf-kpis{grid-template-columns:repeat(2,1fr)}.rf-lab-head{flex-direction:column}.rf-window{width:100%}.rf-window button{flex:1}.rf-forecast-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:600px){.rf-kpis{grid-template-columns:1fr 1fr}.rf-grid{padding-left:12px;padding-right:12px}.rf-lab-head,.rf-kpis{padding-left:14px;padding-right:14px}.rf-coverage{margin-left:14px;margin-right:14px}.rf-season-grid{grid-template-columns:repeat(4,1fr)}.rf-forecast-grid{grid-template-columns:repeat(3,1fr)}.rf-chart{height:230px}}

/* ==== 90-design-system.css ==== */
/* ============================================================================
   Hotel USA Operations — Design system (loads last; the single source for the
   app shell, typography and shared components).

   Look: the approved V21 reference — cool light canvas, white cards, navy
   sidebar, blue primary actions, compact headings. Gold stays as a brand accent.
   Selectors are anchored on #app-shell so they reliably win over the older
   theme layers without adding more !important chains elsewhere.
   ========================================================================== */

/* ---- 1. Tokens ---------------------------------------------------------- */
:root,
html[data-app-theme="light"] {
  --ds-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --ds-bg: #f4f6fa;
  --ds-surface: #ffffff;
  --ds-surface-2: #f8fafc;
  --ds-surface-3: #eef2f7;
  --ds-border: #e2e8f0;
  --ds-border-strong: #cfd8e3;
  --ds-text: #0f1b2d;
  --ds-text-2: #334155;
  --ds-muted: #5b6b80;
  --ds-navy: #0b1f3a;
  --ds-navy-2: #10294a;
  --ds-primary: #1d5fbf;
  --ds-primary-hover: #174f9f;
  --ds-primary-soft: #e8f0fc;
  --ds-success: #12805c;
  --ds-success-soft: #e7f6ef;
  --ds-warning: #b45309;
  --ds-warning-soft: #fff6e6;
  --ds-danger: #c2272d;
  --ds-danger-soft: #fdecec;
  --ds-gold: #b08d57;
  --ds-focus: 0 0 0 3px rgba(29, 95, 191, .28);
  --ds-shadow-sm: 0 1px 2px rgba(15, 27, 45, .05);
  --ds-shadow: 0 1px 2px rgba(15, 27, 45, .05), 0 4px 14px rgba(15, 27, 45, .05);
  --ds-radius: 12px;
  --ds-radius-sm: 8px;
  --ds-control-h: 40px;

  /* Point the older theme variables at the same palette. */
  --app-page: var(--ds-bg); --app-panel: var(--ds-surface); --app-panel-2: var(--ds-surface-2);
  --app-soft: var(--ds-surface-3); --app-border: var(--ds-border); --app-text: var(--ds-text); --app-muted: var(--ds-muted);
  --ref-bg: var(--ds-bg); --ref-border: var(--ds-border); --ref-text: var(--ds-text);
  --bg: var(--ds-bg); --surface: var(--ds-surface); --surface2: var(--ds-surface-2);
  --text: var(--ds-text); --text-muted: var(--ds-muted); --border: var(--ds-border);
}
html[data-app-theme="dark"] {
  --ds-bg: #0b1322;
  --ds-surface: #121d30;
  --ds-surface-2: #16233a;
  --ds-surface-3: #1b2a44;
  --ds-border: #26354f;
  --ds-border-strong: #33456a;
  --ds-text: #e7edf6;
  --ds-text-2: #c8d3e3;
  --ds-muted: #9aabc2;
  --ds-primary: #4a8cff;
  --ds-primary-hover: #6aa0ff;
  --ds-primary-soft: rgba(74, 140, 255, .16);
  --ds-success: #3ccf91;
  --ds-success-soft: rgba(60, 207, 145, .14);
  --ds-warning: #f0a54a;
  --ds-warning-soft: rgba(240, 165, 74, .14);
  --ds-danger: #ff6b6b;
  --ds-danger-soft: rgba(255, 107, 107, .14);
  --ds-focus: 0 0 0 3px rgba(74, 140, 255, .4);
  --ds-shadow-sm: none;
  --ds-shadow: 0 1px 0 rgba(255, 255, 255, .02);
  --app-page: var(--ds-bg); --app-panel: var(--ds-surface); --app-panel-2: var(--ds-surface-2);
  --app-soft: var(--ds-surface-3); --app-border: var(--ds-border); --app-text: var(--ds-text); --app-muted: var(--ds-muted);
  --final-bg: var(--ds-bg); --final-panel: var(--ds-surface); --final-panel-2: var(--ds-surface-2);
  --final-border: var(--ds-border); --final-text: var(--ds-text); --final-muted: var(--ds-muted);
}

/* ---- 2. Base ------------------------------------------------------------ */
html body, html body button, html body input, html body select, html body textarea { font-family: var(--ds-font); }
html body { background: var(--ds-bg); color: var(--ds-text); -webkit-font-smoothing: antialiased; }
#app-shell, #app-shell .main, #app-shell #main-content { background: var(--ds-bg) !important; color: var(--ds-text) !important; }
#app-shell :focus-visible { outline: none !important; box-shadow: var(--ds-focus) !important; }

/* ---- 3. Sidebar --------------------------------------------------------- */
#app-shell .sidebar {
  width: 232px !important; background: var(--ds-navy) !important; border-right: 0 !important; box-shadow: none !important;
  display: flex !important; flex-direction: column !important; padding: 0 !important; overflow: hidden !important;
}
#app-shell .sidebar .sidebar-logo { padding: 18px 18px 14px !important; border-bottom: 1px solid rgba(255,255,255,.08) !important; flex: 0 0 auto; }
#app-shell .sidebar .logo-name { font-size: 16px !important; font-weight: 700 !important; letter-spacing: -.01em; color: #fff !important; }
#app-shell .sidebar .logo-sub { font-size: 11px !important; letter-spacing: .14em !important; color: rgba(255,255,255,.55) !important; }
#app-shell .sidebar .reference-nav {
  flex: 1 1 auto !important; overflow-y: auto !important; overscroll-behavior: contain; padding: 10px 10px 16px !important;
  display: block !important; min-height: 0 !important; height: auto !important;
  scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.18) transparent;
}
#app-shell .sidebar .nav-section-label {
  margin: 14px 10px 6px !important; padding: 0 !important; font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: .08em !important; text-transform: uppercase; color: rgba(255,255,255,.5) !important; line-height: 1.2 !important;
}
#app-shell .sidebar .nav-section-label:first-child { margin-top: 4px !important; }
#app-shell .sidebar .reference-nav .nav-item {
  display: flex !important; flex: none !important; align-items: center !important; gap: 11px !important; min-height: 38px !important; height: auto !important;
  margin: 1px 0 !important; padding: 8px 12px !important; border-radius: 8px !important; border: 0 !important;
  font-size: 14px !important; font-weight: 500 !important; line-height: 1.25 !important; color: rgba(255,255,255,.78) !important;
  background: transparent !important; text-decoration: none !important; cursor: pointer; box-shadow: none !important;
}
#app-shell .sidebar .reference-nav .nav-item i { font-size: 18px !important; width: 20px; text-align: center; color: inherit !important; opacity: .9; }
#app-shell .sidebar .reference-nav .nav-item .property-nav-logo { width: 20px !important; height: 20px !important; border-radius: 6px !important; }
#app-shell .sidebar .reference-nav :is(.nav-item, .nav-section-label)[hidden] { display: none !important; }
#app-shell .sidebar .reference-nav .nav-item:hover { background: rgba(255,255,255,.07) !important; color: #fff !important; }
#app-shell .sidebar .reference-nav .nav-item.active { background: var(--ds-primary) !important; color: #fff !important; font-weight: 600 !important; }
#app-shell .sidebar .reference-nav .nav-item.active i { opacity: 1; }
#app-shell .sidebar .sidebar-footer { flex: 0 0 auto; border-top: 1px solid rgba(255,255,255,.08); padding: 10px !important; display: grid; gap: 8px; position: relative; }
#app-shell .sidebar .app-theme-switch {
  position: static !important; inset: auto !important; margin: 0 !important; width: auto !important; transform: none !important;
  display: grid !important; grid-template-columns: 1fr 1fr; gap: 4px; padding: 3px !important; border-radius: 8px !important;
  background: rgba(255,255,255,.06) !important; border: 1px solid rgba(255,255,255,.08) !important; box-shadow: none !important;
}
#app-shell .sidebar .app-theme-switch button {
  height: 30px !important; min-height: 0 !important; padding: 0 8px !important; border-radius: 6px !important; border: 0 !important; font-size: 12.5px !important;
  font-weight: 600 !important; display: flex !important; align-items: center; justify-content: center; gap: 6px; color: rgba(255,255,255,.7) !important; background: transparent !important;
}
#app-shell .sidebar .app-theme-switch button.active { background: rgba(255,255,255,.14) !important; color: #fff !important; }
#app-shell .sidebar .sidebar-user {
  position: relative !important; inset: auto !important; margin: 0 !important; display: flex !important; align-items: center; gap: 10px;
  padding: 8px !important; border-radius: 8px !important; background: transparent !important; border: 0 !important; width: auto !important;
}
#app-shell .sidebar .sidebar-user:hover { background: rgba(255,255,255,.07) !important; }
#app-shell .sidebar .sidebar-user-avatar { width: 34px !important; height: 34px !important; font-size: 13px !important; }
#app-shell .sidebar .sidebar-user-name { font-size: 13.5px !important; color: #fff !important; }
#app-shell .sidebar .sidebar-user-role { font-size: 12px !important; color: rgba(255,255,255,.6) !important; }
#app-shell .sidebar .sidebar-account-menu { bottom: calc(100% + 6px) !important; top: auto !important; left: 0 !important; right: 0 !important; }

/* ---- 4. Main area & page headers ---------------------------------------- */
#app-shell .main { margin-left: 232px !important; width: calc(100% - 232px) !important; max-width: none !important; padding: 22px 28px 40px !important; }
#app-shell #main-content > * { max-width: 1520px; }
#app-shell #main-content h1 {
  font-size: 26px !important; line-height: 1.2 !important; font-weight: 700 !important; letter-spacing: -.015em !important; margin: 0 0 4px !important; color: var(--ds-text) !important;
}
#app-shell #main-content .intel-hero h1, #app-shell #main-content .intel-hero p { color: #fff !important; }
#app-shell #main-content h2 { font-size: 18px !important; line-height: 1.3 !important; font-weight: 700 !important; letter-spacing: -.01em !important; }
#app-shell #main-content h3 { font-size: 15px !important; line-height: 1.35 !important; font-weight: 650 !important; }
#app-shell #main-content :is(.reference-page-header, .page-header, .property-dashboard-header) {
  background: transparent !important; box-shadow: none !important; border: 0 !important; padding-left: 0 !important; padding-right: 0 !important;
  margin-bottom: 16px !important; gap: 12px 16px !important; align-items: center !important;
}
#app-shell #main-content :is(.reference-page-header, .page-header, .property-dashboard-header) p { font-size: 14px !important; color: var(--ds-muted) !important; margin: 0 !important; }
#app-shell #main-content :is(.reference-page-header, .property-dashboard-header) > div > span:first-child,
#app-shell #main-content .property-dashboard-header .eyebrow { font-size: 12px !important; letter-spacing: .06em !important; }

/* ---- 5. Cards ----------------------------------------------------------- */
#app-shell #main-content :is(.section-card, .maintenance-reference-card, .frontdesk-arrivals-reference, .property-connection-banner,
  .dashboard-report-overview, .shared-center-banner, .property-quick-launcher, .cloudbeds-report-scope, .rf-lab, .fd-reference-card,
  .settings-card, .support-card, .staff-summary, .staff-card, .permits-summary-card, .report-card, .intel-card, .intel-kpi) {
  background: var(--ds-surface) !important; border: 1px solid var(--ds-border) !important; border-radius: var(--ds-radius) !important; box-shadow: var(--ds-shadow) !important;
}
#app-shell #main-content :is(.metric-card, .property-kpi-grid article:not(.primary), .dashboard-report-kpis article) {
  background: var(--ds-surface) !important; border: 1px solid var(--ds-border) !important; border-radius: 10px !important; box-shadow: var(--ds-shadow-sm) !important;
}
#app-shell #main-content .metric-card::after, #app-shell #main-content .metric-card::before { display: none !important; }
#app-shell #main-content .metric-card { border-left: 1px solid var(--ds-border) !important; }
#app-shell #main-content :is(.metric-label, .property-kpi-grid article:not(.primary) span:first-child) { font-size: 12px !important; letter-spacing: .05em !important; color: var(--ds-muted) !important; }
#app-shell #main-content .metric-value { font-size: 26px !important; line-height: 1.15 !important; }

/* ---- 6. Buttons --------------------------------------------------------- */
#app-shell #main-content :is(.reference-page-actions, .property-dashboard-actions, .report-actions, .page-header, .section-header, .map-caption,
  .frontdesk-reference-heading, .permits-hero, .dashboard-report-heading, .housekeeping-page-actions) > :is(button, a.btn, .btn),
#app-shell #main-content :is(.btn, .reference-primary-button, .fd-reference-primary, .property-connection-sync) {
  min-height: 38px !important; height: auto !important; padding: 8px 14px !important; border-radius: var(--ds-radius-sm) !important;
  font-size: 14px !important; font-weight: 600 !important; line-height: 1.2 !important; display: inline-flex !important; align-items: center !important;
  justify-content: center; gap: 7px !important; white-space: nowrap; cursor: pointer; transition: background-color .12s, border-color .12s, color .12s;
  background: var(--ds-surface) !important; color: var(--ds-text) !important; border: 1px solid var(--ds-border-strong) !important; box-shadow: var(--ds-shadow-sm) !important;
}
#app-shell #main-content :is(.reference-page-actions, .property-dashboard-actions, .report-actions, .page-header, .section-header, .frontdesk-reference-heading,
  .permits-hero, .dashboard-report-heading, .housekeeping-page-actions) > :is(button, .btn):hover,
#app-shell #main-content :is(.btn, .property-connection-sync):hover { background: var(--ds-surface-2) !important; border-color: var(--ds-primary) !important; }
#app-shell #main-content :is(button.primary, .btn-primary, .reference-primary-button, .fd-reference-primary),
#app-shell #main-content :is(.reference-page-actions, .property-dashboard-actions, .report-actions, .page-header, .section-header, .frontdesk-reference-heading,
  .permits-hero, .dashboard-report-heading, .housekeeping-page-actions) > :is(button.primary, .btn-primary, .reference-primary-button, .fd-reference-primary) {
  background: var(--ds-primary) !important; border-color: var(--ds-primary) !important; color: #fff !important;
}
#app-shell #main-content :is(button.primary, .btn-primary, .reference-primary-button, .fd-reference-primary):hover,
#app-shell #main-content :is(.reference-page-actions, .property-dashboard-actions, .report-actions, .page-header, .section-header, .frontdesk-reference-heading,
  .permits-hero, .dashboard-report-heading, .housekeeping-page-actions) > :is(button.primary, .btn-primary):hover { background: var(--ds-primary-hover) !important; border-color: var(--ds-primary-hover) !important; }
#app-shell #main-content :is(.btn-danger, button.danger) { background: var(--ds-danger) !important; border-color: var(--ds-danger) !important; color: #fff !important; }
#app-shell #main-content .btn-sm { min-height: 34px !important; padding: 6px 12px !important; font-size: 13px !important; }
#app-shell #main-content :is(button, .btn) i.ti { font-size: 16px; }
#app-shell #main-content :is(button, .btn):disabled { opacity: .55 !important; cursor: not-allowed !important; }
#app-shell #main-content .property-dashboard-actions > .property-alert-button { min-height: 40px !important; width: 40px !important; padding: 0 !important; border-radius: 50% !important; background: var(--ds-navy) !important; color: #fff !important; border: 0 !important; }

/* ---- 7. Forms & filters ------------------------------------------------- */
#app-shell #main-content :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]), select),
#app-shell .modal :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]), select) {
  min-height: var(--ds-control-h) !important; border-radius: var(--ds-radius-sm) !important; border: 1px solid var(--ds-border-strong) !important;
  background-color: var(--ds-surface) !important; color: var(--ds-text) !important; font-size: 14px !important; box-shadow: none !important;
}
#app-shell #main-content textarea, #app-shell .modal textarea {
  border-radius: var(--ds-radius-sm) !important; border: 1px solid var(--ds-border-strong) !important; background: var(--ds-surface) !important; color: var(--ds-text) !important; font-size: 14px !important;
}
#app-shell #main-content :is(input, select, textarea):focus, #app-shell .modal :is(input, select, textarea):focus {
  outline: none !important; border-color: var(--ds-primary) !important; box-shadow: var(--ds-focus) !important;
}
#app-shell #main-content label, #app-shell .modal label { color: var(--ds-text-2); }
#app-shell .modal .form-group label { font-size: 13px !important; font-weight: 600 !important; }

/* Tabs / segmented controls: one look everywhere. */
#app-shell #main-content :is(.reference-subtabs, .intel-tabs) {
  background: var(--ds-surface-3) !important; border: 1px solid var(--ds-border) !important; border-radius: 10px !important; padding: 4px !important;
  gap: 4px !important; box-shadow: none !important; display: flex !important; flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none;
}
#app-shell #main-content :is(.reference-subtabs, .intel-tabs) > button {
  min-height: 36px !important; padding: 7px 14px !important; border-radius: 7px !important; border: 0 !important; background: transparent !important;
  color: var(--ds-muted) !important; font-size: 14px !important; font-weight: 600 !important; white-space: nowrap; box-shadow: none !important;
}
#app-shell #main-content :is(.reference-subtabs, .intel-tabs) > button:hover { color: var(--ds-text) !important; }
#app-shell #main-content :is(.reference-subtabs, .intel-tabs) > button.active { background: var(--ds-surface) !important; color: var(--ds-primary) !important; box-shadow: var(--ds-shadow-sm) !important; }
#app-shell #main-content .maintenance-reference-tabs > button { font-size: 14px !important; font-weight: 600 !important; }
#app-shell #main-content .maintenance-reference-tabs > button.active { color: var(--ds-primary) !important; box-shadow: inset 0 -2px 0 var(--ds-primary) !important; }
/* Filter chips (front desk, permits, rooms, intelligence) */
#app-shell #main-content :is(.frontdesk-filter-chips, .permit-filter-chips) > button,
#app-shell #main-content :is(.intel-scope, .intel-period, .building-tabs, .rf-window) > button {
  min-height: 34px !important; padding: 6px 13px !important; border-radius: 999px !important; font-size: 13.5px !important; font-weight: 600 !important;
  border: 1px solid var(--ds-border-strong) !important; background: var(--ds-surface) !important; color: var(--ds-text-2) !important; box-shadow: none !important;
}
#app-shell #main-content :is(.frontdesk-filter-chips, .permit-filter-chips, .intel-scope, .intel-period, .building-tabs, .rf-window) > button.active {
  background: var(--ds-navy) !important; border-color: var(--ds-navy) !important; color: #fff !important;
}
html[data-app-theme="dark"] #app-shell #main-content :is(.frontdesk-filter-chips, .permit-filter-chips, .intel-scope, .intel-period, .building-tabs, .rf-window) > button.active {
  background: var(--ds-primary) !important; border-color: var(--ds-primary) !important;
}
#app-shell #main-content .frontdesk-filter-chips { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; align-items: center !important; }
#app-shell #main-content .reference-filter-button { min-height: 34px !important; border-radius: 999px !important; padding: 6px 13px !important; width: auto !important; }

/* ---- 8. Tables ---------------------------------------------------------- */
#app-shell #main-content .data-table { border-collapse: separate !important; border-spacing: 0 !important; width: 100%; background: var(--ds-surface) !important; color: var(--ds-text) !important; }
#app-shell #main-content .data-table th {
  background: var(--ds-surface-2) !important; color: var(--ds-muted) !important; font-size: 12px !important; font-weight: 700 !important;
  letter-spacing: .04em !important; text-transform: uppercase; padding: 10px 12px !important; border-bottom: 1px solid var(--ds-border) !important; text-align: left;
}
#app-shell #main-content .data-table td { padding: 11px 12px !important; border-bottom: 1px solid var(--ds-border) !important; font-size: 14px !important; vertical-align: middle; }
#app-shell #main-content .data-table tbody tr:hover td { background: var(--ds-surface-2) !important; }

/* ---- 9. Modals, toasts, banners, loading -------------------------------- */
#app-shell ~ .modal-overlay .modal, .modal-overlay .modal { border-radius: 14px !important; border: 1px solid var(--ds-border) !important; }
html[data-app-theme="dark"] .modal-overlay .modal { background: var(--ds-surface) !important; color: var(--ds-text) !important; }
#app-shell #main-content .production-page-loading {
  display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 220px; color: var(--ds-muted); font-size: 15px; font-weight: 500;
}
.production-page-loading .ti-loader-2, #loading-screen .ti-loader-2, .ti.spin { animation: ds-spin .9s linear infinite; display: inline-block; }
@keyframes ds-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .production-page-loading .ti-loader-2, #loading-screen .ti-loader-2, .ti.spin { animation-duration: 2.4s; } }
.app-update-banner {
  position: fixed; z-index: 4000; left: 50%; bottom: 18px; transform: translateX(-50%); display: flex; align-items: center; gap: 12px;
  padding: 10px 12px 10px 16px; border-radius: 12px; background: var(--ds-navy, #0b1f3a); color: #fff; font: 500 14px/1.3 var(--ds-font);
  box-shadow: 0 10px 30px rgba(11, 31, 58, .3); max-width: calc(100vw - 24px);
}
.app-update-banner button { border: 0; border-radius: 8px; padding: 8px 12px; font: 600 13.5px var(--ds-font); cursor: pointer; background: #fff; color: #0b1f3a; white-space: nowrap; }
.app-update-banner button.later { background: transparent; color: rgba(255,255,255,.75); padding: 8px 6px; }

/* ---- 10. Tablet & phone ------------------------------------------------- */
@media (max-width: 1100px) {
  #app-shell .main { padding: 18px 18px 36px !important; }
}
@media (max-width: 860px) {
  #app-shell .sidebar {
    position: fixed !important; top: 0 !important; bottom: 0 !important; left: 0 !important; height: 100dvh !important; width: min(84vw, 300px) !important;
    transform: translateX(-102%) !important; transition: transform .2s ease !important; z-index: 1500 !important; box-shadow: 0 0 40px rgba(0,0,0,.35) !important;
    padding-top: env(safe-area-inset-top) !important; padding-bottom: env(safe-area-inset-bottom) !important;
  }
  body.mobile-nav-open #app-shell .sidebar { transform: translateX(0) !important; }
  #app-shell .sidebar .reference-nav .nav-item { min-height: 44px !important; font-size: 15px !important; padding: 9px 12px !important; margin: 1px 0 !important; }
  #app-shell .sidebar .reference-nav .nav-item i { font-size: 19px !important; width: 22px !important; min-width: 22px !important; }
  #app-shell .sidebar .reference-nav .nav-item .property-nav-logo { width: 22px !important; height: 22px !important; min-width: 22px !important; }
  #app-shell .sidebar .nav-section-label { padding: 0 !important; margin: 14px 10px 6px !important; font-size: 11px !important; }
  #app-shell .sidebar-scrim { z-index: 1450 !important; backdrop-filter: none !important; background: rgba(11,19,34,.45) !important; }
  #app-shell .main { margin-left: 0 !important; width: 100% !important; padding: 64px 14px 32px !important; }
  #app-shell .mobile-menu-btn {
    display: inline-flex !important; position: fixed !important; top: 10px !important; left: 10px !important; z-index: 1100 !important;
    width: 44px !important; height: 44px !important; align-items: center; justify-content: center; border-radius: 10px !important;
    background: var(--ds-navy) !important; color: #fff !important; border: 0 !important; box-shadow: 0 4px 14px rgba(11,31,58,.25) !important; font-size: 20px;
  }
  #app-shell #main-content h1 { font-size: 21px !important; }
  #app-shell #main-content h2 { font-size: 17px !important; }
  #app-shell #main-content :is(.reference-page-header, .page-header, .property-dashboard-header, .frontdesk-reference-heading) { flex-wrap: wrap !important; }
  #app-shell #main-content :is(.reference-page-actions, .property-dashboard-actions, .report-actions, .housekeeping-page-actions) { width: 100%; flex-wrap: wrap !important; gap: 8px !important; }
  #app-shell #main-content .data-table { min-width: 640px; }
  #app-shell #main-content :is(.section-card, .maintenance-reference-card, .frontdesk-arrivals-reference) { overflow-x: auto; }
  #app-shell #main-content :is(input:not([type=checkbox]):not([type=radio]), select) { font-size: 16px !important; } /* stops iOS zoom-on-focus */
}
@media (max-width: 860px) {
  /* Page roots must never be wider than the phone (content used to be clipped on the right). */
  #app-shell #main-content .dashboard-report-overview { grid-template-columns: minmax(0, 1fr) !important; }
  #app-shell #main-content .dashboard-report-overview > * { min-width: 0; max-width: 100%; }
  #app-shell #main-content :is(.dashboard-report-kpis, .dashboard-report-grid) { grid-template-columns: minmax(0, 1fr) !important; }
  #app-shell #main-content .dashboard-report-heading { flex-wrap: wrap !important; }
  #app-shell #main-content .property-dashboard { grid-template-columns: minmax(0, 1fr) !important; }
  #app-shell #main-content .property-dashboard > *, #app-shell #main-content > * > * { min-width: 0; max-width: 100%; }
  #app-shell #main-content .property-workspace-switch { grid-template-columns: 1fr 1fr !important; }
  #app-shell #main-content .property-workspace-switch button { min-width: 0 !important; padding: 10px !important; }
  #app-shell #main-content .property-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  #app-shell #main-content .property-attention-grid { grid-template-columns: minmax(0, 1fr) !important; }
  #app-shell #main-content .activity-toolbar { grid-template-columns: minmax(0, 1fr) !important; }
  #app-shell #main-content .fv-linkhint { white-space: normal !important; }
}
@media (max-width: 520px) {
  #app-shell .main { padding: 62px 10px 28px !important; }
  #app-shell #main-content :is(.reference-page-actions, .housekeeping-page-actions) > :is(button, .btn) { flex: 1 1 auto; }
}
@media print {
  #app-shell .sidebar, #app-shell .mobile-menu-btn, .app-update-banner { display: none !important; }
  #app-shell .main { margin: 0 !important; width: 100% !important; padding: 0 !important; }
}

/* ---- 11. Readability fixes found by the automated contrast check -------- */
/* Priority labels: orange text on white was 2.7:1. */
#app-shell #main-content .maintenance-reference-priority.Medium, #app-shell #main-content .maintenance-reference-priority.medium { color: #b45309 !important; }
html[data-app-theme="dark"] #app-shell #main-content .maintenance-reference-priority.Medium,
html[data-app-theme="dark"] #app-shell #main-content .maintenance-reference-priority.medium { color: #f0a54a !important; }

/* Dark mode: components whose templates hard-code light surfaces. */
html[data-app-theme="dark"] #app-shell #main-content :is(.occupancy-insight-card, .revenue-source-card, .dashboard-top-rooms, .dashboard-report-kpis article,
  .cloudbeds-report-scope, .rf-lab, .hk-date-main, .maintenance-property-buttons button, .revenue-period-note, .report-card, .wi-panel) {
  background: var(--ds-surface) !important; border-color: var(--ds-border) !important; color: var(--ds-text) !important;
}
html[data-app-theme="dark"] #app-shell #main-content :is(.occupancy-insight-card, .revenue-source-card, .dashboard-top-rooms, .cloudbeds-report-scope, .rf-lab,
  .hk-date-main, .maintenance-property-buttons button, .revenue-period-note, .report-card) :where(strong, b, h2, h3, span:not([class*="positive"]):not([class*="negative"]), small, p) {
  color: inherit !important;
}
html[data-app-theme="dark"] #app-shell #main-content :is(.hk-date-main small, .rf-legend span, .rf-inline-stats span, .maintenance-property-buttons small) { color: var(--ds-muted) !important; }
html[data-app-theme="dark"] #app-shell #main-content .maintenance-property-buttons button.selected { background: var(--ds-primary-soft) !important; border-color: var(--ds-primary) !important; }
html[data-app-theme="dark"] #app-shell #main-content .reference-more-rooms { color: #7fb0ff !important; }
html[data-app-theme="dark"] #app-shell #main-content .operations-priority-banner { background: var(--ds-warning-soft) !important; border-color: rgba(240,165,74,.35) !important; color: var(--ds-text) !important; }
html[data-app-theme="dark"] #app-shell #main-content .operations-priority-banner :is(strong, b, span, p) { color: var(--ds-text) !important; }
html[data-app-theme="dark"] #app-shell #main-content :is(.operations-tracking-note.warning, .permits-dashboard-alert) { background: var(--ds-warning-soft) !important; color: #f6c27d !important; border-color: rgba(240,165,74,.35) !important; }
html[data-app-theme="dark"] #app-shell #main-content .maintenance-reference-delete { background: var(--ds-surface-2) !important; border-color: var(--ds-border) !important; color: var(--ds-muted) !important; }
/* Template inline styles that paint white panels/buttons. */
html[data-app-theme="dark"] #app-shell #main-content :is([style*="background:#fff;"], [style*="background:#fff "], [style*="background: #fff"], [style*="background:#ffffff"], [style*="background:#fff\""]) {
  background: var(--ds-surface-2) !important; color: var(--ds-text) !important; border-color: var(--ds-border) !important;
}
html[data-app-theme="dark"] #app-shell #main-content .dashboard-report-overview .dashboard-report-kpis > article,
html[data-app-theme="dark"] #app-shell #main-content .occupancy-insight-card .occupancy-insight-footer > div {
  background: var(--ds-surface-2) !important; border-color: var(--ds-border) !important; color: var(--ds-text) !important;
}
html[data-app-theme="dark"] #app-shell #main-content .dashboard-report-overview .dashboard-report-kpis > article :is(span, small) { color: var(--ds-muted) !important; }
html[data-app-theme="dark"] #app-shell #main-content .dashboard-report-overview .dashboard-report-kpis > article strong,
html[data-app-theme="dark"] #app-shell #main-content .occupancy-insight-card .occupancy-insight-footer > div :is(span, strong) { color: var(--ds-text) !important; }
html[data-app-theme="dark"] #app-shell #main-content .dashboard-top-rooms .dashboard-room-table > div :is(strong, span) { color: var(--ds-text) !important; }
html[data-app-theme="dark"] #app-shell #main-content .dashboard-top-rooms .dashboard-room-table .head :is(strong, span) { color: var(--ds-muted) !important; }
html[data-app-theme="dark"] #app-shell #main-content .revenue-source-donut > div { background: var(--ds-surface) !important; }
html[data-app-theme="dark"] #app-shell #main-content .revenue-source-donut > div span { color: var(--ds-muted) !important; }

/* Front Desk payment scope buttons (were inline-styled light buttons). */
#app-shell #main-content .fd-scope-btn {
  min-height: 36px; padding: 7px 14px; border-radius: 999px; border: 1px solid var(--ds-border-strong); background: var(--ds-surface);
  color: var(--ds-text-2); font: 600 14px var(--ds-font); cursor: pointer; white-space: nowrap;
}
#app-shell #main-content .fd-scope-btn.active { background: var(--ds-primary-soft); border-color: var(--ds-primary); color: var(--ds-primary); }

/* Dark mode: Housekeeping, Front Desk, Intelligence detail views. */
html[data-app-theme="dark"] #app-shell #main-content :is(.hk-glance-title, .hk-glance-grid > div > strong, .hk-priority-copy strong) { color: var(--ds-text) !important; }
html[data-app-theme="dark"] #app-shell #main-content :is(.hk-glance-grid > div > span, .hk-priority-copy > span) { color: var(--ds-muted) !important; }
html[data-app-theme="dark"] #app-shell #main-content :is(.hk-operational-note, .market-rec, .market-event) {
  background: var(--ds-surface-2) !important; border-color: var(--ds-border) !important; color: var(--ds-text) !important;
}
html[data-app-theme="dark"] #app-shell #main-content .hk-operational-note { background: var(--ds-warning-soft) !important; }
html[data-app-theme="dark"] #app-shell #main-content :is(.hk-operational-note, .market-rec, .market-event) :where(strong, b, span, p, small, div) { color: inherit !important; }
html[data-app-theme="dark"] #app-shell #main-content :is(.market-rec, .market-event) :where(small, p, span) { color: var(--ds-muted) !important; }
html[data-app-theme="dark"] #app-shell #main-content td { color: var(--ds-text-2) !important; }
html[data-app-theme="dark"] #app-shell #main-content .print-checkbox { color: var(--ds-muted) !important; }
html[data-app-theme="dark"] #app-shell #main-content :is(button.danger, .danger.btn, .hk-more-popover .danger) { background: #b4232a !important; border-color: #b4232a !important; color: #fff !important; }
html[data-app-theme="dark"] #app-shell #main-content .badge { filter: none; }
html[data-app-theme="dark"] #app-shell #main-content .badge:is(.completed, .Completed, .success, .clean, .ok) { background: var(--ds-success-soft) !important; color: var(--ds-success) !important; }
html[data-app-theme="dark"] #app-shell #main-content .fd-card-brand-badge .fd-card-logo-word,
html[data-app-theme="dark"] #app-shell #main-content .fd-card-brand-badge span { color: #0f1b2d !important; }
#app-shell #main-content .fd-card-brand-badge .fd-card-logo-word span { color: #fff !important; text-shadow: 0 0 2px rgba(0,0,0,.45); }
html[data-app-theme="dark"] #app-shell #main-content [style*="color:#b93939"], html[data-app-theme="dark"] #app-shell #main-content [style*="color: #b93939"] { color: #ff8a8a !important; }
html[data-app-theme="dark"] #app-shell #main-content .ro-btn[disabled] { opacity: .6; }
#app-shell #main-content .fd-scope-bar {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 0 0 14px; padding: 12px 14px;
  background: var(--ds-surface-2); border: 1px solid var(--ds-border); border-radius: 12px;
}
#app-shell #main-content .fd-scope-bar > div > span { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--ds-muted); font-weight: 700; }
#app-shell #main-content .fd-scope-bar > div > strong { display: block; margin-top: 3px; color: var(--ds-text); font-size: 16px; }
html[data-app-theme="dark"] { --red-600: #ff8a8a; --teal-600: #3ccf91; }
html[data-app-theme="dark"] #app-shell #main-content .badge-pass { background: var(--ds-success-soft) !important; color: var(--ds-success) !important; }
html[data-app-theme="dark"] #app-shell #main-content .badge-fail { background: var(--ds-danger-soft) !important; color: var(--ds-danger) !important; }
html[data-app-theme="dark"] #app-shell #main-content .badge-pending { background: var(--ds-warning-soft) !important; color: var(--ds-warning) !important; }
html[data-app-theme="dark"] #app-shell #main-content .badge-neutral { background: var(--ds-surface-3) !important; color: var(--ds-text-2) !important; }
html[data-app-theme="dark"] #app-shell #main-content .fd-scope-btn.active { background: rgba(74,140,255,.18); color: #cfe0ff; }
html[data-app-theme="dark"] #app-shell #main-content .hk-row-note { color: #ff8a8a !important; }
html[data-app-theme="dark"] #app-shell #main-content em { color: var(--ds-muted); }
html[data-app-theme="dark"] .ro .ro-addform .ro-btn, html[data-app-theme="dark"] .ro-btn.ro-btn-primary { background: #1d5fbf !important; border-color: #1d5fbf !important; color: #fff !important; }

/* Housekeeping date controls in dark mode. */
html[data-app-theme="dark"] #app-shell #main-content :is(.hk-date-quick > button, .hk-date-arrow, .hk-date-nav > button) {
  background: var(--ds-surface) !important; border-color: var(--ds-border-strong) !important; color: var(--ds-text) !important;
}
html[data-app-theme="dark"] #app-shell #main-content .hk-date-quick > button.active { background: var(--ds-primary-soft) !important; border-color: var(--ds-primary) !important; color: #cfe0ff !important; }

/* ---- 12. Locked tablet logins (housekeeper / maintenance): no menu, full width */
html.ro-lock #app-shell .sidebar, html.ro-lock #app-shell .mobile-menu-btn, html.ro-lock #app-shell .sidebar-scrim { display: none !important; }
html.ro-lock #app-shell .main { margin: 0 auto !important; width: 100% !important; max-width: 1100px !important; padding: 16px !important; }
#app-shell #main-content .ro-top strong { color: #fff !important; font-size: 18px; }
#app-shell #main-content .ro-top span { color: rgba(255,255,255,.75) !important; }
/* Maintenance tablet: locations such as "Front Desk" or "Parking Lot" instead of a room number. */
#app-shell #main-content .ro .ro-num.ro-num-text { font-size: 19px !important; line-height: 1.15 !important; letter-spacing: 0 !important; white-space: normal !important; overflow-wrap: anywhere; max-width: 96px; }

/* ---- 13. Grand / Residence / Shared classification ---------------------- */
#app-shell #main-content .maintenance-property-buttons { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important; max-width: 1040px !important; }
#app-shell #main-content .maintenance-property-buttons button.unassigned { border-color: #e7b56a !important; background: var(--ds-warning-soft) !important; }
#app-shell #main-content .maintenance-property-buttons button.unassigned i { color: var(--ds-warning) !important; }
#app-shell #main-content .maintenance-unassigned-note { margin: 10px 16px; padding: 10px 12px; border-radius: 8px; background: var(--ds-warning-soft); color: var(--ds-text); font-size: 13.5px; display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
#app-shell #main-content .maintenance-unassigned-note a { color: var(--ds-primary); font-weight: 600; }
#app-shell .sidebar .nav-badge { margin-left: auto; min-width: 22px; padding: 1px 7px; border-radius: 999px; background: #f0a54a; color: #241500; font-size: 11.5px; font-weight: 700; text-align: center; }
#app-shell .sidebar .nav-badge[hidden] { display: none !important; }

.xo { margin: 0 0 18px; padding: 18px; background: var(--ds-surface); border: 1px solid var(--ds-border); border-radius: var(--ds-radius); box-shadow: var(--ds-shadow); }
.xo header h2 { margin: 0; font-size: 17px !important; color: var(--ds-text); }
.xo header p { margin: 3px 0 14px; color: var(--ds-muted); font-size: 13px; }
.xo-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.xo-card { padding: 14px; border: 1px solid var(--ds-border); border-radius: 10px; background: var(--ds-surface-2); border-top: 3px solid var(--ds-border-strong); min-width: 0; }
.xo-card span { display: block; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--ds-muted); }
.xo-card strong { display: block; margin: 6px 0 2px; font-size: 22px; color: var(--ds-text); overflow-wrap: anywhere; }
.xo-card small { color: var(--ds-muted); font-size: 12.5px; }
.xo-grand { border-top-color: #1d5fbf; } .xo-residence { border-top-color: #12805c; } .xo-shared { border-top-color: #b08d57; }
.xo-combined { border-top-color: var(--ds-navy); background: var(--ds-surface); }
html[data-app-theme="dark"] .xo-combined { border-top-color: #9aabc2; }
.xo-unclassified { margin: 12px 0 0; padding: 10px 12px; border-radius: 8px; background: var(--ds-warning-soft); color: var(--ds-text); font-size: 13.5px; }
.xo-unclassified a { color: var(--ds-primary); font-weight: 600; }
.xo-note { margin: 10px 0 0; color: var(--ds-muted); font-size: 12.5px; }
.xo-note .ti-circle-check { color: var(--ds-success); }
@media (max-width: 860px) { .xo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.classification-review .cr-count { display: inline-block; min-width: 22px; margin-left: 4px; padding: 0 6px; border-radius: 999px; background: var(--ds-surface-3); color: var(--ds-text-2); font-size: 12px; }
.classification-review .cr-body { margin-top: 14px; overflow-x: auto; }
.classification-review .cr-table td.num, .classification-review .cr-table th.num { text-align: right; white-space: nowrap; }
.classification-review .cr-actions { display: flex; gap: 6px; flex-wrap: nowrap; }
.classification-review .cr-table td:first-child { white-space: nowrap; }
.classification-review .cr-table td:last-child { width: 1%; white-space: nowrap; }
#app-shell #main-content .classification-review .cr-actions button {
  min-height: 34px; padding: 6px 11px; border-radius: 8px; border: 1px solid var(--ds-border-strong); background: var(--ds-surface); color: var(--ds-text); font: 600 13px var(--ds-font); cursor: pointer;
}
#app-shell #main-content .classification-review .cr-actions button:hover { border-color: var(--ds-primary); color: var(--ds-primary); }
#app-shell #main-content .classification-review .cr-actions button.suggested { border-color: var(--ds-primary); background: var(--ds-primary-soft); color: var(--ds-primary); }
.classification-review .cr-suggest { display: inline-block; padding: 2px 8px; border-radius: 999px; background: var(--ds-primary-soft); color: var(--ds-primary); font-size: 12.5px; font-weight: 600; }
.classification-review .cr-none { color: var(--ds-muted); }
.classification-review .cr-empty { padding: 36px 16px; text-align: center; color: var(--ds-muted); }
.classification-review .cr-bulk { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 12px; padding: 10px 12px; border: 1px solid var(--ds-border); border-radius: 10px; background: var(--ds-primary-soft); }
.classification-review .cr-bulk span { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.classification-review .cr-auto { display: flex; gap: 8px; align-items: flex-start; margin: 0 0 12px; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--ds-border); color: var(--ds-text); }
.classification-review .cr-auto i { color: var(--ds-success, #15803d); margin-top: 2px; }
.classification-review .cr-empty i { font-size: 30px; color: var(--ds-success); }
.classification-review .cr-empty h2 { color: var(--ds-text); margin: 8px 0 4px; }
.classification-review .cr-more { margin: 12px; }
.classification-review .cr-history { margin-top: 16px; }
.classification-review .cr-history ul { margin: 0; padding: 4px 18px 14px 34px; color: var(--ds-text-2); font-size: 13.5px; line-height: 1.7; }
.classification-review .cr-history time { color: var(--ds-muted); }

.cr-filter{display:flex;align-items:center;gap:12px;margin:12px 0}.cr-filter select{min-height:44px;padding:8px 12px;max-width:100%;background:var(--bg-card,#fff);color:var(--text-primary,#172033);border:1px solid var(--border,#ccd4de);border-radius:8px}.cr-provenance{display:block;font-size:12px;margin-top:6px;color:var(--text-muted)}.cr-actions{flex-wrap:wrap}

/* Management dashboard payment summary */
#app-shell #main-content .dashboard-daily-payments { margin: 20px 0; }
.daily-payments-title { display:flex; justify-content:space-between; gap:12px; align-items:center; flex-wrap:wrap; margin-bottom:12px; }
.daily-payments-title h2 { margin:0; font-size:21px; }
.daily-payments-title > span { color:var(--ds-muted); font-size:13px; }
.daily-payment-properties { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:14px; }
@media(max-width:900px) { .dashboard-daily-payments .fd-active-shift-banner { grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }
@media(max-width:600px) { .daily-payment-properties { grid-template-columns:1fr; } }

/* Keep assignment instructions readable inside each housekeeper card. */
#app-shell #main-content .morning-housekeeper-card { min-width:0; }
#app-shell #main-content .morning-assignment-table th,
#app-shell #main-content .morning-assignment-table td { white-space:normal; overflow-wrap:anywhere; }
#app-shell #main-content .morning-assignment-grid { grid-template-columns:1fr; }
#app-shell #main-content .morning-sheet-toolbar { flex-wrap:wrap; }
