/* /Components/Buttons/ArrowButton.razor.rz.scp.css */
.o3-arrow[b-7capg87v1j] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: var(--o3-radius-md);
    background-color: transparent;
    color: var(--o3-colors-on-surface);
    cursor: pointer;
}

    .o3-arrow:hover:not(:disabled)[b-7capg87v1j] {
        background-color: var(--o3-colors-surface);
    }

    .o3-arrow:focus[b-7capg87v1j] {
        outline: none;
    }

    .o3-arrow:focus-visible[b-7capg87v1j] {
        outline: none;
        box-shadow: 0 0 0 1px var(--o3-colors-focus), inset 0 0 0 1px var(--o3-colors-focus);
    }

    .o3-arrow:disabled[b-7capg87v1j] {
        background-color: transparent;
        color: var(--o3-colors-on-disabled);
        cursor: not-allowed;
    }

.icon[b-7capg87v1j] {
    display: block;
}

/* Размеры: сторона — ControlSizes.Height*, иконка — ControlSizes.Icon* */
.o3-arrow.size-sm[b-7capg87v1j] {
    width: var(--o3-control-sizes-height-sm);
    height: var(--o3-control-sizes-height-sm);
}

    .o3-arrow.size-sm .icon[b-7capg87v1j] {
        width: var(--o3-control-sizes-icon-sm);
        height: var(--o3-control-sizes-icon-sm);
    }

.o3-arrow.size-md[b-7capg87v1j] {
    width: var(--o3-control-sizes-height-md);
    height: var(--o3-control-sizes-height-md);
}

    .o3-arrow.size-md .icon[b-7capg87v1j] {
        width: var(--o3-control-sizes-icon-md);
        height: var(--o3-control-sizes-icon-md);
    }

.o3-arrow.size-lg[b-7capg87v1j] {
    width: var(--o3-control-sizes-height-lg);
    height: var(--o3-control-sizes-height-lg);
}

    .o3-arrow.size-lg .icon[b-7capg87v1j] {
        width: var(--o3-control-sizes-icon-lg);
        height: var(--o3-control-sizes-icon-lg);
    }

/* Направление — поворот стрелки «влево» */
.o3-arrow.dir-right .icon[b-7capg87v1j] {
    transform: rotate(180deg);
}

.o3-arrow.dir-up .icon[b-7capg87v1j] {
    transform: rotate(90deg);
}

.o3-arrow.dir-down .icon[b-7capg87v1j] {
    transform: rotate(-90deg);
}
/* /Components/Inputs/InputBox.razor.rz.scp.css */
.o3-input[b-fym08785r1] {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0 var(--o3-spacing-sm);
    border: 1px solid var(--o3-colors-border);
    border-radius: var(--o3-radius-md);
    background-color: var(--o3-colors-surface);
    color: var(--o3-colors-on-surface);
    font-family: var(--o3-typography-font-family);
    font-weight: var(--o3-typography-font-weight-regular);
    line-height: var(--o3-typography-line-height);
    text-align: left;
}

    .o3-input.align-end[b-fym08785r1] {
        text-align: right;
    }

    .o3-input:focus[b-fym08785r1],
    .o3-input:focus-visible[b-fym08785r1] {
        outline: none;
        border-color: var(--o3-colors-focus);
        box-shadow: 0 0 0 1px var(--o3-colors-focus);
    }

    .o3-input[b-fym08785r1]::placeholder {
        color: var(--o3-colors-on-surface-muted);
        opacity: 1;
    }

    /* PlaceholderMode.UntilFocus: подсказка скрыта, пока поле в фокусе */
    .o3-input.until-focus:focus[b-fym08785r1]::placeholder {
        color: transparent;
    }

    .o3-input:disabled[b-fym08785r1] {
        border-color: var(--o3-colors-disabled);
        background-color: var(--o3-colors-disabled);
        color: var(--o3-colors-on-disabled);
        cursor: not-allowed;
    }

        .o3-input:disabled[b-fym08785r1]::placeholder {
            color: var(--o3-colors-on-disabled);
        }

/* Размеры: высота — ControlSizes.Height*, шрифт — Typography.FontSize* */
.o3-input.size-sm[b-fym08785r1] {
    height: var(--o3-control-sizes-height-sm);
    font-size: var(--o3-typography-font-size-sm);
}

.o3-input.size-md[b-fym08785r1] {
    height: var(--o3-control-sizes-height-md);
    font-size: var(--o3-typography-font-size-md);
}

.o3-input.size-lg[b-fym08785r1] {
    height: var(--o3-control-sizes-height-lg);
    font-size: var(--o3-typography-font-size-lg);
}

/* TextArea: высоты ControlSizes не применяются, Size — шрифт и отступы; высоту задаёт js/inputs.js */
.o3-input.multiline[b-fym08785r1] {
    height: auto;
    resize: none;
    overflow-y: hidden;
}

    .o3-input.multiline.size-sm[b-fym08785r1] {
        padding: var(--o3-spacing-xs) var(--o3-spacing-sm);
    }

    .o3-input.multiline.size-md[b-fym08785r1] {
        padding: var(--o3-spacing-sm) var(--o3-spacing-sm);
    }

    .o3-input.multiline.size-lg[b-fym08785r1] {
        padding: var(--o3-spacing-md) var(--o3-spacing-sm);
    }
/* /Components/Popups/Tooltip.razor.rz.scp.css */
.o3-tooltip-anchor[b-l64rujuq7h] {
    display: inline-block;
    max-width: 100%;
}

/* popover: верхний слой, координаты ставит js/tooltip.js */
.o3-tooltip[b-l64rujuq7h] {
    position: fixed;
    inset: auto;
    margin: 0;
    max-width: var(--o3-control-sizes-tooltip-max-width);
    padding: var(--o3-spacing-xs) var(--o3-spacing-sm);
    border: 1px solid var(--o3-colors-border);
    border-radius: var(--o3-radius-sm);
    background-color: var(--o3-colors-surface);
    color: var(--o3-colors-on-surface);
    box-shadow: var(--o3-shadows-md);
    font-family: var(--o3-typography-font-family);
    font-size: var(--o3-typography-font-size-sm);
    font-weight: var(--o3-typography-font-weight-regular);
    line-height: var(--o3-typography-line-height);
    text-align: left;
    overflow: visible;
    /* наведение на подсказку её не удерживает */
    pointer-events: none;
    /* отступ от элемента (Spacing.Xs) — отсюда его читает js/tooltip.js */
    scroll-margin-top: var(--o3-spacing-xs);
}

    /* переносы из текста сохраняются, длинные строки переносятся по ширине; не больше 10 строк */
    .o3-tooltip .text[b-l64rujuq7h] {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 10;
        line-clamp: 10;
        overflow: hidden;
        white-space: pre-wrap;
        overflow-wrap: anywhere;
    }
/* /Components/Wheels/WheelView.razor.rz.scp.css */
/* --wheel-item — высота пункта (ControlSizes.Height{Size}); --wheel-neighbors и --wheel-buffer — числа из параметров */
.o3-wheel[b-6gzikjx7ob] {
    --wheel-item: var(--o3-control-sizes-height-md);
    position: relative;
    display: inline-flex;
    flex-direction: column;
    /* ширина — по самому длинному пункту, даже если родитель растягивает (flex/grid stretch) */
    width: fit-content;
    min-width: var(--wheel-item);
    max-width: 100%;
    border-radius: var(--o3-radius-md);
    background-color: var(--o3-colors-surface);
    color: var(--o3-colors-on-surface-muted);
    font-family: var(--o3-typography-font-family);
    font-size: var(--o3-typography-font-size-md);
    font-weight: var(--o3-typography-font-weight-regular);
    outline: none;
    user-select: none;
}

    .o3-wheel:focus-visible[b-6gzikjx7ob] {
        box-shadow: 0 0 0 1px var(--o3-colors-focus), inset 0 0 0 1px var(--o3-colors-focus);
    }

/* Размеры: высота пункта — ControlSizes.Height*, шрифт — Typography.FontSize* */
.o3-wheel.size-sm[b-6gzikjx7ob] {
    --wheel-item: var(--o3-control-sizes-height-sm);
    font-size: var(--o3-typography-font-size-sm);
}

.o3-wheel.size-lg[b-6gzikjx7ob] {
    --wheel-item: var(--o3-control-sizes-height-lg);
    font-size: var(--o3-typography-font-size-lg);
}

.viewport[b-6gzikjx7ob] {
    position: relative;
    height: calc(var(--wheel-item) * (2 * var(--wheel-neighbors) + 1));
    overflow: hidden;
    touch-action: none;
    cursor: grab;
}

.o3-wheel.disabled .viewport[b-6gzikjx7ob],
.o3-wheel.empty .viewport[b-6gzikjx7ob] {
    cursor: default;
}

/* Полоса начинается на --wheel-buffer пунктов выше видимой области; при жесте js/wheel.js добавляет translate */
.strip[b-6gzikjx7ob] {
    transform: translateY(calc(var(--wheel-item) * var(--wheel-buffer) * -1));
}

.item[b-6gzikjx7ob] {
    height: var(--wheel-item);
    line-height: var(--wheel-item);
    padding: 0 var(--o3-spacing-sm);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    text-align: center;
}

    .item.selected[b-6gzikjx7ob] {
        color: var(--o3-colors-on-surface);
        font-weight: var(--o3-typography-font-weight-bold);
    }

/* Рамка выбранного пункта — сверху и снизу */
.frame[b-6gzikjx7ob] {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(var(--wheel-item) * var(--wheel-neighbors));
    height: var(--wheel-item);
    border-top: 1px solid var(--o3-colors-border);
    border-bottom: 1px solid var(--o3-colors-border);
    pointer-events: none;
}

/* Ширина барабана — по самому длинному пункту (жирным, как выбранный) */
.sizer[b-6gzikjx7ob] {
    height: 0;
    overflow: hidden;
    visibility: hidden;
    padding: 0 var(--o3-spacing-sm);
    font-weight: var(--o3-typography-font-weight-bold);
    white-space: nowrap;
}

.edit[b-6gzikjx7ob] {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--o3-colors-on-surface);
    font: inherit;
    text-align: center;
    outline: none;
}

.o3-wheel.disabled[b-6gzikjx7ob] {
    background-color: var(--o3-colors-disabled);
    cursor: not-allowed;
}

    .o3-wheel.disabled .item[b-6gzikjx7ob],
    .o3-wheel.disabled .item.selected[b-6gzikjx7ob] {
        color: var(--o3-colors-on-disabled);
    }
/* /Layout/MainLayout.razor.rz.scp.css */
.page[b-hs9779lwd9] {
    display: flex;
    flex-direction: column;
}

.top-bar[b-hs9779lwd9] {
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: var(--o3-spacing-lg);
    min-height: var(--o3-control-sizes-height-lg);
    padding: 0 var(--o3-spacing-lg);
    background-color: var(--o3-colors-surface);
    border-bottom: 1px solid var(--o3-colors-border);
    box-shadow: var(--o3-shadows-sm);
}

.brand[b-hs9779lwd9] {
    color: var(--o3-colors-on-surface);
    font-size: var(--o3-typography-font-size-lg);
    font-weight: var(--o3-typography-font-weight-bold);
    text-decoration: none;
}

.content[b-hs9779lwd9] {
    flex: 1;
    padding: var(--o3-spacing-lg);
}
/* /Layout/NavMenu.razor.rz.scp.css */
.nav[b-4zvzh4vmy7] {
    display: flex;
    gap: var(--o3-spacing-xs);
}

    /* NavLink — компонент фреймворка, его <a> доступен только через ::deep */
    .nav[b-4zvzh4vmy7]  a {
        padding: var(--o3-spacing-xs) var(--o3-spacing-sm);
        border-radius: var(--o3-radius-sm);
        color: var(--o3-colors-on-surface-muted);
        text-decoration: none;
    }

        .nav[b-4zvzh4vmy7]  a:hover {
            color: var(--o3-colors-on-surface);
            background-color: var(--o3-colors-secondary);
        }

        .nav[b-4zvzh4vmy7]  a.active {
            color: var(--o3-colors-on-primary);
            background-color: var(--o3-colors-primary);
        }
/* /Pages/Demo/ArrowButtonDemo.razor.rz.scp.css */
.row[b-xpjr8p1jm7] {
    display: flex;
    align-items: center;
    gap: var(--o3-spacing-sm);
}

.pager[b-xpjr8p1jm7] {
    display: flex;
    align-items: center;
    gap: var(--o3-spacing-sm);
}

.page[b-xpjr8p1jm7] {
    flex: 1;
    text-align: center;
    font-weight: var(--o3-typography-font-weight-bold);
}

.muted[b-xpjr8p1jm7] {
    color: var(--o3-colors-on-surface-muted);
    font-weight: var(--o3-typography-font-weight-regular);
}
/* /Pages/Demo/Demo.razor.rz.scp.css */
.theme-picker[b-t3wrkiieof] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--o3-spacing-sm) var(--o3-spacing-md);
    margin-bottom: var(--o3-spacing-lg);
}

    .theme-picker label[b-t3wrkiieof] {
        font-weight: var(--o3-typography-font-weight-bold);
    }

    .theme-picker select[b-t3wrkiieof] {
        min-height: var(--o3-control-sizes-height-md);
        padding: 0 var(--o3-spacing-sm);
        border: 1px solid var(--o3-colors-border);
        border-radius: var(--o3-radius-md);
        background-color: var(--o3-colors-surface);
        color: var(--o3-colors-on-surface);
        font: inherit;
    }

        .theme-picker select:disabled[b-t3wrkiieof] {
            background-color: var(--o3-colors-disabled);
            color: var(--o3-colors-on-disabled);
        }

.hint[b-t3wrkiieof] {
    color: var(--o3-colors-on-surface-muted);
    font-size: var(--o3-typography-font-size-sm);
}

.message[b-t3wrkiieof] {
    color: var(--o3-colors-danger);
    font-size: var(--o3-typography-font-size-sm);
}
/* /Pages/Demo/DemoGrid.razor.rz.scp.css */
h3[b-up8ccc7g4b] {
    margin-top: var(--o3-spacing-lg);
}

.demo-grid[b-up8ccc7g4b] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(calc(var(--o3-control-sizes-tooltip-max-width) * 0.75), 1fr));
    gap: var(--o3-spacing-lg) var(--o3-spacing-md);
    align-items: start;
}
/* /Pages/Demo/DemoItem.razor.rz.scp.css */
.demo-item[b-2b7r5dfu75] {
    display: flex;
    flex-direction: column;
    gap: var(--o3-spacing-xs);
    min-width: 0;
}

.caption[b-2b7r5dfu75] {
    color: var(--o3-colors-on-surface-muted);
    font-size: var(--o3-typography-font-size-sm);
}

.value[b-2b7r5dfu75] {
    font-size: var(--o3-typography-font-size-sm);
    overflow-wrap: anywhere;
}
/* /Pages/Demo/DemoSection.razor.rz.scp.css */
.demo-section[b-206mrmzo0h] {
    margin-bottom: var(--o3-spacing-lg);
    padding: var(--o3-spacing-lg);
    border: 1px solid var(--o3-colors-border);
    border-radius: var(--o3-radius-lg);
    background-color: var(--o3-colors-surface);
    box-shadow: var(--o3-shadows-sm);
}
/* /Pages/Demo/ThemePalette.razor.rz.scp.css */
.theme-name[b-r2pqjvt4vq] {
    color: var(--o3-colors-on-surface-muted);
}

h3[b-r2pqjvt4vq] {
    margin-top: var(--o3-spacing-lg);
}

.tokens[b-r2pqjvt4vq] {
    display: grid;
    gap: var(--o3-spacing-md);
}

    .tokens.colors[b-r2pqjvt4vq] {
        grid-template-columns: repeat(auto-fill, minmax(calc(var(--o3-control-sizes-tooltip-max-width) * 0.75), 1fr));
    }

.token[b-r2pqjvt4vq] {
    display: flex;
    align-items: center;
    gap: var(--o3-spacing-md);
}

.label[b-r2pqjvt4vq] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.token-name[b-r2pqjvt4vq] {
    font-weight: var(--o3-typography-font-weight-bold);
}

.label code[b-r2pqjvt4vq] {
    color: var(--o3-colors-on-surface-muted);
    overflow-wrap: anywhere;
}

.sample[b-r2pqjvt4vq] {
    flex: none;
}

    .sample.color[b-r2pqjvt4vq] {
        width: var(--o3-control-sizes-height-lg);
        height: var(--o3-control-sizes-height-lg);
        border: 1px solid var(--o3-colors-border);
        border-radius: var(--o3-radius-md);
    }

    .sample.bar[b-r2pqjvt4vq] {
        min-width: 1px;
        min-height: var(--o3-spacing-sm);
        background-color: var(--o3-colors-primary);
        border-radius: var(--o3-radius-sm);
    }

    .sample.box[b-r2pqjvt4vq] {
        width: var(--o3-control-sizes-height-lg);
        height: var(--o3-control-sizes-height-lg);
        border: 1px solid var(--o3-colors-border);
        background-color: var(--o3-colors-surface);
    }

    .tokens.radius .sample.box[b-r2pqjvt4vq] {
        background-color: var(--o3-colors-secondary);
    }

    .tokens.shadows .sample.box[b-r2pqjvt4vq] {
        border-radius: var(--o3-radius-md);
    }

    .sample.text[b-r2pqjvt4vq] {
        width: 50%;
        min-width: 0;
    }

.tokens.typography .token[b-r2pqjvt4vq] {
    align-items: baseline;
}
/* /Pages/Demo/TooltipDemo.razor.rz.scp.css */
/* Пример контейнера, который обрезает содержимое: подсказка должна выходить за его пределы */
.clip-box[b-r2cxx8onju] {
    overflow: hidden;
    padding: var(--o3-spacing-xs);
    border: 1px dashed var(--o3-colors-border);
    border-radius: var(--o3-radius-md);
}
/* /Pages/Demo/WheelsDemo.razor.rz.scp.css */
.hint[b-d0osnvc9hd] {
    color: var(--o3-colors-on-surface-muted);
    font-size: var(--o3-typography-font-size-sm);
}
