/* ==========================================================================
   KDS Confirm — el cartel de "¿seguro?" de todo el admin.
   ==========================================================================

   Estaba escrito adentro de `js/lib/kds-save-flow.js` con prefijo `kdsc-`, y
   ademas DUPLICADO adentro de `js/pages/admin/empresas.js`: las dos copias se
   inyectaban bajo el mismo id `kdsc-styles`, con valores distintos, asi que el
   cartel se veia de una forma o de otra segun que archivo cargara primero.

   Eso es exactamente lo que la regla de "la libreria es la unica fuente" evita.
   El CSS vive aca, el comportamiento en la libreria, y la copia de empresas.js
   se borro.
   ========================================================================== */

@property --kds-confirm-angle {
    syntax:"<angle>";
    inherits:false;
    initial-value:0deg;
}

.kds-confirm {
    position:fixed;
    inset:0;
    background:rgba(17,24,39,.44);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:1rem;
    z-index:1095;
    opacity:0;
    transition:opacity .16s;
}

.kds-confirm.on {
    opacity:1;
}

.kds-confirm__card {
    position:relative;
    max-width:27.5rem;
    width:100%;
    border-radius:1.375rem;
    padding:.1875rem;
    background:conic-gradient(from var(--kds-confirm-angle),var(--color-teal,#2EB8A8),var(--color-green,#77b65d),var(--color-amber,#E8B30E),var(--color-rose,#E6607B),var(--color-teal,#2EB8A8));
    animation:kdsConfirmSpin 4.5s linear infinite;
    box-shadow:0 1.375rem 3.5rem rgba(17,24,39,.28);
    transform:translateY(.5rem) scale(.99);
    opacity:0;
    transition:transform .2s cubic-bezier(.2,.8,.3,1),opacity .2s;
}

.kds-confirm.on .kds-confirm__card {
    transform:none;
    opacity:1;
}

.kds-confirm__inner {
    background:var(--ds-surface,#fff);
    border-radius:1.1875rem;
    overflow:hidden;
}

@keyframes kdsConfirmSpin {
    to {
        --kds-confirm-angle:360deg;
    }
}

.kds-confirm__head {
    display:flex;
    gap:.85rem;
    align-items:flex-start;
    padding:1.25rem 1.35rem .35rem;
}

.kds-confirm__icon {
    width:2.75rem;
    height:2.75rem;
    border-radius:.8125rem;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    flex:0 0 auto;
    font-size:1.15rem;
    background:linear-gradient(135deg,var(--color-teal,#2EB8A8),var(--color-teal-dark,#1FA090));
}

.kds-confirm__icon.danger {
    background:linear-gradient(135deg,var(--color-rose,#E6607B),#c94d68);
}

.kds-confirm__title {
    font-weight:800;
    font-size:1.06rem;
    color:var(--ds-text,#212529);
    margin:.2rem 0 0;
    line-height:1.3;
}

.kds-confirm__body {
    padding:.15rem 1.35rem 1.05rem 4.2rem;
    color:var(--ds-text-muted,#606060);
    font-size:.92rem;
    line-height:1.45;
}

.kds-confirm__foot {
    display:flex;
    gap:.55rem;
    justify-content:flex-end;
    padding:0 1.35rem 1.25rem;
}

.kds-confirm__btn {
    border:0;
    border-radius:.6875rem;
    padding:.5625rem 1.125rem;
    font-weight:600;
    font-size:.9rem;
    cursor:pointer;
    font-family:inherit;
    transition:.15s;
}

.kds-confirm__btn--ghost {
    background:transparent;
    color:var(--ds-text,#212529);
    border:1.5px solid var(--ds-border-strong,#dee2e6);
}

.kds-confirm__btn--ghost:hover {
    background:var(--ds-surface-sunken,#f4f6f8);
}

.kds-confirm__btn--primary {
    background:var(--color-teal,#2EB8A8);
    color:#fff;
}

.kds-confirm__btn--primary:hover {
    background:var(--color-teal-dark,#1FA090);
}

.kds-confirm__btn--danger {
    background:var(--color-rose,#E6607B);
    color:#fff;
}

.kds-confirm__btn--danger:hover {
    filter:brightness(.94);
}

@media(prefers-reduced-motion:reduce) {
    .kds-confirm,.kds-confirm__card {
        transition:none;
        animation:none;
    }
}

/* ==========================================================================
   KDS Prompt — el mismo cartel cuando hay que anotar algo (#1022).
   ==========================================================================
   kdsPrompt({ title, message, field: { type: text|textarea|number|select, label,
   placeholder, value, required, min, max, minLength, maxLength, options, prefix },
   validate, action, confirmText, danger }) -> { confirmed, value }.
   La tarjeta, el borde que gira y los botones son los de kdsConfirm: sólo suma el
   campo, el error debajo (nunca un globito) y el "pensando" en el botón mientras
   se guarda. Reemplaza los input/preConfirm/showValidationMessage de SweetAlert.
   ========================================================================== */
.kds-confirm__field {
    padding:.15rem 1.35rem 1rem 4.2rem;
}

.kds-confirm__label {
    display:block;
    margin-bottom:.4rem;
    font-size:.78rem;
    font-weight:700;
    letter-spacing:.02em;
    color:var(--ds-text,#212529);
}

.kds-confirm__opcional {
    font-weight:500;
    color:var(--ds-text-muted,#606060);
}

.kds-confirm__control {
    display:flex;
    align-items:center;
    background:var(--ds-surface,#fff);
    border:1.5px solid var(--ds-border-strong,#dee2e6);
    border-radius:.6875rem;
    transition:border-color .15s,box-shadow .15s;
}

.kds-confirm__control:focus-within {
    border-color:var(--color-teal,#2EB8A8);
    box-shadow:0 0 0 .1875rem rgba(46,184,168,.16);
}

.kds-confirm__input {
    flex:1;
    min-width:0;
    border:0;
    outline:0;
    background:transparent;
    padding:.5625rem .75rem;
    font:inherit;
    font-size:.92rem;
    color:var(--ds-text,#212529);
}

.kds-confirm__input--area {
    min-height:5.5rem;
    resize:vertical;
    line-height:1.45;
}

select.kds-confirm__input {
    cursor:pointer;
}

.kds-confirm__prefix {
    padding-left:.75rem;
    font-weight:700;
    color:var(--ds-text-muted,#606060);
}

.kds-confirm__meta {
    display:flex;
    gap:.5rem;
    min-height:1.2em;
    margin-top:.35rem;
}

.kds-confirm__error {
    font-size:.8rem;
    font-weight:600;
    color:var(--color-rose-dark,#D03355);
}

.kds-confirm__count {
    margin-left:auto;
    font-size:.75rem;
    font-variant-numeric:tabular-nums;
    color:var(--ds-text-muted,#606060);
}

.kds-confirm__count.is-limite {
    color:var(--color-amber-dark,#C4960A);
}

.kds-confirm__field.is-invalid .kds-confirm__control {
    border-color:var(--color-rose,#E6607B);
    animation:kdsConfirmShake .32s;
}

.kds-confirm__btn > .ds-loader {
    margin-right:.45rem;
}

.kds-confirm__btn:disabled {
    opacity:.75;
    cursor:progress;
}

@keyframes kdsConfirmShake {
    0%,100% { transform:translateX(0); }
    25% { transform:translateX(-.25rem); }
    75% { transform:translateX(.25rem); }
}

@media(max-width:480px) {
    .kds-confirm__field {
        padding-left:1.35rem;
    }
}

@media(prefers-reduced-motion:reduce) {
    .kds-confirm__field.is-invalid .kds-confirm__control {
        animation:none;
    }
}
