/* Shared UI tokens. Brand colors continue to come from store settings. */
.nc-ui {
    --nc-surface: #fff;
    --nc-canvas: #f5f7fb;
    --nc-line: #e5e9f0;
    --nc-ink: #182230;
    --nc-muted: #667085;
    --nc-radius: 16px;
    --nc-shadow: 0 4px 24px rgb(16 24 40 / 5%);
    -webkit-font-smoothing: antialiased;
}
.dark .nc-ui {
    --nc-surface: #20232b;
    --nc-canvas: #171a21;
    --nc-line: #363c49;
    --nc-ink: #f2f4f7;
    --nc-muted: #b5bfce;
    --nc-shadow: 0 4px 24px rgb(0 0 0 / 15%);
}
.nc-ui :where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid var(--bs-secondary);
    outline-offset: 3px;
}
.nc-ui :where(.form-control, .form-select) {
    border-radius: 10px;
    border-color: var(--nc-line);
    min-height: 44px;
}
.nc-ui :where(.btn) { border-radius: 10px; }
.nc-ui :where(.modal-content, .dropdown-menu) {
    border-radius: var(--nc-radius);
    border-color: var(--nc-line);
    box-shadow: var(--nc-shadow);
}
.nc-ui .table-responsive {
    max-width: 100%;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}
.nc-ui :where(.table) { --bs-table-border-color: var(--nc-line); }
.nc-ui :where(.table th) {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .025em;
    padding-block: 16px;
}
.nc-ui :where(.table td) { padding-block: 14px; vertical-align: middle; }
.nc-ui :where(.breadcrumb) { flex-wrap: wrap; row-gap: 8px; }
@media (max-width: 767.98px) {
    .nc-ui :where(input.form-control, select.form-select, textarea.form-control) { font-size: 16px; }
    .nc-ui .modal-dialog { margin: 12px; }
    .nc-ui :where(.modal-footer) { gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
    .nc-ui *, .nc-ui *::before, .nc-ui *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}
