:root{--background:#f4f7f6;--surface:#fff;--surface-soft:#eef5f2;--text:#17211d;--muted:#5b6963;--line:#dce4df;--primary:#16796f;--primary-strong:#0f5d55;--warning:#a56912;--danger:#a92319;--shadow:0 18px 45px #17211d14}*{box-sizing:border-box}html,body{max-width:100%;min-height:100%;margin:0;overflow-x:clip}body{background:var(--background);color:var(--text);font-family:Arial,Noto Sans Thai,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}.app-shell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--line);height:100vh;padding:24px;position:sticky;top:0;overflow:auto}.brand{align-items:center;gap:12px;min-width:0;margin-bottom:32px;display:flex}.brand-mark{background:var(--primary);color:#fff;border-radius:8px;place-items:center;width:48px;height:48px;font-size:24px;font-weight:700;display:grid}.brand strong,.brand small{display:block}.brand small{color:var(--muted);margin-top:2px}nav{display:grid}.nav-menu{gap:22px}.nav-group{gap:8px;display:grid}.nav-group h2{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0;font-size:12px}.nav-link-stack{gap:6px;display:grid}.nav-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.nav-quick-grid a{border:1px solid var(--line);border-left-width:5px;align-content:center;min-height:76px;padding:10px}.nav-quick-grid a:first-child{background:#edf7ff;border-left-color:#2f78b7}.nav-quick-grid a:nth-child(2){background:#fff8e9;border-left-color:#b87813}.nav-quick-grid a:nth-child(3){background:#eef8f3;border-left-color:#22845d}.nav-quick-grid a:nth-child(4){background:#eef4ff;border-left-color:#496fb3}.nav-quick-grid a strong{color:var(--text);font-size:22px;line-height:1.05}.nav-quick-grid a span{color:var(--muted);font-size:13px}.nav-quick-grid a.quick-active{border-color:var(--primary);box-shadow:inset 0 0 0 2px #147e6e1f}.nav-menu a{color:var(--muted);border-radius:8px;gap:1px;padding:10px 12px;display:grid}.nav-menu a span{color:inherit;font-weight:700}.nav-menu a small{color:var(--muted);font-size:12px}.nav-menu a:hover,.nav-menu a.active{background:var(--surface-soft);color:var(--text)}.nav-menu a.active{box-shadow:inset 4px 0 0 var(--primary)}.mobile-quick-dock{display:none}.sidebar-note{color:var(--muted);margin-top:24px}.user-panel{border-top:1px solid var(--line);color:var(--muted);gap:6px;margin-top:24px;padding-top:16px;display:grid}.user-panel span,.user-panel strong{display:block}.user-panel strong{color:var(--text);text-transform:capitalize}.user-panel button{color:var(--primary-strong);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0}.main-content{min-width:0;padding:32px}.page-section{width:100%;min-width:0;max-width:min(1180px,100%)}.dashboard-section,.payments-section,.command-hub-section{max-width:100%}.page-section>*,.workflow-panel,.meter-reading-workbench,.meter-mode-panels,.reading-section,.reading-floor-list,.reading-floor-group,.reading-list{width:100%;min-width:0;max-width:1180px}.narrow-section{max-width:560px}.eyebrow{color:var(--primary-strong);text-transform:uppercase;margin:0 0 8px;font-size:14px;font-weight:700}h1{margin:0;font-size:34px;line-height:1.15}h2{line-height:1.2}.lead{color:var(--muted);max-width:680px;font-size:18px;line-height:1.6}.action-row{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.no-margin{margin-top:0}.primary-action{background:var(--primary);color:#fff;cursor:pointer;font:inherit;border:0;border-radius:8px;justify-content:center;align-items:center;min-height:52px;padding:0 20px;font-weight:700;display:inline-flex}.secondary-link{border:1px solid var(--line);color:var(--primary-strong);border-radius:8px;justify-content:center;align-items:center;min-height:52px;padding:0 20px;font-weight:700;display:inline-flex}.primary-action:hover{background:var(--primary-strong)}.secondary-link:hover,.secondary-action:hover{border-color:#8cbdb2}.compact-link{justify-content:center;min-height:44px}.page-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.count-pill{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:8px 12px;font-weight:700}.dashboard-section{gap:20px;display:grid}.dashboard-hero{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(135deg,#fff 0%,#ecf6f2 100%);border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(240px,320px);align-items:stretch;gap:24px;padding:28px;display:grid}.dashboard-hero h1{font-size:42px}.hero-action-panel{border:1px solid var(--line);background:#ffffffb8;border-radius:8px;align-content:center;gap:10px;padding:18px;display:grid}.hero-action-panel span,.dashboard-card span{color:var(--muted);font-size:14px;font-weight:700}.hero-action-panel strong{font-size:22px}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;display:grid}.daily-launch-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:16px;padding:20px;display:grid}.daily-launch-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.daily-launch-card{border:1px solid var(--line);border-left-width:8px;border-radius:8px;gap:8px;min-height:160px;padding:18px;display:grid}.daily-launch-card:first-child{background:#edf7ff;border-left-color:#2f78b7}.daily-launch-card:nth-child(2){background:#fff8e9;border-left-color:#b87813}.daily-launch-card:nth-child(3){background:#fffdf6;border-left-color:#c09121}.daily-launch-card:nth-child(4){background:#eef8f3;border-left-color:#22845d}.daily-launch-card:nth-child(5){background:#eef4ff;border-left-color:#496fb3}.daily-launch-card span{background:var(--surface);border:1px solid var(--line);border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:800;display:inline-flex}.daily-launch-card strong{color:var(--text);font-size:26px;line-height:1.15}.daily-launch-card p{color:var(--muted);margin:0}.daily-launch-card:hover{border-color:#9fc8bd;transform:translateY(-1px)}.dashboard-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:8px;padding:18px;display:grid;box-shadow:0 10px 24px #17211d0a}.dashboard-card:hover{border-color:#a9ccc4;transform:translateY(-1px)}.dashboard-card strong{font-size:36px;line-height:1}.dashboard-card p{color:var(--muted);margin:0}.dashboard-card.warning{background:#fffaf0;border-color:#e6c98d}.wide-card{grid-column:1/-1}.wide-card strong{font-size:24px}.property-overview-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:16px;padding:20px;display:grid}.section-heading-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.section-heading-row h2{margin:0;font-size:26px}.property-card-list{gap:12px;display:grid}.property-card{border:1px solid var(--line);border-radius:8px;gap:16px;padding:18px;display:grid}.property-card-main{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;display:grid}.property-card h3,.property-card p{margin:0}.property-card h3{font-size:22px}.property-card p{color:var(--muted);margin-top:6px}.property-alert-count{background:var(--surface-soft);text-align:right;border-radius:8px;gap:2px;min-width:92px;padding:10px 12px;display:grid}.property-alert-count span,.status-metric span{color:var(--muted);font-size:13px;font-weight:700}.property-alert-count strong{color:var(--primary-strong);font-size:28px;line-height:1}.property-status-row,.property-action-row{flex-wrap:wrap;gap:10px;display:flex}.status-metric{border:1px solid var(--line);background:#f8fbfa;border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:8px 10px;display:flex}.status-metric strong{color:var(--text)}.status-metric.warning{background:#fff7e6;border-color:#f0cf8a}.status-metric.warning strong{color:var(--warning)}.next-work-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px;display:grid}.next-work-panel h2,.next-work-panel p{margin:0}.next-work-panel p{color:var(--muted);margin-top:8px}.next-work-actions{flex-wrap:wrap;gap:10px;display:flex}.metric-row{flex-wrap:wrap;gap:8px;display:flex}.room-list{gap:12px;display:grid}.room-group-list{gap:16px;display:grid}.room-group{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}.room-group summary{cursor:pointer;background:#eef5f2;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;list-style:none;display:flex}.room-group summary::-webkit-details-marker{display:none}.room-group summary:before{color:var(--primary-strong);content:"▾";font-weight:700}.room-group:not([open]) summary:before{content:"▸"}.room-group summary span{color:var(--text);flex:1;font-weight:700}.room-group summary strong{color:var(--muted);font-size:14px}.room-group .room-list{padding:12px}.room-view-switcher{gap:16px;display:grid}.room-display-settings{background:#fffdf7;border:2px solid #f2d28b;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:2px;padding:16px;display:flex}.room-display-settings h2,.room-display-settings p{margin:0}.room-display-settings p{color:var(--muted);margin-top:4px}.segmented-control{border:1px solid var(--line);background:#fff;border-radius:8px;flex-wrap:wrap;gap:8px;padding:6px;display:flex}.segmented-control button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:8px;min-height:48px;padding:0 14px;font-weight:700}.segmented-control button.active{background:var(--primary);color:#fff}.room-view-simple .room-classic-view,.room-view-classic .room-simple-view{display:none}.room-card-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;padding:14px;display:grid}.big-room-card{border:2px solid #d6e3de;border-left:10px solid var(--primary);background:#fff;border-radius:8px;gap:14px;min-width:0;padding:16px;display:grid;box-shadow:0 10px 22px #17211d0d}.big-room-card.is-inactive{opacity:.82;border-left-color:#7b8580}.big-room-top{justify-content:space-between;align-items:start;gap:12px;display:flex}.big-room-top>div{gap:2px;min-width:0;display:grid}.room-number-label{color:var(--muted);text-transform:uppercase;font-size:14px;font-weight:700}.big-room-top strong{color:#0f2620;overflow-wrap:anywhere;font-size:48px;line-height:.95}.room-status-pill{border-radius:999px;flex:none;min-height:38px;padding:8px 12px;font-weight:700}.status-good{color:#10633b;background:#dff7e9}.status-neutral{color:#4b5752;background:#eef1ef}.room-location-line{color:var(--muted);flex-wrap:wrap;gap:8px;font-weight:700;display:flex}.room-location-line span{background:#eef7f5;border-radius:8px;padding:6px 8px}.room-big-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.room-big-facts div{border:1px solid var(--line);background:#f8fbfa;border-radius:8px;gap:4px;min-width:0;padding:12px;display:grid}.room-big-facts span,.room-edit-details summary{color:var(--muted);font-size:15px;font-weight:700}.room-big-facts strong{overflow-wrap:anywhere;font-size:22px;line-height:1.25}.room-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.blue-action,.teal-action{color:#fff;border-radius:8px;justify-content:center;align-items:center;min-height:52px;padding:0 12px;font-weight:700;display:inline-flex}.blue-action{background:#226bd2}.teal-action{background:var(--primary)}.room-edit-details{border-top:1px solid var(--line);gap:12px;padding-top:12px;display:grid}.room-edit-details summary{cursor:pointer;min-height:44px;padding-top:10px}.room-edit-details .room-edit-form{grid-template-columns:repeat(2,minmax(0,1fr))}.room-edit-details .secondary-action,.room-edit-details .checkbox-label{align-self:end}.contract-list{gap:10px;display:grid}.invoice-group-list,.invoice-approve-form{gap:16px;display:grid}.invoice-approve-bar{background:var(--surface);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.invoice-approve-bar div{gap:4px;display:grid}.invoice-approve-bar span{color:var(--muted)}.red-flag-list{gap:10px;display:grid}.red-flag-approval-form,.red-flag-groups{gap:18px;display:grid}.approval-reason{color:var(--muted);flex:1;gap:6px;min-width:280px;font-weight:700;display:grid}.approval-reason input{border:1px solid var(--line);color:var(--text);font:inherit;border-radius:8px;min-height:44px;padding:0 12px}.red-flag-group{gap:10px;display:grid}.approved-follow-up-panel{gap:12px;margin-top:18px;display:grid}.approved-follow-up-panel .group-header{background:#fff7e6;border-color:#f3d08a}.approved-follow-up-panel .group-header strong{color:var(--warning);font-size:18px}.follow-up-list{gap:10px;display:grid}.group-header{border:1px solid var(--line);background:#eef5f2;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.group-header h2,.group-header p{margin:0}.group-header p{color:var(--muted);margin-top:4px}.notice{color:var(--warning);background:#fff7e6;border:1px solid #f0cf8a;border-radius:8px;margin-bottom:16px;padding:14px 16px;font-weight:700}.empty-state{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:18px;font-weight:700}.settings-form{gap:16px;display:grid}.settings-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:18px;padding:18px;display:grid}.settings-panel h2,.settings-panel p{margin:0}.settings-panel p{color:var(--muted)}.settings-option-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.settings-option-card{border:1px solid var(--line);cursor:pointer;background:#f8fbfa;border-radius:8px;align-items:flex-start;gap:12px;padding:14px;display:flex}.settings-option-card:has(input:checked){border-color:var(--primary);background:#e8f5f1;box-shadow:inset 0 0 0 2px #16796f29}.settings-option-card input{margin-top:4px}.settings-option-card span{gap:6px;display:grid}.settings-option-card small,.settings-field-grid label span,.settings-save-bar span{color:var(--muted)}.settings-field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.settings-field-grid label{color:var(--muted);gap:8px;font-weight:700;display:grid}.settings-field-grid input{border:1px solid var(--line);color:var(--text);font:inherit;border-radius:8px;width:100%;min-height:52px;padding:0 14px;font-weight:700}.settings-save-bar{background:#fff8e9;border:1px solid #f0d59d;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.settings-save-bar div{gap:4px;display:grid}.communication-status{border:1px solid var(--line);border-left:5px solid var(--primary);background:#f8fbfa;border-radius:8px;gap:6px;padding:16px;display:grid}.communication-channel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.communication-status.management-channel{background:#fff8e9;border-left-color:#c27a0a}.communication-status small{color:var(--muted);font-weight:700}.communication-status span{color:var(--muted)}.form-stack{gap:18px;margin-top:28px;display:grid}.form-stack label{color:var(--muted);gap:8px;font-weight:700;display:grid}.form-stack input,.form-stack select,.form-stack textarea{border:1px solid var(--line);color:var(--text);font:inherit;border-radius:8px;min-height:52px;padding:0 14px}.form-stack textarea{resize:vertical;padding:12px 14px}.management-stack{gap:14px;margin-bottom:18px;display:grid}.building-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:14px;padding:16px;display:grid}.building-create-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:14px;display:grid}.building-create-form>div:first-child{grid-column:1/-1}.building-list{gap:10px;display:grid}.building-edit-form{border:1px solid var(--line);background:#f8fbfa;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:10px;padding:12px;display:grid}.management-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:1.2fr 1fr .5fr .9fr .9fr auto;align-items:end;gap:14px;margin-bottom:18px;padding:16px;display:grid}.batch-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:14px;padding:16px;display:grid}.move-floor-panel{background:#fffdf7;border:1px solid #f2d28b;border-radius:8px;grid-template-columns:minmax(220px,1.2fr) minmax(180px,1fr) .45fr minmax(180px,1fr) auto;align-items:end;gap:14px;padding:16px;display:grid}.move-floor-panel p{color:var(--muted);margin:6px 0 0}.batch-panel-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.management-panel h2,.building-create-form h2,.batch-panel h2,.move-floor-panel h2{margin:0;font-size:20px}.batch-grid{grid-template-columns:1fr .5fr .8fr .6fr .6fr;gap:14px;display:grid}.building-create-form label,.building-edit-form label,.management-panel label,.move-floor-panel label,.batch-grid label,.room-edit-form label{color:var(--muted);gap:6px;font-size:14px;font-weight:700;display:grid}.building-create-form input,.building-create-form select,.building-edit-form input,.building-edit-form select,.management-panel input,.management-panel select,.move-floor-panel input,.move-floor-panel select,.batch-grid input,.batch-grid select,.batch-grid textarea,.room-edit-form input,.room-edit-form select{border:1px solid var(--line);color:var(--text);font:inherit;border-radius:8px;min-width:0;min-height:44px;padding:0 12px}.batch-grid textarea{resize:vertical;min-height:104px;padding:10px 12px}.room-codes-field{grid-column:1/-1}.building-edit-form div{gap:4px;display:grid}.building-edit-form span{color:var(--muted);font-size:14px}.room-edit-form{grid-template-columns:minmax(180px,1.2fr) minmax(72px,.45fr) minmax(110px,.7fr) minmax(120px,.8fr) minmax(92px,auto) auto;align-items:end;gap:12px;min-width:0;display:grid}.checkbox-label{align-items:center;min-height:44px;display:flex!important}.checkbox-label input{width:18px;height:18px;min-height:0}.workflow-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-items:end;gap:16px;margin-bottom:18px;padding:16px;display:flex}.invoice-workflow-panel{grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);align-items:stretch;display:grid}.invoice-generate-area{flex-wrap:wrap;align-items:end;gap:12px;min-width:0;display:flex}.invoice-meter-helper{border:1px solid var(--line);border-left:4px solid var(--primary);background:#f7fbfa;border-radius:8px;gap:6px;padding:12px 14px;display:grid}.invoice-meter-helper strong{color:var(--primary-strong)}.invoice-meter-helper span{color:var(--muted)}.invoice-meter-helper a{color:var(--primary-strong);font-weight:800;text-decoration:none}.inline-form{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.inline-form label{color:var(--muted);gap:6px;font-weight:700;display:grid}.inline-form input,.reading-form input{border:1px solid var(--line);color:var(--text);font:inherit;border-radius:8px;min-height:44px;padding:0 12px}.month-picker{border:1px solid var(--line);background:#f7fbfa;border-radius:8px;gap:8px;min-width:min(100%,440px);padding:12px;display:grid}.month-picker-control{grid-template-columns:48px minmax(220px,1fr) 48px;align-items:end;gap:8px;display:grid}.month-picker-control label{min-width:0}.month-picker-control input{width:100%;font-size:20px;font-weight:800}.month-picker-control button{background:var(--surface);border:1px solid var(--line);color:var(--primary-strong);cursor:pointer;font:inherit;border-radius:8px;min-height:52px;font-size:24px;font-weight:800}.month-picker p{color:var(--muted);margin:0;font-size:14px;font-weight:700}.month-picker strong{color:var(--text)}.secondary-action,.danger-action,.ghost-action{cursor:pointer;font:inherit;border-radius:8px;min-height:44px;padding:0 14px;font-weight:700}.secondary-action{color:var(--primary-strong);background:#e8f2ef;border:1px solid #b8d5ce}.danger-action{color:var(--danger);background:#fff1f0;border:1px solid #f1aaa4}.ghost-action{border:1px solid var(--line);color:var(--muted);background:0 0}.reading-month{color:var(--muted);margin:18px 0}.meter-import-panel{background:#fffdf7;border:2px solid #f2d28b;border-radius:8px;gap:16px;margin:18px 0;padding:18px;display:grid}.meter-import-panel summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;list-style:none;display:flex}.meter-import-panel summary::-webkit-details-marker{display:none}.meter-import-panel summary:before{color:#a66a00;content:"▸";font-size:22px;font-weight:800}.meter-import-panel[open] summary:before{content:"▾"}.meter-import-panel summary div{flex:1}.meter-import-panel summary span{color:#795000;white-space:nowrap;background:#fff7e3;border:1px solid #e5bf60;border-radius:8px;padding:10px 14px;font-weight:800}.meter-import-panel h2,.meter-import-panel p{margin:0}.meter-import-panel p{color:var(--muted);margin-top:6px}.meter-import-actions{flex-wrap:wrap;align-items:end;gap:12px;padding-top:12px;display:flex}.meter-import-actions>label:not(.file-upload-control){color:var(--muted);gap:6px;font-weight:700;display:grid}.meter-import-actions select{background:var(--surface);border:1px solid var(--line);color:var(--text);font:inherit;border-radius:8px;min-width:min(280px,75vw);min-height:52px;padding:0 12px}.file-upload-control{background:var(--surface);border:1px solid var(--line);color:var(--primary-strong);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;min-height:52px;padding:0 20px;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.file-upload-control input{cursor:pointer;opacity:0;position:absolute;inset:0}.meter-import-preview{gap:12px;display:grid}.meter-import-summary{flex-wrap:wrap;gap:10px;display:flex}.meter-import-summary strong,.meter-import-summary span{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:8px 12px}.meter-import-table{gap:8px;display:grid}.meter-import-row{background:var(--surface);border:1px solid var(--line);border-left-width:8px;border-radius:8px;grid-template-columns:minmax(220px,1.4fr) .6fr .6fr minmax(180px,1fr);align-items:center;gap:10px;padding:12px;display:grid}.meter-import-row.matched{border-left-color:#1f8a50}.meter-import-row.problem{border-left-color:var(--danger)}.meter-import-row span,.meter-import-row em{color:var(--muted);font-style:normal;font-weight:700}.meter-import-row.problem em{color:var(--danger)}.meter-reading-workbench{gap:18px;display:grid}.meter-mode-radio{opacity:0;pointer-events:none;position:absolute}.meter-switch-board{border:1px solid var(--line);z-index:5;background:#f4f7f6f5;border-radius:8px;gap:10px;margin:18px 0;padding:10px;display:grid;position:sticky;top:12px}.meter-active-banner{border:2px solid #0000;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px 14px;min-width:0;padding:12px;display:flex}.meter-active-banner.water-active{background:#eaf4ff;border-color:#2f8fd0}.meter-active-banner.electric-active{background:#fff1f5;border-color:#be123c}.meter-active-icon,.utility-mini-mark,.meter-jump b{border-radius:999px;justify-content:center;align-items:center;font-weight:900;display:inline-flex}.meter-active-icon{color:#fff;width:48px;height:48px;font-size:22px}.water-active .meter-active-icon{background:#147eaa}.electric-active .meter-active-icon{background:#be123c}.meter-active-banner div{gap:2px;min-width:0;display:grid}.meter-active-banner span{color:var(--muted);text-transform:uppercase;font-size:14px;font-weight:800}.meter-active-banner strong{color:var(--text);font-size:24px;line-height:1.1}.meter-active-banner p{color:var(--text);min-width:min(100%,280px);margin:0 0 0 auto;font-weight:800}.meter-month-tools{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(130px,auto) minmax(0,1fr) minmax(130px,auto);align-items:center;gap:10px;padding:10px;display:grid}.meter-month-tools div{text-align:center;justify-items:center;gap:2px;min-width:0;display:grid}.meter-month-tools span{color:var(--muted);font-size:14px;font-weight:800}.meter-month-tools strong{color:var(--text);font-size:20px;line-height:1.15}.meter-month-tools small{color:var(--primary-strong);font-size:14px;font-weight:800}.meter-month-tools button{color:var(--primary-strong);cursor:pointer;font:inherit;background:#eef7f5;border:1px solid #bddfd4;border-radius:8px;min-height:48px;padding:0 12px;font-weight:800}.meter-quick-nav{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.meter-jump{color:var(--text);cursor:pointer;font:inherit;text-align:left;border:2px solid #0000;border-radius:8px;gap:2px;min-height:64px;padding:10px 12px;display:grid}:is(.meter-reading-workbench:has(#meter-mode-water:checked) .water-jump,.meter-reading-workbench:has(#meter-mode-electric:checked) .electric-jump,.meter-jump.active){border-color:var(--primary);box-shadow:inset 0 0 0 2px #147e6e29}.meter-reading-workbench:has(#meter-mode-water:checked) .water-jump{border-color:#147eaa;box-shadow:inset 0 0 0 2px #147eaa33}.meter-reading-workbench:has(#meter-mode-electric:checked) .electric-jump{border-color:#be123c;box-shadow:inset 0 0 0 2px #be123c29}:is(.meter-reading-workbench:has(#meter-mode-water:checked) .electric-reading-panel,.meter-reading-workbench:has(#meter-mode-electric:checked) .water-reading-panel){display:none}.meter-mode-panels{gap:18px;display:grid}.meter-jump span{color:var(--muted);align-items:center;gap:6px;font-size:14px;font-weight:700;display:inline-flex}.meter-jump b{color:#fff;width:24px;height:24px;font-size:12px}.water-jump b{background:#147eaa}.electric-jump b{background:#be123c}.meter-jump strong{font-size:20px;line-height:1.2}.meter-jump small{color:var(--muted);font-size:13px}.meter-jump em{color:var(--primary-strong);font-size:13px;font-style:normal;font-weight:800}.water-jump{background:#eaf4ff;border-color:#9fc7ec}.electric-jump{background:#fff3f8;border-color:#efadc7}.review-jump{background:#fff9ec;border-color:#edcf83}.meter-position-toggle{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.meter-position-toggle span{color:var(--muted);margin-right:4px;font-size:14px;font-weight:800}.meter-position-toggle button{background:var(--surface);border:1px solid var(--line);color:var(--primary-strong);cursor:pointer;font:inherit;border-radius:8px;min-height:44px;padding:0 12px;font-weight:800}.meter-position-toggle button.active{background:var(--primary);border-color:var(--primary);color:#fff}.reading-month h2,.reading-section h2{color:var(--text);margin-bottom:6px}.reading-section{margin-top:0;scroll-margin-top:110px}.reading-section-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:12px;display:flex}.reading-section-heading .eyebrow{margin-bottom:2px}.reading-section-heading h2{margin:0;font-size:clamp(28px,3vw,40px);line-height:1}.reading-section-heading>span{background:var(--surface);border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;padding:10px 14px;font-weight:800}.floor-jump-panel{border:1px solid var(--line);background:#f8fbfa;border-radius:8px;margin:0 0 14px;overflow:hidden}.floor-jump-panel summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding:12px 14px;list-style:none;display:flex}.floor-jump-panel summary::-webkit-details-marker{display:none}.floor-jump-panel summary:before{color:var(--primary-strong);content:"▸";font-weight:800}.floor-jump-panel[open] summary:before{content:"▾"}.floor-jump-panel summary span{flex:1;font-weight:800}.floor-jump-panel summary strong{color:var(--muted);white-space:nowrap;font-size:14px}.floor-jump-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:0;padding:0 12px 12px;display:grid}.floor-jump-list a{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:2px;min-width:0;padding:10px 12px;display:grid}.floor-jump-list strong{color:var(--primary-strong)}.floor-jump-list span,.floor-jump-list small{color:var(--muted);font-size:13px;font-weight:700}.reading-floor-list,.reading-list{gap:10px;display:grid}.reading-floor-list{gap:14px}.reading-floor-group{border:1px solid var(--line);border-radius:8px;gap:10px;padding:12px;scroll-margin-top:120px;display:grid}.reading-floor-group.floor-tone-0{background:#f4fbf8}.reading-floor-group.floor-tone-1{background:#fff9ec}.reading-floor-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.reading-floor-heading strong{color:var(--primary-strong);font-size:20px}.reading-floor-heading span{color:var(--muted);font-weight:700}.reading-row{background:var(--surface);border:1px solid var(--line);border-left-width:8px;border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;padding:14px;scroll-margin-top:110px;display:flex}.reading-row-water{border-left-color:#147eaa}.reading-row-electric{border-left-color:#be123c}.reading-row-water .reading-form input:focus{border-color:#147eaa;outline:none;box-shadow:0 0 0 3px #147eaa29}.reading-row-electric .reading-form input:focus{border-color:#be123c;outline:none;box-shadow:0 0 0 3px #be123c24}.reading-row-water .secondary-action{color:#0f5f7d;background:#eaf4ff;border-color:#9fc7ec}.reading-row-electric .secondary-action{color:#9f1239;background:#fff1f5;border-color:#f4a7ba}.reading-row-water .secondary-action:hover{border-color:#147eaa}.reading-row-electric .secondary-action:hover{border-color:#be123c}.reading-row>div:first-child{flex:210px}.reading-row>div:nth-of-type(2){flex:0 96px}.reading-row>div:nth-of-type(3),.reading-row>div:nth-of-type(4){flex:0 92px}.reading-row>.status-badge{flex:0 150px}.reading-row>form:last-child{flex:0 180px}.reading-row div{gap:4px;display:grid}.reading-row>div:first-child>strong{align-items:center;gap:8px;display:inline-flex}.utility-mini-mark{color:#fff;flex:none;width:26px;height:26px;font-size:12px}.reading-row-water .utility-mini-mark{background:#147eaa}.reading-row-electric .utility-mini-mark{background:#be123c}.reading-row span{color:var(--muted);font-size:14px}.reading-row .reading-period-chip{color:var(--primary-strong);background:#eef7f5;border:1px solid #bddfd4;border-radius:999px;width:fit-content;padding:5px 8px;font-size:13px;font-weight:800;line-height:1.2;display:inline-flex}.reading-row-water .reading-period-chip{color:#0f5f7d;background:#eaf4ff;border-color:#9fc7ec}.reading-row-electric .reading-period-chip{color:#9f1239;background:#fff1f5;border-color:#f4a7ba}.reading-form{flex:999 420px;grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) minmax(128px,auto);gap:8px;min-width:min(100%,320px);display:grid}.reading-form input,.reading-form button,.reading-row .ghost-action{width:100%}.status-badge{color:var(--muted);text-transform:capitalize;border-radius:8px;padding:8px 10px}.status-badge strong,.status-badge span{display:block}.status-entered,.status-approved{color:#14623a;background:#e8f7ef}.status-missing{background:#f2f4f3}.status-needs-review{color:var(--warning);background:#fff7e6}.room-row{background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:1.5fr 1.5fr 1fr 1fr;align-items:start;gap:16px;padding:16px;display:grid}.editable-room-row{grid-template-columns:minmax(0,1.6fr) minmax(360px,.9fr)}.locked-note{color:var(--muted);white-space:nowrap;font-size:14px;font-weight:700}.room-row-details{border:1px solid var(--line);background:#f8fbfa;border-radius:8px;grid-template-columns:minmax(150px,1.2fr) minmax(96px,.7fr) minmax(88px,.6fr) minmax(86px,auto);align-items:start;gap:12px;min-width:0;padding:12px;display:grid}.room-row-details strong{overflow-wrap:anywhere}.room-history-action{justify-items:start;gap:4px;display:grid}.room-history-action form{width:100%}.contract-row{background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:1.1fr 1.4fr .9fr .9fr 1.4fr .7fr;align-items:center;gap:16px;padding:16px;display:grid}.invoice-building-group{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}.invoice-building-group summary{cursor:pointer;background:#eef5f2;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;list-style:none;display:flex}.invoice-building-group summary::-webkit-details-marker{display:none}.invoice-building-group summary:before{color:var(--primary-strong);content:"▾";font-weight:700}.invoice-building-group:not([open]) summary:before{content:"▸"}.invoice-building-group summary span{flex:1;font-size:20px;font-weight:700}.invoice-building-group summary strong{color:var(--muted);text-align:right;font-size:14px}.invoice-floor-stack{gap:18px;padding:16px;display:grid}.invoice-floor-group{gap:12px;display:grid}.invoice-floor-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.invoice-floor-heading h2{margin:0;font-size:20px}.invoice-floor-heading span{color:var(--muted);font-weight:700}.invoice-card-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.invoice-review-card{border:1px solid var(--line);border-radius:8px;gap:14px;padding:16px;display:grid}.invoice-select{color:var(--muted);align-items:center;gap:8px;font-weight:700;display:flex}.invoice-select input{width:18px;height:18px}.invoice-card-topline{justify-content:space-between;align-items:start;gap:12px;display:flex}.invoice-card-topline div,.invoice-tenant-line{gap:4px;display:grid}.invoice-card-topline span,.invoice-tenant-line span,.invoice-card-footer span{color:var(--muted);font-size:14px}.invoice-card-topline strong:first-of-type{font-size:30px;line-height:1}.invoice-card-total{color:var(--primary-strong);text-align:right;font-size:22px;line-height:1.1}.invoice-badge-row{flex-wrap:wrap;gap:6px;display:flex}.soft-badge,.warning-badge{border-radius:8px;padding:6px 8px;font-size:13px;font-weight:700}.soft-badge{color:var(--primary-strong);background:#edf4f1}.warning-badge{color:var(--warning);background:#fff7e6}.invoice-card-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.invoice-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.invoice-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:18px}.invoice-card h2{margin:0 0 16px;font-size:22px}.detail-list{gap:12px;margin:0;display:grid}.detail-list div{gap:4px;display:grid}.detail-list dt{color:var(--muted);font-size:14px}.detail-list dd{margin:0;font-weight:700}.invoice-lines-card{margin-bottom:16px}.invoice-lines{border:1px solid var(--line);border-radius:8px;overflow:hidden}.invoice-lines-header,.invoice-line{grid-template-columns:1.7fr .5fr .6fr .8fr;gap:12px;padding:12px 14px;display:grid}.invoice-lines-header{color:var(--muted);background:#eef5f2;font-size:14px;font-weight:700}.invoice-line{border-top:1px solid var(--line);align-items:center}.invoice-line div{gap:4px;display:grid}.invoice-line span{color:var(--muted)}.invoice-totals{justify-content:end;gap:8px;margin-top:16px;display:grid}.invoice-totals div{grid-template-columns:120px 160px;gap:24px;display:grid}.invoice-totals span,.muted-text{color:var(--muted)}.invoice-totals strong{text-align:right}.payments-section,.other-income-section{max-width:1480px}.other-income-filter{border:1px solid var(--line);background:#eef8f4;border-radius:8px;grid-template-columns:minmax(220px,360px) auto;justify-content:start;align-items:end;gap:12px;margin-bottom:16px;padding:16px;display:grid}.other-income-filter label{color:var(--muted);gap:8px;font-weight:700;display:grid}.other-income-filter input{border:1px solid var(--line);color:var(--foreground);font:inherit;border-radius:8px;min-height:52px;padding:10px 12px}.other-income-note{background:#fff7e5;border:1px solid #efc96d;border-radius:8px;gap:4px;margin-bottom:16px;padding:14px 16px;display:grid}.other-income-note span,.other-income-row span,.other-income-row small{color:var(--muted)}.other-income-list{gap:10px;display:grid}.other-income-row{border:1px solid var(--line);border-left:5px solid #b77a08;border-radius:8px;grid-template-columns:.75fr .9fr 1fr 1fr auto;align-items:center;gap:14px;padding:14px;display:grid}.other-income-row>div{gap:4px;min-width:0;display:grid}.other-income-row strong,.other-income-row small{overflow-wrap:anywhere}.other-income-amount strong{color:#805400;font-size:22px}.other-income-status{background:#e9f6f1;border-radius:8px;padding:10px 12px}.payment-search-panel{border:1px solid var(--line);background:#eef8f4;border-radius:8px;grid-template-columns:minmax(240px,1fr) auto auto;align-items:end;gap:12px;margin-bottom:16px;padding:16px;display:grid}.payment-search-panel label,.payment-form label{color:var(--muted);gap:8px;font-weight:700;display:grid}.payment-search-panel input,.payment-form input,.payment-form select,.payment-form textarea{border:1px solid var(--line);color:var(--foreground);font:inherit;border-radius:8px;min-height:52px;padding:10px 12px}.payment-work-grid{grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:16px;display:grid}.payment-invoice-list,.payment-history-list,.payment-form{gap:12px;display:grid}.payment-invoice-card{border:1px solid var(--line);border-radius:8px;grid-template-columns:.6fr 1fr .8fr auto;align-items:center;gap:12px;padding:14px;display:grid}.payment-invoice-card div,.payment-history-row div,.payment-summary-card div{gap:4px;display:grid}.payment-invoice-card span,.payment-invoice-card small,.payment-history-row span,.payment-summary-card span{color:var(--muted)}.payment-invoice-card strong{font-size:22px}.payment-summary-card{border:1px solid var(--line);background:#f5fbf8;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;display:grid}.payment-summary-card strong{font-size:24px}.payment-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.payment-record-card{border-color:#bddfd4}.payment-history-row{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.text-capitalize{text-transform:capitalize}.command-hub-section,.command-hub-section>*{max-width:1480px}.live-hub-notice{background:#e9f6f1;border:1px solid #bddfd4;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:16px 20px;display:flex}.live-hub-notice p{color:var(--muted);margin:6px 0 0}.onboarding-board{background:var(--surface);border:1px solid var(--line);border-radius:8px;margin-bottom:16px;padding:16px}.onboarding-board-header,.onboarding-wizard-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.onboarding-board-header h2,.onboarding-wizard-header h3{margin:0}.onboarding-card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px;display:grid}.onboarding-card{border:1px solid var(--line);border-left:6px solid var(--primary);border-radius:8px;gap:12px;padding:14px;display:grid}.onboarding-card div:first-child{gap:4px;display:grid}.onboarding-card span,.onboarding-card small{color:var(--muted)}.command-hub-grid{grid-template-columns:minmax(260px,.8fr) minmax(420px,1.4fr) minmax(300px,.9fr);align-items:start;gap:16px;display:grid}.command-inbox,.command-chat,.command-side-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-width:0;padding:16px}.command-inbox,.command-side-panel{max-height:calc(100vh - 64px);overflow:auto}.command-inbox h2,.command-chat h2,.command-side-panel h2{margin:0 0 14px;font-size:22px}.command-conversation-list,.command-timeline{gap:10px;display:grid}.command-conversation{border:1px solid var(--line);border-radius:8px;gap:10px;padding:12px;display:grid}.command-conversation.selected{border-color:var(--primary);box-shadow:inset 4px 0 0 var(--primary)}.command-conversation div:first-child{gap:4px;display:grid}.command-conversation span,.command-chat-header span,.command-message span{color:var(--muted);font-size:14px}.command-conversation-meta{flex-wrap:wrap;gap:6px;display:flex}.command-chat{grid-template-rows:auto minmax(0,1fr) auto;gap:14px;height:calc(100vh - 64px);min-height:560px;max-height:900px;display:grid;position:sticky;top:16px;overflow:hidden}.command-chat-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.command-chat-header h2{margin-bottom:4px}.command-timeline{align-content:start;min-height:0;padding-right:4px;overflow:auto}.command-message{border:1px solid var(--line);border-radius:8px;gap:8px;max-width:82%;padding:12px;display:grid}.command-message.inbound{justify-self:start}.command-message.outbound{background:#e8f2ef;justify-self:end}.command-message div{justify-content:space-between;gap:10px;display:flex}.command-message p{white-space:pre-wrap;margin:0}.reply-form{border-top:1px solid var(--line);gap:10px;padding-top:12px;display:grid}.reply-form textarea{border:1px solid var(--line);color:var(--text);font:inherit;resize:vertical;border-radius:8px;padding:12px 14px}.command-side-stack{gap:16px;display:grid}.onboarding-wizard-card{background:#f6fbf9;border:1px solid #bddfd4;border-radius:8px;gap:14px;padding:14px;display:grid}.onboarding-progress{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;display:grid}.onboarding-progress span{border:1px solid var(--line);color:var(--muted);text-align:center;background:#fff;border-radius:8px;padding:8px;font-size:13px;font-weight:700}.onboarding-progress span.current{background:var(--primary);border-color:var(--primary);color:#fff}.onboarding-room-summary,.onboarding-document-status{border:1px solid var(--line);background:#fff;border-radius:8px;gap:4px;padding:12px;display:grid}.onboarding-room-summary span,.onboarding-document-status span{color:var(--muted)}.onboarding-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.onboarding-actions form,.onboarding-actions button{width:100%}.red-flag-row{background:var(--surface);border:1px solid var(--line);border-left-width:6px;border-radius:8px;grid-template-columns:.7fr 1.6fr 1.1fr 1.2fr .9fr 1.7fr;align-items:center;gap:16px;padding:16px;display:grid}.follow-up-row{background:var(--surface);border:1px solid var(--line);border-left-width:6px;border-radius:8px;grid-template-columns:minmax(140px,1.1fr) minmax(110px,.8fr) minmax(180px,1.3fr) minmax(210px,1.6fr) auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.follow-up-row div{gap:4px;min-width:0;display:grid}.follow-up-row span{color:var(--muted);font-size:14px}.follow-up-row strong{overflow-wrap:anywhere}.red-flag-row div{gap:4px;display:grid}.red-flag-row span{color:var(--muted);font-size:14px}.red-flag-high{border-left-color:#b42318}.red-flag-medium{border-left-color:var(--warning)}.flag-severity{color:#b42318;text-transform:uppercase;font-weight:700}.flag-checkbox{color:var(--muted);align-items:center;gap:8px;font-weight:700;display:flex}.flag-checkbox input{width:20px;height:20px}.contract-row div{gap:4px;display:grid}.contract-row span{color:var(--muted);font-size:14px}.room-row div{gap:4px;display:grid}.room-row span{color:var(--muted);font-size:14px}.mobile-section-menu{display:none}.analytics-section{gap:18px;max-width:100%;display:grid}.analytics-header{justify-content:space-between;align-items:end;gap:24px;display:flex}.analytics-header h1{margin-bottom:6px}.analytics-header .lead{margin:0}.analytics-month-picker{background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:44px minmax(170px,1fr) auto 44px;align-items:end;gap:8px;padding:10px;display:grid}.analytics-month-picker label{gap:4px;display:grid}.analytics-month-picker label span{color:var(--muted);font-size:12px;font-weight:700}.analytics-month-picker a,.analytics-month-picker button{background:var(--surface-soft);border:1px solid var(--line);color:var(--primary-strong);border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:8px 12px;font-size:18px;font-weight:800;display:flex}.analytics-month-picker button{background:var(--primary);border-color:var(--primary);color:#fff}.analytics-readiness{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.analytics-readiness>div{background:var(--surface);border:1px solid var(--line);border-left:6px solid #5474ad;border-radius:8px;gap:4px;min-width:0;padding:14px 16px;display:grid}.analytics-readiness>div.ready{border-left-color:#27865d}.analytics-readiness>div.attention{background:#fffaf0;border-left-color:#c58618}.analytics-readiness span,.analytics-readiness small{color:var(--muted)}.analytics-readiness strong,.analytics-readiness small{overflow-wrap:anywhere}.analytics-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.analytics-kpi{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:8px;min-width:0;padding:18px;display:grid}.analytics-kpi.draft{border-top:5px solid #bd7a12}.analytics-kpi.billed{border-top:5px solid #3d67a6}.analytics-kpi.collected{border-top:5px solid #23855a}.analytics-kpi.outstanding{border-top:5px solid #b8342b}.analytics-kpi span,.analytics-kpi small{color:var(--muted)}.analytics-kpi strong{overflow-wrap:anywhere;font-size:clamp(22px,2vw,32px);line-height:1.1}.analytics-two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.analytics-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:16px;min-width:0;padding:18px;display:grid}.utility-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.utility-summary{border:1px solid var(--line);border-left:6px solid;border-radius:8px;gap:5px;padding:16px;display:grid}.utility-summary.water{background:#edf7ff;border-left-color:#367ec3}.utility-summary.electricity{background:#fff1f6;border-left-color:#c34672}.utility-summary span{color:var(--muted);font-weight:700}.utility-summary strong{font-size:24px}.utility-summary b{color:var(--primary-strong)}.analytics-callout,.analytics-source-note{color:#76500f;background:#fff8e8;border:1px solid #eed19b;border-radius:8px;margin:0;padding:12px 14px}.composition-list{gap:8px;display:grid}.composition-row{border-bottom:1px solid var(--line);grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;display:grid}.composition-row i,.analytics-legend i{border-radius:3px;width:12px;height:12px;display:inline-block}.composition-row i.rent{background:#3d67a6}.composition-row i.water{background:#367ec3}.composition-row i.electricity{background:#c34672}.composition-row i.other{background:#7b6ca8}.analytics-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.analytics-legend i{margin-left:8px}.analytics-legend .draft,.trend-bars .draft{background:#bd7a12}.analytics-legend .billed,.trend-bars .billed{background:#3d67a6}.analytics-legend .collected,.trend-bars .collected{background:#23855a}.analytics-legend .utilities,.trend-bars .utilities{background:#c34672}.analytics-trend{border-bottom:1px solid var(--line);grid-template-columns:repeat(6,minmax(70px,1fr));align-items:end;gap:10px;min-height:230px;padding:12px 6px 0;display:grid}.analytics-trend article{place-items:center;gap:5px;min-width:0;display:grid}.analytics-trend article>small{color:var(--muted);overflow-wrap:anywhere;text-align:center;font-size:11px}.trend-bars{align-items:end;gap:3px;width:min(100%,94px);height:160px;display:flex}.trend-bars span{border-radius:3px 3px 0 0;width:25%;min-height:2px}.building-analysis-list{gap:8px;display:grid}.building-analysis-list article{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(170px,1.4fr) repeat(4,minmax(120px,1fr));align-items:center;gap:12px;padding:14px;display:grid}.building-analysis-list article>div{gap:3px;min-width:0;display:grid}.building-analysis-list span,.building-analysis-list small{color:var(--muted);overflow-wrap:anywhere}.building-analysis-name strong{font-size:18px}.top-usage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.top-usage-grid article{border:1px solid var(--line);border-radius:8px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.top-usage-grid article>span{background:var(--surface-soft);border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-weight:800;display:flex}.top-usage-grid article>div{gap:3px;min-width:0;display:grid}.top-usage-grid small{color:var(--muted);overflow-wrap:anywhere}.reports-section{gap:18px;max-width:100%;display:grid}.reports-header{justify-content:space-between;align-items:end;gap:20px;display:flex}.reports-header h1{margin-bottom:6px}.reports-header .lead{margin:0}.report-actions{gap:8px;display:flex}.report-filter-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(150px,.8fr) minmax(170px,1fr) minmax(150px,.8fr) minmax(190px,1.2fr) auto;align-items:end;gap:10px;padding:16px;display:grid}.report-filter-panel label{gap:5px;min-width:0;display:grid}.report-filter-panel label span{color:var(--muted);font-size:13px;font-weight:700}.report-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.report-summary-card{background:var(--surface);border:1px solid var(--line);border-left:6px solid;border-radius:8px;gap:6px;min-width:0;padding:16px;display:grid}.report-summary-card.draft{border-left-color:#bd7a12}.report-summary-card.billed{border-left-color:#3d67a6}.report-summary-card.paid{border-left-color:#23855a}.report-summary-card.due{border-left-color:#b8342b}.report-summary-card span,.report-summary-card small{color:var(--muted)}.report-summary-card strong{overflow-wrap:anywhere;font-size:clamp(20px,2vw,30px);line-height:1.1}.report-context-strip{background:#eef4ff;border:1px solid #cbd9ee;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px 16px;display:grid}.report-context-strip>div{gap:3px;min-width:0;display:grid}.report-context-strip span{color:var(--muted);font-size:12px}.report-context-strip strong{overflow-wrap:anywhere}.monthly-report-list{gap:8px;display:grid}.monthly-report-heading,.monthly-report-row{grid-template-columns:minmax(210px,1.35fr) minmax(300px,1.8fr) minmax(150px,.8fr) minmax(180px,1fr);gap:14px;display:grid}.monthly-report-heading{color:var(--muted);padding:0 16px;font-size:13px;font-weight:800}.monthly-report-row{background:var(--surface);border:1px solid var(--line);border-left:6px solid #3d67a6;border-radius:8px;align-items:center;padding:14px 16px}.monthly-report-row.status-draft{border-left-color:#bd7a12}.monthly-report-row.status-paid{border-left-color:#23855a}.monthly-report-row.status-overdue,.monthly-report-row.status-partially_paid{border-left-color:#b8342b}.report-room-identity,.report-total-cell,.report-payment-cell{gap:4px;min-width:0;display:grid}.report-room-identity>span,.report-total-cell>span,.report-total-cell small,.report-payment-cell small{color:var(--muted);font-size:12px}.report-room-identity strong{font-size:22px}.report-room-identity b,.report-room-identity a{overflow-wrap:anywhere}.report-room-identity a{color:var(--primary-strong);font-size:12px;text-decoration:underline}.report-charge-breakdown{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.report-charge-breakdown>div{background:var(--surface-soft);border-radius:6px;gap:3px;min-width:0;padding:9px;display:grid}.report-charge-breakdown span{color:var(--muted);font-size:11px}.report-charge-breakdown strong{overflow-wrap:anywhere}.report-total-cell strong{color:var(--primary-strong);overflow-wrap:anywhere;font-size:20px}.report-payment-cell .invoice-status{justify-self:start}.expenses-section{gap:22px;max-width:1480px}.expense-total-pill{color:#9e2f2a;background:#fff1f0;border-color:#efb2ac}.expense-pending-pill{color:#7a4a00;background:#fff7e7;border-color:#efca7b}.expense-success{color:#17643b;background:#e9f8ef;border-color:#a8d8bb}.expense-warning{color:#7a4a00;background:#fff7e7;border-color:#efca7b}.expense-entry-panel,.expense-summary-section,.expense-ledger-section{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:20px}.expense-entry-panel{border-left:6px solid #c8463b}.expense-required-note{color:#9e2f2a;font-size:13px}.expense-entry-form,.expense-form-grid,.expense-filter-panel,.expense-summary-section,.expense-ledger-section,.expense-list{gap:14px;display:grid}.expense-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.expense-form-grid label,.expense-filter-panel label,.expense-review-actions label,.expense-reverse-details label{color:var(--muted);gap:7px;min-width:0;font-size:13px;font-weight:800;display:grid}.expense-form-grid input,.expense-form-grid select,.expense-form-grid textarea,.expense-filter-panel input,.expense-filter-panel select,.expense-review-actions input,.expense-reverse-details input{border:1px solid var(--line);color:var(--text);font:inherit;background:#fff;border-radius:8px;width:100%;min-width:0;min-height:46px;padding:10px 12px}.expense-form-grid textarea{resize:vertical;min-height:76px}.expense-description-field,.expense-notes-field{grid-column:span 2}.expense-form-footer{color:var(--muted);background:#fff8e9;border-radius:6px;justify-content:space-between;align-items:center;gap:16px;padding:12px;display:flex}.expense-submit{background:#b63c34;min-width:180px}.expense-filter-panel{border:1px solid var(--line);background:#f5faf8;border-radius:8px;grid-template-columns:repeat(3,minmax(160px,1fr)) auto auto;align-items:end;padding:16px}.expense-filter-panel .secondary-action{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.expense-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.expense-summary-grid article{background:#fff4f2;border-left:5px solid #c8463b;border-radius:6px;gap:8px;min-width:0;padding:14px;display:grid}.expense-summary-grid span{color:var(--muted);overflow-wrap:anywhere;font-size:13px}.expense-summary-grid strong{overflow-wrap:anywhere;font-size:20px}.expense-summary-grid .expense-building-summary{border-left-color:var(--primary);background:#eef7f3}.expense-summary-grid .expense-company-summary{background:#fff8e9;border-left-color:#c78614}.expense-row{border:1px solid var(--line);border-left:5px solid #c8463b;border-radius:8px;gap:12px;padding:15px;display:grid}.expense-row-main{grid-template-columns:1.5fr 1.1fr 1.1fr 1fr 1fr;align-items:start;gap:16px;display:grid}.expense-row-main>div{gap:4px;min-width:0;display:grid}.expense-row-main span,.expense-row-main small{color:var(--muted);font-size:12px}.expense-row-main strong,.expense-row-main a{overflow-wrap:anywhere}.expense-row-title strong{font-size:17px}.expense-row-amount strong{color:#a3312a;font-size:20px}.expense-row-amount a{color:var(--primary-strong);font-size:13px;font-weight:800}.expense-row-note,.expense-reversed-note{background:var(--surface-soft);color:var(--muted);border-radius:6px;margin:0;padding:9px 11px}.expense-row-reversed{opacity:.76;border-left-color:#8c9691}.expense-row-pending{background:#fffbf1;border-left-color:#c78614}.expense-row-rejected{opacity:.82;background:#f7f7f7;border-left-color:#8c9691}.expense-approval-badge{border-radius:5px;justify-self:start;padding:5px 8px;font-weight:900}.expense-approval-approved{background:#e9f8ef;color:#17643b!important}.expense-approval-pending{background:#fff0cc;color:#7a4a00!important}.expense-approval-rejected{background:#ecefed;color:#59635f!important}.expense-review-actions{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:10px;padding-top:12px;display:grid}.expense-row-reversed .expense-row-amount strong{color:var(--muted);text-decoration:line-through}.expense-reverse-details{border-top:1px solid var(--line);padding-top:10px}.expense-reverse-details summary{color:#9e2f2a;cursor:pointer;font-size:13px;font-weight:800}.expense-reverse-details form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:10px;display:grid}@media (max-width:1180px){.analytics-header{flex-direction:column;align-items:stretch}.analytics-kpis,.building-analysis-list article{grid-template-columns:repeat(2,minmax(0,1fr))}.building-analysis-name{grid-column:1/-1}.report-filter-panel,.expense-form-grid,.expense-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-filter-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.expense-row-main{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter-panel button{grid-column:1/-1}.monthly-report-heading{display:none}.monthly-report-row{grid-template-columns:repeat(2,minmax(0,1fr))}.room-display-settings,.building-create-form,.building-edit-form,.management-panel,.move-floor-panel,.payment-search-panel,.payment-work-grid{grid-template-columns:1fr;align-items:stretch}.room-display-settings{flex-direction:column}.segmented-control{width:100%}.segmented-control button{flex:1}.editable-room-row,.room-row-details,.room-edit-form{grid-template-columns:1fr}}@media (max-width:760px){.app-shell{grid-template-columns:1fr}body{padding-bottom:86px}.sidebar{border-bottom:1px solid var(--line);border-right:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;height:auto;padding:12px 16px;display:grid;position:static;overflow:visible}.brand{margin-bottom:0}.brand-mark{width:42px;height:42px}.nav-menu,.user-panel{display:none}.mobile-section-menu{display:block;position:relative}.mobile-section-menu summary{background:var(--surface-soft);border:1px solid var(--line);color:var(--primary-strong);cursor:pointer;border-radius:8px;padding:10px 12px;font-weight:800;list-style:none}.mobile-section-menu summary::-webkit-details-marker{display:none}.mobile-section-menu[open]>div{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);z-index:30;border-radius:8px;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(340px,100vw - 24px);padding:10px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.mobile-section-menu a{border-left:4px solid #0000;border-radius:6px;gap:2px;min-width:0;padding:9px;display:grid}.mobile-section-menu a.active{background:var(--surface-soft);border-left-color:var(--primary)}.mobile-section-menu a span{color:var(--muted);font-size:11px}.mobile-quick-dock{border:1px solid var(--line);z-index:20;background:#fffffff5;border-radius:8px 8px 0 0;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 28px #17211d1f}.mobile-quick-dock a{border:1px solid var(--line);text-align:center;border-radius:8px;place-items:center;gap:2px;min-height:64px;padding:6px 4px;display:grid}.mobile-quick-dock a:first-child{background:#edf7ff}.mobile-quick-dock a:nth-child(2){background:#fff8e9}.mobile-quick-dock a:nth-child(3){background:#eef8f3}.mobile-quick-dock a:nth-child(4){background:#eef4ff}.mobile-quick-dock a.quick-active{border-color:var(--primary);box-shadow:inset 0 0 0 2px #147e6e1f}.mobile-quick-dock strong{color:var(--text);font-size:18px;line-height:1}.mobile-quick-dock span{color:var(--muted);overflow-wrap:anywhere;font-size:11px;font-weight:700}.main-content{padding:24px 16px}.analytics-month-picker{grid-template-columns:44px minmax(0,1fr) 44px}.analytics-month-picker button{grid-area:2/1/auto/-1}.analytics-readiness,.analytics-kpis,.analytics-two-column,.utility-summary-grid,.top-usage-grid{grid-template-columns:1fr}.analytics-panel,.analytics-kpi{padding:14px}.analytics-trend{grid-template-columns:repeat(6,minmax(42px,1fr));gap:5px;min-height:190px}.trend-bars{height:120px}.analytics-legend{align-items:flex-start}.building-analysis-list article{grid-template-columns:1fr 1fr}.top-usage-grid article{grid-template-columns:32px minmax(0,1fr)}.top-usage-grid article b{grid-column:2}.reports-header,.report-actions{flex-direction:column;align-items:stretch}.report-filter-panel,.report-summary-grid,.report-context-strip,.monthly-report-row{grid-template-columns:1fr}.report-filter-panel button{grid-column:auto}.report-charge-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-report-row{gap:12px;padding:14px}h1,.dashboard-hero h1{font-size:30px}.dashboard-hero,.daily-launch-card,.next-work-panel{grid-template-columns:1fr;padding:20px}.daily-launch-card{min-height:132px}.property-card-main{grid-template-columns:1fr}.property-alert-count{text-align:left}.section-heading-row,.onboarding-board-header,.onboarding-wizard-header,.property-action-row,.next-work-actions{flex-direction:column;align-items:stretch}.page-header{flex-direction:column;align-items:flex-start}.room-row{grid-template-columns:1fr}.workflow-panel,.invoice-workflow-panel,.inline-form,.month-picker{grid-template-columns:1fr;align-items:stretch;width:100%}.month-picker-control{grid-template-columns:44px minmax(0,1fr) 44px}.editable-room-row{grid-template-columns:1fr}.room-card-grid{grid-template-columns:1fr;padding:10px}.big-room-card{padding:14px}.big-room-top{flex-direction:column;align-items:stretch}.big-room-top strong{font-size:44px}.room-status-pill{text-align:center}.room-big-facts,.onboarding-actions,.room-card-actions,.room-edit-details .room-edit-form,.batch-grid,.building-create-form,.building-edit-form,.management-panel,.move-floor-panel,.payment-form-grid,.payment-invoice-card,.payment-search-panel,.other-income-filter,.other-income-row,.payment-summary-card,.communication-channel-grid,.settings-field-grid,.settings-option-grid,.room-edit-form,.expense-form-grid,.expense-filter-panel,.expense-summary-grid,.expense-row-main,.expense-review-actions,.expense-reverse-details form{grid-template-columns:1fr}.expense-description-field,.expense-notes-field{grid-column:auto}.expense-entry-panel,.expense-summary-section,.expense-ledger-section{padding:14px}.expense-form-footer{flex-direction:column;align-items:stretch}.expense-submit{width:100%}.batch-panel-heading{flex-direction:column;align-items:stretch}.contract-row,.command-hub-grid,.invoice-detail-grid,.invoice-line,.invoice-lines-header,.meter-import-row,.follow-up-row,.invoice-row,.red-flag-row,.reading-row,.reading-form{grid-template-columns:1fr}.command-inbox,.command-chat,.command-side-panel{height:auto;min-height:0;max-height:none;position:static;overflow:visible}.command-timeline{max-height:60vh}.invoice-totals{justify-content:stretch}.invoice-totals div{grid-template-columns:1fr 1fr}.payment-history-row,.group-header,.live-hub-notice{flex-direction:column;align-items:stretch}.command-message{max-width:100%}.invoice-approve-bar,.settings-save-bar{flex-direction:column;align-items:stretch}.meter-switch-board{top:0}.meter-month-tools,.meter-quick-nav{grid-template-columns:1fr}.meter-position-toggle button{flex:140px}}.master-import-panel{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden}.master-import-panel>summary{cursor:pointer;justify-content:space-between;align-items:center;padding:18px;list-style:none;display:flex}.master-import-panel>summary::-webkit-details-marker{display:none}.master-import-panel>summary h2,.master-import-panel>summary p{margin:0}.master-import-body{border-top:1px solid var(--line);gap:14px;padding:18px;display:grid}.master-import-body>p,.master-import-body>small{margin:0}.master-import-summary,.master-import-preview>div,.master-import-apply{align-items:center;gap:12px;display:grid}.master-import-summary{background:#edf7f3;border-radius:6px;grid-template-columns:repeat(3,minmax(0,1fr));padding:14px}.master-import-preview{border:1px solid var(--line);border-radius:6px;max-height:360px;overflow:auto}.master-import-preview>div{border-bottom:1px solid var(--line);grid-template-columns:.7fr 1.8fr .8fr;padding:10px 12px}.master-import-preview>small{padding:10px 12px;display:block}.master-import-apply{grid-template-columns:1.2fr 1fr auto}.danger-notice{color:#8d241d;border-color:#c53d32}@media (max-width:760px){.master-import-summary,.master-import-preview>div,.master-import-apply{grid-template-columns:1fr}}@media print{body{background:#fff;padding:0}.app-shell{display:block}.sidebar,.mobile-quick-dock,.report-actions,.report-filter-panel{display:none!important}.main-content{padding:0}.reports-section{gap:10px}.reports-header .lead,.report-context-strip{font-size:10px}.report-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.report-summary-card{box-shadow:none;padding:8px}.report-summary-card strong{font-size:16px}.monthly-report-heading,.monthly-report-row{grid-template-columns:1.3fr 1.8fr .8fr 1fr}.monthly-report-heading{display:grid}.monthly-report-row{break-inside:avoid;gap:7px;padding:7px;font-size:10px}.report-room-identity strong,.report-total-cell strong{font-size:13px}.report-charge-breakdown>div{padding:5px}}
