*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:12px;background:#f5f5f5;color:#000}.app{display:flex;flex-direction:column;height:100vh;min-width:1280px}.toolbar{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#f5f5f5}.dir-label{flex:1;color:#555;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-primary,.btn-secondary,.btn-success{border:none;border-radius:4px;padding:6px 18px;font-size:13px;font-weight:700;color:#fff;cursor:pointer;height:38px;white-space:nowrap}.btn-primary{background:#0078d4}.btn-primary:hover{background:#106ebe}.btn-primary:active{background:#005a9e}.btn-secondary{background:#5c6bc0;padding:6px 14px;font-size:12px}.btn-secondary:hover{background:#3949ab}.btn-success{background:#217346}.btn-success:hover{background:#1a5c38}.btn-primary:disabled,.btn-secondary:disabled,.btn-success:disabled{background:#c8c8c8;color:#888;cursor:default}.filter-bar{display:flex;align-items:center;gap:8px;padding:4px 10px 6px}.filter-bar label{font-size:12px}.filter-input,.filter-select{border:1px solid #c8c8c8;border-radius:3px;padding:3px 6px;font-size:12px;height:30px}.filter-input{flex:1}.filter-select{width:180px}.table-container{flex:1;overflow:auto;padding:0 10px}.data-table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}.data-table th{background:#e8e8e8;padding:5px;border:1px solid #c8c8c8;font-weight:700;font-size:12px;text-align:left;position:sticky;top:0;z-index:1;-webkit-user-select:none;user-select:none}.data-table th.sortable{cursor:pointer}.data-table th.sortable:hover{background:#d8d8d8}.sort-arrow{font-size:10px}.data-table td{padding:3px 5px;border-bottom:1px solid #e0e0e0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table tr:hover td{background:#e8f0fe}.alt-row td{background:#f9f9f9}.alt-row:hover td{background:#e8f0fe}.cell-right{text-align:right}.file-link{color:#0078d4;text-decoration:none;cursor:pointer}.file-link:hover{text-decoration:underline}.plazo-green{background:#c8f5c8!important}.plazo-yellow{background:#fffcc8!important}.plazo-orange{background:#ffe1c3!important}.plazo-gray{background:#d7d7d7!important}.plazo-red{background:#ffc8c8!important}.stock-blue{background:#c8e1ff!important}.status-bar{display:flex;justify-content:space-between;align-items:center;padding:4px 10px;background:#e8e8e8;border-top:1px solid #c8c8c8;font-size:12px;color:#333;flex-shrink:0}.version-label{color:#888;font-size:11px}.version-link{cursor:pointer}.version-link:hover{text-decoration:underline}.progress-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.progress-modal{background:#fff;border-radius:8px;padding:24px 32px;min-width:400px;box-shadow:0 4px 20px #0000004d}.progress-modal h3{margin-bottom:16px;font-size:14px}.progress-bar-container{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-bar-fill{height:100%;background:#0078d4;border-radius:4px;transition:width .2s}.progress-text{font-size:11px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-detail{font-size:11px;color:#888;font-style:italic;margin-top:4px}.install-banner{background:#fff;border-bottom:2px solid #0078d4;box-shadow:0 2px 8px #0000001a}.install-banner-content{display:flex;align-items:center;gap:16px;padding:12px 16px;max-width:1200px;margin:0 auto}.install-banner-icon{width:48px;height:48px;flex-shrink:0}.install-banner-text{flex:1}.install-banner-text strong{font-size:14px;display:block;margin-bottom:4px}.install-banner-text p{font-size:12px;color:#555;margin-bottom:4px}.install-banner-text ol{font-size:11px;color:#666;padding-left:18px;margin:0}.install-banner-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.btn-install{background:#0078d4;color:#fff;border:none;border-radius:4px;padding:8px 24px;font-size:13px;font-weight:700;cursor:pointer}.btn-install:hover{background:#106ebe}.btn-dismiss{background:transparent;border:1px solid #c8c8c8;border-radius:4px;padding:6px 16px;font-size:11px;color:#666;cursor:pointer}.btn-dismiss:hover{background:#f0f0f0}.browser-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;background:#fff3cd;border-bottom:1px solid #ffc107;font-size:12px;color:#664d03}.browser-notice strong{font-weight:700}.update-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.update-modal{background:#fff;border-radius:8px;padding:24px 32px;min-width:380px;max-width:500px;box-shadow:0 4px 20px #0000004d}.update-modal h3{margin-bottom:12px;font-size:15px;color:#0078d4}.update-notes{margin-bottom:16px;font-size:12px}.update-notes strong{display:block;margin-bottom:6px}.update-notes ul{padding-left:20px;margin:0}.update-notes li{margin-bottom:3px}.update-actions{text-align:right}.diagnostics-banner{display:flex;align-items:center;gap:16px;padding:8px 16px;background:#fff7e6;border:1px solid #ffd591;border-radius:4px;margin:0 16px 8px;font-size:13px}.diagnostics-banner strong{font-weight:600}.btn-link{background:none;border:none;color:#1677ff;cursor:pointer;font-size:13px;padding:0;text-decoration:underline}.btn-link:hover{color:#4096ff}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;max-width:800px;width:90%;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 10px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid #f0f0f0}.modal-header h3{margin:0;font-size:16px}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#888;line-height:1}.modal-close:hover{color:#333}.modal-body{padding:16px 20px;overflow-y:auto}.diag-total{font-weight:500;color:#595959;font-size:13px}.diag-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:10px 24px;border-bottom:1px solid #e5e7eb;background:#fafbfc}.diag-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.diag-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:500;border:1px solid transparent;cursor:pointer;opacity:.55;transition:opacity .1s ease}.diag-chip:hover{opacity:.85}.diag-chip-active{opacity:1;outline:2px solid currentColor;outline-offset:1px}.diag-chip-count{font-weight:700;font-size:11px;padding:0 6px;border-radius:8px;background:#ffffff80}.diag-chip-critical{background:#fff1f0;color:#cf1322}.diag-chip-config{background:#fff4e6;color:#d46b08}.diag-chip-warn{background:#fffbe6;color:#ad6800}.diag-chip-info{background:#e6f4ff;color:#0958d9}.diag-chip-muted{background:#f0f0f0;color:#595959}.diag-clear-filters{font-size:11px;padding:4px 8px}.diag-toolbar-right{display:flex;gap:8px;align-items:center}.diag-search{width:180px;padding:4px 10px;border:1px solid #d0d7de;border-radius:4px;font-size:12px}.diag-search:focus{outline:1px solid #0078d4;border-color:#0078d4}.diag-group-toggle{display:inline-flex;border:1px solid #d0d7de;border-radius:4px;overflow:hidden}.diag-group-toggle button{background:#fff;border:none;padding:4px 12px;font-size:12px;cursor:pointer;color:#57606a}.diag-group-toggle button+button{border-left:1px solid #d0d7de}.diag-group-toggle button.diag-toggle-active{background:#0078d4;color:#fff;font-weight:500}.diagnostics-modal .diag-group{margin-bottom:18px}.diag-group-title{margin:0 0 8px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:#57606a;padding-bottom:4px;border-bottom:1px solid #eaeef2}.diag-group-title-critical{color:#cf1322;border-bottom-color:#ffccc7}.diag-group-title-config{color:#d46b08;border-bottom-color:#ffe7ba}.diag-group-title-warn{color:#ad6800;border-bottom-color:#fff1b8}.diag-group-title-info{color:#0958d9;border-bottom-color:#bae0ff}.diag-group-title-muted{color:#595959;border-bottom-color:#e8e8e8}.diag-count{font-weight:500;color:#595959;font-size:11px;background:#f0f0f0;padding:1px 8px;border-radius:10px;line-height:1.6}.diag-list{list-style:none;padding:0;margin:0}.diag-item{padding:8px 10px;margin-bottom:4px;border-left:3px solid #d9d9d9;background:#fafafa;font-size:12px;border-radius:0 4px 4px 0}.diag-item-critical{border-left-color:#ff4d4f}.diag-item-config{border-left-color:#fa8c16}.diag-item-warn{border-left-color:#faad14}.diag-item-info{border-left-color:#1677ff}.diag-item-muted{border-left-color:#bfbfbf}.diag-item-head{display:flex;align-items:center;gap:10px;justify-content:space-between}.diag-file{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:600;color:#1f1f1f;word-break:break-all;flex:1;min-width:0}.diag-badge{display:inline-block;padding:2px 9px;border-radius:10px;font-size:11px;font-weight:500;white-space:nowrap}.diag-badge-critical{background:#fff1f0;color:#cf1322}.diag-badge-config{background:#fff4e6;color:#d46b08}.diag-badge-warn{background:#fffbe6;color:#ad6800}.diag-badge-info{background:#e6f4ff;color:#0958d9}.diag-badge-muted{background:#f0f0f0;color:#595959}.diag-reason-wrap{margin-top:6px;font-size:11px}.diag-reason-wrap>summary{cursor:pointer;color:#57606a;-webkit-user-select:none;user-select:none;list-style:none}.diag-reason-wrap>summary:before{content:"▸";display:inline-block;margin-right:4px;font-size:9px;transition:transform .15s}.diag-reason-wrap[open]>summary:before{transform:rotate(90deg)}.diag-reason{color:#595959;line-height:1.45;margin-top:6px;white-space:pre-wrap}.diag-tried{color:#8c8c8c;font-size:11px;margin-top:6px;padding-top:6px;border-top:1px dashed #e8e8e8;font-style:italic}.diag-empty{color:#57606a;font-style:italic;padding:24px;text-align:center}.configs-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;padding:32px 16px;z-index:1000;overflow-y:auto}.configs-modal{background:#fff;border-radius:8px;width:100%;max-width:960px;box-shadow:0 8px 32px #00000040;display:flex;flex-direction:column}.configs-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #e8e8e8}.configs-header h2{margin:0;font-size:18px;color:#262626}.btn-close{background:transparent;border:none;font-size:28px;line-height:1;color:#8c8c8c;cursor:pointer;padding:0 8px}.btn-close:hover{color:#262626}.configs-body{padding:16px 24px 24px}.configs-section{margin-bottom:28px}.configs-section h3{font-size:14px;margin:0 0 8px;color:#262626;text-transform:uppercase;letter-spacing:.5px}.configs-statusbar{display:flex;align-items:center;gap:12px;padding:10px 24px;border-bottom:1px solid #e5e7eb;background:#fafbfc;flex-wrap:wrap}.configs-state-badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;padding:4px 12px;border-radius:999px}.configs-state-icon{font-size:14px;line-height:1}.configs-state-detail{margin-left:6px;font-weight:400;opacity:.7}.configs-state-ok{background:#dcfce7;color:#166534}.configs-state-warn{background:#fef3c7;color:#92400e}.configs-state-info{background:#dbeafe;color:#1e40af}.btn-small{padding:4px 12px;font-size:12px}.configs-warnings-inline{font-size:12px;color:#92400e;margin-left:auto}.configs-warnings-inline>summary{cursor:pointer}.configs-warnings-inline ul{margin:8px 0 0;padding-left:18px;max-width:400px}.configs-tabs{display:flex;gap:4px;padding:0 24px;border-bottom:1px solid #e5e7eb;background:#fff}.configs-tab{background:none;border:none;padding:10px 16px;font-size:13px;color:#57606a;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.configs-tab:hover{color:#262626}.configs-tab-active{color:#0078d4;border-bottom-color:#0078d4;font-weight:500}.configs-warning-text{color:#9a6700;background:#fff8c5;padding:8px 12px;border-left:3px solid #d4a72c;border-radius:3px}.configs-editor-tab{display:flex;flex-direction:column;gap:12px;height:100%}.configs-remote-url-row{font-size:12px;padding:8px 12px;background:#fafbfc;border:1px solid #e5e7eb;border-radius:4px}.configs-remote-url-row>summary{cursor:pointer;color:#57606a;-webkit-user-select:none;user-select:none}.configs-editor-split{display:grid;grid-template-columns:1fr 320px;gap:12px;min-height:400px;max-height:60vh}.configs-editor-left{border:1px solid #d0d7de;border-radius:4px;overflow:hidden;background:#fff}.configs-editor-loading{padding:16px;color:#57606a;font-size:13px}.yaml-editor-host{height:100%;min-height:400px;max-height:60vh;overflow:auto}.cm-editor{height:100%;outline:none}.cm-editor.cm-focused{outline:none}.configs-editor-docs{border:1px solid #d0d7de;border-radius:4px;background:#fafbfc;padding:12px;overflow-y:auto;font-size:12px}.configs-editor-docs h4{margin:0 0 4px;font-size:13px}.configs-editor-docs h5{margin:12px 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:#57606a}.configs-doc-filetype{font-size:11px;color:#57606a;font-weight:400}.configs-doc-desc{margin:0 0 8px;color:#57606a;line-height:1.5}.configs-doc-params{width:100%;border-collapse:collapse}.configs-doc-params td{padding:4px 6px;vertical-align:top;border-top:1px solid #eaeef2}.configs-doc-params tr:first-child td{border-top:none}.configs-doc-param-active{background:#fffbea}.configs-doc-type{color:#6f42c1;font-size:11px}.configs-doc-default{color:#57606a;font-style:italic}.configs-doc-values{margin-top:2px;font-size:11px;color:#57606a}.configs-doc-placeholder{color:#57606a}.configs-doc-list{margin:0;padding-left:16px;line-height:1.7}.configs-editor-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:8px;border-top:1px solid #e5e7eb}.configs-help{margin:4px 0 12px;font-size:12px;color:#595959;line-height:1.5}.configs-help code{background:#f5f5f5;padding:1px 6px;border-radius:3px;font-size:11px}.configs-state-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:12px}.configs-state-grid>div{display:flex;flex-direction:column;gap:4px}.configs-label{font-size:11px;text-transform:uppercase;color:#8c8c8c;letter-spacing:.5px}.configs-source-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:500;width:fit-content}.configs-source-ok{background:#f6ffed;color:#389e0d}.configs-source-warn{background:#fff7e6;color:#d46b08}.configs-source-info{background:#e6f4ff;color:#0958d9}.configs-warnings{margin-top:8px;font-size:12px}.configs-warnings summary{cursor:pointer;color:#d46b08}.configs-warnings ul{margin:6px 0 0 18px;color:#595959}.configs-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.configs-row-end{justify-content:flex-end}.configs-input{flex:1;padding:6px 10px;border:1px solid #d9d9d9;border-radius:4px;font-family:inherit;font-size:13px}.configs-input:focus{outline:none;border-color:#0078d4}.configs-yaml-editor{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;padding:10px 12px;border:1px solid #d9d9d9;border-radius:4px;background:#fafafa;resize:vertical;box-sizing:border-box;line-height:1.45;margin-top:8px;margin-bottom:8px}.configs-yaml-editor:focus{outline:none;border-color:#0078d4;background:#fff}.configs-validation{margin:8px 0;padding:8px 12px;border-radius:4px;font-size:12px;line-height:1.5}.configs-validation-ok{background:#f6ffed;color:#389e0d;border:1px solid #b7eb8f}.configs-validation-warn{background:#fff7e6;color:#ad6800;border:1px solid #ffd591}.configs-validation-error{background:#fff1f0;color:#a8071a;border:1px solid #ffa39e}.configs-validation ul{margin:6px 0 0 16px}.configs-validation strong{display:block;margin-bottom:4px}.configs-table{width:100%;border-collapse:collapse;font-size:12px}.configs-table th{text-align:left;font-weight:600;padding:6px 8px;border-bottom:2px solid #e8e8e8;color:#595959;text-transform:uppercase;font-size:11px;letter-spacing:.5px}.configs-table td{padding:8px;border-bottom:1px solid #f0f0f0;vertical-align:top}.configs-table code{font-size:11px;background:#f5f5f5;padding:1px 6px;border-radius:3px}.configs-desc{color:#595959;line-height:1.5;font-size:11px}.configs-chip{display:inline-block;padding:1px 8px;border-radius:999px;background:#e6f4ff;color:#0958d9;font-size:11px;margin-right:4px;margin-bottom:2px}
