@import '_content/SolverTech.Lara.Blazor.Common/SolverTech.Lara.Blazor.Common.dnd2jcoup3.bundle.scp.css';
@import '_content/SolverTech.Lara.Blazor.FormLayout/SolverTech.Lara.Blazor.FormLayout.o7y36oq8zm.bundle.scp.css';
@import '_content/SolverTech.Lara.Blazor.Grid/SolverTech.Lara.Blazor.Grid.8ebtumndxp.bundle.scp.css';
@import '_content/Z.Blazor.Diagrams/Z.Blazor.Diagrams.ezdqu7jd9f.bundle.scp.css';

/* /Features/Imports/Pages/ImportScripts.razor.rz.scp.css */
/* Clean panel styling for Visual Studio layout */
.input-panel[b-wrr55pw3wv], .script-panel[b-wrr55pw3wv], .output-panel[b-wrr55pw3wv] {
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
}

.script-panel[b-wrr55pw3wv] {
    flex: 1;
}

.vertical-splitter:hover[b-wrr55pw3wv] {
    background-color: #bdbdbd;
}

.horizontal-splitter:hover[b-wrr55pw3wv] {
    background-color: #bdbdbd;
}

/* Console Panel Styles */
.console-panel[b-wrr55pw3wv] {
    background-color: #1e1e1e;
    border: 1px solid #3c3c3c;
    border-radius: 4px;
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
    font-size: 12px;
    display: flex;
    flex-direction: column;
}

.console-content[b-wrr55pw3wv] {
    flex: 1;
    overflow-y: auto;
    padding: 4px;
}

.console-line[b-wrr55pw3wv] {
    display: flex;
    align-items: baseline;
    padding: 2px 8px;
    line-height: 1.4;
    word-wrap: break-word;
    white-space: pre-wrap;
}

.console-line:hover[b-wrr55pw3wv] {
    background-color: #252526;
}

.console-clickable[b-wrr55pw3wv] {
    cursor: pointer;
}

.console-clickable:hover[b-wrr55pw3wv] {
    background-color: #2a2d2e !important;
}

.console-prefix[b-wrr55pw3wv] {
    font-weight: bold;
    margin-right: 8px;
    min-width: 60px;
    flex-shrink: 0;
}

.console-error .console-prefix[b-wrr55pw3wv] {
    color: #f48771;
}

.console-warning .console-prefix[b-wrr55pw3wv] {
    color: #ddb76b;
}

.console-info .console-prefix[b-wrr55pw3wv] {
    color: #75beff;
}

.console-location[b-wrr55pw3wv] {
    color: #569cd6;
    margin-right: 8px;
    font-weight: 500;
}

.console-error-code[b-wrr55pw3wv] {
    color: #ce9178;
    margin-right: 8px;
    font-size: 11px;
}

.console-warning-code[b-wrr55pw3wv] {
    color: #d7ba7d;
    margin-right: 8px;
    font-size: 11px;
}

.console-text[b-wrr55pw3wv] {
    color: #d4d4d4;
    flex: 1;
}

.console-error .console-text[b-wrr55pw3wv] {
    color: #f48771;
}

.console-warning .console-text[b-wrr55pw3wv] {
    color: #ddb76b;
}

.console-multiline[b-wrr55pw3wv] {
    background-color: #262626;
    border-left: 3px solid #f48771;
    margin: 4px 8px 8px 68px;
    padding: 8px;
    white-space: pre-wrap;
    font-family: inherit;
    color: #d4d4d4;
    border-radius: 2px;
}
/* /Features/Planning/Components/ViolationsRibbonIndicator.razor.rz.scp.css */
.violations-trigger-wrapper[b-1rrxsu851i] {
    display: inline-flex;
    align-items: center;
}

.violations-trigger[b-1rrxsu851i] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 4px 8px;
    background: transparent;
    border: none;
    cursor: pointer;
    color: #2563eb;
    font-weight: 500;
}

.violations-trigger:hover[b-1rrxsu851i] {
    color: #1d4ed8;
}

.violations-trigger-text .violations-count-text[b-1rrxsu851i] {
    text-decoration: underline;
}

.violations-dot[b-1rrxsu851i] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    flex-shrink: 0;
}

.violations-bell-wrapper[b-1rrxsu851i] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #374151;
    font-size: 1.1em;
}

.violations-bell-dot[b-1rrxsu851i] {
    position: absolute;
    top: -2px;
    right: -2px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 2px solid #fff;
    box-sizing: content-box;
}

.violations-chevron[b-1rrxsu851i] {
    color: #9ca3af;
    font-size: 0.7em;
}

.violations-popup[b-1rrxsu851i] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 8px 4px;
    min-width: 320px;
}

.violations-section[b-1rrxsu851i] {
    display: flex;
    flex-direction: column;
    padding: 8px 4px;
}

.violations-section + .violations-section[b-1rrxsu851i] {
    border-top: 1px solid #e5e7eb;
    margin-top: 4px;
}

.violations-section-header[b-1rrxsu851i] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 8px 8px;
    color: #6b7280;
    font-size: 0.85em;
    font-weight: 500;
    text-transform: none;
}

.violations-section-suppressed[b-1rrxsu851i] {
    opacity: 0.7;
}

.violations-row[b-1rrxsu851i] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 6px 8px;
}

.violations-row:hover[b-1rrxsu851i] {
    background: #f9fafb;
    border-radius: 4px;
}

.violations-row-text[b-1rrxsu851i] {
    color: #111827;
    font-weight: 500;
    flex: 1;
}

.violations-row-count[b-1rrxsu851i] {
    color: #6b7280;
    font-weight: 400;
    margin-left: 4px;
}

.violations-row-action[b-1rrxsu851i] {
    color: #2563eb !important;
    text-decoration: underline;
    font-weight: 500;
    padding: 0;
    background: transparent;
}

.violations-row-action:hover[b-1rrxsu851i] {
    color: #1d4ed8 !important;
}
/* /Features/Planning/Pages/PlanningSessionDetailView.razor.rz.scp.css */
.solving-overlay[b-tpa6h02nci] {
    position: absolute;
    top: 72px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 5000;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    width: fit-content;
    max-width: calc(100% - 32px);
    pointer-events: none;
}

.solving-content[b-tpa6h02nci] {
    width: max-content;
    max-width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 8px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.14);
    backdrop-filter: blur(3px);
}

.solving-header[b-tpa6h02nci] {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.solving-spinner[b-tpa6h02nci] {
    width: 18px;
    height: 18px;
    border: 2px solid #d9e3f0;
    border-top-color: #1976d2;
    border-radius: 50%;
    animation: solving-spin-b-tpa6h02nci 0.9s linear infinite;
    flex: 0 0 auto;
}

.solving-text[b-tpa6h02nci] {
    font-size: 0.95rem;
    font-weight: 700;
    color: #333;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.solving-progress[b-tpa6h02nci] {
    position: relative;
    width: 100%;
    height: 7px;
    overflow: hidden;
    background: #e9eef5;
    border-radius: 999px;
}

.solving-progress-bar[b-tpa6h02nci] {
    height: 100%;
    background: #1976d2;
    border-radius: inherit;
    transition: width 180ms ease;
}

.solving-metrics[b-tpa6h02nci] {
    width: max-content;
    max-width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.solving-metric[b-tpa6h02nci] {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    padding: 3px 7px;
    background: rgba(25, 118, 210, 0.08);
    border: 1px solid rgba(25, 118, 210, 0.16);
    border-radius: 6px;
    color: #1d3557;
    font-size: 0.82rem;
    font-weight: 600;
    white-space: nowrap;
}

.solving-metric-label[b-tpa6h02nci] {
    color: #586579;
    font-weight: 500;
}

@keyframes solving-spin-b-tpa6h02nci {
    to {
        transform: rotate(360deg);
    }
}
/* /Features/Requests/Pages/Requests.razor.rz.scp.css */

/* /Layout/LaraNavMenuItem.razor.rz.scp.css */
/* ==========================================================================
   LaraNavMenuItem — single nav row (+ recursive children)
   Zeplin reference: screen 69d63231156414d6df921936
   ========================================================================== */

.lara-nav-item[b-fb3wq6fjy8] {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    list-style: none;
    margin: 0;
    padding: 0;
}

/* ---- Clickable row (icon + label + chevron) ------------------------------ */
/* Zeplin: 41px tall, 8px horizontal inset, 3px radius, 700 weight, dark text */
.lara-nav-row[b-fb3wq6fjy8] {
    display: flex;
    align-items: center;
    gap: 18px;
    min-height: 41px;
    padding: 6px 16px;
    margin: 2px 8px;
    border-radius: 3px;
    color: var(--lara-text-primary);
    font-family: 'proxima-nova', sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    cursor: pointer;
    user-select: none;
    transition: background-color 120ms, color 120ms;
    outline: none;
    box-sizing: border-box;
    min-width: 0;
}

.lara-nav-row:focus-visible[b-fb3wq6fjy8] {
    box-shadow: 0 0 0 2px rgba(var(--lara-primary-rgb), 0.25);
}

/* Zeplin: hover shows subtle gray pill, icon turns blue */
.lara-nav-row:hover[b-fb3wq6fjy8] {
    background: rgba(244, 245, 247, 0.6);
}

.lara-nav-row:hover .lara-nav-icon[b-fb3wq6fjy8] {
    color: var(--lara-primary-hover);
}

/* ---- Icon (left) --------------------------------------------------------- */
.lara-nav-icon[b-fb3wq6fjy8] {
    width: 16px;
    height: 16px;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: inherit;
}

/* ---- Label (wraps to as many lines as needed — no truncation) ----------- */
.lara-nav-label[b-fb3wq6fjy8] {
    flex: 1 1 0;
    min-width: 0;
    color: inherit;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
}

/* ---- Chevron (right) ----------------------------------------------------- */
.lara-nav-chevron[b-fb3wq6fjy8] {
    flex-shrink: 0;
    width: 10px;
    height: 10px;
    position: relative;
    color: var(--lara-text-muted);
    transition: transform 150ms;
}

.lara-nav-chevron[b-fb3wq6fjy8]::before {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 6px;
    height: 6px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(-45deg);
    transition: transform 150ms;
}

.lara-nav-item--expanded > .lara-nav-row .lara-nav-chevron[b-fb3wq6fjy8]::before {
    transform: rotate(45deg);
    top: 0;
    left: 1px;
}

/* ---- Active (matches current URL) — Zeplin: light gray pill + blue icon - */
.lara-nav-item--active > .lara-nav-row[b-fb3wq6fjy8] {
    background: #F4F5F7;
    color: var(--lara-text-primary);
    font-weight: 700;
}

.lara-nav-item--active > .lara-nav-row .lara-nav-icon[b-fb3wq6fjy8] {
    color: var(--lara-primary-hover);
}

.lara-nav-item--active > .lara-nav-row:hover[b-fb3wq6fjy8] {
    background: #EEF0F3;
    color: var(--lara-text-primary);
}

.lara-nav-item--active > .lara-nav-row .lara-nav-chevron[b-fb3wq6fjy8] {
    color: var(--lara-text-primary);
}

/* ---- Children container (indented) -------------------------------------- */
.lara-nav-children[b-fb3wq6fjy8] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

/* Option D — left accent bar: a 2px #E1E6EB border on the children container
   visually groups nested items as a block under their parent. Applies only
   when the parent is expanded in the normal (non-minimized) rail. */
.lara-nav-item--expanded:not(.lara-nav-item--minimized) > .lara-nav-children[b-fb3wq6fjy8] {
    margin: 2px 6px 4px 22px;
    padding: 2px 0 2px 10px;
    border-left: 2px solid #E1E6EB;
}

.lara-nav-children .lara-nav-row[b-fb3wq6fjy8] {
    padding-left: 38px;
    min-height: 32px;
    font-weight: 500;
    color: var(--lara-text-secondary);
}

/* Inside the accent-bar block, rows sit flush-left against the bar (the
   bar replaces the old indentation) so the visual indent comes from the
   border, not padding. */
.lara-nav-item--expanded:not(.lara-nav-item--minimized) > .lara-nav-children > .lara-nav-item > .lara-nav-row[b-fb3wq6fjy8] {
    padding-left: 14px;
    margin-left: 0;
    margin-right: 0;
    border-radius: 4px;
}

/* Nested items have no icon in Zeplin submenu */
.lara-nav-children .lara-nav-icon[b-fb3wq6fjy8] {
    display: none;
}

.lara-nav-children .lara-nav-row:hover[b-fb3wq6fjy8] {
    color: var(--lara-primary);
}

.lara-nav-children .lara-nav-item--active > .lara-nav-row[b-fb3wq6fjy8] {
    background: #F4F5F7;
    color: var(--lara-text-primary);
    font-weight: 700;
}

/* ---- Minimized mode (icon-only rail + hover flyout) --------------------- */
.lara-nav-item--minimized[b-fb3wq6fjy8] {
    width: auto;
    position: relative;
}

.lara-nav-item--minimized > .lara-nav-row[b-fb3wq6fjy8] {
    justify-content: center;
    padding: 0;
    gap: 0;
    width: 40px;
}

.lara-nav-item--minimized > .lara-nav-row .lara-nav-label[b-fb3wq6fjy8],
.lara-nav-item--minimized > .lara-nav-row .lara-nav-chevron[b-fb3wq6fjy8] {
    display: none;
}

/* Children of a minimized parent render as a hover flyout. Sits flush against
   the rail (left: 100%) so there is no hover-gap to cross — visual gap is
   created instead by the flyout's own left margin/padding. */
.lara-nav-item--minimized > .lara-nav-children[b-fb3wq6fjy8] {
    display: none;
    position: absolute;
    left: 100%;
    top: 0;
    margin-left: 4px;
    min-width: 200px;
    padding: 6px 0;
    background: var(--lara-surface);
    border: 1px solid var(--lara-border-light);
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.10);
    z-index: 1000;
}

/* Invisible bridge over the 4px gap so moving the cursor from the rail into
   the flyout does not break :hover. */
.lara-nav-item--minimized > .lara-nav-children[b-fb3wq6fjy8]::before {
    content: '';
    position: absolute;
    top: 0;
    left: -4px;
    width: 4px;
    height: 100%;
}

/* Hover-only flyout: using :focus-within would keep the flyout open after a
   click leaves focus on the parent's row, so a second flyout could appear when
   hovering a sibling. Restricting the trigger to :hover guarantees that at most
   one flyout is ever visible. */
.lara-nav-item--minimized:hover > .lara-nav-children[b-fb3wq6fjy8] {
    display: flex;
    flex-direction: column;
}

/* Header inside flyout — shows the parent's label so user knows context */
.lara-nav-flyout-header[b-fb3wq6fjy8] {
    padding: 6px 14px 8px;
    margin: 0 6px 4px;
    border-bottom: 1px solid var(--lara-border-light);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--lara-text-muted);
}

/* Flyout children use normal (non-indented) padding since there's no icon column above them */
.lara-nav-item--minimized > .lara-nav-children > .lara-nav-item > .lara-nav-row[b-fb3wq6fjy8] {
    padding-left: 14px;
}
/* /Layout/NavMenu.razor.rz.scp.css */
/* ==========================================================================
   NavMenu — outer nav container (renders LaraNavMenuItem children)
   ========================================================================== */

.lara-nav[b-1gq64hil8g] {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: 100%;
    min-height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    padding: 6px 0;
    background: var(--lara-surface);
    font-family: 'proxima-nova', sans-serif;
    overflow-x: hidden;
    overflow-y: auto;
}

.lara-nav--minimized[b-1gq64hil8g] {
    align-items: center;
    /* Allow hover flyouts to escape the narrow rail horizontally */
    overflow-x: visible;
    overflow-y: visible;
}

/* Thin scrollbar when content overflows vertically */
.lara-nav[b-1gq64hil8g]::-webkit-scrollbar {
    width: 4px;
}
.lara-nav[b-1gq64hil8g]::-webkit-scrollbar-thumb {
    background: var(--lara-border-light);
    border-radius: 2px;
}
.lara-nav[b-1gq64hil8g]::-webkit-scrollbar-track {
    background: transparent;
}
