

@font-face {
    font-family: 'Avenir-Medium';
    src: url('../fonts/Avenir-Medium.ttf') format("truetype");
    font-display: swap
}

:root {
    --color-primary: #9a7611;
    --color-secondary: #333;
    --color-light: #aea780;
    --color-background: #EFEDE6;
    --color-muted: #dfdfdf;
    --color-white: #fff;
    --color-error: #f0506e;
    --font-main: 'Avenir-Medium', sans-serif;
    /* Toasts — minimal, misma familia cromática que el dashboard */
    --toast-radius: 8px;
    --toast-shadow: 0 10px 40px rgba(51, 51, 51, 0.08);
    --toast-border-soft: rgba(51, 51, 51, 0.08);
    --toast-success-accent: #5c6b4f;
    --toast-info-accent: var(--color-primary);
    --toast-error-accent: #a94455;
}

body,
#base {
    font-family: var(--font-main);
    background-color: var(--color-background);
    color: var(--color-secondary);
    min-height: 100vh;
}

.uk-h1,
.uk-h2,
.uk-h3,
.uk-h4,
.uk-h5,
.uk-h6,
.uk-heading-2xlarge,
.uk-heading-3xlarge,
.uk-heading-large,
.uk-heading-medium,
.uk-heading-small,
.uk-heading-xlarge,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-main);
    color: var(--color-primary);
}

h2 {
    font-size: 18px;

    @media (min-width: 1200px) {
        font-size: 20px;
    }
}

p {
    font-size: 14px;
    color: var(--color-secondary);

    @media (min-width: 960px) {
        font-size: 16px;
    }
}

.uk-text-small {
    font-size: 12px;
}

.uk-button {
    min-width: 150px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    font-size: 10px;
    text-wrap: nowrap;
    border-radius: 5px !important;
    border: 1px solid var(--color-muted);
}

.uk-button-small {
    height: 30px;
}

.uk-button-default {
    background-color: var(--color-primary) !important;
    color: var(--color-white) !important;
    border: none !important;

    &:hover {
        background-color: var(--color-light) !important;
    }

    .uk-icon {
        color: var(--color-white) !important;
        svg {
            fill: var(--color-white) !important;
        }
    }
}
.uk-button-primary {
    background-color: var(--color-white) !important;
    color: var(--color-primary) !important;

    &:hover {
        background-color: var(--color-light) !important;
        color: var(--color-white) !important;
        .uk-icon {
            color: var(--color-white) !important;
            svg {
                fill: var(--color-white) !important;
            }
        }
    }

    .uk-icon {
        color: var(--color-primary) !important;
        svg {
            fill: var(--color-primary) !important;
        }
    }
}

.is-loading {
    position: relative;
    opacity: 0.6;
    pointer-events: none;

    [uk-spinner] {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
}

.uk-button[disabled] {
    background-color: var(--color-muted) !important;
}

.uk-icon {
    color: var(--color-primary) !important;

    svg {
        fill: var(--color-primary) !important;
    }
}

.uk-input,
.uk-search-input {
    font-size: 12px;
    border-radius: 1px;

    &:focus {
        border-color: var(--color-primary) !important;
    }

    &:disabled {
        background-color: var(--color-muted) !important;
    }

    @media (min-width: 1200px) {
        font-size: 16px;
    }
}

.uk-card {
    border-radius: 5px;
    .uk-card-header,
    .uk-card-body {
        border: 0;
    }
}

.uk-table {
    font-size: 10px;
    table-layout: fixed;
    width: 100%;

    thead {
        th {
            color: var(--color-primary);
            border: 1px solid var(--color-muted);
            border-top: none;
            border-left: none;

            &:last-child {
                border-right: none;
            }
        }
    }

    tbody {
        td {
            border: 1px solid var(--color-muted);
            border-top: none;
            border-left: none;

            &:hover {
                background-color: var(--color-background);
                font-size: 12px;
                transition: all 0.2s ease;
            }

            &:last-child {
                border-right: none;
            }

            &.button-container {
                display: flex;
                justify-content: center;

                &:hover {
                    background-color: var(--color-white);
                }
            }
        }

        tr:last-child {
            td {
                border-bottom: none;
            }
        }
    }


}

.uk-tab {
    > .uk-active {
        a {
            font-weight: bold;
            color: var(--color-primary);
            border-color: var(--color-primary);
        }
    }
}

/* —— Notificaciones (UIkit): éxito, info (primary), error (danger) —— */
@keyframes phg-toast-in {
    from {
        opacity: 0;
        transform: translate3d(10px, 0, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.uk-notification.uk-notification-top-right {
    width: min(22rem, calc(100vw - 2rem));
}

.uk-notification-message {
    font-family: var(--font-main) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    letter-spacing: 0.015em;
    border-radius: var(--toast-radius) !important;
    box-shadow: var(--toast-shadow) !important;
    border: 1px solid var(--toast-border-soft) !important;
    border-left-width: 3px !important;
    padding: 0.85rem 2.25rem 0.85rem 1rem !important;
    margin-top: 0.5rem !important;
    color: var(--color-secondary) !important;
    background-color: var(--color-white) !important;
    animation: phg-toast-in 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.uk-notification-close {
    top: 0.65rem !important;
    right: 0.5rem !important;
    color: var(--color-secondary) !important;
    opacity: 0.4;
    transition: opacity 0.15s ease;
}

.uk-notification-close:hover {
    opacity: 0.85;
}

.uk-notification-message-success {
    border-left-color: var(--toast-success-accent) !important;
    background-color: var(--color-white) !important;
    color: var(--color-secondary) !important;
}

.uk-notification-message-primary {
    border-left-color: var(--toast-info-accent) !important;
    background-color: var(--color-white) !important;
    color: var(--color-secondary) !important;
}

.uk-notification-message-danger {
    border-left-color: var(--toast-error-accent) !important;
    background-color: var(--color-white) !important;
    color: var(--color-secondary) !important;
}
.uk-background-primary,
.uk-label-primary {
    background-color: var(--color-primary) !important;
}
.uk-text-primary {
    color: var(--color-primary) !important;
}

.path-content-block__header {
    gap: 16px;
}

.path-content-block__title {
    min-width: 0;
    flex: 1;
}

.path-content-actions {
    align-items: flex-end;
    gap: 8px;
    flex-shrink: 0;
}

.path-content-actions__placeholder {
    box-sizing: border-box;
    min-width: 150px;
    height: 30px;
    visibility: hidden;
    pointer-events: none;
    flex-shrink: 0;
}

.path-regenerate-btn-wrap {
    position: relative;
    display: inline-flex;
    flex-shrink: 0;
    align-self: flex-end;
}

.path-regenerate-pending-badge {
    position: absolute;
    top: -5px;
    left: -5px;
    z-index: 1;
    box-sizing: border-box;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background-color: var(--color-white);
    border: 1px solid rgba(51, 51, 51, 0.12);
    box-shadow: 0 1px 3px rgba(51, 51, 51, 0.12);
    pointer-events: none;
}

.path-regenerate-pending-badge__icon {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    color: var(--color-primary);
}

.path-section-text {
    position: relative;
    min-width: 0;
}

.path-section-text__measure-wrap {
    position: relative;
}

.path-section-text__inner {
    overflow: hidden;
    transition: max-height 0.2s ease;
}

.path-section-text__inner--clamped {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.path-section-text--collapsed .path-section-text__fade {
    display: block;
}

.path-section-text__fade {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2.25em;
    pointer-events: none;
    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0),
        var(--color-white) 85%
    );
}

.path-section-text__toggle {
    margin-top: 6px;
    min-width: auto !important;
    min-height: auto !important;
    height: auto !important;
    padding: 4px 0 !important;
    justify-content: center !important;
    color: var(--color-primary) !important;
    font-size: 12px;
    border: none !important;
    background: transparent !important;

    &:hover {
        color: var(--color-light) !important;
        background: transparent !important;
    }
}

.path-section-text--expanded .path-section-text__fade {
    display: none !important;
}

.regenerate-modal-dialog {
    box-sizing: border-box;
}

#regenerate-translation-modal .uk-modal-body {
    box-sizing: border-box;
    max-width: 100%;
}

#regenerate-translation-modal .regenerate-modal-context-label {
    display: block;
    margin-bottom: 0.45rem;
}

#regenerate-translation-modal .regenerate-modal-textarea {
    margin-top: 0.25rem;
    margin-bottom: 1.35rem;
}

/* Mismo grosor de borde en foco (1px) que el input numérico; sin box-shadow extra */
#regenerate-translation-modal .regenerate-modal-textarea.uk-textarea,
#regenerate-translation-modal #regenerate-context-textarea,
#regenerate-translation-modal .regenerate-suggestion-count-input {
    border: 1px solid var(--color-muted);
    box-sizing: border-box;
}

#regenerate-translation-modal .regenerate-modal-textarea.uk-textarea:focus,
#regenerate-translation-modal #regenerate-context-textarea:focus,
#regenerate-translation-modal .regenerate-suggestion-count-input:focus {
    border: 1px solid var(--color-primary) !important;
    outline: none;
    box-shadow: none !important;
}

#regenerate-translation-modal .regenerate-modal-count-label {
    display: block;
    margin-top: 0.15rem;
    margin-bottom: 0.45rem;
}

.regenerate-suggestion-count-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 0.25rem;
    margin-bottom: 0.1rem;
}

#regenerate-translation-modal .regenerate-suggestion-count-btn {
    min-width: 40px !important;
    width: 40px;
    height: 40px;
    padding: 0 !important;
    justify-content: center !important;
    flex-shrink: 0;
}

#regenerate-translation-modal .regenerate-suggestion-count-input {
    max-width: 72px;
    text-align: center;
    font-size: 14px;
    height: 40px;
    box-sizing: border-box;
}

#regenerate-translation-modal .regenerate-suggestion-count-input::-webkit-outer-spin-button,
#regenerate-translation-modal .regenerate-suggestion-count-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

#regenerate-translation-modal .regenerate-suggestion-count-input[type="number"] {
    appearance: textfield;
    -moz-appearance: textfield;
}

#regenerate-translation-modal .regenerate-suggestion-count-input[readonly] {
    cursor: default;
    user-select: none;
    background-color: var(--color-white);
    color: var(--color-secondary);
}

#regenerate-translation-modal .regenerate-suggestion-count-input:disabled {
    background-color: #f8f8f8;
    color: #999;
    border-color: #e5e5e5;
}

#regenerate-translation-modal .regenerate-suggestion-count-btn.uk-button-default:hover:not(:disabled),
#regenerate-translation-modal .regenerate-suggestion-count-btn.uk-button-default:focus-visible:not(:disabled),
#regenerate-translation-modal #regenerate-submit-btn.uk-button-default.modal-footer-btn:hover:not(:disabled),
#regenerate-translation-modal #regenerate-submit-btn.uk-button-default.modal-footer-btn:focus-visible:not(:disabled) {
    background-color: var(--color-primary) !important;
    color: var(--color-white) !important;
    border: none !important;
    opacity: 0.55;
    transition: none !important;
    cursor: pointer;
}

#regenerate-translation-modal .regenerate-suggestion-count-btn.uk-button-default:disabled,
#regenerate-translation-modal .regenerate-suggestion-count-btn.uk-button-default:disabled:hover,
#regenerate-translation-modal .regenerate-suggestion-count-btn.uk-button-default:disabled:focus,
#regenerate-translation-modal #regenerate-submit-btn.uk-button-default:disabled,
#regenerate-translation-modal #regenerate-submit-btn.uk-button-default:disabled:hover,
#regenerate-translation-modal #regenerate-submit-btn.uk-button-default:disabled:focus {
    background-color: var(--color-primary) !important;
    color: var(--color-white) !important;
    border: none !important;
    opacity: 0.55;
    cursor: not-allowed;
    transition: none !important;
}

.regenerate-suggestions-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

#regenerate-translation-modal .regenerate-modal-footer .modal-footer-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 140px;
    height: 40px;
}

#regenerate-translation-modal .modal-btn-cancel {
    background-color: var(--color-white) !important;
    color: var(--color-primary) !important;
    border: 1px solid var(--color-primary) !important;

    &:hover {
        background-color: var(--color-background) !important;
        color: var(--color-primary) !important;
    }

    .uk-icon {
        color: var(--color-primary) !important;
        svg {
            fill: var(--color-primary) !important;
        }
    }
}

#regenerate-translation-modal .modal-btn-submit {
    border: none !important;
}

.translation-suggestion-card {
    cursor: pointer;
    text-align: left;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--color-muted);
    border-radius: 5px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;

    &:hover {
        border-color: var(--color-light);
    }

    &:focus-visible {
        outline: 2px solid var(--color-primary);
        outline-offset: 2px;
    }
}

.translation-suggestion-card--selected {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 1px var(--color-primary);
}

.translation-suggestion-card:disabled {
    cursor: not-allowed;
    opacity: 0.55;
    pointer-events: none;
}

.translation-suggestion-card:disabled:hover {
    border-color: var(--color-muted);
}

#regenerate-submit-btn.is-loading,
#regenerate-retry-btn.is-loading {
    min-width: 150px;
}

/* Mismo criterio que .modal-btn-cancel (borde + hover fondo), sin subrayado de .uk-button-text */
#regenerate-translation-modal .regenerate-retry-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: auto !important;
    height: auto !important;
    min-height: 32px;
    padding: 6px 12px !important;
    line-height: 1.3;
    border-radius: 5px;
    background-color: var(--color-white) !important;
    color: var(--color-primary) !important;
    border: 1px solid var(--color-primary) !important;
    font-size: 12px;
    text-decoration: none !important;
    box-sizing: border-box;
}

#regenerate-translation-modal .regenerate-retry-link::before {
    display: none !important;
    content: none !important;
}

#regenerate-translation-modal .regenerate-retry-link:hover {
    background-color: var(--color-background) !important;
    color: var(--color-primary) !important;
}

#regenerate-translation-modal .regenerate-retry-link .uk-icon {
    color: var(--color-primary) !important;
    svg {
        fill: var(--color-primary) !important;
    }
}

.custom-select {
    .uk-list {
        li {
            a {
                display: block;
                padding: 4px 8px;
                color: var(--color-secondary) !important;
                font-size: 13px;
                text-decoration: none;
                border-radius: 3px;
            }

            &:hover {
                background-color: var(--color-background);
                color: var(--color-primary) !important;
            }

            &.uk-active {
                color: var(--color-primary) !important;
                font-weight: bold;
                background-color: var(--color-background);
            }
        }
    }
}

.app-navbar-toggle {
    padding: 8px;
    color: var(--color-primary);

    &:hover,
    &:focus {
        color: var(--color-light);
        background: transparent;
    }
}

.app-sidebar.uk-offcanvas-bar {
    display: flex;
    flex-direction: column;
    background-color: var(--color-white);
    color: var(--color-secondary);
    padding: 32px 24px 24px;
}

.app-sidebar__close.uk-offcanvas-close {
    top: 12px;
    right: 12px;
    color: var(--color-secondary);
}

.app-sidebar__content {
    flex: 1 1 auto;
    min-height: 0;
}

.app-sidebar__footer {
    border-top: 1px solid var(--color-muted);
    padding-top: 16px;
    margin-top: 16px;
}

.app-sidebar__logout-form {
    margin: 0;
    width: 100%;
}

.app-sidebar__logout.uk-button {
    width: 100%;
    justify-content: center;
}
