/* ==========================================================================
   Reservations Insider — Jobs · utilidades generadas
   Cada clase u-xxxxxx corresponde a un style="..." que antes vivía en el
   HTML o en las plantillas de JS. Generado para dejar el markup limpio.
   ¿Un estilo se repite? La misma clase se reutiliza en todas las vistas.
   ========================================================================== */

.u-653768 { display:flex !important; max-width:280px; margin:0; }
.u-51e3b1 { width:14px; height:14px; color:var(--faint); flex:0 0 auto; }
.u-f6b96a { background:transparent; border-color:rgba(255,255,255,.2); color:#fff; }
.u-d20040 { border-color:rgba(255,255,255,.25); }
.u-0bbf04 { width:13px; height:13px; vertical-align:-2px; }
.u-511cd1 { padding-top:0; }
.u-7408e1 { border-bottom:1px solid var(--line); }
.u-d643e8 { font-size:.98rem; }
.u-22bddb { min-height:110px; }
.u-c8df2a { background:var(--brand-50); border-radius:var(--r-md); padding:1rem; }
.u-8d60f1 { width:230px; }
.u-f4ead0 { border-color:var(--brand-600); background:var(--brand-50); padding:1rem; }
.u-201176 { width:16px; height:16px; color:var(--brand-600); flex:0 0 auto; margin-top:2px; }
.u-531572 { justify-content:stretch; }
.u-b6c524 { background:var(--ok); }
.u-8cba01 { font-size:.65rem; }
.u-12ba7d { border-radius:0; height:3px; }
.u-a9cda8 { width:0; }
.u-2fc0e9 { --val:0; }
.u-0642ac { font-size:.82rem; background:var(--ai-soft); padding:.8rem; border-radius:var(--r-md); }
.u-f95e73 { color:var(--warn); }
.u-806271 { max-width:48ch; }
.u-a5ad52 { flex:.75; }
.u-8aaf9b { max-width:290px; margin-inline:auto; }
.u-7202f3 { background:var(--brand-900); border:0; color:#fff; padding:2.5rem; position:relative; overflow:hidden; }
.u-f7323a { position:absolute; width:480px; height:480px; border-radius:50%; background:radial-gradient(circle,rgba(124,58,237,.5),transparent 65%); top:-200px; right:-140px; }
.u-rel { position:relative; }
.u-4eb23a { color:#fff; }
.u-0b3d0f { color:#C7D2FE; max-width:52ch; line-height:1.7; }
.u-df2aeb { background:#fff; color:var(--brand-900); }
.u-d7a506 { background:transparent; border-color:rgba(255,255,255,.3); color:#fff; }
.u-712cb8 { padding:3rem 1.5rem; }
.u-9cb2f0 { max-width:46ch; }
.u-f66cde { background:var(--warn-soft); border:1px solid rgba(245,158,11,.4); border-radius:var(--r-md); }
.u-dd91d9 { width:18px; height:18px; color:#B45309; flex:0 0 auto; margin-top:2px; }
.u-59a075 { font-size:.88rem; color:#92400E; }
.u-86deb0 { font-size:.78rem; color:#92400E; }
.u-8867af { font-size:.72rem; opacity:.6; }
.u-be84a9 { background:var(--warn-soft); color:#B45309; }
.u-212c72 { border-color:var(--ok); background:var(--ok-soft); }
.u-9ce48d { width:22px; height:22px; color:#047857; flex:0 0 auto; }
.u-6969c3 { width:56px; height:56px; }
.u-7522f0 { width:20px; height:20px; color:var(--ok); }
.u-228d12 { border-color:var(--warn); background:var(--warn-soft); padding:1rem; }
.u-56dcc2 { width:20px; height:20px; color:#B45309; flex:0 0 auto; }
.u-cc845f { font-size:.9rem; color:#92400E; }
.u-c8b846 { font-size:.8rem; color:#92400E; }
.u-6da75e { background:var(--brand-50); color:var(--brand-600); }
.u-e7199f { font-size:.88rem; max-width:64ch; }
.u-1a9d54 { padding:1rem 1.25rem; }
.u-97d0d2 { font-size:.78rem; padding:.35rem .8rem; }
.u-6ccde3 { background:var(--ai-soft); border-radius:var(--r-md); }
.u-341a22 { width:15px; height:15px; color:var(--ai); margin-top:2px; flex:0 0 auto; }
.u-1d8aa3 { font-size:.9rem; color:#fff; }
.u-945117 { font-size:.75rem; margin-top:.25rem; }
.u-bf5aed { position:absolute; top:12px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:.4rem; background:rgba(15,23,42,.6); padding:.25rem .6rem; border-radius:var(--r-pill); }
.u-b2018e { font-size:.7rem; color:#fff; }
.u-518cc7 { width:60%; }
.u-aee0f2 { width:44px; height:44px; }
.u-d3383c { width:16px; height:16px; fill:currentColor; }
.u-33cbde { margin-top:-24px; border:2px solid #fff; }
.u-cfd268 { border:0; margin:0; padding:0; }
.u-72b3c8 { font-size:.85rem; min-width:38px; }
.u-4a43bb { font-size:1.1rem; min-width:44px; }
.u-51a91f { width:15px; height:15px; color:var(--faint); }
.u-a47922 { font-size:.82rem; color:var(--faint); }
.u-684513 { background:var(--canvas); border:1px solid var(--line); border-radius:var(--r-md); }
.u-b5053b { align-items:flex-start; }
.u-1d1dc4 { margin-top:3px; }
.u-aacbe9 { font-size:.8rem; line-height:1.5; }
.u-74ae1d { background:var(--warn-soft); border-radius:var(--r-sm); }
.u-e54c82 { width:18px; height:18px; color:#B45309; }
.u-b7647a { width:210px; }
.u-0de4e7 { font-size:.82rem; }
.u-bb0425 { font-size:.78rem; }
.u-4327c8 { background:var(--canvas); border-radius:var(--r-sm); }
.u-3b36a7 { height:30px; }
.u-6c660c { font-size:.8rem; }
.u-bc9efe { font-size:.7rem; }
.u-1d5618 { width:14px; height:14px; color:var(--faint); }
.u-f71f5b { width:34px; height:34px; }
.u-e31936 { background:var(--line-soft); display:grid; place-items:center; color:var(--faint); }
.u-12da9e { width:14px; height:14px; }
.u-3f9f96 { min-width:0; }
.u-51f405 { font-size:.86rem; }
.u-cc7353 { font-size:.72rem; }
.u-bf6f67 { width:10px; height:10px; }
.u-779d87 { padding:.3rem .6rem; font-size:.72rem; }
.u-5927fc { width:30px; height:30px; color:var(--danger); }
.u-6cfa57 { padding:1.1rem; }
.u-8db147 { font-size:.95rem; }
.u-e3753c { font-size:.82rem; background:var(--canvas); padding:.7rem; border-radius:var(--r-sm); }
.u-87cf60 { font-size:.75rem; padding:.4rem .8rem; }
.u-8981cc { font-size:.75rem; padding:.4rem .8rem; color:var(--danger); }
.u-ed1931 { background:var(--ok-soft); color:#047857; }
.u-9fa9d7 { font-size:1.05rem; }
.u-486a7a { border-color:var(--ai); box-shadow:0 0 0 3px var(--ai-soft); }
.u-5a058a { width:18px; height:18px; }
.u-fd9144 { font-size:1rem; }
.u-640fb1 { font-size:.75rem; }
.u-1e2811 { font-size:.85rem; }
.u-56440a { flex:1; accent-color:var(--ai); }
.u-1836cc { font-size:1.1rem; min-width:48px; }
.u-386d65 { border-color:var(--danger); }
.u-2af9d2 { width:16px; height:16px; color:var(--danger); }
.u-a78f59 { background:var(--danger-soft); border-radius:var(--r-sm); }
.u-e504cc { width:13px; height:13px; color:#B91C1C; flex:0 0 auto; }
.u-cb9e7c { font-size:.8rem; color:#B91C1C; }
.u-0fcf64 { border:0; padding:0; }
.u-58180d { font-size:.88rem; }
.u-6debf9 { font-size:.82rem; color:var(--ink-2); }
.u-249061 { width:28px; height:28px; }
.u-6fad5a { width:12px; height:12px; }
.u-0f5aee { font-size:.85rem; color:var(--ink-2); }
.u-d9ba90 { width:16px; height:16px; }
.u-054595 { width:13px; height:13px; }
.u-9edb02 { width:15px; height:15px; color:var(--faint); flex:0 0 auto; }
.u-9dfe04 { background:#fff; color:#0F172A; }
.u-c6fa68 { max-width:36ch; line-height:1.7; }
.u-845094 { opacity:.55; }
.u-3ba109 { width:11px; height:11px; }
.u-f617d4 { width:26px; height:26px; }
.u-adfc62 { width:13px; height:13px; color:var(--ok); }
.u-f4ccec { font-size:1rem; line-height:1.4; }
.u-a9cfee { border-top:1px solid var(--line-soft); }
.u-75fd7a { width:20px; height:20px; fill:currentColor; }
.u-1f5d8c { pointer-events:none; }
.u-3f3b05 { min-height:240px; }
.u-760bb9 { width:11px; height:11px; fill:currentColor; }
.u-58ca09 { font-size:1.3rem; line-height:1.3; }
.u-8348e0 { width:12px; height:12px; color:var(--ok); }
.u-003bc8 { font-size:1.15rem; }
.u-c06c6f { position:absolute; bottom:-6px; right:-6px; width:24px; height:24px; padding:0; border-radius:50%; }
.u-727130 { font-size:.9rem; }
.u-ac5a41 { max-width:220px; }
.u-b7473a { width:13px; height:13px; fill:currentColor; }
.u-244c87 { color:#E0E7FF; font-size:.78rem; line-height:1.4; }
.u-1c685d { max-width:880px; }
.u-7e2a8c { border:0; border-radius:var(--r-lg); overflow:hidden; background:var(--surface); }
.u-02c974 { aspect-ratio:9/16; border-radius:0; min-height:100%; }
.u-2ac612 { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:blur(28px) brightness(.5); transform:scale(1.3); }
.u-47f0e7 { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:center 38%; }
.u-7e741c { position:relative; z-index:2; }
.u-7e4298 { width:22px; height:22px; fill:currentColor; }
.u-f54f15 { font-size:.8rem; color:#fff; }
.u-bc2d1c { font-size:.68rem; opacity:.7; margin-top:.2rem; }
.u-0e2382 { z-index:3; }
.u-5f8af3 { width:34%; }
.u-cdfe70 { font-size:.88rem; line-height:1.7; }
.u-4b99fd { flex:1; justify-content:center; }
.u-f1bde2 { font-weight:400; }
.u-43681c { width:38px; color:var(--danger); }
.u-1e2cc3 { align-items:center; }
.u-d2d138 { background:var(--brand-50); color:var(--brand-600); display:grid; place-items:center; font-weight:600; font-size:.8rem; flex:0 0 auto; }
.u-7406c4 { font-size:.8rem; line-height:1.6; }
.u-492a71 { opacity:.6; }
.u-f31ee1 { background:var(--ink); position:relative; overflow:hidden; }
.u-3ccb68 { position:absolute; inset:0; opacity:.35; }
.u-fc4f3d { width:100%; height:100%; object-fit:cover; }
.u-ff5295 { position:absolute; inset:0; background:linear-gradient(180deg,rgba(15,23,42,.5),rgba(15,23,42,.95)); }
.u-34fe86 { position:relative; padding-top:3rem; padding-bottom:2rem; }
.u-746330 { color:#CBD5E1; font-size:.82rem; }
.u-ebba8b { position:absolute; bottom:0; right:-6px; width:36px; height:36px; padding:0; border-radius:50%; border:3px solid var(--ink); }
.u-daf0f8 { width:14px; height:14px; fill:currentColor; }
.u-8e0ca9 { color:#fff; font-size:2.4rem; }
.u-1341e1 { color:#CBD5E1; font-size:.88rem; }
.u-831aca { margin-top:2rem; }
.u-eab7e0 { cursor:pointer; aspect-ratio:16/9; }
.u-4f13ff { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:blur(26px) brightness(.5); transform:scale(1.2); }
.u-b367d5 { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:center 32%; }
.u-0249a3 { font-size:.85rem; color:#fff; }
.u-46c68d { font-size:.9rem; line-height:1.75; }
.u-3802da { font-size:.72rem; padding:.35rem .7rem; }
.u-f09adf { width:13px; height:13px; color:var(--brand-600); }
.u-3cca2c { border-bottom-style:solid; border-color:var(--line-soft); }
.u-a27a58 { font-size:.72rem; color:var(--faint); }
.u-6a1a01 { background:var(--ai-soft); color:var(--ai); }
.u-e3b580 { width:32px; height:32px; border-radius:9px; }
.u-3830b6 { width:15px; height:15px; }
.u-54b14f { font-size:.68rem; }
.u-8ef335 { font-size:.92rem; background:var(--ai-soft); padding:1rem; border-radius:var(--r-md); }
.u-c376c0 { background:var(--canvas); border-radius:var(--r-md); }
.u-c6fe82 { width:14px; height:14px; color:var(--muted); margin-top:2px; flex:0 0 auto; }
.u-343cb8 { font-size:1.5rem; }
.u-1c4055 { background:var(--line-soft); border-radius:var(--r-md); }
.u-3ca38f { margin:.5rem 0; }
.u-49d6aa { min-height:280px; }
.u-e4cb3a { font-size:.6rem; margin-top:.25rem; }
.u-ecfce3 { font-size:1.2rem; line-height:1.35; }
.u-cf65a5 { font-size:.76rem; }
.u-ee4fbb { padding:.5rem 0; }
.u-1f0659 { color:var(--brand-200); }
.u-f08ac2 { color:#fff; font-size:2.3rem; max-width:14ch; }
.u-026450 { color:#C7D2FE; max-width:36ch; line-height:1.7; font-size:.92rem; }
.u-923e95 { min-width:180px; }
.u-1e2c0a { font-size:.92rem; }
.u-9186d0 { height:4px; }
.u-a4dc9b { width:10px; height:10px; fill:currentColor; }
.u-43cf0a { width:32px; height:32px; }
.u-87ddc0 { color:var(--muted); }
.u-ab31f2 { width:32px; height:32px; color:var(--danger); }
.u-bd1ee5 { background:var(--canvas); border-radius:var(--r-md); font-size:.82rem; }
.u-172e14 { width:15px; height:15px; color:var(--brand-600); flex:0 0 auto; }
.u-a2ef1f { width:30px; height:30px; }
.u-68c4f6 { width:52px; height:52px; }
.u-60d387 { font-size:1.9rem; }
.u-ad405c { background:var(--ai); color:#fff; }
.u-56a2b3 { font-size:.88rem; background:var(--ai-soft); padding:.85rem; border-radius:var(--r-md); }
.u-1b0d19 { font-size:.62rem; }
.u-80c58a { font-size:.62rem; color:var(--warn); }
.u-024030 { background:transparent; border-color:transparent; font-size:.85rem; }
.u-f70f93 { width:24px; height:24px; }
.u-787fb9 { font-size:.95rem; line-height:1.4; }
.u-c4b3e0 { width:10px; height:10px; color:var(--ok); }
.u-064280 { background:rgba(255,255,255,.16); color:#fff; border-color:rgba(255,255,255,.28); backdrop-filter:blur(8px); }
.u-0fd2e9 { color:#fff; font-weight:600; font-size:.88rem; }
.u-0e6367 { color:#A5B4FC; font-size:.78rem; line-height:1.55; max-width:32ch; }
.u-704cb9 { background:var(--brand-50); border-radius:var(--r-md); }
.u-9de697 { width:15px; height:15px; color:var(--brand-600); margin-top:2px; flex:0 0 auto; }
.u-465e7d { background:var(--brand-50); color:var(--brand-600); width:36px; height:36px; flex:0 0 auto; }
.u-425ab3 { font-size:.74rem; }
.u-11cc38 { padding:1rem; border-color:var(--brand-600); background:var(--brand-50); }
.u-2a9499 { width:16px; height:16px; color:var(--brand-600); }
.u-2911cb { font-size:.72rem; padding:.25rem .6rem; }
.u-ee7e03 { height:260px; }
.u-95b21b { width:15px; height:15px; color:var(--ok); }
.u-5c0e5c { font-size:2rem; }
.u-82d2f7 { font-size:.9rem; padding-left:1.1rem; }
.u-3ba445 { width:14px; height:14px; color:var(--ok); }
.u-60f29f { width:16px; height:16px; color:var(--ai); }
.u-c09b1e { font-size:.88rem; color:var(--ink-2); }
.u-a9b4d4 { height:150px; border-radius:var(--r-md); }
.u-578f5d { font-size:1.7rem; }
.u-ca2421 { background:var(--brand-50); border-radius:var(--r-sm); }
.u-1ac3f2 { width:14px; height:14px; color:var(--brand-600); margin-top:2px; flex:0 0 auto; }
.u-cca069 { --val:94; }
.u-81af9c { width:0; background:var(--warn); }
.u-b1aca7 { cursor:default; }
.u-986834 { font-size:.7rem; padding:.3rem .6rem; }
.u-116e33 { text-decoration:none; }
.u-3697ee { aspect-ratio:1; width:34px; }

/* clase condicional para filas atenuadas */
.u-op60 { opacity: .6; }

/* ==========================================================================
   Clases generadas al pasar el sitio a estático (antes eran style inline,
   muchas con valores calculados por JS que ahora quedaron fijos).
   ========================================================================== */

.u-6da75e { background:var(--brand-50); color:var(--brand-600); }
.u-35b103 { font-size:.68rem; color:var(--brand-600); }
.u-6a1a01 { background:var(--ai-soft); color:var(--ai); }
.u-2e559b { font-size:.68rem; color:var(--ai); }
.u-ed1931 { background:var(--ok-soft); color:#047857; }
.u-8003cc { font-size:.68rem; color:#047857; }
.u-be84a9 { background:var(--warn-soft); color:#B45309; }
.u-49ae11 { font-size:.68rem; color:#B45309; }
.u-eea773 { width:71%; }
.u-6d5673 { width:100%; }
.u-518cc7 { width:60%; }
.u-b6c524 { background:var(--ok); }
.u-cca069 { --val:94; }
.u-95b21b { width:15px; height:15px; color:var(--ok); }
.u-44938c { font-size:.84rem; color:var(--ink-2); }
.u-bb0ec8 { --val:91; }
.u-48743a { --val:88; }
.u-299f28 { --val:86; }
.u-ff8fb8 { --val:85; }
.u-2df9f3 { --val:83; }
.u-14f14e { --val:79; }
.u-f09eec { width:14px; height:14px; color:var(--ok); flex:0 0 auto; }
.u-8118f7 { font-size:.8rem; color:var(--ink-2); }
.u-be70d9 { width: 100%; }
.u-c376c0 { background:var(--canvas); border-radius:var(--r-md); }
.u-95a477 { font-size:.62rem; margin-top:.3rem; color:var(--ink-2); }
.u-9c33ea { width:0%; }
.u-c1e09f { font-size:.62rem; margin-top:.3rem; color:var(--faint); }
.u-0964d8 { --val:78; }
.u-dbb063 { background:var(--canvas); border-radius:var(--r-md); opacity:.65; }
.u-7ad0fc { --val:44; }
.u-bb4ea2 { --val:92; }
.u-f5f770 { --val:84; }
.u-e7a917 { --val:96; }
.u-4ecc7b { --val:81; }
.u-8b0455 { visibility: hidden; }
.u-434118 { width: 20%; }
.u-51a91f { width:15px; height:15px; color:var(--faint); }
.u-634c2c { font-size:.84rem; color:var(--faint); }
.u-9c3bef { --val:62; }
.u-172e14 { width:15px; height:15px; color:var(--brand-600); flex:0 0 auto; }
.u-9edb02 { width:15px; height:15px; color:var(--faint); flex:0 0 auto; }


.ri-empty {
    text-align: center;
    padding: 3rem 1.5rem;
}

.ri-empty__ico {
    width: 56px;
    height: 56px;
    margin: 0 auto 1rem;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--ri-soft, #f1f5f9);
    color: var(--ri-muted, #64748b);
}

    .ri-empty__ico .ri-ico {
        width: 26px;
        height: 26px;
    }

.ri-empty__title {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--ri-ink, #0f172a);
    margin-bottom: .35rem;
}

.ri-empty__text {
    font-size: .9rem;
    color: var(--ri-muted, #64748b);
    max-width: 32rem;
    margin: 0 auto 1rem;
}

.ri-empty__actions {
    display: flex;
    gap: .5rem;
    justify-content: center;
    flex-wrap: wrap;
}

/* Oculto por defecto */
#components-reconnect-modal {
    display: none;
}

    /* Blazor muestra el modal aplicando estas clases */
    #components-reconnect-modal.components-reconnect-show,
    #components-reconnect-modal.components-reconnect-failed,
    #components-reconnect-modal.components-reconnect-rejected {
        display: block;
    }

.ri-reconnect {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1080;
}

.ri-reconnect__bar {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .85rem 1.25rem;
    background: #0f172a;
    color: #fff;
    box-shadow: 0 -4px 20px rgba(0,0,0,.25);
}

    .ri-reconnect__bar .ri-ico {
        width: 20px;
        height: 20px;
        flex-shrink: 0;
    }

.ri-reconnect__text {
    flex-grow: 1;
    font-size: .9rem;
}

.ri-reconnect__reload {
    color: #fff;
    font-weight: 600;
    text-decoration: underline;
    font-size: .9rem;
}

.ri-reconnect__close {
    background: transparent;
    border: none;
    color: #fff;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
    opacity: .7;
    padding: 0 .25rem;
}

    .ri-reconnect__close:hover {
        opacity: 1;
    }

.ri-toast {
    position: fixed;
    left: 50%;
    bottom: 1.5rem;
    transform: translateX(-50%);
    z-index: 1090;
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .8rem 1.1rem;
    border-radius: 12px;
    background: #0f172a;
    color: #fff;
    box-shadow: 0 8px 30px rgba(0,0,0,.25);
    max-width: 90vw;
    animation: ri-toast-in .25s ease;
}

@keyframes ri-toast-in {
    from {
        opacity: 0;
        transform: translate(-50%, 12px);
    }

    to {
        opacity: 1;
        transform: translate(-50%, 0);
    }
}

.ri-toast--ok .ri-toast__ico {
    color: #4ade80;
}

.ri-toast--info .ri-toast__ico {
    color: #60a5fa;
}

.ri-toast__ico .ri-ico {
    width: 20px;
    height: 20px;
}

.ri-toast__text {
    font-size: .9rem;
}

.ri-toast__close {
    background: transparent;
    border: none;
    color: #fff;
    opacity: .6;
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
    padding: 0 .15rem;
}

    .ri-toast__close:hover {
        opacity: 1;
    }

.ri-skeleton-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 1.5rem;
}

.ri-skeleton-card {
    border: 1px solid var(--ri-line, #e2e8f0);
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
}

.ri-skeleton-card__body {
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: .6rem;
}

.ri-skeleton {
    background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 37%, #f1f5f9 63%);
    background-size: 400% 100%;
    animation: ri-shimmer 1.4s ease infinite;
    border-radius: 6px;
}

.ri-skeleton--media {
    aspect-ratio: 16 / 9;
    width: 100%;
    border-radius: 0;
}

.ri-skeleton--line {
    height: 12px;
}

.ri-sk-w-40 {
    width: 40%;
}

.ri-sk-w-60 {
    width: 60%;
}

.ri-sk-w-90 {
    width: 90%;
}

@keyframes ri-shimmer {
    0% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0 50%;
    }
}