:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}}#root{max-width:1280px;margin:0 auto;padding:2rem}button{background:linear-gradient(135deg,#5a5fc8,#4a4eb8);color:#fff;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0003}button:hover{background:linear-gradient(135deg,#6a6fd8,#5a5fc8);box-shadow:0 4px 8px #0000004d;transform:translateY(-1px)}button:active{transform:translateY(0);box-shadow:0 1px 2px #0003}section button{margin-bottom:.75rem}.context-group table button{padding:.25rem .6rem;font-size:.75rem;margin-bottom:0}.database-section{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border:1px solid #444;border-radius:4px;margin-bottom:1rem}.database-section h2{margin:0;font-size:1rem;white-space:nowrap}.database-dropdown{position:relative;display:inline-block;min-width:250px}.dropdown-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;margin-bottom:0}.dropdown-arrow{font-size:.7rem;margin-left:.5rem}.dropdown-menu{position:absolute;top:100%;left:0;right:0;background-color:#2a2a2a;border:1px solid #555;border-radius:4px;box-shadow:0 4px 16px #0006;z-index:100;margin-top:2px}.database-list{list-style:none;padding:0;margin:0;max-height:200px;overflow-y:auto}.database-list li{padding:.5rem .75rem;cursor:pointer;border-bottom:1px solid #444;color:#ffffffde}.database-list li:last-child{border-bottom:none}.database-list li:hover{background-color:#646cff26}.database-list li.opened{font-weight:700;background-color:#646cff33}.add-database-btn{width:100%;border:none;border-top:1px solid #444;background:transparent;padding:.5rem .75rem;text-align:left;cursor:pointer;color:#646cffe6;margin-bottom:0}.add-database-btn:hover{background-color:#646cff1a}.context-menu-overlay{position:fixed;inset:0;z-index:999}.context-menu{position:fixed;list-style:none;padding:.25rem 0;margin:0;background-color:#2a2a2a;color:#ffffffde;border:1px solid #555;border-radius:4px;box-shadow:0 4px 16px #00000080;z-index:1000;min-width:120px}.context-menu li{padding:.4rem .75rem;cursor:pointer}.context-menu li:hover{background-color:#646cff40}section table{border-collapse:collapse;margin-top:.5rem;width:100%;border-radius:6px;overflow:hidden}section table th,section table td{text-align:left;padding:.5rem 1rem}section table thead{background:linear-gradient(135deg,#6a6f9a,#5a5f8a)}section table th{font-weight:600;color:#fffffff2}section table tbody tr:nth-child(odd){background-color:#646cff0d}section table tbody tr:nth-child(2n){background-color:#646cff1a}section table tbody th,section table tbody td{color:#000000d9}section table tbody tr:hover{background-color:#646cff2e}.context-group{margin-bottom:1.5rem}.context-group h3{font-size:1.1rem;margin:0 0 .5rem;display:flex;align-items:center;gap:.75rem}.service-badge{font-size:.75rem;font-weight:400;background-color:#646cff33;padding:.15rem .5rem;border-radius:4px}.main-layout{display:flex;gap:1.5rem;align-items:flex-start}.main-content{flex:0 0 35%;min-width:0;border:1px solid #444;border-radius:4px;padding:1rem;display:flex;flex-direction:column;gap:5px}.right-sidebar{flex:1;display:flex;flex-direction:column;gap:5px}.ranges-sidebar{border:1px solid #444;border-radius:4px;padding:1rem}.ranges-sidebar h2{margin-top:0}.ranges-panels{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start;align-content:flex-start}.ranges-panel{width:200px;flex-shrink:0;padding:1rem;border:1px solid #555;border-radius:4px;background-color:#646cff0d}.ranges-panel h3{margin:0 0 .75rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;font-size:.95rem;word-break:break-word}.ranges-panel h3 button{font-size:.75rem;padding:.35rem .6rem;flex-shrink:0}.ranges-panel table{width:100%;table-layout:fixed}.ranges-panel table th,.ranges-panel table td{padding:.3rem .4rem;font-size:.8rem;overflow:hidden;text-overflow:ellipsis}.ranges-panel .range-row.selectable{cursor:pointer}.ranges-panel .range-row.selected{background-color:#646cff4d!important}.hierarchy-table .service-row{cursor:pointer;font-weight:600}.hierarchy-table .service-row:hover{background-color:#646cff1a}.hierarchy-table .expand-icon{display:inline-block;width:1.2rem;font-size:.7rem}.hierarchy-table .context-row{font-weight:400}.hierarchy-table .context-cell{padding-left:1.5rem}.hierarchy-table .context-row.selectable{cursor:pointer}.hierarchy-table .context-row.selected{background-color:#646cff4d!important}section table tr.selectable{cursor:pointer}section table tr.selected{background-color:#646cff4d!important}.hint-text{color:#fff9;font-style:italic}.collapsible-section{border:1px solid #444;border-radius:4px;padding:.35rem .5rem}.collapsible-section h2{margin-top:0}.collapsible-header{cursor:pointer;display:flex;align-items:center;gap:.5rem;-webkit-user-select:none;user-select:none}.collapsible-header:hover{color:#646cffe6}.collapse-icon{font-size:.7rem;width:1rem}.vehicle-classes-section{border:1px solid #444;border-radius:4px;padding:.35rem .5rem}.vehicle-classes-section h2{margin-top:0}
