/* Utility classes to replace inline styles */
.no-underline { text-decoration: none !important; }
.cursor-pointer { cursor: pointer !important; }
.icon-54 { width: 54px !important; height: 54px !important; }
.table-border-custom { border-collapse: collapse; width: 100%; font-size: 18px; }
.table-border-custom th, .table-border-custom td { border-right: 1px solid black; }
.table-border-left-2 th, .table-border-left-2 td { border-left: 2px solid black; }
.svg-block { display: block; }
.flex-row-nowrap { height: 80vh; overflow: hidden; }
.password-popover { position: absolute; left: calc(100% + 8px); top: 0; z-index: 1100; display: none; background: white; border: 1px solid rgba(0,0,0,0.12); box-shadow: 0 6px 18px rgba(0,0,0,0.12); padding: 12px; border-radius: 6px; min-width: 220px; }
.password-popover.show { display: block; }

/* MudDialog overlay — solid enough to read dialog content */
:root {
    --mud-palette-overlay-light: rgba(0, 0, 0, 0.85) !important;
    --mud-palette-overlay-dark: rgba(0, 0, 0, 0.85) !important;
}
.mud-overlay-scrim {
    background-color: rgba(0, 0, 0, 0.85) !important;
}

/* Batch-1 additions */
.password-wrapper { position: relative; display: flex; align-items: flex-start; gap: 8px; }
.flex-1 { flex: 1; }
.position-relative { position: relative; }
.icon-box-small { width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; cursor: default; }
.list-reset { margin: 0; padding-left: 1rem; }
.scope-selector { background: var(--mud-palette-surface); border-left: 6px solid var(--mud-palette-primary); }
.curve-paper { border: 1px solid var(--mud-palette-lines-default); border-radius: 8px; }
.svg-container { position: relative; width: 100%; aspect-ratio: 3/1; min-height: 200px; }
.svg-canvas { width: 100%; height: 100%; background: var(--mud-palette-surface); border-radius: 6px; cursor: crosshair; }
.w-90px { width: 90px; }
.row-selected { background-color: #f5f5f5; }
.table-head-bordered { border-bottom: 2px solid black; border-top: 2px solid black; }
.table-cell-right { border-right: 1px solid black; }
.table-cell-left-2 { border-left: 2px solid black; }
.row-border-bottom-2 { border-bottom: 1px solid black; }
.full-height { height: 100%; }
.vh-75 { height: 75vh; }
.algo-paper { padding: 0.75rem; }
.algo-selected { border: 2px solid var(--mud-palette-primary); cursor: pointer; }
.algo-unselected { border: 2px solid transparent; cursor: pointer; opacity: 0.8; }
.algo-unselected-bordered { border: 1px solid var(--mud-palette-lines-default); }
