:root{color:#172033;background:#f3f6fa;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}main{max-width:1160px;margin:42px auto;padding:0 24px}.installer-page{max-width:1040px}.installer-header{margin-bottom:28px}.installer-intro,.installer-help{background:#fff;border:1px solid #dce6f0;border-radius:14px;align-items:center;gap:18px;padding:24px;display:flex;box-shadow:0 3px 14px #1a38500a}.installer-intro p,.installer-help p{color:#65728a;margin:6px 0 0}.installer-icon{width:46px;height:46px;color:var(--installer-primary,#1769c2);background:#e8f1ff;border-radius:50%;flex:none;place-items:center;font-size:29px;font-weight:800;display:grid}.installer-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0;display:grid}.installer-card{background:#fff;border:1px solid #dce6f0;border-radius:14px;min-height:292px;padding:24px;position:relative;box-shadow:0 3px 14px #1a38500a}.installer-card.recommended{border:2px solid var(--installer-primary,#287ccc);box-shadow:0 6px 20px #1e70bd20}.installer-card h2{margin-top:0}.installer-card p{color:#65728a;min-height:46px}.recommended-badge{background:var(--installer-primary,#1769c2);color:#fff;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:700;position:absolute;top:-12px;left:16px}.installer-download{color:#fff;background:var(--installer-primary,#1769c2);border-radius:8px;justify-content:center;align-items:center;min-height:42px;margin:20px 0 17px;font-weight:750;text-decoration:none;display:flex}.installer-download:hover{filter:brightness(.86)}.installer-card ol{color:#53647c;margin:0;padding-left:20px;font-size:14px;line-height:1.55}.installer-help{margin-top:20px;display:block}.installer-support{font-size:14px;margin-top:14px!important}.equipment-form-group{background:#fbfcfe;border:1px solid #dce6f0;border-radius:10px;gap:12px;padding:15px;display:grid}.equipment-form-group h4{color:#244b73;margin:0;font-size:15px}.equipment-form-group label{margin:0}@media (width<=800px){.installer-grid{grid-template-columns:1fr}.installer-card p{min-height:0}}header,.section-title,.ai-head,.health-hero{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}h1{margin:0;font-size:32px}h2{margin:0;font-size:20px}h3{margin:12px 0}h4{margin:12px 0 6px}.eyebrow{letter-spacing:1.2px;color:#55708f;margin:0;font-size:11px;font-weight:800}.subtitle,.section-title p{color:#65728a;margin:6px 0}.company-select{color:#65728a;margin-top:12px;display:block}.company-select select,.refresh,.close,input,select,textarea{color:#26364c;font:inherit;background:#fff;border:1px solid #cad5e2;border-radius:8px;padding:8px 11px}.company-select select{margin-left:8px}.header-actions{align-items:center;gap:8px;display:flex}.refresh{cursor:pointer;justify-content:center;align-items:center;min-height:38px;font-weight:650;text-decoration:none;display:inline-flex}.close{cursor:pointer}.cards{grid-template-columns:repeat(4,1fr);gap:15px;margin:30px 0;display:grid}.panel,.card,.alert,.ai{background:#fff;border:1px solid #e1e8f0;border-radius:12px;box-shadow:0 3px 14px #1a38500a}.card{padding:18px}.card small{color:#65728a}.card strong{margin-top:5px;font-size:31px;display:block}.online strong{color:#18794e}.offline strong{color:#b42318}.warning strong{color:#9a6700}.panel,.ai{padding:22px}.table-wrap{margin:18px -22px -22px;overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #edf1f5;padding:14px 22px}th{color:#66778d;background:#fafbfd;font-size:12px}tbody tr{cursor:pointer}tbody tr:hover{background:#f7faff}td small{color:#7a8798;display:block}.badge,.priority,.confidence{background:#e8eef5;border-radius:99px;padding:4px 8px;font-size:12px;font-weight:750}.badge.online,.priority.low{color:#166534;background:#dcfce7}.badge.offline,.badge.critical{color:#b42318;background:#fee2e2}.badge.warning,.priority.high,.priority.critical{color:#9a6700;background:#fef3c7}.detail,.admin-section{margin-top:22px}.alerts{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.alert{gap:8px;padding:14px;display:grid}.ai{margin-top:22px}.confidence{color:#295f93;background:#e7f0fa}.ai-summary{font-size:17px;line-height:1.55}.review{color:#765600;background:#fff8db;border-radius:8px;padding:10px}.analysis-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.finding,.recommendation{background:#f8fbfe;border-left:3px solid #8aaccc;margin:9px 0;padding:12px}.finding p,.recommendation p{color:#53657d;margin:7px 0}.finding ul{color:#53657d;padding-left:18px}.recommendation{gap:7px;display:grid}.recommendation small{color:#9a6700;font-weight:650}.debug{border-top:1px solid #e7edf4;margin-top:20px;padding-top:14px}.debug summary{cursor:pointer;font-weight:700}.debug pre{white-space:pre-wrap;word-break:break-word;color:#d8e5f5;background:#101827;border-radius:8px;max-height:300px;padding:12px;font-size:12px;overflow:auto}.error,.notice{border-radius:9px;margin:20px 0;padding:13px}.error{color:#b42318;background:#fff1f0;border:1px solid #ffccc7}.notice{color:#17633e;background:#e9f7ef;border:1px solid #b8dfc7}.loading{text-align:center;color:#62728a;place-content:center;min-height:100vh;display:grid}.clock{color:#295f93;font-size:52px}.admin-grid,.equipment-layout{grid-template-columns:1.45fr .9fr;gap:20px;margin-top:22px;display:grid}.classic-maintainer{grid-template-columns:1fr}.form-row{gap:9px;margin:18px 0;display:flex}.form-row input,.form-row select{width:100%}.policy-form input:first-child{flex:2}.compact{font-size:14px}.compact th,.compact td{padding:10px}.compact td{white-space:normal}.maintainer-table{margin-top:22px;padding:0;overflow:hidden}.maintainer-table table{margin:0}.maintainer-table th,.maintainer-table td{vertical-align:middle;padding:12px 20px}.maintainer-table tbody td{padding-top:16px;padding-bottom:16px;line-height:1.4}.maintainer-table tbody tr:last-child td{border-bottom:0}.actions-col{text-align:right;width:190px}.row-actions{justify-content:flex-end;gap:8px;display:flex;white-space:nowrap!important}.action-button{color:#23466f;font:inherit;cursor:pointer;background:#fff;border:1px solid #c5d2e2;border-radius:7px;padding:7px 11px;font-weight:650}.action-button:hover{background:#eef5fc}.danger-button{color:#b42318;border-color:#efb7b2}.danger-button:hover{background:#fff1f0}.status-pill{color:#17633e;background:#e9f7ef;border:1px solid #b8dfc7;border-radius:99px;padding:3px 8px;font-size:12px;font-weight:750;display:inline-block}.modal-backdrop{z-index:20;background:#15263e6b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.probe-editor{width:min(920px,100%);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 18px 50px #10233b47}.equipment-detail-modal{width:min(1080px,100%);max-height:calc(100vh - 48px);padding:24px;overflow:auto;box-shadow:0 18px 50px #10233b47}.maintainer-table>.panel-heading{padding:20px 22px 16px}.panel-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.panel-heading h3{margin:0}.panel-heading p{color:#65728a;margin:7px 0 0;line-height:1.45}.modal-close{color:#596b83;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:28px;line-height:1}.modal-close:hover{color:#172b4d}.form-actions{align-items:center;gap:9px;display:flex}.inline-check{align-items:center;gap:8px;grid-template-columns:none!important;display:flex!important}.inline-check input{width:auto!important}.password-strength{color:#607089;gap:5px;font-size:13px;display:grid}.password-strength small{display:block}.password-strength .ok{color:#18794e}.password-strength .bad{color:#7a8798}.strength-bar{background:#d9e1ea;border-radius:8px;height:7px}.strength-0,.strength-1,.strength-2{background:#d14343}.strength-3,.strength-4{background:#d79b15}.strength-5,.strength-6{background:#238455}.link-button{color:#295f93;cursor:pointer;background:0 0;border:0;font-weight:700}.danger{color:#b42318;margin-left:12px}.secret{background:#fff8db;border:1px solid #f0d674;border-radius:8px;align-items:center;gap:9px;margin-bottom:14px;padding:10px;display:flex}.secret code{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.secret button{cursor:pointer;background:#fff;border:1px solid #c9a924;border-radius:7px;padding:6px 9px;font-weight:650}.equipment-list{gap:7px;max-height:360px;display:grid;overflow:auto}.equipment-list button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e1e8f0;border-radius:8px;padding:10px}.equipment-list button.selected{background:#eef6ff;border-color:#4779a9}.equipment-list b{display:block}.equipment-list small,.form-stack label small{color:#6c7a8d;margin-top:3px;display:block}.admin-nav{border-bottom:1px solid #dce5ef;gap:8px;margin:28px 0 24px;display:flex}.preventive-page{padding:16px 0 10px}.preventive-page>.section-title{padding:4px 2px 8px}.admin-nav button{color:#5c6c81;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:11px 14px;font-weight:750}.admin-nav button.active{color:#1f5e95;border-color:#2676b8}.health-hero{background:linear-gradient(120deg,#eaf4ff,#fff);border:1px solid #dce8f4;border-radius:12px;align-items:center;padding:22px}.health-hero h2{margin:3px 0}.health-hero p{color:#64748b;margin:7px 0}.health-cards{margin:18px 0}.org-tree{margin:0;padding:0;list-style:none}.org-tree ul{border-left:1px solid #cbd9e6;margin:4px 0 4px 14px;padding-left:14px;list-style:none}.org-tree li{margin:6px 0}.org-tree button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e0e8f0;border-radius:8px;min-width:210px;padding:8px 10px;display:block}.org-tree button:hover{background:#f4f9ff;border-color:#9bbbd8}.org-tree small{color:#6b7c90;margin-top:2px;display:block}.health-list{gap:8px;margin:12px 0;display:grid}.health-list article{border-bottom:1px solid #edf1f5;align-items:center;gap:9px;padding:9px;display:flex}.health-list small{color:#6c7a8d;display:block}.form-stack{gap:13px;display:grid}.form-stack label{gap:5px;font-weight:650;display:grid}.form-stack label.check-row{justify-content:flex-start;align-items:center;gap:9px;display:flex}.form-stack label.check-row input[type=checkbox]{flex:none;width:auto;margin:0}.form-stack input,.form-stack select,.form-stack textarea{width:100%}.capability-list{gap:8px;display:grid}.form-stack .capability-list label{align-items:center;gap:9px;font-weight:650;display:flex}.form-stack .capability-list input[type=checkbox]{width:auto;margin:0}@media (width<=760px){main{margin:28px auto;padding:0 14px}.cards{grid-template-columns:repeat(2,1fr)}.analysis-grid,.alerts,.admin-grid,.equipment-layout{grid-template-columns:1fr}header,.section-title,.ai-head,.health-hero{display:block}.refresh,.close{margin-top:10px}.header-actions{display:block}.header-actions .refresh{margin-right:8px}.maintainer-table>.panel-heading{padding:17px 16px 14px}.maintainer-table th,.maintainer-table td{padding-left:16px;padding-right:16px}.form-row,.policy-form{flex-direction:column}.secret{align-items:stretch}.secret code{white-space:normal;word-break:break-all}.admin-nav{overflow:auto}}:root{--brand-primary:#215f96}.brand-head{align-items:flex-start;gap:12px;display:flex}.brand-logo{object-fit:contain;width:auto;max-width:150px;height:42px;margin-top:5px}.org-tree .tree-node{text-align:left;cursor:pointer;background:#fff;border:1px solid #e0e8f0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:9px 10px;display:flex}.org-tree .tree-node:hover,.org-tree .tree-node.selected{border-color:#6d9eca;box-shadow:0 0 0 2px #dceeff}.org-tree .tree-node.yellow{background:#fffbeb;border-color:#f6d66d}.org-tree .tree-node.red{background:#fff1f0;border-color:#f0aaa4}.tree-toggle{color:#57718d;width:14px;font-size:18px;line-height:1}.tree-status{white-space:nowrap;border-radius:999px;margin-left:auto;padding:4px 8px;font-size:11px;font-weight:750}.tree-status.white{color:#53657a;background:#edf2f7}.tree-status.yellow{color:#9a6700;background:#fef3c7}.tree-status.red{color:#b42318;background:#fee2e2}@media (width<=760px){.tree-status{font-size:10px}}.health-map-panel{margin-bottom:22px}.health-map-legend{flex-wrap:wrap;gap:9px;margin:12px 0;display:flex}.health-map-legend span{border:1px solid;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700}.health-map-legend .white{color:#53657a;background:#fff;border-color:#cbd8e5}.health-map-legend .yellow{color:#9a6700;background:#fef3c7;border-color:#f6d66d}.health-map-legend .red{color:#b42318;background:#fee2e2;border-color:#f0aaa4}.health-map-scroll{min-height:135px;padding:14px 8px 4px;overflow:auto}.health-map,.health-map ul{justify-content:center;min-width:max-content;margin:0;padding:0;list-style:none;display:flex;position:relative}.health-map ul{padding-top:42px}.health-map ul:before{content:"";border-left:2px solid #9aacb9;height:42px;position:absolute;top:0;left:50%}.health-map li{text-align:center;min-width:150px;padding:42px 10px 0;position:relative}.health-map li:before,.health-map li:after{content:"";border-top:2px solid #9aacb9;width:50%;height:22px;position:absolute;top:20px;right:50%}.health-map li:after{border-left:2px solid #9aacb9;left:50%;right:auto}.health-map li:only-child:before,.health-map li:only-child:after{display:none}.health-map li:only-child{padding-top:0}.health-map li:first-child:before,.health-map li:last-child:after{border:0}.health-map li:last-child:before{border-right:2px solid #9aacb9;border-radius:0 7px 0 0}.health-map li:first-child:after{border-radius:7px 0 0}.health-map>li:only-child{padding-top:0}.health-map>li:only-child:before,.health-map>li:only-child:after{display:none}.map-node{cursor:pointer;color:#172033;background:#fff;border:1px solid #cbd8e5;border-radius:50%;width:132px;min-height:76px;padding:10px 12px;box-shadow:0 2px 5px #1a385024}.map-node b{font-size:13px;line-height:1.15;display:block}.map-node small{color:#607389;margin-top:4px;font-size:11px;line-height:1.2;display:block}.map-node.yellow{background:#fef3c7;border-color:#d6aa1e}.map-node.red{background:#fee2e2;border-color:#d26058}.map-node:hover,.map-node.selected{outline:3px solid #b7d7f3;transform:translateY(-1px)}@media (width<=760px){.health-map-scroll{padding-left:0;padding-right:0}.health-map li{min-width:132px;padding-left:5px;padding-right:5px}.map-node{width:118px}}.map-equipment-toggle{margin:0 0 2px}.map-asset-item{min-width:116px!important}.map-asset{cursor:pointer;background:#fff;border:1px solid #cbd8e5;border-radius:50%;width:100px;min-height:58px;padding:8px 7px;box-shadow:0 2px 5px #1a385024}.map-asset b{text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.1;display:block;overflow:hidden}.map-asset small{color:#607389;margin-top:4px;font-size:9px;line-height:1.1;display:block}.map-asset.yellow{background:#fef3c7;border-color:#d6aa1e}.map-asset.red{background:#fee2e2;border-color:#d26058}.map-asset.gray{color:#586574;background:#f1f3f5;border-color:#aeb8c3}.metric-charts{margin:22px 0}.metric-charts>p{color:#65728a;margin:5px 0 12px}.chart-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.metric-chart{border:1px solid #e1e8f0;border-radius:10px;padding:12px}.metric-chart>div{justify-content:space-between;align-items:baseline;display:flex}.metric-chart strong{color:#215f96}.metric-chart svg{width:100%;height:105px;margin:8px 0;overflow:visible}.metric-chart line{stroke:#e8eef5;stroke-width:1px}.metric-chart polyline{fill:none;stroke:#2676b8;stroke-width:2.5px;vector-effect:non-scaling-stroke}.inventory-detail{margin-top:22px}.inventory-grid,.disk-usage-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.inventory-grid article,.disk-usage{background:#fff;border:1px solid #e1e8f0;border-radius:10px;padding:13px}.inventory-grid small,.inventory-grid span,.disk-usage small{color:#65728a;margin-top:4px;display:block}.inventory-grid b{overflow-wrap:anywhere;margin-top:6px;display:block}.disk-usage-grid{grid-template-columns:repeat(2,1fr);margin-top:12px}.disk-usage{align-items:center;gap:13px;display:flex}.disk-pie{border-radius:50%;flex:none;place-items:center;width:74px;height:74px;display:grid}.disk-pie span{background:#fff;border-radius:50%;place-items:center;width:50px;height:50px;font-size:12px;font-weight:800;display:grid}.health-agent-link{cursor:pointer}@media (width<=800px){.inventory-grid,.disk-usage-grid{grid-template-columns:1fr}}.metric-chart small{color:#6b7c90;line-height:1.35;display:block}@media (width<=760px){.chart-grid{grid-template-columns:1fr}}
