:root{--primary:#002d72;--primary-hover:#002052;--secondary:#ff6a13;--secondary-hover:#e65500;--danger:#dc2626;--danger-hover:#b91c1c;--gray-50:#f8f9fa;--gray-100:#f1f3f5;--gray-200:#e9ecef;--gray-300:#dee2e6;--gray-400:#ced4da;--gray-500:#adb5bd;--gray-600:#6c757d;--gray-700:#495057;--gray-800:#343a40;--gray-900:#212529;--radius:4px;--shadow:0 1px 2px #0000000d;--shadow-lg:0 4px 12px #0000001a}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--gray-800);background:var(--gray-50);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:14px;line-height:1.5}.app{flex-direction:column;height:100vh;display:flex}.header{border-bottom:1px solid var(--gray-200);box-shadow:var(--shadow);background:#fff;justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.header-left{align-items:center;gap:24px;display:flex}.header h1{color:var(--gray-900);font-size:20px;font-weight:600}.division-selector{align-items:center;gap:8px;display:flex}.division-selector label{color:var(--gray-600);font-size:14px;font-weight:500}.division-selector select{border:1px solid var(--gray-300);border-radius:var(--radius);cursor:pointer;background:#fff;min-width:150px;padding:6px 12px;font-size:14px}.division-selector select:focus{border-color:var(--primary);outline:none}.header-actions{gap:8px;display:flex}.btn{border:1px solid var(--gray-300);border-radius:var(--radius);color:var(--gray-700);cursor:pointer;background:#fff;justify-content:center;align-items:center;padding:8px 16px;font-size:14px;font-weight:500;transition:all .15s;display:inline-flex}.btn:hover{background:var(--gray-50);border-color:var(--gray-400)}.btn-sm{padding:4px 12px;font-size:13px}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-secondary{background:var(--gray-100);border-color:var(--gray-300);color:var(--gray-600)}.btn-secondary:hover{background:var(--gray-200)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-hover);border-color:var(--danger-hover)}.btn-icon{color:var(--gray-500);cursor:pointer;background:0 0;border:none;padding:4px 8px}.btn-icon:hover{color:var(--gray-700);background:var(--gray-100);border-radius:var(--radius)}.main{flex:1;display:flex;overflow:hidden}.sidebar{border-right:1px solid var(--gray-200);background:#fff;flex-direction:column;width:320px;display:flex;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:16px;display:flex}.sidebar-header h2{text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500);font-size:14px;font-weight:600}.expand-controls{border-bottom:1px solid var(--gray-200);background:var(--gray-50);align-items:center;gap:6px;padding:8px 16px;display:flex}.expand-label{color:var(--gray-500);margin-right:4px;font-size:12px}.btn-expand{border:1px solid var(--gray-300);border-radius:var(--radius);color:var(--gray-600);cursor:pointer;background:#fff;padding:4px 10px;font-size:12px;font-weight:500;transition:all .15s}.btn-expand:hover{background:var(--primary);border-color:var(--primary);color:#fff}.tree{flex:1;padding:8px;overflow-y:auto}.tree-item{-webkit-user-select:none;user-select:none}.tree-node{border-radius:var(--radius);cursor:pointer;align-items:center;gap:4px;padding:6px 8px;display:flex}.tree-node:hover{background:var(--gray-100)}.tree-node.selected{background:var(--primary);color:#fff}.tree-node.selected .tree-toggle,.tree-node.selected .tree-actions .btn-icon{color:#fff}.tree-reorder{opacity:0;flex-direction:column;gap:0;margin-right:4px;transition:opacity .15s;display:flex}.tree-node:hover .tree-reorder{opacity:1}.btn-tree-reorder{color:var(--gray-400);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:8px;line-height:1;transition:color .15s}.btn-tree-reorder:hover:not(.disabled){color:var(--gray-700)}.btn-tree-reorder.disabled{color:var(--gray-200);cursor:default}.tree-node.selected .btn-tree-reorder{color:#ffffff80}.tree-node.selected .btn-tree-reorder:hover:not(.disabled){color:#fff}.tree-node.selected .btn-tree-reorder.disabled{color:#fff3}.tree-toggle{width:20px;height:20px;color:var(--gray-400);flex-shrink:0;justify-content:center;align-items:center;font-size:10px;display:flex}.tree-toggle.has-children:hover{color:var(--gray-600)}.tree-label{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;overflow:hidden}.tree-level{color:var(--gray-400);flex-shrink:0;margin-left:8px;font-size:11px}.tree-node.selected .tree-level{color:#ffffffb3}.tree-app-count{background:var(--primary);color:#fff;border-radius:10px;flex-shrink:0;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:600}.tree-node.selected .tree-app-count{color:var(--primary);background:#fff}.tree-actions{flex-shrink:0;gap:2px;margin-left:auto;display:none}.tree-node:hover .tree-actions,.tree-node.selected .tree-actions{display:flex}.tree-children{padding-left:20px}.tree-children.collapsed{display:none}.detail-panel{background:var(--gray-50);flex:1;padding:24px;overflow-y:auto}.detail-content{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;max-width:800px;padding:24px}.placeholder{color:var(--gray-500);text-align:center;padding:48px 24px}.detail-header{margin-bottom:24px}.detail-header h3{margin-bottom:4px;font-size:18px;font-weight:600}.detail-header .level-badge{background:var(--gray-100);color:var(--gray-600);border-radius:12px;margin-right:8px;padding:2px 8px;font-size:12px;display:inline-block}.detail-description{color:var(--gray-600);margin-top:8px}.state-tabs{flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:16px;display:flex}.state-tab{border:1px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;color:var(--gray-600);background:#fff;padding:8px 16px;font-size:14px;transition:all .15s}.state-tab:hover{border-color:var(--gray-300);background:var(--gray-50)}.state-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.state-tab-actions{margin-left:8px;display:none}.state-tab:hover .state-tab-actions,.state-tab.active .state-tab-actions{display:inline}.btn-add-state{border:1px dashed var(--gray-300);border-radius:var(--radius);cursor:pointer;color:var(--gray-500);background:0 0;padding:8px 12px;font-size:14px}.btn-add-state:hover{border-color:var(--primary);color:var(--primary)}.mapping-section h4{color:var(--gray-700);margin-bottom:12px;font-size:14px;font-weight:600}.app-chips{flex-wrap:wrap;gap:8px;min-height:32px;margin-bottom:16px;display:flex}.app-chip{background:var(--primary);color:#fff;border-radius:16px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:500;display:inline-flex}.app-chip-vendor{opacity:.8;font-weight:400}.app-chip-remove{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:14px;line-height:1;display:flex}.app-chip-remove:hover{background:#fff6}.app-chip-inherited{background:var(--gray-500)}.app-chip-source,.app-chip-divisions{opacity:.85;margin-left:4px;font-size:11px;font-weight:400}.read-only-notice{background:var(--gray-100);border-radius:var(--radius);color:var(--gray-600);align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;font-size:13px;display:flex}.read-only-notice:before{content:"ℹ";font-size:16px}.no-mappings{color:var(--gray-500);padding:8px 0;font-style:italic}.app-search-container{max-width:350px;position:relative}.app-search-input{border:1px solid var(--gray-300);border-radius:var(--radius);background:#fff;width:100%;padding:10px 12px 10px 36px;font-size:14px}.app-search-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2563eb1a}.app-search-icon{color:var(--gray-400);pointer-events:none;font-size:14px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.app-search-dropdown{border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:100;background:#fff;max-height:240px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.app-search-dropdown.hidden{display:none}.app-search-item{cursor:pointer;border-bottom:1px solid var(--gray-100);padding:10px 12px}.app-search-item:last-child{border-bottom:none}.app-search-item:hover,.app-search-item.highlighted{background:var(--gray-50)}.app-search-item-name{font-weight:500}.app-search-item-vendor{color:var(--gray-500);font-size:12px}.app-search-empty{text-align:center;color:var(--gray-500);padding:16px 12px}.no-apps-message{color:var(--gray-500);text-align:center;background:var(--gray-50);border-radius:var(--radius);padding:24px}.matrix-container{border-radius:var(--radius);background:#fff;margin-bottom:16px;overflow-x:auto}.mapping-matrix{border-collapse:collapse;width:100%;font-size:14px}.mapping-matrix th,.mapping-matrix td{text-align:left;border-bottom:1px solid var(--gray-100);padding:12px 16px}.mapping-matrix thead th{text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500);border-bottom:1px solid var(--gray-200);background:#fff;font-size:11px;font-weight:600;position:sticky;top:0}.matrix-app-header{min-width:200px}.matrix-state-header{white-space:nowrap;min-width:100px;text-align:center!important}.matrix-state-name{display:inline-block}.matrix-state-actions{margin-left:4px;display:none}.matrix-state-header:hover .matrix-state-actions{display:inline}.matrix-add-state-header{width:50px;text-align:center!important}.btn-add-state-matrix{border:1px dashed var(--gray-300);border-radius:var(--radius);cursor:pointer;width:28px;height:28px;color:var(--gray-500);background:0 0;padding:0;font-size:18px;line-height:1}.btn-add-state-matrix:hover{border-color:var(--primary);color:var(--primary)}.matrix-app-cell{flex-direction:column;gap:2px;display:flex}.matrix-app-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.matrix-app-badges{flex-shrink:0;gap:4px;display:flex}.matrix-app-name{font-weight:500}.matrix-app-name.clickable{cursor:pointer;color:var(--primary)}.matrix-app-name.clickable:hover{text-decoration:underline}.matrix-app-vendor{color:var(--gray-500);font-size:12px}.matrix-app-source{color:var(--gray-400);font-size:12px;font-style:italic}.matrix-cell{cursor:pointer;transition:background .15s;text-align:center!important}.matrix-cell:hover:not(.matrix-cell-readonly):not(.matrix-cell-inherited){background:var(--gray-100)}.matrix-cell.mapped{background:#2563eb0d}.matrix-cell.mapped:hover:not(.matrix-cell-readonly):not(.matrix-cell-inherited){background:#2563eb1a}.matrix-cell-readonly{cursor:default}.matrix-cell-inherited{cursor:default;opacity:.6}.matrix-indicator{color:var(--gray-300);font-size:16px;line-height:1;display:inline-block}.matrix-indicator.mapped{color:var(--primary)}.matrix-divisions{color:var(--gray-500);margin-top:2px;font-size:10px;display:block}.matrix-row-actions{width:40px;text-align:center!important}.btn-remove-app{opacity:0;transition:opacity .15s}.matrix-row:hover .btn-remove-app{opacity:1}.matrix-row-inherited{background:var(--gray-50)}.matrix-row-inherited .matrix-app-cell{opacity:.7}.app-lifecycle-badge{vertical-align:middle;white-space:nowrap;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.app-lifecycle-new{color:#15803d;background:#16a34a26}.app-lifecycle-retiring{color:#b91c1c;background:#dc262626}.app-lifecycle-changing{color:#a16207;background:#eab30826}.matrix-row-new{background:#16a34a0f}.matrix-row-retiring{background:#dc26260f}.matrix-row-changing{background:#eab3080f}.matrix-row-inherited.matrix-row-new{background:#16a34a14}.matrix-row-inherited.matrix-row-retiring{background:#dc262614}.matrix-row-inherited.matrix-row-changing{background:#eab30814}.app-lifecycle-div-expanding{color:#15803d;background:#16a34a26}.app-lifecycle-div-contracting{color:#b91c1c;background:#dc262626}.app-lifecycle-div-change{color:#a16207;background:#eab30826}.matrix-row-div-change{background:#eab3080f}.matrix-row-inherited.matrix-row-div-change{background:#eab30814}.div-added{color:#15803d;font-weight:600}.div-removed{color:#b91c1c;font-weight:600;text-decoration:line-through}.matrix-row-capability-header{background:var(--gray-100)}.matrix-row-capability-header td{border-bottom:1px solid var(--gray-200);padding:8px 12px}.inherited-capability-name{color:var(--gray-700);font-size:13px;font-weight:600}.inherited-capability-level{color:var(--gray-400);margin-left:8px;font-size:11px}.matrix-app-cell-indented{padding-left:36px!important}.inherited-capability-toggle{width:16px;color:var(--gray-500);cursor:pointer;margin-right:4px;font-size:10px;display:inline-block}.inherited-capability-toggle:hover{color:var(--gray-700)}.inherited-capability-count{color:var(--gray-400);margin-left:8px;font-size:11px;font-weight:400}.inherited-expand-controls{float:right;gap:8px;display:flex}.btn-inherited-expand{border:1px solid var(--gray-300);color:var(--gray-600);cursor:pointer;background:#fff;border-radius:3px;padding:2px 8px;font-size:11px;transition:all .15s}.btn-inherited-expand:hover{background:var(--gray-100);border-color:var(--gray-400)}.matrix-separator{background:var(--gray-100)}.matrix-separator td{border-bottom:none;padding:8px 12px}.matrix-separator-label{color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:500}.matrix-empty{color:var(--gray-500);font-style:italic;text-align:center!important;padding:24px 12px!important}.matrix-row-metric{background:var(--gray-50)}.matrix-metric-label{color:var(--gray-700);white-space:nowrap;font-size:13px;font-weight:500}.matrix-cell-metric{text-align:center!important;padding:6px 8px!important}.metric-select{border:1px solid var(--gray-300);border-radius:var(--radius);cursor:pointer;text-align:center;background:#fff;min-width:50px;padding:4px 8px;font-size:13px}.metric-select:focus{border-color:var(--primary);outline:none}.metric-select:hover{border-color:var(--gray-400)}.metric-average{color:var(--gray-600);padding:4px 8px;font-size:13px;font-style:italic;display:inline-block}.trend-indicator{vertical-align:middle;margin-left:4px;font-size:10px;font-weight:600;display:inline-block}.trend-up{color:#16a34a}.trend-down{color:#dc2626}.trend-same{color:var(--gray-400)}.matrix-cell-average{background:var(--gray-100)}.matrix-footer{flex-wrap:wrap;align-items:flex-start;gap:16px;margin-top:16px;display:flex}.state-selector{border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;min-width:200px;padding:12px}.state-selector.hidden{display:none}.state-selector-header{color:var(--gray-700);margin-bottom:10px;font-size:13px}.state-selector-header strong{color:var(--gray-900)}.state-selector-options{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.state-selector-option{border-radius:var(--radius);cursor:pointer;align-items:center;gap:8px;padding:6px 8px;font-size:14px;display:flex}.state-selector-option:hover{background:var(--gray-50)}.state-selector-option input[type=checkbox]{cursor:pointer;width:16px;height:16px}.state-selector-actions{border-top:1px solid var(--gray-100);justify-content:flex-end;gap:8px;padding-top:8px;display:flex}.mapping-actions{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.copy-to-state{align-items:center;gap:8px;display:flex}.copy-to-state label{color:var(--gray-600);white-space:nowrap;font-size:13px}.copy-to-state select{border:1px solid var(--gray-300);border-radius:var(--radius);cursor:pointer;background:#fff;min-width:150px;padding:8px 12px;font-size:13px}.copy-to-state select:focus{border-color:var(--primary);outline:none}.modal{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal.open{display:flex}.modal-content{border-radius:var(--radius);box-shadow:var(--shadow-lg);background:#fff;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-content.modal-sm{max-width:360px}.modal-content.modal-lg{max-width:640px}.modal-content.modal-xl{max-width:900px;height:80vh}.modal-body-no-padding{padding:0!important}.modal-header{border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h3{font-size:16px;font-weight:600}.modal-close{color:var(--gray-400);cursor:pointer;background:0 0;border:none;padding:0;font-size:24px;line-height:1}.modal-close:hover{color:var(--gray-600)}.modal-body,form{padding:20px}.form-group{margin-bottom:16px}.form-group label{color:var(--gray-700);margin-bottom:6px;font-weight:500;display:block}.form-group input,.form-group textarea{border:1px solid var(--gray-300);border-radius:var(--radius);width:100%;padding:10px 12px;font-family:inherit;font-size:14px}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2563eb1a}.form-group select{border:1px solid var(--gray-300);border-radius:var(--radius);cursor:pointer;background:#fff;width:100%;padding:10px 12px;font-family:inherit;font-size:14px}.form-group select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2563eb1a}.form-hint{color:var(--gray-500);margin-top:6px;font-size:12px}.form-actions{border-top:1px solid var(--gray-200);background:var(--gray-50);justify-content:flex-end;gap:8px;padding:16px 20px;display:flex}.apps-header{margin-bottom:16px}.apps-list{flex-direction:column;gap:8px;display:flex}.app-item{background:var(--gray-50);border-radius:var(--radius);align-items:center;gap:12px;padding:12px;display:flex}.app-item-info{flex:1}.app-item-name{font-weight:500}.app-item-vendor{color:var(--gray-500);font-size:12px}.app-item-actions{gap:4px;display:flex}.state-item{align-items:center;display:flex}.state-reorder{flex-direction:column;gap:2px;margin-right:8px;display:flex}.btn-reorder{border:1px solid var(--gray-300);cursor:pointer;width:24px;height:18px;color:var(--gray-600);background:#fff;border-radius:3px;justify-content:center;align-items:center;padding:0;font-size:10px;transition:all .15s;display:flex}.btn-reorder:hover:not(:disabled){background:var(--primary);border-color:var(--primary);color:#fff}.btn-reorder:disabled,.btn-reorder.disabled{opacity:.3;cursor:not-allowed}.state-default-badge{color:var(--gray-500);font-size:11px;font-style:italic;font-weight:400}.state-hidden-badge{color:var(--gray-400);font-size:11px;font-style:italic;font-weight:400}.state-hidden{opacity:.5;background:var(--gray-100)}.btn-visibility{border:1px solid var(--gray-300);border-radius:var(--radius);cursor:pointer;background:#fff;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:14px;transition:all .15s;display:flex}.btn-visibility:hover:not(:disabled){background:var(--gray-100);border-color:var(--gray-400)}.btn-visibility:disabled,.btn-visibility.disabled{opacity:.3;cursor:not-allowed}.state-hidden .btn-visibility{background:var(--gray-200);border-color:var(--gray-300)}.no-items{text-align:center;color:var(--gray-500);padding:24px}.manage-apps-split{height:calc(80vh - 57px);display:flex}.app-list-panel{border-right:1px solid var(--gray-200);flex-direction:column;flex-shrink:0;width:220px;display:flex}.app-list-header{border-bottom:1px solid var(--gray-200);flex-direction:column;gap:8px;padding:12px;display:flex}.app-search{border:1px solid var(--gray-300);border-radius:var(--radius);width:100%;padding:8px 10px;font-size:13px}.app-search:focus{border-color:var(--primary);outline:none}.app-list{flex:1;padding:8px;overflow-y:auto}.app-list-item{border-radius:var(--radius);cursor:pointer;margin-bottom:4px;padding:10px 12px}.app-list-item:hover{background:var(--gray-100)}.app-list-item.selected{background:var(--primary);color:#fff}.app-list-item-name{font-size:14px;font-weight:500}.app-list-item-vendor{opacity:.7;font-size:12px}.app-detail-panel{background:var(--gray-50);flex:1;overflow-y:auto}.app-detail-placeholder{height:100%;color:var(--gray-500);justify-content:center;align-items:center;font-size:14px;display:flex}.app-detail-header{border-bottom:1px solid var(--gray-200);background:#fff;justify-content:space-between;align-items:flex-start;padding:16px 20px;display:flex}.app-detail-info h4{margin-bottom:4px;font-size:18px;font-weight:600}.app-detail-vendor{color:var(--gray-600);font-size:14px}.app-detail-description{color:var(--gray-500);margin-top:8px;font-size:13px}.app-detail-actions{gap:8px;display:flex}.app-detail-controls{border-bottom:1px solid var(--gray-200);background:#fff;justify-content:space-between;align-items:center;gap:16px;padding:12px 20px;display:flex}.app-detail-division{align-items:center;gap:8px;display:flex}.app-detail-division label{color:var(--gray-600);font-size:14px;font-weight:500}.app-detail-division select{border:1px solid var(--gray-300);border-radius:var(--radius);cursor:pointer;background:#fff;padding:6px 12px;font-size:14px}.app-detail-expand{align-items:center;gap:6px;display:flex}.app-detail-matrix{padding:16px 20px}.app-capability-matrix{border-collapse:collapse;border-radius:var(--radius);width:100%;box-shadow:var(--shadow);background:#fff;font-size:14px;overflow:hidden}.app-capability-matrix th,.app-capability-matrix td{text-align:left;border-bottom:1px solid var(--gray-200);padding:8px 12px}.app-capability-matrix thead th{background:var(--gray-50);color:var(--gray-700);font-size:13px;font-weight:600;position:sticky;top:0}.matrix-cap-header{min-width:200px}.matrix-cap-cell{white-space:nowrap}.cap-toggle{width:16px;color:var(--gray-400);cursor:default;font-size:10px;display:inline-block}.cap-toggle.has-children{cursor:pointer}.cap-toggle.has-children:hover{color:var(--gray-600)}.cap-name{font-weight:500}.cap-level{color:var(--gray-400);margin-left:8px;font-size:11px}.app-matrix-cell{cursor:pointer;width:80px;text-align:center!important}.app-matrix-cell:hover{background:var(--gray-100)}.app-matrix-cell.mapped{background:#2563eb0d}.app-matrix-cell.mapped:hover{background:#2563eb1a}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
