:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#182230;background:#eef2f6;letter-spacing:0}*{box-sizing:border-box}body{margin:0}button,a,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-columns:238px 1fr;background:#eef2f6}.sidebar{background:#121b2a;color:#f6f8fb;padding:18px 14px;display:flex;flex-direction:column;gap:18px;min-height:100vh}.brand,.top-actions,.condo-head,.condo-kpis,.toolbar,.metric,.device-row,.detail-title,.detail-topbar,.alert-meta,.alert-title,.panel-heading,.form-heading,.operator-card,.side-nav button,.status-board div,.section-head,.sync-pill{display:flex;align-items:center}.brand{gap:10px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:7px;background:#1f8a70;color:#fff}.brand div,.operator-card div{display:grid;gap:2px;min-width:0}.brand strong{font-size:15px}.brand span,.operator-card span{font-size:11px;color:#9fb0c6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-nav{display:grid;gap:6px}.nav-group-label{margin:8px 8px 2px;color:#8091aa;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.side-nav button{border:0;background:transparent;color:#c7d2e2;min-height:38px;gap:9px;border-radius:6px;padding:0 10px;text-align:left}.side-nav button span{flex:1;min-width:0}.side-nav button small{min-width:24px;height:21px;display:grid;place-items:center;border-radius:999px;background:#223149;color:#d7e2f2;font-size:11px;font-weight:900}.side-nav button.selected,.side-nav button:hover{background:#243249;color:#fff}.side-nav button.selected small{background:#1f8a70;color:#fff}.sidebar-status{display:grid;gap:6px;border:1px solid #263951;background:#18263a;border-radius:8px;padding:9px}.sidebar-status span{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#d9e4f2;font-size:11px;font-weight:800}.operator-card{margin-top:auto;gap:9px;border:1px solid #2a3b55;background:#19263a;border-radius:7px;padding:10px}.workspace{min-width:0}.topbar{height:72px;padding:0 22px;background:#fff;border-bottom:1px solid #dce3ec;display:flex;justify-content:space-between;align-items:center}.topbar-title{min-width:0}.topbar h1{margin:0;font-size:21px}.topbar p{margin:4px 0 0;color:#65758b;font-size:12px}.breadcrumb{display:flex;align-items:center;gap:4px;color:#7a8a9f;font-size:11px;font-weight:800;margin-bottom:3px}.breadcrumb strong{color:#1f6fb2}.global-search{position:relative;display:flex;align-items:center;gap:7px;flex:1;max-width:460px;height:38px;border:1px solid #d8e1eb;background:#f8fafc;border-radius:8px;padding:0 10px;color:#607086}.global-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#1d2b3c;font-size:12px}.global-results{position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:20;display:grid;gap:5px;border:1px solid #d8e1eb;border-radius:8px;background:#fff;padding:6px;box-shadow:0 16px 42px #1822301f}.global-results button{display:grid;grid-template-columns:82px minmax(0,1fr);gap:2px 8px;border:0;border-radius:6px;background:transparent;padding:8px;text-align:left;color:#243449}.global-results button:hover{background:#eef4fb}.global-results span{grid-row:span 2;color:#1f6fb2;font-size:10px;font-weight:900;text-transform:uppercase}.global-results strong,.global-results small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-results strong{font-size:12px}.global-results small{color:#68788d;font-size:11px}.top-actions{gap:8px}.top-actions button,.detail-topbar button,.condo-head button,.alert-row button{border:1px solid #d5dee9;background:#fff;color:#26384e;width:36px;height:36px;display:grid;place-items:center;border-radius:6px}.sync-pill{height:32px;gap:6px;padding:0 9px;border-radius:999px;background:#e8f7f0;color:#176d52;font-size:11px;font-weight:700}.sync-pill.loading{background:#fff3dc;color:#8c5d12}.content{max-width:1440px;margin:0 auto;padding:18px}.command-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.full-panel{background:#fff;border:1px solid #dce3ec;border-radius:8px;padding:14px;margin-bottom:12px}.count-pill{background:#eef4fb;color:#284765;border:1px solid #d6e2ef;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;white-space:nowrap}.status-board{background:#fff;border:1px solid #dce3ec;border-radius:8px;padding:13px;display:grid;gap:7px;min-height:106px;position:relative;overflow:hidden}.status-board:after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:#7c8da4}.status-board div{gap:7px;color:#64748b;font-size:12px;font-weight:700}.status-board strong{font-size:28px;line-height:1}.status-board small{color:#65758b;font-size:12px}.status-board.danger:after{background:#d64545}.status-board.ok:after{background:#1f8a70}.status-board.warn:after{background:#d08a22}.status-board.info:after{background:#2b70b8}.operations-layout{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:12px;align-items:start}.main-column,.alarm-console,.panel{background:#fff;border:1px solid #dce3ec;border-radius:8px}.main-column{padding:14px}.alarm-console{padding:14px;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}.section-head{justify-content:space-between;gap:12px;margin-bottom:12px}.section-head h2,.panel h2{margin:0;font-size:16px}.section-head p{margin:3px 0 0;color:#65758b;font-size:12px}.section-head.compact{align-items:start}.toolbar{gap:8px;margin-bottom:12px}.toolbar label{flex:1;min-width:0;min-height:39px;gap:7px;background:#f8fafc;border:1px solid #d5dee9;padding:0 10px;border-radius:6px;display:flex;align-items:center}.toolbar input{min-width:0;border:0;outline:0;width:100%;height:37px;line-height:37px;background:transparent;padding:0}.filter,.solid-action,.compact-action,.primary{min-height:38px;display:inline-flex;gap:6px;align-items:center;justify-content:center;border-radius:6px;padding:0 11px}.filter{border:1px solid #d5dee9;background:#fff;color:#405269}.solid-action,.primary{border:0;background:#1f6fb2;color:#fff;font-weight:700}.segmented{display:grid;grid-template-columns:repeat(3,1fr);background:#eef2f6;border-radius:7px;padding:3px;margin-bottom:10px}.segmented button{border:0;background:transparent;color:#53657a;height:31px;border-radius:5px;font-size:12px;font-weight:700}.segmented button.active{background:#fff;color:#172033;box-shadow:0 1px 4px #11182718}.condo-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.condo-card{border:1px solid #dce3ec;border-left:4px solid #8a9bad;border-radius:8px;background:#fff;padding:12px;display:grid;gap:10px}.condo-card.has-alert{border-left-color:#d64545;background:#fffdfd}.condo-head{justify-content:space-between;gap:10px}.condo-title{display:flex;gap:9px;align-items:center;min-width:0;flex:1}.condo-title div{display:grid;gap:4px;min-width:0}.condo-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.condo-title span,.condo-kpis span,.alert-meta span{display:flex;gap:4px;align-items:center;font-size:11px;color:#65758b}.condo-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:6px;background:#edf5ff;color:#1f6fb2}.condo-kpis{gap:8px;flex-wrap:wrap}.condo-kpis span{background:#f5f7fa;border:1px solid #e2e8f0;border-radius:999px;padding:5px 7px}.progress-track{height:7px;background:#e8edf3;border-radius:999px;overflow:hidden}.progress-track span{display:block;height:100%;background:#1f8a70;border-radius:inherit}.condo-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.condo-footer div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:8px;display:grid;gap:3px}.condo-footer small{color:#65758b;font-size:10px}.condo-footer strong{font-size:12px}.alarm-list{display:grid;gap:8px}.alarm-compact-table{display:grid;gap:4px;overflow-x:auto}.alarm-compact-row{min-width:1060px;display:grid;grid-template-columns:150px minmax(170px,.8fr) minmax(280px,1.25fr) 92px minmax(220px,1fr) minmax(170px,.8fr);gap:8px;align-items:center;border:1px solid #e1e7ef;border-left:4px solid #d64545;background:snow;border-radius:6px;padding:7px 9px;min-height:38px;color:inherit;text-align:left}.alarm-compact-row.actionable{cursor:pointer}.alarm-compact-row.actionable:hover,.alarm-compact-row.selected{border-color:#8fb8e8;box-shadow:0 0 0 2px #dcebfb}.alarm-compact-row.header{border-left-color:#70839a;background:#eef4fb;color:#405269;font-weight:800;min-height:32px}.alarm-compact-row.ack{border-left-color:#d08a22;background:#fffaf0}.alarm-compact-row.offline{border-left-color:#a62f2f;background:#fff3f3}.alarm-compact-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.alarm-name-cell{display:grid;gap:2px}.alarm-name-cell small{min-width:0;overflow:hidden;color:#65758b;font-size:10px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.priority-cell{display:flex;gap:5px;align-items:center;color:#b12f2f;font-weight:900}.alarm-compact-row.ack .priority-cell{color:#8f5e12}.condo-cell,.elapsed-cell,.manager-cell,.phone-cell{font-weight:800;color:#26384e}.alarm-name-cell{color:#1f2937}.info-cell{display:flex;gap:7px;min-width:0;background:#fff;border:1px solid #ead5d5;border-radius:6px;padding:8px;align-items:center}.info-cell div{display:grid;gap:2px;min-width:0}.info-cell small{color:#65758b;font-size:10px}.info-cell span{color:#25384d;font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.open-device{min-width:112px;height:38px;display:inline-flex;gap:5px;align-items:center;justify-content:center;color:#1f6fb2;background:#fff;border:1px solid #d6e2ef;border-radius:7px;text-decoration:none;font-size:12px;font-weight:800}.manager-cell{display:grid;gap:2px}.manager-cell small{min-width:0;overflow:hidden;color:#65758b;font-size:10px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.alert-row{display:grid;grid-template-columns:34px minmax(0,1fr) 32px;gap:8px;align-items:start;border:1px solid #e1e7ef;background:#fff;border-radius:8px;padding:9px}.alert-row.critical,.alert-row.offline{border-color:#f0b8b8;background:#fff5f5}.alert-row.attention{border-color:#f2d29f;background:#fff9ee}.alert-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:6px;background:#ffe4e4;color:#bd3131}.alert-row.attention .alert-icon{background:#fff0cf;color:#9a620f}.alert-row.new .alert-icon{background:#eaf4ff;color:#1f6fb2}.alert-body{display:grid;gap:5px;min-width:0}.alert-title{justify-content:space-between;gap:7px}.alert-title strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert-title span{color:#bd3131;background:#ffe1e1;border-radius:999px;padding:3px 6px;font-size:10px;font-weight:800;white-space:nowrap}.alert-row.attention .alert-title span{color:#8c5d12;background:#ffefc9}.alert-row.new .alert-title span{color:#1f6fb2;background:#e3f1ff}.alert-meta{gap:8px;flex-wrap:wrap}.alert-body small{color:#65758b;font-size:11px}.alert-row button{width:30px;height:30px}.history-table{display:grid;gap:7px}.history-row{display:grid;grid-template-columns:minmax(240px,1.6fr) repeat(4,minmax(120px,1fr));gap:8px;align-items:center;border:1px solid #e1e7ef;border-radius:7px;padding:9px;background:#fbfcfe}.history-row div{display:grid;gap:3px;min-width:0}.history-row strong,.history-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-row small{color:#65758b;font-size:10px}.history-row span{color:#2a3b4f;font-size:12px}.history-compact-table{display:grid;gap:4px;overflow-x:auto}.history-compact-row{min-width:900px;display:grid;grid-template-columns:118px minmax(170px,.95fr) minmax(260px,1.35fr) 130px 130px 120px;gap:8px;align-items:center;border:1px solid #e1e7ef;border-left:4px solid #1f8a70;background:#fbfcfe;border-radius:6px;padding:7px 9px;min-height:36px}.history-compact-row.header{border-left-color:#70839a;background:#eef4fb;color:#405269;font-weight:800}.history-compact-row.acknowledged{border-left-color:#d08a22;background:#fffaf0}.history-compact-row.silenced{border-left-color:#7386a0;background:#f7f9fc}.history-compact-row.created{border-left-color:#1f6fb2;background:#f5faff}.history-compact-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#2a3b4f;font-size:12px}.history-compact-row .status-cell{color:#1f6b54;font-weight:900}.history-compact-row.acknowledged .status-cell{color:#8f5e12}.management-list{display:grid;gap:8px;margin:12px 0}.management-card{display:grid;grid-template-columns:minmax(180px,1.2fr) repeat(4,minmax(130px,1fr)) auto;gap:9px;align-items:center;border:1px solid #e1e7ef;border-radius:8px;padding:10px;background:#fbfcfe}.management-card div{display:grid;gap:3px;min-width:0}.management-card strong,.management-card span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.management-card small{color:#65758b;font-size:10px}.management-card span{font-size:12px;color:#2a3b4f}.management-card.rich{grid-template-columns:1fr;align-items:stretch;gap:10px;padding:12px}.management-card-head{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(240px,1fr) auto;align-items:center;gap:10px}.management-title{display:flex!important;align-items:center;gap:9px}.management-title div{display:grid;gap:3px;min-width:0}.management-title span:last-child{color:#65758b}.management-badges{display:flex!important;flex-wrap:wrap;gap:6px}.management-badges span{border:1px solid #dbe5ef;border-radius:999px;background:#fff;color:#43566d;padding:5px 8px;font-size:11px;font-weight:900}.management-badges .ok{border-color:#cfe9dc;background:#effaf4;color:#1f6b54}.management-badges .danger{border-color:#f2cccc;background:#fff1f1;color:#ad3030}.management-info-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.management-info-grid div{border:1px solid #e1e7ef;border-radius:7px;background:#fff;padding:8px}.management-info-grid b{min-width:0;overflow:hidden;color:#1e3148;font-size:12px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.management-notes{border:1px solid #e1e7ef;border-radius:7px;background:#f8fafc;padding:8px}.management-notes p{margin:4px 0 0;color:#405269;font-size:12px;line-height:1.35}.spaced{margin-top:18px}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-list{display:grid;gap:10px}.report-selector-list{display:grid;gap:8px}.report-selector-card{display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(360px,2fr) auto;gap:10px;align-items:center;border:1px solid #dce3ec;border-left:4px solid #1f8a70;border-radius:8px;background:#fff;padding:10px}.report-selector-card.has-alert{border-left-color:#d64545;background:#fffdfd}.report-selector-main{display:flex;align-items:center;gap:9px;min-width:0}.report-selector-main div{display:grid;gap:3px;min-width:0}.report-selector-main strong,.report-selector-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-selector-main span{color:#65758b;font-size:12px}.report-selector-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.report-selector-kpis span{display:flex;align-items:center;gap:5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#f5f7fa;border:1px solid #e1e7ef;border-radius:999px;color:#405269;font-size:11px;font-weight:800;padding:6px 8px}.report-selector-kpis .danger{color:#b12f2f;background:#fff2f2;border-color:#f0b8b8}.report-selector-kpis .ok{color:#176d52;background:#effaf5;border-color:#cceadc}.open-report{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid #d6e2ef;border-radius:7px;background:#f8fafc;color:#1f6fb2;font-size:12px;font-weight:900;white-space:nowrap;padding:0 10px}.report-card{border:1px solid #dce3ec;border-radius:8px;background:#fff;padding:12px;display:grid;gap:10px}.report-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.report-toolbar label{height:34px;display:inline-flex;align-items:center;gap:6px;border:1px solid #d5dee9;border-radius:7px;background:#f8fafc;padding:0 9px;color:#526174;font-size:12px;font-weight:800}.report-toolbar input{border:0;outline:0;background:transparent;color:#1f2f43;font-weight:800}.commercial-report{display:grid;gap:12px;border:1px solid #dce3ec;border-radius:8px;background:#fff;padding:14px}.commercial-report-cover{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #dce9f6;border-left:5px solid #1f6fb2;border-radius:8px;background:#f7fbff;padding:14px}.report-period{display:grid;gap:2px;text-align:right}.report-period span{color:#526174;font-size:11px;font-weight:900;text-transform:uppercase}.report-period strong{color:#1f6fb2;font-size:17px;text-transform:capitalize}.report-period small{color:#6b7b90}.executive-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.45fr);gap:10px;align-items:stretch}.executive-summary>div{border:1px solid #e1e7ef;border-radius:8px;background:#fbfcfe;padding:12px}.executive-summary h3{margin:0 0 6px;font-size:17px}.executive-summary p{margin:0;color:#405269;font-size:13px;line-height:1.5}.executive-contact{display:grid;align-content:center;gap:7px}.executive-contact span{display:flex;align-items:center;gap:6px;color:#33465e;font-size:12px;font-weight:800}.commercial-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.commercial-kpis span{display:grid;gap:4px;min-height:82px;border:1px solid #e1e7ef;border-top:4px solid #1f8a70;border-radius:8px;background:#fff;padding:10px}.commercial-kpis strong{color:#182b40;font-size:21px}.commercial-kpis small{color:#607086;font-size:11px;font-weight:800;line-height:1.25}.value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.value-grid article{border:1px solid #e1e7ef;border-radius:8px;background:#fbfcfe;padding:11px}.value-grid strong{display:block;margin-bottom:6px;color:#1f2f43;font-size:13px}.value-grid p{margin:0;color:#465a72;font-size:12px;line-height:1.45}.recurrence-panel{border:1px solid #e1e7ef;border-radius:8px;background:#fff;padding:11px}.recurrence-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.recurrence-list span{display:flex;align-items:center;gap:7px;min-width:0;border:1px solid #e1e7ef;border-radius:7px;background:#f7fafc;padding:8px;color:#33465e;font-size:12px;font-weight:800}.recurrence-list b{min-width:27px;height:27px;display:grid;place-items:center;border-radius:999px;background:#1f6fb2;color:#fff}.report-card.wide{gap:12px}.report-head{display:flex;align-items:center;gap:9px}.report-head div{display:grid;gap:3px;min-width:0}.report-head strong,.report-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-head span{color:#65758b;font-size:12px}.report-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.report-metrics span{background:#f3f6fa;border:1px solid #e1e7ef;border-radius:6px;padding:7px;font-size:11px;font-weight:800;text-align:center}.contact-lines,.mini-device-list{display:grid;gap:5px}.contact-lines span,.mini-device-list span{display:flex;gap:5px;align-items:center;color:#405269;font-size:12px}.mini-device-list span{border:1px solid #e1e7ef;border-radius:6px;padding:6px}.mini-device-list .online{color:#176d52;background:#effaf5}.mini-device-list .offline{color:#a62f2f;background:#fff4f4}.dense-report-table{display:grid;gap:4px;overflow-x:auto}.dense-row{min-width:860px;display:grid;grid-template-columns:105px minmax(220px,1.4fr) minmax(180px,1fr) 126px 126px 110px 120px;gap:6px;align-items:center;border:1px solid #e1e7ef;border-radius:6px;background:#fbfcfe;padding:7px}.dense-row.header{background:#eef4fb;color:#405269;font-weight:800}.dense-row.active{background:#fff6f6;border-color:#f0b8b8}.dense-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.report-subsection{display:grid;gap:6px}.report-subsection>strong{font-size:12px;color:#405269}.billing-layout{display:grid;gap:12px}.billing-lock-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #f0c38c;background:#fff7e8;color:#7a3d0b;border-radius:8px;padding:10px 12px;margin-bottom:12px}.billing-lock-banner div{display:grid;gap:2px}.billing-lock-banner span{font-size:12px;color:#8b5a21}.billing-hero{display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(135deg,#fff,#f4fbf8)}.billing-hero h2{margin:8px 0 4px;font-size:20px}.billing-hero p{margin:0;color:#53657a;font-size:13px}.billing-status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:900}.billing-status.active{color:#176d52;background:#e8f7f0;border:1px solid #cbeadc}.billing-status.inactive{color:#9a620f;background:#fff3dc;border:1px solid #f0d6a8}.billing-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.billing-actions a{text-decoration:none}.billing-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.plan-card{border:1px solid #dce3ec;border-top:4px solid #70839a;border-radius:8px;background:#fff;padding:14px;display:grid;gap:10px}.plan-card.highlight{border-top-color:#1f8a70;box-shadow:0 10px 26px #1f8a7014}.plan-card div{display:grid;gap:3px}.plan-card strong{font-size:15px}.plan-card span{color:#65758b;font-size:11px;font-weight:800;text-transform:uppercase}.plan-card h3{margin:0;font-size:25px}.plan-card p{margin:0;color:#53657a;font-size:12px;min-height:36px}.tier-list{display:grid;gap:7px}.tier-list span{display:flex;justify-content:space-between;gap:10px;border:1px solid #e1e7ef;border-radius:6px;background:#f8fafc;padding:7px 9px;color:#405269;font-size:12px;font-weight:800;text-transform:none}.tier-list b{color:#1f6fb2}.plan-card button:disabled,.billing-actions button:disabled{opacity:.55;cursor:not-allowed}.dark-mode{background:#0e1724;color:#d8e2f0}.dark-mode .workspace,.dark-mode .content{background:#0e1724}.dark-mode .topbar,.dark-mode .full-panel,.dark-mode .metric,.dark-mode .condo-card,.dark-mode .billing-hero,.dark-mode .billing-overview-card,.dark-mode .commercial-scoreboard,.dark-mode .commercial-queue,.dark-mode .plan-card,.dark-mode .billing-ledger-grid>article,.dark-mode .billing-management-row,.dark-mode .detail-card,.dark-mode .alert-handling-card{background:#142033;border-color:#26384f;color:#d8e2f0}.dark-mode .topbar{border-bottom-color:#26384f}.dark-mode .topbar p,.dark-mode .breadcrumb,.dark-mode .section-head p,.dark-mode small,.dark-mode .billing-hero p,.dark-mode .billing-overview-card small,.dark-mode .commercial-queue-list small,.dark-mode .score small{color:#9fb0c6}.dark-mode .global-search,.dark-mode .global-results,.dark-mode .revenuecat-checkout-root,.dark-mode .paywall-container{background:#101a2a;border-color:#2b3d55;color:#d8e2f0}.dark-mode .global-search input{color:#eaf0f8}.dark-mode .global-results button{color:#dce6f3}.dark-mode .global-results button:hover{background:#1b2a41}.dark-mode .top-actions button,.dark-mode .compact-action,.dark-mode .solid-action{background:#19283d;border-color:#31445e;color:#dbe6f4}.dark-mode .billing-management-row.header,.dark-mode .score,.dark-mode .commercial-queue-list div{background:#101a2a;border-color:#273a52}.dark-mode .commercial-queue-list b,.dark-mode .billing-overview-card strong,.dark-mode .score strong{color:#f3f7fc}.dark-mode .contract-communication-grid article,.dark-mode .contract-row,.dark-mode .communication-row{background:#101a2a;border-color:#273a52;color:#d8e2f0}.dark-mode .contract-communication-grid strong,.dark-mode .contract-panel strong,.dark-mode .contract-row strong,.dark-mode .communication-row strong{color:#f3f7fc}.dark-mode .contract-communication-grid span,.dark-mode .contract-communication-grid p{color:#b9c7d8}.billing-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.billing-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.billing-overview-card{display:grid;gap:7px;min-height:110px;border:1px solid #dce3ec;border-top:4px solid #71839a;border-radius:8px;background:#fff;padding:12px}.billing-overview-card.ok{border-top-color:#1f8a70}.billing-overview-card.warn{border-top-color:#d69b2d}.billing-overview-card.danger{border-top-color:#d94f43}.billing-overview-card span{display:inline-flex;align-items:center;gap:6px;color:#53657a;font-size:12px;font-weight:800}.billing-overview-card strong{font-size:20px}.billing-overview-card small{color:#66768a;line-height:1.35}.billing-command-center{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);gap:10px}.commercial-scoreboard,.commercial-queue{border:1px solid #dce3ec;border-radius:8px;background:#fff;padding:12px}.section-head.compact{margin-bottom:8px}.section-head.compact h2{font-size:16px}.commercial-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.score{display:grid;gap:4px;border:1px solid #e1e7ef;border-left:4px solid #6f8196;border-radius:8px;padding:10px;background:#fbfcfe}.score svg{color:#65758b}.score strong{font-size:18px;overflow:hidden;text-overflow:ellipsis}.score small{color:#68788d;font-size:11px;font-weight:800}.score.ok{border-left-color:#1f8a70}.score.warn{border-left-color:#d69b2d}.score.danger{border-left-color:#d94f43}.commercial-queue-list{display:grid;gap:6px}.commercial-queue-list div{display:grid;grid-template-columns:10px minmax(150px,1.2fr) minmax(120px,.8fr) minmax(150px,1fr) 86px;align-items:center;gap:8px;border:1px solid #edf1f5;border-radius:8px;padding:8px;font-size:12px}.commercial-queue-list strong,.commercial-queue-list small,.commercial-queue-list b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commercial-queue-list small{color:#6b7b8f}.commercial-queue-list b{text-align:right;color:#1d2d3f}.payment-dot{width:9px;height:30px;border-radius:999px;background:#7b8ca1}.payment-dot.em_dia{background:#1f8a70}.payment-dot.em_atencao{background:#d69b2d}.payment-dot.inadimplente,.payment-dot.suspenso{background:#d94f43}.billing-management-table,.billing-ledger-list{display:grid;gap:6px}.billing-management-row{display:grid;grid-template-columns:minmax(180px,1.4fr) 130px 120px 105px 90px minmax(160px,1fr);align-items:center;gap:8px;border:1px solid #e1e7ef;border-radius:8px;background:#fff;padding:8px 10px;font-size:12px}.billing-management-row.header{background:#f6f8fb;color:#5c6b7e;font-size:11px;font-weight:900;text-transform:uppercase}.billing-management-row>span{min-width:0;display:grid;gap:2px}.billing-management-row strong,.billing-management-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.billing-management-row small{color:#708197}.danger-text{color:#bf3f34;font-weight:900}.ok-text{color:#1f8a70;font-weight:900}.billing-ledger-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.billing-ledger-grid>article{display:grid;gap:8px;border:1px solid #dce3ec;border-radius:8px;background:#fff;padding:12px}.billing-ledger-list div{display:grid;gap:2px;border-top:1px solid #eef2f6;padding-top:7px}.billing-ledger-list div:first-child{border-top:0;padding-top:0}.billing-ledger-list span{font-size:13px;font-weight:800}.billing-ledger-list small{color:#66768a}.contract-communication-grid,.contract-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.contract-communication-grid article,.contract-panel{display:grid;gap:8px}.contract-communication-grid article{border:1px solid #dce3ec;border-left:4px solid #1f6fb2;border-radius:8px;background:#fbfcfe;padding:12px}.contract-communication-grid strong,.contract-panel strong{color:#1f2f43}.contract-communication-grid span,.contract-communication-grid p{color:#465a72;font-size:12px}.contract-communication-grid p{margin:0;line-height:1.45}.contract-list,.communication-list{display:grid;gap:7px}.contract-row,.communication-row{display:grid;grid-template-columns:minmax(170px,1.2fr) minmax(155px,1fr) minmax(130px,.8fr) minmax(170px,1fr);align-items:center;gap:8px;border:1px solid #e1e7ef;border-radius:8px;background:#fff;padding:9px;font-size:12px}.contract-row span,.communication-row span{display:grid;gap:2px;min-width:0}.contract-row strong,.contract-row small,.communication-row strong,.communication-row small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contract-row small,.communication-row small{color:#6b7b8f}.communication-actions{display:flex!important;flex-wrap:wrap;justify-content:flex-end;gap:6px}.communication-actions a{text-decoration:none;min-height:30px}.provisioning-label{display:grid;gap:6px;margin-top:12px;border:1px solid #cfd8e2;border-left:5px solid #1f8a70;border-radius:8px;background:#f8fafc;padding:12px;font-size:13px}.provisioning-label strong{font-size:15px}.provisioning-label span{overflow-wrap:anywhere}.provisioning-label small{color:#5e7085}.users-layout{display:grid;gap:12px}.users-table{display:grid;gap:7px}.users-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(190px,1.3fr) 120px 90px 130px;gap:8px;align-items:center;border:1px solid #e1e7ef;border-radius:8px;background:#fff;padding:8px 10px;font-size:12px}.users-row.header{background:#f6f8fb;color:#5c6b7e;font-size:11px;font-weight:900;text-transform:uppercase}.users-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-row span:first-child{display:grid;gap:2px}.users-row small{color:#708197}.success-note{display:flex;align-items:center;gap:8px;border:1px solid #cce8da;background:#eef9f3;color:#176d52;border-radius:8px;padding:9px 11px;font-size:13px;font-weight:800}.load-more{margin-top:10px;min-height:36px;border:1px solid #d6e2ef;background:#fff;color:#1f6fb2;border-radius:6px;padding:0 12px;font-weight:800}.load-more.compact{justify-self:start;min-height:32px;font-size:12px}.condo-devices{display:grid;gap:6px;border-top:1px solid #e1e7ef;padding-top:8px}.device-access{display:grid;grid-template-columns:minmax(180px,1fr) minmax(140px,.7fr) auto;gap:8px;align-items:center;border:1px solid #e1e7ef;border-radius:6px;padding:8px;background:#fbfcfe}.device-access span,.device-access a{display:flex;gap:5px;align-items:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800}.device-access small{color:#65758b;font-size:11px}.device-access a{color:#1f6fb2;text-decoration:none;justify-content:flex-end}.device-access.online{background:#f4fbf8}.device-access.offline{background:#fff6f6;border-color:#f0c8c8}.open-condo{border:1px solid #d6e2ef;background:#fff;color:#1f6fb2;border-radius:6px;width:112px;min-width:112px;padding:6px 4px;font-size:11px;font-weight:800;white-space:nowrap}.condo-card-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.open-condo.detail{color:#176d52;border-color:#cbeadc;background:#f4fbf8}.report-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.condo-detail-page{display:grid;gap:12px}.condo-detail-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #dce3ec;border-left:5px solid #1f8a70;border-radius:8px;background:#fff;padding:14px}.condo-detail-hero.has-alert{border-left-color:#d64545;background:#fffdfd}.condo-detail-hero h2{margin:8px 0 4px;font-size:23px}.condo-detail-hero p{margin:0;display:flex;gap:6px;align-items:center;flex-wrap:wrap;color:#53657a;font-size:13px}.condo-detail-kpis{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:7px;min-width:min(420px,100%)}.condo-detail-kpis span{display:flex;align-items:center;gap:6px;border:1px solid #e1e7ef;border-radius:999px;background:#f8fafc;color:#405269;padding:7px 9px;font-size:12px;font-weight:900;white-space:nowrap}.condo-detail-kpis .danger{color:#b12f2f;background:#fff2f2;border-color:#f0b8b8}.condo-detail-kpis .ok{color:#176d52;background:#effaf5;border-color:#cceadc}.condo-edit-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #d6e2ef;border-radius:7px;background:#f8fafc;color:#1f6fb2;font-size:12px;font-weight:900;padding:0 11px;white-space:nowrap}.condo-detail-tabs{display:flex;gap:6px;overflow-x:auto;padding:3px;border:1px solid #dce3ec;border-radius:8px;background:#fff}.condo-detail-tabs button{min-height:36px;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:6px;background:transparent;color:#526174;padding:0 11px;font-size:12px;font-weight:900;white-space:nowrap}.condo-detail-tabs button.active{color:#fff;background:#1f6fb2}.condo-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.detail-summary-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.progress-track.large{height:10px;margin-top:12px}.attention-list{display:grid;gap:7px}.attention-list span{display:flex;align-items:center;gap:6px;border:1px solid #e1e7ef;border-radius:7px;background:#f8fafc;color:#405269;padding:8px;font-size:12px;font-weight:800}.alert-handling-list{display:grid;gap:8px;margin-top:12px}.alarm-handling-panel{margin-top:10px;border:1px solid #d7e5f5;border-radius:8px;background:#f6faff;padding:10px}.alarm-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:18px;background:#0f172a9e}.alarm-modal{width:min(980px,100%);max-height:calc(100vh - 36px);overflow:auto;display:grid;gap:10px;border:1px solid #d8e5f4;border-radius:8px;background:#fff;padding:14px;box-shadow:0 22px 70px #0f172a52}.alarm-modal-summary{display:grid;grid-template-columns:180px minmax(0,1fr) 150px;gap:8px}.alarm-modal-summary span{min-width:0;display:grid;gap:2px;border:1px solid #e2e8f0;border-radius:7px;background:#f8fafc;padding:9px}.alarm-modal-summary strong{overflow:hidden;color:#26384e;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.alarm-modal-summary small{color:#64748b;font-size:10px;font-weight:800}.icon-button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d5dee9;border-radius:7px;background:#f8fafc;color:#26384e;cursor:pointer}.icon-button:hover{border-color:#9eb9d8;background:#eef6ff}.alert-handling-card{display:grid;gap:8px;border:1px solid #e1e7ef;border-left:4px solid #1f6fb2;border-radius:8px;background:#fbfcfe;padding:10px}.alert-handling-title{display:flex;align-items:center;gap:8px;min-width:0}.alert-handling-title div{display:grid;gap:2px;min-width:0}.alert-handling-title strong,.alert-handling-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert-handling-title span{color:#65758b;font-size:11px}.alert-handling-fields{display:grid;grid-template-columns:150px 220px 180px minmax(220px,1fr) auto;gap:7px;align-items:center}.alert-handling-fields input,.alert-handling-fields select{min-width:0;height:34px;border:1px solid #cfd8e2;border-radius:6px;padding:0 9px;background:#fff;font-size:12px}.alarm-modal .alert-handling-fields{grid-template-columns:190px minmax(240px,1fr) minmax(180px,.8fr);align-items:end}.alarm-modal .alert-handling-fields input:nth-of-type(2){grid-column:1 / -1}.alarm-modal .alert-handling-fields button{justify-self:end;min-width:140px}.condo-detail-devices{display:grid;gap:7px}.condo-notes{margin:0;color:#405269;font-size:13px;line-height:1.45}.condo-edit-sections{display:grid;gap:12px}.condo-edit-sections section{display:grid;gap:8px;border:1px solid #e1e7ef;border-radius:8px;background:#f8fafc;padding:10px}.condo-edit-sections strong{color:#405269;font-size:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;display:grid;place-items:center;padding:18px;z-index:50}.modal{width:min(820px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border-radius:8px;padding:14px;box-shadow:0 20px 60px #0005}.inline-form.bare{border:0;background:transparent;padding:0;margin:0}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.detail-shell{min-height:100vh;background:#eef2f6}.detail-topbar{height:70px;padding:0 18px;justify-content:space-between;background:#121b2a;color:#fff}.detail-title{gap:9px}.detail-title div{display:grid;gap:2px;text-align:center}.detail-title span{color:#aebbd0;font-size:12px}.back-button{width:auto!important;padding:0 11px;gap:6px;display:inline-flex!important;color:#fff!important;background:#ffffff14!important;border-color:#ffffff20!important}.detail-content{max-width:1280px}.detail-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.detail-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px}.panel{padding:13px}.panel-heading{justify-content:space-between;margin-bottom:10px}.panel-heading span{font-size:11px;color:#65758b}.compact-action{border:1px solid #d5dee9;background:#f8fafc;color:#26384e;font-size:12px;min-height:32px}.device-list{display:grid;gap:8px}.device-row{gap:10px;border:1px solid #e1e7ef;border-radius:8px;padding:10px;background:#fff}.device-row.offline{background:#fff8f8;border-color:#f1cccc}.device-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:6px;background:#ffe5e5;color:#bd3131}.device-row.online .device-icon{background:#e3f6ee;color:#1f7a5b}.device-info{display:grid;gap:3px;min-width:0}.device-info strong,.device-info small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-info span,.device-info small,.device-right span{color:#65758b;font-size:11px}.device-right{margin-left:auto;display:grid;gap:5px;justify-items:end;min-width:128px}.device-row a{color:#1f6fb2;text-decoration:none;font-size:12px;display:inline-flex;align-items:center;gap:4px;font-weight:700}.metric{gap:9px;background:#fff;border:1px solid #dce3ec;border-left:3px solid #7c8da4;padding:11px;border-radius:7px}.metric div{display:grid}.metric span{font-size:11px;color:#65758b}.metric strong{font-size:21px}.metric.ok{border-left-color:#1f8a70}.metric.warn{border-left-color:#d08a22}.metric.danger{border-left-color:#d64545}.inline-form{background:#f8fafc;border:1px solid #d5dee9;border-radius:8px;padding:10px;margin:10px 0}.form-heading{justify-content:space-between;margin-bottom:9px}.form-heading button{border:0;background:#e8eef5;width:28px;height:28px;display:grid;place-items:center;border-radius:5px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.device-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid input,.form-grid select,.form-grid textarea,.login-panel input{min-width:0;height:36px;border:1px solid #cfd8e2;border-radius:6px;padding:0 9px;background:#fff}.date-field{display:grid;gap:4px}.date-field span{color:#65758b;font-size:10px;font-weight:900;text-transform:uppercase}.form-grid textarea{grid-column:1 / -1;min-height:78px;padding:9px;resize:vertical}.save-button{height:36px;padding:0 11px;margin-top:9px}.error,.form-error{color:#a62f2f;background:#fff0f0;border:1px solid #e9b7b7;padding:9px;border-radius:6px;font-size:12px;display:flex;align-items:center;gap:7px}.empty,.quiet-state{color:#7b8795;font-size:13px}.quiet-state{min-height:180px;display:grid;place-items:center;align-content:center;gap:7px;border:1px dashed #cbd5e1;border-radius:8px;text-align:center;padding:18px}.quiet-state strong{color:#405269}.quiet-state span{font-size:12px}.login-shell{min-height:100vh;display:grid;place-items:center;background:#121b2a}.login-panel{width:min(370px,calc(100vw - 30px));background:#fff;border-radius:8px;padding:21px;display:grid;gap:12px}.login-brand{display:flex;gap:9px;align-items:center;color:#1f6fb2}.login-brand div{display:grid}.login-brand span{font-size:11px;color:#65758b}.login-panel h1{font-size:20px;margin:7px 0}.login-panel label{display:grid;gap:5px;font-size:12px;color:#526174}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1180px){.app-shell{grid-template-columns:78px 1fr}.brand div,.side-nav button span,.side-nav button small,.nav-group-label,.operator-card div,.sidebar-status{display:none}.side-nav button,.operator-card{justify-content:center}.operations-layout{grid-template-columns:1fr}.alarm-console{position:static;max-height:none}.topbar{flex-wrap:wrap;height:auto;min-height:82px;padding:12px 18px}.global-search{order:3;max-width:none;flex-basis:100%}}@media(max-width:850px){.app-shell{display:block}.sidebar{min-height:auto;flex-direction:row;align-items:center;overflow-x:auto}.side-nav{display:flex}.operator-card{margin-top:0}.topbar{height:auto;min-height:72px;gap:12px;align-items:flex-start;flex-direction:column;padding:14px}.command-strip,.condo-list,.detail-summary,.detail-grid,.report-grid,.report-metrics,.report-selector-card,.report-selector-kpis,.billing-plans,.billing-facts,.billing-overview-grid,.billing-ledger-grid,.billing-lock-banner,.billing-command-center,.commercial-score-grid,.contract-communication-grid,.contract-control-grid,.condo-detail-grid,.detail-summary-cards,.executive-summary,.commercial-kpis,.value-grid,.recurrence-list,.management-card-head,.management-info-grid{grid-template-columns:1fr}.commercial-report-cover{align-items:flex-start;flex-direction:column}.report-period{text-align:left}.alert-handling-fields,.alarm-modal .alert-handling-fields,.alarm-modal-summary{grid-template-columns:1fr}.billing-hero,.condo-detail-hero{align-items:stretch;flex-direction:column}.condo-detail-kpis{grid-template-columns:1fr;min-width:0}.billing-actions{justify-content:flex-start}.billing-management-table{overflow-x:auto}.billing-management-row{min-width:760px}.contract-list,.communication-list{overflow-x:auto}.contract-row,.communication-row{min-width:760px}.commercial-queue-list{overflow-x:auto}.commercial-queue-list div{min-width:720px}.users-table{overflow-x:auto}.users-row{min-width:740px}.content{padding:12px}.toolbar{align-items:stretch;flex-direction:column}.form-grid,.device-form .form-grid{grid-template-columns:1fr}.device-row{grid-template-columns:34px minmax(0,1fr);align-items:start}.device-right{grid-column:2;margin-left:0;justify-items:start}.alarm-compact-row{min-width:860px;grid-template-columns:130px 150px minmax(220px,1fr) 82px 170px 130px}.history-compact-row{min-width:760px;grid-template-columns:105px 150px minmax(220px,1fr) 120px 120px 105px}.history-row,.management-card,.device-access{grid-template-columns:1fr}.device-access a{justify-content:flex-start}}@media print{:root,body{background:#fff}.sidebar,.topbar,.report-toolbar,.billing-lock-banner,.no-print,.load-more,.global-search,.top-actions{display:none!important}.app-shell{display:block;background:#fff}.workspace,.content,.full-panel{max-width:none;margin:0;padding:0;border:0;background:#fff}.section-head{margin-bottom:10px}.commercial-report{border:0;padding:0;gap:10px}.commercial-report-cover,.executive-summary>div,.commercial-kpis span,.value-grid article,.recurrence-panel,.dense-row{break-inside:avoid}.dense-report-table{overflow:visible}.dense-row{min-width:0;grid-template-columns:90px minmax(180px,1.3fr) minmax(130px,1fr) 105px 105px 92px 96px;font-size:10px}.commercial-kpis,.value-grid,.recurrence-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
