    :root {
      --nav: #102521;
      --nav-2: #17362f;
      --line: #d9e0e7;
      --bg: #f5f7f9;
      --panel: #ffffff;
      --surface: #f8fafc;
      --surface-2: #f1f6f4;
      --text: #1f2a37;
      --ink: #1f2a37;
      --muted: #667085;
      --brand: #18745f;
      --blue: #2563a9;
      --amber: #b56a12;
      --red: #ba2b20;
      --shadow: 0 1px 2px rgba(15, 23, 42, .05), 0 10px 24px rgba(15, 23, 42, .04);
      --shadow-strong: 0 16px 36px rgba(16, 37, 33, .12);
      --green-soft: #e8f4ef;
      --blue-soft: #e9f2fb;
      --amber-soft: #fff2df;
      --red-soft: #fee7e4;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
    }
    * { box-sizing: border-box; }
    html, body { max-width: 100%; overflow-x: hidden; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
    body { margin: 0; background: #edf2f5; color: var(--text); }
    .shell { display: grid; grid-template-columns: 232px minmax(0, 1fr); min-height: 100vh; }
    .unified-module-bar { display: none; position: sticky; top: 0; z-index: 18; min-height: 58px; padding: 9px 14px; border-bottom: 1px solid #cfded8; background: rgba(255,255,255,.98); box-shadow: 0 8px 20px rgba(15, 23, 42, .08); align-items: center; gap: 12px; }
    .unified-module-title { min-width: 0; display: grid; gap: 2px; }
    .unified-module-title strong { font-size: 15px; overflow-wrap: anywhere; }
    .unified-module-title span { color: var(--muted); font-size: 12px; line-height: 1.4; }
    body.unified-module-mode .shell { grid-template-columns: minmax(0, 1fr); }
    body.unified-module-mode aside, body.unified-module-mode .top, body.unified-module-mode .mobile-quickbar, body.unified-module-mode #kpiGrid { display: none !important; }
    body.unified-module-mode .unified-module-bar:not(.auth-hidden) { display: flex; }
    body.unified-module-mode .content { padding-top: 12px; }
    .site-icp-footer { margin: 8px auto 0; padding: 10px 16px 2px; text-align: center; color: var(--muted); font-size: 12px; line-height: 1.7; }
    .site-icp-footer a { color: var(--muted); text-decoration: none; }
    .site-icp-footer a:hover { color: var(--brand); }
    .site-police-beian { display: inline-flex; align-items: center; justify-content: center; gap: 4px; margin-left: 12px; vertical-align: middle; }
    .site-police-beian[hidden] { display: none !important; }
    .site-police-icon { width: 14px; height: 14px; border-radius: 50%; background: #d7e0e7; color: #fff; display: inline-grid; place-items: center; font-size: 10px; line-height: 1; }
    .auth-hidden { display: none !important; }
    .login-screen { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: linear-gradient(135deg, #f5f7f9, #e8f4ef); }
    .login-card { width: min(420px, 100%); background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 22px; box-shadow: 0 16px 40px rgba(16,37,33,.12); }
    .login-card h1 { font-size: 22px; margin-bottom: 6px; }
    .login-card .field { margin-top: 12px; }
    .login-card input { width: 100%; }
    .login-card .btn { width: 100%; margin-top: 14px; }
    .login-help { margin-top: 12px; padding: 10px; background: #f8fafc; border: 1px solid var(--line); border-radius: 6px; font-size: 12px; color: var(--muted); line-height: 1.7; }
    aside { background: var(--nav); color: #f8fafc; padding: 16px 12px; position: sticky; top: 0; height: 100vh; overflow: auto; box-shadow: 6px 0 24px rgba(15, 23, 42, .12); }
    .brand { padding: 6px 8px 14px; border-bottom: 1px solid rgba(255,255,255,.12); }
    .brand-title { font-size: 18px; font-weight: 800; }
    .brand-sub { font-size: 12px; color: #afc6bf; margin-top: 5px; line-height: 1.45; }
    nav { display: grid; gap: 6px; margin-top: 12px; }
    .nav-group { margin: 10px 6px 2px; color: #8fb2a8; font-size: 11px; font-weight: 800; letter-spacing: 0; }
    .nav-group:first-child { margin-top: 0; }
    nav button { border: 1px solid rgba(255,255,255,.1); border-left: 3px solid transparent; color: #e5eee9; background: rgba(255,255,255,.02); border-radius: 6px; padding: 10px 10px; text-align: left; font-size: 14px; cursor: pointer; transition: background .15s ease, border-color .15s ease, color .15s ease; }
    nav button:hover { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.16); }
    nav button.active { background: var(--nav-2); border-color: #3d7568; border-left-color: #8fd4bd; color: #fff; font-weight: 800; }
    .manager-role-nav, .standard-role-nav, .manager-nav-primary, .manager-nav-more-group { display: grid; gap: 6px; }
    .manager-nav-more { position: relative; min-width: 0; }
    .manager-nav-more > summary { min-height: 40px; border: 1px solid rgba(255,255,255,.1); border-left: 3px solid transparent; border-radius: 6px; padding: 9px 10px; color: #e5eee9; background: rgba(255,255,255,.02); cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 14px; }
    .manager-nav-more > summary::-webkit-details-marker { display: none; }
    .manager-nav-more > summary span { min-width: 24px; padding: 1px 6px; border-radius: 999px; background: rgba(255,255,255,.1); color: #c9ddd6; text-align: center; font-size: 11px; }
    .manager-nav-more > summary::after { content: "展开"; color: #afc6bf; font-size: 11px; font-weight: 700; }
    .manager-nav-more[open] > summary { background: var(--nav-2); border-color: #3d7568; color: #fff; }
    .manager-nav-more[open] > summary::after { content: "收起"; }
    .manager-nav-more-panel { display: grid; gap: 10px; padding: 8px 0 0; }
    .manager-nav-more-group > strong { margin: 5px 6px 1px; color: #8fb2a8; font-size: 11px; }
    .permission-hidden { display: none !important; }
    main { min-width: 0; max-width: 100%; overflow-x: hidden; background: #edf2f5; }
    .top { background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); box-shadow: 0 8px 20px rgba(15, 23, 42, .04); padding: 12px 16px; display: grid; grid-template-columns: minmax(260px, 1fr) auto; gap: 12px; align-items: center; position: sticky; top: 0; z-index: 5; }
    h1 { margin: 0; font-size: 20px; }
    .meta { color: var(--muted); font-size: 12px; margin-top: 4px; }
    .opbar { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
    .account-summary { min-width: 174px; border: 1px solid #dbe7e1; border-left: 4px solid var(--brand); border-radius: 7px; background: #f8fcfa; padding: 7px 10px; display: grid; gap: 2px; line-height: 1.25; }
    .account-summary .label { color: var(--muted); font-size: 11px; }
    .account-summary strong { font-size: 14px; }
    .account-summary span:last-child { color: var(--muted); font-size: 12px; }
    .field label, .field .field-label { display: block; font-size: 12px; color: var(--muted); margin-bottom: 4px; font-weight: 700; }
    .field-wide { grid-column: 1 / -1; }
    .drawer-form-section { grid-column: 1 / -1; padding: 10px 12px; border: 1px solid #dde8e2; border-radius: 7px; background: #f6faf7; color: #23483d; font-size: 13px; font-weight: 800; }
    .drawer-form-section span { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; font-weight: 600; }
    #drawerContent { min-width: 0; }
    input, select, button { font: inherit; }
    input, select { height: 34px; border: 1px solid var(--line); border-radius: 5px; padding: 6px 8px; background: #fff; min-width: 116px; }
    input, select, textarea { max-width: 100%; }
    select { text-overflow: ellipsis; }
    input:focus, select:focus, textarea:focus { outline: 2px solid rgba(24, 116, 95, .2); border-color: #7fb09a; }
    .btn { height: 34px; border: 1px solid var(--line); background: #fff; border-radius: 5px; padding: 6px 10px; cursor: pointer; color: var(--text); transition: background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease; }
    .btn:hover { border-color: #b8c6cf; box-shadow: 0 1px 5px rgba(15, 23, 42, .08); }
    .btn:disabled { cursor: not-allowed; opacity: .62; box-shadow: none; }
    .btn.primary { background: var(--brand); border-color: var(--brand); color: #fff; }
    .btn.blue { background: var(--blue); border-color: var(--blue); color: #fff; }
    .btn.mini { height: 28px; padding: 4px 8px; font-size: 12px; }
    .content { min-width: 0; max-width: 100%; padding: 16px 18px 28px; display: grid; gap: 16px; }
    .view { display: none; }
    .view.active { min-width: 0; max-width: 100%; display: grid; gap: 16px; }
    .kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(168px, 1fr)); gap: 10px; margin-bottom: 12px; }
    #financeAnomaly .kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .dashboard-kpis { margin-bottom: 0; }
    .kpi { background: var(--panel); border: 1px solid #dde6ee; border-top: 3px solid #c8d6df; border-radius: 7px; padding: 11px 12px; min-height: 82px; min-width: 0; text-align: left; color: inherit; box-shadow: var(--shadow); }
    button.kpi { appearance: none; font: inherit; cursor: pointer; }
    .kpi.kpi-link:hover { border-color: #7fb09a; box-shadow: 0 6px 16px rgba(45, 79, 63, .1); transform: translateY(-1px); }
    .kpi.kpi-link:focus-visible { outline: 2px solid #7fb09a; outline-offset: 2px; }
    .kpi.kpi-link[aria-pressed="true"] { border-color: var(--brand); border-top-color: var(--brand); background: #f2faf6; box-shadow: 0 0 0 2px rgba(45, 122, 91, .12); }
    .kpi .label { font-size: 12px; color: var(--muted); }
    .kpi .value { font-size: 22px; font-weight: 800; margin-top: 6px; line-height: 1.15; white-space: normal; overflow-wrap: anywhere; }
    .kpi .hint { font-size: 12px; color: var(--muted); margin-top: 4px; }
    .layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 12px; align-items: start; }
    .panel { background: var(--panel); border: 1px solid var(--line); border-radius: 7px; min-width: 0; max-width: 100%; overflow: hidden; box-shadow: var(--shadow); }
    .view > .panel:first-child { border-color: #c9ddd6; }
    .panel-head { min-height: 46px; padding: 11px 13px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); gap: 10px; background: var(--surface); }
    .view > .panel:first-child > .panel-head { background: var(--surface-2); border-bottom-color: #d6e8df; }
    .panel-head > * { min-width: 0; }
    .panel-head h2 { margin: 0; font-size: 16px; overflow-wrap: anywhere; }
    .panel-body { min-width: 0; max-width: 100%; padding: 13px; }
    .panel-body > * { min-width: 0; max-width: 100%; }
    .legend { display: flex; flex-wrap: wrap; gap: 8px; color: var(--muted); font-size: 12px; }
    .dot { width: 9px; height: 9px; display: inline-block; border-radius: 50%; margin-right: 4px; }
    .dot.occupied { background: var(--brand); }
    .dot.arrival { background: #f4b04f; }
    .dot.departure { background: var(--amber); }
    .dot.vacant { background: #98a2b3; }
    .room-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(122px, 1fr)); gap: 8px; }
    .room { border: 1px solid var(--line); border-left: 5px solid #98a2b3; background: #fff; border-radius: 6px; padding: 8px; min-height: 102px; cursor: pointer; }
    .room.occupied { border-left-color: var(--brand); background: var(--green-soft); }
    .room.arrival { border-left-color: #f4b04f; background: #fff7ed; }
    .room.departure { border-left-color: var(--amber); background: var(--amber-soft); }
    .room.selected { outline: 2px solid #1f7a65; }
    .room-no { font-size: 18px; font-weight: 800; }
    .room-type { display: inline-block; margin-top: 3px; border-radius: 999px; padding: 1px 7px; font-size: 11px; background: #eef7f4; color: #10634e; }
    .room-status { color: var(--muted); font-size: 12px; margin-top: 2px; }
    .guest { margin-top: 8px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .dates { color: var(--muted); font-size: 12px; margin-top: 4px; line-height: 1.35; }
    .booking-tools { display: flex; justify-content: space-between; gap: 10px; align-items: center; margin-top: 10px; padding: 8px 10px; border: 1px solid #e3ebf2; border-radius: 7px; background: #f8fbf9; }
    .booking-tools strong { font-size: 13px; color: var(--ink); }
    .booking-tools span { color: var(--muted); font-size: 12px; }
    .booking-tool-actions { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
    .booking-wrap { overflow: auto; max-height: 72vh; border-top: 1px solid var(--line); background: #fff; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; touch-action: pan-x pan-y; }
    .booking-table { --booking-cell: 30px; --booking-row: 32px; --booking-font: 12px; border-collapse: separate; border-spacing: 0; width: max-content; min-width: 100%; }
    .booking-table th, .booking-table td { border: 1px solid #d7dde3; border-left: 0; border-top: 0; padding: 0; height: var(--booking-row); min-width: var(--booking-cell); font-size: var(--booking-font); text-align: center; white-space: nowrap; }
    .booking-table th { background: #f8fafc; color: var(--text); }
    .booking-table .month-head th { position: sticky; top: 0; z-index: 4; height: 34px; font-size: 16px; font-weight: 800; border-bottom: 2px solid #475467; border-top: 1px solid #d7dde3; }
    .booking-table .day-head th { position: sticky; top: 34px; z-index: 4; height: 30px; font-weight: 700; }
    .booking-table .room-label, .booking-table .corner { position: sticky; left: 0; z-index: 5; min-width: 96px; width: 96px; background: #fff; font-weight: 800; border-left: 1px solid #d7dde3; }
    .booking-table .corner { background: #f8fafc; }
    .booking-table .type-row td { background: #fff4ec; font-weight: 800; font-size: 14px; height: 30px; }
    .booking-table .type-row .room-label { background: #fff4ec; color: var(--text); }
    .booking-table td { cursor: pointer; }
    .booking-table td:hover { outline: 2px solid rgba(31, 122, 101, .32); outline-offset: -2px; }
    .booking-table .booked { background: #57b894; }
    .booking-table .booked.occupied { background: #57b894; }
    .booking-table .booked.local.occupied { background: #76c9a8; }
    .booking-table .booked.reserved { background: #f4b04f; }
    .booking-table .booked.local.reserved { background: #f7c26d; }
    .booking-table .booked.checked-out { background: #9b8bb8; }
    .booking-table .booked.local.checked-out { background: #b1a2ca; }
    .booking-table .booked.past { background: #b7b7b7; }
    .booking-table .booked.checked-out.past { background: #9b8bb8; }
    .booking-table .today { box-shadow: inset 3px 0 0 #d92d20; background-image: linear-gradient(90deg, rgba(217, 45, 32, .10), rgba(217, 45, 32, 0)); }
    .booking-table .month-start { border-left: 3px solid #344054; }
    .booking-table .start { position: relative; }
    .booking-name { display: inline-flex; align-items: center; gap: 3px; max-width: 98px; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; background: rgba(15, 82, 66, .96); color: #fff; padding: 2px 5px; line-height: 18px; font-size: 12px; border-radius: 3px; }
    .booking-table .reserved .booking-name { background: rgba(161, 82, 0, .96); }
    .booking-table .checked-out .booking-name { background: rgba(91, 65, 135, .96); }
    .booking-name::before { content: "住"; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; min-width: 16px; height: 16px; border-radius: 2px; background: rgba(255, 255, 255, .22); font-size: 11px; font-weight: 900; }
    .booking-table .reserved .booking-name::before { content: "预"; }
    .booking-table .checked-out .booking-name::before { content: "出"; }
    .booking-day-no { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 999px; background: rgba(255, 255, 255, .88); color: #0f513f; font-size: 11px; line-height: 18px; font-weight: 900; box-shadow: 0 1px 2px rgba(16, 24, 40, .12); vertical-align: middle; }
    .booking-table .past .booking-day-no { color: #475467; background: rgba(255, 255, 255, .78); }
    .booking-table .start .booking-day-no { margin-left: 3px; }
    .booking-legend { position: sticky; bottom: 0; z-index: 8; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 8px 10px; border-top: 1px solid #e4eaf0; background: rgba(255, 255, 255, .96); color: var(--muted); font-size: 12px; }
    .booking-legend span { display: inline-flex; align-items: center; gap: 5px; }
    .booking-swatch { width: 18px; height: 10px; border-radius: 3px; border: 1px solid rgba(52, 64, 84, .16); display: inline-block; }
    .booking-swatch.reserved { background: #f4b04f; }
    .booking-swatch.occupied { background: #57b894; }
    .booking-swatch.checked-out { background: #9b8bb8; }
    .booking-swatch.local { background: repeating-linear-gradient(45deg, #76c9a8 0 6px, #f7c26d 6px 12px); }
    .booking-swatch.past { background: #b7b7b7; }
    .booking-swatch.today { background: linear-gradient(90deg, #d92d20 0 3px, rgba(217, 45, 32, .12) 3px); }
    .side-list { display: grid; gap: 8px; }
    .notice { border: 1px solid #e7edf3; border-radius: 6px; padding: 8px; display: grid; gap: 3px; }
    .notice strong { font-size: 13px; }
    .notice span { font-size: 12px; color: var(--muted); }
    .attendance-policy-panel { margin: 10px 0; }
    .attendance-policy-panel summary { cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
    .attendance-policy-panel[open] summary { margin-bottom: 5px; }
    .attendance-policy-panel .attendance-policy-conflict { color: #9f3a2c; font-weight: 700; }
    .attendance-policy-scope { margin: 8px 0 10px; border-color: #cfe5db; background: #f6fcf9; }
    .attendance-policy-scope > strong { color: #176b57; }
    .attendance-policy-scope span strong { font-size: inherit; color: var(--text); }
    .attendance-review-panel { display: grid; gap: 8px; min-width: 0; margin: 10px 0 14px; }
    .attendance-review-panel .workbench-section-title { margin-bottom: 0; }
    .attendance-review-panel > details.notice { min-width: 0; max-width: 100%; }
    .attendance-review-panel .table-wrap { width: 100%; max-width: 100%; }
    .attendance-review-panel table { min-width: 1120px; }
    .attendance-daily-review { display: grid; gap: 9px; min-width: 0; margin: 12px 0 14px; padding: 11px; border: 1px solid #cfe4da; border-radius: 8px; background: #f8fcfa; }
    .attendance-daily-review-note { background: #fff; }
    .attendance-daily-review-list { display: grid; gap: 10px; min-width: 0; }
    .attendance-day-card { display: grid; gap: 9px; min-width: 0; padding: 11px; border: 1px solid #dde7e2; border-left: 4px solid #d5a021; border-radius: 8px; background: #fff; box-shadow: 0 1px 2px rgba(16, 24, 40, .04); }
    .attendance-day-card.normal { border-left-color: #22a06b; }
    .attendance-day-card.conflict { border-color: #efb2ac; border-left-color: #d92d20; background: #fffafa; }
    .attendance-day-card.reviewed { border-left-color: #176b57; }
    .attendance-day-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; flex-wrap: wrap; min-width: 0; }
    .attendance-day-person { display: grid; gap: 2px; min-width: 0; }
    .attendance-day-person strong { font-size: 15px; }
    .attendance-day-person span { color: var(--muted); font-size: 12px; }
    .attendance-day-status { max-width: min(100%, 520px); white-space: normal; line-height: 1.35; text-align: right; }
    .attendance-review-workflow { min-width: 0; border: 1px solid #8fcbb2; border-radius: 7px; background: #f2fbf6; overflow: hidden; }
    .attendance-review-workflow > summary { cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; padding: 10px; color: #125b48; list-style-position: inside; }
    .attendance-review-workflow > summary > span:first-child { display: grid; gap: 2px; min-width: 0; }
    .attendance-review-workflow > summary strong { font-size: 14px; }
    .attendance-review-workflow > summary small { color: #4b7567; font-size: 11px; overflow-wrap: anywhere; }
    .attendance-review-workflow[open] > summary { border-bottom: 1px solid #cfe7dc; background: #e8f7ef; }
    .attendance-review-workflow-body { display: grid; gap: 9px; min-width: 0; padding: 10px; }
    .attendance-review-safety { padding: 8px; border-radius: 6px; background: #fff8e9; color: #76510d; font-size: 12px; font-weight: 700; overflow-wrap: anywhere; }
    .attendance-compact-summary { display: grid; gap: 7px; min-width: 0; padding: 8px; border: 1px solid #dce8e2; border-radius: 6px; background: #fbfdfc; }
    .attendance-compact-summary > strong { font-size: 13px; }
    .attendance-direction-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 7px; min-width: 0; }
    .attendance-direction-item { display: grid; gap: 2px; min-width: 0; padding: 7px; border: 1px solid #e2e9e5; border-radius: 6px; background: #fff; }
    .attendance-direction-item.conflict { border-color: #efc17c; background: #fffaf0; }
    .attendance-direction-item strong { font-size: 12px; }
    .attendance-direction-item span { color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
    .attendance-schedule-evidence { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; min-width: 0; }
    .attendance-evidence-box { display: grid; gap: 3px; min-width: 0; padding: 8px; border: 1px solid #e3eae6; border-radius: 6px; background: #fbfdfc; }
    .attendance-evidence-box span { color: var(--muted); font-size: 11px; }
    .attendance-evidence-box strong { overflow-wrap: anywhere; font-size: 13px; }
    .attendance-source-list { display: grid; gap: 6px; min-width: 0; }
    .attendance-source-record { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px 10px; min-width: 0; padding: 8px; border: 1px solid #e4e9e7; border-radius: 6px; background: #fff; }
    .attendance-source-record.missing { border-color: #f0cf95; background: #fffbf3; }
    .attendance-source-record > div { min-width: 0; }
    .attendance-source-record span { display: block; color: var(--muted); font-size: 10px; margin-bottom: 2px; }
    .attendance-source-record strong { display: block; overflow-wrap: anywhere; font-size: 12px; }
    .attendance-source-record .attendance-source-id { grid-column: span 2; }
    .attendance-source-id strong { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 10px; word-break: break-all; }
    .attendance-raw-details { min-width: 0; border: 1px solid #e1e8e4; border-radius: 6px; background: #fbfcfc; }
    .attendance-raw-details > summary { cursor: pointer; padding: 8px; font-size: 12px; font-weight: 800; }
    .attendance-raw-details[open] > summary { border-bottom: 1px solid #e1e8e4; }
    .attendance-raw-details .attendance-source-list { padding: 8px; }
    .attendance-technical-audit { display: grid; gap: 3px; min-width: 0; margin: 0 8px 8px; padding: 7px; border: 1px dashed #d5dfda; border-radius: 5px; background: #fff; }
    .attendance-technical-audit strong { font-size: 11px; }
    .attendance-technical-audit span { color: var(--muted); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 10px; overflow-wrap: anywhere; }
    .attendance-source-conflict { display: grid; gap: 3px; padding: 8px; border: 1px solid #efb2ac; border-radius: 6px; background: #fff2f0; color: #8e251c; }
    .attendance-source-conflict strong { font-size: 13px; }
    .attendance-source-conflict span { color: #9f3a2c; font-size: 12px; }
    .attendance-review-latest { display: grid; gap: 3px; padding: 8px; border: 1px solid #d4e5dc; border-radius: 6px; background: #f6fbf8; }
    .attendance-review-latest.stale { border-color: #efc17c; background: #fff9ef; }
    .attendance-review-latest span { color: var(--muted); font-size: 12px; overflow-wrap: anywhere; }
    .attendance-rule-suggestion { display: grid; gap: 3px; padding: 8px; border: 1px solid #bcdccc; border-radius: 6px; background: #eef9f3; }
    .attendance-rule-suggestion span { color: #315f50; font-size: 12px; }
    .attendance-review-form { display: grid; gap: 7px; padding-top: 2px; }
    .attendance-review-form textarea { width: 100%; min-height: 64px; resize: vertical; box-sizing: border-box; }
    .attendance-review-actions { display: flex; flex-wrap: wrap; gap: 7px; }
    .attendance-review-actions .btn { white-space: normal; }
    .attendance-evidence-resolution { display: grid; gap: 8px; min-width: 0; }
    .attendance-evidence-resolution-head { display: grid; gap: 2px; }
    .attendance-evidence-resolution-head strong { font-size: 13px; }
    .attendance-evidence-resolution-head span { color: var(--muted); font-size: 11px; }
    .attendance-evidence-resolution fieldset { display: grid; gap: 6px; min-width: 0; margin: 0; padding: 8px; border: 1px solid #d8e4de; border-radius: 6px; }
    .attendance-evidence-resolution legend { padding: 0 4px; font-size: 12px; font-weight: 800; }
    .attendance-evidence-choice { display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, 210px); gap: 8px; align-items: center; min-width: 0; padding: 7px; border: 1px solid #e5ebe8; border-radius: 5px; background: #fff; }
    .attendance-evidence-choice > span { display: grid; gap: 2px; min-width: 0; }
    .attendance-evidence-choice strong { font-size: 12px; overflow-wrap: anywhere; }
    .attendance-evidence-choice small { color: var(--muted); font-size: 10px; overflow-wrap: anywhere; }
    .attendance-evidence-choice select { width: 100%; min-width: 0; }
    .attendance-review-readonly { color: var(--muted); font-size: 12px; }
    .attendance-review-history { min-width: 0; border-top: 1px dashed #d8e2dd; padding-top: 6px; }
    .attendance-review-history summary { cursor: pointer; font-size: 12px; font-weight: 800; }
    .attendance-review-history-list { display: grid; gap: 5px; margin-top: 6px; }
    .attendance-review-history-item { padding: 6px; border: 1px solid #e5ebe8; border-radius: 5px; background: #fbfcfc; font-size: 11px; overflow-wrap: anywhere; }
    @media (max-width: 520px) {
      .attendance-daily-review { padding: 8px; }
      .attendance-source-record { grid-template-columns: 1fr; }
      .attendance-source-record .attendance-source-id { grid-column: auto; }
      .attendance-review-actions { display: grid; grid-template-columns: 1fr; }
      .attendance-schedule-evidence { grid-template-columns: 1fr; }
      .attendance-direction-summary { grid-template-columns: 1fr; }
      .attendance-evidence-choice { grid-template-columns: 1fr; }
      .attendance-review-workflow > summary { align-items: flex-start; }
    }
    .swimwear-stock-panel { border: 1px solid #d6e8df; border-radius: 7px; background: #f8fdfb; padding: 10px; display: grid; gap: 8px; }
    .swimwear-stock-panel[hidden] { display: none; }
    .swimwear-stock-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; font-size: 13px; font-weight: 800; color: var(--text); }
    .swimwear-stock-head span { color: var(--muted); font-size: 12px; font-weight: 600; }
    .swimwear-stock-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)); gap: 7px; }
    .swimwear-stock-item { border: 1px solid #e6edf2; border-radius: 7px; background: #fff; padding: 8px; display: grid; gap: 2px; }
    .swimwear-stock-item span { color: var(--muted); font-size: 12px; }
    .swimwear-stock-item strong { font-size: 18px; color: var(--text); font-variant-numeric: tabular-nums; }
    .redline-strip { border: 1px solid #d6e8df; border-radius: 7px; background: #f8fcfa; padding: 10px; display: grid; gap: 8px; margin: 10px 0; }
    .redline-strip.redline-alert { border-color: #f2b8b5; background: #fff6f5; }
    .redline-strip-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
    .redline-strip-head strong { font-size: 14px; }
    .redline-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 7px; }
    .redline-card { border: 1px solid #dfe8ef; border-left: 4px solid #22a06b; border-radius: 6px; background: #fff; padding: 8px; min-width: 0; }
    .redline-card.warn { border-left-color: var(--red); background: #fff9f8; }
    .redline-card .label { color: var(--muted); font-size: 12px; }
    .redline-card .value { margin-top: 2px; font-size: 18px; font-weight: 900; }
    .redemption-submit-summary { display: none; margin-top: 10px; border: 1px solid #cfe4da; border-left: 4px solid var(--brand); border-radius: 7px; background: #f7fcfa; padding: 10px; }
    .redemption-submit-summary h4 { margin: 0 0 8px; font-size: 14px; }
    .redemption-submit-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
    .redemption-submit-summary-item { border: 1px solid #e2ece7; border-radius: 6px; background: #fff; padding: 7px; min-width: 0; }
    .redemption-submit-summary-item span { display: block; color: var(--muted); font-size: 11px; margin-bottom: 2px; }
    .redemption-submit-summary-item strong { font-size: 13px; overflow-wrap: anywhere; }
    .redemption-extra-summary { margin-top: 6px; border: 1px solid #e4ece8; border-radius: 7px; background: #fff; padding: 0 8px 8px; }
    .redemption-extra-summary summary { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--muted); cursor: pointer; font-size: 12px; font-weight: 800; }
    .redemption-risk-list { margin: 8px 0 0; padding-left: 18px; color: var(--red); font-size: 12px; line-height: 1.45; }
    .tag { display: inline-block; border-radius: 999px; padding: 2px 8px; font-size: 12px; background: #eef2f6; color: #475467; white-space: nowrap; }
    .tag.green { background: var(--green-soft); color: #10634e; }
    .tag.blue { background: var(--blue-soft); color: #185a9d; }
    .tag.amber { background: var(--amber-soft); color: #8a4d10; }
    .tag.red { background: var(--red-soft); color: var(--red); }
    .filters { display: grid; grid-template-columns: repeat(6, minmax(120px, 1fr)); gap: 8px; margin-bottom: 10px; }
    .table-wrap { width: 100%; min-width: 0; max-width: 100%; overflow: auto; max-height: min(68vh, 720px); border: 1px solid var(--line); border-radius: 7px; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; scrollbar-width: thin; background: #fff; }
    .table-wrap::-webkit-scrollbar, .booking-wrap::-webkit-scrollbar, nav::-webkit-scrollbar, .kpis::-webkit-scrollbar { height: 10px; width: 10px; }
    .table-wrap::-webkit-scrollbar-thumb, .booking-wrap::-webkit-scrollbar-thumb, nav::-webkit-scrollbar-thumb, .kpis::-webkit-scrollbar-thumb { background: #c8d3dc; border-radius: 999px; border: 2px solid #f8fafc; }
    .table-wrap::-webkit-scrollbar-track, .booking-wrap::-webkit-scrollbar-track, nav::-webkit-scrollbar-track, .kpis::-webkit-scrollbar-track { background: #eef2f6; border-radius: 999px; }
    .table-pager { min-height: 40px; display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 7px 2px 0; color: var(--muted); font-size: 12px; }
    .table-pager button { width: 36px; min-width: 36px; height: 32px; padding: 0; display: grid; place-items: center; font-size: 20px; line-height: 1; }
    .table-pager button:disabled { opacity: .38; cursor: default; }
    .table-pager span { min-width: 140px; text-align: center; }
    table { border-collapse: collapse; width: max-content; min-width: 1040px; }
    #financeAnomalyTable.owner-summary-table { width: 100%; min-width: 0; table-layout: fixed; }
    #financeAnomalyTable.owner-summary-table th, #financeAnomalyTable.owner-summary-table td { white-space: normal; overflow-wrap: anywhere; }
    #financeAnomalyTable.owner-summary-table th:nth-child(1), #financeAnomalyTable.owner-summary-table td:nth-child(1) { width: 70px; }
    #financeAnomalyTable.owner-summary-table th:nth-child(2), #financeAnomalyTable.owner-summary-table td:nth-child(2) { width: 82px; }
    #financeAnomalyTable.owner-summary-table th:nth-child(3), #financeAnomalyTable.owner-summary-table td:nth-child(3) { width: 24%; }
    #financeAnomalyTable.owner-summary-table th:nth-child(4), #financeAnomalyTable.owner-summary-table td:nth-child(4) { width: 29%; }
    th, td { border-bottom: 1px solid #e8edf2; padding: 8px 9px; text-align: left; vertical-align: top; font-size: 12px; }
    th { position: sticky; top: 0; background: #f8fafc; color: #475467; z-index: 1; font-weight: 700; }
    tbody tr:hover td { background: #fbfdfc; }
    td.num, th.num { text-align: right; font-variant-numeric: tabular-nums; }
    .summary { max-width: 420px; line-height: 1.42; }
    .split { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(320px, .8fr); gap: 14px; }
    .list { display: grid; gap: 8px; max-height: 58vh; overflow: auto; }
    .rowcard { border-bottom: 1px solid #edf1f5; padding-bottom: 8px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
    button.module-summary-row { width: 100%; border: 0; border-bottom: 1px solid #edf1f5; background: #fff; padding: 0 0 8px; text-align: left; color: inherit; cursor: pointer; }
    button.module-summary-row:hover { color: var(--brand); }
    button.module-summary-row:focus-visible { outline: 2px solid #7fb09a; outline-offset: 2px; border-radius: 5px; }
    .rowcard strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .rowcard span { color: var(--muted); font-size: 12px; }
    .record-actions { display: flex; gap: 6px; align-items: center; justify-content: flex-end; flex-wrap: wrap; }
    .mobile-card-list { display: none; gap: 8px; }
    #kitchen .mobile-card-list { display: grid; }
    .rehab-rule-line { grid-column: 1 / -1; border: 1px solid #d8eadf; background: #f7fbf8; color: #23483d; border-radius: 7px; padding: 9px 10px; font-size: 12px; line-height: 1.55; }
    .rehab-rule-line strong { display: block; color: #10634e; font-size: 13px; margin-bottom: 2px; }
    .water-mobile-card.rehab-paid { border-color: #ead7b5; background: #fffdf8; }
    .water-mobile-card.rehab-gift { border-color: #d6e8df; background: #fbfefd; }
    .water-today-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(148px, 1fr)); gap: 8px; margin: 0 0 10px; }
    .water-today-chip { border: 1px solid #e4eaf0; border-radius: 7px; background: #fff; padding: 10px; display: grid; gap: 3px; min-width: 0; box-shadow: 0 1px 2px rgba(15, 23, 42, .04); }
    button.water-today-chip { cursor: pointer; text-align: left; color: inherit; font: inherit; }
    button.water-today-chip:hover { border-color: #7fb09a; box-shadow: 0 6px 16px rgba(45, 79, 63, .1); transform: translateY(-1px); }
    .water-today-chip strong { font-size: 17px; line-height: 1.1; font-variant-numeric: tabular-nums; }
    .water-today-chip .chip-label { font-weight: 800; color: #26352f; font-size: 13px; }
    .water-today-chip span { color: var(--muted); font-size: 12px; line-height: 1.38; overflow-wrap: anywhere; }
    .water-today-chip.green { border-left: 4px solid #22a06b; }
    .water-today-chip.blue { border-left: 4px solid #3182ce; }
    .water-today-chip.amber { border-left: 4px solid #d28a22; }
    .water-today-chip.red { border-left: 4px solid var(--red); }
    .water-today-chip.active { background: #f1f8f5; border-color: #7fb09a; box-shadow: 0 0 0 2px rgba(127, 176, 154, .16); }
    .water-booking-schedule { display: grid; gap: 10px; margin: 0 0 10px; }
    .water-booking-schedule:empty { display: none; }
    .water-schedule-day { border: 1px solid #dce7ef; border-radius: 7px; background: #fbfdfc; overflow: hidden; }
    .water-schedule-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding: 9px 10px; border-bottom: 1px solid #e5edf3; background: #f5faf7; }
    .water-schedule-head strong { font-size: 14px; }
    .water-schedule-head span { color: var(--muted); font-size: 12px; }
    .water-schedule-list { display: grid; }
    .water-schedule-slot { display: grid; grid-template-columns: 72px minmax(0, 1fr); border-bottom: 1px solid #edf2f5; }
    .water-schedule-slot:last-child { border-bottom: 0; }
    .water-schedule-time { padding: 11px 9px; background: #fff; color: #475467; font-size: 13px; font-weight: 900; font-variant-numeric: tabular-nums; border-right: 1px solid #edf2f5; }
    .water-schedule-item { min-width: 0; padding: 9px 10px; display: grid; gap: 7px; background: #fff; }
    .water-schedule-item.today { background: #fbfdfc; }
    .water-schedule-item.cancelled { background: #fffafa; }
    .water-schedule-main { display: grid; gap: 4px; min-width: 0; }
    .water-schedule-title { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; }
    .water-schedule-title strong { overflow-wrap: anywhere; }
    .water-schedule-meta { color: var(--muted); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
    .water-schedule-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
    .water-schedule-empty { border: 1px dashed #d9e4ec; border-radius: 7px; background: #fff; color: var(--muted); padding: 12px; font-size: 13px; text-align: center; }
    .water-member-tools { display: grid; gap: 8px; margin: 0 0 10px; padding: 9px; border: 1px solid #dce7ef; border-radius: 7px; background: #fbfdfc; }
    .water-member-search { display: grid; gap: 4px; }
    .water-member-search label { font-size: 12px; color: var(--muted); font-weight: 800; }
    .water-member-search input { width: 100%; min-height: 38px; border: 1px solid #d7e2ea; border-radius: 7px; padding: 8px 10px; font: inherit; background: #fff; }
    .water-member-search input:focus { outline: 2px solid rgba(31, 122, 101, .18); border-color: #8fbfaa; }
    .water-member-filter-panel { border: 1px solid #d6e8df; border-radius: 8px; background: #fff; padding: 0; overflow: hidden; }
    .water-member-filter-panel summary { display: flex; justify-content: space-between; gap: 8px; align-items: center; padding: 10px; cursor: pointer; font-weight: 900; color: #26352f; list-style: none; }
    .water-member-filter-panel summary::-webkit-details-marker { display: none; }
    .water-member-filter-panel summary strong { font-size: 14px; }
    .water-member-filter-summary { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; min-width: 0; }
    .water-member-filter-badge { border: 1px solid #bdd8ce; border-radius: 999px; background: #f5fbf8; color: #10634e; padding: 2px 8px; font-size: 12px; font-weight: 900; line-height: 1.5; white-space: nowrap; }
    .water-member-filter-body { display: grid; gap: 10px; padding: 0 10px 10px; }
    .water-filter-group { display: grid; gap: 6px; }
    .water-filter-title { color: #475467; font-size: 12px; font-weight: 900; }
    .water-initial-bar { display: flex; flex-wrap: wrap; gap: 6px; }
    .water-initial-bar button { border: 1px solid #d7e2ea; border-radius: 999px; background: #fff; color: #475467; padding: 6px 10px; font: inherit; font-size: 12px; font-weight: 900; cursor: pointer; min-height: 32px; }
    .water-initial-bar button.active { background: var(--green-soft); color: #10634e; border-color: #9fc6b6; }
    .water-filter-chip-strip { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
    .water-filter-chip-strip .water-today-chip { display: inline-flex; align-items: center; gap: 5px; border: 1px solid #d7e2ea; border-left: 1px solid #d7e2ea; border-radius: 999px; box-shadow: none; padding: 6px 10px; min-height: 34px; background: #fff; }
    .water-filter-chip-strip .water-today-chip.green,
    .water-filter-chip-strip .water-today-chip.blue,
    .water-filter-chip-strip .water-today-chip.amber,
    .water-filter-chip-strip .water-today-chip.red { border-left: 1px solid #d7e2ea; }
    .water-filter-chip-strip .water-today-chip.active { background: #f1f8f5; border-color: #7fb09a; color: #10634e; box-shadow: inset 0 0 0 1px rgba(127, 176, 154, .18); }
    .water-filter-chip-strip .water-today-chip .chip-label { font-size: 12px; color: inherit; white-space: nowrap; }
    .water-filter-chip-strip .water-today-chip strong { font-size: 12px; color: inherit; line-height: 1; }
    .water-filter-chip-strip .water-today-chip span { display: none; }
    .water-member-hint { color: var(--muted); font-size: 12px; line-height: 1.45; }
    .water-more-row { display: flex; justify-content: center; padding: 10px 0 2px; }
    .water-labor-pager { border-top: 1px dashed #e3ece7; margin-top: 8px; padding-top: 8px; display: grid; gap: 7px; }
    .water-labor-pager-info { color: var(--muted); font-size: 12px; line-height: 1.45; text-align: center; overflow-wrap: anywhere; }
    .water-labor-pager-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
    .water-labor-pager-actions .btn { width: 100%; justify-content: center; min-height: 36px; }
    .water-mobile-card { border: 1px solid #e4eaf0; border-left: 4px solid #b7cbc3; border-radius: 7px; background: #fff; padding: 10px; display: grid; gap: 8px; min-width: 0; box-shadow: 0 1px 2px rgba(15, 23, 42, .04); }
    .water-mobile-card.today-priority { border-left-color: var(--brand); background: #fbfdfc; }
    .water-mobile-card.due-priority { border-left-color: #d28a22; background: #fffdf8; }
    .water-mobile-card.risk-priority { border-left-color: var(--red); background: #fffafa; }
    .water-mobile-card.audit-priority { border-left-color: #d28a22; background: #fffdf8; }
    .water-mobile-card.audit-risk { border-left-color: var(--red); background: #fffafa; }
    .water-mobile-card.audit-info { border-left-color: #3182ce; background: #fbfdff; }
    .water-mobile-card-head { display: flex; justify-content: space-between; gap: 8px; align-items: flex-start; min-width: 0; }
    .water-mobile-card-head strong { display: block; min-width: 0; overflow-wrap: anywhere; line-height: 1.35; }
    .water-mobile-tags { display: flex; flex-wrap: wrap; gap: 5px; justify-content: flex-end; }
    .water-mobile-meta { display: grid; gap: 4px; color: var(--muted); font-size: 12px; line-height: 1.45; min-width: 0; }
    .water-mobile-meta span { overflow-wrap: anywhere; }
    .water-mobile-meta b { color: #475467; }
    .kitchen-confirm-card { padding: 8px 10px; gap: 5px; }
    .kitchen-confirm-card .water-mobile-card-head { align-items: center; }
    .kitchen-confirm-card .water-mobile-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px 8px; }
    .kitchen-confirm-card .kitchen-confirm-note { grid-column: 1 / -1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .kitchen-confirm-card .water-mobile-actions { margin-top: 2px; }
    .kitchen-customer-card { gap: 9px; }
    .kitchen-customer-card .water-mobile-card-head { align-items: center; }
    .kitchen-customer-meal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
    .kitchen-meal-cell { border: 1px solid #e4ece8; border-radius: 7px; background: #fbfdfc; padding: 7px; display: grid; gap: 4px; min-width: 0; }
    .kitchen-meal-cell.empty { background: #f8fafc; color: var(--muted); }
    .kitchen-meal-cell strong { font-size: 12px; line-height: 1.2; color: #243832; }
    .kitchen-meal-cell span { font-size: 11px; line-height: 1.35; color: var(--muted); overflow-wrap: anywhere; }
    .kitchen-meal-detail { border-top: 1px dashed #e4ece8; padding-top: 6px; }
    .kitchen-meal-detail summary { cursor: pointer; color: #475467; font-size: 12px; font-weight: 900; }
    .kitchen-meal-detail-list { display: grid; gap: 6px; margin-top: 6px; }
    .kitchen-meal-detail-row { border: 1px solid #edf2f4; border-radius: 7px; padding: 7px; display: grid; gap: 5px; background: #fff; }
    .kitchen-meal-detail-row-head { display: flex; justify-content: space-between; gap: 8px; align-items: center; flex-wrap: wrap; }
    .kitchen-meal-detail-row-meta { color: var(--muted); font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
    .kitchen-meal-detail-row-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
    #waterCustomerAccountCards .water-mobile-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
    #waterCustomerAccountCards .water-mobile-meta span { border: 1px solid #e4ece8; border-radius: 6px; background: #fff; padding: 6px 7px; }
    #waterCustomerAccountCards .water-mobile-meta b { display: block; font-size: 11px; margin-bottom: 2px; }
    .water-card-detail { border-top: 1px dashed #e4ece8; padding-top: 6px; }
    .water-card-detail summary { cursor: pointer; color: #475467; font-size: 12px; font-weight: 900; }
    .water-card-detail-body { display: grid; gap: 8px; margin-top: 6px; }
    .water-card-detail .water-mobile-meta { margin-top: 0; }
    .water-entitlement-list { display: grid; gap: 7px; }
    .water-entitlement-row { border: 1px solid #e4ece8; border-radius: 7px; background: #fff; padding: 8px; display: grid; gap: 6px; min-width: 0; }
    .water-entitlement-row-head { display: flex; justify-content: space-between; gap: 8px; align-items: flex-start; flex-wrap: wrap; }
    .water-entitlement-row-head strong { color: #243832; font-size: 13px; overflow-wrap: anywhere; }
    .water-entitlement-row-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; color: var(--muted); font-size: 11px; line-height: 1.4; }
    .water-entitlement-row-meta span { border: 1px solid #edf1f5; border-radius: 6px; padding: 5px 6px; overflow-wrap: anywhere; }
    .water-entitlement-row-meta b { display: block; color: #475467; font-size: 10px; margin-bottom: 1px; }
    .water-entitlement-row-actions { display: flex; justify-content: flex-end; gap: 5px; flex-wrap: wrap; }
    .labor-fee-ledger { display: grid; gap: 10px; min-width: 0; padding: 8px; }
    .labor-fee-card { border: 1px solid #e1e8ed; border-left: 4px solid var(--brand); border-radius: 8px; background: #fff; display: grid; gap: 10px; padding: 10px; box-shadow: 0 1px 2px rgba(15, 23, 42, .04); min-width: 0; }
    .labor-fee-card.needs-review { border-left-color: #d28a22; background: #fffdf8; }
    .labor-fee-card.done { border-left-color: var(--brand); }
    .labor-fee-card.rejected { border-left-color: var(--red); background: #fffafa; }
    .labor-fee-card-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: start; }
    .labor-fee-card-title { display: grid; gap: 6px; min-width: 0; }
    .labor-fee-card-title strong { font-size: 15px; line-height: 1.35; color: #1f332d; overflow-wrap: anywhere; }
    .labor-fee-card-title .water-mobile-tags { justify-content: flex-start; }
    .labor-fee-amount-box { min-width: 116px; border: 1px solid #edf1f5; border-radius: 7px; background: #f8fafc; padding: 7px 9px; text-align: right; display: grid; gap: 3px; }
    .labor-fee-amount-box span { color: #667085; font-size: 11px; font-weight: 800; }
    .labor-fee-amount-box strong { color: #1f332d; font-size: 16px; line-height: 1.2; }
    .labor-fee-card-body { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.25fr); gap: 9px; }
    .labor-fee-panel { border: 1px solid #edf1f5; border-radius: 7px; background: #fbfdfc; padding: 9px; display: grid; gap: 8px; min-width: 0; }
    .labor-fee-panel h4 { margin: 0; color: #26352f; font-size: 12px; font-weight: 900; }
    .labor-fee-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
    .labor-fee-grid.wide { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .labor-fee-field { border: 1px solid #edf1f5; border-radius: 6px; padding: 6px 7px; color: #344054; font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; background: #fff; min-width: 0; }
    .labor-fee-field.wide { grid-column: 1 / -1; }
    .labor-fee-field b { display: block; color: #667085; font-size: 10px; margin-bottom: 2px; }
    .labor-fee-confirm-stack { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; }
    .labor-fee-card-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 6px; border-top: 1px dashed #e4ece8; padding-top: 8px; }
    .labor-fee-empty { border: 1px dashed #d7e2ea; border-radius: 8px; padding: 14px; color: var(--muted); background: #fff; text-align: center; }
    .labor-fee-scope-note { border: 1px solid #cfe3d8; border-radius: 7px; background: #f2f8f5; color: #35584a; padding: 8px 10px; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
    .labor-fee-filter-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; }
    .labor-fee-filter-bar .btn { min-width: 0; max-width: 100%; white-space: normal; }
    .labor-fee-filter-bar .btn.active { background: var(--brand); border-color: var(--brand); color: #fff; box-shadow: 0 0 0 2px rgba(45, 122, 91, .12); }
    .labor-fee-active-filter { color: #475467; font-size: 12px; font-weight: 800; line-height: 1.45; overflow-wrap: anywhere; }
    .labor-fee-server-pager { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; color: #475467; font-size: 12px; min-height: 30px; }
    .labor-fee-server-pager .btn { min-width: 76px; }
    .labor-fee-loading { border: 1px dashed #cfdad5; border-radius: 8px; padding: 16px; color: #475467; background: #fbfdfc; text-align: center; }
    .labor-fee-table-detail { margin-top: 2px; }
    .labor-fee-table-detail summary { overflow-wrap: anywhere; }
    .labor-fee-export-actions input[type="search"] { flex: 1 1 280px; min-width: min(280px, 100%); }
    .accounting-total-stack { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; min-width: 0; }
    .accounting-total-section { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; min-width: 0; }
    .accounting-total-section > * { min-width: 0; max-width: 100%; }
    .accounting-total-section-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; border-top: 1px solid #edf1f5; padding-top: 10px; }
    .accounting-total-section:first-child .accounting-total-section-head { border-top: 0; padding-top: 0; }
    .accounting-total-section-head h4 { margin: 0; color: #26352f; font-size: 14px; font-weight: 900; }
    .labor-fee-service-row td { border-bottom: 0; }
    .labor-fee-entitlement-row td { padding-top: 0; background: #fbfdfc; }
    .labor-fee-entitlement-box { border: 1px solid #e4ece8; border-left: 4px solid var(--brand); border-radius: 8px; background: #fff; padding: 9px; display: grid; gap: 8px; box-shadow: 0 1px 2px rgba(15, 23, 42, .04); }
    .labor-fee-entitlement-title { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; color: #26352f; font-size: 12px; font-weight: 900; }
    .labor-fee-entitlement-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
    .labor-fee-entitlement-grid span { border: 1px solid #edf1f5; border-radius: 6px; padding: 6px 7px; color: #344054; font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; background: #fff; }
    .labor-fee-entitlement-grid b { display: block; color: #667085; font-size: 10px; margin-bottom: 2px; }
    .water-card-more { display: inline-grid; min-width: 86px; }
    .water-card-more summary { min-height: 30px; display: grid; place-items: center; border: 1px solid #d8e2e8; border-radius: 6px; background: #fff; color: #344054; cursor: pointer; font-size: 12px; font-weight: 800; padding: 5px 8px; }
    .water-card-more-body { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
    .water-mobile-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
    .water-mobile-actions .btn { min-width: 86px; }
    .water-quick-deduct-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px; margin: 0 0 10px; }
    .water-quick-deduct-list:empty { display: none; }
    .water-quick-deduct-list .water-mobile-card { border-left-color: #3182ce; }
    .chart { display: grid; gap: 7px; }
    .module-grid { min-width: 0; max-width: 100%; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 10px; }
    .module-card { border: 1px solid #e4eaf0; border-top: 3px solid #b7cbc3; border-radius: 7px; padding: 12px; background: #fff; min-height: 110px; min-width: 0; display: flex; flex-direction: column; gap: 8px; overflow: hidden; box-shadow: 0 1px 2px rgba(15, 23, 42, .04); }
    .module-card h3 { margin: 0 0 5px; font-size: 14px; }
    .module-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; flex: 1; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
    .card-actions, .section-actions { min-width: 0; max-width: 100%; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
    .card-actions .btn, .section-actions .btn { min-width: 0; max-width: 100%; white-space: normal; }
    .card-actions { margin-top: auto; }
    .section-actions { margin-bottom: 12px; padding: 8px; border: 1px solid #e4eaf0; border-radius: 7px; background: #f8fafc; }
    .workbench-shell { border-color: #b8d9cb; overflow: hidden; box-shadow: var(--shadow-strong); }
    .workbench-shell .panel-head { background: #f1f8f4; border-bottom-color: #cfe5da; }
    .workbench-shell .panel-head h2 { font-size: 17px; }
    .workbench-shell .panel-body { background: #fbfdfc; }
    .workbench-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; margin-bottom: 12px; padding: 13px 14px; border: 1px solid #d9e9e1; border-radius: 7px; background: #f8fcfa; }
    .workbench-head h3 { margin: 0 0 4px; font-size: 18px; }
    .workbench-head p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
    .workbench-stage { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
    .workbench-stage button, .workbench-stage span { border: 1px solid #d7e2ea; border-radius: 999px; background: #fff; padding: 4px 8px; color: #475467; font-size: 12px; font-weight: 800; white-space: nowrap; }
    .workbench-stage button { cursor: pointer; font-family: inherit; line-height: 1.2; transition: border-color .16s ease, background .16s ease, color .16s ease; }
    .workbench-stage button:hover { border-color: #9fc6b6; color: #10634e; background: #f8fcfa; }
    .workbench-stage button:first-child, .workbench-stage span:first-child { background: var(--green-soft); border-color: #c8e0d4; color: #10634e; }
    .workbench-layout { min-width: 0; max-width: 100%; display: grid; grid-template-columns: minmax(260px, 1.15fr) minmax(240px, 1fr); gap: 14px; align-items: start; }
    .workbench-block { border: 1px solid #e4eaf0; border-radius: 7px; background: #fff; padding: 12px; min-width: 0; box-shadow: var(--shadow); }
    .workbench-block.primary { background: #f8fcfa; border-color: #cfe5da; border-left: 4px solid var(--brand); padding-left: 10px; }
    .workbench-section-title { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; font-size: 13px; font-weight: 800; color: #26352f; }
    .hr-headcount-tags { display: inline-flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
    .workbench-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 9px; }
    .workbench-actions .btn { min-width: 0; width: 100%; }
    .workbench-action-card { display: grid; gap: 8px; border: 1px solid #e2eaf0; border-radius: 7px; background: #fff; padding: 10px; min-width: 0; }
    .workbench-action-card h4 { margin: 0; font-size: 13px; color: #243832; overflow-wrap: anywhere; }
    .workbench-action-card p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.4; }
    .workbench-action-stats { display: flex; flex-wrap: wrap; gap: 5px; }
    .workbench-action-tools { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
    .workbench-action-tools .btn:only-child { grid-column: 1 / -1; }
    .workbench-focus { display: grid; gap: 8px; }
    .workbench-recent-mini-block { grid-column: 1 / -1; background: #f8fafc; box-shadow: none; padding: 10px; }
    .workbench-recent-mini { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px; }
    .workbench-recent-mini .todo-row { padding: 7px 8px; border-color: #e6edf2; grid-template-columns: minmax(0, 1fr) auto; }
    .workbench-recent-mini .todo-row strong { font-size: 12px; }
    .workbench-recent-mini .todo-row span { font-size: 11px; }
    .focus-item { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 8px; align-items: start; color: #344054; font-size: 13px; line-height: 1.45; border: 1px solid #edf1f5; border-radius: 6px; background: #fff; padding: 8px; }
    .focus-num { width: 22px; height: 22px; border-radius: 999px; display: grid; place-items: center; background: var(--brand); color: #fff; font-weight: 800; font-size: 12px; }
    .workbench-todo-block { margin-top: 12px; background: #fffdf8; border-color: #ead7b5; border-left: 4px solid #d28a22; padding-left: 10px; }
    .workbench-todo-list { display: grid; gap: 8px; }
    .todo-row { border: 1px solid #edf1f5; border-radius: 6px; padding: 9px 10px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; background: #fff; }
    .todo-row:hover { border-color: #d6e8df; background: #fbfdfc; }
    .todo-row strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
    .todo-row span { display: block; color: var(--muted); font-size: 12px; margin-top: 2px; }
    .todo-actions { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
    .workbench-record-head { margin-top: 12px; padding-top: 2px; color: #344054; }
    .lane-count { color: var(--muted); font-size: 12px; }
    .task-board { min-width: 0; max-width: 100%; display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); gap: 14px; }
    .task-col { border: 1px solid #e4eaf0; border-radius: 7px; background: #fff; min-height: 122px; min-width: 0; overflow: hidden; box-shadow: var(--shadow); }
    .task-col h3 { margin: 0; padding: 10px 12px; border-bottom: 1px solid #edf1f5; border-left: 4px solid #b7cbc3; background: #f8fafc; font-size: 14px; overflow-wrap: anywhere; }
    .workbench-lane-link { appearance: none; border: 0; background: transparent; padding: 0; margin: 0; color: inherit; font: inherit; font-weight: 800; cursor: pointer; }
    .workbench-lane-link:hover { color: var(--brand); }
    .workbench-lane-link:focus-visible { outline: 2px solid #7fb09a; outline-offset: 2px; border-radius: 4px; }
    .task-col .empty { padding: 28px 12px; }
    .workflow-guidance-shell { display: grid; gap: 12px; margin: 12px 0; padding: 14px; border: 1px solid #cfe2d8; border-radius: 10px; background: #f8fcfa; box-shadow: var(--shadow); }
    .workflow-guidance-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
    .workflow-guidance-head h3 { margin: 0; color: #1f352d; font-size: 18px; }
    .workflow-guidance-head p { margin: 4px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
    .workflow-guidance-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
    .workflow-guidance-summary span { display: grid; gap: 2px; padding: 9px 10px; border: 1px solid #dce9e3; border-radius: 7px; background: #fff; color: #1f352d; font-size: 18px; font-weight: 800; }
    .workflow-guidance-summary b { color: var(--muted); font-size: 11px; }
    .workflow-guidance-list, .workflow-guidance-priority, .workflow-guidance-later { display: grid; gap: 10px; }
    .workflow-guidance-priority, .workflow-guidance-later { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .workflow-guidance-card { min-width: 0; display: grid; align-content: start; gap: 9px; padding: 12px; border: 1px solid #dfe7e3; border-left: 5px solid #d49b3c; border-radius: 9px; background: #fff; }
    .workflow-guidance-card.risk-red { border-left-color: #c94d4d; }
    .workflow-guidance-card.risk-green { border-left-color: #2f8f68; }
    .workflow-guidance-card-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
    .workflow-guidance-card-head > div { display: flex; flex-wrap: wrap; gap: 5px; }
    .workflow-guidance-card-head > strong { color: #475467; font-size: 11px; text-align: right; }
    .workflow-guidance-card h4 { margin: 0; color: #1f302a; font-size: 15px; line-height: 1.35; overflow-wrap: anywhere; }
    .workflow-guidance-primary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
    .workflow-guidance-primary span, .workflow-guidance-facts span { display: grid; gap: 3px; min-width: 0; padding: 8px; border-radius: 6px; background: #f6f9f8; color: #263b34; font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
    .workflow-guidance-primary b, .workflow-guidance-facts b { color: var(--muted); font-size: 10px; }
    .workflow-guidance-next, .workflow-guidance-decision { display: grid; gap: 4px; padding: 9px; border-radius: 7px; background: #edf7f2; color: #1f4c3d; font-size: 12px; line-height: 1.5; }
    .workflow-guidance-decision { background: #fff5e7; color: #68440c; }
    .workflow-guidance-decision.neutral { background: #f7f8fa; color: #475467; }
    .workflow-guidance-due { display: grid; grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr); gap: 5px 8px; align-items: baseline; color: #344054; font-size: 11px; }
    .workflow-guidance-due b { color: var(--muted); }
    .workflow-guidance-evidence, .workflow-guidance-more, .workflow-raw-details { border: 1px dashed #cfdcd6; border-radius: 7px; background: #fbfdfc; padding: 9px 10px; }
    .workflow-guidance-evidence > summary, .workflow-guidance-more > summary, .workflow-raw-details > summary { cursor: pointer; color: #10634e; font-size: 12px; font-weight: 800; }
    .workflow-guidance-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 9px; }
    .workflow-guidance-date-note { margin: 8px 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
    .workflow-guidance-attribution { margin: 0; padding: 7px 8px; border: 1px solid #dfe9e4; border-radius: 6px; background: #f8fbfa; color: #475467; font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
    .workflow-guidance-attribution.system-governance { border-color: #c9d9e8; background: #f4f8fc; color: #31536f; font-weight: 700; }
    .workflow-guidance-original-list { display: grid; gap: 6px; margin-top: 8px; }
    .workflow-guidance-original-row { background: #fff; }
    .workflow-guidance-more { margin-top: 2px; }
    .workflow-guidance-later { margin-top: 10px; }
    .workflow-raw-details { margin-top: 12px; background: #fff; }
    .workflow-raw-board { margin-top: 10px; }
    #workflowRawDetails:not([open]) > .workflow-raw-board,
    #workflowOwnerFilterNotice[hidden] { display: none !important; }
    #workflowCenter [data-workflow-management-only][hidden] { display: none !important; }
    #cashier .split { grid-template-columns: minmax(0, 1fr); }
    .accounting-review-overview { margin-top: 10px; }
    #cashier .accounting-review-overview .table-wrap { max-height: clamp(440px, 64vh, 760px); border: 1px solid var(--line); border-radius: 6px; scrollbar-width: auto; scrollbar-gutter: stable both-edges; }
    #cashier .accounting-review-overview table { min-width: 1560px; }
    #cashier #accountingReviewTable { min-width: 1580px; }
    #cashier #accountingProjectBoard[data-accounting-project="verified"] #accountingReviewTable { min-width: 1720px; }
    #cashier #accountingProjectBoard[data-accounting-project="gross"] #accountingReviewTable { min-width: 1380px; }
    #cashier #paymentMatchTable { min-width: 1880px; }
    #cashier #receivableTrackingTable { min-width: 2380px; }
    #cashier .accounting-review-overview th, #cashier .accounting-review-overview td { white-space: nowrap; }
    #cashier .accounting-review-overview td.summary { min-width: 320px; max-width: 520px; white-space: normal; }
    #cashier .accounting-review-overview .num { min-width: 112px; }
    .accounting-project-directory,
    .accounting-project-board { min-width: 0; max-width: 100%; }
    .accounting-project-directory[hidden],
    .accounting-project-board[hidden],
    .accounting-project-state[hidden] { display: none !important; }
    .accounting-project-directory-head,
    .accounting-project-board-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin: 2px 0 12px; padding: 13px 14px; border: 1px solid #d6e6df; border-radius: 9px; background: linear-gradient(135deg, #f6fbf8 0%, #edf6f2 100%); min-width: 0; }
    .accounting-project-directory-head > *,
    .accounting-project-board-head > * { min-width: 0; }
    .accounting-project-eyebrow { margin: 0 0 3px; color: #2d7a5b; font-size: 11px; font-weight: 900; letter-spacing: .08em; }
    .accounting-project-directory-head h4,
    .accounting-project-board-head h4 { margin: 0; color: #183f33; font-size: 18px; line-height: 1.35; overflow-wrap: anywhere; }
    .accounting-project-directory-head p:last-child,
    .accounting-project-board-head p:last-child { margin: 5px 0 0; color: #52665f; font-size: 12px; line-height: 1.55; overflow-wrap: anywhere; }
    .accounting-project-folder-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 0; }
    .accounting-project-folder-grid .accounting-project-folder { position: relative; min-height: 118px; padding: 19px 15px 13px; overflow: visible; border-color: #cbded6; border-top: 1px solid #cbded6; background: linear-gradient(180deg, #fbfefd 0%, #f1f8f5 100%); }
    .accounting-project-folder-grid .accounting-project-folder::before { content: ""; position: absolute; left: 14px; top: -8px; width: 72px; height: 12px; border: 1px solid #cbded6; border-bottom: 0; border-radius: 7px 7px 0 0; background: #e5f1ec; }
    .accounting-project-folder-grid .accounting-project-folder:hover::before,
    .accounting-project-folder-grid .accounting-project-folder:focus-visible::before { border-color: #7fb09a; background: #d9eee5; }
    .accounting-project-folder-grid .accounting-project-folder .label { color: #315248; font-size: 13px; font-weight: 900; }
    .accounting-project-folder-grid .accounting-project-folder .value { color: #173f33; font-size: 21px; }
    .accounting-project-folder-grid .accounting-project-folder .hint { line-height: 1.45; }
    .accounting-project-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: 2px 0 10px; color: var(--muted); font-size: 12px; }
    .accounting-project-breadcrumb button { appearance: none; border: 0; padding: 0; background: transparent; color: #176c52; cursor: pointer; font: inherit; font-weight: 900; text-decoration: underline; text-underline-offset: 3px; }
    .accounting-project-breadcrumb button:focus-visible,
    .accounting-project-board-head h4:focus-visible,
    .accounting-project-directory-head h4:focus-visible,
    .accounting-review-table-wrap:focus-visible { outline: 2px solid #7fb09a; outline-offset: 2px; }
    .accounting-project-state { margin: 0 0 12px; }
    .accounting-project-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .accounting-project-summary .kpi { min-height: 76px; box-shadow: none; }
    .accounting-project-filter-panel { display: grid; gap: 8px; margin: 0 0 12px; padding: 10px; border: 1px solid #dce8e2; border-radius: 8px; background: #f8fcfa; min-width: 0; }
    .accounting-project-filter-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; min-width: 0; }
    .accounting-project-filter-bar .btn { min-width: 0; max-width: 100%; white-space: normal; }
    .accounting-project-filter-bar .btn.active { background: var(--brand); border-color: var(--brand); color: #fff; box-shadow: 0 0 0 2px rgba(45, 122, 91, .12); }
    .accounting-project-filter-status { color: #344054; font-size: 12px; font-weight: 800; line-height: 1.5; overflow-wrap: anywhere; }
    @media (max-width: 1050px) {
      .accounting-project-folder-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .accounting-project-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    #cashier .table-scroll-guide,
    #propertyContractStage .table-scroll-guide,
    #propertyCollectionStage .table-scroll-guide { position: sticky; top: 68px; z-index: 4; display: none; grid-template-columns: auto minmax(0, 1fr); gap: 10px; align-items: center; min-height: 34px; margin: 8px 10px 0; padding: 5px 9px; border: 1px solid #b8c7d4; border-radius: 6px; background: #edf2f7; box-shadow: 0 2px 8px rgba(15, 23, 42, .08); }
    #cashier .table-scroll-guide span,
    #propertyContractStage .table-scroll-guide span,
    #propertyCollectionStage .table-scroll-guide span { color: #475467; font-size: 12px; font-weight: 800; white-space: nowrap; }
    #cashier .table-scroll-guide input[type="range"],
    #propertyContractStage .table-scroll-guide input[type="range"],
    #propertyCollectionStage .table-scroll-guide input[type="range"] { width: 100%; min-width: 0; height: 22px; margin: 0; padding: 0; border: 0; background: transparent; accent-color: #475467; cursor: ew-resize; }
    #cashier .accounting-review-overview .table-wrap::-webkit-scrollbar { height: 16px; width: 12px; }
    #cashier .accounting-review-overview .table-wrap::-webkit-scrollbar-thumb { background: #667085; border-radius: 999px; border: 3px solid #edf2f7; }
    #cashier .accounting-review-overview .table-wrap::-webkit-scrollbar-track { background: #dbe3ec; border-radius: 999px; }
    .finance-tabs { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 12px; padding: 8px; border: 1px solid #e4eaf0; border-radius: 7px; background: #f8fafc; }
    .finance-tabs .btn.active { background: var(--brand); border-color: var(--brand); color: #fff; }
    .finance-tab-hidden { display: none !important; }
    .accountant-workbench-panel { min-width: 0; overflow: hidden; border-top: 4px solid var(--brand); }
    .accountant-workbench-head { align-items: flex-start; }
    .accountant-workbench-head h2 { margin-bottom: 4px; }
    .accountant-workbench-head p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
    .accountant-primary-nav { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; padding: 10px; border: 1px solid #dce9e4; border-radius: 9px; background: #f7fbf9; }
    .accountant-query-nav { position: relative; flex: 0 1 auto; min-width: 150px; }
    .accountant-query-nav > summary { min-height: 32px; box-sizing: border-box; padding: 7px 10px; border: 1px solid #cfd9df; border-radius: 5px; color: #33434c; background: #fff; cursor: pointer; font-size: 12px; font-weight: 800; list-style-position: inside; }
    .accountant-query-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; width: min(460px, calc(100vw - 330px)); margin-top: 7px; padding: 9px; border: 1px solid #dce5ea; border-radius: 8px; background: #fff; box-shadow: var(--shadow); }
    .accountant-workbench-kpis { margin: 12px 0; }
    .accountant-workbench-grid { display: grid; grid-template-columns: minmax(0, 1fr) 250px; gap: 12px; align-items: start; min-width: 0; }
    .accountant-priority-panel { min-width: 0; margin: 0; }
    .accountant-priority-panel .table-wrap { max-width: 100%; overflow-x: auto; }
    .accountant-coordination-panel { display: grid; gap: 9px; min-width: 0; padding: 14px; border: 1px solid #dbe3e8; border-left: 4px solid #94a3ad; border-radius: 9px; background: #fbfcfd; }
    .accountant-coordination-panel p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
    .accountant-coordination-count { color: #263f48; font-size: 28px; font-weight: 900; line-height: 1; }
    body[data-role="accountant"] [data-hide-accountant="1"] { display: none !important; }
    .cashier-focused-workbench { display: grid; gap: 12px; margin: 12px 0; padding: 14px; border: 1px solid #bfd9cd; border-left: 5px solid var(--brand); border-radius: 10px; background: linear-gradient(135deg, #f8fcfa 0%, #fff 64%); box-shadow: var(--shadow); min-width: 0; max-width: 100%; }
    .cashier-focus-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; min-width: 0; }
    .cashier-focus-head h3 { margin: 0; color: #193b30; font-size: 20px; }
    .cashier-focus-head p { margin: 4px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
    .cashier-today-kpis { margin: 0; grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .cashier-primary-actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
    .cashier-primary-actions .btn { width: 100%; min-width: 0; min-height: 40px; }
    .cashier-secondary-actions { border: 1px dashed #cbdad3; border-radius: 8px; background: #fff; padding: 9px 11px; }
    .cashier-secondary-actions > summary { cursor: pointer; color: #31594b; font-size: 13px; font-weight: 800; }
    .cashier-secondary-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; margin-top: 10px; }
    .cashier-secondary-grid .btn { width: 100%; min-width: 0; }
    .cashier-today-overview { margin: 0; border-color: #d6e7df; box-shadow: none; }
    .cashier-focus-note { margin: 8px 12px 0; }
    #cashierTodayOverview .table-wrap { max-height: min(430px, 52vh); margin-top: 8px; border-top: 1px solid #edf1f5; overflow: auto; scrollbar-gutter: stable; }
    #cashierTodayTable { width: 100%; min-width: 880px; table-layout: fixed; }
    #cashierTodayTable th:nth-child(1), #cashierTodayTable td:nth-child(1) { width: 96px; }
    #cashierTodayTable th:nth-child(2), #cashierTodayTable td:nth-child(2) { width: 18%; }
    #cashierTodayTable th:nth-child(3), #cashierTodayTable td:nth-child(3) { width: 112px; }
    #cashierTodayTable th:nth-child(4), #cashierTodayTable td:nth-child(4) { width: 150px; }
    #cashierTodayTable th:nth-child(6), #cashierTodayTable td:nth-child(6) { width: 168px; }
    #cashierTodayTable th, #cashierTodayTable td { white-space: normal; overflow-wrap: anywhere; vertical-align: top; }
    .cashier-row-reason { display: grid; gap: 4px; min-width: 0; color: #344054; line-height: 1.45; }
    .cashier-row-reason > strong { color: #7a271a; font-size: 12px; }
    .cashier-row-reason > span { color: #475467; font-size: 12px; }
    .cashier-row-details { margin-top: 3px; border: 1px dashed #d7e2dc; border-radius: 6px; background: #fbfdfc; padding: 5px 7px; }
    .cashier-row-details > summary { cursor: pointer; color: #10634e; font-size: 11px; font-weight: 800; }
    .cashier-row-details > div { margin-top: 6px; color: #475467; font-size: 11px; line-height: 1.55; }
    .cashier-history-overview { min-width: 0; max-width: 100%; }
    #cashier > .split, #cashier .panel, #cashier .panel-body { min-width: 0; max-width: 100%; }
    #cashierHistoryOverview .cash-history-table-wrap { width: 100%; max-width: 100%; max-height: none; overflow-x: auto; overflow-y: visible; }
    #cashTable { width: 100%; min-width: 1180px; }
    #cashTable th, #cashTable td { vertical-align: top; }
    #cashTable th:nth-child(1), #cashTable td:nth-child(1) { width: 92px; }
    #cashTable th:nth-child(2), #cashTable td:nth-child(2) { width: 120px; }
    #cashTable th:nth-child(3), #cashTable td:nth-child(3) { width: 104px; }
    #cashTable th:nth-child(6), #cashTable td:nth-child(6),
    #cashTable th:nth-child(7), #cashTable td:nth-child(7),
    #cashTable th:nth-child(8), #cashTable td:nth-child(8) { width: 92px; }
    #cashTable th:nth-child(9), #cashTable td:nth-child(9) { width: 136px; }
    #cashTable th:nth-child(10), #cashTable td:nth-child(10) { width: 76px; }
    .cash-history-row-details { min-width: 52px; }
    .cash-history-row-details > summary { cursor: pointer; color: #10634e; font-weight: 800; white-space: nowrap; }
    .cash-history-detail-card { width: min(560px, 70vw); margin-top: 7px; padding: 9px; border: 1px solid #d9e5df; border-radius: 7px; background: #fbfdfc; color: #475467; font-size: 12px; line-height: 1.55; }
    .cash-history-detail-card p { margin: 0 0 7px; overflow-wrap: anywhere; }
    .cash-history-detail-card ol { display: grid; gap: 6px; margin: 0; padding-left: 20px; }
    .cash-history-detail-card li { padding-left: 3px; }
    .cash-history-detail-card li strong, .cash-history-detail-card li span { display: block; }
    #cashHistoryPager { margin-top: 10px; }
    #drawerContent .field[hidden],
    #drawerContent .drawer-form-section[hidden] { display: none !important; }
    body[data-role="cashier"] #cashier > .split, body[data-role="cashier"] #cashier .panel, body[data-role="cashier"] #cashier .panel-body { min-width: 0; max-width: 100%; }
    .receivable-tracking-overview table { min-width: 2380px; }
    .property-subboards { display: grid; gap: 12px; margin-top: 12px; }
    .property-subboard .table-wrap { max-height: clamp(360px, 58vh, 680px); }
    .property-stage { display: grid; gap: 10px; padding: 12px; border: 1px solid #e4eaf0; border-left: 4px solid #b7cbc3; border-radius: 7px; background: #fff; box-shadow: var(--shadow); scroll-margin-top: 76px; }
    .property-stage-head { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; flex-wrap: wrap; }
    .property-stage-tools { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; margin-left: auto; }
    .property-stage-head h3 { margin: 0; font-size: 15px; color: #26352f; }
    .property-stage-head p { margin: 3px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
    .property-stage-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); gap: 12px; align-items: start; }
    #propertyContractStage > .property-stage-grid { grid-template-columns: minmax(0, 1fr); }
    #propertyContractStage .property-subboard { width: 100%; max-width: 100%; }
    #propertyCollectionStage > .property-stage-grid { grid-template-columns: minmax(0, 1fr); }
    #propertyCollectionStage .property-subboard { width: 100%; max-width: 100%; min-width: 0; }
    @media (min-width: 901px) {
      body[data-role="cashier"] #kpiGrid { display: none; }
      #wecomScheduleIssueTable,
      #wecomAttendanceReviewTable,
      #wecomScheduleFactTable,
      #wecomScheduleHistoryTable { width: 100%; min-width: 0; table-layout: fixed; }
      #wecomScheduleIssueTable th,
      #wecomScheduleIssueTable td,
      #wecomAttendanceReviewTable th,
      #wecomAttendanceReviewTable td { white-space: normal; overflow-wrap: anywhere; }
      #wecomScheduleIssueTable .tag,
      #wecomAttendanceReviewTable .tag { white-space: normal; line-height: 1.35; }
      #wecomScheduleIssueTable th:nth-child(1), #wecomScheduleIssueTable td:nth-child(1) { width: 9%; }
      #wecomScheduleIssueTable th:nth-child(2), #wecomScheduleIssueTable td:nth-child(2) { width: 11%; }
      #wecomScheduleIssueTable th:nth-child(3), #wecomScheduleIssueTable td:nth-child(3) { width: 18%; }
      #wecomScheduleIssueTable th:nth-child(4), #wecomScheduleIssueTable td:nth-child(4) { width: 14%; }
      #wecomScheduleIssueTable th:nth-child(5), #wecomScheduleIssueTable td:nth-child(5) { width: 20%; }
      #wecomScheduleIssueTable th:nth-child(6), #wecomScheduleIssueTable td:nth-child(6) { width: 28%; }
      #wecomAttendanceReviewTable th:nth-child(1), #wecomAttendanceReviewTable td:nth-child(1) { width: 13%; }
      #wecomAttendanceReviewTable th:nth-child(2), #wecomAttendanceReviewTable td:nth-child(2) { width: 16%; }
      #wecomAttendanceReviewTable th:nth-child(3), #wecomAttendanceReviewTable td:nth-child(3) { width: 24%; }
      #wecomAttendanceReviewTable th:nth-child(4), #wecomAttendanceReviewTable td:nth-child(4) { width: 18%; }
      #wecomAttendanceReviewTable th:nth-child(5), #wecomAttendanceReviewTable td:nth-child(5) { width: 14%; }
      #wecomAttendanceReviewTable th:nth-child(6), #wecomAttendanceReviewTable td:nth-child(6) { width: 15%; }
      #propertyContractStage .table-wrap { max-height: clamp(360px, 58vh, 680px); scrollbar-width: auto; scrollbar-gutter: auto; }
      #propertyCollectionStage .table-wrap { max-height: clamp(360px, 58vh, 680px); scrollbar-width: auto; scrollbar-gutter: auto; }
      #propertyContractTable { width: 100%; min-width: 1380px; }
      #propertyRentPlanTable { width: 100%; min-width: 1660px; }
      #propertyRentDepositTable { width: 100%; min-width: 1320px; }
      #propertyDepositBalanceTable { width: 100%; min-width: 1120px; }
      #propertyContractTable th:nth-child(2), #propertyContractTable td:nth-child(2) { min-width: 150px; }
      #propertyContractTable th:nth-child(3), #propertyContractTable td:nth-child(3),
      #propertyRentPlanTable th:nth-child(3), #propertyRentPlanTable td:nth-child(3) { min-width: 145px; }
      #propertyContractTable th:nth-child(4), #propertyContractTable td:nth-child(4),
      #propertyRentPlanTable th:nth-child(4), #propertyRentPlanTable td:nth-child(4) { min-width: 100px; }
      #propertyContractTable th:nth-child(5), #propertyContractTable td:nth-child(5) { min-width: 210px; }
      #propertyContractTable th:nth-child(6), #propertyContractTable td:nth-child(6) { min-width: 170px; }
      #propertyContractTable th:nth-child(7), #propertyContractTable td:nth-child(7) { min-width: 190px; }
      #propertyRentPlanTable th:nth-child(2), #propertyRentPlanTable td:nth-child(2) { min-width: 230px; }
      #propertyRentPlanTable th:nth-child(5), #propertyRentPlanTable td:nth-child(5) { min-width: 170px; }
      #propertyRentPlanTable th:nth-child(6), #propertyRentPlanTable td:nth-child(6) { min-width: 175px; }
      #propertyRentPlanTable th:nth-child(7), #propertyRentPlanTable td:nth-child(7),
      #propertyRentPlanTable th:nth-child(8), #propertyRentPlanTable td:nth-child(8),
      #propertyRentPlanTable th:nth-child(9), #propertyRentPlanTable td:nth-child(9) { min-width: 105px; }
      #propertyRentDepositTable th:nth-child(3), #propertyRentDepositTable td:nth-child(3) { min-width: 180px; }
      #propertyRentDepositTable th:nth-child(4), #propertyRentDepositTable td:nth-child(4) { min-width: 120px; }
      #propertyRentDepositTable th:nth-child(5), #propertyRentDepositTable td:nth-child(5) { min-width: 120px; }
      #propertyRentDepositTable th:nth-child(7), #propertyRentDepositTable td:nth-child(7) { min-width: 220px; }
      #propertyDepositBalanceTable th:nth-child(2), #propertyDepositBalanceTable td:nth-child(2) { min-width: 180px; }
      #propertyDepositBalanceTable th:nth-child(3), #propertyDepositBalanceTable td:nth-child(3) { min-width: 120px; }
      #propertyDepositBalanceTable th:nth-child(4), #propertyDepositBalanceTable td:nth-child(4),
      #propertyDepositBalanceTable th:nth-child(5), #propertyDepositBalanceTable td:nth-child(5),
      #propertyDepositBalanceTable th:nth-child(6), #propertyDepositBalanceTable td:nth-child(6),
      #propertyDepositBalanceTable th:nth-child(7), #propertyDepositBalanceTable td:nth-child(7) { min-width: 105px; }
      #propertyContractStage .table-wrap::-webkit-scrollbar { height: 14px; width: 12px; }
      #propertyContractStage .table-wrap::-webkit-scrollbar-thumb { background: #667085; border-radius: 999px; border: 3px solid #edf2f7; }
      #propertyContractStage .table-wrap::-webkit-scrollbar-track { background: #dbe3ec; border-radius: 999px; }
      #propertyCollectionStage .table-wrap::-webkit-scrollbar { height: 14px; width: 12px; }
      #propertyCollectionStage .table-wrap::-webkit-scrollbar-thumb { background: #667085; border-radius: 999px; border: 3px solid #edf2f7; }
      #propertyCollectionStage .table-wrap::-webkit-scrollbar-track { background: #dbe3ec; border-radius: 999px; }
    }
    .property-stage.collapsed .property-stage-grid { display: none; }
    .property-stage.collapsed { padding-bottom: 12px; }
    .section-flash { box-shadow: 0 0 0 3px rgba(24, 116, 95, .22); border-color: var(--brand); }
    .workbench-row { padding: 9px 12px; border-bottom: 1px solid #edf1f5; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; background: #fff; }
    .workbench-row strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
    .workbench-row span { color: var(--muted); font-size: 12px; }
    .workbench-more { padding: 7px 12px; color: var(--muted); font-size: 12px; }
    body[data-role="frontDesk"] #roleWorkbenchPanel { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
    body[data-role="frontDesk"] #roleWorkbenchPanel > .panel-head,
    body[data-role="frontDesk"] #roleWorkbenchPanel .workbench-head,
    body[data-role="frontDesk"] #frontDeskWorkbenchDetailBlock > .workbench-section-title { display: none; }
    body[data-role="frontDesk"] #roleWorkbenchPanel > .panel-body { padding: 0; }
    body[data-role="frontDesk"] #frontDeskWorkbenchDetailBlock { border: 0; border-radius: 0; background: transparent; padding: 0; }
    .frontdesk-home-nav { display: grid; grid-template-columns: 1fr; gap: 8px; margin-bottom: 10px; align-items: stretch; }
    .frontdesk-direct-head, .frontdesk-direct-block { grid-column: 1 / -1; min-width: 0; }
    .frontdesk-direct-head { border: 1px solid #d6e8df; border-radius: 7px; background: #fbfdfc; padding: 10px 12px; }
    .frontdesk-direct-head.compact { border: 0; background: transparent; padding: 0; }
    .frontdesk-direct-head h2 { margin: 0 0 4px; font-size: 17px; color: #243832; }
    .frontdesk-direct-head p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
    .frontdesk-direct-block { display: grid; gap: 7px; }
    .frontdesk-direct-title { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; flex-wrap: wrap; color: #344054; font-size: 12px; }
    .frontdesk-direct-title strong { color: #243832; font-size: 13px; }
    .frontdesk-direct-title span { color: var(--muted); }
    .frontdesk-type-card { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; border: 1px solid #dce7ef; border-radius: 7px; background: #f8fafc; padding: 6px; min-width: 0; }
    .frontdesk-type-card.active { border-color: #8ab8a7; background: #f4fbf7; box-shadow: inset 0 0 0 1px rgba(24, 116, 95, .08); }
    .frontdesk-type-main, .frontdesk-type-todo { border: 0; border-radius: 6px; background: transparent; padding: 4px 3px; text-align: left; font: inherit; cursor: pointer; color: #243832; min-width: 0; }
    .frontdesk-type-main:hover, .frontdesk-type-todo:hover { background: rgba(24, 116, 95, .08); }
    .frontdesk-type-main strong { display: block; font-size: 13px; margin-bottom: 4px; overflow-wrap: anywhere; }
    .frontdesk-type-main span, .frontdesk-type-todo span { color: var(--muted); font-size: 11px; }
    .frontdesk-type-todo { display: flex; justify-content: space-between; gap: 5px; align-items: center; border-top: 1px dashed #d9e5dd; padding-top: 5px; }
    .frontdesk-type-todo b { color: #a55d00; font-size: 11px; }
    .frontdesk-type-todo.is-empty { cursor: default; opacity: .68; }
    .frontdesk-type-todo.is-empty:hover { background: transparent; }
    .frontdesk-search { display: grid; gap: 4px; border: 1px solid #dce7ef; border-radius: 7px; background: #fff; padding: 7px 9px; min-width: 0; }
    .frontdesk-search label { font-size: 11px; color: var(--muted); font-weight: 800; }
    .frontdesk-search input { border: 0; padding: 0; min-height: 24px; background: transparent; font: inherit; outline: 0; }
    .frontdesk-filter-banner { grid-column: 1 / -1; border: 1px solid #d6e8df; border-radius: 7px; background: #fbfdfc; padding: 8px 9px; display: flex; justify-content: space-between; gap: 8px; align-items: center; flex-wrap: wrap; color: #344054; font-size: 12px; }
    .frontdesk-filter-banner strong { color: #10634e; }
    .frontdesk-todo-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-bottom: 10px; }
    .frontdesk-todo-card { border: 1px solid #dce7ef; border-left: 4px solid #b7cbc3; border-radius: 7px; background: #fff; padding: 9px; text-align: left; font: inherit; color: inherit; min-width: 0; cursor: pointer; display: grid; gap: 6px; }
    .frontdesk-todo-card:hover, .frontdesk-todo-card.active { border-color: #9fc6b6; border-left-color: var(--brand); background: #f8fcfa; box-shadow: 0 5px 14px rgba(45, 79, 63, .08); }
    .frontdesk-todo-card.red { border-left-color: var(--red); background: #fffafa; }
    .frontdesk-todo-card.amber { border-left-color: #d28a22; background: #fffdf8; }
    .frontdesk-todo-card.green { border-left-color: #22a06b; background: #fbfffc; }
    .frontdesk-todo-card strong { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; color: #26352f; font-size: 13px; }
    .frontdesk-todo-card strong b { font-size: 20px; line-height: 1; color: #20302b; }
    .frontdesk-todo-card span { color: var(--muted); font-size: 11px; line-height: 1.35; overflow-wrap: anywhere; }
    .frontdesk-todo-card.compact { min-height: 58px; }
    .frontdesk-todo-card.compact strong { align-items: center; }
    .frontdesk-todo-card.compact strong b { font-size: 22px; }
    .frontdesk-stage-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; grid-column: 1 / -1; }
    .frontdesk-owner-tabs { display: flex; flex-wrap: wrap; gap: 6px; grid-column: 1 / -1; }
    .frontdesk-owner-tab { border: 1px solid #dce7ef; border-radius: 7px; background: #fff; padding: 7px 10px; font: inherit; color: #344054; cursor: pointer; min-height: 34px; }
    .frontdesk-owner-tab.active, .frontdesk-owner-tab:hover { border-color: #7fb09a; background: #f4fbf7; color: #10634e; box-shadow: inset 0 0 0 1px rgba(24, 116, 95, .08); }
    .frontdesk-stage-tab { border: 1px solid #dce7ef; border-radius: 7px; background: #f8fafc; padding: 9px; text-align: left; font: inherit; color: inherit; cursor: pointer; min-width: 0; }
    .frontdesk-stage-tab:hover, .frontdesk-stage-tab.active { border-color: #8ab8a7; background: #f4fbf7; box-shadow: inset 0 0 0 1px rgba(24, 116, 95, .08); }
    .frontdesk-stage-tab strong { display: block; font-size: 13px; color: #243832; margin-bottom: 3px; }
    .frontdesk-stage-tab span { display: block; color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
    .frontdesk-stage-tab.compact strong { margin-bottom: 0; }
    .frontdesk-home-sections { display: grid; gap: 12px; }
    .frontdesk-home-section { border: 1px solid #e4eaf0; border-radius: 7px; background: #fff; padding: 10px; min-width: 0; }
    .frontdesk-home-section-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: start; margin-bottom: 9px; }
    .frontdesk-home-section-head h3 { margin: 0 0 4px; font-size: 15px; color: #243832; }
    .frontdesk-home-section-head p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
    .frontdesk-home-stats { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
    .frontdesk-home-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
    .frontdesk-home-records { border: 1px solid #edf1f5; border-radius: 7px; overflow: hidden; }
    .frontdesk-action-groups, .frontdesk-flow-board, .frontdesk-customer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 9px; }
    .frontdesk-flow-board.type-prospect { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
    .frontdesk-flow-board.type-pendingAdmission, .frontdesk-flow-board.type-inhouse, .frontdesk-flow-board.type-discharged { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
    .frontdesk-inhouse-alerts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 10px; }
    .frontdesk-inhouse-alert { border: 1px solid #dce7ef; border-radius: 7px; background: #f8fafc; padding: 9px; min-width: 0; text-align: left; font: inherit; color: inherit; }
    button.frontdesk-inhouse-alert { cursor: pointer; }
    button.frontdesk-inhouse-alert:hover { border-color: #8ab8a7; box-shadow: 0 5px 14px rgba(45, 79, 63, .08); }
    .frontdesk-inhouse-alert strong { display: block; font-size: 18px; line-height: 1.1; color: #20302b; }
    .frontdesk-inhouse-alert span { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; overflow-wrap: anywhere; }
    .frontdesk-inhouse-alert.alert-warn { border-color: #f1d39a; background: #fffaf0; }
    .frontdesk-inhouse-alert.alert-risk { border-color: #f1b8aa; background: #fff7f5; }
    .frontdesk-inhouse-alert.alert-ok { border-color: #cfe7d8; background: #f6fbf7; }
    .frontdesk-action-group, .frontdesk-flow-col, .frontdesk-customer-card { border: 1px solid #e4eaf0; border-radius: 7px; background: #fbfdfc; padding: 10px; min-width: 0; }
    .frontdesk-action-group h4, .frontdesk-flow-col h4 { margin: 0 0 7px; color: #26352f; font-size: 13px; }
    .frontdesk-action-group .frontdesk-home-actions { margin-bottom: 0; }
    .frontdesk-flow-col { display: grid; gap: 7px; align-content: start; background: #fff; }
    .frontdesk-flow-card { border: 1px solid #edf1f5; border-left: 4px solid #b7cbc3; border-radius: 7px; background: #fff; padding: 8px; min-width: 0; cursor: pointer; }
    .frontdesk-flow-card:hover, .frontdesk-flow-card.selected { border-color: #9fc6b6; border-left-color: var(--brand); background: #f8fcfa; }
    .frontdesk-flow-card strong, .frontdesk-customer-card strong { display: block; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .frontdesk-flow-card span, .frontdesk-customer-card span { display: block; color: var(--muted); font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
    .frontdesk-customer-card { display: grid; gap: 7px; background: #fff; }
    .frontdesk-customer-card { cursor: pointer; }
    .frontdesk-customer-card:hover, .frontdesk-customer-card.selected { border-color: #9fc6b6; background: #f8fcfa; }
    .frontdesk-customer-card .todo-actions { justify-content: flex-start; }
    .frontdesk-next-actions { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
    .frontdesk-quick-strip { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 10px; }
    .frontdesk-recent-list { display: grid; gap: 7px; }
    .frontdesk-recent-item { border: 1px solid #edf1f5; border-radius: 7px; background: #fff; padding: 8px; min-width: 0; cursor: pointer; }
    .frontdesk-recent-item:hover { border-color: #9fc6b6; background: #f8fcfa; }
    .frontdesk-recent-item strong { display: block; font-size: 13px; color: #26352f; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .frontdesk-recent-item span { display: block; color: var(--muted); font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
    .frontdesk-timeline { display: grid; gap: 10px; margin-top: 12px; border: 1px solid #dfe7ec; border-radius: 8px; background: #fff; padding: 10px; }
    .frontdesk-timeline-head { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; flex-wrap: wrap; }
    .frontdesk-timeline-head h4 { margin: 0 0 3px; font-size: 14px; color: #243832; }
    .frontdesk-timeline-head p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
    .frontdesk-timeline-list { display: grid; gap: 7px; }
    .frontdesk-timeline-group { display: grid; gap: 6px; }
    .frontdesk-timeline-group-title { display: flex; justify-content: space-between; align-items: center; gap: 8px; color: #344054; font-size: 12px; font-weight: 800; padding: 2px 2px 0; }
    .frontdesk-timeline-group-title span { color: var(--muted); font-size: 11px; font-weight: 700; }
    .frontdesk-timeline-item { display: grid; grid-template-columns: 92px minmax(0, 1fr) auto; gap: 8px; align-items: center; border: 1px solid #edf1f5; border-radius: 7px; background: #fff; padding: 8px; }
    .frontdesk-timeline-item strong { display: block; font-size: 13px; color: #26352f; }
    .frontdesk-timeline-item span { color: var(--muted); font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
    .frontdesk-detail-hero { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; align-items: start; border: 1px solid #dce9e2; border-left: 4px solid var(--brand); border-radius: 8px; background: #fbfdfc; padding: 10px; min-width: 0; }
    .frontdesk-detail-title { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; flex-wrap: wrap; }
    .frontdesk-detail-title h4 { margin: 0; color: #243832; font-size: 16px; line-height: 1.25; overflow-wrap: break-word; word-break: normal; }
    .frontdesk-detail-tags { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; justify-content: flex-end; }
    .frontdesk-detail-meta { display: grid; gap: 3px; margin-top: 6px; color: var(--muted); font-size: 12px; line-height: 1.45; }
    .frontdesk-detail-meta span { overflow-wrap: anywhere; }
    .frontdesk-detail-actions { justify-content: flex-start; margin-top: 0; min-width: 0; width: 100%; }
    .frontdesk-detail-actions .btn { min-height: 30px; flex: 0 1 auto; }
    .frontdesk-detail-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
    .frontdesk-summary-item { border: 1px solid #e4eaf0; border-radius: 7px; background: #f8fafc; padding: 8px; min-width: 0; }
    .frontdesk-summary-item b { display: block; margin-bottom: 3px; color: #667085; font-size: 11px; line-height: 1.25; }
    .frontdesk-summary-item span { display: block; color: #26352f; font-size: 13px; font-weight: 800; line-height: 1.35; overflow-wrap: anywhere; }
    .frontdesk-summary-item.green { border-color: #cfe7d8; background: #f6fbf7; }
    .frontdesk-summary-item.amber { border-color: #f1d39a; background: #fffaf0; }
    .frontdesk-summary-item.red { border-color: #f1b8aa; background: #fff7f5; }
    .frontdesk-summary-item.blue { border-color: #cfe0f6; background: #f7fbff; }
    .frontdesk-detail-section { display: grid; gap: 8px; border-top: 1px solid #eef2f4; padding-top: 10px; min-width: 0; }
    .frontdesk-section-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; flex-wrap: wrap; }
    .frontdesk-section-head strong { color: #26352f; font-size: 13px; }
    .frontdesk-section-head span { color: var(--muted); font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
    .frontdesk-detail-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 8px; }
    .frontdesk-detail-card { display: grid; gap: 8px; border: 1px solid #e1e8ee; border-radius: 8px; background: #fff; padding: 9px; min-width: 0; }
    .frontdesk-detail-card h5 { margin: 0; display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #26352f; font-size: 13px; }
    .frontdesk-detail-card .meta { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.4; }
    .frontdesk-detail-fields { display: grid; gap: 5px; }
    .frontdesk-detail-field { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 6px; font-size: 12px; line-height: 1.45; color: #344054; }
    .frontdesk-detail-field b { color: #667085; font-size: 12px; }
    .frontdesk-detail-field span { color: #26352f; overflow-wrap: anywhere; white-space: pre-wrap; }
    .frontdesk-detail-card .record-actions { display: flex; flex-wrap: wrap; gap: 6px; }
    .frontdesk-plan-card { display: grid; gap: 8px; border: 1px solid #dce9e2; border-left: 4px solid var(--brand); border-radius: 8px; background: #fbfdfc; padding: 10px; min-width: 0; }
    .frontdesk-strategy-stack { display: grid; gap: 8px; }
    .frontdesk-plan-card.saved { border-color: #cfe0f6; border-left-color: #2f80ed; background: #f7fbff; }
    .frontdesk-plan-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: start; }
    .frontdesk-plan-head strong { display: block; color: #243832; font-size: 14px; line-height: 1.35; overflow-wrap: anywhere; }
    .frontdesk-plan-head span { color: var(--muted); font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
    .frontdesk-plan-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
    .frontdesk-plan-item { border: 1px solid #e4eaf0; border-radius: 7px; background: #fff; padding: 8px; min-width: 0; }
    .frontdesk-plan-item b { display: block; color: #667085; font-size: 11px; margin-bottom: 3px; }
    .frontdesk-plan-item span { display: block; color: #26352f; font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
    .frontdesk-plan-actions { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
    .frontdesk-card-plan { margin-top: 5px; border-top: 1px dashed #d9e5dd; padding-top: 5px; color: #344054; font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
    .frontdesk-card-plan b { color: #10634e; }
    .frontdesk-followup-detail { margin-top: 7px; display: grid; gap: 7px; border: 1px solid #dce9e2; border-radius: 7px; background: #fbfdfc; padding: 8px; }
    .frontdesk-followup-detail.is-editable { cursor: pointer; touch-action: manipulation; }
    .frontdesk-followup-detail p { margin: 0; color: #26352f; font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; white-space: pre-wrap; }
    .frontdesk-followup-meta { display: flex; flex-wrap: wrap; gap: 5px; }
    .frontdesk-followup-image { display: grid; gap: 5px; align-items: start; }
    .frontdesk-followup-image strong { font-size: 12px; }
    .frontdesk-followup-image .record-thumb { width: min(180px, 52vw); height: 120px; }
    .frontdesk-followup-actions { position: relative; z-index: 3; display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
    .frontdesk-followup-actions .btn { width: 100%; pointer-events: auto; touch-action: manipulation; }
    .frontdesk-finance-confirm { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
    .frontdesk-finance-confirm .tag { margin-right: 5px; }
    .frontdesk-service-card { display: grid; gap: 10px; border: 1px solid #d6e8df; border-left: 4px solid var(--brand); border-radius: 8px; background: #fbfdfc; padding: 10px; }
    .frontdesk-service-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: start; }
    .frontdesk-service-head strong { display: block; font-size: 14px; color: #243832; }
    .frontdesk-service-head span { display: block; color: var(--muted); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
    .frontdesk-service-stage-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)); gap: 7px; }
    .frontdesk-service-step { border: 1px solid #e4eaf0; border-radius: 7px; background: #fff; padding: 8px; display: grid; gap: 4px; min-width: 0; }
    .frontdesk-service-step.done { border-color: #cfe7d8; background: #f6fbf7; }
    .frontdesk-service-step.pending { border-color: #f1d39a; background: #fffaf0; }
    .frontdesk-service-step.risk { border-color: #f1b8aa; background: #fff7f5; }
    .frontdesk-service-step strong { color: #26352f; font-size: 12px; overflow-wrap: anywhere; }
    .frontdesk-service-step span { color: var(--muted); font-size: 11px; line-height: 1.35; overflow-wrap: anywhere; }
    .frontdesk-service-lines { display: grid; gap: 6px; }
    .frontdesk-service-line { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 7px; align-items: start; color: #344054; font-size: 12px; line-height: 1.45; }
    .frontdesk-service-line b { color: #26352f; font-size: 12px; }
    .frontdesk-cross-timeline { display: grid; gap: 7px; border: 1px dashed #d8e3dd; border-radius: 7px; background: #fff; padding: 8px; }
    .frontdesk-cross-timeline-title { display: flex; justify-content: space-between; gap: 8px; align-items: center; color: #26352f; font-size: 12px; font-weight: 800; }
    .frontdesk-cross-timeline .frontdesk-timeline-item { grid-template-columns: 82px minmax(0, 1fr) auto; }
    .frontdesk-mobile-action-bar { display: none; }
    .frontdesk-clean-shell { display: grid; grid-template-columns: minmax(230px, .75fr) minmax(0, 1.25fr); gap: 10px; align-items: start; min-height: 62vh; }
    .frontdesk-clean-list, .frontdesk-clean-detail { min-width: 0; }
    .frontdesk-clean-list { display: grid; gap: 7px; align-content: start; }
    .frontdesk-clean-help { border: 1px dashed #cfded7; border-radius: 7px; background: #fbfdfc; padding: 10px; color: #344054; font-size: 12px; line-height: 1.5; }
    .frontdesk-clean-card { border: 1px solid #e4eaf0; border-left: 4px solid #c9ddd6; border-radius: 7px; background: #fff; padding: 8px; min-width: 0; cursor: pointer; }
    .frontdesk-clean-card:hover, .frontdesk-clean-card.selected { border-color: #9fc6b6; border-left-color: var(--brand); background: #f8fcfa; }
    .frontdesk-clean-card strong { display: block; font-size: 13px; color: #26352f; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .frontdesk-clean-card span { display: block; color: var(--muted); font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
    .frontdesk-clean-card .frontdesk-card-main { display: grid; gap: 4px; margin-top: 4px; }
    .frontdesk-clean-card .frontdesk-card-main span { color: #475467; }
    .frontdesk-clean-card .todo-actions { justify-content: flex-start; margin-top: 5px; }
    .frontdesk-clean-actions { margin-bottom: 10px; }
    .frontdesk-card-footer { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 7px; }
    .frontdesk-card-actions { display: flex; flex-wrap: wrap; gap: 5px; justify-content: flex-end; }
    .frontdesk-card-footer .todo-actions { margin-top: 0; }
    .frontdesk-priority-panel { border: 1px solid #ead7b5; border-left: 4px solid #d28a22; border-radius: 7px; background: #fffdf8; padding: 10px; margin-bottom: 10px; display: grid; gap: 8px; }
    .frontdesk-priority-head { display: flex; justify-content: space-between; gap: 8px; align-items: center; flex-wrap: wrap; }
    .frontdesk-priority-head strong { color: #26352f; font-size: 13px; }
    .frontdesk-priority-list { display: grid; gap: 7px; }
    .frontdesk-priority-card { border: 1px solid #f0dfbf; border-radius: 7px; background: #fff; padding: 8px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; }
    .frontdesk-priority-card strong { display: block; color: #26352f; font-size: 13px; overflow-wrap: anywhere; }
    .frontdesk-priority-card span { display: block; color: var(--muted); font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
    .frontdesk-more-button { justify-self: center; margin-top: 2px; }
    .hr-dashboard { border-color: #b8d9cb; background: #fbfefd; }
    .hr-dashboard .panel-head { background: #f1f8f4; }
    .hr-dashboard .panel-head h2 { font-size: 18px; }
    .hr-dashboard-grid { display: grid; grid-template-columns: minmax(300px, .95fr) minmax(320px, 1.05fr); gap: 12px; align-items: start; margin-top: 12px; }
    .hr-dashboard .kpis { margin-bottom: 0; }
    .hr-headcount-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hr-list-title { margin: 0 0 8px; font-size: 13px; font-weight: 800; color: #26352f; }
    .hr-priority { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px 12px; border: 1px solid #edf1f5; border-radius: 6px; background: #fff; margin-bottom: 8px; }
    .hr-priority strong { display: block; font-size: 13px; }
    .hr-priority span { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; line-height: 1.35; }
    .hr-priority.red { border-left: 4px solid var(--red); background: #fff9f7; }
    .hr-priority.amber { border-left: 4px solid #d28a22; background: #fffdf8; }
    .hr-priority.green { border-left: 4px solid #45a273; }
    .hr-priority-next { display: flex; align-items: center; justify-content: flex-end; gap: 7px; }
    .hr-priority-next .tag { margin: 0; white-space: nowrap; }
    .hr-data-status { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
    .hr-data-status > div { display: grid; gap: 3px; min-width: 0; }
    .hr-data-status.ready { border-color: #b9ddcd; background: #f5fbf8; }
    .hr-data-status.loading { border-color: #d9e5ee; background: #f8fafc; }
    .hr-data-status.error { border-color: #f0c2b9; background: #fff7f5; }
    .hr-data-status.error strong { color: var(--red); }
    .hr-today-list { display: grid; gap: 8px; }
    .hr-today-item { width: 100%; min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: center; border: 1px solid #e4eaf0; border-left: 4px solid #b8c9c1; border-radius: 7px; background: #fff; padding: 10px 11px; color: inherit; font: inherit; text-align: left; cursor: pointer; }
    .hr-today-item:hover, .hr-today-item:focus-visible { border-color: #8ab8a7; border-left-color: var(--brand); background: #f8fcfa; outline: 0; box-shadow: 0 5px 14px rgba(45, 79, 63, .08); }
    .hr-today-item.has-work { border-left-color: #d28a22; }
    .hr-today-item.load-error { border-left-color: var(--red); background: #fff8f6; }
    .hr-today-rank { align-self: start; min-width: 30px; border-radius: 999px; background: #eef5f1; color: #20634f; padding: 3px 7px; font-size: 11px; font-weight: 900; text-align: center; }
    .hr-today-copy { min-width: 0; }
    .hr-today-copy strong { display: block; color: #26352f; font-size: 13px; overflow-wrap: anywhere; }
    .hr-today-copy span { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
    .hr-today-count { white-space: nowrap; align-self: start; }
    .hr-home-footer { margin-top: 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid #e7eee9; padding-top: 10px; }
    .hr-home-footer span { color: var(--muted); font-size: 12px; line-height: 1.45; }
    .import-panel { display: none; margin: 8px 0 12px; border: 1px solid #d7e7de; background: #fbfefd; border-radius: 7px; padding: 10px; }
    .import-panel.active { display: block; }
    .import-summary { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; margin-bottom: 8px; }
    .import-panel .table-wrap { max-height: 280px; border: 1px solid #edf1f5; border-radius: 6px; }
    .import-panel table { min-width: 980px; }
    .import-note { color: var(--muted); font-size: 12px; line-height: 1.45; margin: 6px 0 0; }
    .owner-dashboard { border-color: #c9ddd6; background: #fbfefd; }
    .owner-dashboard .panel-head { background: #f1f8f4; }
    body[data-role="owner"] #kpiGrid { display: none !important; }
    .owner-dashboard .panel-body { display: grid; gap: 12px; }
    .owner-dashboard .kpis { margin-bottom: 0; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
    .owner-command-strip { border: 1px solid #d6e7df; border-radius: 8px; background: #f7fbf9; padding: 12px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; }
    .owner-command-main { display: grid; gap: 5px; min-width: 0; }
    .owner-command-main strong { font-size: 17px; color: #20382f; overflow-wrap: anywhere; }
    .owner-command-main span { color: var(--muted); font-size: 12px; line-height: 1.45; }
    .owner-command-score { min-width: 112px; border: 1px solid #dceae3; border-radius: 8px; background: #fff; padding: 9px 10px; text-align: center; }
    .owner-command-score .value { display: block; font-size: 24px; font-weight: 900; line-height: 1.1; color: #bf3f2f; }
    .owner-command-score span { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; }
    .owner-daily-close { border-left: 4px solid #2f7d62; background: #f8fcfa; }
    .owner-daily-close .owner-alert-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
    .owner-close-list { display: grid; gap: 8px; }
    .owner-close-row { border: 1px solid #e5edf2; border-radius: 7px; background: #fff; padding: 10px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; color: inherit; font: inherit; text-align: left; }
    button.owner-close-row { width: 100%; cursor: pointer; }
    button.owner-close-row:hover { border-color: #7fb09a; box-shadow: 0 6px 16px rgba(45, 79, 63, .1); transform: translateY(-1px); }
    .owner-close-row strong { display: block; color: #24362e; font-size: 13px; overflow-wrap: anywhere; }
    .owner-close-row span { display: block; color: var(--muted); font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
    .finance-close-overview { border-left: 4px solid #2f7d62; }
    .finance-close-overview .kpis { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
    .owner-actions { position: sticky; top: 0; z-index: 4; border: 1px solid #dceae3; border-radius: 8px; background: rgba(248, 252, 250, .96); padding: 8px; box-shadow: 0 8px 20px rgba(15, 23, 42, .06); }
    .owner-focus-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
    .owner-stage { border: 1px solid #e4eaf0; border-radius: 8px; background: #fff; padding: 12px; display: grid; gap: 10px; min-width: 0; }
    .owner-stage-risk { border-color: #ead7b5; border-left: 4px solid #d28a22; background: #fffdf8; }
    .owner-stage .workbench-section-title { margin: 0; }
    .owner-stage-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; }
    .owner-stage-head .workbench-section-title { min-width: 0; }
    .owner-unified-home { display: grid; gap: 12px; }
    .owner-mobile-home { display: none; }
    .owner-account-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
    .owner-account-card { display: grid; gap: 5px; min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: #f8fbfa; }
    .owner-account-card span, .owner-account-card small { color: var(--muted); }
    .owner-account-card strong { overflow-wrap: anywhere; font-size: 16px; }
    .owner-core-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
    .owner-core-card { border: 1px solid #dfe9e4; border-radius: 9px; background: #fff; padding: 13px; display: grid; gap: 6px; min-width: 0; color: inherit; text-align: left; font: inherit; }
    button.owner-core-card { cursor: pointer; }
    button.owner-core-card:hover { border-color: #7fb09a; box-shadow: 0 7px 18px rgba(45, 79, 63, .1); transform: translateY(-1px); }
    button.owner-core-card:focus-visible, button.owner-layer-row:focus-visible { outline: 2px solid #7fb09a; outline-offset: 2px; }
    .owner-core-card.red { border-left: 4px solid #c9473a; background: #fffafa; }
    .owner-core-card.amber { border-left: 4px solid #d28a22; background: #fffdf8; }
    .owner-core-card.green { border-left: 4px solid #2f7d62; background: #f8fcfa; }
    .owner-core-card.blue { border-left: 4px solid #4279a8; background: #f8fbff; }
    .owner-core-card span { color: var(--muted); font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
    .owner-core-card strong { font-size: 13px; color: #344054; }
    .owner-core-card .value { color: #172b22; font-size: 26px; font-weight: 900; line-height: 1.05; overflow-wrap: anywhere; }
    .owner-core-card .owner-card-link-hint { color: var(--brand); font-weight: 800; }
    .owner-trend-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
    .owner-trend-card { border: 1px solid #e4eaf0; border-radius: 8px; background: #fbfdfc; padding: 11px; display: grid; gap: 7px; min-width: 0; }
    .owner-trend-card h3 { margin: 0; font-size: 14px; }
    .owner-trend-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
    .owner-trend-metrics span { border-radius: 6px; background: #fff; padding: 7px; color: var(--muted); font-size: 11px; line-height: 1.35; }
    .owner-trend-metrics strong { display: block; margin-top: 2px; color: #24362e; font-size: 15px; overflow-wrap: anywhere; }
    .owner-target-list, .owner-layer-list { display: grid; gap: 8px; }
    .owner-target-row, .owner-layer-row { border: 1px solid #e6ebef; border-radius: 7px; background: #fff; padding: 10px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; align-items: center; min-width: 0; }
    button.owner-layer-row { width: 100%; cursor: pointer; color: inherit; text-align: left; font: inherit; }
    button.owner-layer-row:hover { border-color: #7fb09a; box-shadow: 0 5px 14px rgba(45, 79, 63, .09); }
    .owner-target-row strong, .owner-layer-row strong { display: block; color: #24362e; font-size: 13px; overflow-wrap: anywhere; }
    .owner-target-row span, .owner-layer-row span { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
    .owner-completion-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .owner-completion-detail { border-top: 1px dashed #d9e4df; padding-top: 10px; display: grid; gap: 9px; }
    .owner-completion-detail[hidden] { display: none; }
    .owner-risk-layers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; align-items: start; }
    .owner-detail-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    .review-board { display: grid; gap: 10px; margin-top: 10px; }
    .review-lanes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
    .review-lane { border: 1px solid #e2e9ef; border-radius: 8px; background: #fbfdfc; padding: 10px; display: grid; gap: 8px; align-content: start; min-width: 0; }
    .review-lane h3 { margin: 0; display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 14px; }
    .review-card { border: 1px solid #e4eaf0; border-radius: 7px; background: #fff; padding: 9px; display: grid; gap: 7px; min-width: 0; }
    .review-card strong { font-size: 13px; color: var(--text); overflow-wrap: anywhere; }
    .review-card .meta { margin: 0; }
    .review-card .review-diff { color: var(--muted); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
    .review-card .record-actions { justify-content: flex-start; }
    .owner-alert-panel { border: 0; border-radius: 0; background: transparent; padding: 0; margin-bottom: 0; }
    .owner-alert-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 8px; }
    .owner-alert-item { border: 1px solid #edf1f5; border-radius: 7px; background: #fff; padding: 10px; display: grid; gap: 4px; min-width: 0; text-align: left; color: inherit; font: inherit; }
    button.owner-alert-item { cursor: pointer; }
    button.owner-alert-item:hover, button.owner-alert-item.selected { border-color: #7fb09a; box-shadow: 0 6px 16px rgba(45, 79, 63, .1); transform: translateY(-1px); }
    .owner-alert-item strong { font-size: 13px; }
    .owner-alert-item .value { font-size: 20px; font-weight: 800; }
    .owner-alert-item span { color: var(--muted); font-size: 12px; line-height: 1.4; }
    .owner-board { grid-template-columns: repeat(2, minmax(min(320px, 100%), 1fr)); }
    .owner-board-single { grid-template-columns: 1fr; }
    .owner-board-compact { margin: 0; }
    .owner-board .task-col { min-height: 170px; }
    .owner-board .workbench-row { padding: 9px 0; }
    .owner-decision-list { display: grid; gap: 8px; }
    .owner-decision-row { border: 1px solid #edf1f5; border-radius: 7px; background: #fff; padding: 10px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; color: inherit; font: inherit; text-align: left; }
    button.owner-decision-row { width: 100%; cursor: pointer; }
    button.owner-decision-row:hover { border-color: #7fb09a; box-shadow: 0 6px 16px rgba(45, 79, 63, .1); transform: translateY(-1px); }
    .owner-decision-row strong { display: block; font-size: 13px; color: #24362e; overflow-wrap: anywhere; }
    .owner-decision-row span { display: block; color: var(--muted); font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
    .owner-decision-row .meta { margin-top: 4px; color: #516172; }
    .owner-risk-list { display: grid; gap: 8px; }
    .owner-risk-row { border: 1px solid #edf1f5; border-radius: 7px; background: #fff; padding: 10px; display: grid; gap: 5px; }
    .owner-risk-row strong { font-size: 13px; color: #24362e; overflow-wrap: anywhere; }
    .owner-risk-row span { color: var(--muted); font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
    .owner-trace-details { border: 1px dashed #d8e3dd; border-radius: 7px; background: #fbfefd; margin-top: 0; padding: 9px 10px; }
    .owner-trace-details summary { cursor: pointer; color: #10634e; font-size: 12px; font-weight: 800; }
    .owner-trace-subtitle { margin: 8px 0 4px; color: var(--muted); font-size: 12px; font-weight: 800; }
    .owner-row-value { font-weight: 800; white-space: nowrap; }
    .manager-ops-panel .panel-body { display: grid; gap: 12px; }
    .manager-section-nav { position: relative; z-index: 4; display: grid; grid-template-columns: minmax(150px, auto) minmax(0, 1fr) auto; gap: 8px; align-items: stretch; padding: 8px; border: 1px solid #e1e8ed; border-radius: 8px; background: #f8fafb; }
    .manager-section-current { min-width: 0; display: grid; align-content: center; gap: 1px; padding: 0 6px; }
    .manager-section-current span { color: var(--muted); font-size: 11px; }
    .manager-section-current strong { color: #20302b; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .manager-section-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
    .manager-section-links button, .manager-section-more summary, .manager-section-more-group button { min-height: 36px; border: 1px solid #d8e2e8; border-radius: 6px; background: #fff; color: #344054; padding: 7px 9px; cursor: pointer; font-size: 12px; font-weight: 700; }
    .manager-section-links button:hover, .manager-section-more summary:hover, .manager-section-more-group button:hover { border-color: #8ab8a7; color: #10634e; background: #f8fcfa; }
    .manager-section-more { position: relative; min-width: 72px; }
    .manager-section-more > summary { height: 100%; min-height: 36px; list-style: none; display: grid; place-items: center; }
    .manager-section-more > summary::-webkit-details-marker { display: none; }
    .manager-section-more[open] > summary { border-color: #7fb09a; color: #10634e; background: #eef7f4; }
    .manager-section-more-panel { position: absolute; top: calc(100% + 8px); right: 0; width: min(760px, calc(100vw - 286px)); max-height: min(68vh, 620px); overflow: auto; z-index: 25; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 12px; border: 1px solid #cedbd5; border-radius: 9px; background: #fff; box-shadow: var(--shadow-strong); }
    .manager-section-more-group { display: grid; align-content: start; gap: 6px; min-width: 0; }
    .manager-section-more-group > strong { color: #52606d; font-size: 12px; padding: 2px 3px; }
    .manager-section-more-group button { width: 100%; text-align: left; overflow-wrap: anywhere; }
    .manager-stage-note { margin: 5px 0 10px; color: var(--muted); font-size: 12px; line-height: 1.5; }
    .manager-all-departments { margin-top: 9px; border-top: 1px solid #e8edf1; padding-top: 8px; }
    .manager-all-departments > summary { cursor: pointer; color: #475467; font-size: 12px; font-weight: 800; list-style-position: inside; }
    .manager-all-departments[open] > summary { margin-bottom: 8px; }
    .manager-detail-actions { justify-content: flex-end; margin: 0 9px 8px; }
    .manager-fold summary.workbench-section-title { cursor: pointer; list-style: none; margin: 0; }
    .manager-fold summary.workbench-section-title::-webkit-details-marker { display: none; }
    .manager-role-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; }
    .manager-role-card { border: 1px solid #e4eaf0; border-radius: 8px; background: #fff; padding: 10px; display: grid; gap: 8px; min-width: 0; }
    .manager-role-card h3 { margin: 0; font-size: 14px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
    .manager-role-card .meta { display: block; line-height: 1.45; }
    .manager-mini-list { display: grid; gap: 6px; }
    .manager-mini-list span { display: flex; justify-content: space-between; gap: 8px; border-top: 1px dashed #edf1f5; padding-top: 5px; color: var(--muted); font-size: 12px; }
    .manager-flow-names { color: var(--muted); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
    .manager-dept-entry-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(148px, 1fr)); gap: 8px; }
    .manager-dept-entry { border: 1px solid #dce7ef; border-radius: 7px; background: #fff; padding: 10px; min-height: 72px; text-align: left; color: inherit; font: inherit; display: grid; gap: 4px; align-content: start; min-width: 0; }
    .manager-dept-entry.has-issues { border-color: #efcf9f; background: #fffbf3; }
    .manager-dept-entry.is-clear { border-color: #e7ecef; background: #fbfcfd; }
    .manager-dept-entry:hover { border-color: #8ab8a7; border-left-color: var(--brand); background: #f8fcfa; box-shadow: 0 5px 14px rgba(45, 79, 63, .08); }
    .manager-dept-entry strong { color: #20302b; font-size: 14px; line-height: 1.25; overflow-wrap: anywhere; }
    .manager-dept-entry span { color: var(--muted); font-size: 12px; line-height: 1.35; overflow-wrap: anywhere; }
    .manager-overview-stage { border-color: #dce6e1; background: #fbfefd; }
    .manager-overview-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
    .manager-overview-card { position: relative; border: 1px solid #e1e7eb; border-radius: 8px; background: #fff; padding: 12px; display: grid; gap: 5px; text-align: left; color: inherit; font: inherit; min-width: 0; cursor: pointer; }
    .manager-overview-card:hover { border-color: #87b5a5; box-shadow: 0 6px 16px rgba(45, 79, 63, .09); transform: translateY(-1px); }
    .manager-overview-card.tone-amber { border-color: #efcf9f; background: #fffbf3; }
    .manager-overview-card.tone-red { border-color: #efb2ad; background: #fff8f7; }
    .manager-overview-card.tone-green { border-color: #cfe3d9; background: #f8fcfa; }
    .manager-overview-card strong { color: #20302b; font-size: 13px; line-height: 1.3; }
    .manager-overview-card .value { color: #172033; font-size: 26px; font-weight: 900; line-height: 1.08; font-variant-numeric: tabular-nums; }
    .manager-overview-card span { color: var(--muted); font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
    .manager-dept-card-grid { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
    .manager-dept-entry .manager-dept-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
    .manager-dept-entry .manager-dept-value { font-size: 24px; font-weight: 900; color: #172033; line-height: 1; }
    .manager-dept-entry .manager-dept-meta { display: grid; gap: 2px; }
    .manager-dept-entry .manager-dept-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; margin-top: 4px; }
    .manager-dept-entry .manager-dept-metrics span { border: 1px solid #edf1f5; border-radius: 6px; background: #fbfdff; padding: 5px 6px; display: flex; justify-content: space-between; gap: 6px; }
    .manager-dept-entry .manager-dept-metrics em { color: var(--muted); font-style: normal; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .manager-dept-entry .manager-dept-metrics b { color: #20302b; font-variant-numeric: tabular-nums; }
    .manager-employee-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 8px; }
    .manager-employee-card { border: 1px solid #e4eaf0; border-radius: 8px; background: #fff; padding: 10px; display: grid; gap: 7px; min-width: 0; }
    .manager-employee-card h3 { margin: 0; display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 14px; }
    .manager-employee-card .meta { margin: 0; line-height: 1.45; overflow-wrap: anywhere; }
    .manager-employee-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
    .manager-employee-latest { border-top: 1px dashed #e7edf3; padding-top: 6px; color: var(--muted); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
    .care-archive-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 9px; }
    .care-archive-card { border: 1px solid #dce7ef; border-left: 4px solid #9fc6b6; border-radius: 8px; background: #fff; padding: 10px; display: grid; gap: 8px; min-width: 0; box-shadow: 0 1px 2px rgba(15, 23, 42, .04); }
    .care-archive-card.active { border-color: #8ab8a7; border-left-color: var(--brand); background: #f8fcfa; box-shadow: 0 0 0 2px rgba(127, 176, 154, .16); }
    .care-archive-card.risk { border-left-color: var(--red); background: #fffafa; }
    .care-archive-card.warn { border-left-color: #d28a22; background: #fffdf8; }
    .care-archive-open { border: 0; background: transparent; color: inherit; font: inherit; text-align: left; padding: 0; cursor: pointer; display: grid; gap: 5px; min-width: 0; }
    .care-archive-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; min-width: 0; }
    .care-archive-head strong { color: #20302b; font-size: 15px; line-height: 1.25; overflow-wrap: anywhere; }
    .care-archive-head span { color: var(--muted); font-size: 12px; line-height: 1.35; text-align: right; flex: 0 0 auto; }
    .care-archive-status { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
    .care-archive-status span, .care-archive-meta span { border: 1px solid #edf1f5; border-radius: 7px; background: #fbfdfc; padding: 7px; color: #475467; font-size: 12px; line-height: 1.35; min-width: 0; overflow-wrap: anywhere; }
    .care-archive-status b, .care-archive-meta b { display: block; color: #26352f; font-size: 13px; margin-bottom: 2px; }
    .care-archive-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
    .care-archive-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
    .care-archive-detail { margin-top: 10px; }
    .care-archive-detail-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 8px; }
    .care-archive-section { border: 1px solid #e4eaf0; border-radius: 8px; background: #fff; padding: 10px; display: grid; gap: 7px; min-width: 0; }
    .care-archive-section h4 { margin: 0; color: #26352f; font-size: 14px; }
    .care-archive-section p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
    .care-archive-timeline { display: grid; gap: 7px; }
    .care-archive-day { border: 1px solid #edf1f5; border-radius: 8px; background: #fbfdfc; padding: 8px; display: grid; gap: 6px; }
    .care-archive-day strong { color: #26352f; font-size: 13px; }
    .care-archive-day span { color: var(--muted); font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
    .care-archive-day-actions { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
    .care-archive-day-actions:empty { display: none; }
    .care-risk-reasons { display: flex; flex-wrap: wrap; gap: 5px; align-items: flex-start; }
    .care-risk-reason { display: inline-flex; max-width: 100%; align-items: center; border: 1px solid #f1b8aa; border-radius: 999px; background: #fff4f2; color: var(--red); padding: 3px 8px; font-size: 12px; font-weight: 800; line-height: 1.35; overflow-wrap: anywhere; white-space: normal; }
    .care-review-note { display: inline-flex; max-width: 100%; border: 1px solid #f3ddaa; border-radius: 999px; background: #fff8e6; color: #9a6500; padding: 3px 8px; font-size: 12px; font-weight: 800; line-height: 1.35; overflow-wrap: anywhere; white-space: normal; }
    @media (max-width: 760px) {
      .care-archive-grid, .care-archive-detail-grid { grid-template-columns: 1fr; }
      .care-archive-meta { grid-template-columns: 1fr; }
      .care-archive-status { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .operation-health-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .operation-health-card { padding: 9px; }
      .operation-health-card .value { font-size: 20px; }
    }
    @media (max-width: 430px) {
      .operation-health-grid { grid-template-columns: 1fr; }
    }
    .hr-information-architecture, .hr-information-architecture .panel-body, .hr-section-panel { min-width: 0; max-width: 100%; }
    .hr-information-architecture .panel-body { display: block !important; }
    .hr-section-tabs { position: sticky; top: 8px; z-index: 8; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 5px; margin: 0 0 12px; padding: 7px; border: 1px solid #dce7e1; border-radius: 8px; background: rgba(248, 252, 250, .97); box-shadow: 0 5px 16px rgba(43, 72, 61, .06); }
    .hr-section-tabs button { min-width: 0; min-height: 38px; border: 1px solid transparent; border-radius: 6px; background: transparent; color: #344054; padding: 7px 6px; font: inherit; font-size: 12px; font-weight: 800; line-height: 1.25; cursor: pointer; overflow-wrap: anywhere; }
    .hr-section-tabs button:hover { border-color: #c8ddd4; background: #fff; }
    .hr-section-tabs button.active, .hr-section-tabs button[aria-selected="true"] { border-color: #79ad98; background: var(--brand); color: #fff; box-shadow: 0 3px 9px rgba(24, 116, 95, .18); }
    .hr-section-panel { display: grid; gap: 12px; }
    .hr-section-panel[hidden] { display: none !important; }
    .hr-section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; border-bottom: 1px solid #e4ece8; padding: 2px 1px 10px; }
    .hr-section-head h3 { margin: 0; color: #26352f; font-size: 17px; }
    .hr-section-head p { margin: 4px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
    .hr-action-strip { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; border: 1px solid #dce9e3; border-radius: 7px; background: #f7fbf9; padding: 10px; }
    .hr-roster-overview { min-width: 0; max-width: 100%; overflow: hidden; border: 1px solid #d6e8df; border-radius: 7px; background: #f9fdfb; padding: 12px; margin-bottom: 0; }
    .hr-roster-overview .table-wrap { width: 100%; max-width: 100%; max-height: 420px; overflow: auto; scrollbar-gutter: stable; }
    .hr-roster-overview table { min-width: 980px; }
    .hr-key-table-wrap { position: relative; border: 1px solid #e3e9ed; border-radius: 6px; background: #fff; scrollbar-width: auto; }
    .hr-key-table-wrap::-webkit-scrollbar, .hr-complete-data .table-wrap::-webkit-scrollbar { height: 14px; width: 11px; }
    .hr-key-table-wrap::-webkit-scrollbar-thumb, .hr-complete-data .table-wrap::-webkit-scrollbar-thumb { background: #77869a; border: 3px solid #edf2f7; border-radius: 999px; }
    .hr-key-table-wrap::-webkit-scrollbar-track, .hr-complete-data .table-wrap::-webkit-scrollbar-track { background: #e4eaf0; border-radius: 999px; }
    .hr-complete-data { background: #fff; }
    .hr-complete-data > summary { cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
    .hr-complete-data .table-wrap { width: 100%; max-width: 100%; max-height: 430px; overflow: auto; scrollbar-gutter: stable; }
    .hr-complete-data table { min-width: 1180px; }
    .table-scroll-note { margin: 8px 0 6px; color: var(--muted); font-size: 12px; line-height: 1.4; }
    .hr-detail-row > td, .hr-record-detail-row > td { padding: 12px !important; background: #f8fbf9 !important; }
    .hr-detail-row[hidden], .hr-record-detail-row[hidden] { display: none !important; }
    .hr-record-detail { border-top: 1px solid #dce8e2; padding: 12px; }
    .hr-record-detail-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
    .hr-record-detail-head strong { color: #26352f; font-size: 13px; }
    .hr-record-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
    .hr-record-detail-field { min-width: 0; border: 1px solid #e4e9ed; border-radius: 6px; background: #fff; padding: 7px 8px; }
    .hr-record-detail-field b, .hr-record-detail-field > span { display: block; margin-bottom: 3px; color: #667085; font-size: 11px; }
    .hr-record-detail-field > strong, .hr-record-detail-field span + span { display: block; color: #26352f; font-size: 12px; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; }
    .hr-record-audit { display: grid; gap: 3px; margin-top: 8px; border-top: 1px solid #dce8e2; padding-top: 8px; }
    .hr-record-audit strong { color: #26352f; font-size: 12px; }
    .hr-record-audit span { color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
    .hr-record-detail-empty { color: var(--muted); font-size: 12px; }
    .hr-attendance-source-status { margin-bottom: 10px; }
    .hr-attendance-range { margin-top: 10px; }
    .hr-purchase-request-details { margin-bottom: 12px; background: #fff; }
    .hr-purchase-request-details > summary { cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
    .hr-purchase-request-details > .section-actions { margin: 8px 0; }
    .hr-departed-history-panel { margin-top: 12px; background: #fff; }
    .hr-departed-history-panel[hidden] { display: none !important; }
    .hr-departed-history-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
    .hr-departed-history-head > div { display: grid; gap: 3px; }
    .hr-departed-history-panel .table-wrap { max-height: 280px; }
    .hr-departed-history-panel table { min-width: 980px; }
    .stock-balance-overview { border: 1px solid #d6e8df; border-radius: 7px; background: #f9fdfb; padding: 12px; margin-bottom: 12px; }
    .stock-balance-overview .table-wrap { max-height: 340px; }
    .stock-balance-overview table { min-width: 880px; }
    .lead-record-overview, .room-stay-overview, .rehab-record-overview, .gift-entitlement-overview, .water-account-overview, .water-file-overview, .water-sale-overview, .water-coupon-overview, .water-goods-overview, .water-booking-overview, .water-service-overview, .water-sanitation-overview { min-width: 0; max-width: 100%; overflow: hidden; border: 1px solid #d6e8df; border-radius: 7px; background: #f9fdfb; padding: 12px; margin-bottom: 12px; }
    .lead-record-overview .table-wrap, .room-stay-overview .table-wrap, .rehab-record-overview .table-wrap, .gift-entitlement-overview .table-wrap, .water-account-overview .table-wrap, .water-file-overview .table-wrap, .water-sale-overview .table-wrap, .water-coupon-overview .table-wrap, .water-goods-overview .table-wrap, .water-booking-overview .table-wrap, .water-service-overview .table-wrap, .water-sanitation-overview .table-wrap { width: 100%; max-width: 100%; max-height: 360px; }
    #leads .panel-body, #rehab .panel-body, #water .panel-body, #kitchen .panel-body, #inventory .panel-body, #hr .panel-body { display: grid; gap: 12px; }
    #leads .module-grid, #rehab .module-grid, #water .module-grid, #kitchen .module-grid, #inventory .module-grid, #hr .module-grid { order: 1; }
    #leads .lead-record-overview, #rehab .gift-entitlement-overview, #water .water-account-overview, #water .water-file-overview, #water .water-sale-overview, #water .water-coupon-overview, #water .water-goods-overview, #water .gift-entitlement-overview, #water .water-booking-overview, #water .water-service-overview, #water .water-sanitation-overview, #inventory .stock-balance-overview, #hr .hr-roster-overview { order: 2; }
    #water .water-account-overview { order: 1; }
    #water .module-grid { order: 2; }
    #water .water-goods-overview, #water .water-booking-overview, #water .water-sanitation-overview { order: 3; }
    #water .water-detail-group { order: 4; }
    #rehab .rehab-record-overview { order: 3; }
    .lead-record-overview table { min-width: 1160px; }
    .owner-lead-dashboard { order: 0; display: grid; gap: 12px; }
    .owner-lead-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
    .owner-lead-list { display: grid; gap: 8px; }
    .owner-lead-row { border: 1px solid #edf1f5; border-radius: 7px; background: #fff; padding: 10px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; color: inherit; font: inherit; text-align: left; width: 100%; }
    button.owner-lead-row { cursor: pointer; }
    button.owner-lead-row:hover, button.owner-lead-row.selected { border-color: #7fb09a; box-shadow: 0 6px 16px rgba(45, 79, 63, .1); transform: translateY(-1px); }
    .owner-lead-row strong { display: block; color: #24362e; font-size: 13px; overflow-wrap: anywhere; }
    .owner-lead-row span { display: block; color: var(--muted); font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
    .owner-lead-row .meta { margin-top: 4px; color: #516172; }
    .owner-lead-pipeline { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
    .owner-lead-detail-stage { grid-column: 1 / -1; }
    .room-stay-overview table { min-width: 1180px; }
    .rehab-record-overview table { min-width: 1080px; }
    .gift-entitlement-overview table { min-width: 1180px; }
    .water-account-overview table { min-width: 1180px; }
    .water-file-overview table { min-width: 1320px; }
    .water-sale-overview table { min-width: 1240px; }
    .water-coupon-overview table { min-width: 1180px; }
    .water-goods-overview table { min-width: 1120px; }
    .water-booking-overview table { min-width: 1180px; }
    .water-service-overview table { min-width: 1180px; }
    .water-sanitation-overview table { min-width: 1180px; }
    .water-detail-group { border: 1px dashed #c9ddd3; border-radius: 7px; background: #fbfdfc; padding: 10px; margin-bottom: 12px; }
    .water-detail-group summary { cursor: pointer; font-weight: 800; color: #244237; }
    .water-detail-group .table-wrap { margin-top: 10px; }
    #rehabUnifiedPanel .mobile-card-list, #rehabRights .mobile-card-list, #waterRights .mobile-card-list, #waterCouponPage .mobile-card-list, #waterServicePage .mobile-card-list, #waterGoodsPage .mobile-card-list, #waterExceptionPage .mobile-card-list { display: grid; }
    .water-quick-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; }
    .water-quick-actions .btn { width: 100%; min-height: 42px; white-space: normal; font-weight: 800; }
    .water-action-note { margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
    .water-unified-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr); gap: 12px; align-items: start; margin-top: 10px; }
    .water-unified-main, .water-unified-side { display: grid; gap: 10px; min-width: 0; }
	    .water-unified-panel .owner-alert-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
	    .water-reminder-groups { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); gap: 10px; align-items: start; margin-bottom: 10px; }
	    .water-reminder-group { display: grid; gap: 7px; min-width: 0; }
	    .water-reminder-title { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; font-size: 13px; font-weight: 800; color: #26352f; }
    .water-reminder-title span { color: var(--muted); font-size: 12px; font-weight: 700; }
    .water-reminder-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 8px; min-width: 0; }
    .water-reminder-group.required .owner-alert-item { border-color: #ead7b5; background: #fffdf8; }
    .water-reminder-group.maintenance .owner-alert-item { border-color: #d6e8df; background: #fbfefd; }
	    .water-unified-panel .workbench-section-title { align-items: center; }
	    .water-unified-panel .water-quick-actions { grid-template-columns: repeat(auto-fit, minmax(112px, 1fr)); }
	    .water-unified-panel .water-quick-deduct-list { margin-bottom: 0; }
	    .rehab-flow-customer-list { gap: 10px; }
	    .rehab-flow-card { border: 1px solid #d6e8df; border-left: 4px solid #1f7a65; border-radius: 8px; background: #fff; padding: 11px; display: grid; gap: 10px; min-width: 0; }
	    .rehab-flow-card.clickable { cursor: pointer; }
	    .rehab-flow-card.clickable:hover, .rehab-flow-card.selected { border-color: #7fb09a; box-shadow: 0 8px 18px rgba(45, 79, 63, .1); }
	    .rehab-flow-card.selected { background: #fbfefd; }
	    .rehab-flow-card.risk { border-left-color: #d94a38; background: #fffafa; }
	    .rehab-flow-card.warn { border-left-color: #e39b2d; background: #fffdf7; }
	    .rehab-flow-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; min-width: 0; }
	    .rehab-flow-head strong { display: block; color: #1e3129; font-size: 15px; line-height: 1.25; overflow-wrap: anywhere; }
	    .rehab-flow-head span { display: block; color: var(--muted); font-size: 12px; line-height: 1.45; margin-top: 3px; overflow-wrap: anywhere; }
	    .rehab-flow-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
	    .rehab-flow-step { border: 1px solid #e2e9ee; border-radius: 7px; background: #f8fafc; padding: 7px; min-width: 0; }
	    .rehab-flow-step b { display: block; font-size: 12px; line-height: 1.25; color: #24362e; overflow-wrap: anywhere; }
	    .rehab-flow-step span { display: block; margin-top: 4px; font-size: 12px; line-height: 1.35; color: var(--muted); overflow-wrap: anywhere; }
	    .rehab-flow-step.green { border-color: #cde7d8; background: #f6fbf7; }
	    .rehab-flow-step.amber { border-color: #efd59a; background: #fffaf0; }
	    .rehab-flow-step.red { border-color: #f0b9ad; background: #fff7f5; }
	    .rehab-flow-step.blue { border-color: #cfe0f5; background: #f5f9ff; }
	    .rehab-flow-next { border-top: 1px dashed #dbe7e0; padding-top: 8px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; }
	    .rehab-flow-next strong { display: block; font-size: 13px; color: #24362e; overflow-wrap: anywhere; }
	    .rehab-flow-next span { display: block; margin-top: 3px; font-size: 12px; color: var(--muted); line-height: 1.4; overflow-wrap: anywhere; }
	    .rehab-flow-detail { border-top: 1px solid #dbe7e0; padding-top: 9px; display: grid; gap: 8px; min-width: 0; }
	    .rehab-flow-detail-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(138px, 1fr)); gap: 7px; min-width: 0; }
	    .rehab-flow-detail-item { border: 1px solid #e2e9ee; border-radius: 7px; background: #f8fafc; padding: 8px; min-width: 0; }
	    .rehab-flow-detail-item b { display: block; font-size: 12px; line-height: 1.25; color: #24362e; overflow-wrap: anywhere; }
	    .rehab-flow-detail-item span { display: block; margin-top: 4px; font-size: 12px; line-height: 1.35; color: var(--muted); overflow-wrap: anywhere; }
	    .rehab-flow-detail-records { display: grid; gap: 7px; min-width: 0; }
	    .rehab-flow-detail-record { border: 1px solid #e2e9ee; border-radius: 7px; background: #fff; padding: 8px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; min-width: 0; }
	    .rehab-flow-detail-record strong { display: block; font-size: 12px; line-height: 1.3; color: #24362e; overflow-wrap: anywhere; }
	    .rehab-flow-detail-record span { display: block; margin-top: 3px; font-size: 12px; line-height: 1.35; color: var(--muted); overflow-wrap: anywhere; }
	    .rehab-flow-plan-preview { grid-column: 1 / -1; border-top: 1px dashed #d8e5df; padding-top: 7px; display: grid; gap: 7px; min-width: 0; }
	    .rehab-flow-plan-preview b { display: block; margin-bottom: 3px; font-size: 12px; color: #1f7a65; }
	    .rehab-flow-plan-preview span { display: block; margin-top: 2px; font-size: 12px; line-height: 1.45; color: #415164; overflow-wrap: anywhere; }
	    .rehab-client-report-modal { position: fixed; inset: 0; z-index: 65; display: grid; place-items: center; padding: 18px; }
	    .rehab-client-report-modal.auth-hidden { display: none !important; }
	    .rehab-client-report-shade { position: absolute; inset: 0; background: rgba(34, 45, 40, .46); backdrop-filter: blur(3px); }
	    .rehab-client-report-shell { position: relative; width: min(940px, 100%); max-height: min(92vh, 980px); overflow: auto; border-radius: 8px; background: #f3efe6; border: 1px solid #d9c7aa; box-shadow: 0 30px 78px rgba(27, 41, 35, .26); }
	    .rehab-client-report-head { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; gap: 10px; align-items: center; padding: 13px 16px; background: rgba(253, 250, 244, .97); border-bottom: 1px solid #d9c7aa; }
	    .rehab-client-report-head strong { font-size: 16px; color: #18382f; }
	    .rehab-client-report-actions { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
	    .rehab-client-report-content { padding: 22px; }
	    .rehab-report-image-result { width: min(860px, 100%); margin: 0 auto; display: grid; gap: 12px; }
	    .rehab-report-image-tip { border: 1px solid #d7c3a4; border-left: 5px solid #1f7a65; border-radius: 8px; background: #fffaf2; padding: 12px 14px; color: #26352f; line-height: 1.65; }
	    .rehab-report-image-tip strong { display: block; margin-bottom: 3px; color: #173f35; font-size: 15px; }
	    .rehab-report-image-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	    .rehab-report-image-actions .btn { width: 100%; text-align: center; justify-content: center; }
	    .rehab-report-image-preview { border: 1px solid #d7c3a4; border-radius: 8px; background: #fdfaf3; padding: 8px; box-shadow: 0 12px 30px rgba(52, 39, 25, .12); }
	    .rehab-report-image-preview img { display: block; width: 100%; height: auto; border-radius: 6px; background: #fff; user-select: auto; -webkit-user-select: auto; -webkit-touch-callout: default; }
	    .rehab-report-sheet { width: min(812px, 100%); margin: 0 auto; background: #fdfaf3; color: #22332d; border: 1px solid #d7c3a4; border-radius: 8px; overflow: hidden; box-shadow: 0 20px 54px rgba(52, 39, 25, .15); }
	    .rehab-report-cover { min-height: 254px; padding: 28px 38px 30px; background: linear-gradient(135deg, #163d34 0%, #1f6a58 58%, #d6ad72 58.4%, #f6ead9 59%, #fffaf1 100%); border-bottom: 1px solid #d9c7aa; position: relative; overflow: hidden; }
	    .rehab-report-cover::before { content: ""; position: absolute; left: 38px; right: 38px; bottom: 30px; height: 1px; background: linear-gradient(90deg, rgba(255,255,255,.75), rgba(214,173,114,.92), rgba(214,173,114,0)); }
	    .rehab-report-cover::after { content: "CARE PLAN"; position: absolute; right: 42px; top: 36px; color: rgba(31, 106, 88, .13); font-size: 40px; font-weight: 900; letter-spacing: 0; }
	    .rehab-report-brand { position: relative; z-index: 1; color: #fff8ea; font-size: 13px; font-weight: 900; letter-spacing: 0; }
	    .rehab-report-cover h1 { position: relative; z-index: 1; width: min(590px, 100%); margin: 48px 0 14px; font-size: 33px; line-height: 1.18; color: #fffdf6; text-shadow: 0 2px 10px rgba(12, 36, 29, .18); }
	    .rehab-report-cover p { position: relative; z-index: 1; width: min(640px, 100%); margin: 0; color: #f5ead7; line-height: 1.72; font-size: 14px; }
	    .rehab-report-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 16px 30px; background: #fffaf2; border-bottom: 1px solid #d9c7aa; }
	    .rehab-report-meta div { min-width: 0; }
	    .rehab-report-meta b { display: block; color: #8a745b; font-size: 11px; margin-bottom: 3px; }
	    .rehab-report-meta span { display: block; font-size: 14px; font-weight: 800; color: #24312d; overflow-wrap: anywhere; }
	    .rehab-report-body { counter-reset: rehab-report-section; display: grid; gap: 18px; padding: 24px 30px 32px; background: linear-gradient(180deg, #fffdf8 0%, #faf2e8 100%); }
	    .rehab-report-section { position: relative; border: 1px solid #ddc9aa; border-radius: 8px; padding: 18px 18px 17px; background: rgba(255, 255, 255, .93); break-inside: avoid; box-shadow: 0 8px 24px rgba(75, 57, 35, .075); }
	    .rehab-report-section::after { content: ""; position: absolute; left: 18px; right: 18px; top: 0; height: 3px; background: linear-gradient(90deg, #1f6a58, #d6ad72, rgba(214,173,114,0)); border-radius: 0 0 8px 8px; }
	    .rehab-report-section h2 { counter-increment: rehab-report-section; display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font-size: 17px; color: #18382f; }
	    .rehab-report-section h2::before { content: counter(rehab-report-section, decimal-leading-zero); flex: 0 0 auto; min-width: 38px; height: 32px; display: inline-grid; place-items: center; border-radius: 8px; background: #173f35; color: #fff8ea; font-size: 14px; font-weight: 900; box-shadow: inset 0 -2px 0 rgba(214,173,114,.38); }
	    .rehab-report-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	    .rehab-report-item { min-width: 0; padding: 10px 11px; border-radius: 8px; background: #fffaf2; border: 1px solid #eadcc5; }
	    .rehab-report-item b { display: block; margin-bottom: 4px; font-size: 12px; color: #8a745b; }
		        .rehab-report-item span { display: block; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.55; color: #1f2a37; }
		        .rehab-report-item.wide { grid-column: 1 / -1; }
		        .rehab-report-paragraph { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.84; color: #2d3834; font-size: 14px; }
		        .rehab-report-table-wrap { width: 100%; overflow-x: auto; }
		        .rehab-report-table { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; font-size: 13px; border: 1px solid #ddc9aa; border-radius: 8px; overflow: hidden; background: #fff; }
		        .rehab-report-table th { background: #1e5d50; color: #fffaf2; padding: 10px 8px; border: 0; text-align: center; font-weight: 900; }
		        .rehab-report-table td { padding: 10px 9px; border: 0; border-top: 1px solid #efe0c9; vertical-align: top; line-height: 1.64; overflow-wrap: anywhere; }
		        .rehab-report-table tbody tr:nth-child(even) td { background: #fff9ef; }
		        .rehab-report-table-wrap.schedule .rehab-report-table th { background: #173f35; }
		        .rehab-report-table-wrap.schedule .rehab-report-table td:nth-child(1), .rehab-report-table-wrap.schedule .rehab-report-table td:nth-child(2) { font-weight: 900; color: #173f35; }
		        .rehab-report-table-wrap.overall .rehab-report-table td:nth-child(1) { font-weight: 900; color: #173f35; }
		        .rehab-report-summary-table { border-color: #ddc9aa; box-shadow: 0 8px 22px rgba(69, 50, 30, .06); }
		        .rehab-report-summary-table th { width: 72px; background: #f1e4d0; color: #7a6045; text-align: left; font-weight: 800; }
		        .rehab-report-summary-table td { font-weight: 900; color: #24312d; background: #fffdf8; }
		        .rehab-report-entitlement-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
		        .rehab-report-entitlement-card { min-width: 0; padding: 12px 12px 13px; border: 1px solid #dac5a4; border-radius: 8px; background: linear-gradient(180deg, #fffdf8 0%, #f8efe2 100%); box-shadow: 0 6px 18px rgba(66, 48, 29, .06); }
		        .rehab-report-entitlement-card b { display: block; margin-bottom: 7px; font-size: 11px; color: #8a745b; }
		        .rehab-report-entitlement-card span { display: block; font-size: 18px; line-height: 1.25; font-weight: 900; color: #173f35; overflow-wrap: anywhere; }
		        .rehab-report-entitlement-note { margin: 11px 0 0; padding: 11px 13px; border-radius: 8px; background: #f2f8f2; color: #344d44; line-height: 1.68; border: 1px solid #d7e6d9; }
		        .rehab-report-entitlement-note p { margin: 0; }
		        .rehab-report-entitlement-note p + p { margin-top: 5px; }
		        .rehab-report-subtitle { display: flex; align-items: center; gap: 8px; margin: 14px 0 8px; color: #173f35; font-size: 13px; font-weight: 900; }
		        .rehab-report-subtitle::before { content: ""; width: 22px; height: 2px; border-radius: 99px; background: #d6ad72; }
		        .rehab-report-table-wrap.entitlement-source, .rehab-report-table-wrap.entitlement-project { margin-top: 8px; }
		        .rehab-report-table-wrap.entitlement-source .rehab-report-table th,
		        .rehab-report-table-wrap.entitlement-project .rehab-report-table th { background: #214d42; }
		        .rehab-report-table-wrap.entitlement-source .rehab-report-table td,
		        .rehab-report-table-wrap.entitlement-project .rehab-report-table td { font-size: 12.5px; }
		        .rehab-report-cover.care { background: linear-gradient(135deg, #163d34 0%, #1f6a58 58%, #d6ad72 58.4%, #f6ead9 59%, #fffaf1 100%); }
		        .rehab-report-sheet.care .rehab-report-section { border-radius: 8px; }
		        .rehab-report-list { display: block; margin: 0; padding: 0; list-style: none; }
	    .rehab-report-list li { padding: 10px 12px; border-left: 4px solid #d6a764; background: #fffaf2; border-radius: 7px; line-height: 1.67; overflow-wrap: anywhere; }
	    .rehab-report-list li + li { margin-top: 7px; }
	    .rehab-report-note { border: 1px solid #e7d5ad; background: #fffaf0; border-radius: 8px; padding: 12px 13px; color: #59442a; line-height: 1.65; font-size: 13px; }
	    .rehab-report-footer { padding: 14px 30px 18px; color: #7a6c5e; font-size: 12px; line-height: 1.65; border-top: 1px solid #d9c7aa; background: #fff7ea; }
	    .property-full-data-notice { margin-bottom: 12px; border-color: #b9d7eb; background: #f4faff; }
    .property-full-data-notice[data-state="error"] { border-color: #efc5c5; background: #fff7f7; }
    .property-full-data-notice[hidden], .property-full-data-notice .btn[hidden] { display: none !important; }
    .property-full-data-placeholder { grid-column: 1 / -1; width: 100%; }
	    .finance-authority-notice { margin: 10px 0 12px; border-color: #b9d7eb; background: #f4faff; }
	    .finance-authority-notice[data-state="error"], #financeAnomalyNotice[data-state="error"] { border-color: #efc5c5; background: #fff7f7; }
	    .finance-authority-bootstrap-notice { margin: 0 0 14px; }
	    .finance-authority-bootstrap-notice[data-state="error"] { border-color: #efc5c5; background: #fff7f7; }
	    .view.finance-authority-module-pending > * { display: none !important; }
	    .finance-authority-notice[hidden] { display: none !important; }
	    .finance-authority-placeholder { display: grid; gap: 6px; justify-items: start; white-space: normal; }
	    .finance-authority-placeholder strong { color: var(--text); }
	    .finance-authority-placeholder span { color: var(--muted); }
	    .property-lease-overview { min-width: 0; max-width: 100%; overflow: hidden; border: 1px solid #d6e8df; border-radius: 7px; background: #f9fdfb; padding: 12px; margin-top: 12px; }
    .property-lease-overview .kpis, #propertyIncomeKpis { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); margin-bottom: 10px; }
    .property-lease-overview .table-wrap { max-height: clamp(420px, 64vh, 760px); }
    .property-lease-overview table { min-width: 1240px; }
    .ai-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 12px; align-items: start; }
    .ai-chat { border: 1px solid var(--line); border-radius: 7px; background: #fff; min-height: 440px; display: flex; flex-direction: column; overflow: hidden; }
    .ai-messages { flex: 1; padding: 12px; overflow: auto; max-height: 52vh; background: #f8faf9; }
    .ai-msg { max-width: 86%; margin-bottom: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 7px; background: #fff; white-space: pre-wrap; line-height: 1.55; }
    .ai-msg.user { margin-left: auto; background: #e9f6f0; border-color: #c9e8dc; }
    .ai-msg.assistant { margin-right: auto; }
    .ai-composer { border-top: 1px solid var(--line); padding: 10px; background: #fff; }
    .ai-composer textarea { min-height: 88px; }
    .ai-shortcuts { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
    .ai-shortcuts .btn { flex: 1 1 82px; min-width: 0; }
    .ai-hint { display: grid; gap: 6px; font-size: 12px; color: var(--muted); line-height: 1.4; }
    .ai-draft { border: 1px solid #c9e8dc; background: #f4fbf8; border-radius: 7px; padding: 10px; margin-top: 8px; }
    .ai-draft-title { font-weight: 800; margin-bottom: 6px; }
    .ai-side { display: grid; gap: 10px; }
    .ai-side .list { max-height: none; }
    .barrow { display: grid; grid-template-columns: 72px minmax(0,1fr) 104px; gap: 8px; align-items: center; font-size: 12px; }
    .track { height: 22px; background: #ecf0f4; border-radius: 4px; overflow: hidden; position: relative; }
    .bar-income { position: absolute; left: 0; top: 0; height: 50%; background: var(--brand); }
    .bar-expense { position: absolute; left: 0; bottom: 0; height: 50%; background: var(--amber); }
    .empty { color: var(--muted); padding: 18px; text-align: center; }
    .drawer { position: fixed; inset: 0; display: none; z-index: 20; }
    .drawer.open { display: block; }
    .shade { position: absolute; inset: 0; z-index: 0; background: rgba(15, 23, 42, .38); }
    .drawer-panel { position: absolute; right: 0; top: 0; bottom: 0; z-index: 1; width: min(640px, 100vw); background: #fff; border-left: 1px solid var(--line); padding: 16px; overflow: auto; box-shadow: -18px 0 40px rgba(15, 23, 42, .18); }
    .drawer-head { display: flex; justify-content: space-between; gap: 12px; align-items: center; border-bottom: 1px solid var(--line); padding-bottom: 12px; margin-bottom: 12px; }
    .drawer-head h3 { margin: 0; font-size: 18px; }
    .mobile-fill-btn { display: none; }
    .password-modal { position: fixed; inset: 0; z-index: 30; display: grid; place-items: center; padding: 16px; }
    .password-card { position: relative; width: min(420px, 100%); background: #fff; border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 18px 42px rgba(15, 23, 42, .2); padding: 16px; }
    .password-card h3 { margin: 0; font-size: 18px; }
    .password-card .field { margin-top: 10px; }
    .password-card input { width: 100%; }
    .formgrid { display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; align-items: start; }
    .formgrid .field { min-width: 0; }
    .drawer-content .field.field-wide { grid-column: 1 / -1; }
    #drawerContent .field { display: block; position: relative; }
    #drawerContent input:not([type="hidden"]), #drawerContent select, #drawerContent textarea { display: block; width: 100%; min-width: 0; position: relative; z-index: 1; pointer-events: auto; }
    #drawerContent .field.auto-readonly input, #drawerContent .field.auto-readonly select { background: #f8fafc; color: #475467; border-color: #e4e7ec; }
    .drawer-save-panel { border-top: 1px solid var(--line); margin-top: 14px; padding-top: 12px; background: #fff; }
    .drawer-save-panel summary { cursor: pointer; list-style: none; border: 1px solid #cfe0d8; border-radius: 6px; background: #f2faf6; color: #10634e; font-weight: 800; padding: 10px 12px; text-align: center; }
    .drawer-save-panel summary span { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; font-weight: 600; }
    .drawer-save-panel summary::-webkit-details-marker { display: none; }
    .drawer-save-panel summary::after { content: "展开"; margin-left: 8px; font-size: 12px; color: var(--muted); }
    .drawer-save-panel[open] summary::after { content: "收起"; }
    .drawer-save-panel.is-saving summary { border-color: #9fc6b6; background: #eaf7f1; }
    .drawer-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 10px; background: #fff; z-index: 2; }
    .save-status { min-height: 20px; margin-top: 8px; font-size: 12px; color: var(--muted); }
    .save-status.ok { color: #10634e; }
    .save-status.warn { color: var(--red); }
    .drawer-save-panel .save-status { margin: 0 0 8px; min-height: 0; padding: 7px 9px; border-radius: 6px; text-align: center; font-weight: 800; }
    .drawer-save-panel .save-status:empty { display: none; }
    .drawer-save-panel .save-status.ok { background: #edf9f3; color: #10634e; }
    .drawer-save-panel .save-status.warn { background: #fff1f0; color: var(--red); }
    .operation-safety-note { border: 1px solid #d8e6df; border-left: 4px solid var(--brand); border-radius: 7px; background: #f8fcfa; padding: 9px 10px; margin: 8px 0; color: #344054; font-size: 12.5px; line-height: 1.45; }
    .operation-safety-note strong { color: var(--ink); }
    .operation-safety-note.warn { border-color: #f2c2bd; border-left-color: var(--red); background: #fff7f5; }
    .daily-report-textarea { width: 100%; min-height: 260px; border: 1px solid var(--line); border-radius: 7px; padding: 12px; resize: vertical; font: 13px/1.7 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: pre-wrap; background: #fbfcfd; color: var(--text); box-sizing: border-box; }
    .operation-stat-list { display: grid; gap: 6px; }
    .operation-stat-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid #edf1f5; border-radius: 7px; background: #fff; }
    .operation-stat-row span { color: var(--muted); font-size: 12px; }
    .operation-stat-row strong { font-size: 15px; white-space: nowrap; }
    details.operation-stat-row { display: block; }
    .operation-stat-row summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; cursor: pointer; list-style: none; }
    .operation-stat-row summary::-webkit-details-marker { display: none; }
    .operation-stat-row summary span::after { content: " · 点开看明细"; color: #8a99a8; font-size: 11px; font-weight: 600; }
    .operation-stat-row[open] summary { padding-bottom: 7px; border-bottom: 1px dashed #e2e8f0; }
    .operation-stat-detail-body { display: grid; gap: 7px; padding-top: 7px; }
    .operation-detail-card { border: 1px solid #e8eef4; border-radius: 7px; background: #fbfdff; padding: 8px; display: grid; gap: 6px; min-width: 0; }
    .operation-detail-head { display: flex; justify-content: space-between; gap: 8px; align-items: flex-start; flex-wrap: wrap; }
    .operation-detail-head strong { white-space: normal; overflow-wrap: anywhere; color: #243832; }
    .operation-detail-meta { display: flex; flex-wrap: wrap; gap: 5px 8px; color: var(--muted); font-size: 12px; line-height: 1.4; }
    .endpoint-performance-alerts { display: grid; gap: 8px; margin-top: 8px; min-width: 0; }
    .operation-detail-summary { color: #475467; font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
    .operation-stat-more { color: var(--muted); font-size: 12px; text-align: center; padding: 3px 0; }
    .operation-impact-tags { display: flex; flex-wrap: wrap; gap: 4px; }
    .operation-health-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 8px; margin: 8px 0 12px; }
    .operation-health-card { border: 1px solid #edf1f5; border-left: 4px solid #b7cbc3; border-radius: 7px; background: #fff; padding: 10px; display: grid; gap: 5px; text-align: left; color: inherit; font: inherit; min-width: 0; cursor: pointer; box-shadow: 0 6px 16px rgba(15, 23, 42, .04); }
    .operation-health-card.warn { border-left-color: #d28a22; background: #fffdf8; }
    .operation-health-card.bad { border-left-color: var(--red); background: #fffafa; }
    .operation-health-card.good { border-left-color: var(--brand); background: #fbfdfc; }
    .operation-health-card strong { color: #243832; font-size: 13px; overflow-wrap: anywhere; }
    .operation-health-card .value { font-size: 22px; font-weight: 900; color: #243832; line-height: 1.1; }
    .operation-health-card span { color: var(--muted); font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
    .operation-health-card .tag { justify-self: start; }
    .daily-inspection-panel { border: 1px solid #d6e8df; border-left: 5px solid var(--brand); border-radius: 8px; background: #fbfdfc; padding: 12px; margin: 10px 0; display: grid; gap: 8px; }
    .daily-inspection-panel.is-amber { border-color: #f1cf91; border-left-color: #d28a22; background: #fffbf3; }
    .daily-inspection-panel.is-red { border-color: #f0b4aa; border-left-color: var(--red); background: #fff7f6; }
    .daily-inspection-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; flex-wrap: wrap; }
    .daily-inspection-head strong { color: #243832; font-size: 14px; }
    .daily-inspection-head span { color: var(--muted); font-size: 12px; }
    .daily-inspection-findings { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
    .daily-inspection-findings li { border: 1px solid #edf1f5; border-radius: 7px; background: rgba(255,255,255,.75); padding: 8px 9px; color: #41534d; font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
    .manager-guidance-stage { min-width: 0; }
    .manager-guidance-stage .owner-stage-head { align-items: flex-start; }
    .manager-guidance-stage .daily-inspection-panel { margin-bottom: 0; }
    .daily-inspection-panel.has-structured-guidance { min-width: 0; overflow: hidden; gap: 10px; }
    .daily-inspection-guidance-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
    .daily-inspection-guidance-summary span { display: grid; gap: 2px; min-width: 0; padding: 8px 9px; border: 1px solid #dfe9e4; border-radius: 7px; background: rgba(255,255,255,.86); color: #243832; font-size: 18px; font-weight: 900; }
    .daily-inspection-guidance-summary b { color: var(--muted); font-size: 10px; }
    .daily-inspection-filter-actions { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
    .daily-inspection-filter-actions .btn { max-width: 100%; overflow-wrap: anywhere; }
    .daily-inspection-guidance-list { min-width: 0; }
    .daily-inspection-system-health { min-width: 0; border: 1px dashed #d8e1e7; border-radius: 7px; background: rgba(255,255,255,.72); padding: 8px 9px; color: #475467; }
    .daily-inspection-system-health > summary { cursor: pointer; color: #31536f; font-size: 12px; font-weight: 800; }
    .daily-inspection-system-health ul { display: grid; gap: 5px; margin: 8px 0 0; padding-left: 18px; font-size: 11px; line-height: 1.45; }
    .danger-action-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin-top: 8px; }
    .danger-action-meta span { border: 1px solid #e4ece8; border-radius: 6px; background: #fff; padding: 6px 7px; overflow-wrap: anywhere; }
    .danger-action-meta b { display: block; color: var(--muted); font-size: 11px; margin-bottom: 2px; }
    .toast-stack { position: fixed; top: 16px; right: 16px; z-index: 80; display: grid; gap: 8px; width: min(360px, calc(100vw - 32px)); pointer-events: none; }
    .toast { border: 1px solid var(--line); border-left: 5px solid var(--brand); border-radius: 7px; background: #fff; box-shadow: 0 16px 36px rgba(15, 23, 42, .18); padding: 10px 12px; font-size: 13px; line-height: 1.45; color: var(--ink); opacity: 0; transform: translateY(-8px); animation: toastIn .18s ease forwards; }
    .toast.ok { border-left-color: #22a06b; }
    .toast.warn { border-left-color: var(--red); }
    .toast.leaving { animation: toastOut .18s ease forwards; }
    @keyframes toastIn { to { opacity: 1; transform: translateY(0); } }
    @keyframes toastOut { to { opacity: 0; transform: translateY(-8px); } }
    .mobile-quickbar { display: none; }
    textarea { width: 100%; min-height: 78px; border: 1px solid var(--line); border-radius: 5px; padding: 8px; resize: vertical; font: inherit; }
    .image-upload-control { display: grid; gap: 8px; }
    .image-upload-control input[type="file"] { height: auto; min-height: 38px; padding: 7px; }
    .image-upload-preview { min-height: 48px; border: 1px dashed #c9d6df; border-radius: 6px; background: #f8faf9; color: var(--muted); display: grid; place-items: center; padding: 8px; font-size: 12px; }
    .image-upload-preview img { max-width: 100%; max-height: 180px; border-radius: 6px; object-fit: contain; border: 1px solid var(--line); background: #fff; }
    .camera-capture-control { display: grid; gap: 8px; border: 1px solid #d7e8df; border-radius: 8px; background: #f8fcfa; padding: 10px; }
    .camera-capture-control video, .camera-capture-control canvas { width: 100%; max-height: 260px; border-radius: 8px; background: #111827; object-fit: cover; }
    .camera-capture-control canvas { display: none; }
    .camera-capture-control.has-photo canvas { display: block; }
    .camera-capture-control.has-photo video { display: none; }
    .camera-capture-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .camera-capture-actions .btn { width: 100%; min-height: 38px; }
    .camera-capture-status { color: var(--muted); font-size: 12px; line-height: 1.5; }
    .file-upload-control { display: grid; gap: 8px; }
    .file-upload-control input[type="file"] { height: auto; min-height: 38px; padding: 7px; }
    .file-upload-preview { min-height: 42px; border: 1px dashed #c9d6df; border-radius: 6px; background: #f8faf9; color: var(--muted); display: grid; place-items: center; padding: 8px; font-size: 12px; }
    .file-link { display: inline-flex; align-items: center; justify-content: center; min-height: 26px; padding: 4px 8px; border: 1px solid #b8d9cc; border-radius: 5px; background: #edf8f3; color: #10634e; font-size: 12px; text-decoration: none; font-weight: 700; }
    .record-thumb { width: 64px; height: 48px; object-fit: cover; border-radius: 6px; border: 1px solid var(--line); background: #fff; display: block; }
    .record-thumb-link { display: inline-block; cursor: zoom-in; }
    .image-preview-modal { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; padding: 14px; }
    .image-preview-modal.auth-hidden { display: none !important; }
    .image-preview-shade { position: absolute; inset: 0; background: rgba(15, 23, 42, .72); }
    .image-preview-card { position: relative; z-index: 1; width: min(920px, 100%); max-height: calc(100dvh - 28px); display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 8px; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: 0 24px 60px rgba(15, 23, 42, .32); padding: 10px; }
    .image-preview-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
    .image-preview-head strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .image-preview-card img { max-width: 100%; max-height: calc(100dvh - 96px); object-fit: contain; border-radius: 6px; background: #111827; }
    @media (max-width: 1280px) {
      .workbench-layout { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); }
      .module-grid { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); }
      .task-board { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); }
      .card-actions, .section-actions, .todo-actions, .record-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)); align-items: stretch; }
      .card-actions .btn, .section-actions .btn, .todo-actions .btn, .record-actions .btn { width: 100%; }
      .cashier-today-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .cashier-secondary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    }
    @media (max-width: 1100px) {
      .shell { grid-template-columns: 1fr; }
      aside { position: static; height: auto; min-height: 0; box-shadow: none; }
      nav { grid-template-columns: repeat(3, 1fr); }
      body[data-role="manager"] aside { position: sticky; top: 0; z-index: 21; height: auto; min-height: 0; overflow: visible; padding: 7px 12px 9px; box-shadow: 0 6px 18px rgba(15, 23, 42, .14); }
      body[data-role="manager"] .brand { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 1px 4px 7px; }
      body[data-role="manager"] .brand-title { font-size: 15px; }
      body[data-role="manager"] .brand-sub { display: none; }
      body[data-role="manager"] nav { display: block; margin-top: 7px; }
      body[data-role="manager"] .manager-nav-primary { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
      body[data-role="manager"] .manager-nav-primary > button,
      body[data-role="manager"] .manager-nav-more > summary { min-width: 0; min-height: 35px; padding: 7px 5px; justify-content: center; text-align: center; white-space: nowrap; font-size: 12px; }
      body[data-role="manager"] .manager-nav-more > summary span { display: none; }
      body[data-role="manager"] .manager-nav-more > summary::after { content: ""; display: none; }
      body[data-role="manager"] .manager-nav-more-panel { position: absolute; top: calc(100% + 8px); right: 0; width: min(700px, calc(100vw - 24px)); max-height: 66vh; overflow: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 12px; border: 1px solid #3d5b53; border-radius: 8px; background: #102521; box-shadow: 0 18px 38px rgba(15, 23, 42, .28); }
      body[data-role="manager"] .manager-nav-more-group > strong { margin-top: 0; }
      body[data-role="manager"] .top { position: static; display: block; padding: 7px 12px; }
      body[data-role="manager"] .top > div:first-child { display: none; }
      body[data-role="manager"] .opbar { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(132px, 160px) auto auto; gap: 7px; justify-content: stretch; }
      body[data-role="manager"] .account-summary { min-width: 0; padding: 5px 8px; }
      body[data-role="manager"] .opbar .global-search-field { display: none; }
      body[data-role="manager"] .opbar .field { min-width: 0; }
      body[data-role="manager"] .opbar .field input { width: 100%; min-width: 0; }
      body[data-role="manager"] .opbar .btn { min-width: 0; }
      body[data-role="manager"] .content { padding-top: 10px; }
      .nav-group { grid-column: 1 / -1; margin: 6px 4px 0; }
      .top { grid-template-columns: 1fr; }
      .opbar { justify-content: flex-start; }
      .kpis { grid-template-columns: repeat(2, minmax(0,1fr)); }
      #financeAnomaly .kpis { grid-template-columns: repeat(2, minmax(0,1fr)); }
      .layout, .split, .workbench-layout, .hr-dashboard-grid, .ai-layout { grid-template-columns: 1fr; }
      .workbench-head { grid-template-columns: 1fr; }
      .workbench-stage { justify-content: flex-start; }
      .filters { grid-template-columns: repeat(2, minmax(0,1fr)); }
      .owner-focus-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .owner-lead-grid { grid-template-columns: 1fr; }
      .cashier-primary-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    @media (max-width: 900px) {
      .attendance-schedule-evidence { grid-template-columns: 1fr; }
      .attendance-source-record { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .attendance-day-status { text-align: left; }
      .hr-section-tabs { position: static; display: flex; overflow-x: auto; -webkit-overflow-scrolling: touch; }
      .hr-section-tabs button { flex: 0 0 126px; }
      .hr-record-detail-grid { grid-template-columns: 1fr; }
      .hr-home-footer, .hr-data-status, .hr-section-head { align-items: stretch; flex-direction: column; }
      .hr-today-item { grid-template-columns: auto minmax(0, 1fr); }
      .hr-today-count { grid-column: 2; }
      #hr .hr-key-table-wrap, #hr .hr-complete-data .table-wrap { overflow-x: auto; overflow-y: auto; touch-action: pan-x pan-y; }
      #hr .hr-key-table-wrap table { min-width: 880px; }
      #hr .hr-complete-data table { min-width: 1080px; }
      .frontdesk-home-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .frontdesk-todo-grid, .frontdesk-stage-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .frontdesk-owner-tab { flex: 1 1 calc(50% - 4px); }
      .frontdesk-search { grid-column: 1 / -1; }
      .frontdesk-clean-shell { grid-template-columns: 1fr; }
      .frontdesk-inhouse-alerts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .table-wrap { max-height: none; overflow-x: hidden; overflow-y: auto; touch-action: pan-y; background: transparent; }
      #cashier .table-scroll-guide { display: none !important; }
      #cashier .accounting-review-overview table.mobile-card-table { width: 100%; min-width: 0; }
      #cashier .accounting-review-overview table.mobile-card-table th, #cashier .accounting-review-overview table.mobile-card-table td { white-space: normal; }
      .table-wrap table { width: 100%; min-width: 0; }
      .mobile-card-table { width: 100%; min-width: 0; border-collapse: separate; border-spacing: 0 8px; }
      .mobile-card-table thead { display: none; }
      .mobile-card-table tbody, .mobile-card-table tr, .mobile-card-table td { display: block; width: 100%; }
      .mobile-card-table tr { border: 1px solid var(--line); border-left: 4px solid #b7cbc3; border-radius: 7px; background: #fff; padding: 28px 9px 9px; margin-bottom: 8px; position: relative; box-shadow: 0 1px 2px rgba(15, 23, 42, .04); }
      .mobile-card-table tr:not(.mobile-row-expanded) td:not(.mobile-priority-cell):not(.empty) { display: none; }
      .mobile-card-table tr.mobile-compact-row::after { content: "点开全部"; position: absolute; right: 9px; top: 6px; color: #10634e; font-size: 12px; font-weight: 800; }
      .mobile-card-table tr.mobile-row-expanded::after { content: "收起"; }
      .mobile-card-table td { border-bottom: 0; display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 8px; align-items: start; padding: 5px 2px; min-height: 28px; white-space: normal; overflow-wrap: anywhere; }
      .mobile-card-table td .btn { width: 100%; margin-top: 4px; }
      .mobile-card-table td::before { content: attr(data-label); color: var(--muted); font-weight: 800; font-size: 12px; }
      .mobile-card-table td.empty { display: block; padding: 14px 8px; text-align: center; }
      .mobile-card-table td.empty::before { content: none; }
      .mobile-card-table td.num { text-align: left; }
      .mobile-card-table .summary { max-width: none; }
    }
    @media (max-width: 640px) {
      .unified-module-bar { min-height: 54px; padding: 8px; gap: 8px; }
      .unified-module-bar .btn { flex: 0 0 auto; min-height: 38px; }
      .unified-module-title span { font-size: 11px; }
      body.unified-module-mode .content { padding: 8px 6px 18px; }
      .image-preview-modal { padding: 8px; }
      .image-preview-card { max-height: calc(100dvh - 16px); padding: 8px; }
      .image-preview-card img { max-height: calc(100dvh - 86px); }
      html, body { max-width: 100%; overflow-x: hidden; }
      .shell, aside, main { min-width: 0; max-width: 100vw; }
      .shell { width: 100%; overflow-x: hidden; }
      main { width: 100%; overflow-x: hidden; }
      .login-screen { min-height: 100dvh; padding: 12px; place-items: start center; }
      .login-card { padding: 16px; }
      aside { width: 100%; padding: 12px; overflow: hidden; }
      .brand { padding: 2px 4px 10px; }
      .brand-title { font-size: 17px; }
      nav { display: flex; width: 100%; max-width: 100%; overflow-x: auto; gap: 6px; padding-bottom: 4px; -webkit-overflow-scrolling: touch; }
      .nav-group { flex: 0 0 auto; margin: 0 2px; padding: 10px 2px 0; white-space: nowrap; }
      nav button { flex: 0 0 auto; min-width: 94px; padding: 9px 10px; text-align: center; white-space: nowrap; }
      .top { position: static; padding: 10px 12px; }
      h1 { font-size: 18px; }
      .meta { line-height: 1.45; }
      .opbar { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; width: 100%; }
      .account-summary { grid-column: 1 / -1; min-width: 0; }
      .opbar .global-search-field { grid-column: 1 / -1; }
      .opbar .field, .filters .field, .formgrid .field { min-width: 0; }
      input, select, textarea { width: 100%; min-width: 0; max-width: 100%; font-size: 16px; }
      .btn { max-width: 100%; height: auto; min-height: 36px; white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.25; }
      .btn.mini { height: auto; min-height: 30px; padding-top: 5px; padding-bottom: 5px; }
      .opbar .btn { width: 100%; }
      .content { padding: 10px 8px 84px; gap: 10px; }
      .site-icp-footer { margin-top: 4px; padding: 8px 12px calc(80px + env(safe-area-inset-bottom)); font-size: 11px; }
      .mobile-quickbar:not(.auth-hidden) { position: fixed; left: 0; right: 0; bottom: 0; z-index: 16; display: grid; grid-template-columns: repeat(var(--mobile-quickbar-cols, 5), minmax(0, 1fr)); gap: 5px; padding: 7px 8px calc(7px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.97); border-top: 1px solid var(--line); box-shadow: 0 -10px 28px rgba(15, 23, 42, .12); }
      body.drawer-open .mobile-quickbar { display: none !important; }
      .mobile-quickbar button { border: 1px solid #d8e2e8; background: #fff; border-radius: 8px; min-height: 46px; padding: 4px 2px; display: grid; place-items: center; gap: 1px; color: #344054; font-size: 10px; font-weight: 800; line-height: 1.12; min-width: 0; overflow: hidden; }
      .mobile-quickbar button span, .mobile-quickbar button strong { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
      .mobile-quickbar button strong { font-size: 12px; line-height: 1.12; }
      .mobile-quickbar button.primary { background: var(--brand); border-color: var(--brand); color: #fff; }
      .kpis { display: flex; grid-template-columns: none; gap: 8px; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; }
      #financeAnomaly .kpis { display: flex; grid-template-columns: none; }
      .kpi { flex: 0 0 164px; min-height: 78px; padding: 9px; scroll-snap-align: start; }
      .property-lease-overview .kpis, #propertyIncomeKpis { display: flex; grid-template-columns: none; }
      .property-lease-overview .kpis .kpi, #propertyIncomeKpis .kpi { flex-basis: 184px; }
      .kpi .value { font-size: 18px; }
      .view, .panel, .panel-body, .module-card, .workbench-block, .task-col, .property-stage, .owner-alert-item, .notice, .rowcard, .todo-row, .hr-priority { min-width: 0; max-width: 100%; }
      .owner-command-strip { grid-template-columns: 1fr; padding: 10px; }
      .owner-command-score { width: 100%; min-width: 0; text-align: left; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px; align-items: center; }
      .owner-command-score span { margin-top: 0; }
      .owner-actions { position: static; }
      .owner-focus-grid { grid-template-columns: 1fr; }
      .owner-core-grid, .owner-trend-grid, .owner-completion-split, .owner-risk-layers, .owner-detail-columns, .owner-account-grid { grid-template-columns: 1fr; }
      .owner-core-card .value { font-size: 23px; }
      .owner-target-row, .owner-layer-row { grid-template-columns: 1fr; align-items: start; }
      .owner-lead-pipeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .owner-lead-row { grid-template-columns: 1fr; align-items: start; }
      .owner-stage-head { display: grid; grid-template-columns: 1fr; }
      .owner-decision-row { grid-template-columns: 1fr; align-items: start; }
      .panel { overflow: hidden; }
      .panel-head { flex-wrap: wrap; align-items: flex-start; padding: 10px; gap: 7px; }
      .panel-head h2 { min-width: 0; max-width: 100%; overflow-wrap: anywhere; line-height: 1.3; }
      .panel-body { padding: 10px; }
      .finance-tabs { flex-wrap: nowrap; overflow-x: auto; padding: 7px; -webkit-overflow-scrolling: touch; }
      .finance-tabs .btn { flex: 0 0 auto; }
      .accountant-primary-nav { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; }
      .accountant-primary-nav > .btn, .accountant-query-nav { flex: 0 0 auto; }
      .accountant-query-actions { grid-template-columns: 1fr; width: min(82vw, 320px); }
      .accountant-workbench-grid { grid-template-columns: 1fr; }
      .cashier-focus-head { display: grid; grid-template-columns: 1fr; }
      .cashier-today-kpis { display: flex; grid-template-columns: none; overflow-x: auto; padding-bottom: 6px; }
      .cashier-today-kpis .kpi { flex: 0 0 178px; }
      .cashier-secondary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      #cashierTodayOverview .table-wrap { overflow-x: hidden; max-height: none; }
      #cashierTodayTable { min-width: 0; table-layout: auto; }
      .filters { grid-template-columns: 1fr; }
      .room-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .module-grid, .task-board { grid-template-columns: 1fr; }
      .property-stage-grid { grid-template-columns: 1fr; }
      .card-actions, .section-actions, .property-stage-tools, .record-actions, .todo-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; align-items: stretch; }
      .card-actions .btn, .section-actions .btn, .property-stage-tools .btn, .record-actions .btn, .todo-actions .btn, .workbench-actions .btn { min-width: 0; width: 100%; }
      .cashier-primary-actions, .cashier-secondary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .workbench-actions { grid-template-columns: 1fr; }
      .module-card { min-height: auto; padding: 10px; gap: 7px; }
      .module-card h3 { font-size: 14px; line-height: 1.3; overflow-wrap: anywhere; }
      .module-card p { display: block; -webkit-line-clamp: unset; overflow: visible; overflow-wrap: anywhere; }
      #leads .panel-body, #rehab .panel-body, #water .panel-body, #kitchen .panel-body, #inventory .panel-body, #hr .panel-body { grid-template-columns: minmax(0, 1fr); }
      #leads .module-grid, #rehab .module-grid, #water .module-grid, #kitchen .module-grid, #inventory .module-grid, #hr .module-grid,
      #leads .lead-record-overview, #rehab .gift-entitlement-overview, #rehab .rehab-record-overview,
      #water .water-account-overview, #water .water-file-overview, #water .water-sale-overview, #water .water-goods-overview, #water .gift-entitlement-overview, #water .water-booking-overview, #water .water-sanitation-overview,
      #inventory .stock-balance-overview, #hr .hr-roster-overview, #hr .hr-interview-overview, #hr .hr-purchase-overview { min-width: 0; width: 100%; max-width: 100%; }
      .workbench-shell .panel-head h2 { font-size: 15px; }
      .workbench-head { padding: 10px; }
      .workbench-head h3 { font-size: 16px; }
      .workbench-stage { width: 100%; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 2px; -webkit-overflow-scrolling: touch; }
      .workbench-stage button, .workbench-stage span { flex: 0 0 auto; padding: 3px 7px; font-size: 11px; }
      .workbench-block { padding: 10px; }
	      .workbench-block.primary, .workbench-todo-block { padding-left: 9px; }
	      .water-unified-grid { grid-template-columns: 1fr; gap: 10px; }
	      .water-reminder-groups { grid-template-columns: 1fr; gap: 10px; }
	      .water-reminder-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	      .water-unified-panel .owner-alert-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	      .rehab-flow-head, .rehab-flow-next { grid-template-columns: 1fr; display: grid; }
	      .rehab-flow-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	      .rehab-flow-next .btn { width: 100%; }
	      .frontdesk-home-nav { grid-template-columns: 1fr; }
      .frontdesk-todo-grid, .frontdesk-stage-tabs { grid-template-columns: 1fr; }
      .frontdesk-owner-tab { flex-basis: 100%; }
      .frontdesk-home-section-head { grid-template-columns: 1fr; }
      .frontdesk-home-stats { justify-content: flex-start; }
      .frontdesk-clean-shell { grid-template-columns: 1fr; }
      .frontdesk-action-groups, .frontdesk-flow-board, .frontdesk-customer-grid { grid-template-columns: 1fr; }
      .frontdesk-inhouse-alerts { grid-template-columns: 1fr; }
      .frontdesk-quick-strip { grid-template-columns: 1fr; }
      .frontdesk-type-card { padding: 8px; }
      .frontdesk-filter-banner { align-items: stretch; }
      .frontdesk-filter-banner .btn { width: 100%; }
      .frontdesk-card-footer { display: grid; grid-template-columns: 1fr; }
      .frontdesk-card-actions { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .frontdesk-card-actions .btn { width: 100%; }
      body[data-role="frontDesk"] .frontdesk-timeline-head > .frontdesk-next-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
      body[data-role="frontDesk"] .frontdesk-timeline-head > .frontdesk-next-actions .btn { width: 100%; }
      .frontdesk-detail-hero { grid-template-columns: 1fr; }
      .frontdesk-detail-title { display: grid; grid-template-columns: 1fr; }
      .frontdesk-detail-tags { justify-content: flex-start; }
      .frontdesk-detail-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; min-width: 0; }
      .frontdesk-detail-actions .btn { width: 100%; min-width: 0; overflow-wrap: anywhere; }
      .frontdesk-detail-summary { grid-template-columns: 1fr; }
      .frontdesk-summary-item { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 8px; align-items: start; padding: 7px 8px; }
      .frontdesk-summary-item b { margin-bottom: 0; word-break: keep-all; overflow-wrap: normal; }
      .frontdesk-summary-item span { overflow-wrap: break-word; word-break: normal; }
      .frontdesk-section-head { display: grid; grid-template-columns: 1fr; }
      .frontdesk-detail-cards { grid-template-columns: 1fr; }
      .frontdesk-plan-head, .frontdesk-plan-grid { grid-template-columns: 1fr; }
      .frontdesk-plan-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .frontdesk-plan-actions .btn { width: 100%; min-width: 0; }
      .frontdesk-priority-card { grid-template-columns: 1fr; }
      .frontdesk-timeline-item, .frontdesk-cross-timeline .frontdesk-timeline-item { grid-template-columns: 64px minmax(0, 1fr); align-items: start; }
      .frontdesk-timeline-item > span:first-child { grid-column: 1; word-break: keep-all; overflow-wrap: normal; }
      .frontdesk-timeline-item > div:nth-child(2) { grid-column: 2; min-width: 0; }
      .frontdesk-timeline-item > .todo-actions { grid-column: 2; display: flex; flex-wrap: wrap; justify-content: flex-start; width: auto; }
      .frontdesk-timeline-item > .todo-actions .btn, .frontdesk-timeline-item > .todo-actions .tag { width: auto; min-width: 58px; }
      .frontdesk-service-head { grid-template-columns: 1fr; }
      .frontdesk-detail-field, .frontdesk-service-line { grid-template-columns: 76px minmax(0, 1fr); }
      .frontdesk-detail-field b, .frontdesk-service-line b { word-break: keep-all; overflow-wrap: normal; }
      .frontdesk-detail-field span, .frontdesk-service-line span { overflow-wrap: break-word; word-break: normal; }
      .frontdesk-service-stage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .focus-item { grid-template-columns: 22px minmax(0, 1fr); padding: 7px; overflow-wrap: anywhere; }
      .todo-row, .workbench-row, .hr-priority, .rowcard { grid-template-columns: 1fr; align-items: start; }
      .todo-row strong, .workbench-row strong, .hr-priority strong, .rowcard strong { white-space: normal; overflow-wrap: anywhere; }
      .todo-row span, .workbench-row span, .hr-priority span, .rowcard span { overflow-wrap: anywhere; }
      .table-wrap, .booking-wrap, .list { max-width: 100%; -webkit-overflow-scrolling: touch; }
      .table-wrap { max-height: 70vh; border: 1px solid var(--line); border-radius: 6px; overflow-x: hidden; overflow-y: auto; touch-action: pan-y; }
      .water-account-overview > .table-wrap, .water-booking-overview > .table-wrap, .water-service-overview > .table-wrap, .water-coupon-overview > .table-wrap, .water-goods-overview > .table-wrap, .water-sanitation-overview > .table-wrap { display: none; }
      #dataAudit .data-audit-table-wrap { display: none; }
      #dataAudit .kpis { display: grid; grid-template-columns: 1fr; overflow: visible; padding-bottom: 0; }
      #dataAudit .kpi { flex: 1 1 auto; width: 100%; min-width: 0; }
      #workflowCenter .kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; padding-bottom: 0; gap: 8px; }
      #workflowCenter .kpi { flex: 1 1 auto; width: 100%; min-width: 0; }
      #wecomAttendanceReviewSummary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; padding-bottom: 0; gap: 8px; }
      #wecomAttendanceReviewSummary .kpi { flex: 1 1 auto; width: 100%; min-width: 0; }
      #workflowCenter .task-board { grid-template-columns: 1fr; }
      .workflow-guidance-shell { margin: 10px 0; padding: 10px; }
      .workflow-guidance-head { display: grid; grid-template-columns: 1fr; }
      .workflow-guidance-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .workflow-guidance-priority, .workflow-guidance-later { grid-template-columns: 1fr; }
      .workflow-guidance-card { padding: 10px; }
      .workflow-guidance-card-head { align-items: flex-start; }
      .workflow-guidance-card-head > strong { text-align: left; }
      .workflow-guidance-primary, .workflow-guidance-facts { grid-template-columns: 1fr; }
      .workflow-guidance-due { grid-template-columns: auto minmax(0, 1fr); }
      .workflow-guidance-evidence { padding: 8px; }
      .daily-inspection-guidance-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .daily-inspection-panel.has-structured-guidance { padding: 9px; }
      .daily-inspection-filter-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .daily-inspection-filter-actions .btn:last-child { grid-column: 1 / -1; }
      #dataAudit .water-mobile-actions { grid-template-columns: 1fr; }
      #dataAudit .water-mobile-actions .btn { min-width: 0; width: 100%; overflow-wrap: anywhere; }
      .water-detail-group[open] .table-wrap { display: block !important; }
      .mobile-card-list:not(:empty) { display: grid; }
      .water-today-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
      .water-today-chip { padding: 9px; }
      .water-today-chip strong { font-size: 16px; }
      .water-schedule-slot { grid-template-columns: 58px minmax(0, 1fr); }
      .water-schedule-time { padding: 10px 6px; font-size: 12px; }
      .water-schedule-item { padding: 8px; }
      .water-schedule-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; }
      .water-schedule-actions .btn, .water-schedule-actions .tag { width: 100%; text-align: center; justify-content: center; }
      .water-mobile-card { padding: 9px; gap: 7px; }
      .water-mobile-card-head { display: grid; grid-template-columns: 1fr; }
      .water-mobile-tags { justify-content: flex-start; }
      .water-mobile-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; }
      .water-mobile-actions .btn, .water-mobile-actions .tag { width: 100%; text-align: center; justify-content: center; }
      .labor-fee-card-head, .labor-fee-card-body { grid-template-columns: 1fr; }
      .labor-fee-amount-box { text-align: left; min-width: 0; }
      .labor-fee-grid, .labor-fee-grid.wide { grid-template-columns: 1fr; }
      .labor-fee-card-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; }
      .labor-fee-card-actions .btn, .labor-fee-card-actions .tag { width: 100%; justify-content: center; text-align: center; }
      .labor-fee-filter-bar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
      .labor-fee-filter-bar .btn { width: 100%; min-height: 36px; }
      .labor-fee-filter-bar [data-labor-fee-clear] { grid-column: 1 / -1; }
      .labor-fee-export-actions input[type="search"] { grid-column: 1 / -1; width: 100%; min-width: 0; }
      .labor-fee-server-pager { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); text-align: center; }
      .labor-fee-server-pager span { grid-column: 1 / -1; grid-row: 1; }
      .labor-fee-server-pager .btn { width: 100%; min-width: 0; }
      .water-entitlement-row-meta { grid-template-columns: 1fr; }
      .labor-fee-entitlement-grid { grid-template-columns: 1fr; }
      .water-entitlement-row-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; }
      .water-entitlement-row-actions .btn, .water-entitlement-row-actions .tag { width: 100%; text-align: center; justify-content: center; }
      .redline-card-grid, .redemption-submit-summary-grid { grid-template-columns: 1fr; }
      .redemption-submit-summary { margin-bottom: 8px; }
      .rehab-client-report-modal { padding: 0; place-items: stretch; }
      .rehab-client-report-shell { width: 100%; max-height: 100vh; border-radius: 0; }
      .rehab-client-report-head { display: grid; grid-template-columns: 1fr; align-items: start; }
      .rehab-client-report-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; }
      .rehab-client-report-actions .btn { width: 100%; min-width: 0; }
      .rehab-client-report-content { padding: 10px; }
      .rehab-report-cover { padding: 20px 16px 15px; }
      .rehab-report-cover h1 { font-size: 22px; }
      .rehab-report-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 12px 16px; }
      .rehab-report-body { padding: 14px 16px 18px; }
      .rehab-report-grid { grid-template-columns: 1fr; }
      .rehab-report-footer { padding: 12px 16px 16px; }
      .property-subboard .table-wrap, .property-lease-overview .table-wrap { max-height: 72vh; }
      table { min-width: 960px; }
      th, td { padding: 7px 8px; }
      .mobile-card-table { width: 100%; min-width: 0; border-collapse: separate; border-spacing: 0 8px; }
      .mobile-card-table thead { display: none; }
      .mobile-card-table tbody, .mobile-card-table tr, .mobile-card-table td { display: block; width: 100%; }
      .mobile-card-table tr { border: 1px solid var(--line); border-radius: 7px; background: #fff; padding: 28px 8px 8px; margin-bottom: 8px; position: relative; }
      .mobile-card-table tr:not(.mobile-row-expanded) td:not(.mobile-priority-cell):not(.empty) { display: none; }
      .mobile-card-table tr.mobile-compact-row::after { content: "点开全部"; position: absolute; right: 8px; top: 6px; color: #10634e; font-size: 12px; font-weight: 800; }
      .mobile-card-table tr.mobile-row-expanded::after { content: "收起"; }
      .mobile-card-table td { border-bottom: 0; display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 8px; align-items: start; padding: 5px 2px; min-height: 28px; white-space: normal; overflow-wrap: anywhere; }
      .mobile-card-table td .btn { width: 100%; margin-top: 4px; }
      .mobile-card-table td::before { content: attr(data-label); color: var(--muted); font-weight: 800; font-size: 12px; }
      .mobile-card-table td.empty { display: block; padding: 14px 8px; text-align: center; }
      .mobile-card-table td.empty::before { content: none; }
      .mobile-card-table td.num { text-align: left; }
      .mobile-card-table .summary { max-width: none; }
      .booking-tools { position: sticky; top: 0; z-index: 12; display: grid; grid-template-columns: 1fr; align-items: stretch; gap: 8px; margin-top: 8px; padding: 9px; }
      .booking-tool-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); justify-content: stretch; }
      .booking-tool-actions .btn { width: 100%; min-width: 0; }
      .booking-wrap { max-height: 68vh; border: 1px solid var(--line); border-radius: 7px; overflow: auto; touch-action: pan-x pan-y; }
      .booking-table { --booking-cell: 38px; --booking-row: 38px; --booking-font: 12px; }
      .booking-table .month-head th { height: 34px; font-size: 14px; }
      .booking-table .day-head th { top: 34px; height: 32px; }
      .booking-table .room-label, .booking-table .corner { min-width: 78px; width: 78px; }
      .booking-name { max-width: 112px; line-height: 20px; }
      .booking-legend { bottom: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 10px; font-size: 11px; }
      .drawer.open { overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
      .shade { display: none; }
      .drawer-panel { position: relative; right: auto; top: auto; bottom: auto; width: 100vw; min-height: 100dvh; height: auto; padding: 0; border-left: 0; display: block; overflow: visible; box-shadow: none; }
      .drawer-head { flex: 0 0 auto; position: sticky; top: 0; background: #fff; z-index: 3; margin: 0; padding: 10px 12px; }
      #drawerContent { min-height: 0; overflow: visible; padding: 10px 12px calc(126px + env(safe-area-inset-bottom)); -webkit-overflow-scrolling: touch; }
      body.drawer-keyboard-open #drawerContent { padding-bottom: calc(56vh + 32px); }
      .password-modal { align-items: start; padding: 12px; }
      .password-card { padding: 14px; }
      .formgrid { grid-template-columns: 1fr; gap: 9px; }
      #drawerContent .field { border: 1px solid #edf1f5; border-radius: 7px; background: #fff; padding: 8px; }
      #drawerContent .field label, #drawerContent .field .field-label { color: #344054; line-height: 1.25; }
      #drawerContent input, #drawerContent select { height: 40px; font-size: 16px; }
      #drawerContent input, #drawerContent select, #drawerContent textarea { position: relative; z-index: 1; pointer-events: auto; user-select: text; -webkit-user-select: text; touch-action: manipulation; }
      #drawerContent input.mobile-prompt-control, #drawerContent textarea.mobile-prompt-control { pointer-events: auto; background: #fff; color: var(--text); }
      #drawerContent input, #drawerContent select, #drawerContent textarea { scroll-margin-bottom: calc(168px + env(safe-area-inset-bottom)); }
      body.drawer-keyboard-open #drawerContent input,
      body.drawer-keyboard-open #drawerContent select,
      body.drawer-keyboard-open #drawerContent textarea { scroll-margin-bottom: calc(52vh + 28px); }
      #drawerContent textarea { min-height: 92px; font-size: 16px; line-height: 1.45; }
      .drawer-content textarea { min-height: 104px; }
      .mobile-fill-btn { display: inline-flex; width: 100%; justify-content: center; margin-top: 6px; min-height: 36px; }
      .drawer-save-panel { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9; margin: 0; padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: rgba(255,255,255,.98); box-shadow: 0 -12px 26px rgba(15, 23, 42, .14); transition: transform .18s ease, opacity .18s ease; }
      body.drawer-keyboard-open .drawer-save-panel:not(.is-saving) { transform: translateY(calc(100% + 24px)); opacity: 0; pointer-events: none; }
      .drawer-save-panel summary { min-height: 44px; display: grid; place-items: center; padding: 8px 10px; }
      .drawer-save-panel[open] summary { margin-bottom: 8px; }
      .drawer-actions { display: grid; grid-template-columns: 1fr 1fr; position: static; margin: 8px 0 0; padding: 0; background: transparent; box-shadow: none; }
      .drawer-actions #drawerSaveBtn { grid-column: 1 / -1; order: -1; min-height: 48px; font-size: 16px; }
      .drawer-actions .btn { min-width: 0; width: 100%; min-height: 40px; padding-left: 5px; padding-right: 5px; white-space: normal; overflow: visible; text-overflow: clip; }
      .toast-stack { top: auto; right: 10px; left: 10px; bottom: calc(84px + env(safe-area-inset-bottom)); width: auto; }
      .drawer.open + .toast-stack { bottom: calc(164px + env(safe-area-inset-bottom)); }
      #aiAssistant .panel { border-radius: 0; border-left: 0; border-right: 0; }
      #aiAssistant .panel-head { padding: 8px 10px; }
      #aiAssistant .panel-body { padding: 0; }
      #aiAssistant .ai-layout { gap: 8px; }
      #aiAssistant .ai-chat { border-left: 0; border-right: 0; border-radius: 0; min-height: calc(100dvh - 278px); }
      #aiAssistant .ai-messages { max-height: none; min-height: calc(100dvh - 440px); padding: 8px; font-size: 14px; }
      #aiAssistant .ai-msg { max-width: 97%; padding: 9px 10px; margin-bottom: 8px; line-height: 1.5; }
      #aiAssistant .ai-draft { padding: 8px; }
      #aiAssistant .ai-composer { position: sticky; bottom: 0; z-index: 6; padding: 8px; box-shadow: 0 -10px 24px rgba(15, 23, 42, .08); }
      #aiAssistant .ai-composer .field { margin-bottom: 0; }
      #aiAssistant .ai-composer .field label { font-size: 12px; }
      #aiAssistant .ai-composer textarea { min-height: 66px; max-height: 118px; font-size: 16px; line-height: 1.45; }
      #aiAssistant .ai-shortcuts { flex-wrap: nowrap; overflow-x: auto; gap: 6px; padding-bottom: 4px; -webkit-overflow-scrolling: touch; }
      #aiAssistant .ai-shortcuts .btn { flex: 0 0 auto; min-width: 78px; padding: 8px 10px; white-space: normal; }
      #aiAssistant .drawer-actions { display: grid; grid-template-columns: 1fr 1fr 1.35fr; gap: 6px; border-top: 0; margin-top: 8px; padding-top: 0; }
      #aiAssistant .drawer-actions .btn { width: 100%; min-width: 0; padding-left: 6px; padding-right: 6px; }
      #aiAssistant .save-status { min-height: 18px; margin-top: 6px; padding: 0 2px; }
      #aiAssistant .ai-side { padding: 0 8px 10px; gap: 8px; }
      #aiAssistant .ai-side .workbench-block { padding: 9px; }
      #aiAssistant .ai-side .workbench-block:first-child,
      #aiAssistant .ai-side .workbench-block:last-child { display: none; }
	      #aiAssistant .ai-hint { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px; -webkit-overflow-scrolling: touch; }
	      #aiAssistant .ai-hint .btn { flex: 0 0 auto; min-width: 88px; white-space: nowrap; }
	      body[data-role="rehabTherapist"] .shell { grid-template-columns: minmax(0, 1fr); }
	      body[data-role="rehabTherapist"] aside { display: none; }
	      body[data-role="rehabTherapist"] .top { position: sticky; top: 0; z-index: 18; padding: 8px 10px; border-bottom: 1px solid var(--line); box-shadow: 0 6px 16px rgba(15, 23, 42, .06); }
	      body[data-role="rehabTherapist"] .top h1 { font-size: 16px; line-height: 1.2; }
	      body[data-role="rehabTherapist"] .top .meta { display: none; }
	      body[data-role="rehabTherapist"] .opbar { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
	      body[data-role="rehabTherapist"] .account-summary { grid-column: 1 / -1; padding: 6px 8px; }
	      body[data-role="rehabTherapist"] .opbar .field:not(.global-search-field) { display: none; }
	      body[data-role="rehabTherapist"] .opbar .global-search-field { grid-column: 1 / -1; }
	      body[data-role="rehabTherapist"] #changePasswordBtn,
	      body[data-role="rehabTherapist"] #logoutBtn { min-height: 34px; padding: 6px 8px; font-size: 12px; }
	      body[data-role="rehabTherapist"] .content { padding: 8px 7px 74px; gap: 8px; }
      body[data-role="owner"] .shell { grid-template-columns: minmax(0, 1fr); }
      body[data-role="owner"] aside { display: none; }
      body[data-role="owner"] .top { position: sticky; top: 0; z-index: 18; padding: 5px 7px; border-bottom: 1px solid var(--line); box-shadow: 0 5px 14px rgba(15, 23, 42, .05); }
      body[data-role="owner"] .top > div:first-child { display: none; }
      body[data-role="owner"] .opbar { display: block; }
      body[data-role="owner"] .opbar .global-search-field,
      body[data-role="owner"] #changePasswordBtn,
      body[data-role="owner"] #logoutBtn { display: none !important; }
      body[data-role="owner"] .opbar .field:not(.global-search-field) { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px; align-items: center; }
      body[data-role="owner"] .opbar .field:not(.global-search-field) label { margin: 0; white-space: nowrap; font-size: 11px; }
      body[data-role="owner"] .opbar .field:not(.global-search-field) input { height: 40px; padding: 5px 8px; font-size: 14px; }
      body[data-role="owner"] .content { padding: 6px 6px 82px; gap: 8px; }
      body[data-role="owner"] #ownerDashboard .owner-dashboard { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
      body[data-role="owner"] #ownerDashboard .owner-dashboard > .panel-head { display: none; }
      body[data-role="owner"] #ownerDashboard .owner-dashboard > .panel-body { padding: 0; gap: 0; }
      body[data-role="owner"] #ownerDashboard .owner-unified-home { display: none; }
      body[data-role="owner"] #ownerDashboard .owner-mobile-home { display: grid; gap: 8px; min-width: 0; }
      body[data-role="owner"] .owner-mobile-command { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 9px 10px; border: 1px solid #d5e5de; border-radius: 9px; background: linear-gradient(135deg, #f2f9f5, #fff); }
      body[data-role="owner"] .owner-mobile-command-copy { display: grid; gap: 3px; min-width: 0; }
      body[data-role="owner"] .owner-mobile-command-actions { display: flex; gap: 6px; align-items: center; min-width: 0; }
      body[data-role="owner"] .owner-mobile-command strong { color: #163e32; font-size: 15px; line-height: 1.3; overflow-wrap: anywhere; }
      body[data-role="owner"] .owner-mobile-command span { color: var(--muted); font-size: 11px; line-height: 1.35; }
      body[data-role="owner"] .owner-mobile-command .btn { min-width: 52px; min-height: 44px; padding: 6px 8px; }
      body[data-role="owner"] #ownerMobileGuidanceBtn { min-width: 78px; }
      body[data-role="owner"] .owner-mobile-priority-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
      body[data-role="owner"] .owner-mobile-priority-grid > .empty { grid-column: 1 / -1; min-height: 126px; display: grid; place-items: center; }
      body[data-role="owner"] .owner-mobile-priority-grid .owner-core-card { min-height: 88px; padding: 8px; gap: 3px; border-radius: 8px; align-content: start; }
      body[data-role="owner"] .owner-mobile-priority-grid .owner-core-card:last-child:nth-child(odd) { grid-column: 1 / -1; min-height: 76px; }
      body[data-role="owner"] .owner-mobile-priority-grid .owner-core-card strong { font-size: 12px; line-height: 1.25; }
      body[data-role="owner"] .owner-mobile-priority-grid .owner-core-card .value { font-size: 20px; line-height: 1.1; }
      body[data-role="owner"] .owner-mobile-priority-grid .owner-core-card > span { font-size: 10.5px; line-height: 1.3; }
      body[data-role="owner"] .owner-mobile-priority-grid .owner-card-link-hint { display: none; }
      body[data-role="owner"] .owner-mobile-scope { margin: 0; padding: 8px 9px; border: 1px solid #dce8e3; border-radius: 8px; background: #f7fbf9; color: #4a5c54; font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
      body[data-role="owner"] .owner-mobile-section { scroll-margin-top: 54px; border: 1px solid #e1e8ed; border-radius: 9px; background: #fff; padding: 9px; display: grid; gap: 8px; min-width: 0; }
      body[data-role="owner"] .owner-mobile-decision { border-left: 4px solid #d28a22; background: #fffdf8; }
      body[data-role="owner"] .owner-mobile-risk { border-left: 4px solid #c9473a; background: #fffafa; }
      body[data-role="owner"] .owner-mobile-section-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
      body[data-role="owner"] .owner-mobile-section-head > div { display: grid; gap: 2px; min-width: 0; }
      body[data-role="owner"] .owner-mobile-section-head strong { color: #24362e; font-size: 14px; line-height: 1.3; }
      body[data-role="owner"] .owner-mobile-section-head span:not(.tag) { color: var(--muted); font-size: 11px; line-height: 1.35; }
      body[data-role="owner"] .owner-mobile-fold { padding: 0; overflow: hidden; }
      body[data-role="owner"] .owner-mobile-fold[open] { padding-bottom: 9px; }
      body[data-role="owner"] .owner-mobile-fold > summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 52px; padding: 9px; cursor: pointer; list-style: none; }
      body[data-role="owner"] .owner-mobile-fold > summary::-webkit-details-marker { display: none; }
      body[data-role="owner"] .owner-mobile-fold > summary > span:first-child { display: grid; gap: 2px; min-width: 0; }
      body[data-role="owner"] .owner-mobile-fold > summary strong { color: #24362e; font-size: 14px; }
      body[data-role="owner"] .owner-mobile-fold > summary small { color: var(--muted); font-size: 11px; line-height: 1.35; overflow-wrap: anywhere; }
      body[data-role="owner"] .owner-mobile-fold > summary::after { content: "展开"; flex: 0 0 auto; border: 1px solid #d8e2e8; border-radius: 999px; padding: 3px 7px; color: #10634e; background: #f7fbf9; font-size: 11px; font-weight: 800; }
      body[data-role="owner"] .owner-mobile-fold[open] > summary::after { content: "收起"; }
      body[data-role="owner"] .owner-mobile-fold > summary > .tag { margin-left: auto; }
      body[data-role="owner"] .owner-mobile-fold > :not(summary) { margin-left: 9px; margin-right: 9px; }
      body[data-role="owner"] .owner-mobile-home .owner-layer-list { display: grid; gap: 7px; }
      body[data-role="owner"] .owner-mobile-home .owner-layer-row { min-height: 52px; padding: 9px; gap: 7px; }
      body[data-role="owner"] .owner-mobile-home .owner-layer-row .tag { justify-self: start; }
      body[data-role="owner"] .owner-mobile-home .owner-trend-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
      body[data-role="owner"] .owner-mobile-home .owner-trend-card { padding: 8px; }
      body[data-role="owner"] .owner-mobile-home .owner-trend-card h3 { font-size: 12px; }
      body[data-role="owner"] .owner-mobile-home .owner-trend-metrics { grid-template-columns: 1fr; gap: 5px; }
      body[data-role="owner"] .owner-mobile-home .owner-trend-metrics span { font-size: 10px; }
      body[data-role="owner"] .owner-mobile-home .owner-trend-metrics strong { font-size: 12px; }
      body[data-role="owner"] .owner-mobile-home .owner-target-row { padding: 8px; }
      body[data-role="owner"] .owner-mobile-trace-columns { display: grid; grid-template-columns: 1fr; gap: 8px; }
      body[data-role="owner"] .owner-mobile-secondary-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
      body[data-role="owner"] .owner-mobile-secondary-actions .btn,
      body[data-role="owner"] #ownerAccount .btn { width: 100%; min-height: 44px; }
      body[data-role="owner"] .mobile-quickbar button { min-height: 50px; }
      body[data-role="owner"] .mobile-quickbar button strong { font-size: 12px; line-height: 1.2; white-space: normal; }
      body[data-role="owner"] .site-icp-footer { padding-bottom: calc(84px + env(safe-area-inset-bottom)); }
      body[data-role="manager"] .shell { grid-template-columns: minmax(0, 1fr); }
      body[data-role="manager"] aside { display: none; }
      body[data-role="manager"] .top { position: sticky; top: 0; z-index: 18; padding: 6px 8px; border-bottom: 1px solid var(--line); box-shadow: 0 6px 16px rgba(15, 23, 42, .06); }
      body[data-role="manager"] .top > div:first-child { display: none; }
      body[data-role="manager"] .opbar { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
      body[data-role="manager"] .account-summary { grid-column: 1 / -1; padding: 5px 8px; min-height: 0; }
      body[data-role="manager"] .account-summary .label { display: none; }
      body[data-role="manager"] .opbar .global-search-field { display: none; }
      body[data-role="manager"] .opbar .field:not(.global-search-field) { grid-column: 1 / -1; }
      body[data-role="manager"] #changePasswordBtn { display: none; }
      body[data-role="manager"] #logoutBtn { min-height: 32px; padding: 5px 8px; font-size: 12px; }
      body[data-role="manager"] .content { padding: 6px 6px 74px; gap: 8px; }
      body[data-role="manager"] #dashboard .panel,
      body[data-role="manager"] .manager-ops-panel { border-left: 0; border-right: 0; border-radius: 0; }
      body[data-role="manager"] .manager-ops-panel .panel-head { padding: 8px; align-items: center; }
      body[data-role="manager"] .manager-ops-panel .panel-body { padding: 8px; }
      body[data-role="manager"] .manager-section-nav { grid-template-columns: minmax(0, 1fr) auto; gap: 6px; padding: 6px; }
      body[data-role="manager"] .manager-section-current { min-height: 38px; padding: 0 5px; }
      body[data-role="manager"] .manager-section-links { display: none; }
      body[data-role="manager"] .manager-section-more { min-width: 68px; }
      body[data-role="manager"] .manager-section-more-panel { top: calc(100% + 7px); right: 0; width: calc(100vw - 28px); max-height: min(58vh, calc(100dvh - 350px)); grid-template-columns: 1fr; gap: 10px; padding: 10px; }
      body[data-role="manager"] .manager-overview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
      body[data-role="manager"] .manager-overview-card { min-height: 116px; padding: 9px; gap: 4px; }
      body[data-role="manager"] .manager-overview-card .value { font-size: 22px; }
      body[data-role="manager"] .manager-overview-card span { font-size: 11px; line-height: 1.35; }
      body[data-role="manager"] .manager-stage-note { margin-bottom: 8px; }
      body[data-role="manager"] .owner-stage { padding: 9px; }
      body[data-role="manager"] .owner-stage + .owner-stage { margin-top: 8px; }
      body[data-role="manager"] .workbench-section-title { line-height: 1.35; }
      body[data-role="manager"] .manager-fold { padding: 0; overflow: hidden; }
      body[data-role="manager"] .manager-fold[open] { padding-bottom: 9px; }
      body[data-role="manager"] .manager-fold > summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 44px; padding: 9px; cursor: pointer; list-style: none; }
      body[data-role="manager"] .manager-fold > summary::-webkit-details-marker { display: none; }
      body[data-role="manager"] .manager-fold > summary::after { content: "展开"; flex: 0 0 auto; border: 1px solid #d8e2e8; border-radius: 999px; padding: 2px 8px; color: #10634e; background: #f7fbf9; font-size: 12px; font-weight: 800; }
      body[data-role="manager"] .manager-fold[open] > summary::after { content: "收起"; }
      body[data-role="manager"] .manager-fold > :not(summary) { margin-left: 9px; margin-right: 9px; }
      body[data-role="manager"] #managerRedlineGrid,
      body[data-role="manager"] #managerCustomerFlowGrid,
      body[data-role="manager"] #managerFinanceGrid,
      body[data-role="manager"] #managerRoomRiskGrid,
      body[data-role="manager"] .manager-role-grid,
      body[data-role="manager"] #managerServiceLoopGrid { grid-template-columns: 1fr; gap: 8px; }
      .review-lanes { grid-template-columns: 1fr; }
      body[data-role="manager"] .owner-alert-item,
      body[data-role="manager"] .manager-role-card,
      body[data-role="manager"] .todo-row { padding: 9px; min-height: auto; }
      body[data-role="manager"] .owner-alert-item .value { font-size: 20px; }
      body[data-role="manager"] .manager-mini-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      body[data-role="waterTherapist"] #waterCustomerAccountOverview .section-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 6px; margin-bottom: 8px; }
      body[data-role="waterTherapist"] .water-member-tools { padding: 7px; gap: 7px; }
      body[data-role="waterTherapist"] .water-member-filter-panel summary { align-items: flex-start; min-height: 38px; padding: 9px; }
      body[data-role="waterTherapist"] .water-member-filter-summary { justify-content: flex-start; }
      body[data-role="waterTherapist"] .water-initial-bar { flex-wrap: wrap; overflow: visible; padding-bottom: 0; }
      body[data-role="waterTherapist"] .water-initial-bar button { flex: 1 0 calc(20% - 6px); min-width: 46px; }
      body[data-role="waterTherapist"] #waterRightsTodayStrip { display: flex; flex-wrap: wrap; grid-template-columns: none; overflow: visible; gap: 6px; padding-bottom: 0; }
      body[data-role="waterTherapist"] #waterRightsTodayStrip.water-filter-chip-strip .water-today-chip { flex: 1 1 calc(50% - 6px); justify-content: center; min-width: 0; text-align: center; }
      body[data-role="waterTherapist"] #waterRightsTodayStrip .owner-alert-item { flex: 0 0 148px; min-height: 82px; }
      body[data-role="waterTherapist"] #waterCustomerAccountCards .water-mobile-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      body[data-role="waterTherapist"] #waterCustomerAccountCards .water-mobile-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; }
      body[data-role="waterTherapist"] #waterCustomerAccountCards .water-mobile-actions .btn,
      body[data-role="waterTherapist"] #waterCustomerAccountCards .water-card-more { width: 100%; min-width: 0; }
      body[data-role="waterTherapist"] #waterCustomerAccountCards .water-mobile-actions [data-gift-deduct-type="water"] { grid-column: 1 / -1; order: -2; min-height: 44px; font-size: 14px; }
      body[data-role="waterTherapist"] #waterCustomerAccountCards .water-mobile-actions [data-water-redemption-detail] { order: -1; }
      body[data-role="waterTherapist"] .redemption-submit-summary-grid { grid-template-columns: 1fr; }
      body[data-role="waterTherapist"] .redemption-extra-summary .redemption-submit-summary-grid { margin-top: 6px; }
	      body[data-role="rehabTherapist"] #dashboard .panel,
	      body[data-role="rehabTherapist"] #rehabRights .panel,
	      body[data-role="rehabTherapist"] #rehabOrderPage .panel { border-left: 0; border-right: 0; border-radius: 0; }
	      body[data-role="rehabTherapist"] #dashboard .panel-head,
	      body[data-role="rehabTherapist"] #rehabRights .panel-head,
	      body[data-role="rehabTherapist"] #rehabOrderPage .panel-head { padding: 8px 9px; }
	      body[data-role="rehabTherapist"] #dashboard .panel-body,
	      body[data-role="rehabTherapist"] #rehabRights .panel-body,
	      body[data-role="rehabTherapist"] #rehabOrderPage .panel-body { padding: 9px 8px; }
	      body[data-role="rehabTherapist"] #rehabEntitlementFilters { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; padding: 8px; border: 1px solid #dde9e4; border-radius: 7px; background: #fbfdfc; }
	      body[data-role="rehabTherapist"] #rehabEntitlementFilters .field:first-child { grid-column: 1 / -1; }
	      body[data-role="rehabTherapist"] #rehabEntitlementFilters label { font-size: 11px; }
	      body[data-role="rehabTherapist"] #rehabEntitlementFilters input,
	      body[data-role="rehabTherapist"] #rehabEntitlementFilters select { height: 38px; font-size: 14px; }
	      body[data-role="rehabTherapist"] #rehabEntitlementClearFilters { min-height: 38px; }
	      body[data-role="rehabTherapist"] .rehab-rule-line { padding: 8px 9px; font-size: 12px; line-height: 1.45; }
		      body[data-role="rehabTherapist"] #rehabGiftEntitlementCards { gap: 8px; }
		      body[data-role="rehabTherapist"] #rehabGiftEntitlementCards .water-mobile-card { padding: 10px; border-radius: 8px; }
		      body[data-role="rehabTherapist"] #rehabGiftEntitlementCards .water-mobile-card-head strong { font-size: 15px; }
		      body[data-role="rehabTherapist"] #rehabGiftEntitlementCards .water-mobile-meta { grid-template-columns: 1fr; gap: 4px; font-size: 12.5px; line-height: 1.35; }
		      body[data-role="rehabTherapist"] #rehabGiftEntitlementCards .water-mobile-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
		      body[data-role="rehabTherapist"] #rehabGiftEntitlementCards .water-mobile-actions [data-gift-deduct-type="rehab"] { grid-column: 1 / -1; order: -1; min-height: 46px; font-size: 15px; }
	      body[data-role="rehabTherapist"] #rehabGiftEntitlementCards [data-rehab-entitlement-more] { min-height: 44px; font-size: 14px; }
	      .summary { max-width: 280px; }
	    }
    @media print {
      * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
      body * { visibility: hidden !important; }
      #rehabClientReportContent, #rehabClientReportContent * { visibility: visible !important; }
      #rehabClientReportModal { position: static !important; inset: auto !important; display: block !important; padding: 0 !important; background: #fff !important; }
      .rehab-client-report-shade, .rehab-client-report-head { display: none !important; }
      .rehab-client-report-shell { position: static !important; width: 100% !important; max-height: none !important; overflow: visible !important; border: 0 !important; box-shadow: none !important; background: #fff !important; }
      .rehab-client-report-content { padding: 0 !important; }
      .rehab-report-sheet { width: 100% !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
      .rehab-report-cover { background: linear-gradient(135deg, #163d34 0%, #1f6a58 58%, #d6ad72 58.4%, #f6ead9 59%, #fffaf1 100%) !important; }
      .rehab-report-section { break-inside: avoid; page-break-inside: avoid; }
    }
