
:root {
    --raver-fuente: 'Onest', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --raver-display: 'Syne', var(--raver-fuente);
    --raver-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
}
html,
body,
body.elementor-default,
body.wp-theme-hello-elementor,
body.wp-theme-westudio,
#page,
.site-main,
#content,
.page-content,
.entry-content {
    color: var(--tinta-texto) !important;
    font-family: var(--raver-fuente) !important;
    -webkit-font-smoothing: antialiased;
}
html {
    background-color: var(--tinta-fondo) !important;
}
body,
body.elementor-default,
body.wp-theme-hello-elementor,
body.wp-theme-westudio {
    background-color: transparent !important;
    background-image: none !important;
}
#page,
.site-main,
#content,
.page-content,
.entry-content {
    background-color: transparent !important;
}
html {
    --raver-grid-color: rgb(var(--tinta-rejilla-rgb) / 0.045);
    --raver-grid-size: 104px;
    background-image:
        linear-gradient(to right, var(--raver-grid-color) 1px, transparent 1px),
        linear-gradient(to bottom, var(--raver-grid-color) 1px, transparent 1px) !important;
    background-size: var(--raver-grid-size) var(--raver-grid-size) !important;
    background-attachment: fixed !important;
}
.raver-portal-container button,
.raver-global-header-nav button,
#raver-fe-modal button,
.raver-filter-btn,
.raver-btn-action,
.raver-btn-secondary,
.raver-btn-fe-save,
.raver-btn-fe-preview {
    font-family: var(--raver-fuente) !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    outline: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}
#site-header.site-header,
header.site-header {
    background: rgb(var(--tinta-fondo-rgb) / 0.9) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-bottom: 1px solid var(--tinta-borde) !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    padding: 12px 24px !important;
    transition: all 0.3s ease;
}
body.admin-bar #site-header.site-header,
body.admin-bar header.site-header,
body.admin-bar .raver-standalone-topbar {
    top: 32px !important;
}
@media screen and (max-width: 782px) {
    body.admin-bar #site-header.site-header,
    body.admin-bar header.site-header,
    body.admin-bar .raver-standalone-topbar {
        top: 46px !important;
    }
}
@media screen and (max-width: 600px) {
    body.admin-bar #site-header.site-header,
    body.admin-bar header.site-header,
    body.admin-bar .raver-standalone-topbar {
        top: 0 !important;
    }
}
#site-header .header-inner,
header.site-header .header-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
}
#site-header .site-branding,
header.site-header .site-branding {
    display: flex;
    align-items: center;
}
#site-header .site-title a,
header.site-header .site-title a {
    font-family: var(--raver-display) !important;
    font-weight: 700 !important;
    font-size: 19px !important;
    letter-spacing: 1px !important; 
    color: var(--tinta-texto-fuerte) !important;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.raver-lottie-logo {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    flex-shrink: 0 !important;
    vertical-align: middle !important;
    filter: brightness(0) invert(var(--tinta-logo-inv, 1)) !important;
}
.raver-lottie-logo svg {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    filter: brightness(0) invert(var(--tinta-logo-inv, 1)) !important;
}
.raver-lottie-logo svg path,
.raver-lottie-logo svg g,
.raver-lottie-logo svg shape,
.raver-lottie-logo svg rect,
.raver-lottie-logo svg polygon {
    fill: #ffffff !important;
    stroke: #ffffff !important;
}
.raver-global-header-nav {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}
.raver-header-nav-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 3px;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--tinta-suave) !important;
    background: transparent;
    border: none;
    position: relative;
    transition: color 0.2s ease, background-color 0.2s ease;
    text-decoration: none !important;
    cursor: pointer;
    letter-spacing: 0.2px;
}
.raver-header-nav-btn svg,
.raver-header-nav-btn .lni {
    flex-shrink: 0;
    opacity: 0.8;
    transition: opacity 0.2s ease, transform 0.2s ease;
}
.raver-nav-icon {
    font-size: 15px;
}
.raver-header-nav-btn::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 2px;
    background: var(--tinta-acento);
    border-radius: 2px;
    transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s ease;
    opacity: 0;
}
.raver-header-nav-btn:hover {
    color: var(--tinta-texto-fuerte) !important;
    background: rgb(var(--tinta-vela-rgb) / 0.04);
}
.raver-header-nav-btn:hover svg,
.raver-header-nav-btn:hover .lni {
    opacity: 1;
    transform: translateY(-1px);
}
.raver-header-nav-btn:hover::after {
    width: calc(100% - 20px);
    opacity: 1;
}
.raver-header-nav-btn.active {
    color: var(--tinta-texto-fuerte) !important;
    font-weight: 600;
    background: rgb(var(--tinta-acento-rgb) / 0.08);
}
.raver-header-nav-btn.active svg,
.raver-header-nav-btn.active .lni {
    opacity: 1;
    color: var(--tinta-acento-claro);
}
.raver-header-nav-btn.active::after {
    width: calc(100% - 16px);
    opacity: 1;
    box-shadow: 0 0 10px rgb(var(--tinta-acento-rgb) / 0.7);
}
.raver-header-wa {
    color: var(--tinta-suave) !important;
}
.raver-header-wa:hover {
    color: var(--tinta-ok) !important;
    background: rgb(var(--tinta-ok-rgb) / 0.06);
}
.raver-header-wa:hover svg,
.raver-header-wa:hover .lni {
    color: var(--tinta-ok);
}
.raver-header-wa:hover::after {
    background: #22c55e;
    box-shadow: 0 0 8px rgb(var(--tinta-ok-rgb) / 0.6);
}
.raver-header-logout {
    color: var(--tinta-suave) !important;
}
.raver-header-logout:hover {
    color: var(--tinta-mal) !important;
    background: rgb(var(--tinta-mal-rgb) / 0.06);
}
.raver-header-logout:hover svg,
.raver-header-logout:hover .lni {
    color: var(--tinta-mal);
}
.raver-header-logout:hover::after {
    background: var(--tinta-mal);
    box-shadow: 0 0 8px rgb(var(--tinta-mal-rgb) / 0.6);
}
.raver-header-user-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgb(var(--tinta-fondo-rgb) / 0.8);
    padding: 5px 12px;
    border-radius: 6px;
    border: 1px solid var(--tinta-sup);
    margin-left: 6px;
}
.raver-header-avatar {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--tinta-acento);
    color: var(--tinta-sobre-acento);
    font-size: 10px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
}
.raver-header-username {
    font-size: 12px;
    font-weight: 600;
    color: var(--tinta-texto-3);
}
.raver-standalone-topbar {
    background: rgb(var(--tinta-fondo-rgb) / 0.9);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--tinta-borde);
    position: sticky;
    top: 0;
    z-index: 9999;
    padding: 12px 24px;
}
.raver-topbar-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.raver-topbar-brand a {
    color: var(--tinta-texto-fuerte);
    text-decoration: none;
    font-family: var(--raver-display);
    font-size: 19px;
    font-weight: 700;
    letter-spacing: 1px;
}
#site-footer.site-footer,
footer.site-footer {
    background: var(--tinta-hundido) !important;
    border-top: 1px solid var(--tinta-borde) !important;
    padding: 24px 20px !important;
    color: var(--tinta-apagado) !important;
}
#site-footer .copyright p,
footer.site-footer .copyright p {
    color: var(--tinta-apagado) !important;
    font-size: 13px !important;
    margin: 0 !important;
    text-align: center !important;
}
.elementor-section,
.elementor-container,
.e-con,
.e-con-inner {
    background-color: transparent !important;
}
.home.blog .page-header,
.home.blog .page-content article.post {
    display: none !important;
}


.raver-portal-container {
    max-width: 1160px;
    margin: 30px auto 40px auto;
    padding: 0 16px;
    box-sizing: border-box;
    color: var(--tinta-texto);
}
.raver-portal-container * {
    box-sizing: border-box;
}
.raver-welcome-banner {
    background: var(--tinta-campo);
    border: 1px solid var(--tinta-borde);
    border-radius: 6px;
    padding: 20px 24px;
    margin-bottom: 24px;
    box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.35);
}
.raver-welcome-title {
    font-size: 22px;
    font-weight: 800;
    color: var(--tinta-texto-fuerte);
    margin: 0 0 6px 0;
    letter-spacing: 0.3px;
}
.raver-welcome-subtitle {
    font-size: 13px;
    color: var(--tinta-suave);
    margin: 0;
}
.raver-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    margin-bottom: 28px;
}
.raver-stat-card {
    display: flex;
    align-items: center;
    gap: 16px;
    background: var(--tinta-campo);
    border: 1px solid var(--tinta-borde);
    border-radius: 6px;
    padding: 18px 20px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
    transition: transform 0.2s ease;
}
.raver-stat-card:hover {
    transform: translateY(-2px);
}
.raver-stat-icon {
    width: 44px;
    height: 44px;
    border-radius: 5px;
    background: var(--tinta-sup);
    color: var(--tinta-suave);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid var(--tinta-borde-fuerte);
    transition: all 0.2s ease;
}
.raver-stat-number {
    font-size: 28px;
    font-weight: 600;
    line-height: 1.1;
    color: var(--tinta-texto-fuerte);
    margin-bottom: 2px;
}
.raver-stat-label {
    font-size: 12px;
    font-weight: 600;
    color: var(--tinta-suave);
}
.raver-stat-success .raver-stat-icon {
    color: var(--tinta-ok);
    border-color: rgb(var(--tinta-ok-rgb) / 0.3);
    background: rgb(var(--tinta-ok-rgb) / 0.08);
}
.raver-stat-success .raver-stat-number {
    color: var(--tinta-ok) !important;
}
.raver-stat-warning .raver-stat-icon {
    color: var(--tinta-alerta);
    border-color: rgb(var(--tinta-alerta-rgb) / 0.3);
    background: rgb(var(--tinta-alerta-rgb) / 0.08);
}
.raver-stat-warning .raver-stat-number {
    color: var(--tinta-alerta) !important;
}
.raver-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 16px;
}
.raver-section-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--tinta-texto-fuerte);
    margin: 0;
}
.raver-toolbar-controls {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}
.raver-search-input {
    padding: 8px 14px;
    border-radius: 4px;
    font-size: 13px;
    width: 210px;
    outline: none;
    background: var(--tinta-campo);
    border: 1px solid var(--tinta-borde-fuerte);
    color: #f5f7fa;
    transition: all 0.2s ease;
}
.raver-search-input:focus {
    border-color: var(--tinta-acento);
    box-shadow: 0 0 0 3px rgb(var(--tinta-acento-rgb) / 0.25);
    width: 240px;
}
.raver-filter-buttons {
    display: flex !important;
    gap: 4px !important;
    background: rgb(var(--tinta-fondo-rgb) / 0.7) !important;
    padding: 3px !important;
    border-radius: 4px !important;
    border: 1px solid var(--tinta-sup) !important;
}
.raver-portal-container button.raver-filter-btn,
.raver-filter-btn {
    padding: 7px 14px !important;
    border-radius: 3px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    background: transparent !important;
    border: none !important;
    color: var(--tinta-suave) !important;
    position: relative !important;
    transition: all 0.2s ease !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    font-family: var(--raver-fuente) !important;
    text-transform: none !important;
}
.raver-portal-container button.raver-filter-btn::after,
.raver-filter-btn::after {
    content: '' !important;
    position: absolute !important;
    bottom: -1px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 0 !important;
    height: 2px !important;
    background: var(--tinta-acento) !important;
    border-radius: 2px !important;
    transition: width 0.2s ease, opacity 0.2s ease !important;
    opacity: 0 !important;
}
.raver-portal-container button.raver-filter-btn:hover,
.raver-filter-btn:hover {
    color: var(--tinta-texto-fuerte) !important;
    background: rgb(var(--tinta-vela-rgb) / 0.05) !important;
    border: none !important;
    outline: none !important;
}
.raver-portal-container button.raver-filter-btn:hover::after,
.raver-filter-btn:hover::after {
    width: calc(100% - 16px) !important;
    opacity: 1 !important;
}
.raver-portal-container button.raver-filter-btn.active,
.raver-filter-btn.active {
    color: var(--tinta-texto-fuerte) !important;
    font-weight: 600 !important;
    background: rgb(var(--tinta-acento-rgb) / 0.12) !important;
    border: none !important;
    outline: none !important;
}
.raver-portal-container button.raver-filter-btn.active::after,
.raver-filter-btn.active::after {
    width: calc(100% - 12px) !important;
    opacity: 1 !important;
    box-shadow: 0 0 8px rgb(var(--tinta-acento-rgb) / 0.6) !important;
}
.raver-table-responsive {
    background: var(--tinta-campo);
    border: 1px solid var(--tinta-borde);
    border-radius: 6px;
    overflow-x: auto;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}
.raver-services-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    font-size: 13px;
}
.raver-services-table thead th {
    background: var(--tinta-hundido);
    color: var(--tinta-suave);
    border-bottom: 1px solid var(--tinta-borde);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 14px 18px;
    white-space: nowrap;
}
.raver-services-table tbody tr {
    border-bottom: 1px solid var(--tinta-borde);
    transition: background-color 0.15s ease;
}
.raver-services-table tbody tr:hover {
    background-color: rgb(var(--tinta-vela-rgb) / 0.03);
}
.raver-services-table td {
    padding: 14px 18px;
    vertical-align: middle;
}
.raver-domain-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none !important;
}
.raver-domain-icon {
    width: 36px;
    height: 36px;
    border-radius: 4px;
    background: var(--tinta-sup);
    color: var(--tinta-acento-claro);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid var(--tinta-borde-fuerte);
    transition: all 0.2s ease;
}
.raver-domain-wrapper:hover .raver-domain-icon {
    background: var(--tinta-acento);
    color: var(--tinta-sobre-acento);
    border-color: var(--tinta-acento);
    transform: scale(1.05);
}
.raver-domain-name {
    font-weight: 700;
    font-size: 14px;
    color: var(--tinta-texto-fuerte);
    transition: color 0.15s ease;
}
.raver-domain-wrapper:hover .raver-domain-name {
    color: var(--tinta-acento-claro);
}
.raver-domain-plan {
    font-size: 12px;
    color: var(--tinta-suave);
    margin-top: 1px;
}
.raver-server-pill,
.raver-ip-pill {
    display: inline-block;
    padding: 3px 8px;
    background: var(--tinta-borde);
    color: var(--tinta-suave);
    border-radius: 3px;
    font-size: 11px;
    font-weight: 600;
    border: 1px solid var(--tinta-borde-fuerte);
}
.raver-exp-date {
    font-weight: 600;
    font-size: 13px;
    color: var(--tinta-texto);
}
.raver-days-pill {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 4px;
}
.raver-days-ok {
    background: rgb(var(--tinta-ok-rgb) / 0.12);
    color: var(--tinta-ok);
}
.raver-days-warning {
    background: rgb(var(--tinta-alerta-rgb) / 0.12);
    color: var(--tinta-alerta);
}
.raver-days-expired {
    background: rgb(var(--tinta-mal-rgb) / 0.12);
    color: var(--tinta-mal);
}
.raver-cost-text {
    font-weight: 700;
    font-size: 14px;
    color: var(--tinta-acento-claro);
}
.raver-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}
.raver-badge-active {
    background: rgb(var(--tinta-ok-rgb) / 0.15);
    color: var(--tinta-ok);
    border: 1px solid rgb(var(--tinta-ok-rgb) / 0.3);
}
.raver-badge-warning {
    background: rgb(var(--tinta-alerta-rgb) / 0.15);
    color: var(--tinta-alerta);
    border: 1px solid rgb(var(--tinta-alerta-rgb) / 0.3);
}
.raver-badge-expired {
    background: rgb(var(--tinta-mal-rgb) / 0.15);
    color: var(--tinta-mal);
    border: 1px solid rgb(var(--tinta-mal-rgb) / 0.3);
}
.raver-badge-disabled {
    background: rgb(var(--tinta-apagado-rgb) / 0.15);
    color: var(--tinta-suave);
    border: 1px solid rgb(var(--tinta-apagado-rgb) / 0.3);
}
.raver-badge-scheduled {
    background: rgb(var(--tinta-acento-rgb) / 0.15);
    color: var(--tinta-acento-claro);
    border: 1px solid rgb(var(--tinta-acento-rgb) / 0.3);
}
.raver-btn-table {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
    white-space: nowrap;
}
.raver-btn-manage {
    background: var(--tinta-sup);
    color: var(--tinta-texto) !important;
    border: 1px solid var(--tinta-borde-fuerte);
}
.raver-btn-manage svg {
    transition: transform 0.2s ease;
}
.raver-btn-manage:hover {
    background: var(--tinta-acento);
    border-color: var(--tinta-acento);
    color: var(--tinta-sobre-acento) !important;
    box-shadow: 0 2px 10px rgb(var(--tinta-acento-rgb) / 0.35);
    transform: translateY(-1px);
}
.raver-btn-manage:hover svg {
    transform: translateX(3px);
}
.raver-single-top-nav {
    margin-bottom: 20px;
}
.raver-back-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: var(--tinta-campo);
    border: 1px solid var(--tinta-borde);
    border-radius: 4px;
    color: var(--tinta-texto-3) !important;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 600;
    transition: all 0.2s ease;
}
.raver-back-btn svg {
    transition: transform 0.2s ease;
}
.raver-back-btn:hover {
    background: var(--tinta-sup);
    color: var(--tinta-texto-fuerte) !important;
    border-color: var(--tinta-borde-fuerte);
    transform: translateX(-3px);
}
.raver-status-banner {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    border-radius: 6px;
    padding: 18px 22px;
    margin-bottom: 24px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}
.raver-banner-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 4px;
    background: rgba(0, 0, 0, 0.25);
    flex-shrink: 0;
}
.raver-banner-body h4 {
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 4px 0;
}
.raver-banner-body p {
    font-size: 13px;
    margin: 0;
    line-height: 1.5;
    opacity: 0.95;
}
.raver-banner-success {
    background: rgb(var(--tinta-ok-rgb) / 0.08);
    border: 1px solid rgb(var(--tinta-ok-rgb) / 0.25);
    color: var(--tinta-ok);
}
.raver-banner-success h4 {
    color: var(--tinta-ok);
}
.raver-banner-warning {
    background: rgb(var(--tinta-alerta-rgb) / 0.08);
    border: 1px solid rgb(var(--tinta-alerta-rgb) / 0.25);
    color: var(--tinta-alerta);
}
.raver-banner-warning h4 {
    color: var(--tinta-alerta);
}
.raver-banner-alert {
    background: rgb(var(--tinta-alerta-rgb) / 0.08);
    border: 1px solid rgb(var(--tinta-alerta-rgb) / 0.25);
    color: var(--tinta-alerta);
}
.raver-banner-alert h4 {
    color: var(--tinta-alerta);
}
.raver-banner-danger {
    background: rgb(var(--tinta-mal-rgb) / 0.08);
    border: 1px solid rgb(var(--tinta-mal-rgb) / 0.25);
    color: var(--tinta-mal);
}
.raver-banner-danger h4 {
    color: var(--tinta-mal);
}
.raver-service-hero {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--tinta-campo);
    border: 1px solid var(--tinta-borde);
    border-radius: 6px;
    padding: 24px 28px;
    margin-bottom: 24px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35);
    flex-wrap: wrap;
    gap: 20px;
}
.raver-hero-main {
    display: flex;
    align-items: center;
    gap: 20px;
}
.raver-hero-icon {
    width: 54px;
    height: 54px;
    border-radius: 6px;
    background: var(--tinta-sup);
    color: var(--tinta-acento-claro);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--tinta-borde-fuerte);
    flex-shrink: 0;
}
.raver-hero-subtitle {
    font-size: 13px;
    font-weight: 600;
    color: var(--tinta-acento-claro);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: block;
    margin-bottom: 4px;
}
.raver-hero-domain {
    font-size: 26px;
    font-weight: 800;
    color: var(--tinta-texto-fuerte);
    margin: 0 0 8px 0;
    letter-spacing: 0.5px;
}
.raver-hero-tags {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.raver-hero-price-box {
    text-align: right;
    background: var(--tinta-hundido);
    padding: 16px 20px;
    border-radius: 6px;
    border: 1px solid var(--tinta-borde);
    min-width: 220px;
}
.raver-price-label {
    display: block;
    font-size: 11px;
    color: var(--tinta-suave);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 2px;
}
.raver-price-amount {
    display: block;
    font-size: 24px;
    font-weight: 600;
    color: var(--tinta-acento-claro);
}
.raver-price-sub {
    display: block;
    font-size: 11px;
    color: var(--tinta-apagado);
    margin-top: 2px;
}
.raver-action-hub-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 20px;
    margin-bottom: 24px;
}
.raver-action-card {
    background: var(--tinta-campo);
    border: 1px solid var(--tinta-borde);
    border-radius: 6px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
}
.raver-action-primary {
    border-color: rgb(var(--tinta-acento-rgb) / 0.4);
    box-shadow: 0 0 20px rgb(var(--tinta-acento-rgb) / 0.1);
}
.raver-action-card-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}
.raver-action-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 4px;
    background: var(--tinta-sup);
    color: var(--tinta-acento-claro);
    border: 1px solid var(--tinta-borde-fuerte);
    flex-shrink: 0;
}
.raver-action-card-header h3 {
    font-size: 16px;
    font-weight: 700;
    color: var(--tinta-texto-fuerte);
    margin: 0;
}
.raver-action-desc {
    font-size: 13px;
    color: var(--tinta-suave);
    line-height: 1.5;
    margin-bottom: 20px;
}
.raver-action-footer {
    margin-top: auto;
}
.raver-btn-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    text-align: center;
    padding: 12px 20px;
    border-radius: 4px;
    font-size: 13.5px;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.2s ease;
    box-sizing: border-box;
    cursor: pointer;
    background: var(--tinta-sup) !important;
    border: 1px solid var(--tinta-borde-fuerte) !important;
    color: var(--tinta-texto) !important;
}
.raver-btn-action:hover {
    border-color: var(--tinta-borde-marcado) !important;
}
.raver-btn-checkout {
    background: linear-gradient(135deg, var(--tinta-acento) 0%, var(--tinta-acento) 100%);
    color: var(--tinta-sobre-acento) !important;
    border: none;
    box-shadow: 0 4px 14px rgb(var(--tinta-acento-rgb) / 0.35);
}
.raver-btn-checkout:hover {
    background: linear-gradient(135deg, #0041cc 0%, var(--tinta-acento) 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgb(var(--tinta-acento-rgb) / 0.45);
}
.raver-btn-wa,
.raver-btn-secondary {
    background: var(--tinta-sup) !important;
    color: var(--tinta-texto) !important;
    border: 1px solid var(--tinta-borde-fuerte) !important;
}
.raver-btn-wa:hover,
.raver-btn-secondary:hover {
    background: var(--tinta-borde-fuerte) !important;
    color: var(--tinta-texto-fuerte) !important;
    border: 1px solid var(--tinta-borde-marcado) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
}
.raver-btn-disabled {
    background: var(--tinta-borde);
    color: var(--tinta-suave);
    border: 1px solid var(--tinta-borde-fuerte);
    cursor: not-allowed;
}
.raver-specs-card {
    background: var(--tinta-campo);
    border: 1px solid var(--tinta-borde);
    border-radius: 6px;
    padding: 24px 28px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
}
.raver-specs-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    border-bottom: 1px solid var(--tinta-borde);
    padding-bottom: 16px;
    margin-bottom: 20px;
}
.raver-specs-title {
    font-size: 17px;
    font-weight: 700;
    color: var(--tinta-texto-fuerte);
    margin: 0;
}
.raver-specs-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 14px !important;
}
@media (max-width: 960px) {
    .raver-specs-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 640px) {
    .raver-specs-grid {
        grid-template-columns: 1fr !important;
    }
}
.raver-spec-item {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 4px 0;
    background: none;
    border: 0;
}
.raver-spec-label {
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--tinta-apagado);
    font-weight: 600;
}
.raver-spec-value {
    font-size: 14px;
    font-weight: 600;
    color: var(--tinta-texto);
    overflow-wrap: anywhere;
}
.raver-spec-sin-cargar {
    padding: 8px 0 2px;
    color: var(--tinta-apagado);
    font-size: 12px;
}
.raver-spec-full {
    grid-column: 1 / -1;
}
.raver-spec-divider {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 6px 0 0;
}
.raver-spec-divider span {
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #7c8393;
    font-weight: 700;
    white-space: nowrap;
}
.raver-spec-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--tinta-borde);
}
.raver-concept-box {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}
.raver-concept-text {
    flex: 1;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 13px;
    font-weight: 600;
    color: var(--tinta-texto);
    background: var(--tinta-hundido);
    border: 1px solid var(--tinta-borde);
    border-radius: 4px;
    padding: 10px 12px;
    line-height: 1.5;
    word-break: break-word;
}
.raver-concept-copy {
    background: var(--tinta-sup) !important;
    border: 1px solid var(--tinta-borde-fuerte) !important;
    color: var(--tinta-texto-2) !important;
    border-radius: 4px;
    padding: 10px 14px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}
.raver-concept-copy:hover {
    background: var(--tinta-borde-fuerte);
}
.raver-guest-card {
    background: var(--tinta-campo);
    border: 1px solid var(--tinta-borde);
    color: var(--tinta-texto-fuerte);
    border-radius: 6px;
    padding: 40px 30px;
    text-align: center;
    max-width: 460px;
    margin: 40px auto;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
}
.raver-guest-icon {
    font-size: 40px;
    margin-bottom: 14px;
}
.raver-guest-card h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--tinta-texto-fuerte);
    margin: 0 0 8px 0;
}
.raver-guest-card p {
    font-size: 14px;
    color: var(--tinta-suave);
    margin-bottom: 20px;
    line-height: 1.5;
}
.raver-login-box {
    text-align: left;
    padding: 20px;
    border-radius: 6px;
    background: var(--tinta-hundido);
    border: 1px solid var(--tinta-borde);
}
.raver-login-box p {
    margin-bottom: 12px;
}
.raver-login-box label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: var(--tinta-texto-3);
    margin-bottom: 5px;
}
.raver-login-box input[type="text"],
.raver-login-box input[type="password"] {
    width: 100%;
    padding: 9px 12px;
    border-radius: 4px;
    font-size: 14px;
    outline: none;
    background: var(--tinta-sup);
    border: 1px solid var(--tinta-borde-fuerte);
    color: var(--tinta-texto-fuerte);
}
.raver-login-box input[type="submit"] {
    width: 100%;
    background: linear-gradient(135deg, var(--tinta-acento) 0%, var(--tinta-acento) 100%);
    color: var(--tinta-sobre-acento);
    border: none;
    padding: 11px;
    border-radius: 4px;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    margin-top: 8px;
}
.raver-empty-state {
    background: var(--tinta-campo);
    border: 1px dashed var(--tinta-borde-fuerte);
    border-radius: 6px;
    padding: 40px;
    text-align: center;
    color: var(--tinta-suave);
}
.raver-fe-admin-card {
    background: var(--tinta-campo);
    border: 1px solid rgb(var(--tinta-acento-rgb) / 0.4);
    border-radius: 6px;
    padding: 24px 26px;
    margin-bottom: 24px;
    box-shadow: 0 0 25px rgb(var(--tinta-acento-rgb) / 0.12);
}
.raver-fe-admin-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--tinta-borde);
    padding-bottom: 16px;
    margin-bottom: 20px;
    flex-wrap: wrap;
    gap: 12px;
}
.raver-fe-admin-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
    margin-bottom: 22px;
}
.raver-fe-label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: var(--tinta-texto-3);
    margin-bottom: 6px;
    letter-spacing: 0.3px;
}
.raver-fe-input {
    width: 100%;
    padding: 10px 14px;
    border-radius: 4px;
    border: 1px solid var(--tinta-borde-fuerte);
    background: var(--tinta-hundido);
    color: var(--tinta-texto-fuerte);
    font-size: 13px;
    outline: none;
    transition: all 0.2s ease;
    box-sizing: border-box;
    font-family: inherit;
}
.raver-fe-input:focus {
    border-color: var(--tinta-acento);
    box-shadow: 0 0 0 3px rgb(var(--tinta-acento-rgb) / 0.25);
    background: var(--tinta-campo);
}
.raver-fe-admin-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    border-top: 1px solid var(--tinta-borde);
    padding-top: 18px;
}
.raver-btn-secondary,
.raver-btn-fe-save,
.raver-btn-fe-preview,
.raver-fe-admin-actions button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 12px 20px !important;
    border-radius: 4px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    background: var(--tinta-sup) !important;
    color: var(--tinta-texto) !important;
    border: 1px solid var(--tinta-borde-fuerte) !important;
    outline: none !important;
    box-shadow: none !important;
}
.raver-btn-secondary svg,
.raver-btn-fe-save svg,
.raver-btn-fe-preview svg,
.raver-fe-admin-actions button svg {
    flex-shrink: 0 !important;
    color: inherit !important;
    transition: transform 0.2s ease !important;
}
.raver-btn-secondary:hover,
.raver-btn-fe-save:hover,
.raver-btn-fe-preview:hover,
.raver-fe-admin-actions button:hover {
    background: var(--tinta-borde-fuerte) !important;
    color: var(--tinta-texto-fuerte) !important;
    border: 1px solid var(--tinta-borde-marcado) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
}
.raver-logs-table {
    border-collapse: collapse !important;
    width: 100% !important;
}
.raver-logs-table th {
    background: var(--tinta-hundido) !important;
    color: var(--tinta-suave) !important;
    font-size: 11.5px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-bottom: 1px solid var(--tinta-borde) !important;
}
.raver-logs-table td {
    border-bottom: 1px solid var(--tinta-borde) !important;
    vertical-align: middle !important;
}
.raver-logs-table tr:hover td {
    background: rgb(var(--tinta-fondo-rgb) / 0.5) !important;
}
.raver-btn-view-sent-email {
    transition: all 0.2s ease !important;
}
.raver-btn-view-sent-email:hover {
    background: var(--tinta-borde-fuerte) !important;
    border-color: var(--tinta-apagado) !important;
    color: var(--tinta-texto-fuerte) !important;
    transform: translateY(-1px) !important;
}
@media (max-width: 860px) {
    .raver-service-hero {
        flex-direction: column;
        align-items: stretch;
        flex-wrap: nowrap;
        padding: 18px 16px;
    }
    .raver-service-hero > *,
    .raver-hero-main,
    .raver-hero-main > * {
        min-width: 0;
        max-width: 100%;
    }
    .raver-hero-domain {
        font-size: 17px;
        font-weight: 700;
        letter-spacing: normal;
        line-height: 1.25;
        overflow-wrap: break-word;
    }
    .raver-hero-main {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }
    .raver-hero-price-box {
        width: 100%;
        min-width: 0;
        text-align: left;
    }
    .raver-toolbar,
    .raver-toolbar-controls {
        flex-direction: column;
        align-items: stretch;
        flex-wrap: nowrap;
        max-width: 100%;
    }
    .raver-toolbar > *,
    .raver-toolbar-controls > * {
        min-width: 0;
        max-width: 100%;
    }
    .raver-search-input {
        width: 100% !important;
    }
    .raver-filter-buttons {
        overflow-x: auto;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .raver-filter-buttons::-webkit-scrollbar {
        display: none;
    }
    .raver-filter-btn {
        flex: 0 0 auto !important;
        white-space: nowrap !important;
    }
}
.raver-status-change-dropdown-wrapper {
    position: relative;
    display: inline-block;
}
.raver-status-menu {
    animation: raverStatusFadeIn 0.18s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes raverStatusFadeIn {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.raver-status-opt-btn {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 16px !important;
    color: var(--tinta-texto-3) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgb(var(--tinta-sup2-rgb) / 0.4) !important;
    transition: all 0.15s ease !important;
}
.raver-status-opt-btn:last-child {
    border-bottom: none !important;
}
.raver-status-opt-btn:hover {
    background: var(--tinta-borde-fuerte) !important;
    color: var(--tinta-texto-fuerte) !important;
    padding-left: 19px !important;
}
.raver-status-opt-btn.active {
    background: rgb(var(--tinta-acento-rgb) / 0.2) !important;
    color: var(--tinta-texto-fuerte) !important;
    font-weight: 700 !important;
}
.raver-status-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
    box-shadow: 0 0 8px currentColor;
}
.raver-admin-nav {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    background: var(--tinta-hundido);
    border: 1px solid var(--tinta-borde);
    border-radius: 6px;
    padding: 6px;
    margin-bottom: 18px;
}
.raver-admin-nav .raver-nav-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 9px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--tinta-suave);
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease;
}
.raver-admin-nav .raver-nav-item:hover {
    background: var(--tinta-sup);
    color: var(--tinta-texto-2);
}
.raver-admin-nav .raver-nav-active,
.raver-admin-nav .raver-nav-active:hover {
    background: var(--tinta-acento);
    color: var(--tinta-sobre-acento);
}
.raver-admin-nav .raver-nav-badge {
    background: var(--tinta-alerta);
    color: #422006;
    font-size: 11px;
    font-weight: 800;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.raver-admin-nav .raver-nav-active .raver-nav-badge {
    background: #ffffff;
    color: #0041cc;
}
@media (max-width: 560px) {
    .raver-admin-nav .raver-nav-item {
        flex: 1;
        justify-content: center;
        padding: 10px 8px;
        font-size: 12.5px;
    }
}
.raver-proyectos-cliente {
    display: grid;
    gap: 14px;
    margin-bottom: 28px;
}
.raver-proyecto-card {
    background: var(--tinta-campo);
    border: 1px solid var(--tinta-borde);
    border-radius: 6px;
    padding: 20px 22px;
    box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.35);
}
.raver-proyecto-cab {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}
.raver-proyecto-rotulo {
    display: block;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--tinta-apagado);
    margin-bottom: 3px;
}
.raver-proyecto-nombre {
    display: block;
    font-size: 17px;
    font-weight: 700;
    color: var(--tinta-texto-fuerte);
    letter-spacing: 0.3px;
}
.raver-proyecto-fecha {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: var(--tinta-suave);
}
.raver-proyecto-estado {
    flex-shrink: 0;
    padding: 5px 12px;
    border-radius: 6px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    white-space: nowrap;
}
.raver-proyecto-nota {
    margin: 14px 0 0;
    font-size: 14px;
    line-height: 1.55;
    color: var(--tinta-texto-3);
}
.raver-proyecto-cta {
    width: auto !important;
    margin-top: 14px;
}
.raver-proyecto-consulta {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 14px;
    font-size: 13px;
    font-weight: 600;
    color: var(--tinta-ok) !important;
    text-decoration: none !important;
}
.raver-proyecto-consulta:hover {
    text-decoration: underline !important;
}
.raver-proyecto-detalle {
    margin-top: 14px;
}
.raver-proyecto-detalle > summary {
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    color: var(--tinta-acento-claro);
    list-style: none;
}
.raver-proyecto-detalle > summary::-webkit-details-marker {
    display: none;
}
.raver-proyecto-detalle > summary::before {
    content: '▸ ';
    display: inline-block;
    transition: transform 0.2s ease;
}
.raver-proyecto-detalle[open] > summary::before {
    content: '▾ ';
}
.raver-respuestas-bloque {
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid var(--tinta-borde);
}
.raver-respuestas-bloque h4 {
    margin: 0 0 10px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--tinta-acento-claro);
}
.raver-respuesta {
    display: grid;
    grid-template-columns: minmax(140px, 40%) 1fr;
    gap: 12px;
    padding: 7px 0;
    border-bottom: 1px solid rgb(var(--tinta-sup2-rgb) / 0.7);
}
.raver-respuesta:last-child {
    border-bottom: 0;
}
.raver-respuesta-pregunta {
    font-size: 12.5px;
    line-height: 1.45;
    color: var(--tinta-suave);
}
.raver-respuesta-valor {
    font-size: 13.5px;
    line-height: 1.45;
    color: var(--tinta-texto);
    font-weight: 500;
}
@media (max-width: 640px) {
    .raver-respuesta {
        grid-template-columns: 1fr;
        gap: 3px;
    }
}
.entry-content a:not([class]),
.page-content a:not([class]),
.site-main a:not([class]) {
    color: var(--tinta-acento-claro);
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
}
.entry-content a:not([class]):hover,
.page-content a:not([class]):hover,
.site-main a:not([class]):hover {
    color: var(--tinta-acento-claro);
}
.raver-previsualizando {
    max-width: 1160px;
    margin: 22px auto 0;
    padding: 12px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    background: rgb(var(--tinta-alerta-rgb) / 0.1);
    border: 1px solid rgb(var(--tinta-alerta-rgb) / 0.4);
    border-radius: 6px;
    font-size: 13.5px;
    color: var(--tinta-alerta);
}
.raver-previsualizando-texto {
    display: inline-flex;
    align-items: center;
    gap: 9px;
}
.raver-previsualizando-texto strong {
    color: var(--tinta-texto-fuerte);
}
.raver-previsualizando-salir {
    flex-shrink: 0;
    padding: 6px 14px;
    border-radius: 4px;
    background: var(--tinta-sup);
    border: 1px solid var(--tinta-borde-fuerte);
    color: var(--tinta-texto) !important;
    font-size: 12.5px;
    font-weight: 600;
    text-decoration: none !important;
}
.raver-previsualizando-salir:hover {
    border-color: var(--tinta-borde-marcado);
}
.raver-ver-como {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    padding: 7px 12px;
    border-radius: 3px;
    background: var(--tinta-sup);
    border: 1px solid var(--tinta-borde-fuerte);
    color: var(--tinta-texto-3) !important;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none !important;
}
.raver-ver-como:hover {
    border-color: var(--tinta-acento);
    color: var(--tinta-texto-fuerte) !important;
}
.raver-previsualizar-correo {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 24px;
    margin-bottom: 18px;
    padding: 16px 18px;
    border: 1px solid var(--tinta-sup2);
    border-radius: 5px;
    background: var(--tinta-campo);
}
.raver-previsualizar-fila {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.raver-previsualizar-correo input[type="email"],
.raver-previsualizar-correo input[type="text"] {
    flex: 1;
    min-width: 220px;
    padding: 9px 12px;
    border: 1px solid var(--tinta-borde-fuerte);
    border-radius: 3px;
    background: var(--tinta-hundido);
    color: var(--tinta-texto-2);
    font-size: 13px;
}
.raver-previsualizar-correo input[type="email"]:focus,
.raver-previsualizar-correo input[type="text"]:focus {
    outline: none;
    border-color: var(--tinta-acento);
}
.raver-previsualizar-correo .raver-btn-action {
    width: auto;
    flex-shrink: 0;
    padding: 9px 16px;
    font-size: 12px;
}


.raver-login-caja {
    display: flex;
    justify-content: center;
    padding: 48px 20px 80px;
}
.raver-login-panel {
    width: 100%;
    max-width: 420px;
    padding: 34px 32px 28px;
    border: 1px solid var(--tinta-sup2);
    border-radius: 6px;
    background: var(--tinta-campo);
}
.raver-login-titulo {
    margin: 0 0 6px;
    font-family: var(--raver-display);
    font-weight: 700;
    font-size: 28px;
    line-height: 1.2;
    color: var(--tinta-texto);
}
.raver-login-sub {
    margin: 0 0 24px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--tinta-suave);
}
.raver-login-error {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 18px;
    padding: 11px 13px;
    border: 1px solid rgb(var(--tinta-mal-rgb) / 0.45);
    border-radius: 4px;
    background: rgb(var(--tinta-mal-rgb) / 0.08);
    color: #ffa3a3;
    font-size: 12.5px;
    line-height: 1.45;
}
.raver-login-form label {
    display: block;
    margin-bottom: 6px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--tinta-suave);
}
.raver-login-form input[type="text"],
.raver-login-form input[type="password"],
.raver-login-form input[type="email"] {
    width: 100%;
    margin-bottom: 16px;
    padding: 11px 13px;
    border: 1px solid var(--tinta-borde-fuerte);
    border-radius: 4px;
    background: var(--tinta-hundido);
    color: var(--tinta-texto-2);
    font-size: 14px;
}
.raver-login-form input[type="text"]:focus,
.raver-login-form input[type="password"]:focus,
.raver-login-form input[type="email"]:focus {
    outline: none;
    border-color: var(--tinta-acento);
}
.raver-login-fila {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}
.raver-login-recordar {
    display: flex !important;
    align-items: center;
    gap: 7px;
    margin: 0;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    color: var(--tinta-texto-3);
    cursor: pointer;
}
.raver-login-recordar input {
    margin: 0;
    accent-color: var(--tinta-acento);
}
.raver-login-olvide {
    font-size: 12px;
    color: var(--tinta-suave) !important;
    text-decoration: none !important;
}
.raver-login-olvide:hover {
    color: var(--tinta-texto-fuerte) !important;
}
.raver-login-boton {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100% !important;
    max-width: none !important;
    padding: 12px 16px !important;
    border: 0 !important;
    border-radius: 4px;
    background: var(--tinta-acento) !important;
    color: var(--tinta-sobre-acento) !important;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    cursor: pointer;
}
.raver-login-boton:hover {
    background: var(--tinta-acento) !important;
}
.raver-login-separador {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 22px 0 18px;
    color: var(--tinta-suave);
    font-size: 13px;
}
.raver-login-separador::before,
.raver-login-separador::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--tinta-sup2);
}
.raver-login-social .nsl-container {
    margin: 0 !important;
    padding: 0 !important;
}
.raver-login-social .nsl-container-buttons,
.raver-login-social .nsl-container-buttons a,
.raver-login-social .nsl-button {
    width: 100% !important;
    max-width: none !important;
}
.raver-login-pie {
    margin: 22px 0 0;
    text-align: center;
    font-size: 12px;
    color: var(--tinta-suave);
}
.raver-login-pie a {
    color: var(--tinta-texto-3) !important;
}
.raver-login-pie a:hover {
    color: var(--tinta-texto-fuerte) !important;
}
.raver-nav-envoltorio {
    display: flex;
    align-items: center;
    gap: 8px;
}
.raver-nav-acciones,
.raver-nav-velo,
.raver-nav-panel {
    display: none;
}
@media (max-width: 860px) {
    #site-header .header-inner,
    header.site-header .header-inner,
    .raver-topbar-inner {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px;
    }
    .raver-nav-acciones {
        display: flex;
        align-items: center;
        gap: 6px;
    }
    .raver-nav-accion {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        border-radius: 4px;
        border: 1px solid var(--tinta-sup2);
        background: var(--tinta-campo);
        color: var(--tinta-texto-3) !important;
        font-size: 17px;
        text-decoration: none !important;
    }
    .raver-nav-accion:active {
        border-color: var(--tinta-acento);
    }
    .raver-nav-accion .raver-header-avatar {
        width: 24px;
        height: 24px;
        font-size: 11px;
    }
    .raver-nav-hamburguesa {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: stretch !important;
        gap: 4px !important;
        width: 38px !important;
        min-width: 0 !important;
        height: 38px !important;
        padding: 0 9px !important;
        border-radius: 4px !important;
        border: 1px solid var(--tinta-sup2) !important;
        background: var(--tinta-campo) !important;
        box-shadow: none !important;
        cursor: pointer;
    }
    .raver-nav-hamburguesa span {
        display: block !important;
        height: 2px !important;
        width: 100% !important;
        min-width: 20px;
        border-radius: 2px;
        background: var(--tinta-texto-3);
        transition: transform .25s ease, opacity .2s ease;
    }
    .raver-menu-abierto .raver-nav-hamburguesa span:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }
    .raver-menu-abierto .raver-nav-hamburguesa span:nth-child(2) {
        opacity: 0;
    }
    .raver-menu-abierto .raver-nav-hamburguesa span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
    }
    .raver-nav-envoltorio > .raver-global-header-nav {
        display: none;
    }
    .raver-nav-panel {
        display: flex;
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        z-index: 10000;
        width: min(78vw, 300px);
        flex-direction: column;
        align-items: stretch;
        flex-wrap: nowrap;
        gap: 2px;
        padding: 22px 16px;
        background: var(--tinta-hundido);
        border-left: 1px solid var(--tinta-sup2);
        box-shadow: -18px 0 40px rgba(0, 0, 0, .45);
        transform: translateX(100%);
        transition: transform .28s ease;
        overflow-y: auto;
    }
    body.raver-menu-abierto .raver-nav-panel {
        transform: translateX(0);
    }
    .raver-nav-panel .raver-header-nav-btn {
        justify-content: flex-start;
        padding: 13px 12px;
        font-size: 15px;
    }
    .raver-nav-panel .raver-header-nav-btn::after {
        display: none;
    }
    .raver-nav-panel .raver-header-nav-btn.active {
        background: rgb(var(--tinta-acento-rgb) / .12);
        color: var(--tinta-texto-fuerte) !important;
    }
    .raver-header-user-badge {
        margin: 6px 0 10px;
        padding: 10px 12px;
        border-radius: 5px;
    }
    .raver-header-username {
        font-size: 13px;
    }
    .raver-nav-velo {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 9998;
        background: rgba(0, 0, 0, .6);
        backdrop-filter: blur(2px);
        opacity: 0;
        visibility: hidden;
        transition: opacity .28s ease, visibility .28s ease;
    }
    body.raver-menu-abierto .raver-nav-velo {
        opacity: 1;
        visibility: visible;
    }
    body.raver-menu-abierto {
        overflow: hidden;
    }
    body.admin-bar .raver-nav-panel {
        top: 46px;
    }
}
.raver-nav-cerrar {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: flex-end !important;
    width: 38px !important;
    min-width: 0 !important;
    height: 38px !important;
    margin-bottom: 10px !important;
    padding: 0 !important;
    border: 1px solid var(--tinta-sup2) !important;
    border-radius: 4px !important;
    background: var(--tinta-campo) !important;
    box-shadow: none !important;
    color: var(--tinta-texto-3) !important;
    font-size: 17px;
    cursor: pointer;
}
@media (max-width: 700px) {
    .raver-tabla-tarjetas,
    .raver-tabla-tarjetas tbody,
    .raver-tabla-tarjetas tr,
    .raver-tabla-tarjetas td {
        display: block;
        width: 100%;
    }
    .raver-tabla-tarjetas thead {
        display: none;
    }
    .raver-tabla-tarjetas tbody tr {
        padding: 16px;
        border-bottom: 1px solid var(--tinta-borde);
    }
    .raver-tabla-tarjetas tbody tr:last-child {
        border-bottom: 0;
    }
    .raver-tabla-tarjetas td {
        padding: 0;
        border: 0;
    }
    .raver-tabla-tarjetas td[data-etiqueta] {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: wrap;
        gap: 8px;
        min-height: 34px;
        text-align: right;
    }
    .raver-tabla-tarjetas td[data-etiqueta]::before {
        content: attr(data-etiqueta);
        margin-right: auto;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: .5px;
        text-transform: uppercase;
        color: var(--tinta-suave);
        text-align: left;
    }
    .raver-tabla-tarjetas td:first-child {
        display: block;
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid var(--tinta-sup2);
        text-align: left;
    }
    .raver-tabla-tarjetas td:first-child::before {
        display: none;
    }
    .raver-tabla-tarjetas td.raver-col-action {
        display: block;
        margin-top: 14px;
        text-align: left !important;
    }
    .raver-tabla-tarjetas td.raver-col-action .raver-btn-table {
        display: flex;
        width: 100%;
        justify-content: center;
    }
    .raver-domain-name,
    .raver-tabla-tarjetas td {
        overflow-wrap: break-word;
    }
}
.raver-aviso-ingesta {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 18px;
    padding: 14px 16px;
    border: 1px solid rgb(var(--tinta-mal-rgb) / 0.45);
    border-left: 4px solid var(--tinta-mal);
    border-radius: 5px;
    background: rgb(var(--tinta-mal-rgb) / 0.07);
}
.raver-aviso-ingesta > i {
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--tinta-mal);
    font-size: 17px;
}
.raver-aviso-ingesta > div {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.raver-aviso-ingesta strong {
    color: #ffa3a3;
    font-size: 13.5px;
}
.raver-aviso-ingesta span {
    color: var(--tinta-texto-2);
    font-size: 12.5px;
}
.raver-aviso-ingesta small {
    color: var(--tinta-suave);
    font-size: 11.5px;
}
.raver-aviso-ingesta > a {
    flex-shrink: 0;
    align-self: center;
    padding: 7px 14px;
    border: 1px solid rgb(var(--tinta-mal-rgb) / 0.45);
    border-radius: 3px;
    background: var(--tinta-sup);
    color: #ffa3a3 !important;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none !important;
}
.raver-aviso-ingesta > a:hover {
    border-color: var(--tinta-mal);
    color: var(--tinta-texto-fuerte) !important;
}
@media (max-width: 700px) {
    .raver-aviso-ingesta {
        flex-wrap: wrap;
    }
    .raver-aviso-ingesta > a {
        width: 100%;
        text-align: center;
    }
}
.raver-fecha-anterior {
    display: block;
    margin-top: 3px;
    color: var(--tinta-apagado);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0;
}
body.raver-ingreso-app #site-header.site-header,
body.raver-ingreso-app header.site-header,
body.raver-ingreso-app .raver-standalone-topbar,
body.raver-ingreso-app #site-footer.site-footer,
body.raver-ingreso-app footer.site-footer { display: none !important; }
body.raver-ingreso-app .raver-login-caja { min-height: 100vh; align-items: center; padding-top: 24px; padding-bottom: 24px; box-sizing: border-box; }
.raver-login-marca { display: flex; align-items: center; gap: 10px; margin-bottom: 26px; font-family: var(--raver-display); font-weight: 700; font-size: 20px; letter-spacing: .04em; color: var(--tinta-texto); }
.raver-login-marca img { display: block; }
.raver-login-marca img.raver-marca-logo { height: 30px; width: auto; max-width: 200px; }


.raver-cobros-lista {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.raver-cobro {
    padding: 14px 16px;
    border: 1px solid var(--tinta-borde);
    border-radius: 6px;
    background: var(--tinta-hundido);
}
.raver-cobro-cabecera {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}
.raver-cobro-titulo {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.raver-cobro-dominio {
    color: var(--tinta-texto) !important;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    overflow-wrap: break-word;
}
.raver-cobro-dominio:hover {
    color: var(--tinta-acento-claro) !important;
}
.raver-cobro-periodo {
    color: var(--tinta-suave);
    font-size: 12.5px;
}
.raver-cobro-derecha {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}
.raver-cobro-monto {
    color: var(--tinta-acento-claro);
    font-size: 15px;
    font-weight: 600;
    white-space: nowrap;
}
.raver-cobro-monto.raver-cobro-sin-monto {
    color: var(--tinta-alerta);
    font-size: 13px;
    font-weight: 500;
}
.raver-cobro-estado {
    padding: 3px 10px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}
.raver-cobro-datos {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 6px;
    color: var(--tinta-suave);
    font-size: 12px;
}
.raver-cobro-datos strong {
    color: var(--tinta-texto-3);
}
.raver-cobro-concepto {
    margin-top: 12px;
}
.raver-cobro-form {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--tinta-sup2);
}
.raver-cobro-form label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 120px;
}
.raver-cobro-form label span {
    color: var(--tinta-suave);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.raver-cobro-form input,
.raver-cobro-form textarea,
.raver-cobro-form select {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--tinta-borde-fuerte);
    border-radius: 3px;
    background: var(--tinta-campo);
    color: var(--tinta-texto-2);
    font-size: 13px;
}
.raver-cobro-form input:focus,
.raver-cobro-form textarea:focus,
.raver-cobro-form select:focus {
    outline: none;
    border-color: var(--tinta-acento);
}
.raver-cobro-form .raver-btn-action {
    width: auto !important;
    flex: 0 0 auto;
    padding: 9px 18px !important;
    font-size: 12.5px;
}
.raver-cobros-vacio {
    padding: 22px 20px;
    border: 1px dashed var(--tinta-borde);
    border-radius: 5px;
    background: var(--tinta-hundido);
    color: var(--tinta-suave);
    font-size: 13px;
    text-align: center;
}
.raver-cobros-ver-todos {
    display: inline-block;
    margin-top: 12px;
    padding: 9px 16px;
    border: 1px solid var(--tinta-borde-fuerte);
    border-radius: 4px;
    background: var(--tinta-sup);
    color: var(--tinta-texto-3) !important;
    font-size: 12.5px;
    font-weight: 600;
    text-decoration: none !important;
}
.raver-cobros-ver-todos:hover {
    border-color: var(--tinta-acento);
    color: var(--tinta-texto-fuerte) !important;
}
.raver-cobro-aviso {
    margin: 14px 0;
    padding: 11px 14px;
    border: 1px solid #0f6b46;
    border-radius: 4px;
    background: rgb(var(--tinta-ok-rgb) / 0.08);
    color: var(--tinta-ok);
    font-size: 13px;
}
@media (max-width: 700px) {
    .raver-cobro-cabecera {
        flex-direction: column;
    }
    .raver-cobro-derecha {
        width: 100%;
        justify-content: space-between;
    }
    .raver-cobro-form label {
        flex: 1 1 100%;
    }
    .raver-cobro-form .raver-btn-action {
        width: 100% !important;
    }
}
.raver-generar-cobros {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 16px;
    padding: 14px 16px;
    border: 1px solid var(--tinta-sup2);
    border-radius: 5px;
    background: var(--tinta-campo);
}
.raver-generar-cobros div {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}
.raver-generar-cobros strong {
    color: var(--tinta-texto-2);
    font-size: 13.5px;
}
.raver-generar-cobros small {
    color: var(--tinta-suave);
    font-size: 12px;
}
.raver-generar-cobros .raver-btn-action {
    width: auto !important;
    flex-shrink: 0;
    padding: 9px 18px !important;
    font-size: 12.5px;
}
@media (max-width: 700px) {
    .raver-generar-cobros .raver-btn-action {
        width: 100% !important;
    }
}
.raver-cobro-acciones {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 10px;
}
.raver-cobro-accion {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    border: 1px solid var(--tinta-borde-fuerte);
    border-radius: 3px;
    background: var(--tinta-sup);
    color: var(--tinta-texto-3) !important;
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none !important;
    cursor: pointer;
}
.raver-cobro-accion:hover {
    border-color: var(--tinta-acento);
    color: var(--tinta-texto-fuerte) !important;
}
.raver-nuevo-cobro {
    margin-bottom: 14px;
    border: 1px dashed var(--tinta-borde-fuerte);
    border-radius: 5px;
    background: var(--tinta-hundido);
}
.raver-nuevo-cobro summary {
    padding: 11px 16px;
    color: var(--tinta-acento-claro);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
}
.raver-nuevo-cobro summary::-webkit-details-marker {
    display: none;
}
.raver-nuevo-cobro[open] summary {
    border-bottom: 1px solid var(--tinta-sup2);
}
.raver-nuevo-cobro .raver-cobro-form {
    margin: 0;
    padding: 14px 16px 16px;
    border-top: 0;
}
.raver-cobro-form .raver-cobro-campo-ancho {
    flex: 1 1 100%;
}
.raver-cobro-form input[type="date"] {
    color-scheme: var(--tinta-esquema, dark);
}
.raver-cobro-form .raver-cobro-pagar {
    background: rgb(var(--tinta-ok-rgb) / 0.12) !important;
    border: 1px solid #0f6b46 !important;
    color: var(--tinta-ok) !important;
}
.raver-cobro-form .raver-cobro-pagar:hover {
    background: rgb(var(--tinta-ok-rgb) / 0.22) !important;
}
.raver-cobro-form .raver-cobro-eliminar {
    margin-left: auto;
    padding: 9px 11px !important;
    background: transparent !important;
    border: 1px solid rgb(var(--tinta-mal-rgb) / 0.3) !important;
    color: var(--tinta-mal) !important;
}
.raver-cobro-form .raver-cobro-eliminar:hover {
    background: rgb(var(--tinta-mal-rgb) / 0.12) !important;
    border-color: rgb(var(--tinta-mal-rgb) / 0.45) !important;
}
.raver-cobro-aviso.raver-cobro-aviso-error {
    border-color: rgb(var(--tinta-mal-rgb) / 0.45);
    background: rgb(var(--tinta-mal-rgb) / 0.08);
    color: #ffa3a3;
}
@media (max-width: 700px) {
    .raver-cobro-form .raver-cobro-eliminar {
        margin-left: 0;
    }
}
button.raver-cobro-accion {
    border: 1px solid var(--tinta-borde-fuerte) !important;
    background: var(--tinta-sup) !important;
    box-shadow: none !important;
    color: var(--tinta-texto-3) !important;
    padding: 7px 12px !important;
    font-size: 12px !important;
    line-height: normal !important;
}
button.raver-cobro-accion:hover {
    border-color: var(--tinta-acento) !important;
    color: var(--tinta-texto-fuerte) !important;
}
.raver-nuevo-cliente {
    margin: 20px 0 24px 0;
}
.raver-cobro-form .raver-casilla {
    flex-direction: row !important;
    align-items: center;
    gap: 8px !important;
}
.raver-cobro-form .raver-casilla input {
    width: auto;
    accent-color: var(--tinta-acento);
}
.raver-cobro-form .raver-casilla span {
    color: var(--tinta-texto-3);
    font-size: 12.5px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}
.raver-lista-clientes {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 4px 16px 16px;
}
.raver-fila-cliente {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid var(--tinta-sup2);
    border-radius: 4px;
    background: var(--tinta-campo);
}
.raver-fila-cliente div {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.raver-fila-cliente strong {
    color: var(--tinta-texto);
    font-size: 13.5px;
}
.raver-fila-cliente small {
    color: var(--tinta-suave);
    font-size: 12px;
    overflow-wrap: anywhere;
}
.raver-cobro-form input[type="file"] {
    padding: 7px 10px;
    color: var(--tinta-suave);
    font-size: 12px;
    cursor: pointer;
}
.raver-cobro-form input[type="file"]::file-selector-button {
    margin-right: 10px;
    padding: 6px 12px;
    border: 1px solid var(--tinta-borde-fuerte);
    border-radius: 3px;
    background: var(--tinta-sup);
    color: var(--tinta-texto-3);
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}
.raver-cobro-pdf-actual {
    display: flex !important;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
.raver-cobro-pdf-actual a {
    color: var(--tinta-acento-claro) !important;
    font-size: 12.5px;
    font-weight: 600;
    text-decoration: none !important;
    overflow-wrap: anywhere;
}
.raver-cobro-form .raver-cobro-pdf-quitar {
    padding: 3px 10px !important;
    border: 1px solid rgb(var(--tinta-mal-rgb) / 0.3) !important;
    border-radius: 5px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--tinta-mal) !important;
    font-size: 11px !important;
    font-weight: 600;
    cursor: pointer;
}
.raver-prestado-acciones {
    display: flex;
    gap: 6px;
    justify-content: flex-end;
    flex-wrap: wrap;
}
.raver-tabla-prestados .raver-cobro-estado {
    display: inline-block;
}
.raver-cost-text.raver-cobro-sin-monto {
    color: var(--tinta-alerta);
    font-weight: 500;
}
@media (max-width: 700px) {
    .raver-prestado-acciones {
        justify-content: flex-start;
    }
}
@media (min-width: 701px) {
    .raver-tabla-prestados td.raver-col-action {
        min-width: 250px;
    }
    .raver-tabla-prestados .raver-prestado-acciones {
        flex-wrap: nowrap;
    }
}
dialog.raver-modal {
    width: min(760px, calc(100vw - 32px));
    max-height: calc(100vh - 48px);
    margin: auto;
    padding: 0;               
    overflow: auto;
    border: 1px solid var(--tinta-sup2);
    border-radius: 6px;
    background: var(--tinta-campo);
    color: var(--tinta-texto-2);
    box-shadow: 0 30px 80px rgba(0, 0, 0, .6);
}
dialog.raver-modal::backdrop {
    background: rgba(0, 0, 0, .72);
    backdrop-filter: blur(3px);
}
.raver-modal-cabecera {
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px;
    border-bottom: 1px solid var(--tinta-sup2);
    background: var(--tinta-campo);
}
.raver-modal-cabecera h3 {
    margin: 0;
    color: var(--tinta-texto-fuerte);
    font-size: 16px;
    font-weight: 700;
}
dialog.raver-modal .raver-cobro {
    padding: 16px 18px 18px;
    border: 0;
    border-radius: 0;
    background: transparent;
}
.raver-modal-cabecera .raver-modal-cerrar {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    border: 1px solid var(--tinta-borde-fuerte) !important;
    border-radius: 4px !important;
    background: var(--tinta-sup) !important;
    box-shadow: none !important;
    color: var(--tinta-texto-3) !important;
    font-size: 15px;
    cursor: pointer;
}
.raver-modal-cabecera .raver-modal-cerrar:hover {
    border-color: var(--tinta-acento) !important;
    color: var(--tinta-texto-fuerte) !important;
}
body:has(dialog.raver-modal[open]) {
    overflow: hidden;
}
.raver-barra-filtros {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}
.raver-barra-filtros .raver-filter-buttons {
    margin: 0 !important;
}
.raver-filtro-cliente {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}
.raver-filtro-cliente label {
    color: var(--tinta-suave);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.raver-filtro-cliente select {
    min-width: 220px;
    padding: 8px 12px;
    border: 1px solid var(--tinta-borde-fuerte);
    border-radius: 4px;
    background: var(--tinta-campo);
    color: var(--tinta-texto-2);
    font-family: inherit;
    font-size: 13px;
    cursor: pointer;
}
.raver-filtro-cliente select:focus {
    outline: none;
    border-color: var(--tinta-acento);
}
@media (max-width: 700px) {
    .raver-barra-filtros {
        flex-direction: column;
        align-items: stretch;
    }
    .raver-filtro-cliente select {
        flex: 1;
        min-width: 0;
    }
}
.raver-tabla-prestados .raver-domain-name,
.raver-tabla-prestados .raver-domain-plan {
    display: block;
}
.raver-tabla-prestados .raver-domain-plan:empty {
    display: none;
}
.raver-resumen-cobros {
    display: flex;
    gap: 28px;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin-top: 14px;
    padding: 14px 18px;
    border: 1px solid var(--tinta-borde);
    border-radius: 6px;
    background: var(--tinta-campo);
}
.raver-resumen-cobros div {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}
.raver-resumen-cobros span {
    color: var(--tinta-suave);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.raver-resumen-cobros strong {
    color: var(--tinta-texto);
    font-size: 16px;
    font-weight: 600;
    white-space: nowrap;
}
.raver-resumen-cobros .raver-resumen-pendiente { color: var(--tinta-alerta); }
.raver-resumen-cobros .raver-resumen-cobrado   { color: var(--tinta-ok); }
.raver-generar-sutil {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
    margin: 12px 0 0;
}
.raver-generar-sutil button {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    width: auto !important;
    padding: 4px 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--tinta-suave) !important;
    font-family: inherit;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}
.raver-generar-sutil button:hover {
    color: var(--tinta-texto-fuerte) !important;
}
.raver-generar-sutil span {
    color: var(--tinta-apagado);
    font-size: 11.5px;
}
@media (max-width: 700px) {
    .raver-resumen-cobros {
        justify-content: space-between;
        gap: 14px;
    }
    .raver-resumen-cobros div {
        align-items: flex-start;
    }
}
.raver-cost-text,
.raver-cobro-monto,
.raver-price-amount,
.raver-stat-number,
.raver-exp-date,
.raver-days-pill,
.raver-resumen-cobros strong,
.raver-services-table td,
.raver-cobro-periodo {
    font-variant-numeric: tabular-nums;
}
.raver-specs-grid {
    row-gap: 18px !important;
    column-gap: 28px !important;
}
.raver-spec-divider {
    margin-top: 14px !important;
}
.raver-confirmar-borrado {
    flex: 1 1 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 10px;
    padding: 12px 14px;
    border: 1px solid rgb(var(--tinta-mal-rgb) / 0.45);
    border-radius: 5px;
    background: rgb(var(--tinta-mal-rgb) / 0.08);
}
.raver-confirmar-borrado[hidden],
.raver-confirmacion[hidden] {
    display: none !important;
}
.raver-cobro-form.raver-borrando > .raver-cobro-pdf {
    opacity: .35;
    pointer-events: none;
}
.raver-confirmar-borrado strong {
    color: #ffa3a3;
    font-size: 13.5px;
}
.raver-confirmar-borrado > span {
    flex: 1;
    min-width: 180px;
    color: var(--tinta-texto-3);
    font-size: 12.5px;
}
.raver-confirmar-borrado div {
    display: flex;
    gap: 8px;
}
.raver-cobro-form .raver-confirmar-si,
.raver-cobro-form .raver-confirmar-no {
    padding: 8px 16px !important;
    border-radius: 3px !important;
    font-family: inherit;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    cursor: pointer;
}
.raver-cobro-form .raver-confirmar-si {
    border: 1px solid #b91c1c !important;
    background: #b91c1c !important;
    color: #ffffff !important;
}
.raver-cobro-form .raver-confirmar-si:hover {
    background: #991b1b !important;
}
.raver-cobro-form .raver-confirmar-no {
    border: 1px solid var(--tinta-borde-fuerte) !important;
    background: var(--tinta-sup) !important;
    color: var(--tinta-texto-3) !important;
}
.raver-cobro-form.raver-borrando > label,
.raver-cobro-form.raver-borrando > button {
    opacity: .35;
    pointer-events: none;
}
.raver-productos-cliente {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.raver-productos-cliente a {
    padding: 4px 10px;
    border: 1px solid var(--tinta-sup2);
    border-radius: 6px;
    background: var(--tinta-campo);
    color: var(--tinta-texto-3) !important;
    font-size: 12px;
    text-decoration: none !important;
}
.raver-productos-cliente a:hover {
    border-color: var(--tinta-acento);
    color: var(--tinta-texto-fuerte) !important;
}
.raver-sin-productos {
    color: var(--tinta-apagado);
    font-size: 12.5px;
}
.raver-vincular-rapido {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    flex-wrap: wrap;
}
.raver-vincular-rapido select {
    max-width: 210px;
    padding: 7px 10px;
    border: 1px solid var(--tinta-borde-fuerte);
    border-radius: 3px;
    background: var(--tinta-campo);
    color: var(--tinta-texto-2);
    font-family: inherit;
    font-size: 12.5px;
}
.raver-vincular-rapido select:focus {
    outline: none;
    border-color: var(--tinta-acento);
}
.raver-nota-seccion {
    margin: 0 0 12px;
    color: var(--tinta-suave);
    font-size: 12.5px;
}
.raver-tabla-clientes .raver-domain-name,
.raver-tabla-clientes .raver-domain-plan {
    display: block;
}
@media (max-width: 700px) {
    .raver-vincular-rapido select {
        max-width: none;
        flex: 1;
    }
}
.raver-producto-chip {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    border: 1px solid var(--tinta-sup2);
    border-radius: 6px;
    background: var(--tinta-campo);
    overflow: hidden;
}
.raver-productos-cliente .raver-producto-chip a {
    border: 0;
    border-radius: 0;
    background: none;
    padding: 4px 4px 4px 11px;
}
.raver-producto-chip form {
    margin: 0;
    display: flex;
}
.raver-producto-chip button {
    padding: 4px 9px 4px 5px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--tinta-apagado) !important;
    font-size: 11px;
    line-height: 1;
    cursor: pointer;
}
.raver-producto-chip button:hover {
    color: var(--tinta-mal) !important;
}
.raver-titular {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    max-width: 100%;
}
a.raver-titular {
    text-decoration: none !important;
}
button.raver-titular {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: normal !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    cursor: pointer;
}
.raver-titular-icono {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 30px;
    height: 30px;
    border: 1px solid var(--tinta-sup2);
    border-radius: 50%;
    background: var(--tinta-campo);
    color: var(--tinta-apagado);
}
.raver-titular-si .raver-titular-icono {
    border-color: #0f6b46;
    background: rgba(22, 101, 52, 0.18);
    color: var(--tinta-ok);
}
.raver-titular-check {
    position: absolute;
    right: -4px;
    bottom: -4px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 15px;
    height: 15px;
    border: 2px solid var(--tinta-hundido);
    border-radius: 50%;
    background: var(--tinta-ok);
    color: #04140a;
}
.raver-titular-nombre {
    display: none;
    max-width: 150px;
    overflow: hidden;
    color: var(--tinta-texto-3) !important;
    font-size: 12.5px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.raver-titular-no .raver-titular-nombre {
    color: var(--tinta-apagado) !important;
    font-weight: 500;
}
.raver-titular:hover .raver-titular-nombre {
    color: var(--tinta-texto-fuerte) !important;
}
.raver-titular-no:hover .raver-titular-icono {
    border-color: var(--tinta-acento);
    color: var(--tinta-acento-claro);
}
@media (max-width: 700px) {
    .raver-titular-nombre {
        display: inline;
        max-width: none;
    }
}
dialog.raver-modal .raver-form-vincular {
    margin-top: 0;
    padding: 4px 18px 18px;
    border-top: 0;
}
.raver-vincular-producto {
    display: flex;
    flex-direction: column;
    gap: 3px;
    width: 100%;
    margin: 0;
}
.raver-vincular-producto strong {
    color: var(--tinta-texto);
    font-size: 14px;
}
.raver-vincular-alta {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 6px;
    padding-top: 12px;
    border-top: 1px solid var(--tinta-sup2);
}
.raver-vincular-alta .raver-nota-seccion {
    margin: 0;
}
.raver-vincular-alta .raver-casilla {
    flex-basis: 100%;
}
.raver-volver {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 12px;
    color: var(--tinta-suave) !important;
    font-size: 12.5px;
    font-weight: 600;
    text-decoration: none !important;
}
.raver-volver:hover {
    color: var(--tinta-texto-fuerte) !important;
}
.raver-ficha-acciones {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}
.raver-dos-paneles.ws-cb .raver-panel-trabajo { transition: opacity .15s ease; }
.raver-dos-paneles.ws-cb .raver-panel-trabajo.ws-cb-cargando { opacity: .55; pointer-events: none; }
.raver-barra-filtros .raver-filtro-cliente { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; align-items: end; width: 100%; }
.raver-barra-filtros .raver-filtro-par { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.raver-barra-filtros .raver-filtro-par label { margin: 0; }
.raver-barra-filtros .raver-filtro-par select { width: 100%; min-width: 0; }
.raver-barra-filtros .raver-filtro-cliente:not(:has(.raver-filtro-par + .raver-filtro-par)) { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 520px) { .raver-barra-filtros .raver-filtro-cliente { grid-template-columns: minmax(0, 1fr); } }
.raver-barra-filtros select,
.raver-dos-paneles.ws-cb select {
    -webkit-appearance: none; appearance: none;
    padding-right: 36px !important;
    background-color: var(--tinta-campo);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16' fill='none' stroke='%238b93a1' stroke-width='1.6' stroke-linecap='square'%3E%3Cpath d='M3.5 6l4.5 4.5L12.5 6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 12px;
    cursor: pointer;
}
.raver-dos-paneles.ws-cb .raver-panel-trabajo .raver-cobro {
    display: flex; flex-direction: column; gap: 20px;
    padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none;
}
.raver-dos-paneles.ws-cb .raver-cobro-cabecera {
    display: flex; justify-content: space-between; align-items: flex-start; gap: 18px;
    padding-bottom: 18px; border-bottom: 1px solid var(--tinta-borde); margin: 0;
}
.raver-dos-paneles.ws-cb .raver-cobro-titulo { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.raver-dos-paneles.ws-cb .raver-cobro-dominio { font-size: 20px; font-weight: 600; line-height: 1.25; color: var(--tinta-texto); }
.raver-dos-paneles.ws-cb .raver-cobro-periodo {
    font-family: var(--f-ui, inherit) !important; font-size: 13px !important; letter-spacing: 0 !important; text-transform: none; color: var(--tinta-texto-3);
}
.raver-dos-paneles.ws-cb .raver-cobro-derecha { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; text-align: right; }
.raver-dos-paneles.ws-cb .raver-cobro-monto { font-size: 22px; font-weight: 600; line-height: 1.2; }
.raver-dos-paneles.ws-cb .raver-cobro-estado {
    padding: 3px 10px; border-radius: 999px; font-size: 11px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase;
    border: 1px solid color-mix(in srgb, currentColor 35%, transparent);
}
.raver-dos-paneles.ws-cb .raver-cobro-datos { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0; font-size: 13px; color: var(--tinta-texto-3); }
.raver-dos-paneles.ws-cb .raver-cobro-acciones { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.raver-dos-paneles.ws-cb .raver-cobro-concepto { display: flex; align-items: center; gap: 10px; margin: 0; }
.raver-dos-paneles.ws-cb .raver-cobro-concepto .raver-concept-text { flex: 1 1 auto; min-width: 0; padding: 10px 14px; border: 1px solid var(--tinta-borde); border-radius: 6px; font-size: 12.5px; }
.raver-dos-paneles.ws-cb .raver-concept-copy { flex: 0 0 auto; padding: 7px 12px; font-size: 12px; border-radius: 6px; }
.raver-dos-paneles.ws-cb .raver-cobro-form { gap: 16px 14px; margin: 0; padding-top: 4px; }
.raver-dos-paneles.ws-cb .raver-cobro-form label > span:first-child { margin-bottom: 6px; }
.raver-dos-paneles.ws-cb .raver-cobro-form input[type="text"],
.raver-dos-paneles.ws-cb .raver-cobro-form input[type="date"],
.raver-dos-paneles.ws-cb .raver-cobro-form select { height: 38px; border-radius: 6px; padding-top: 0; padding-bottom: 0; }
.raver-dos-paneles.ws-cb .raver-cobro-form input[type="file"] {
    width: 100%; height: auto; padding: 8px 10px; box-sizing: border-box;
    border: 1px dashed var(--tinta-borde-2); border-radius: 6px; background: transparent; font-size: 12.5px; color: var(--tinta-texto-3);
}
.raver-dos-paneles.ws-cb .raver-cobro-form input[type="file"]::file-selector-button {
    margin-right: 12px; padding: 5px 12px; border: 1px solid var(--tinta-borde-2); border-radius: 5px;
    background: var(--tinta-campo); color: var(--tinta-texto-2); font: inherit; font-size: 12px; cursor: pointer;
}
.raver-dos-paneles.ws-cb .raver-cobro-pdf { display: flex; flex-direction: column; gap: 6px; }
.raver-dos-paneles.ws-cb .raver-cobro-pdf-actual { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.raver-dos-paneles.ws-cb .raver-cobro-pdf-quitar { padding: 3px 9px; font-size: 11px; border-radius: 5px; }
.raver-dos-paneles.ws-cb .raver-cobro-facturar { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; padding: 12px 14px; border-radius: 6px; }
.raver-dos-paneles.ws-cb .raver-cobro-form .raver-btn-action { height: 38px; border-radius: 6px; padding-top: 0; padding-bottom: 0; }
.raver-dos-paneles.ws-cb .raver-cobro-eliminar { width: 38px; padding: 0; }
.raver-dos-paneles.ws-cb .raver-cobro-form { border-top: 0 !important; }
.raver-dos-paneles.ws-cb .raver-cobro-datos:not(:has(*)) { display: none; }
.raver-dos-paneles.ws-cb .raver-cobro-estado { padding: 4px 12px !important; line-height: 1.2 !important; }
.raver-dos-paneles.ws-cb .raver-cobro-form input[type="file"] {
    width: 100%; padding: 14px 16px; box-sizing: border-box;
    border: 1px dashed var(--tinta-borde-2); border-radius: 8px; background: transparent;
    transition: border-color .15s, background-color .15s;
}
.raver-dos-paneles.ws-cb .raver-cobro-form input[type="file"]:hover { border-color: var(--tinta-acento-tx); background: color-mix(in srgb, var(--tinta-acento-tx) 6%, transparent); }
.raver-dos-paneles.ws-cb .raver-cobro-facturar {
    border: 0 !important; background: color-mix(in srgb, var(--tinta-texto) 5%, transparent) !important;
}
.raver-dos-paneles.ws-cb .raver-cobro-pdf-actual { flex-wrap: nowrap; }
.raver-dos-paneles.ws-cb .raver-cobro-pdf-actual a { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.raver-dos-paneles.ws-cb .raver-cobro-pdf-actual .raver-cobro-pdf-quitar { flex: 0 0 auto; width: auto; }
.raver-dos-paneles.ws-cb .raver-cobro-pdf-actual { justify-content: flex-start; }
.raver-barra-filtros .raver-filtro-par-ancho { grid-column: 1 / -1; }
.raver-cobros-viejos {
    margin: 0 0 12px; padding: 9px 12px; border-radius: 6px; font-size: 12.5px; line-height: 1.45;
    color: var(--tinta-texto-2); background: color-mix(in srgb, #e0a030 12%, transparent);
    border: 1px solid color-mix(in srgb, #e0a030 35%, transparent);
}
.raver-cobros-viejos a { margin-left: 6px; font-weight: 600; }
.raver-barra-filtros .raver-filtro-cliente { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 8px; }
.raver-barra-filtros .raver-filtro-par-ancho { grid-column: auto; }
.raver-barra-filtros .raver-filtro-par select { padding-left: 10px !important; padding-right: 28px !important; font-size: 12.5px; text-overflow: ellipsis; background-position: right 10px center; }
@media (max-width: 520px) {
    .raver-barra-filtros .raver-filtro-cliente { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: minmax(0, 1fr); }
}
.raver-dos-paneles.ws-cb .raver-cobro-origen {
    display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; margin: 0; padding: 10px 14px;
    border-radius: 6px; background: color-mix(in srgb, var(--tinta-texto) 5%, transparent);
}
.raver-cobro-origen-tipo { font: 600 10.5px/1 var(--f-mono, monospace); letter-spacing: .1em; text-transform: uppercase; color: var(--tinta-texto-3); }
.raver-cobro-origen-nombre { flex: 1 1 auto; min-width: 0; font-size: 14px; font-weight: 600; color: var(--tinta-texto); }
.raver-cobro-origen-ir { margin-left: auto; }
.raver-cobro-origen-ir .lni { font-size: 11px; }


.raver-proyecto-detalle {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 16px 18px 18px;
}
.raver-proyecto-detalle .raver-specs-grid {
    grid-template-columns: repeat(2, 1fr) !important;
}
.raver-proyecto-estado {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0;
    padding-top: 12px;
    border-top: 1px solid var(--tinta-sup2);
}
.raver-proyecto-estado label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 180px;
}
.raver-proyecto-estado label span {
    color: var(--tinta-suave);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.raver-proyecto-estado select {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--tinta-borde-fuerte);
    border-radius: 3px;
    background: var(--tinta-campo);
    color: var(--tinta-texto-2);
    font-family: inherit;
    font-size: 13px;
}
.raver-proyecto-estado select:focus {
    outline: none;
    border-color: var(--tinta-acento);
}
.raver-respuestas-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 10px;
}
.raver-respuesta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 9px 11px;
    border: 1px solid var(--tinta-sup2);
    border-radius: 4px;
    background: var(--tinta-hundido);
}
.raver-respuesta .raver-spec-label {
    display: block;
}
.raver-respuesta div {
    color: var(--tinta-texto-2);
    font-size: 13px;
    overflow-wrap: anywhere;
}
.raver-vincular-proyecto {
    display: inline-flex;
    margin: 0 0 0 8px;
    vertical-align: middle;
}
@media (max-width: 700px) {
    .raver-proyecto-detalle .raver-specs-grid {
        grid-template-columns: 1fr !important;
    }
}
.raver-apertura {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 12.5px;
    font-weight: 600;
}
.raver-apertura::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: currentColor;
    flex: none;
}
.raver-apertura-sin    { color: var(--tinta-apagado); }
.raver-apertura-enlace { color: var(--tinta-alerta); }
.raver-apertura-pdf    { color: var(--tinta-ok); }
.raver-pres-detalle {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 16px 18px 18px;
}
.raver-pres-detalle .raver-cobro-form {
    margin-top: 2px;
}
.raver-pres-detalle .raver-concept-text {
    font-size: 12px;
}
.raver-login-ok {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 18px;
    padding: 11px 13px;
    border: 1px solid #0f6b46;
    border-radius: 4px;
    background: rgb(var(--tinta-ok-rgb) / 0.08);
    color: #8af0c4;
    font-size: 12.5px;
    line-height: 1.45;
}
.raver-login-nota {
    margin: -6px 0 16px;
    color: var(--tinta-apagado);
    font-size: 12px;
    line-height: 1.45;
}
.raver-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin: 26px 0 12px;
}
.raver-pres-envio {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding-top: 12px;
    border-top: 1px solid var(--tinta-sup2);
}
.raver-pres-envio .raver-nota-seccion {
    margin: 0;
}
.raver-publico-portal {
    margin-top: 26px;
    padding: 22px 24px;
    border: 1px solid var(--tinta-borde);
    border-radius: 6px;
    background: var(--tinta-campo);
}
.raver-publico-portal h3 {
    margin: 0 0 4px;
    color: var(--tinta-texto-fuerte);
    font-size: 16px;
    font-weight: 700;
}
.raver-publico-portal > p {
    margin: 0 0 18px;
    color: var(--tinta-suave);
    font-size: 13px;
}
.raver-publico-portal small {
    display: block;
    margin-top: 10px;
    color: var(--tinta-apagado);
    font-size: 12px;
}
.raver-publico-secciones {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 18px;
}
.raver-publico-seccion {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 14px 15px;
    border: 1px solid var(--tinta-sup2);
    border-radius: 5px;
    background: var(--tinta-hundido);
}
.raver-publico-seccion i {
    color: var(--tinta-acento-claro);
    font-size: 17px;
}
.raver-publico-seccion strong {
    color: var(--tinta-texto);
    font-size: 13.5px;
    font-weight: 700;
}
.raver-publico-seccion span {
    color: var(--tinta-suave);
    font-size: 12.5px;
    line-height: 1.5;
}
@media (max-width: 760px) {
    .raver-publico-secciones {
        grid-template-columns: 1fr;
    }
}
.raver-publico-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    margin-bottom: 24px;
    padding: 20px 24px;
    border-radius: 6px;
    background: var(--tinta-acento) !important;
    color: var(--tinta-sobre-acento) !important;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none !important;
    box-shadow: 0 10px 30px -12px rgb(var(--tinta-acento-rgb) / .9);
}
.raver-publico-cta:hover {
    background: var(--tinta-acento) !important;
    color: var(--tinta-sobre-acento) !important;
}
.raver-publico-cta i {
    font-size: 18px;
}
.raver-publico-nota {
    margin: -14px 0 24px;
    color: var(--tinta-apagado);
    font-size: 12.5px;
    text-align: center;
}
.raver-publico-pie {
    margin: 28px 0 0;
    padding-top: 18px;
    border-top: 1px solid var(--tinta-sup2);
    color: var(--tinta-apagado);
    font-size: 12.5px;
    line-height: 1.9;
    text-align: center;
}
.raver-publico-pie a {
    color: var(--tinta-texto-3) !important;
    text-decoration: none !important;
}
.raver-publico-pie a:hover {
    color: var(--tinta-texto-fuerte) !important;
}
.raver-publico-total {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--tinta-texto-fuerte) !important;
}
.raver-publico-cuerpo {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 20px;
    align-items: start;
}
.raver-publico-cuerpo.raver-publico-solo {
    grid-template-columns: 1fr;
}
.raver-publico-der {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.raver-publico-hoja {
    display: block;
    overflow: hidden;
    border: 1px solid var(--tinta-borde);
    border-radius: 6px;
    background: #ffffff;
    line-height: 0;
    box-shadow: 0 18px 40px -22px rgba(0, 0, 0, .95);
}
.raver-publico-hoja:hover {
    border-color: var(--tinta-acento);
}
.raver-publico-hoja img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 460px;
    object-fit: cover;
    object-position: top center;
}
.raver-publico-der .raver-publico-cta {
    margin-bottom: 0;
    padding: 17px 20px;
    font-size: 15px;
}
.raver-publico-der .raver-publico-nota {
    margin: 0;
}
.raver-publico-pendiente {
    margin: 16px 0 0;
    color: var(--tinta-suave);
    font-size: 13px;
}
@media (max-width: 860px) {
    .raver-publico-cuerpo {
        grid-template-columns: 1fr;
    }
    .raver-publico-der {
        order: -1;
    }
    .raver-publico-hoja img {
        max-height: 380px;
    }
}
.raver-respuesta-cliente {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--tinta-sup2);
}
.raver-respuesta-cliente h4 {
    margin: 0 0 4px;
    color: var(--tinta-texto-fuerte);
    font-size: 15px;
    font-weight: 700;
}
.raver-respuesta-cliente .raver-publico-pendiente {
    margin: 0 0 14px;
}
.raver-respuesta-form textarea {
    width: 100%;
    padding: 11px 13px;
    border: 1px solid var(--tinta-borde-fuerte);
    border-radius: 4px;
    background: var(--tinta-hundido);
    color: var(--tinta-texto-2);
    font-family: inherit;
    font-size: 13.5px;
    line-height: 1.5;
    resize: vertical;
}
.raver-respuesta-form textarea:focus {
    outline: none;
    border-color: var(--tinta-acento);
}
.raver-respuesta-botones {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 12px;
}
.raver-respuesta-cliente button.raver-respuesta-aprobar {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    padding: 12px 20px !important;
    border: 0 !important;
    border-radius: 4px !important;
    background: #1fb57a !important;
    color: var(--tinta-texto-fuerte) !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: normal !important;
    box-shadow: none !important;
    cursor: pointer;
}
.raver-respuesta-cliente button.raver-respuesta-aprobar:hover {
    background: #16925f !important;
}
.raver-respuesta-hecha {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: var(--tinta-ok);
    font-size: 14px;
    font-weight: 600;
}
.raver-respuesta-hilo {
    margin-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.raver-respuesta-dicho {
    padding: 11px 13px;
    border-left: 2px solid var(--tinta-sup2);
    background: var(--tinta-hundido);
    border-radius: 0 8px 8px 0;
}
.raver-respuesta-dicho span {
    display: block;
    margin-bottom: 4px;
    color: var(--tinta-apagado);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.raver-respuesta-dicho p {
    margin: 0;
    color: var(--tinta-texto-3);
    font-size: 13.5px;
    line-height: 1.55;
    white-space: pre-wrap;
}
.raver-modal-login-cuerpo {
    padding: 4px 18px 20px;
}
.raver-modal-login-cuerpo .raver-login-sub {
    margin-top: 0;
}
.raver-modal-login-cuerpo .raver-login-pie {
    margin-bottom: 0;
}
.raver-respuesta-retomar {
    margin-top: 12px;
    margin-bottom: 0;
}
.raver-respuesta-candado {
    display: flex;
    align-items: center;
    gap: 13px;
    flex-wrap: wrap;
    margin-top: 14px;
    padding: 14px 16px;
    border: 1px solid var(--tinta-borde-fuerte);
    border-radius: 5px;
    background: var(--tinta-hundido);
}
.raver-respuesta-candado > i {
    color: var(--tinta-alerta);
    font-size: 18px;
}
.raver-respuesta-candado > div {
    flex: 1;
    min-width: 200px;
}
.raver-respuesta-candado strong {
    display: block;
    color: var(--tinta-texto);
    font-size: 13.5px;
    font-weight: 700;
}
.raver-respuesta-candado span {
    display: block;
    margin-top: 2px;
    color: var(--tinta-suave);
    font-size: 12.5px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.raver-respuesta-botones button[disabled] {
    opacity: .4;
    cursor: not-allowed;
    filter: grayscale(.5);
}
.raver-respuesta-botones button[disabled]:hover {
    background: #1fb57a !important;
}
.raver-login-cual {
    margin: 0 0 14px;
    padding: 9px 12px;
    border-radius: 4px;
    background: var(--tinta-hundido);
    color: var(--tinta-texto-3);
    font-size: 12.5px;
    overflow-wrap: anywhere;
}
.raver-login-olvide-pres {
    margin: 12px 0 0;
    text-align: center;
    font-size: 12.5px;
}
.raver-login-olvide-pres a {
    color: var(--tinta-acento-claro) !important;
    text-decoration: none !important;
}
.raver-login-olvide-pres a:hover {
    color: var(--tinta-texto-fuerte) !important;
}
.raver-panel-modal[hidden] {
    display: none;
}
.raver-login-olvide-pres button.raver-ir-recuperar {
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
    color: var(--tinta-acento-claro) !important;
    font-family: inherit !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    line-height: normal !important;
    text-decoration: underline !important;
    cursor: pointer;
}
.raver-login-olvide-pres button.raver-ir-recuperar:hover {
    color: var(--tinta-texto-fuerte) !important;
}
.raver-panel-modal button.raver-volver-login {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    margin-bottom: 12px;
    padding: 6px 12px 6px 9px !important;
    border: 1px solid var(--tinta-borde-fuerte) !important;
    border-radius: 4px !important;
    background: var(--tinta-sup) !important;
    box-shadow: none !important;
    color: var(--tinta-texto-3) !important;
    font-family: inherit !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    line-height: normal !important;
    cursor: pointer;
}
.raver-panel-modal button.raver-volver-login:hover {
    border-color: var(--tinta-acento) !important;
    color: var(--tinta-texto-fuerte) !important;
}
.raver-panel-modal button.raver-volver-login i {
    font-style: normal;
    font-size: 14px;
}
.raver-recuperar-aviso {
    margin-top: 14px;
}
dialog.raver-modal.raver-modal-login {
    width: min(430px, calc(100vw - 32px));
}
footer.site-footer,
#site-footer.site-footer {
    display: none !important;
}
.raver-portal-container {
    padding-bottom: 24px;
}
.raver-admin-header-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 5px;
    background: rgb(var(--tinta-acento-rgb) / 0.15);
    color: var(--tinta-acento-claro);
    line-height: 1;
}
.raver-admin-header-icon svg,
.raver-admin-header-icon .lni {
    display: block;
    width: 18px;
    height: 18px;
    font-size: 18px;
}
.raver-scheduled-head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 10px;
}
.raver-scheduled-orden {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: var(--tinta-suave);
}
.raver-scheduled-head .raver-badge {
    font-size: 11px;
    max-width: 100%;
    white-space: normal;
}
.raver-scheduled-item .lni {
    vertical-align: -2px;
}


:root {
    --tinta-fondo:   #05060a;
    --tinta-hundido: #07080b;
    --tinta-campo:   #0a0c10;
    --tinta-sup:     #0d0f14;
    --tinta-sup2:    #131620;
    --tinta-borde:         #1a1e27;
    --tinta-borde-fuerte:  #262b36;
    --tinta-borde-marcado: #3a404d;
    --tinta-texto-fuerte: #ffffff;
    --tinta-texto:   #eef1f6;
    --tinta-texto-2: #dde1e8;
    --tinta-texto-3: #b4bac6;
    --tinta-suave:   #8990a0;
    --tinta-apagado: #6e7585;
    --tinta-acento:       #0052ff;
    --tinta-acento-hover: #1f66ff;
    --tinta-acento-claro: #7ea8ff;
    --tinta-sobre-acento: #ffffff;
    --tinta-ok:     #3ddc97;
    --tinta-alerta: #ffb020;
    --tinta-mal:    #ff5c5c;
    --tinta-acento-rgb:       0 82 255;
    --tinta-acento-claro-rgb: 126 168 255;
    --tinta-ok-rgb:           61 220 151;
    --tinta-alerta-rgb:       255 176 32;
    --tinta-mal-rgb:          255 92 92;
    --tinta-vela-rgb:         255 255 255;
    --tinta-rejilla-rgb:      150 175 255;
    --tinta-sup-rgb:          13 15 20;
    --tinta-sup2-rgb:         19 22 32;
    --tinta-apagado-rgb:      110 117 133;
    --tinta-fondo-rgb:        5 6 10;
    --tinta-esquema: dark;
    --tinta-logo-inv: 1;   
}
::selection {
    background: rgb(var(--tinta-acento-rgb) / 0.45);
    color: var(--tinta-texto-fuerte);
}
.raver-badge,
.raver-badge-active,
.raver-badge-warning,
.raver-badge-expired,
.raver-badge-disabled,
.raver-badge-scheduled {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--tinta-texto) !important;
    font-family: var(--raver-mono);
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: 0.06em;
}
.raver-badge::before {
    content: "";
    flex: 0 0 6px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--tinta-apagado);
}
.raver-badge-active::before    { background: var(--tinta-ok); }
.raver-badge-warning::before   { background: var(--tinta-alerta); }
.raver-badge-expired::before   { background: var(--tinta-mal); }
.raver-badge-scheduled::before { background: var(--tinta-acento); }
.raver-badge-disabled          { color: var(--tinta-suave) !important; }
.raver-days-pill {
    padding: 0 !important;
    background: transparent !important;
    font-family: var(--raver-mono);
    font-weight: 500;
    margin-top: 3px;
}
.raver-cobro-estado {
    background: transparent !important;
    padding: 0 !important;
    font-family: var(--raver-mono);
    font-weight: 500;
    font-size: 11px;
}
.raver-cost-text,
.raver-cobro-monto,
.raver-price-amount,
.raver-stat-number,
.raver-cobro-periodo,
.raver-spec-label,
.raver-price-label,
.raver-services-table thead th,
.raver-logs-table th,
.raver-scheduled-orden,
.raver-proyecto-rotulo,
.raver-resumen-cobros span {
    font-family: var(--raver-mono) !important;
    font-weight: 500 !important;
    letter-spacing: 0.06em;
}
.raver-cost-text,
.raver-cobro-monto,
.raver-price-amount {
    color: var(--tinta-texto) !important;
    letter-spacing: 0;
}
.raver-admin-header-icon {
    background: transparent !important;
    border: 1px solid var(--tinta-borde);
    border-radius: 4px;
    color: var(--tinta-suave) !important;
}
.raver-btn-primary,
.raver-btn-action:not(.raver-btn-secondary) {
    box-shadow: none !important;
}
.raver-table-responsive {
    box-shadow: none !important;
}
.raver-services-table,
.raver-services-table th,
.raver-services-table td {
    border: 0 !important;
}
.raver-services-table {
    margin: 0 !important;
    background: transparent !important;
}
.raver-services-table thead th {
    border-bottom: 1px solid var(--tinta-borde) !important;
}
.raver-services-table tbody tr {
    border-bottom: 1px solid var(--tinta-borde);
}
.raver-services-table tbody tr:last-child {
    border-bottom: 0;
}
.raver-services-table tbody tr,
.raver-services-table tbody tr:nth-child(odd),
.raver-services-table tbody tr:nth-child(even) {
    background-color: transparent;
}
.raver-services-table tbody tr:hover {
    background-color: rgb(var(--tinta-rejilla-rgb) / 0.03);
}
.raver-services-table tbody tr > td {
    background-color: transparent !important;
}


html.raver-doc-abierto,
html.raver-doc-abierto body { overflow: hidden !important; }
.raver-doc-pantalla {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    flex-direction: column;
    background: var(--tinta-fondo);
    color: var(--tinta-texto);
    font-family: var(--raver-fuente);
}
.raver-doc-top {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 18px;
    height: 52px;
    padding: 0 16px;
    border-bottom: 1px solid var(--tinta-borde);
    background: var(--tinta-sup);
}
.raver-doc-top-marca {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--tinta-texto) !important;
    font-family: var(--raver-display);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .04em;
    text-decoration: none !important;
}
.raver-doc-top-marca .raver-doc-top-lobo { width: 26px !important; height: 26px !important; }
.raver-doc-top-que {
    display: flex;
    align-items: baseline;
    gap: 10px;
    min-width: 0;
    flex: 1 1 auto;
    padding-left: 18px;
    border-left: 1px solid var(--tinta-borde);
    white-space: nowrap;
    overflow: hidden;
}
.raver-doc-top-rotulo {
    color: var(--tinta-suave);
    font-family: var(--raver-mono);
    font-size: 10.5px;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.raver-doc-top-que strong { font-size: 14px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; }
.raver-doc-top-meta { color: var(--tinta-suave); font-size: 12px; overflow: hidden; text-overflow: ellipsis; }
.raver-doc-top-acciones { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.raver-doc-top-acciones .raver-doc-salir:hover { border-color: var(--tinta-mal); }
.raver-doc {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-columns: clamp(440px, 38vw, 660px) minmax(0, 1fr);
    margin: 0;
}
.raver-doc-lateral {
    container-type: inline-size;
    display: flex;
    flex-direction: column;
    min-height: 0;
    border-right: 1px solid var(--tinta-borde);
    background: var(--tinta-fondo);
}
.raver-doc-lateral-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 14px;
    scrollbar-color: var(--tinta-borde-fuerte) transparent;
}
.raver-doc-lateral-scroll .raver-cobro-aviso { margin: 0 0 12px; }
.raver-doc-bloque {
    margin-bottom: 14px;
    padding: 16px;
    border: 1px solid var(--tinta-borde);
    border-radius: 5px;
    background: var(--tinta-sup);
}
.raver-doc-bloque h3 {
    margin: 0 0 12px;
    color: var(--tinta-suave);
    font-family: var(--raver-mono);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.raver-doc input[type="text"],
.raver-doc input[type="date"],
.raver-doc select,
.raver-doc textarea {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--tinta-borde-fuerte);
    border-radius: 3px;
    background: var(--tinta-campo);
    color: var(--tinta-texto-2);
    font-family: inherit;
    font-size: 13px;
    line-height: 1.45;
    box-sizing: border-box;
}
.raver-doc textarea { resize: vertical; min-height: 64px; overflow: hidden; }
.raver-doc input:focus,
.raver-doc select:focus,
.raver-doc textarea:focus { outline: none; border-color: var(--tinta-acento); }
.raver-doc input[type="date"] { color-scheme: var(--tinta-esquema, dark); font-family: var(--raver-mono); font-size: 12px; }
.raver-doc-grilla {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    align-items: end;
}
.raver-doc-grilla-precios { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); margin-top: 12px; }
.raver-doc-campo { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.raver-doc-campo.ancho { grid-column: 1 / -1; }
.raver-doc-campo > span {
    color: var(--tinta-suave);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.raver-doc-check {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-bottom: 9px;
    color: var(--tinta-texto-3);
    font-size: 13px;
    cursor: pointer;
}
.raver-doc-check input { accent-color: var(--tinta-acento); width: 15px; height: 15px; margin: 0; }
.raver-doc-hoja-cabeza {
    display: flex;
    align-items: center;
    gap: 6px;
}
.raver-doc-hoja-cabeza { margin-bottom: 12px; }
.raver-doc-hoja-numero {
    flex: 0 0 auto;
    color: var(--tinta-acento-claro);
    font-family: var(--raver-mono);
    font-size: 11px;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.raver-doc .raver-doc-titulo-hoja { font-weight: 600; letter-spacing: .02em; }
.raver-doc-columnas {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
}
.raver-doc-columna { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.raver-doc-columna-nombre {
    color: var(--tinta-apagado);
    font-family: var(--raver-mono);
    font-size: 10.5px;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.raver-doc-seccion {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 8px;
    border: 1px solid var(--tinta-borde-fuerte);
    border-radius: 4px;
    background: var(--tinta-hundido);
}
.raver-doc .raver-doc-titulo-seccion {
    padding: 6px 8px;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.raver-doc-seccion textarea { font-size: 12.5px; }
.raver-doc-seccion-pie { display: flex; justify-content: flex-end; gap: 4px; }
.raver-doc-seccion-pie .raver-doc-btn { min-width: 24px; height: 22px; padding: 0 6px; font-size: 11px; color: var(--tinta-suave); }
.raver-doc-btn {
    flex: 0 0 auto;
    min-width: 28px;
    height: 28px;
    padding: 0 8px;
    border: 1px solid var(--tinta-borde-fuerte);
    border-radius: 3px;
    background: var(--tinta-sup);
    color: var(--tinta-texto-3);
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
}
.raver-doc-btn:hover { border-color: var(--tinta-acento); color: var(--tinta-texto-fuerte); }
.raver-doc-btn-quitar:hover { border-color: var(--tinta-mal); color: var(--tinta-mal); }
.raver-doc-btn-agregar { align-self: flex-start; height: 30px; padding: 0 12px; }
.raver-doc-plantilla-nueva { display: flex; gap: 8px; margin: -4px 0 12px; }
.raver-doc-plantilla-nueva[hidden] { display: none; }
.raver-doc-agregar-hojas {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0 0 14px;
    padding: 12px 16px;
    border: 1px dashed var(--tinta-borde-fuerte);
    border-radius: 5px;
}
.raver-doc-agregar-hojas select { width: auto; flex: 1 1 180px; }
.raver-doc-o { color: var(--tinta-apagado); font-size: 12px; }
.raver-doc-precio {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr) minmax(0, 1.6fr) auto auto;
    gap: 6px;
    margin-bottom: 6px;
}
.raver-doc .raver-doc-monto { font-family: var(--raver-mono); font-size: 12.5px; text-align: right; }
.raver-doc-nota { margin: 8px 0 0; color: var(--tinta-suave); font-size: 12px; }
.raver-doc-previa {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    background: var(--tinta-borde-fuerte);
}
.raver-doc-previa-cabecera {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 16px;
    border-bottom: 1px solid var(--tinta-borde);
    background: var(--tinta-sup);
}
.raver-doc-previa-estado {
    color: var(--tinta-suave);
    font-family: var(--raver-mono);
    font-size: 11px;
    text-align: right;
}
.raver-doc-previa-estado.raver-doc-mal { color: var(--tinta-mal); }
#raver-doc-iframe {
    display: block;
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
    min-height: 0;
    border: 0;
    background: var(--tinta-borde-fuerte);
}
.raver-doc-barra {
    flex: 0 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 10px;
    padding: 10px 14px;
    border-top: 1px solid var(--tinta-borde);
    background: var(--tinta-sup);
}
.raver-doc-barra-estado { flex: 1 0 100%; min-height: 0; color: var(--tinta-alerta); font-family: var(--raver-mono); font-size: 11px; }
.raver-doc-barra-estado:empty { display: none; }
.raver-doc-barra-asistentes,
.raver-doc-barra-guardar { display: flex; gap: 8px; align-items: center; }
.raver-doc-barra-guardar { margin-left: auto; }
.raver-doc-barra .raver-btn-action { width: auto !important; padding: 9px 16px !important; font-size: 12.5px; }
@container (max-width: 600px) {
    .raver-doc-columnas { grid-template-columns: minmax(0, 1fr); }
}
@container (max-width: 480px) {
    .raver-doc-grilla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .raver-doc-grilla-precios { grid-template-columns: minmax(0, 1fr); }
    .raver-doc-precio { grid-template-columns: minmax(0, 1fr) auto auto; }
    .raver-doc-precio .raver-doc-monto,
    .raver-doc-precio input:nth-child(3) { grid-column: 1 / -1; grid-row: auto; }
}
@media (max-width: 900px) {
    .raver-doc-top { height: auto; flex-wrap: wrap; gap: 8px 12px; padding: 10px 14px; }
    .raver-doc-top-que { flex-basis: 100%; order: 3; padding-left: 0; border-left: 0; }
    .raver-doc-top-acciones { margin-left: auto; }
    .raver-doc-top-acciones .raver-cobro-accion:not(.raver-doc-salir) { display: none; }
    .raver-doc { display: block; overflow-y: auto; }
    .raver-doc-lateral { border-right: 0; }
    .raver-doc-lateral-scroll { overflow: visible; }
    .raver-doc-previa { height: 80vh; }
}
.raver-doc .raver-doc-btn,
.raver-doc .raver-doc-btn:focus {
    padding: 0 8px !important;
    border: 1px solid var(--tinta-borde-fuerte) !important;
    border-radius: 3px !important;
    background: var(--tinta-sup) !important;
    color: var(--tinta-texto-3) !important;
    font-size: 12px !important;
    line-height: 1 !important;
    box-shadow: none !important;
}
.raver-doc .raver-doc-btn:hover {
    border-color: var(--tinta-acento) !important;
    background: var(--tinta-sup) !important;
    color: var(--tinta-texto-fuerte) !important;
}
.raver-doc .raver-doc-btn-quitar:hover {
    border-color: var(--tinta-mal) !important;
    color: var(--tinta-mal) !important;
}
.raver-doc .raver-doc-btn-agregar { padding: 0 12px !important; }
.raver-doc .raver-doc-seccion-pie .raver-doc-btn {
    min-width: 24px;
    height: 22px;
    padding: 0 6px !important;
    font-size: 11px !important;
    color: var(--tinta-suave) !important;
}
.raver-doc .raver-doc-seccion-pie .raver-doc-btn:hover { color: var(--tinta-texto-fuerte) !important; }


.raver-hitos {
    list-style: none;
    margin: 18px 0 0;
    padding: 0 0 0 22px;
    border-left: 1px solid var(--tinta-borde);
}
.raver-hito {
    position: relative;
    padding: 0 0 22px 0;
}
.raver-hito:last-child {
    padding-bottom: 0;
}
.raver-hito::before {
    content: "";
    position: absolute;
    left: -27px;
    top: 4px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--tinta-acento);
    box-shadow: 0 0 0 4px var(--tinta-sup);
}
.raver-hito-alojamiento::before { background: var(--tinta-acento-claro); }
.raver-hito-contenidos::before  { background: var(--tinta-alerta); }
.raver-hito-diseno::before      { background: #b07bff; }
.raver-hito-desarrollo::before  { background: var(--tinta-acento); }
.raver-hito-revision::before    { background: #ffc85c; }
.raver-hito-publicacion::before { background: var(--tinta-ok); }
.raver-hito-nota::before        { background: var(--tinta-apagado); }
.raver-hito-interno::before {
    background: transparent;
    border: 1px solid var(--tinta-apagado);
}
.raver-hito-interno .raver-hito-titulo {
    color: var(--tinta-suave);
}
.raver-hito-cabeza {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    font-family: var(--raver-mono);
    font-size: 10.5px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--tinta-suave);
}
.raver-hito-marca {
    color: var(--tinta-apagado);
    border: 1px solid var(--tinta-borde);
    border-radius: 3px;
    padding: 1px 6px;
}
.raver-hito-titulo {
    margin: 6px 0 0;
    font-size: 15px;
    font-weight: 700;
    color: var(--tinta-texto);
}
.raver-hito-texto {
    color: var(--tinta-texto-3);
    font-size: 13.5px;
    line-height: 1.6;
}
.raver-hito-texto p {
    margin: 8px 0 0;
}
.raver-hito-acciones {
    margin-top: 10px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.raver-hitos .raver-hito-texto:last-child {
    margin-bottom: 0;
}
.raver-cal-barra {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 14px;
}
.raver-cal-meses {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.raver-cal-mes {
    font-family: var(--raver-mono);
    font-size: 13px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--tinta-texto);
    padding: 0 6px;
}
.raver-cal-capas {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.raver-cal-capa {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 10px;
    border: 1px solid var(--tinta-borde);
    border-radius: 3px;
    font-size: 11.5px;
    color: var(--tinta-apagado) !important;
    text-decoration: none !important;
    opacity: 0.55;
}
.raver-cal-capa-on {
    color: var(--tinta-texto) !important;
    opacity: 1;
}
.raver-cal-punto {
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
}
.raver-cal-grilla {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 1px;
    background: var(--tinta-borde);
    border: 1px solid var(--tinta-borde);
    border-radius: 6px;
    overflow: hidden;
}
.raver-cal-encabezado {
    background: var(--tinta-hundido);
    padding: 9px 10px;
    font-family: var(--raver-mono);
    font-size: 10.5px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--tinta-suave);
}
.raver-cal-dia {
    background: var(--tinta-sup);
    min-height: 108px;
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.raver-cal-fuera {
    background: var(--tinta-campo);
}
.raver-cal-fuera .raver-cal-numero {
    opacity: 0.4;
}
.raver-cal-hoy {
    box-shadow: inset 0 2px 0 0 var(--tinta-acento);
}
.raver-cal-numero {
    font-family: var(--raver-mono);
    font-size: 11px;
    color: var(--tinta-suave);
}
.raver-cal-solo-movil {
    display: none;
}
.raver-cal-evento,
.raver-cal-check {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    padding: 3px 4px;
    border: 0;
    border-radius: 3px;
    background: transparent;
    color: var(--tinta-texto) !important;
    font-size: 11.5px;
    line-height: 1.35;
    text-align: left;
    text-decoration: none !important;
    cursor: pointer;
}
.raver-cal-evento:hover,
.raver-cal-check:hover {
    background: rgb(var(--tinta-rejilla-rgb) / 0.06);
}
.raver-cal-texto {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.raver-cal-apagado .raver-cal-texto,
.raver-cal-apagado.raver-cal-evento .raver-cal-texto {
    color: var(--tinta-apagado);
    text-decoration: line-through;
}
.raver-cal-tarea {
    margin: 0;
    display: block;
}
.raver-cal-atrasadas {
    list-style: none;
    margin: 0;
    padding: 0;
}
.raver-cal-linea {
    display: flex !important;
    align-items: center;
    gap: 10px;
    padding: 9px 0;
    border-bottom: 1px solid var(--tinta-borde);
}
.raver-cal-fecha {
    font-family: var(--raver-mono);
    font-size: 11px;
    color: var(--tinta-alerta);
    min-width: 54px;
}
.raver-cal-titulo {
    flex: 1;
    color: var(--tinta-texto);
    font-size: 13.5px;
}
@media (max-width: 760px) {
    .raver-cal-grilla {
        grid-template-columns: 1fr;
    }
    .raver-cal-encabezado,
    .raver-cal-vacio {
        display: none;
    }
    .raver-cal-dia {
        min-height: 0;
    }
    .raver-cal-solo-movil {
        display: inline;
        text-transform: uppercase;
        letter-spacing: 0.06em;
    }
    .raver-cal-solo-mes {
        display: none;
    }
}
.raver-cal-dia .raver-cal-check {
    background: transparent !important;
    border: 0 !important;
    border-radius: 3px !important;
    box-shadow: none !important;
    padding: 3px 4px !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    color: var(--tinta-texto) !important;
    font-family: var(--raver-fuente) !important;
    font-size: 11.5px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    line-height: 1.35 !important;
    overflow: hidden;
}
.raver-cal-dia .raver-cal-check:hover {
    background: rgb(var(--tinta-rejilla-rgb) / 0.06) !important;
}
.raver-cal-apagado .raver-cal-check {
    color: var(--tinta-apagado) !important;
}
.raver-cal-dia .raver-cal-check {
    display: flex !important;
    align-items: center;
    gap: 6px;
    justify-content: flex-start !important;
    text-align: left !important;
}
.raver-cal-dia .raver-cal-check .raver-cal-punto {
    display: block !important;
    flex: 0 0 7px !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
}


.raver-nav-caja {
    display: contents;
}
.raver-nav-lista {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.raver-nav-usuario {
    display: none;
}
@media (min-width: 1040px) {
    .raver-portal-container {
        position: relative;
        max-width: 1340px;
        padding-left: 278px;
    }
    .raver-portal-container > .raver-admin-nav {
        position: absolute;
        left: 16px;
        top: 0;
        bottom: 0;
        width: 246px;
        margin: 0;
        padding: 0;
        background: transparent;
        border: 0;
        display: block;
    }
    .raver-admin-nav .raver-nav-caja {
        display: flex;
        flex-direction: column;
        position: sticky;
        top: 24px;
        height: calc(100vh - 150px);
        max-height: 100%;
        min-height: 0;
        background: var(--tinta-hundido);
        border: 1px solid var(--tinta-borde);
        border-radius: 6px;
        padding: 12px;
    }
    .raver-admin-nav .raver-nav-lista {
        flex-direction: column;
        flex-wrap: nowrap;
        gap: 2px;
        overflow-y: auto;
    }
    .raver-admin-nav .raver-nav-item {
        padding: 10px 12px;
        border-radius: 4px;
        font-weight: 500;
    }
    .raver-admin-nav .raver-nav-nombre {
        flex: 1;
    }
    .raver-admin-nav .raver-nav-icono {
        display: inline-flex;
        width: 18px;
        justify-content: center;
        opacity: 0.85;
    }
    .raver-nav-usuario {
        display: flex;
        align-items: center;
        gap: 9px;
        margin-top: auto;
        padding-top: 12px;
        border-top: 1px solid var(--tinta-borde);
    }
    .raver-nav-avatar {
        flex: 0 0 28px;
        width: 28px;
        height: 28px;
        border-radius: 50%;
        background: var(--tinta-acento);
        color: var(--tinta-sobre-acento);
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    .raver-nav-quien {
        display: flex;
        flex-direction: column;
        min-width: 0;
        line-height: 1.25;
    }
    .raver-nav-quien strong {
        font-size: 12.5px;
        color: var(--tinta-texto);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .raver-nav-quien small {
        font-size: 11px;
        color: var(--tinta-apagado);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .raver-nav-salir {
        margin-left: auto;
        color: var(--tinta-apagado) !important;
        text-decoration: none !important;
        padding: 4px;
        border-radius: 3px;
    }
    .raver-nav-salir:hover {
        color: var(--tinta-texto) !important;
        background: rgb(var(--tinta-rejilla-rgb) / 0.06);
    }
}
@media (min-width: 1240px) {
    .raver-portal-container {
        width: min(1420px, calc(100vw - 40px));
        max-width: none;
        margin-left: calc((100% - min(1420px, 100vw - 40px)) / 2);
        margin-right: calc((100% - min(1420px, 100vw - 40px)) / 2);
    }
}
@media (min-width: 1040px) {
    body.raver-panel-app #site-header.site-header,
    body.raver-panel-app header.site-header,
    body.raver-panel-app .raver-standalone-topbar {
        display: none !important;
    }
    body.raver-panel-app .raver-portal-container {
        position: static;
        width: calc(100vw - 282px);
        max-width: none;
        margin-left: calc(264px - ((100vw - 100%) / 2));
        margin-right: 0;
        padding: 26px 22px 40px 18px;
    }
    body.raver-panel-app .raver-portal-container > .raver-admin-nav {
        position: fixed;
        left: 0;
        top: 0;
        bottom: 0;
        width: 264px;
        z-index: 9998;
        background: var(--tinta-hundido);
        border-right: 1px solid var(--tinta-borde);
        padding: 0;
    }
    body.raver-panel-app.admin-bar .raver-portal-container > .raver-admin-nav {
        top: 32px;
    }
    body.raver-panel-app .raver-admin-nav .raver-nav-caja {
        position: static;
        height: 100%;
        max-height: none;
        border: 0;
        border-radius: 0;
        padding: 16px 14px;
        background: transparent;
    }
    body.raver-panel-app .raver-nav-marca {
        display: flex;
        align-items: center;
        gap: 9px;
        margin: 2px 4px 16px;
        color: var(--tinta-texto) !important;
        font-family: var(--raver-display);
        font-size: 16px;
        font-weight: 700;
        letter-spacing: 0.05em;
        text-decoration: none !important;
    }
    body.raver-panel-app .raver-nav-lobo {
        width: 26px !important;
        height: 26px !important;
    }
}
.raver-nav-marca {
    display: none;
}
.raver-app-top {
    display: none;
}
.raver-nav-seccion {
    display: none;
}
@media (min-width: 1040px) {
    body.raver-panel-app .raver-app-top {
        display: flex;
        align-items: center;
        gap: 18px;
        position: fixed;
        top: 0;
        left: 264px;
        right: 0;
        height: 52px;
        z-index: 9997;
        padding: 0 20px;
        background: var(--tinta-sup);
        border-bottom: 1px solid var(--tinta-borde);
    }
    body.raver-panel-app.admin-bar .raver-app-top {
        top: 32px;
    }
    body.raver-panel-app .raver-portal-container:has(.raver-app-top) {
        padding-top: 78px;
    }
    .raver-app-top-que {
        display: flex;
        align-items: baseline;
        gap: 12px;
        min-width: 0;
        flex: 1 1 auto;
        white-space: nowrap;
        overflow: hidden;
    }
    .raver-app-top-que strong {
        color: var(--tinta-texto);
        font-size: 14.5px;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .raver-app-top-rotulo {
        color: var(--tinta-suave);
        font-family: var(--raver-mono);
        font-size: 10.5px;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }
    .raver-app-top-meta {
        color: var(--tinta-apagado);
        font-size: 12px;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .raver-app-top-acciones {
        display: flex;
        gap: 8px;
        flex: 0 0 auto;
    }
    body.raver-panel-app .raver-nav-seccion {
        display: flex;
        flex-direction: column;
        min-height: 0;
        flex: 1 1 auto;
    }
    body.raver-panel-app .raver-nav-lista-guardada {
        display: none;
    }
    .raver-nav-volver-secciones {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        align-self: flex-start;
        margin: 0 0 10px;
        padding: 4px 6px !important;
        background: transparent !important;
        border: 0 !important;
        color: var(--tinta-suave) !important;
        font-size: 11.5px !important;
        font-weight: 500 !important;
        cursor: pointer;
    }
    .raver-nav-volver-secciones:hover {
        color: var(--tinta-texto) !important;
    }
    .raver-nav-seccion-titulo {
        font-family: var(--raver-mono);
        font-size: 10.5px;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--tinta-suave);
        padding: 0 6px 8px;
    }
    .raver-nav-todos {
        font-size: 11.5px;
        color: var(--tinta-acento-claro) !important;
        text-decoration: none !important;
        padding: 0 6px 10px;
    }
    .raver-nav-items {
        display: flex;
        flex-direction: column;
        gap: 2px;
        overflow-y: auto;
        min-height: 0;
    }
    .raver-nav-elem {
        display: flex;
        align-items: flex-start;
        gap: 8px;
        padding: 9px 10px;
        border-radius: 4px;
        color: var(--tinta-texto) !important;
        text-decoration: none !important;
    }
    .raver-nav-elem:hover {
        background: var(--tinta-sup);
    }
    .raver-nav-elem-activo,
    .raver-nav-elem-activo:hover {
        background: var(--tinta-acento);
    }
    .raver-nav-elem .raver-nav-punto {
        flex: 0 0 7px;
        width: 7px;
        height: 7px;
        border-radius: 50%;
        margin-top: 6px;
    }
    .raver-nav-elem-activo .raver-nav-punto {
        background: #ffffff !important;
    }
    .raver-nav-elem-texto {
        display: flex;
        flex-direction: column;
        min-width: 0;
        line-height: 1.3;
    }
    .raver-nav-elem-texto strong {
        font-size: 12.5px;
        font-weight: 600;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .raver-nav-elem-texto small {
        font-size: 11px;
        color: var(--tinta-apagado);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .raver-nav-elem-activo .raver-nav-elem-texto small {
        color: rgb(var(--tinta-vela-rgb) / 0.75);
    }
    .raver-nav-vacio {
        color: var(--tinta-apagado);
        font-size: 12px;
        padding: 6px;
        margin: 0;
    }
    .raver-pres-trabajo .raver-pres-detalle {
        max-width: 960px;
    }
}
@media (min-width: 1040px) {
    body.raver-panel-app .raver-nav-seccion.raver-nav-oculto {
        display: none;
    }
    .raver-nav-volver-al-reves svg {
        transform: rotate(180deg);
    }
}
@media (min-width: 1040px) {
    .raver-nav-nuevo {
        display: block;
        margin: 0 0 8px;
        padding: 8px 10px;
        border: 1px dashed var(--tinta-borde);
        border-radius: 4px;
        color: var(--tinta-acento-claro) !important;
        font-size: 12px;
        text-align: center;
        text-decoration: none !important;
    }
    .raver-nav-nuevo:hover {
        border-color: var(--tinta-acento);
        color: var(--tinta-texto) !important;
    }
}
@media (min-width: 1040px) {
    body.raver-panel-app .raver-app-top {
        left: 0;
        z-index: 9999;
        padding-left: 16px;
    }
    .raver-app-top-marca {
        display: flex;
        align-items: center;
        gap: 8px;
        flex: 0 0 auto;
        width: 248px;
        color: var(--tinta-texto) !important;
        font-family: var(--raver-display);
        font-size: 15px;
        font-weight: 700;
        letter-spacing: 0.05em;
        text-decoration: none !important;
    }
    .raver-app-top-que {
        padding-left: 18px;
        border-left: 1px solid var(--tinta-borde);
    }
    body.raver-panel-app .raver-portal-container > .raver-admin-nav {
        top: 52px;
    }
    body.raver-panel-app.admin-bar .raver-portal-container > .raver-admin-nav {
        top: 84px;
    }
    body.raver-panel-app .raver-admin-nav .raver-nav-caja {
        padding-top: 14px;
    }
    body.raver-panel-app .raver-portal-container {
        padding-top: 78px;
    }
}
@media (min-width: 1040px) {
    body.raver-panel-app .raver-previsualizando {
        margin: 70px 24px 0 288px;
    }
    body.raver-panel-app .raver-previsualizando + .raver-portal-container {
        padding-top: 18px;
    }
}
@media (min-width: 1040px) {
    body.raver-panel-app .raver-admin-nav .raver-nav-lista {
        flex: 0 0 auto;
        overflow: visible;
    }
    body.raver-panel-app .raver-nav-seccion {
        display: flex;
        flex-direction: column;
        min-height: 0;
        flex: 1 1 auto;
        margin-top: 14px;
        padding-top: 12px;
        border-top: 1px solid var(--tinta-borde);
    }
    .raver-nav-todos {
        padding: 8px 6px 0;
    }
}
.raver-dos-paneles {
    display: grid;
    gap: 20px;
}
.raver-panel-lista-cabeza {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}
.raver-panel-nuevo {
    display: block;
    margin-bottom: 10px;
    padding: 10px;
    border: 1px dashed var(--tinta-borde);
    border-radius: 4px;
    color: var(--tinta-acento-claro) !important;
    font-size: 12.5px;
    text-align: center;
    text-decoration: none !important;
}
.raver-panel-nuevo:hover {
    border-color: var(--tinta-acento);
    color: var(--tinta-texto) !important;
}
.raver-panel-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid var(--tinta-borde);
    border-radius: 4px;
    margin-bottom: 8px;
    background: var(--tinta-sup);
    color: var(--tinta-texto) !important;
    text-decoration: none !important;
}
.raver-panel-item:hover {
    border-color: var(--tinta-borde-fuerte);
    background: var(--tinta-campo);
}
.raver-panel-item-activo,
.raver-panel-item-activo:hover {
    border-color: var(--tinta-acento);
    background: rgb(var(--tinta-acento-rgb) / 0.10);
}
.raver-panel-item-punto {
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
}
.raver-panel-item-abrir .raver-panel-item-punto,
.raver-panel-item > .raver-panel-item-punto {
    margin-top: 6px;
}
.raver-panel-item-texto {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1 1 auto;
}
.raver-panel-item-texto strong {
    font-size: 13.5px;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.raver-panel-item-texto small,
.raver-panel-item-apertura {
    font-size: 11.5px;
    color: var(--tinta-apagado);
}
.raver-panel-item-lado {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    flex: 0 0 auto;
    text-align: right;
}
.raver-panel-item-monto {
    font-family: var(--raver-mono);
    font-size: 12px;
    color: var(--tinta-texto);
}
.raver-panel-item-estado {
    font-family: var(--raver-mono);
    font-size: 10.5px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.raver-panel-vacio {
    border: 1px dashed var(--tinta-borde);
    border-radius: 6px;
    padding: 40px 24px;
    text-align: center;
    color: var(--tinta-apagado);
    font-size: 13px;
}
.raver-panel-vacio p {
    margin: 0;
}
@media (min-width: 1100px) {
    .raver-dos-paneles {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        align-items: start;
    }
    body.raver-panel-app .raver-panel-lista,
    body.raver-panel-app .raver-panel-trabajo {
        max-height: calc(100vh - 110px);
        overflow-y: auto;
        padding-right: 4px;
    }
    body.raver-panel-app .raver-panel-trabajo {
        position: sticky;
        top: 0;
    }
}
.raver-panel-item {
    flex-direction: column;
    gap: 0;
    padding: 0;
}
.raver-panel-item-abrir {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px 10px;
    color: var(--tinta-texto) !important;
    text-decoration: none !important;
}
.raver-panel-item-acciones {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 12px;
    padding: 0 14px 10px 31px;
}
.raver-panel-atajo {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    color: var(--tinta-apagado) !important;
    font-family: var(--raver-fuente) !important;
    font-size: 11.5px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    cursor: pointer;
}
.raver-panel-atajo:hover {
    color: var(--tinta-acento-claro) !important;
}
.raver-panel-atajo-form {
    display: inline;
    margin: 0;
}
@media (min-width: 1040px) {
    body.raver-panel-app .raver-portal-container > .raver-admin-nav {
        background: rgb(var(--tinta-fondo-rgb) / 0.62);
        backdrop-filter: blur(18px) saturate(140%);
        -webkit-backdrop-filter: blur(18px) saturate(140%);
        border-right-color: rgb(var(--tinta-rejilla-rgb) / 0.10);
    }
    body.raver-panel-app .raver-app-top {
        background: rgb(var(--tinta-fondo-rgb) / 0.62);
        backdrop-filter: blur(18px) saturate(140%);
        -webkit-backdrop-filter: blur(18px) saturate(140%);
        border-bottom-color: rgb(var(--tinta-rejilla-rgb) / 0.10);
    }
    body.raver-panel-app .raver-panel-item {
        background: rgb(var(--tinta-sup-rgb) / 0.72);
        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
    }
}
.raver-panel-item-lado {
    margin-left: auto;
    padding-left: 14px;
}
.raver-panel-item {
    align-items: stretch;
}
@media (min-width: 1100px) {
    .raver-dos-paneles {
        grid-template-columns: minmax(0, 40fr) minmax(0, 60fr);
    }
}
.raver-panel-item-texto small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
@media (min-width: 1040px) {
    body.raver-panel-app .raver-portal-container > .raver-admin-nav {
        border-radius: 0;
        border: 0;
        border-right: 1px solid rgb(var(--tinta-rejilla-rgb) / 0.10);
        background: rgb(var(--tinta-fondo-rgb) / 0.26);
        backdrop-filter: blur(4px) saturate(125%);
        -webkit-backdrop-filter: blur(4px) saturate(125%);
    }
    body.raver-panel-app .raver-admin-nav .raver-nav-caja {
        border-radius: 0;
    }
}
@media (min-width: 1100px) {
    body.raver-panel-app .raver-panel-trabajo,
    body.raver-panel-app .raver-panel-lista {
        position: static;
        max-height: none;
        overflow: visible;
        padding-right: 0;
    }
}
.raver-panel-lista,
.raver-nav-items,
.raver-admin-nav .raver-nav-lista {
    scrollbar-width: thin;
    scrollbar-color: var(--tinta-borde-fuerte) transparent;
}
.raver-panel-lista::-webkit-scrollbar,
.raver-nav-items::-webkit-scrollbar,
.raver-admin-nav .raver-nav-lista::-webkit-scrollbar {
    width: 8px;
}
.raver-panel-lista::-webkit-scrollbar-track,
.raver-nav-items::-webkit-scrollbar-track,
.raver-admin-nav .raver-nav-lista::-webkit-scrollbar-track {
    background: transparent;
}
.raver-panel-lista::-webkit-scrollbar-thumb,
.raver-nav-items::-webkit-scrollbar-thumb,
.raver-admin-nav .raver-nav-lista::-webkit-scrollbar-thumb {
    background: var(--tinta-borde-fuerte);
    border-radius: 99px;
}
.raver-panel-lista::-webkit-scrollbar-thumb:hover,
.raver-nav-items::-webkit-scrollbar-thumb:hover {
    background: var(--tinta-borde-marcado);
}
@media (min-width: 1040px) {
    body.raver-panel-app .raver-portal-container {
        margin-top: 0;
        padding-top: 66px;
    }
    body.raver-panel-app .raver-barra-filtros {
        margin-top: 0;
    }
}
@media (min-width: 1040px) {
    body.raver-panel-app .raver-panel-lista > :first-child,
    body.raver-panel-app .raver-panel-trabajo > :first-child {
        margin-top: 0 !important;
    }
}


.raver-fe-input[readonly] {
    opacity: 0.55;
    cursor: not-allowed;
    background: var(--tinta-hundido) !important;
}
.raver-ficha-items {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 8px;
}
.raver-ficha-item {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 11px 13px;
    border: 1px solid var(--tinta-borde);
    border-radius: 4px;
    background: var(--tinta-sup);
    color: var(--tinta-texto) !important;
    text-decoration: none !important;
}
.raver-ficha-item:hover {
    border-color: var(--tinta-acento);
}
.raver-ficha-item strong {
    font-size: 13px;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.raver-ficha-item small {
    font-size: 11.5px;
    color: var(--tinta-apagado);
}
.raver-buscador-ficha {
    width: 100%;
    margin-bottom: 6px;
    padding: 7px 10px;
    border: 1px solid var(--tinta-borde);
    border-radius: 3px;
    background: var(--tinta-hundido);
    color: var(--tinta-texto);
    font-size: 12.5px;
}
.raver-buscador-ficha:focus {
    outline: none;
    border-color: var(--tinta-acento);
}
.raver-ficha-notificar {
    margin-top: 6px;
    padding: 16px;
    border: 1px solid var(--tinta-borde);
    border-radius: 6px;
    background: var(--tinta-hundido);
}
.raver-ficha-notificar h4 {
    margin: 0;
    font-size: 14px;
    color: var(--tinta-texto);
}
.raver-ficha-notificar > p {
    margin: 2px 0 12px;
    font-size: 11.5px;
    color: var(--tinta-suave);
}
.raver-ficha-notificar-opcion {
    display: flex !important;
    align-items: center;
    gap: 9px;
    padding: 6px 0;
    font-size: 12.5px;
    color: var(--tinta-suave);
    cursor: pointer;
}
.raver-ficha-notificar-opcion input {
    width: auto !important;
    accent-color: var(--tinta-acento);
}
.raver-ficha-notificar-opcion strong {
    color: var(--tinta-texto);
    font-weight: 600;
    margin-right: 4px;
}
.raver-ficha-notificar small {
    display: block;
    margin-top: 6px;
    font-size: 11px;
    color: var(--tinta-apagado);
}
.raver-cobro-facturar {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px 12px;
    padding: 10px 12px;
    border: 1px dashed var(--tinta-borde);
    border-radius: 4px;
    font-size: 12.5px;
    color: var(--tinta-suave);
}
.raver-cobro-facturar strong {
    color: var(--tinta-texto);
}
.raver-cobro-facturar small {
    margin-left: 6px;
    color: var(--tinta-apagado);
}
.raver-mis-datos {
    margin-bottom: 20px;
}
.raver-mis-datos-respaldo {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--tinta-borde);
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 13px;
    color: var(--tinta-suave);
}
.raver-mis-datos-respaldo strong {
    color: var(--tinta-texto);
}
.raver-mis-datos-nota {
    margin: 14px 0 0;
    font-size: 12.5px;
    color: var(--tinta-suave);
}
.raver-mis-datos-aprobada { color: var(--tinta-ok); }
.raver-mis-datos-rechazada { color: var(--tinta-alerta); }
.raver-solicitud-pendiente {
    margin-bottom: 20px;
    border-color: rgb(var(--tinta-alerta-rgb) / 0.45) !important;
}
.raver-solicitud-cambios {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 12px;
    font-size: 13px;
}
.raver-solicitud-cambios th,
.raver-solicitud-cambios td {
    padding: 8px 10px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--tinta-borde) !important;
    text-align: left;
    background: transparent !important;
}
.raver-solicitud-cambios th {
    width: 190px;
    font-family: var(--raver-mono);
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--tinta-suave);
}
.raver-solicitud-antes {
    color: var(--tinta-apagado);
    text-decoration: line-through;
}
.raver-solicitud-nuevo {
    color: var(--tinta-texto);
    font-weight: 600;
}
.raver-solicitud-nota {
    margin: 0 0 12px;
    padding: 10px 12px;
    border-left: 2px solid var(--tinta-alerta);
    background: rgb(var(--tinta-alerta-rgb) / 0.06);
    font-size: 13px;
    color: var(--tinta-texto);
}
.raver-contacto-celda {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}
.raver-contacto-nombre {
    font-size: 14px;
    font-weight: 700;
    color: var(--tinta-texto) !important;
    text-decoration: none !important;
}
.raver-contacto-nombre:hover {
    color: var(--tinta-acento-claro) !important;
}
.raver-contacto-titular {
    font-size: 12.5px;
    color: var(--tinta-texto-3);
}
.raver-contacto-correo {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 10px;
    font-size: 12px;
    color: var(--tinta-apagado);
}
.raver-contacto-respaldo {
    font-family: var(--raver-mono);
    font-size: 10.5px;
    letter-spacing: 0.04em;
    color: var(--tinta-suave);
    padding: 1px 6px;
    border: 1px solid var(--tinta-borde);
    border-radius: 3px;
}


.raver-form-seccion {
    display: block;
    width: 100%;
    margin-top: 6px;
}
.raver-form-titulo {
    display: flex;
    align-items: baseline;
    gap: 10px;
    width: 100%;
    margin: 18px 0 10px !important;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--tinta-borde);
    font-family: var(--raver-mono);
    font-size: 10.5px !important;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--tinta-suave);
}
.raver-form-titulo small {
    font-family: var(--raver-fuente);
    font-size: 11.5px;
    letter-spacing: 0;
    text-transform: none;
    color: var(--tinta-apagado);
}
.raver-form-grilla {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px 14px;
    align-items: end;
}
@media (max-width: 900px) {
    .raver-form-grilla {
        grid-template-columns: minmax(0, 1fr);
    }
}
.raver-form-ancho {
    grid-column: 1 / -1;
}
.raver-cobro-form .raver-form-seccion label,
.raver-cobro-form .raver-form-grilla label {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
    flex: none;
}
.raver-cobro-form .raver-form-grilla label > span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.raver-ficha-controles {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
}
.raver-ficha-controles .raver-buscador-ficha {
    flex: 1 1 40%;
    margin: 0;
}
.raver-ficha-controles select {
    flex: 1 1 60%;
    min-width: 0;
}
.raver-ficha-crear {
    flex: 0 0 auto;
    white-space: nowrap;
}
@media (max-width: 700px) {
    .raver-ficha-controles {
        flex-wrap: wrap;
    }
}
@media (min-width: 901px) {
    .raver-form-grilla-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
.raver-item-cabeza,
.raver-item-fila {
    display: grid;
    grid-template-columns: 110px minmax(0, 2fr) 120px minmax(0, 1.4fr) 120px 132px 30px 30px;
    gap: 8px;
    align-items: center;
}
.raver-item-cabeza {
    padding: 0 0 6px;
    font-family: var(--raver-mono);
    font-size: 10px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--tinta-apagado);
}
.raver-item-lista {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.raver-cobro-form .raver-item-fila input,
.raver-cobro-form .raver-item-fila select {
    width: 100%;
    min-width: 0;
    padding: 7px 9px;
    font-size: 12.5px;
}
.raver-item-fila .raver-item-fecha[hidden] {
    display: block !important;
    visibility: hidden;
}
.raver-item-quitar {
    width: 28px;
    height: 28px;
    padding: 0 !important;
    border: 1px solid var(--tinta-borde) !important;
    border-radius: 3px !important;
    background: transparent !important;
    color: var(--tinta-apagado) !important;
    font-size: 16px !important;
    line-height: 1 !important;
    cursor: pointer;
}
.raver-item-quitar:hover {
    color: var(--tinta-mal) !important;
    border-color: rgb(var(--tinta-mal-rgb) / 0.4) !important;
}
.raver-item-fila {
    padding-left: 8px;
    border-left: 2px solid var(--tinta-alerta);
}
.raver-item-fila.raver-item-pagado {
    border-left-color: var(--tinta-ok);
}
.raver-item-fila.raver-item-anulado {
    border-left-color: var(--tinta-apagado);
    opacity: 0.6;
}
.raver-item-agregar {
    margin-top: 10px;
}
.raver-item-ayuda {
    display: block;
    margin-top: 6px;
    font-size: 11px;
    color: var(--tinta-apagado);
}
@media (max-width: 1250px) {
    .raver-item-cabeza {
        display: none;
    }
    .raver-item-fila {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        padding: 10px 0 10px 10px;
        border-bottom: 1px solid var(--tinta-borde);
    }
    .raver-item-fila input[name$="[nombre]"],
    .raver-item-fila input[name$="[modo_pago]"] {
        grid-column: 1 / -1;
    }
}
.raver-pagos-lista {
    display: flex;
    flex-direction: column;
}
.raver-pagos-fila {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 150px 130px;
    gap: 12px;
    align-items: center;
    padding: 10px 0 10px 10px;
    border-bottom: 1px solid var(--tinta-borde);
    border-left: 2px solid var(--tinta-alerta);
}
.raver-pagos-fila:last-child {
    border-bottom: 0;
}
.raver-pagos-fila.raver-item-pagado { border-left-color: var(--tinta-ok); }
.raver-pagos-fila.raver-item-anulado { border-left-color: var(--tinta-apagado); opacity: 0.6; }
.raver-pagos-nombre {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.raver-pagos-nombre strong {
    font-size: 13.5px;
    color: var(--tinta-texto);
}
.raver-pagos-nombre small,
.raver-pagos-estado small {
    font-size: 11.5px;
    color: var(--tinta-apagado);
}
.raver-pagos-monto {
    font-family: var(--raver-mono);
    font-size: 12.5px;
    color: var(--tinta-texto);
    text-align: right;
}
.raver-pagos-estado {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-family: var(--raver-mono);
    font-size: 11px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--tinta-suave);
}
.raver-form-dato {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}
.raver-form-dato > span {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--tinta-suave);
}
.raver-form-dato > strong {
    display: flex;
    align-items: center;
    min-height: 36px;
    padding: 0 10px;
    border: 1px dashed var(--tinta-borde);
    border-radius: 3px;
    font-family: var(--raver-mono);
    font-size: 13px;
    font-weight: 500;
    color: var(--tinta-texto);
}
.raver-pagos-estado .raver-panel-atajo {
    font-family: var(--raver-fuente) !important;
    text-transform: none !important;
}
.raver-cobro-form .raver-item-fila input[name$="[costo]"],
.raver-item-a-la-derecha {
    text-align: right;
}
.raver-item-icono {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0 !important;
    border: 1px solid var(--tinta-borde) !important;
    border-radius: 3px !important;
    background: transparent !important;
    color: var(--tinta-suave) !important;
    cursor: pointer;
    text-decoration: none !important;
    transition: color .15s, border-color .15s, background .15s;
}
.raver-item-icono:hover {
    color: var(--tinta-acento-claro) !important;
    border-color: rgb(var(--tinta-acento-rgb) / 0.5) !important;
    background: rgb(var(--tinta-acento-rgb) / 0.08) !important;
}
.raver-item-boleta-lista {
    color: var(--tinta-ok) !important;
    border-color: rgb(var(--tinta-ok-rgb) / 0.35) !important;
}
.raver-item-boleta-lista:hover {
    color: var(--tinta-ok) !important;
    border-color: var(--tinta-ok) !important;
    background: rgb(var(--tinta-ok-rgb) / 0.08) !important;
}
.raver-item-icono-vacio,
.raver-item-icono-vacio:hover {
    opacity: 0.3;
    cursor: not-allowed;
    color: var(--tinta-apagado) !important;
    border-color: var(--tinta-borde) !important;
    background: transparent !important;
}
.raver-item-quitar:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}
.raver-item-estado-cobro {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    padding: 0 9px;
    border: 1px dashed var(--tinta-borde);
    border-radius: 3px;
    font-size: 12.5px;
    color: var(--tinta-texto) !important;
    text-decoration: none !important;
}
.raver-item-estado-cobro .lni {
    font-size: 10px;
    color: var(--tinta-apagado);
}
.raver-item-estado-cobro:hover {
    border-color: var(--tinta-acento);
}
.raver-item-pagado .raver-item-estado-cobro {
    color: var(--tinta-ok) !important;
}
.raver-item-fecha-fija {
    font-family: var(--raver-mono);
    font-size: 11.5px;
    color: var(--tinta-suave);
}
.raver-item-totales {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--tinta-borde);
}
.raver-item-total {
    display: grid;
    grid-template-columns: 110px minmax(0, 2fr) 120px minmax(0, 1.4fr) 120px 132px 30px 30px;
    gap: 8px;
    align-items: center;
    padding-left: 10px;
    min-height: 26px;
}
.raver-item-total .raver-item-agregar {
    grid-column: 1 / 2;
    grid-row: 1;
    justify-self: start;
    margin: 0;
    white-space: nowrap;
}
.raver-item-total > span {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    font-family: var(--raver-mono);
    font-size: 10px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--tinta-apagado);
}
.raver-item-total > strong {
    grid-column: 3;
    grid-row: 1;
    padding-right: 9px;
    text-align: right;
    font-family: var(--raver-mono);
    font-size: 12.5px;
    font-weight: 500;
    color: var(--tinta-suave);
    white-space: nowrap;
}
.raver-item-total-suma > strong {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--tinta-texto);
}
.raver-item-total-pagado > strong { color: var(--tinta-ok); }
.raver-item-total-falta > strong  { color: var(--tinta-alerta); }
@media (max-width: 1250px) {
    .raver-item-fila .raver-item-icono,
    .raver-item-fila .raver-item-quitar {
        justify-self: end;
    }
    .raver-item-total {
        grid-template-columns: minmax(0, 1fr) auto auto;
    }
    .raver-item-total > span { grid-column: 2; }
    .raver-item-total > strong { grid-column: 3; }
}
.raver-item-total-falta.raver-item-total-cero > strong { color: var(--tinta-apagado); }
.raver-pdf-origen {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--raver-mono);
    font-size: 10.5px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--tinta-apagado);
}
.raver-pdf-origen::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--tinta-apagado);
}
.raver-pdf-generado { color: var(--tinta-acento-claro); }
.raver-pdf-generado::before { background: var(--tinta-acento); }
.raver-pdf-aviso {
    display: block;
    margin-top: 6px;
    font-size: 11.5px;
    color: var(--tinta-alerta);
}
.raver-panel-item .raver-validez-ok { color: var(--tinta-suave) !important; }
.raver-validez-cerca   { color: var(--tinta-alerta) !important; }
.raver-validez-vencido { color: var(--tinta-mal) !important; }
.raver-validez-nota {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: var(--tinta-suave);
}
.raver-doc-abrir {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px;
    margin-bottom: 14px;
    border: 1px solid rgb(var(--tinta-acento-rgb) / 0.35);
    border-radius: 3px;
    background: rgb(var(--tinta-acento-rgb) / 0.06);
}
.raver-doc-abrir > div {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}
.raver-doc-abrir strong {
    font-size: 13.5px;
    color: var(--tinta-texto);
}
.raver-doc-abrir small {
    font-size: 12px;
    color: var(--tinta-suave);
}
.raver-doc-abrir-boton {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    padding: 9px 16px;
    border-radius: 3px;
    background: var(--tinta-acento);
    color: var(--tinta-sobre-acento) !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    transition: background .15s;
}
.raver-doc-abrir-boton:hover {
    background: var(--tinta-acento-hover);
}
@media (max-width: 700px) {
    .raver-doc-abrir {
        flex-direction: column;
        align-items: stretch;
    }
    .raver-doc-abrir-boton {
        justify-content: center;
    }
}
.raver-publico-descripcion {
    max-width: 720px;
    margin: 14px 0 0;
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--tinta-suave);
}
.raver-concept-box .raver-ver-como-cliente {
    margin-left: 6px;
    text-decoration: none !important;
    white-space: nowrap;
}
.raver-publico-izq {
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 0;
}
.raver-publico-izq > .raver-welcome-banner {
    margin: 0;
}
@media (max-width: 860px) {
    .raver-publico-izq {
        display: contents;
    }
    .raver-publico-izq > .raver-welcome-banner { order: -2; }
    .raver-publico-der { order: -1; }
}
.raver-pres-proyecto {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 16px;
    padding: 14px 16px;
    border: 1px solid rgb(var(--tinta-ok-rgb) / 0.4);
    border-radius: 3px;
    background: rgb(var(--tinta-ok-rgb) / 0.07);
}
.raver-pres-proyecto > div { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.raver-pres-proyecto strong { font-size: 13.5px; color: var(--tinta-texto); }
.raver-pres-proyecto small { font-size: 12px; color: var(--tinta-suave); }
.raver-pres-proyecto form { margin: 0; flex-shrink: 0; }
.raver-pres-proyecto-hecho { border-color: var(--tinta-borde); background: rgb(var(--tinta-vela-rgb) / 0.02); }
.raver-pres-proyecto-boton {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    width: auto !important;
    padding: 9px 16px !important;
    border: 0 !important;
    border-radius: 3px !important;
    background: var(--tinta-ok) !important;
    color: #0b0d12 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    text-decoration: none !important;
    cursor: pointer;
    box-shadow: none !important;
    transition: filter .15s;
}
.raver-pres-proyecto-boton:hover { filter: brightness(1.1); }
.raver-pres-proyecto-hecho .raver-pres-proyecto-boton { background: var(--tinta-acento) !important; color: var(--tinta-sobre-acento) !important; }
@media (max-width: 700px) {
    .raver-pres-proyecto { flex-direction: column; align-items: stretch; }
    .raver-pres-proyecto-boton { justify-content: center; width: 100% !important; }
}
.raver-panel-item-cliente {
    display: flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
    margin-top: 3px;
    overflow: hidden;
    font-size: 12.5px;
    font-weight: 500;
    color: var(--tinta-acento-claro);
    white-space: nowrap;
    text-overflow: ellipsis;
}
.raver-panel-item-cliente svg { flex-shrink: 0; opacity: 0.8; }
.raver-panel-item-sin-cliente { color: var(--tinta-apagado); font-style: italic; font-weight: 400; }
.raver-cliente-filas { display: flex; flex-direction: column; border: 1px solid var(--tinta-borde); border-radius: 4px; }
.raver-cliente-fila { display: flex; align-items: center; gap: 14px; padding: 11px 14px; }
.raver-cliente-fila + .raver-cliente-fila { border-top: 1px solid var(--tinta-borde); }
.raver-cliente-rotulo {
    flex-shrink: 0;
    width: 74px;
    font-family: var(--raver-mono);
    font-size: 10.5px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--tinta-apagado);
}
.raver-cliente-valor { display: flex; align-items: baseline; gap: 8px; flex: 1; min-width: 0; flex-wrap: wrap; }
.raver-cliente-valor strong { font-size: 14px; color: var(--tinta-texto); }
.raver-cliente-valor small { font-size: 12px; color: var(--tinta-suave); }
.raver-cliente-valor em { font-size: 13px; font-style: normal; color: var(--tinta-apagado); }
.raver-cliente-cambiar { flex-shrink: 0; }
.raver-cliente-pendiente { margin: 8px 0 0; font-size: 12px; color: var(--tinta-alerta); }
.raver-cliente-dlg { width: min(560px, calc(100vw - 32px)); }
.raver-cliente-dlg label { display: flex; flex-direction: column; gap: 6px; }
.raver-cliente-dlg select, .raver-cliente-dlg input[type=text], .raver-cliente-dlg input[type=email] { width: 100%; }
.raver-cliente-sin { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--tinta-borde); }
.raver-cliente-ayuda { margin: 0 0 12px; font-size: 12.5px; line-height: 1.5; color: var(--tinta-suave); }
label.raver-cliente-crear { flex-direction: row; align-items: center; gap: 8px; margin-top: 12px; font-size: 13px; color: var(--tinta-texto); cursor: pointer; }
.raver-cliente-dlg-pie { display: flex; justify-content: flex-end; margin-top: 18px; }
@media (max-width: 600px) {
    .raver-cliente-fila { flex-wrap: wrap; }
    .raver-cliente-rotulo { width: 100%; }
}
.raver-cliente-dlg .raver-form-grilla { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.raver-cliente-dlg .raver-form-grilla label { min-width: 0; }
.raver-cliente-dlg .raver-form-grilla input { box-sizing: border-box; width: 100% !important; }
label.raver-cliente-crear { display: flex !important; flex-direction: row !important; justify-content: flex-start !important; text-align: left !important; }
label.raver-cliente-crear input { flex-shrink: 0; width: 16px !important; height: 16px; margin: 0 !important; }
label.raver-cliente-crear span {
    font-family: inherit !important;
    font-size: 13px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: var(--tinta-texto) !important;
}


.raver-nav-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 2px 10px;
    margin: 0 0 12px;
    padding: 10px 12px;
    border: 1px solid rgb(var(--tinta-acento-rgb) / 0.45);
    border-radius: 3px;
    background: rgb(var(--tinta-acento-rgb) / 0.10);
}
.raver-nav-workspace-rotulo {
    grid-column: 1 / -1;
    font-family: var(--raver-mono);
    font-size: 9.5px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--tinta-acento-claro);
}
.raver-nav-workspace-nombre {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--tinta-texto) !important;
    text-decoration: none !important;
}
.raver-nav-workspace-salir {
    font-size: 11.5px;
    color: var(--tinta-suave) !important;
    text-decoration: none !important;
}
.raver-nav-workspace-salir:hover {
    color: var(--tinta-mal) !important;
}
body.raver-en-workspace .raver-app-top {
    box-shadow: inset 0 -2px 0 var(--tinta-acento);
}
.raver-ficha-banner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    flex-wrap: wrap;
}
.raver-ficha-banner .raver-workspace-boton {
    order: 2;
}
.raver-workspace-boton {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 16px;
    border-radius: 3px;
    background: var(--tinta-acento);
    color: var(--tinta-sobre-acento) !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    white-space: nowrap;
}
.raver-workspace-boton:hover {
    background: var(--tinta-acento-hover);
}
.raver-workspace-boton.raver-workspace-activo {
    background: transparent;
    border: 1px solid var(--tinta-borde);
    color: var(--tinta-suave) !important;
}
.raver-workspace-boton.raver-workspace-activo:hover {
    border-color: var(--tinta-mal);
    color: var(--tinta-mal) !important;
}
.raver-proy-cabeza {
    margin: 0 0 10px;
}
.raver-proy-grilla {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
@media (max-width: 1250px) {
    .raver-proy-grilla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    .raver-proy-grilla { grid-template-columns: minmax(0, 1fr); }
}
.raver-proy-card {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--tinta-borde);
    border-radius: 3px;
    background: rgb(var(--tinta-sup-rgb) / 0.72);
    backdrop-filter: blur(6px);
    transition: border-color .15s, background .15s;
}
.raver-proy-card:hover {
    border-color: rgb(var(--tinta-acento-rgb) / 0.55);
    background: rgb(var(--tinta-sup-rgb) / 0.9);
}
.raver-proy-card-abrir {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
    padding: 16px 16px 12px;
    color: inherit !important;
    text-decoration: none !important;
}
.raver-proy-card-arriba {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
}
.raver-proy-card-estado {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--raver-mono);
    font-size: 10.5px;
    line-height: 1;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.raver-proy-card-estado .raver-panel-item-punto {
    margin: 0;
}
.raver-proy-card-tope {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    font-family: var(--raver-mono);
    font-size: 11.5px;
    color: var(--tinta-texto);
    text-align: right;
}
.raver-proy-card-tope small {
    font-size: 10.5px;
    color: var(--tinta-apagado);
}
.raver-proy-card-titulo {
    margin-top: 4px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--tinta-texto);
}
.raver-proy-card-cliente {
    font-size: 12.5px;
    color: var(--tinta-suave);
}
.raver-proy-card-pagos {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 4px;
}
.raver-proy-card-barra {
    flex: 1;
    height: 3px;
    border-radius: 2px;
    background: var(--tinta-borde);
    overflow: hidden;
}
.raver-proy-card-barra > span {
    display: block;
    height: 100%;
    background: var(--tinta-ok);
}
.raver-proy-card-pagos small {
    font-family: var(--raver-mono);
    font-size: 10.5px;
    color: var(--tinta-suave);
    white-space: nowrap;
}
.raver-proy-card-hito {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-top: auto;
    padding-top: 10px;
    border-top: 1px solid var(--tinta-borde);
    font-size: 12px;
    color: var(--tinta-suave);
}
.raver-proy-card-hito small {
    font-family: var(--raver-mono);
    font-size: 10.5px;
    color: var(--tinta-apagado);
}
.raver-proy-card > .raver-panel-item-acciones {
    padding: 8px 16px 12px;
}
.raver-proy-solo > .raver-volver {
    display: inline-flex;
    margin-bottom: 12px;
}
.raver-proy-card-cover {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    height: 52px;
    padding: 8px 12px;
    border-bottom: 1px solid var(--tinta-borde);
    background-size: cover;
    background-position: center;
    overflow: hidden;
    text-decoration: none !important;
}
.raver-proy-card-cover-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgb(var(--tinta-fondo-rgb) / 0.35) 0%, rgb(var(--tinta-fondo-rgb) / 0.85) 100%);
    pointer-events: none;
}
.raver-proy-card-cover .raver-proy-card-estado,
.raver-proy-card-cover .raver-proy-card-tope {
    position: relative;
    z-index: 2;
    padding: 3px 8px;
    border-radius: 3px;
    background: rgb(var(--tinta-fondo-rgb) / 0.75);
    backdrop-filter: blur(4px);
    border: 1px solid rgb(var(--tinta-vela-rgb) / 0.08);
}
.raver-proy-cover {
    position: relative;
    width: 100%;
    min-height: 240px;
    border-radius: 6px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 22px 24px;
    margin-bottom: 22px;
    border: 1px solid rgb(var(--tinta-vela-rgb) / 0.08);
    box-shadow: 0 16px 36px -12px rgba(0, 0, 0, 0.55);
    background-size: cover;
    background-position: center;
    transition: box-shadow .2s ease;
}
.raver-proy-cover-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgb(var(--tinta-fondo-rgb) / 0.35) 0%, rgb(var(--tinta-fondo-rgb) / 0.5) 40%, rgb(var(--tinta-fondo-rgb) / 0.94) 100%);
}
.raver-proy-cover-top {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}
.raver-proy-cover-volver {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 14px;
    border-radius: 4px;
    background: rgb(var(--tinta-fondo-rgb) / 0.65);
    backdrop-filter: blur(10px);
    border: 1px solid rgb(var(--tinta-vela-rgb) / 0.12);
    color: var(--tinta-texto-2) !important;
    font-size: 12.5px;
    font-weight: 500;
    text-decoration: none !important;
    transition: all .15s ease;
}
.raver-proy-cover-volver:hover {
    background: rgb(var(--tinta-acento-rgb) / 0.35);
    border-color: rgb(var(--tinta-acento-rgb) / 0.6);
    color: var(--tinta-texto-fuerte) !important;
}
.raver-proy-cover-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 14px;
    border-radius: 4px;
    background: rgb(var(--tinta-fondo-rgb) / 0.65);
    backdrop-filter: blur(10px);
    border: 1px solid rgb(var(--tinta-vela-rgb) / 0.15);
    color: var(--tinta-texto-fuerte);
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
    transition: all .2s ease;
}
.raver-proy-cover-btn:hover {
    background: rgb(var(--tinta-acento-rgb) / 0.5);
    border-color: var(--tinta-acento);
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgb(var(--tinta-acento-rgb) / 0.35);
}
.raver-proy-cover-bottom {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    flex-wrap: wrap;
    margin-top: auto;
    padding-top: 24px;
}
.raver-proy-cover-identidad {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}
.raver-proy-cover-avatar {
    width: 54px;
    height: 54px;
    border-radius: 8px;
    background: linear-gradient(135deg, rgb(var(--tinta-acento-rgb) / 0.85), rgba(0, 242, 254, 0.7));
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--raver-mono);
    font-size: 20px;
    font-weight: 800;
    color: #ffffff;
    border: 2px solid rgb(var(--tinta-vela-rgb) / 0.25);
    box-shadow: 0 8px 24px rgb(var(--tinta-acento-rgb) / 0.35);
    flex-shrink: 0;
}
.raver-proy-cover-textos {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}
.raver-proy-cover-meta-sup {
    font-size: 12.5px;
    color: rgb(var(--tinta-vela-rgb) / 0.7);
    display: flex;
    align-items: center;
    gap: 8px;
}
.raver-proy-cover-empresa {
    color: var(--tinta-acento-claro) !important;
    text-decoration: none !important;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: color .15s;
}
.raver-proy-cover-empresa:hover {
    color: #a8c7ff !important;
    text-decoration: underline !important;
}
.raver-proy-cover-titulo {
    margin: 0;
    font-size: 26px;
    font-weight: 800;
    line-height: 1.2;
    color: var(--tinta-texto-fuerte);
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.75);
    letter-spacing: -0.02em;
}
.raver-proy-cover-badges {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.raver-proy-cover-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 12px;
    border-radius: 4px;
    background: rgb(var(--tinta-sup-rgb) / 0.75);
    backdrop-filter: blur(8px);
    border: 1px solid rgb(var(--tinta-vela-rgb) / 0.12);
    font-family: var(--raver-mono);
    font-size: 11.5px;
    font-weight: 600;
    color: var(--tinta-texto-2);
    line-height: 1;
}
.raver-proy-cover-punto {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    box-shadow: 0 0 8px var(--badge-color, var(--tinta-acento));
}
.raver-proy-cover-cliente {
    min-height: 200px;
}
@media (max-width: 768px) {
    .raver-proy-cover {
        padding: 16px;
        min-height: 210px;
    }
    .raver-proy-cover-titulo {
        font-size: 20px;
    }
    .raver-proy-cover-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }
}
dialog.raver-modal.raver-modal-portadas {
    width: min(720px, calc(100vw - 32px));
    max-width: 720px;
}
.raver-portadas-grilla {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 16px 0;
    max-height: 380px;
    overflow-y: auto;
    padding-right: 4px;
}
@media (max-width: 600px) {
    .raver-portadas-grilla {
        grid-template-columns: minmax(0, 1fr);
    }
}
.raver-portada-card {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--tinta-borde);
    border-radius: 4px;
    overflow: hidden;
    background: rgb(var(--tinta-sup-rgb) / 0.7);
    cursor: pointer;
    position: relative;
    transition: border-color .15s, transform .15s, box-shadow .15s;
}
.raver-portada-card:hover {
    border-color: rgb(var(--tinta-acento-rgb) / 0.65);
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}
.raver-portada-card.raver-portada-activa {
    border-color: var(--tinta-acento);
    background: rgb(var(--tinta-acento-rgb) / 0.1);
    box-shadow: 0 0 0 2px var(--tinta-acento), 0 8px 24px rgb(var(--tinta-acento-rgb) / 0.28);
}
.raver-portada-radio {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.raver-portada-card-preview {
    height: 85px;
    width: 100%;
    position: relative;
    background-size: cover;
    background-position: center;
    border-bottom: 1px solid rgb(var(--tinta-vela-rgb) / 0.08);
}
.raver-portada-card-check {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--tinta-acento);
    color: var(--tinta-sobre-acento);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: scale(0.6);
    transition: all .15s ease;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
}
.raver-portada-card.raver-portada-activa .raver-portada-card-check {
    opacity: 1;
    transform: scale(1);
}
.raver-portada-card-info {
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.raver-portada-card-nombre {
    font-size: 13px;
    font-weight: 600;
    color: #f1f5f9;
}
.raver-portada-card-sub {
    font-size: 11px;
    color: var(--tinta-suave);
    line-height: 1.3;
}
.raver-portada-custom-box {
    margin-top: 14px;
    padding: 14px;
    background: rgba(0, 0, 0, 0.22);
    border: 1px dashed var(--tinta-borde);
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.raver-portada-custom-help {
    font-size: 11.5px;
    color: var(--tinta-suave);
}
.raver-cobro-form.raver-proy-datos {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: end;
}
.raver-proy-datos > .raver-cobro-campo-ancho,
.raver-proy-datos > button {
    grid-column: 1 / -1;
}
.raver-proy-datos > button {
    justify-self: start;
}
.raver-proy-datos > label:has(.raver-ficha-controles) {
    grid-column: span 2;
}
@media (max-width: 900px) {
    .raver-cobro-form.raver-proy-datos {
        grid-template-columns: minmax(0, 1fr);
    }
    .raver-proy-datos > label:has(.raver-ficha-controles) {
        grid-column: auto;
    }
}
.raver-proy-columnas {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}
.raver-proy-col {
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 0;
}
.raver-proy-col > * {
    margin-top: 0 !important;
}
.raver-proy-col > div[style*="text-align:right"] {
    text-align: right;
}
.raver-proy-columnas .raver-cobro-form.raver-proy-datos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 1100px) {
    .raver-proy-columnas {
        grid-template-columns: minmax(0, 1fr);
    }
}
.raver-proy-columnas .raver-cobro-form.raver-proy-datos {
    grid-auto-flow: row dense;
}
.raver-modal-cuerpo {
    padding: 18px 22px 22px;
}
.raver-modal-nota {
    margin: 0 0 14px;
    font-size: 12.5px;
    color: var(--tinta-suave);
}
dialog.raver-modal.raver-modal-chico {
    width: min(560px, calc(100vw - 32px));
}
.raver-modal .raver-archivo-texto {
    font-family: var(--raver-mono);
    font-size: 12.5px;
    line-height: 1.6;
}
.raver-proy-ficha .raver-specs-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.raver-proy-ficha[data-modo="ver"] .raver-proy-ficha-form,
.raver-proy-ficha[data-modo="editar"] .raver-proy-ficha-ver,
.raver-proy-ficha[data-modo="editar"] .raver-proy-ficha-editar {
    display: none !important;
}
dl.raver-proy-ficha-ver {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 20px;
    margin: 4px 0 0;
}
dl.raver-proy-ficha-ver > div {
    min-width: 0;
}
dl.raver-proy-ficha-ver dt {
    margin: 0 0 3px;
    font-family: var(--raver-mono);
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--tinta-apagado);
}
dl.raver-proy-ficha-ver dd {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 6px;
    margin: 0;
    font-size: 13.5px;
    color: var(--tinta-texto);
}
dl.raver-proy-ficha-ver dd .raver-panel-item-punto {
    margin: 0;
}
dl.raver-proy-ficha-ver dd a {
    color: var(--tinta-acento-claro) !important;
    text-decoration: none !important;
}
dl.raver-proy-ficha-ver dd small {
    flex-basis: 100%;
    font-size: 11.5px;
    color: var(--tinta-apagado);
}
dl.raver-proy-ficha-ver .raver-proy-ficha-ancho {
    grid-column: 1 / -1;
}
.raver-proy-ficha-botones {
    display: flex;
    gap: 8px;
}
.raver-archivos {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
    gap: 12px 8px;
    margin-top: 6px;
}
.raver-archivo,
.raver-archivo-subir label {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 12px 6px 10px !important;
    border: 1px solid transparent !important;
    border-radius: 3px !important;
    background: transparent !important;
    color: var(--tinta-texto) !important;
    font: inherit;
    text-align: center;
    text-decoration: none !important;
    cursor: pointer;
    box-shadow: none !important;
}
.raver-archivo:hover,
.raver-archivo-subir label:hover {
    border-color: rgb(var(--tinta-acento-claro-rgb) / 0.3) !important;
    background: rgb(var(--tinta-acento-claro-rgb) / 0.08) !important;
}
form.raver-archivo.raver-archivo-subir {
    padding: 0 !important;
    margin: 0;
    border: 0 !important;
}
form.raver-archivo.raver-archivo-subir:hover {
    background: transparent !important;
}
.raver-archivo-subir input[type="file"] {
    display: none;
}
.raver-archivo-icono {
    position: relative;
    display: block;
    width: 44px;
    height: 56px;
    border-radius: 3px 0 3px 3px;
    background: #e8ecf2;
    clip-path: polygon(0 0, 68% 0, 100% 24%, 100% 100%, 0 100%);
}
.raver-archivo-icono::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 32%;
    height: 24%;
    background: linear-gradient(to bottom left, transparent 50%, #b7bfcc 50%);
}
.raver-archivo-icono b {
    position: absolute;
    left: 0;
    bottom: 9px;
    padding: 2px 5px;
    border-radius: 0 2px 2px 0;
    font-family: var(--raver-mono);
    font-size: 8.5px;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--tinta-texto-fuerte);
    background: var(--tinta-apagado);
}
.raver-archivo-pdf b  { background: var(--tinta-mal); }
.raver-archivo-doc b  { background: #2f6fed; }
.raver-archivo-xls b  { background: #1f9d55; }
.raver-archivo-img b  { background: #8e5cf7; }
.raver-archivo-zip b  { background: #d99a00; }
.raver-archivo-form b { background: #0e9fb3; }
.raver-archivo-txt b  { background: #5b6272; }
.raver-archivo-icono.raver-archivo-nuevo {
    background: transparent;
    clip-path: none;
    border: 1.5px dashed var(--tinta-apagado);
}
.raver-archivo-icono.raver-archivo-nuevo::after { display: none; }
.raver-archivo-icono.raver-archivo-nuevo i {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-style: normal;
    font-size: 22px;
    color: var(--tinta-suave);
}
.raver-archivo-nombre {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    max-width: 100%;
    font-size: 11.5px;
    line-height: 1.35;
    word-break: break-word;
    color: var(--tinta-texto);
}
.raver-archivo-caja {
    position: relative;
}
.raver-archivo-borrar {
    position: absolute;
    top: 2px;
    right: 2px;
    margin: 0;
}
.raver-archivo-borrar button {
    width: 20px;
    height: 20px;
    padding: 0 !important;
    border: 1px solid var(--tinta-borde) !important;
    border-radius: 50% !important;
    background: var(--tinta-sup) !important;
    color: var(--tinta-suave) !important;
    font-size: 13px !important;
    line-height: 1 !important;
    cursor: pointer;
    opacity: 0;
    transition: opacity .15s;
}
.raver-archivo-caja:hover .raver-archivo-borrar button { opacity: 1; }
.raver-archivo-borrar button:hover { color: var(--tinta-mal) !important; border-color: var(--tinta-mal) !important; }
.raver-tareas {
    list-style: none;
    margin: 12px 0 0;
    padding: 0;
}
.raver-tarea {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 9px 0;
    border-bottom: 1px solid var(--tinta-borde);
}
.raver-tarea:last-child { border-bottom: 0; }
.raver-tarea-marca { margin: 0; }
.raver-tarea-marca button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    padding: 0 !important;
    border: 1.5px solid var(--tinta-apagado) !important;
    border-radius: 3px !important;
    background: transparent !important;
    color: var(--tinta-ok) !important;
    font-size: 12px !important;
    line-height: 1 !important;
    cursor: pointer;
}
.raver-tarea-marca button:hover { border-color: var(--tinta-ok) !important; }
.raver-tarea-hecha .raver-tarea-marca button {
    border-color: var(--tinta-ok) !important;
    background: rgb(var(--tinta-ok-rgb) / 0.12) !important;
}
.raver-tarea-abrir {
    display: flex;
    flex: 1;
    min-width: 0;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--tinta-texto) !important;
    text-align: left;
    cursor: pointer;
    box-shadow: none !important;
}
.raver-tarea-abrir strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13.5px;
    font-weight: 500;
}
.raver-tarea-abrir:hover strong { color: var(--tinta-acento-claro); }
.raver-tarea-hecha .raver-tarea-abrir strong {
    text-decoration: line-through;
    color: var(--tinta-apagado);
}
.raver-tarea-meta {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: 10px;
    font-family: var(--raver-mono);
    font-size: 10.5px;
}
.raver-tarea-cat {
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.raver-tarea-fecha { color: var(--tinta-suave); }
.raver-tarea-vencida { color: var(--tinta-mal); }
.raver-tarea-form.raver-cobro-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end;
}
.raver-tarea-form > .raver-cobro-campo-ancho,
.raver-tarea-form > button { grid-column: 1 / -1; }
.raver-tarea-form > button { justify-self: start; }
.raver-modal .raver-nuevo-cobro { margin: 14px 0; }
.raver-gantt-caja {
    overflow-x: auto;
    margin-bottom: 24px;
}
.raver-proy-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-top: 14px;
    margin-bottom: 22px;
}
@media (max-width: 960px) {
    .raver-proy-kpi-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 520px) {
    .raver-proy-kpi-grid {
        grid-template-columns: 1fr;
    }
}
.raver-proy-kpi-card {
    background: rgb(var(--tinta-sup-rgb) / 0.75);
    border: 1px solid var(--tinta-borde);
    border-radius: 6px;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    transition: border-color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}
.raver-proy-kpi-card:hover {
    border-color: var(--tinta-borde-fuerte);
    background: rgb(var(--tinta-sup-rgb) / 0.95);
}
.raver-proy-kpi-etq {
    font-family: var(--raver-mono);
    font-size: 10px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--tinta-apagado);
}
.raver-proy-kpi-val {
    font-size: 16.5px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--tinta-texto);
    letter-spacing: -0.01em;
}
.raver-proy-kpi-val-hoy {
    color: var(--tinta-alerta);
}
.raver-proy-kpi-sub {
    font-size: 11px;
    color: var(--tinta-suave);
    line-height: 1.35;
    margin-top: 2px;
}
.raver-proy-kpi-barra-caja {
    width: 100%;
    height: 5px;
    background: rgb(var(--tinta-vela-rgb) / 0.08);
    border-radius: 3px;
    overflow: hidden;
    margin: 4px 0 2px;
}
.raver-proy-kpi-barra-relleno {
    display: block;
    height: 100%;
    border-radius: 3px;
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 0 8px currentColor;
}
.raver-gantt-estado-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 9px;
    border-radius: 12px;
    font-family: var(--raver-mono);
    font-size: 10.5px;
    line-height: 1;
    letter-spacing: 0.04em;
    background: rgb(var(--tinta-vela-rgb) / 0.04);
    border: 1px solid var(--tinta-borde);
    color: var(--tinta-texto);
}
.raver-gantt-estado-badge .raver-panel-item-punto {
    margin: 0;
}
.raver-gantt {
    --rotulo: 175px;
    position: relative;
    min-width: 720px;
    margin-top: 14px;
    padding-top: 48px; 
    padding-bottom: 16px;
    cursor: crosshair;
}
.raver-gantt-cuadricula {
    position: absolute;
    top: 0;
    bottom: 0;
    left: var(--rotulo);
    right: 0;
    pointer-events: none;
    z-index: 1;
}
.raver-gantt-guia-semana {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    background: rgb(var(--tinta-vela-rgb) / 0.05);
}
.raver-gantt-hover-cursor {
    position: absolute;
    top: 0;
    bottom: 0;
    transform: translateX(-50%);
    pointer-events: none;
    z-index: 25;
    display: none;
    flex-direction: column;
    align-items: center;
}
.raver-gantt-hover-cursor.raver-activo {
    display: flex !important;
}
.raver-gantt-hover-badge {
    pointer-events: none;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 4px 10px;
    border-radius: 12px;
    background: var(--tinta-hundido);
    border: 1px solid rgb(var(--tinta-acento-claro-rgb) / 0.85);
    color: var(--tinta-texto-fuerte);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.85), 0 0 14px rgb(var(--tinta-acento-claro-rgb) / 0.35);
    white-space: nowrap;
    margin-top: 2px;
    will-change: transform;
}
.raver-gantt-hover-punto {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--tinta-acento-claro);
    box-shadow: 0 0 8px var(--tinta-acento-claro);
    flex-shrink: 0;
}
.raver-gantt-hover-dia {
    font-size: 11px;
    font-weight: 700;
    color: var(--tinta-texto-fuerte);
    font-family: var(--raver-mono);
    letter-spacing: 0.02em;
}
.raver-gantt-hover-relativo {
    font-size: 10px;
    font-family: var(--raver-mono);
    letter-spacing: 0.02em;
    padding: 1px 6px;
    border-radius: 5px;
    background: rgb(var(--tinta-vela-rgb) / 0.06);
}
.raver-rel-hoy { color: var(--tinta-alerta); background: rgb(var(--tinta-alerta-rgb) / 0.16); font-weight: 600; }
.raver-rel-futuro { color: var(--tinta-acento-claro); background: rgb(var(--tinta-acento-claro-rgb) / 0.16); }
.raver-rel-pasado { color: var(--tinta-suave); background: rgb(var(--tinta-vela-rgb) / 0.06); }
.raver-gantt-hover-linea {
    flex: 1;
    width: 2px;
    margin-top: 3px;
    background: linear-gradient(180deg, rgb(var(--tinta-acento-claro-rgb) / 0.95) 0%, rgb(var(--tinta-acento-claro-rgb) / 0.6) 70%, rgb(var(--tinta-acento-claro-rgb) / 0.15) 100%);
    box-shadow: 0 0 8px rgb(var(--tinta-acento-claro-rgb) / 0.65);
}
.raver-gantt-hoy {
    position: absolute;
    top: 0;
    bottom: 0;
    transform: translateX(-50%);
    z-index: 6;
    pointer-events: none;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.raver-gantt-hoy-pill {
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 8px;
    border-radius: 10px;
    background: rgb(var(--tinta-alerta-rgb) / 0.08);
    border: 1px solid rgb(var(--tinta-alerta-rgb) / 0.65);
    color: var(--tinta-alerta);
    font-family: var(--raver-mono);
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.7), 0 0 12px rgb(var(--tinta-alerta-rgb) / 0.3);
    cursor: default;
    white-space: nowrap;
}
.raver-gantt-hoy-punto {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--tinta-alerta);
    animation: raver-pulso-hoy 2s infinite;
}
@keyframes raver-pulso-hoy {
    0% { box-shadow: 0 0 0 0 rgb(var(--tinta-alerta-rgb) / 0.85); }
    70% { box-shadow: 0 0 0 6px rgb(var(--tinta-alerta-rgb) / 0); }
    100% { box-shadow: 0 0 0 0 rgb(var(--tinta-alerta-rgb) / 0); }
}
.raver-gantt-hoy-linea {
    flex: 1;
    width: 1.5px;
    margin-top: 2px;
    background: linear-gradient(180deg, rgb(var(--tinta-alerta-rgb) / 0.9) 0%, rgb(var(--tinta-alerta-rgb) / 0.4) 65%, rgb(var(--tinta-alerta-rgb) / 0.08) 100%);
    box-shadow: 0 0 6px rgb(var(--tinta-alerta-rgb) / 0.4);
}
.raver-gantt-fila {
    display: grid;
    grid-template-columns: var(--rotulo) minmax(0, 1fr);
    align-items: center;
    border-top: 1px solid rgb(var(--tinta-sup2-rgb) / 0.75);
    position: relative;
    z-index: 2;
}
.raver-gantt-meses { border-top: 0; }
.raver-gantt-pista {
    position: relative;
    height: 52px;
}
.raver-gantt-meses .raver-gantt-pista { height: 32px; }
.raver-gantt-semanas .raver-gantt-pista { height: 34px; }
.raver-gantt-fila-fechas .raver-gantt-pista { height: 112px; }
.raver-gantt-fila-hitos .raver-gantt-pista { height: 58px; }
.raver-gantt-fila-tarea .raver-gantt-pista { height: 46px; }
.raver-gantt-mes {
    position: absolute;
    top: 0;
    bottom: 0;
    padding: 3px 0 0 6px;
    border-left: 1px solid var(--tinta-borde);
    font-family: var(--raver-mono);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: capitalize;
    white-space: nowrap;
    color: #e2e7f2;
}
.raver-gantt-semanas {
    border-top: 1px solid rgb(var(--tinta-vela-rgb) / 0.04);
}
.raver-gantt-semana {
    position: absolute;
    top: 0;
    bottom: 0;
    border-left: 1px solid rgb(var(--tinta-vela-rgb) / 0.08);
    padding: 2px 0 0 5px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    white-space: nowrap;
    font-family: var(--raver-mono);
    color: var(--tinta-apagado);
}
.raver-gantt-sem-num {
    font-size: 9.5px;
    font-weight: 600;
    color: #9da6b8;
    text-transform: uppercase;
}
.raver-gantt-sem-dia {
    font-size: 9px;
    color: var(--tinta-apagado);
}
.raver-gantt-rotulo-escala {
    font-family: var(--raver-mono);
    font-size: 10px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--tinta-apagado);
}
.raver-gantt-rotulo {
    overflow: hidden;
    padding-right: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--tinta-texto);
}
button.raver-gantt-rotulo-tarea {
    padding: 0 14px 0 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--tinta-texto) !important;
    text-align: left;
    cursor: pointer;
    box-shadow: none !important;
    font-size: 12.5px !important;
    line-height: 1.4 !important;
}
button.raver-gantt-rotulo-tarea:hover { color: var(--tinta-acento-claro) !important; }
.raver-gantt-hecha .raver-gantt-rotulo-tarea {
    text-decoration: line-through;
    color: var(--tinta-apagado) !important;
}
.raver-gantt-plazo-caja {
    position: absolute;
    top: 50%;
    height: 12px;
    transform: translateY(-50%);
    border-radius: 6px;
    background: rgb(var(--tinta-acento-claro-rgb) / 0.14);
    border: 1px solid rgb(var(--tinta-acento-claro-rgb) / 0.35);
    overflow: hidden;
    cursor: help;
    transition: height 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.raver-gantt-plazo-caja:hover {
    height: 14px;
    border-color: rgb(var(--tinta-acento-claro-rgb) / 0.6);
    box-shadow: 0 0 12px rgb(var(--tinta-acento-claro-rgb) / 0.25);
}
.raver-gantt-plazo-progreso {
    display: block;
    height: 100%;
    border-radius: 5px;
    background: linear-gradient(90deg, #3875ff, var(--tinta-ok));
    box-shadow: 0 0 12px rgb(var(--tinta-ok-rgb) / 0.45);
    transition: width 0.4s ease;
}
.raver-gantt-plazo-exceso {
    position: absolute;
    top: 50%;
    height: 12px;
    transform: translateY(-50%);
    border-radius: 0 6px 6px 0;
    background: repeating-linear-gradient(45deg, rgb(var(--tinta-mal-rgb) / 0.45), rgb(var(--tinta-mal-rgb) / 0.45) 4px, rgb(var(--tinta-mal-rgb) / 0.15) 4px, rgb(var(--tinta-mal-rgb) / 0.15) 8px);
    border: 1px dashed var(--tinta-mal);
    border-left: 0;
    cursor: help;
}
.raver-gantt-marca {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 4;
}
.raver-gantt-marca i {
    display: block;
    width: 11px;
    height: 11px;
    transform: rotate(45deg);
    background: var(--tinta-suave);
    box-shadow: 0 0 0 2px var(--tinta-sup);
    transition: transform 0.15s ease;
}
.raver-gantt-marca:hover i {
    transform: rotate(45deg) scale(1.35);
}
.raver-gantt-marca em {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    font-style: normal;
    font-size: 11px;
    white-space: nowrap;
    color: var(--tinta-texto);
    pointer-events: none;
    background: rgb(var(--tinta-sup-rgb) / 0.9);
    padding: 2px 7px;
    border-radius: 4px;
    border: 1px solid rgb(var(--tinta-vela-rgb) / 0.08);
    backdrop-filter: blur(4px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}
.raver-gantt-marca.raver-gantt-abajo em {
    top: 20px;
    bottom: auto;
}
.raver-gantt-marca em small {
    font-family: var(--raver-mono);
    font-size: 9.5px;
    color: var(--tinta-apagado);
}
.raver-gantt-kickoff i   { background: #5ad1e6; }
.raver-gantt-aprobado i  { background: #b18cff; }
.raver-gantt-pago i      { background: var(--tinta-ok); }
.raver-gantt-tope i      { background: var(--tinta-mal); }
.raver-gantt-entregado i { background: var(--tinta-ok); box-shadow: 0 0 0 3px rgb(var(--tinta-ok-rgb) / 0.35); }
.raver-gantt-hito {
    position: absolute;
    top: 50%;
    width: 16px;
    height: 16px;
    padding: 0 !important;
    border: 2px solid var(--tinta-acento-claro) !important;
    border-radius: 50% !important;
    background: var(--tinta-fondo) !important;
    transform: translate(-50%, -50%);
    cursor: pointer;
    box-shadow: 0 0 0 2px var(--tinta-sup) !important;
    transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
    z-index: 3;
}
.raver-gantt-hito:hover {
    transform: translate(-50%, -50%) scale(1.4);
    z-index: 7;
    filter: brightness(1.3);
    box-shadow: 0 0 10px currentColor !important;
}
.raver-gantt-hito-alojamiento { border-color: var(--tinta-acento-claro) !important; }
.raver-gantt-hito-contenidos  { border-color: var(--tinta-alerta) !important; }
.raver-gantt-hito-diseno      { border-color: #b07bff !important; }
.raver-gantt-hito-desarrollo  { border-color: var(--tinta-acento) !important; }
.raver-gantt-hito-revision    { border-color: #ffc85c !important; }
.raver-gantt-hito-publicacion { border-color: var(--tinta-ok) !important; }
.raver-gantt-hito-nota        { border-color: var(--tinta-apagado) !important; }
.raver-gantt-hito.raver-gantt-interno {
    border-style: dashed !important;
    border-color: var(--tinta-apagado) !important;
    opacity: 0.75;
}
.raver-gantt-barra {
    position: absolute;
    top: 50%;
    height: 14px;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 4px !important;
    transform: translateY(-50%);
    cursor: pointer;
    box-shadow: none !important;
    transition: filter 0.15s ease, transform 0.15s ease;
}
.raver-gantt-barra:hover {
    filter: brightness(1.25);
    transform: translateY(-50%) scaleY(1.15);
}
.raver-gantt-hecha .raver-gantt-barra { opacity: 0.35; }
.raver-gantt-leyenda {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid rgb(var(--tinta-vela-rgb) / 0.06);
    font-family: var(--raver-mono);
    font-size: 10.5px;
    color: var(--tinta-apagado);
}
.raver-gantt-leyenda-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.raver-gantt-leyenda-item i {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
}
.raver-gantt-ley-arranque { background: var(--tinta-ok); }
.raver-gantt-ley-tope { background: var(--tinta-mal); transform: rotate(45deg); border-radius: 1px !important; }
.raver-gantt-ley-hoy { background: var(--tinta-alerta); box-shadow: 0 0 5px rgb(var(--tinta-alerta-rgb) / 0.7); }
.raver-gantt-ley-plazo {
    width: 14px !important;
    height: 5px !important;
    border-radius: 2px !important;
    background: linear-gradient(90deg, #3875ff, var(--tinta-ok));
}
.raver-gantt-ley-hito {
    border: 2px solid var(--tinta-acento-claro);
    background: transparent;
}
.raver-gantt-ley-tarea {
    width: 12px !important;
    height: 6px !important;
    border-radius: 2px !important;
    background: var(--tinta-suave);
}
.raver-gantt-ayuda {
    margin: 10px 0 0;
    font-size: 12px;
    color: var(--tinta-apagado);
}
.raver-archivos { align-items: start; }
.raver-archivo { justify-content: flex-start !important; white-space: normal !important; line-height: 1.35 !important; }
.raver-gantt-caja { overflow: hidden; }
.raver-gantt { overflow: hidden; }
.raver-gantt-marca.raver-gantt-der em { left: auto; right: -6px; transform: none; }
.raver-gantt-marca.raver-gantt-izq em { left: -6px; transform: none; }
@media (max-width: 900px) { .raver-gantt-caja { overflow-x: auto; } }
.raver-gantt-hito { width: 13px !important; height: 13px !important; min-width: 13px !important; }
button.raver-gantt-rotulo-tarea { font-size: 12px !important; line-height: 1.4 !important; }
.raver-specs-card-header:has(.raver-card-nuevo) { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.raver-card-nuevo { flex-shrink: 0; white-space: nowrap; }
.raver-modal .raver-cobro-form { margin-top: 0; padding-top: 0; border-top: 0; }
.raver-archivo, .raver-archivo-subir label { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: flex-start !important; }
.raver-archivo-icono { margin: 0 auto !important; flex-shrink: 0; }
.raver-archivo-nombre { width: 100%; text-align: center !important; }
.raver-modal-portadas .raver-portadas-form {
    display: block;
}
.raver-modal-portadas .raver-portada-custom-box input[type="text"] {
    width: 100%;
    padding: 9px 11px !important;
    border: 1px solid var(--tinta-borde) !important;
    border-radius: 3px !important;
    background: var(--tinta-fondo) !important;
    color: var(--tinta-texto) !important;
    font-size: 13px !important;
    box-shadow: none !important;
}
.raver-modal-portadas .raver-portada-custom-box input[type="text"]:focus {
    border-color: var(--tinta-acento) !important;
    outline: none;
}
.raver-modal-portadas .raver-modal-pie {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 16px;
}
.raver-portada-guardar {
    padding: 9px 16px !important;
    border: 0 !important;
    border-radius: 3px !important;
    background: var(--tinta-acento) !important;
    color: var(--tinta-sobre-acento) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer;
    box-shadow: none !important;
}
.raver-portada-guardar:hover {
    background: var(--tinta-acento-hover) !important;
}
.raver-proy-cover-btn {
    background: rgb(var(--tinta-fondo-rgb) / 0.65) !important;
    border: 1px solid rgb(var(--tinta-vela-rgb) / 0.15) !important;
    color: var(--tinta-texto-fuerte) !important;
    border-radius: 4px !important;
}
.raver-proy-cover-btn:hover {
    background: rgb(var(--tinta-acento-rgb) / 0.5) !important;
    border-color: var(--tinta-acento) !important;
}
.raver-portadas-grilla { scrollbar-width: thin; scrollbar-color: var(--tinta-borde) transparent; }


.ws-tb [hidden],
.ws-tb-panel[hidden] { display: none !important; }
.ws-tb-barra {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px 16px;
    margin: 0 0 16px;
}
.ws-tb-barra-izq,
.ws-tb-barra-der { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; min-width: 0; }
.ws-tb-barra select,
.ws-tb-buscar {
    height: 32px;
    padding: 0 10px;
    border: 1px solid var(--tinta-borde-2);
    border-radius: var(--r-1);
    background: var(--tinta-campo);
    color: var(--tinta-texto);
    font-family: var(--f-ui);
    font-size: 13px;
}
.ws-tb-buscar { width: 190px; }
.ws-tb-barra select:focus,
.ws-tb-buscar:focus { outline: none; border-color: var(--tinta-acento-tx); box-shadow: var(--foco); }
.ws-seg {
    display: inline-flex;
    padding: 2px;
    border: 1px solid var(--tinta-borde-2);
    border-radius: var(--r-2);
    background: var(--tinta-campo);
}
.ws-seg a {
    display: inline-flex;
    align-items: center;
    height: 26px;
    padding: 0 12px;
    border-radius: var(--r-1);
    color: var(--tinta-texto-3) !important;
    font-size: 13px;
    text-decoration: none !important;
    transition: background var(--m-rapido) var(--c-salida), color var(--m-rapido) var(--c-salida);
}
.ws-seg a:hover { color: var(--tinta-texto) !important; }
.ws-seg a.on { background: var(--tinta-sup); box-shadow: inset 0 0 0 1px var(--tinta-borde); color: var(--tinta-texto) !important; }
.ws-tb-filtrar { position: relative; }
.ws-tb-filtrar > summary { list-style: none; }
.ws-tb-filtrar > summary::-webkit-details-marker { display: none; }
.ws-tb-filtrar.con-filtro > summary { color: var(--tinta-acento-tx) !important; }
.ws-tb-pop {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 30;
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 320px;
    padding: 14px;
    border: 1px solid var(--tinta-borde-2);
    border-radius: var(--r-3);
    background: var(--tinta-sup);
    box-shadow: 0 12px 32px var(--tinta-sombra, rgba(0, 0, 0, .35));
}
.ws-tb-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 4px; }
.raver-portal-container .ws-tb-chips button.raver-kanban-filtro {
    height: 26px;
    padding: 0 10px !important;
    border: 1px solid var(--tinta-borde-2) !important;
    border-radius: var(--r-1) !important;
    background: transparent !important;
    color: var(--tinta-texto-2) !important;
    font-size: 12px !important;
    cursor: pointer;
}
.raver-portal-container .ws-tb-chips button.raver-kanban-filtro.on {
    border-color: var(--tinta-acento-tx) !important;
    background: var(--tinta-acento-suave) !important;
    color: var(--tinta-texto) !important;
}
.raver-portal-container .ws-tb-solo[aria-pressed="true"] {
    border-color: var(--tinta-acento-tx) !important;
    background: var(--tinta-acento-suave) !important;
}
.ws-tb-cols {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    align-items: start;
}
.ws-tb-col { min-width: 0; }
.ws-tb-col-cabeza {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 28px;
    margin-bottom: 8px;
    padding: 0 2px;
}
.ws-tb-col-cabeza h3 { margin: 0; font-size: 13px; font-weight: 600; color: var(--tinta-texto); }
.ws-tb-col-cabeza .raver-kanban-col-cuenta { font-size: 12px; color: var(--tinta-texto-3); }
.ws-tb-glifo-check { color: var(--tinta-ok); flex: none; }
.raver-portal-container .ws-tb-mas {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    margin-left: auto;
    padding: 0 !important;
    border: 0 !important;
    border-radius: var(--r-1) !important;
    background: transparent !important;
    color: var(--tinta-texto-3) !important;
    cursor: pointer;
}
.raver-portal-container .ws-tb-mas:hover { background: var(--tinta-hover) !important; color: var(--tinta-texto) !important; }
.ws-tb-lista {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 60px;
    border-radius: var(--r-3);
    transition: background var(--m-base) var(--c-salida);
}
.ws-tb-lista.raver-kanban-lista-sobre { background: var(--tinta-acento-suave); outline: 1px dashed var(--tinta-acento-linea); outline-offset: 2px; }
.ws-tb-nota { margin: 12px 2px 0; font-size: 12px; line-height: 1.5; color: var(--tinta-texto-3); }
.ws-tb-nueva {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 8px;
    padding: 10px;
    border: 1px solid var(--tinta-acento-tx);
    border-radius: var(--r-3);
    background: var(--tinta-sup);
}
.ws-tb-nueva input[type="text"],
.ws-tb-nueva select,
.ws-tb-nueva input[type="date"] {
    width: 100%;
    height: 30px;
    padding: 0 8px;
    border: 1px solid var(--tinta-borde-2);
    border-radius: var(--r-1);
    background: var(--tinta-campo);
    color: var(--tinta-texto);
    font-family: var(--f-ui);
    font-size: 13px;
}
.ws-tb-nueva-mas { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.ws-tb-nueva-mas .ws-btn { grid-column: 1 / -1; }
.ws-tb-tarjeta {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px;
    border: 1px solid var(--tinta-borde);
    border-radius: var(--r-3);
    background: var(--tinta-sup);
    color: var(--tinta-texto);
    cursor: pointer;
    transition: border-color var(--m-rapido) var(--c-salida), background var(--m-rapido) var(--c-salida);
}
.ws-tb-tarjeta:hover { border-color: var(--tinta-borde-marcado); }
.ws-tb-tarjeta:focus-visible { outline: none; box-shadow: var(--foco); }
.ws-tb-tarjeta.sel { border-color: var(--tinta-acento-tx); box-shadow: 0 0 0 1px var(--tinta-acento-tx); }
.ws-tb-tarjeta.raver-kanban-arrastrada { opacity: .4; }
.ws-tb-tarjeta.raver-kanban-guardando { opacity: .7; }
.ws-tb-tarjeta[draggable="true"] { -webkit-user-drag: element; }
.ws-tb-check { display: none; }
.ws-tb-t-arriba { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ws-tb-titulo { font-size: 14px; font-weight: 500; line-height: 1.35; color: var(--tinta-texto); }
.ws-tb-proy { font-size: 11.5px; color: var(--tinta-texto-3); }
.ws-tb-cat { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--tinta-texto-2); white-space: nowrap; }
.ws-tb-cat::before { content: ""; width: 6px; height: 6px; flex: none; background: var(--c, var(--tinta-texto-3)); }
.ws-tb-prio { display: inline-flex; align-items: flex-end; gap: 2px; height: 11px; flex: none; }
.ws-tb-prio i { display: block; width: 3px; border-radius: 1px; background: var(--tinta-borde-marcado); }
.ws-tb-prio i:nth-child(1) { height: 4px; }
.ws-tb-prio i:nth-child(2) { height: 6px; }
.ws-tb-prio i:nth-child(3) { height: 8px; }
.ws-tb-prio i:nth-child(4) { height: 11px; }
.ws-tb-prio i.on { background: var(--tinta-acento-tx); }
.ws-tb-prio.p-atencion i.on { background: var(--tinta-alerta); }
.ws-tb-prio.p-urgente i.on { background: var(--tinta-error, var(--tinta-mal)); }
.ws-tb-prio-palabra { margin-left: 8px; font-size: 13px; color: var(--tinta-texto); }
.ws-tb-segs { display: flex; gap: 3px; }
.ws-tb-segs i { flex: 1; height: 3px; border-radius: 1px; background: var(--tinta-pista); transition: background var(--m-base) var(--c-salida); }
.ws-tb-segs i.on { background: var(--tinta-acento); }
.ws-tb-segs-panel i { height: 4px; }
.ws-tb-t-pie { display: flex; align-items: center; gap: 10px; min-height: 22px; font-size: 11.5px; }
.ws-tb-frac { color: var(--tinta-texto-3); }
.ws-tb-estado-txt { color: var(--tinta-texto-3); }
.ws-tb-fecha { color: var(--tinta-texto-3); margin-left: auto; display: inline-flex; align-items: center; gap: 5px; }
.ws-tb-fecha.hoy { color: var(--tinta-acento-tx); }
.ws-tb-fecha.atrasada { color: var(--tinta-alerta); }
.ws-tb-rombo { width: 10px; height: 10px; }
.ws-tb-av { margin-left: 0; flex: none; width: 22px; height: 22px; font-size: 8.5px; }
.ws-tb-fecha + .ws-tb-av { margin-left: 0; }
.ws-tb-frac + .ws-av,
.ws-tb-t-pie > .ws-av:first-child { margin-left: auto; }
.raver-kanban-col-terminada .ws-tb-lista { gap: 0; border: 1px solid var(--tinta-borde); border-radius: var(--r-3); background: var(--tinta-sup); overflow: hidden; }
.raver-kanban-col-terminada .ws-tb-lista:empty { display: none; }
.raver-kanban-col-terminada .ws-tb-tarjeta {
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border: 0;
    border-bottom: 1px solid var(--tinta-borde);
    border-radius: 0;
    background: transparent;
}
.raver-kanban-col-terminada .ws-tb-tarjeta:last-child { border-bottom: 0; }
.raver-kanban-col-terminada .ws-tb-tarjeta:hover { background: var(--tinta-hover); }
.raver-kanban-col-terminada .ws-tb-tarjeta.sel { box-shadow: inset 2px 0 0 var(--tinta-acento-tx); border-color: var(--tinta-borde); }
.raver-kanban-col-terminada .ws-tb-check { display: inline-flex; color: var(--tinta-ok); }
.raver-kanban-col-terminada .ws-tb-t-arriba,
.raver-kanban-col-terminada .ws-tb-segs,
.raver-kanban-col-terminada .ws-tb-proy,
.raver-kanban-col-terminada .ws-tb-frac,
.raver-kanban-col-terminada .ws-tb-estado-txt,
.raver-kanban-col-terminada .ws-tb-av { display: none; }
.raver-kanban-col-terminada .ws-tb-titulo { overflow: hidden; font-size: 13px; font-weight: 400; color: var(--tinta-texto-2); text-overflow: ellipsis; white-space: nowrap; }
.raver-kanban-col-terminada .ws-tb-t-pie { min-height: 0; }
.raver-kanban-col-terminada .ws-tb-fecha { margin-left: 0; font-size: 11px; }
.ws-tb-oculta { display: none !important; }
.raver-portal-container .ws-tb-restantes {
    display: block;
    margin: 8px 2px 0;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--tinta-texto-2) !important;
    font-size: 12.5px !important;
    cursor: pointer;
}
.raver-portal-container .ws-tb-restantes:hover { color: var(--tinta-texto) !important; text-decoration: underline; }
.ws-tb-tabla-caja { overflow-x: auto; border: 1px solid var(--tinta-borde); border-radius: var(--r-3); background: var(--tinta-sup); }
.ws-tb-tabla { width: 100%; border-collapse: collapse; font-size: 13px; }
.ws-tb-tabla th {
    padding: 10px 14px;
    border-bottom: 1px solid var(--tinta-borde);
    font-family: var(--f-mono);
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: .08em;
    text-align: left;
    text-transform: uppercase;
    color: var(--tinta-texto-3);
    white-space: nowrap;
}
.ws-tb-tabla td { padding: 10px 14px; border-bottom: 1px solid var(--tinta-borde); color: var(--tinta-texto-2); vertical-align: middle; }
.ws-tb-tabla tr:last-child td { border-bottom: 0; }
.ws-tb-tabla .num { text-align: right; }
.ws-tb-fila-lista { cursor: pointer; }
.ws-tb-fila-lista:hover td { background: var(--tinta-hover); }
.ws-tb-fila-lista.sel td { background: var(--tinta-acento-suave); }
.ws-tb-fila-lista:focus-visible { outline: none; box-shadow: inset var(--foco); }
.ws-tb-lista-titulo { color: var(--tinta-texto) !important; font-weight: 500; }
.ws-tb-lista-sec { color: var(--tinta-texto-3); }
.ws-tb-tabla .ws-tb-fecha { margin-left: 0; }
.ws-tb-vacio-fila { padding: 28px 14px !important; text-align: center; color: var(--tinta-texto-3) !important; }
.ws-tb-panel {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 10000;
    display: flex;
    flex-direction: column;
    width: min(360px, 100vw);
    border-left: 1px solid var(--tinta-borde);
    background: var(--tinta-fondo);
    color: var(--tinta-texto);
}
@media (min-width: 1040px) {
    body.raver-panel-app .ws-tb-panel { top: 52px; z-index: 9990; }
    body.raver-panel-app.admin-bar .ws-tb-panel { top: 84px; }
}
@media (min-width: 1100px) {
    .ws-tb { padding-right: 376px; }
    .ws-tb-panel-nueva .ws-tb-cerrar { display: none !important; }
}
.ws-tb-p-ayuda { margin: 0 0 14px; font-size: 12.5px; line-height: 1.5; color: var(--tinta-texto-3); }
.ws-tb-panel-nueva .ws-tb-nueva { display: flex; flex-direction: column; gap: 10px; padding: 0; border: 0; background: transparent; }
.ws-tb-panel-nueva .ws-tb-nueva-mas { grid-template-columns: 1fr 1fr; gap: 8px; }
.ws-tb-p-cab {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    height: 48px;
    padding: 0 16px 0 20px;
    border-bottom: 1px solid var(--tinta-borde);
    flex: none;
}
.ws-tb-p-migas { display: flex; align-items: center; gap: 8px; min-width: 0; overflow: hidden; font-size: 13px; color: var(--tinta-texto-3); white-space: nowrap; }
.ws-tb-p-migas b { overflow: hidden; color: var(--tinta-texto); font-weight: 500; text-overflow: ellipsis; }
.ws-tb-p-migas .ws-miga-sep { width: 12px; height: 12px; flex: none; }
.raver-portal-container .ws-tb-cerrar,
.ws-tb-panel .ws-tb-cerrar {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0 !important;
    border: 0 !important;
    border-radius: var(--r-1) !important;
    background: transparent !important;
    color: var(--tinta-texto-2) !important;
    cursor: pointer;
    flex: none;
}
.ws-tb-panel .ws-tb-cerrar:hover { background: var(--tinta-hover) !important; color: var(--tinta-texto) !important; }
.ws-tb-p-cuerpo { flex: 1 1 auto; overflow-y: auto; padding: 20px; min-height: 0; scrollbar-width: thin; scrollbar-color: var(--tinta-borde-2) transparent; }
.ws-tb-p-titulo { margin: 0 0 18px; font-family: var(--f-marca); font-size: 24px; font-weight: 600; letter-spacing: -.01em; line-height: 1.2; color: var(--tinta-texto-fuerte); }
.ws-tb-props { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 10px 12px; margin: 0 0 22px; font-size: 13px; align-items: center; }
.ws-tb-props dt { color: var(--tinta-texto-3); }
.ws-tb-props dd { margin: 0; display: flex; align-items: center; gap: 8px; color: var(--tinta-texto); min-width: 0; }
.ws-tb-props .ws-av { width: 22px; height: 22px; font-size: 8.5px; }
.ws-tb-check-sec { margin: 0 0 22px; }
.ws-tb-check-cab { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.ws-tb-check-cab .ws-mono { font-size: 12px; color: var(--tinta-texto-3); }
.ws-tb-check-cab b { font-weight: 500; color: var(--tinta-texto); }
.ws-tb-pasos { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; }
.ws-tb-pasos li { display: flex; align-items: center; gap: 12px; min-height: 38px; }
.ws-tb-pasos form { margin: 0; display: contents; }
.ws-tb-pasos .raver-checklist-texto { flex: 1; font-size: 14px; color: var(--tinta-texto); }
.ws-tb-pasos .raver-checklist-hecho .raver-checklist-texto { color: var(--tinta-texto-3); }
.ws-tb-siguiente { display: none; color: var(--tinta-acento-tx) !important; }
.ws-tb-pasos .es-siguiente .ws-tb-siguiente { display: inline; }
.ws-tb-pasos .ws-tb-quitar-form .raver-kanban-quitar {
    padding: 0 4px !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--tinta-texto-3) !important;
    font-size: 16px !important;
    line-height: 1 !important;
    cursor: pointer;
    opacity: 0;
}
.ws-tb-pasos li:hover .raver-kanban-quitar,
.ws-tb-pasos .raver-kanban-quitar:focus-visible { opacity: 1; }
.ws-tb-pasos .raver-kanban-quitar:hover { color: var(--tinta-error, var(--tinta-mal)) !important; }
.raver-portal-container .ws-casilla {
    display: inline-grid !important;
    place-items: center;
    width: 18px;
    height: 18px;
    flex: none;
    padding: 0 !important;
    border: 1.5px solid var(--tinta-borde-marcado) !important;
    border-radius: 4px !important;
    background: transparent !important;
    color: transparent !important;
    cursor: pointer;
    transition: background var(--m-base) var(--c-asentar), border-color var(--m-base) var(--c-asentar);
}
.raver-portal-container .ws-casilla:hover { border-color: var(--tinta-acento-tx) !important; }
.raver-portal-container .ws-casilla[aria-pressed="true"] {
    border-color: var(--tinta-acento) !important;
    background: var(--tinta-acento) !important;
    color: var(--tinta-sobre-acento) !important;
}
.ws-casilla path { stroke-dasharray: 14; stroke-dashoffset: 14; transition: stroke-dashoffset var(--m-base) var(--c-salida); }
.ws-casilla[aria-pressed="true"] path { stroke-dashoffset: 0; }
.ws-tb-paso-nuevo { display: flex; align-items: center; gap: 8px; margin-top: 8px; }
.ws-tb-paso-nuevo input {
    flex: 1;
    height: 32px;
    padding: 0 10px;
    border: 1px dashed var(--tinta-borde-marcado);
    border-radius: var(--r-1);
    background: transparent;
    color: var(--tinta-texto);
    font-family: var(--f-ui);
    font-size: 13px;
}
.ws-tb-paso-nuevo input:focus { outline: none; border: 1px solid var(--tinta-acento-tx); box-shadow: var(--foco); }
.ws-tb-listo {
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 14px;
    padding: 10px 12px;
    border: 1px solid var(--tinta-acento-linea);
    border-radius: var(--r-2);
    background: var(--tinta-acento-suave);
    font-size: 13px;
}
.ws-tb-check-sec.raver-checklist-completa .ws-tb-listo { display: flex; }
.ws-tb-archivos { margin: 0 0 22px; }
.ws-tb-archivos .ws-rotulo { display: block; margin-bottom: 8px; }
.ws-tb-archivo { display: flex; align-items: center; gap: 10px; padding: 6px 0; color: var(--tinta-texto-2) !important; font-size: 12.5px; text-decoration: none !important; }
.ws-tb-archivo:hover { color: var(--tinta-texto) !important; }
.ws-tb-editar { margin: 0 0 22px; border-top: 1px solid var(--tinta-borde); border-bottom: 1px solid var(--tinta-borde); }
.ws-tb-editar > summary { padding: 10px 0; color: var(--tinta-texto-2); font-size: 13px; cursor: pointer; list-style: none; }
.ws-tb-editar > summary::-webkit-details-marker { display: none; }
.ws-tb-editar > summary::after { content: "+"; float: right; color: var(--tinta-texto-3); }
.ws-tb-editar[open] > summary::after { content: "−"; }
.ws-tb-form { display: flex; flex-direction: column; gap: 12px; padding: 4px 0 16px; }
.ws-tb-form label { display: flex; flex-direction: column; gap: 5px; font-size: 12px; color: var(--tinta-texto-3); }
.ws-tb-form input[type="text"],
.ws-tb-form input[type="date"],
.ws-tb-form select,
.ws-tb-form textarea {
    width: 100%;
    padding: 7px 10px;
    border: 1px solid var(--tinta-borde-2);
    border-radius: var(--r-1);
    background: var(--tinta-campo);
    color: var(--tinta-texto);
    font-family: var(--f-ui);
    font-size: 13px;
}
.ws-tb-form input:focus, .ws-tb-form select:focus, .ws-tb-form textarea:focus { outline: none; border-color: var(--tinta-acento-tx); box-shadow: var(--foco); }
.ws-tb-dos { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ws-tb-form .raver-kanban-prios { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; border: 0; }
.ws-tb-form .raver-kanban-prios legend { padding: 0; margin-bottom: 5px; font-size: 12px; color: var(--tinta-texto-3); }
.ws-tb-form .raver-kanban-prio-op { flex-direction: row; align-items: center; gap: 6px; padding: 5px 10px; border: 1px solid var(--tinta-borde-2); border-radius: var(--r-1); color: var(--tinta-texto-2); cursor: pointer; }
.ws-tb-actividad .ws-rotulo { display: block; margin-bottom: 10px; }
.ws-tb-log { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.ws-tb-log li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 10px; }
.ws-tb-log-av { width: 24px; height: 24px; }
.ws-tb-log-quien { font-size: 13px; font-weight: 500; color: var(--tinta-texto); }
.ws-tb-log-cuando { margin-left: 6px; font-size: 11px; color: var(--tinta-texto-3); }
.ws-tb-log p { margin: 2px 0 0; font-size: 13px; line-height: 1.45; color: var(--tinta-texto-2); }
.ws-tb-log li:not(.ws-tb-log-comentario) p { color: var(--tinta-texto-3); font-size: 12.5px; }
.ws-tb-borrar { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 22px; padding-top: 14px; border-top: 1px solid var(--tinta-borde); }
.ws-tb-borrar small { font-size: 11.5px; color: var(--tinta-texto-3); }
.ws-tb-comentar { flex: none; margin: 0; padding: 12px 20px 16px; border-top: 1px solid var(--tinta-borde); background: var(--tinta-fondo); }
.ws-tb-comentar input {
    width: 100%;
    height: 36px;
    padding: 0 12px;
    border: 1px solid var(--tinta-borde-2);
    border-radius: var(--r-1);
    background: var(--tinta-campo);
    color: var(--tinta-texto);
    font-family: var(--f-ui);
    font-size: 13px;
}
.ws-tb-comentar input:focus { outline: none; border-color: var(--tinta-acento-tx); box-shadow: var(--foco); }
@media (max-width: 1099px) {
    .ws-tb-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .ws-tb-cols { grid-template-columns: 1fr; }
    .ws-tb-buscar { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .ws-tb-tarjeta, .ws-tb-segs i, .ws-casilla, .ws-casilla path { transition-duration: 1ms !important; }
}
.ws-tb input[type="search"].ws-tb-buscar,
.ws-tb .ws-tb-barra select {
    height: 32px !important;
    border: 1px solid var(--tinta-borde-2) !important;
    border-radius: var(--r-1) !important;
    background: var(--tinta-campo) !important;
    box-shadow: none !important;
    color: var(--tinta-texto) !important;
    font-family: var(--f-ui) !important;
    font-size: 13px !important;
}
.ws-tb .ws-tb-nueva input,
.ws-tb .ws-tb-nueva select,
.ws-tb-panel input[type="text"],
.ws-tb-panel input[type="date"],
.ws-tb-panel select,
.ws-tb-panel textarea {
    border: 1px solid var(--tinta-borde-2) !important;
    border-radius: var(--r-1) !important;
    background: var(--tinta-campo) !important;
    box-shadow: none !important;
    color: var(--tinta-texto) !important;
    font-family: var(--f-ui) !important;
}
.ws-tb-panel .ws-tb-paso-nuevo input[type="text"] { border-style: dashed !important; background: transparent !important; }
.ws-tb-panel button, .ws-tb-panel a { text-transform: none !important; letter-spacing: normal !important; }
.ws-tb-panel button.ws-tb-cerrar { background: transparent !important; border: 0 !important; }
.ws-tb .ws-seg a, .ws-tb-archivo, .ws-tb-tarjeta { text-decoration: none !important; }
.ws-tb-editar-form { margin: 0 0 22px; }
.ws-tb-panel .ws-tb-p-titulo-input {
    display: block;
    width: 100%;
    margin: 0 0 6px;
    padding: 6px 8px !important;
    border: 1px solid transparent !important;
    border-radius: var(--r-1) !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--tinta-texto-fuerte) !important;
    font-family: var(--f-marca) !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    letter-spacing: -.01em !important;
    line-height: 1.2 !important;
}
.ws-tb-panel .ws-tb-p-nota {
    display: block;
    width: 100%;
    min-height: 34px;
    margin: 0 0 16px;
    padding: 7px 8px !important;
    border: 1px solid transparent !important;
    border-radius: var(--r-1) !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--tinta-texto-2) !important;
    font-family: var(--f-ui) !important;
    font-size: 13.5px !important;
    line-height: 1.5 !important;
    resize: none;
    overflow: hidden;
}
.ws-tb-panel .ws-tb-p-titulo-input:hover,
.ws-tb-panel .ws-tb-p-nota:hover { border-color: var(--tinta-borde-2) !important; }
.ws-tb-panel .ws-tb-p-titulo-input:focus,
.ws-tb-panel .ws-tb-p-nota:focus { outline: none; border-color: var(--tinta-acento-tx) !important; background: var(--tinta-campo) !important; box-shadow: var(--foco) !important; }
.ws-tb-props-edit { gap: 4px 12px; margin-bottom: 0; }
.ws-tb-props-edit dt { align-self: center; }
.ws-tb-props-edit dd { gap: 8px; }
.ws-tb-props-edit dd > input,
.ws-tb-props-edit dd > select {
    flex: 1 1 auto;
    min-width: 0;
    height: 30px;
    padding: 0 8px !important;
    border: 1px solid transparent !important;
    border-radius: var(--r-1) !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--tinta-texto) !important;
    font-family: var(--f-ui) !important;
    font-size: 13px !important;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}
.ws-tb-props-edit dd > input[type="date"] { font-family: var(--f-mono) !important; }
.ws-tb-props-edit dd > input:hover,
.ws-tb-props-edit dd > select:hover { border-color: var(--tinta-borde-2) !important; background: var(--tinta-hover) !important; }
.ws-tb-props-edit dd > input:focus,
.ws-tb-props-edit dd > select:focus { outline: none; cursor: text; border-color: var(--tinta-acento-tx) !important; background: var(--tinta-campo) !important; box-shadow: var(--foco) !important; }
.ws-tb-props-edit dd > input::placeholder { color: var(--tinta-texto-3); }
.ws-tb-props-edit .ws-tb-cat::before { margin: 0; }
.ws-tb-props-edit .ws-tb-cat { flex: none; }
.ws-tb-guardar {
    position: sticky;
    bottom: -20px;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px -20px 0;
    padding: 10px 20px;
    border-top: 1px solid var(--tinta-acento-linea);
    background: var(--tinta-fondo);
    box-shadow: 0 -8px 16px var(--tinta-fondo);
}
.ws-tb-guardar[hidden] { display: none !important; }
.ws-tb-guardar > span { flex: 1; font-size: 12.5px; color: var(--tinta-texto-2); }
@media (min-width: 1100px) {
    .ws-tb-barra { flex-wrap: nowrap; }
    .ws-tb-barra-izq { flex: none; flex-wrap: nowrap; }
    .ws-tb-barra-der { flex: 1 1 auto; flex-wrap: nowrap; justify-content: flex-end; }
    .ws-tb-barra-der .ws-tb-buscar { flex: 1 1 140px; width: auto; min-width: 120px; max-width: 420px; margin-right: auto; }
    .ws-tb-barra-der > *:not(.ws-tb-buscar) { flex: none; }
    .ws-tb-panel.ws-tb-panel-nueva .ws-tb-cerrar { display: none !important; }
}
.ws-tb > .raver-cobro-aviso { margin: 0 0 14px; }
.ws-tb-panel-nueva .ws-tb-nueva textarea {
    width: 100%; min-height: 110px; padding: 8px 10px; resize: vertical;
    border: 1px solid var(--tinta-borde-2); border-radius: var(--r-1);
    background: var(--tinta-campo); color: var(--tinta-texto);
    font-family: var(--f-ui); font-size: 13px; line-height: 1.5;
}
.ws-tb-panel-nueva .ws-tb-nueva textarea:focus { outline: none; border-color: var(--tinta-acento-tx); box-shadow: var(--foco); }
.ws-tb-panel .ws-tb-p-titulo-input {
    font-size: 18px !important;
    line-height: 1.3 !important;
    resize: none;
    overflow: hidden;
    min-height: 36px;
}
.ws-tb-panel .ws-tb-p-nota {
    min-height: 96px;
    margin: 4px 0 20px;
    padding: 10px 12px !important;
    border: 1px solid var(--tinta-borde) !important;
    background: var(--tinta-campo) !important;
    color: var(--tinta-texto) !important;
    font-size: 14.5px !important;
    line-height: 1.55 !important;
}
.ws-tb-panel .ws-tb-p-cuerpo { display: flex; flex-direction: column; }
.ws-tb-panel .ws-tb-editar-form { display: contents; }
.ws-tb-panel .ws-tb-p-titulo-input { order: 1; }
.ws-tb-panel .ws-tb-p-nota { order: 2; }
.ws-tb-panel .ws-tb-check-sec { order: 3; }
.ws-tb-panel .ws-tb-props-edit { order: 4; margin-bottom: 20px; }
.ws-tb-panel .ws-tb-guardar { order: 5; }
.ws-tb-panel .ws-tb-archivos { order: 6; }
.ws-tb-panel .ws-tb-actividad { order: 7; }
.ws-tb-panel .ws-tb-borrar { order: 8; }
.ws-tb-panel .ws-tb-p-cuerpo > * { flex: none; }


.raver-archivo-miniatura {
    display: block;
    width: 56px;
    height: 56px;
    border-radius: 4px;
    overflow: hidden;
    background: var(--tinta-borde);
    box-shadow: 0 0 0 1px rgb(var(--tinta-vela-rgb) / 0.08);
}
.raver-archivo-miniatura img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.raver-archivo-video b { background: #d9467a; }
.raver-docs-caja { position: relative; }
.raver-docs-caja .raver-specs-card-header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.raver-docs-ayuda { font-size: 11.5px; color: var(--tinta-apagado); }
.raver-docs-soltar {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    border: 2px dashed var(--tinta-acento);
    border-radius: inherit;
    background: color-mix(in srgb, var(--tinta-acento) 14%, rgb(var(--tinta-fondo-rgb) / 0.88));
    color: var(--tinta-texto);
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    pointer-events: none;
}
.raver-docs-caja.raver-docs-sobre .raver-docs-soltar { display: flex; }
.raver-subidas { list-style: none; margin: 14px 0 0; padding: 12px 0 0; border-top: 1px solid var(--tinta-borde); }
.raver-subidas li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; padding: 6px 0; font-size: 12.5px; color: var(--tinta-texto); }
.raver-subidas-nombre { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.raver-subidas-estado { font-family: var(--raver-mono); font-size: 11px; color: var(--tinta-suave); }
.raver-subidas-barra { grid-column: 1 / -1; height: 4px; border-radius: 2px; background: var(--tinta-borde); overflow: hidden; }
.raver-subidas-barra span { display: block; width: 0; height: 100%; background: var(--tinta-acento); transition: width .15s linear; }
.raver-subidas-ok .raver-subidas-barra span { background: var(--tinta-ok); }
.raver-subidas-ok .raver-subidas-estado { color: var(--tinta-ok); }
.raver-subidas-error .raver-subidas-barra span { width: 100% !important; background: var(--tinta-mal); }
.raver-subidas-error .raver-subidas-estado { color: var(--tinta-mal); white-space: normal; }
dialog.raver-visor {
    width: min(1200px, calc(100vw - 32px));
    height: calc(100vh - 32px);
    max-width: none;
    max-height: none;
    margin: auto;
    padding: 0;
    border: 1px solid var(--tinta-borde);
    border-radius: 8px;
    background: var(--tinta-campo);
    color: var(--tinta-texto);
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6);
}
dialog.raver-visor[open] { display: flex; flex-direction: column; }
dialog.raver-visor::backdrop { background: rgb(var(--tinta-fondo-rgb) / 0.82); backdrop-filter: blur(3px); }
.raver-visor-barra {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    padding: 10px 12px 10px 16px;
    border-bottom: 1px solid var(--tinta-borde);
    background: var(--tinta-sup2);
}
.raver-visor-ext {
    flex-shrink: 0;
    padding: 3px 7px;
    border-radius: 3px;
    background: var(--tinta-apagado);
    color: var(--tinta-texto-fuerte);
    font-family: var(--raver-mono);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.04em;
}
.raver-visor-ext[data-tipo="pdf"]   { background: var(--tinta-mal); }
.raver-visor-ext[data-tipo="img"]   { background: #8e5cf7; }
.raver-visor-ext[data-tipo="video"] { background: #d9467a; }
.raver-visor-ext[data-tipo="csv"]   { background: #1f9d55; }
.raver-visor-titulo { display: flex; flex-direction: column; gap: 1px; min-width: 0; flex: 1; }
.raver-visor-nombre { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; font-weight: 600; }
.raver-visor-meta { font-size: 11.5px; color: var(--tinta-apagado); }
.raver-visor-cuenta { flex-shrink: 0; font-family: var(--raver-mono); font-size: 11px; color: var(--tinta-suave); }
.raver-visor-botones { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
.raver-visor-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: auto !important;
    min-width: 34px;
    height: 34px;
    margin: 0 !important;
    padding: 0 9px !important;
    border: 1px solid transparent !important;
    border-radius: 4px !important;
    background: transparent !important;
    color: var(--tinta-suave) !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    text-transform: none !important;
    cursor: pointer;
    box-shadow: none !important;
}
.raver-visor-btn:hover { border-color: var(--tinta-borde) !important; background: rgb(var(--tinta-vela-rgb) / 0.05) !important; color: var(--tinta-texto) !important; }
.raver-visor-btn[disabled] { opacity: 0.3; pointer-events: none; }
.raver-visor-bajar { border-color: var(--tinta-borde) !important; color: var(--tinta-texto) !important; }
.raver-visor-cerrar { margin-left: 4px !important; }
.raver-visor-cuerpo {
    position: relative;
    display: flex;
    flex: 1;
    min-height: 0;
    align-items: center;
    justify-content: center;
    overflow: auto;
    background:
        radial-gradient(circle at 50% 40%, rgb(var(--tinta-acento-claro-rgb) / 0.05), transparent 60%),
        #07090d;
}
.raver-visor-cuerpo iframe { width: 100%; height: 100%; border: 0; background: var(--tinta-borde-fuerte); }
.raver-visor-cuerpo img {
    max-width: calc(100% - 48px);
    max-height: calc(100% - 48px);
    object-fit: contain;
    border-radius: 3px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
}
.raver-visor-cuerpo video { max-width: 100%; max-height: 100%; background: #000; }
.raver-visor-cuerpo pre {
    align-self: stretch;
    width: 100%;
    margin: 0;
    padding: 24px 28px;
    font-family: var(--raver-mono);
    font-size: 13px;
    line-height: 1.6;
    color: var(--tinta-texto);
    white-space: pre-wrap;
    word-break: break-word;
}
.raver-visor-tabla { align-self: stretch; width: 100%; padding: 16px; overflow: auto; }
.raver-visor-tabla table { border-collapse: collapse; font-size: 12.5px; }
.raver-visor-tabla th,
.raver-visor-tabla td { padding: 6px 12px; border: 1px solid var(--tinta-borde); text-align: left; white-space: nowrap; color: var(--tinta-texto); }
.raver-visor-tabla th { position: sticky; top: 0; background: var(--tinta-sup2); font-weight: 600; }
.raver-visor-tabla tr:nth-child(even) td { background: rgb(var(--tinta-vela-rgb) / 0.02); }
.raver-visor-aviso {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    max-width: 420px;
    padding: 24px;
    text-align: center;
}
.raver-visor-aviso .raver-archivo-icono { width: 72px; height: 92px; }
.raver-visor-aviso .raver-archivo-icono b { font-size: 12px; bottom: 14px; }
.raver-visor-aviso strong { font-size: 15px; }
.raver-visor-aviso p { margin: 0; font-size: 13px; color: var(--tinta-suave); }
.raver-visor-aviso a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 18px;
    border-radius: 3px;
    background: var(--tinta-acento);
    color: var(--tinta-sobre-acento) !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
}
.raver-visor-cargando { font-size: 13px; color: var(--tinta-apagado); }
@media (max-width: 700px) {
    dialog.raver-visor { width: 100vw; height: 100vh; border-radius: 0; border: 0; }
    .raver-visor-barra { flex-wrap: wrap; padding: 8px 10px; }
    .raver-visor-titulo { order: 1; flex-basis: calc(100% - 60px); }
    .raver-visor-ext { order: 0; }
    .raver-visor-botones { order: 2; width: 100%; justify-content: space-between; }
    .raver-visor-cuenta { display: none; }
    .raver-visor-bajar span { display: none; }
}
.raver-archivo-demo b { background: var(--tinta-alerta); color: #1a1300 !important; }
.raver-visor-ext[data-tipo="demo"] { background: var(--tinta-alerta); color: #1a1300; }
.raver-visor-pantallas { display: inline-flex; gap: 2px; padding-right: 6px; margin-right: 4px; border-right: 1px solid var(--tinta-borde); }
.raver-visor-pantallas[hidden], .raver-visor-copiar[hidden] { display: none !important; }
.raver-visor-pantalla-activa { background: rgb(var(--tinta-acento-claro-rgb) / 0.14) !important; color: var(--tinta-acento-claro) !important; }
.raver-visor-copiar { border-color: var(--tinta-borde) !important; color: var(--tinta-texto) !important; }
.raver-visor-demo {
    width: 100%;
    height: 100%;
    max-width: 100%;
    background: #fff;
    transition: width .25s ease;
}
.raver-visor-demo-chica {
    height: calc(100% - 32px);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 0 0 8px var(--tinta-sup2), 0 20px 60px rgba(0, 0, 0, 0.6);
}
.raver-visor-demo iframe { display: block; width: 100%; height: 100%; border: 0; background: #fff; }
@media (max-width: 900px) {
    .raver-visor-pantallas { display: none !important; }
    .raver-visor-copiar span { display: none; }
}
.raver-demos-caja { position: relative; }
.raver-demos-caja .raver-specs-card-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.raver-demos-caja .raver-specs-card-header > div { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.raver-demos-caja.raver-docs-sobre .raver-docs-soltar { display: flex; }
label.raver-demo-subir { cursor: pointer; margin: 0; }
.raver-demos { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.raver-demo {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 8px 4px 4px;
    border: 1px solid var(--tinta-borde);
    border-radius: 6px;
    background: rgba(245, 165, 36, 0.04);
}
.raver-demo:hover { border-color: rgba(245, 165, 36, 0.45); }
.raver-demo-abrir {
    display: flex;
    flex: 1;
    min-width: 0;
    align-items: center;
    gap: 12px;
    padding: 8px !important;
    color: var(--tinta-texto) !important;
    text-decoration: none !important;
}
.raver-demo-icono {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    border-radius: 6px;
    background: var(--tinta-alerta);
    color: #1a1300;
}
.raver-demo-texto { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.raver-demo-texto strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13.5px; }
.raver-demo-texto small { font-size: 11.5px; color: var(--tinta-apagado); }
.raver-demo-ver { flex-shrink: 0; font-size: 12px; font-weight: 600; color: var(--tinta-alerta); }
.raver-demo-abrir:hover .raver-demo-ver { text-decoration: underline; }
.raver-demo-borrar { margin: 0; }
.raver-demo-borrar button {
    padding: 0 6px !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--tinta-apagado) !important;
    font-size: 17px !important;
    line-height: 1 !important;
    cursor: pointer;
    box-shadow: none !important;
}
.raver-demo-borrar button:hover { color: var(--tinta-mal) !important; }
.raver-demos-vacio {
    margin-top: 12px;
    padding: 18px;
    border: 1px dashed var(--tinta-borde);
    border-radius: 4px;
    font-size: 13px;
    color: var(--tinta-suave);
    text-align: center;
}
@media (max-width: 600px) {
    .raver-demo { flex-wrap: wrap; }
    .raver-demo-ver { display: none; }
}
.raver-demo { background: color-mix(in srgb, var(--tinta-alerta) calc(var(--tono, 0%) * 0.08), transparent); }
.raver-demo-icono { background: color-mix(in srgb, var(--tinta-alerta) var(--tono, 0%), #5b4a2a); }
.raver-demo-texto strong { color: color-mix(in srgb, var(--tinta-texto) calc(55% + var(--tono, 0%) * 0.45), var(--tinta-apagado)); }
.raver-demo-ver { color: color-mix(in srgb, var(--tinta-alerta) var(--tono, 0%), var(--tinta-suave)); }
.raver-demo-ultima { border-color: rgb(var(--tinta-alerta-rgb) / 0.55); box-shadow: 0 0 0 1px rgb(var(--tinta-alerta-rgb) / 0.12), 0 6px 20px rgb(var(--tinta-alerta-rgb) / 0.08); }
.raver-demo-etiqueta {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 6px;
    border-radius: 3px;
    background: var(--tinta-alerta);
    color: #1a1300;
    font-family: var(--raver-mono);
    font-size: 9.5px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    vertical-align: 2px;
}


.raver-marca {
    display: inline-block;
    vertical-align: middle;
}
img.raver-marca-logo {
    height: 28px;
    width: auto;
    max-width: 200px;
    object-fit: contain;
}
.raver-marca-texto {
    font-family: var(--raver-display, inherit);
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--tinta-texto-fuerte);
    line-height: 1.1;
}
.raver-marca-para-claro { display: none; }
:root[data-raver-tema="claro"] .raver-marca-para-oscuro { display: none; }
:root[data-raver-tema="claro"] img.raver-marca-para-claro { display: inline-block; }
.raver-app-top-marca img.raver-marca-logo,
.raver-doc-top-marca img.raver-marca-logo { height: 24px; }
.raver-publico-cab img.raver-marca-logo { height: 32px; }
.raver-tema-cambiar {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding: 0 !important;
    border: 1px solid var(--tinta-borde-fuerte) !important;
    border-radius: 6px !important;
    background: transparent !important;
    color: var(--tinta-suave) !important;
    cursor: pointer;
    flex: 0 0 auto;
    transition: color .15s, border-color .15s, background .15s;
}
.raver-tema-cambiar:hover {
    color: var(--tinta-texto-fuerte) !important;
    border-color: var(--tinta-borde-marcado) !important;
    background: rgb(var(--tinta-vela-rgb) / 0.06) !important;
}
.raver-tema-cambiar .raver-tema-luna { display: none; }
.raver-tema-cambiar[aria-pressed="true"] .raver-tema-sol { display: none; }
.raver-tema-cambiar[aria-pressed="true"] .raver-tema-luna { display: inline; }
:root:not([data-raver-tema="claro"]) .raver-tema-cambiar .raver-tema-sol { display: inline; }
:root:not([data-raver-tema="claro"]) .raver-tema-cambiar .raver-tema-luna { display: none; }
:root[data-raver-tema="claro"] .raver-tema-cambiar .raver-tema-sol { display: none; }
:root[data-raver-tema="claro"] .raver-tema-cambiar .raver-tema-luna { display: inline; }
.raver-pers {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
    gap: 18px;
    align-items: start;
}
.raver-pers-previas { grid-column: 1 / -1; }
.raver-pers-card {
    background: var(--tinta-sup);
    border: 1px solid var(--tinta-borde);
    border-radius: 8px;
    padding: 20px 22px 22px;
    min-width: 0;
}
.raver-pers-card h3 {
    margin: 0 0 4px;
    font-size: 16px;
    font-weight: 700;
    color: var(--tinta-texto-fuerte);
}
.raver-pers-ayuda {
    margin: 4px 0 14px;
    font-size: 12.5px;
    line-height: 1.5;
    color: var(--tinta-suave);
}
.raver-pers-form { display: flex; flex-direction: column; gap: 16px; }
.raver-pers-campo { display: flex; flex-direction: column; gap: 6px; }
.raver-pers-campo > span,
.raver-pers-grupo legend {
    font-family: var(--raver-mono);
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--tinta-suave);
}
.raver-pers-campo input[type="text"] {
    background: var(--tinta-campo);
    border: 1px solid var(--tinta-borde-fuerte);
    border-radius: 6px;
    color: var(--tinta-texto);
    padding: 9px 11px;
    font-size: 14px;
}
.raver-pers-campo input[type="text"]:focus { border-color: var(--tinta-acento); outline: none; }
.raver-pers-grupo { border: 0; margin: 0; padding: 0; min-width: 0; }
.raver-pers-grupo legend { padding: 0; margin-bottom: 8px; }
.raver-pers-logos { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.raver-pers-logo { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.raver-pers-logo-rotulo { font-size: 12.5px; color: var(--tinta-texto-3); font-weight: 600; }
.raver-pers-logo-caja {
    height: 92px;
    border: 1px dashed var(--tinta-borde-marcado);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
}
.raver-pers-logo-caja img { max-width: 100%; max-height: 100%; object-fit: contain; }
.raver-pers-logo-caja small { color: var(--tinta-apagado); font-size: 12px; }
.raver-pers-logo-oscuro { background: #0b0d12; }
.raver-pers-logo-claro  { background: #f4f5f8; }
.raver-pers-logo input[type="file"] {
    font-size: 12px;
    color: var(--tinta-suave);
    max-width: 100%;
}
.raver-pers-quitar {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    color: var(--tinta-texto-3);
    cursor: pointer;
}
.raver-pers-opciones { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.raver-pers-opcion { cursor: pointer; }
.raver-pers-opcion input { position: absolute; opacity: 0; pointer-events: none; }
.raver-pers-opcion span {
    display: inline-block;
    padding: 8px 14px;
    border: 1px solid var(--tinta-borde-fuerte);
    border-radius: 6px;
    font-size: 13px;
    color: var(--tinta-texto-3);
    transition: border-color .15s, color .15s, background .15s;
}
.raver-pers-opcion input:checked + span {
    border-color: var(--tinta-acento);
    color: var(--tinta-texto-fuerte);
    background: rgb(var(--tinta-acento-rgb) / 0.14);
}
.raver-pers-opcion input:focus-visible + span { outline: 2px solid var(--tinta-acento); outline-offset: 2px; }
.raver-pers-paletas { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 10px; }
.raver-pers-paleta { cursor: pointer; display: flex; flex-direction: column; gap: 6px; align-items: stretch; }
.raver-pers-paleta input { position: absolute; opacity: 0; pointer-events: none; }
.raver-pers-muestra {
    display: grid;
    grid-template-columns: 1fr 1fr;
    height: 44px;
    border: 1px solid var(--tinta-borde-fuerte);
    border-radius: 6px;
    overflow: hidden;
    transition: border-color .15s, box-shadow .15s;
}
.raver-pers-muestra i { display: block; }
.raver-pers-muestra-propia i:nth-child(1) { background: linear-gradient(135deg, #ff5a5f, #ffb020); }
.raver-pers-muestra-propia i:nth-child(2) { background: linear-gradient(135deg, #22a06b, #0ea5e9); }
.raver-pers-muestra-propia i:nth-child(3) { background: linear-gradient(135deg, #7c5cff, #0052ff); }
.raver-pers-muestra-propia i:nth-child(4) { background: linear-gradient(135deg, #d9733f, #171717); }
.raver-pers-paleta input:checked + .raver-pers-muestra {
    border-color: var(--tinta-acento);
    box-shadow: 0 0 0 2px rgb(var(--tinta-acento-rgb) / 0.35);
}
.raver-pers-paleta input:focus-visible + .raver-pers-muestra { outline: 2px solid var(--tinta-acento); outline-offset: 2px; }
.raver-pers-paleta-nombre { font-size: 12px; color: var(--tinta-texto-3); text-align: center; }
.raver-pers-colores { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.raver-pers-colores-modo {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px 14px;
    border: 1px solid var(--tinta-borde);
    border-radius: 8px;
    background: var(--tinta-campo);
}
.raver-pers-colores-modo > strong { font-size: 12.5px; color: var(--tinta-texto-2); }
.raver-pers-color { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--tinta-texto-3); cursor: pointer; }
.raver-pers-color input[type="color"] {
    width: 34px;
    height: 26px;
    padding: 0;
    border: 1px solid var(--tinta-borde-fuerte);
    border-radius: 5px;
    background: none;
    cursor: pointer;
    flex: 0 0 auto;
}
.raver-pers-color span { flex: 1; }
.raver-pers-color code { font-family: var(--raver-mono); font-size: 11px; color: var(--tinta-suave); background: none; padding: 0; }
.raver-pers-contraste { font-size: 11.5px; line-height: 1.4; }
.raver-pers-contraste-ok  { color: var(--tinta-ok); }
.raver-pers-contraste-mal { color: var(--tinta-mal); }
.raver-pers-acciones { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.raver-pers-previa-dos { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.raver-pers-previa {
    display: grid;
    grid-template-columns: 34% 1fr;
    min-height: 210px;
    border: 1px solid var(--tinta-borde-fuerte);
    border-radius: 10px;
    overflow: hidden;
    background: var(--tinta-fondo);
    color: var(--tinta-texto);
    font-size: 12px;
}
.raver-pers-previa[data-modo="claro"] {
    --tinta-fondo: #f4f5f8; --tinta-sup: #ffffff; --tinta-campo: #eceef2; --tinta-borde: #dcdfe5;
    --tinta-borde-fuerte: #cdd1d9; --tinta-texto: #14171f; --tinta-texto-fuerte: #0d0f14; --tinta-suave: #6b7280;
    --tinta-acento: #0052ff; --tinta-sobre-acento: #ffffff; --tinta-ok: #12a06a; --tinta-alerta: #c27800; --tinta-mal: #d92d3a;
    --tinta-acento-rgb: 0 82 255; --tinta-ok-rgb: 18 160 106; --tinta-alerta-rgb: 194 120 0; --tinta-mal-rgb: 217 45 58; --tinta-vela-rgb: 20 23 31;
}
.raver-pers-previa-lado {
    background: var(--tinta-sup);
    border-right: 1px solid var(--tinta-borde);
    padding: 12px 10px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.raver-pers-previa-marca { min-height: 26px; display: flex; align-items: center; margin-bottom: 8px; }
.raver-pers-previa-marca img { max-height: 22px; max-width: 100%; object-fit: contain; }
.raver-pers-previa-marca strong { color: var(--tinta-texto-fuerte); font-size: 13px; letter-spacing: .03em; }
.raver-pers-previa-item { padding: 6px 8px; border-radius: 5px; color: var(--tinta-suave); }
.raver-pers-previa-activo { background: rgb(var(--tinta-acento-rgb) / 0.14); color: var(--tinta-texto-fuerte); }
.raver-pers-previa-cuerpo { padding: 14px; }
.raver-pers-previa-tarjeta {
    background: var(--tinta-sup);
    border: 1px solid var(--tinta-borde);
    border-radius: 8px;
    padding: 12px 14px;
}
.raver-pers-previa-tarjeta strong { color: var(--tinta-texto-fuerte); font-size: 13px; }
.raver-pers-previa-tarjeta p { margin: 4px 0 10px; color: var(--tinta-suave); line-height: 1.45; }
.raver-pers-previa-estados { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; font-size: 11px; }
.raver-pers-previa-estados span::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; margin-right: 6px; vertical-align: 1px; background: currentColor; }
.raver-pers-previa-estados .e-ok { color: var(--tinta-ok); }
.raver-pers-previa-estados .e-alerta { color: var(--tinta-alerta); }
.raver-pers-previa-estados .e-mal { color: var(--tinta-mal); }
.raver-pers-previa-botones { display: flex; gap: 8px; }
.raver-pers-previa-botones span { padding: 6px 12px; border-radius: 5px; font-weight: 600; }
.raver-pers-previa-botones .b-acento { background: var(--tinta-acento); color: var(--tinta-sobre-acento); }
.raver-pers-previa-botones .b-sec { border: 1px solid var(--tinta-borde-fuerte); color: var(--tinta-texto); }
@media (max-width: 1100px) {
    .raver-pers { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
    .raver-pers-logos,
    .raver-pers-colores,
    .raver-pers-previa-dos { grid-template-columns: 1fr; }
}
.raver-marca-westudio { display: inline-flex; align-items: center; line-height: 1; }
.raver-marca-westudio .ws-logo { font-size: 21px; }
.raver-marca-cabecera.raver-marca-westudio .ws-logo { font-size: 22px; }
.raver-publico-cab .raver-marca-westudio .ws-logo { font-size: 24px; }
.ws-docdis { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; align-items: start; }
.ws-docdis-previa { position: relative; width: 340px; height: 560px; overflow: hidden; border: 1px solid var(--tinta-borde-2); border-radius: var(--r-2); background: #2a2a2a; }
.ws-docdis-previa iframe { position: absolute; top: 0; left: 0; width: 840px; height: 1400px; border: 0; transform: scale(.4); transform-origin: 0 0; background: transparent; pointer-events: none; }
@media (max-width: 900px) {
    .ws-docdis { grid-template-columns: 1fr; }
    .ws-docdis-previa { justify-self: center; }
}
.ws-docdis-previa iframe { max-width: none !important; width: 840px !important; height: 1400px !important; }
.raver-pers-ancha { grid-column: 1 / -1; }
.raver-pers-aspecto { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 400px); gap: 28px; align-items: start; margin-top: 12px; }
.raver-pers-aspecto-previa { position: sticky; top: 16px; display: flex; flex-direction: column; gap: 0; padding: 16px; border: 1px solid var(--tinta-borde); border-radius: 8px; background: var(--tinta-fondo, transparent); }
.raver-pers-aspecto-previa h4 { margin: 0; font-size: 13px; font-weight: 700; color: var(--tinta-texto-fuerte); }
.raver-pers-aspecto-previa .raver-pers-ayuda { margin: 2px 0 12px; }
.raver-pers-aspecto-previa .raver-pers-previa-dos { grid-template-columns: 1fr; }
@media (max-width: 1000px) {
    .raver-pers-aspecto { grid-template-columns: 1fr; }
    .raver-pers-aspecto-previa { position: static; }
}
.ws-corr { grid-template-columns: minmax(0, 1fr) 380px; }
.ws-corr-colores { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; margin-bottom: 14px; }
.ws-corr-opts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; margin-bottom: 14px; }
.ws-corr-opts select, .ws-corr-opts input[type="range"] { width: 100%; }
.ws-corr-acciones { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 6px; }
.ws-corr-previa { position: sticky; top: 16px; width: 380px; height: 560px; overflow: hidden; border: 1px solid var(--tinta-borde-2); border-radius: var(--r-2); background: #ececef; }
.ws-corr-previa iframe { position: absolute; top: 0; left: 0; width: 640px; height: 950px; border: 0; transform: scale(.59); transform-origin: 0 0; background: transparent; pointer-events: none; max-width: none !important; }
@media (max-width: 900px) {
    .ws-corr { grid-template-columns: 1fr; }
    .ws-corr-previa { position: relative; top: 0; justify-self: center; }
}


:root {
    --f-marca: 'Syne', 'Arial Narrow', sans-serif;
    --f-logo:  'Special Gothic Expanded One', sans-serif;   
    --f-ui:    'Onest', 'Segoe UI', system-ui, sans-serif;
    --f-mono:  'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;
    --m-rapido: 120ms; --m-base: 180ms; --m-panel: 240ms; --m-progreso: 420ms; --m-cierre: 900ms;
    --c-salida:   cubic-bezier(.2, 0, 0, 1);
    --c-entrada:  cubic-bezier(.4, 0, 1, 1);
    --c-asentar:  cubic-bezier(.34, 1.3, .64, 1);
    --r-1: 3px; --r-2: 4px; --r-3: 6px;
}
.ws-mono { white-space: nowrap; font-family: var(--f-mono); font-variant-numeric: tabular-nums slashed-zero; letter-spacing: -.01em; }
.ws-rotulo {
    font-family: var(--f-mono);
    font-size: 10.5px;
    line-height: 14px;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--tinta-texto-3);
}
.ws-logo { display: inline-flex; align-items: baseline; white-space: nowrap; line-height: 1; }
.ws-logo .we { font-family: 'Special Gothic Expanded One', 'Arial Black', sans-serif; letter-spacing: -.02em; color: var(--logo-we, var(--tinta-acento-tx)); }
.ws-logo .st { font-family: 'Special Gothic', 'Arial', sans-serif; font-stretch: 125%; font-weight: 400; letter-spacing: -.01em; color: var(--logo-st, var(--tinta-texto)); }
.ws-ico {
    width: 16px;
    height: 16px;
    flex: none;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: square;
    stroke-linejoin: miter;
}
.ws-ico-20 { width: 20px; height: 20px; }
.ws-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 32px;
    padding: 0 12px !important;
    border: 1px solid transparent !important;
    border-radius: var(--r-1) !important;
    font-family: var(--f-ui) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-decoration: none !important;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: none !important;
    transition: background var(--m-rapido) var(--c-salida), border-color var(--m-rapido) var(--c-salida);
}
.ws-btn-pri { background: var(--tinta-acento) !important; color: var(--tinta-sobre-acento) !important; }
.ws-btn-pri:hover { background: color-mix(in oklab, var(--tinta-acento) 88%, var(--tinta-texto)) !important; }
.ws-btn-sec { background: var(--tinta-sup) !important; border-color: var(--tinta-borde-2) !important; color: var(--tinta-texto) !important; }
.ws-btn-sec:hover { background: var(--tinta-hover) !important; }
.ws-btn-fant { background: transparent !important; color: var(--tinta-texto-2) !important; }
.ws-btn-fant:hover { background: var(--tinta-hover) !important; color: var(--tinta-texto) !important; }
.ws-btn-sm { height: 26px; padding: 0 8px !important; font-size: 12px !important; }
.ws-btn:focus-visible { outline: none; box-shadow: var(--foco) !important; }
.ws-est { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; line-height: 16px; white-space: nowrap; color: var(--tinta-texto); }
.ws-g { display: inline-block; width: 8px; height: 8px; flex: none; border-radius: 50%; color: var(--tinta-texto-3); }
.ws-g-abierto  { border: 1.5px solid currentColor; }
.ws-g-curso    { border: 1.5px solid currentColor; background: linear-gradient(90deg, currentColor 50%, transparent 50%); }
.ws-g-hecho    { background: currentColor; }
.ws-g-atencion { width: 7px; height: 7px; border-radius: 0; background: currentColor; transform: rotate(45deg); }
.ws-g-bloq     { border-radius: 0; position: relative; }
.ws-g-bloq::before, .ws-g-bloq::after { content: ""; position: absolute; left: -1px; top: 3px; width: 10px; height: 1.8px; background: currentColor; transform: rotate(45deg); }
.ws-g-bloq::after { transform: rotate(-45deg); }
.ws-g.acc  { color: var(--tinta-acento-tx); }
.ws-g.ok   { color: var(--tinta-ok); }
.ws-g.alerta { color: var(--tinta-alerta); }
.ws-g.error  { color: var(--tinta-error); }
.ws-barra { position: relative; display: block; height: 4px; background: var(--tinta-pista); border-radius: 1px; overflow: hidden; }
.ws-barra > i { position: absolute; left: 0; top: 0; bottom: 0; background: var(--tinta-acento); border-radius: 1px; transition: width var(--m-progreso) var(--c-salida); }
.ws-barra-gruesa { height: 8px; }
.ws-av {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--tinta-pista);
    color: var(--tinta-texto-2);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0;
}
.ws-vidrio, .ws-superior {
    background: var(--tinta-vidrio);
    -webkit-backdrop-filter: blur(16px) saturate(1.2);
    backdrop-filter: blur(16px) saturate(1.2);
}
.ws-reticula {
    background-image:
        linear-gradient(var(--tinta-reticula) 1px, transparent 1px),
        linear-gradient(90deg, var(--tinta-reticula) 1px, transparent 1px);
    background-size: 24px 24px;
}
.ws-lat-marca, .ws-lat-proy, .ws-firma, .ws-nav-sep { display: none; }
@media (min-width: 1040px) {
    body.raver-panel-app .raver-portal-container > .raver-admin-nav {
        width: 232px;
        background: var(--tinta-fondo);
        border-right: 1px solid var(--tinta-borde);
    }
    body.raver-panel-app .raver-admin-nav .raver-nav-caja {
        display: flex;
        flex-direction: column;
        padding: 0;
        gap: 0;
        background: transparent;
    }
    .ws-lat-marca {
        display: flex;
        align-items: center;
        flex: none;
        height: 40px;
        max-width: 160px;
        margin: 16px 16px 14px;
        color: var(--tinta-texto) !important;
        text-decoration: none !important;
    }
    .ws-lat-marca img.raver-marca-logo {
        width: auto !important;
        height: auto !important;
        max-width: 160px;
        max-height: 40px;
        object-fit: contain;
        object-position: left center;
    }
    .ws-lat-nombre {
        overflow: hidden;
        font-family: var(--f-marca);
        font-size: 19px;
        font-weight: 600;
        letter-spacing: -.02em;
        line-height: 1.1;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    body.raver-panel-app .raver-admin-nav .raver-nav-lista {
        flex: none;
        flex-direction: column;
        flex-wrap: nowrap;
        gap: 1px;
        padding: 0 8px;
        overflow: visible;
    }
    body.raver-panel-app .raver-admin-nav .raver-nav-item {
        display: flex;
        align-items: center;
        gap: 10px;
        height: 30px;
        padding: 0 10px !important;
        border: 0 !important;
        border-radius: var(--r-1) !important;
        background: transparent !important;
        box-shadow: none !important;
        color: var(--tinta-texto-2) !important;
        font-size: 13px !important;
        font-weight: 400 !important;
        text-decoration: none !important;
        transition: background var(--m-rapido) var(--c-salida), color var(--m-rapido) var(--c-salida);
    }
    body.raver-panel-app .raver-admin-nav .raver-nav-item:hover {
        background: var(--tinta-hover) !important;
        color: var(--tinta-texto) !important;
    }
    body.raver-panel-app .raver-admin-nav .raver-nav-item.raver-nav-active,
    body.raver-panel-app .raver-admin-nav .raver-nav-item.raver-nav-active:hover {
        background: var(--tinta-sup) !important;
        box-shadow: inset 0 0 0 1px var(--tinta-borde) !important;
        color: var(--tinta-texto) !important;
    }
    body.raver-panel-app .raver-admin-nav .raver-nav-icono {
        display: inline-flex;
        width: 16px;
        height: 16px;
        justify-content: center;
        color: var(--tinta-texto-3);
        opacity: 1;
    }
    body.raver-panel-app .raver-admin-nav .raver-nav-active .raver-nav-icono { color: var(--tinta-acento-tx); }
    body.raver-panel-app .raver-admin-nav .raver-nav-nombre { flex: 1; }
    body.raver-panel-app .raver-admin-nav .raver-nav-badge,
    body.raver-panel-app .raver-admin-nav .raver-nav-active .raver-nav-badge {
        min-width: 0;
        height: auto;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: var(--tinta-texto-3) !important;
        font-family: var(--f-mono);
        font-size: 11px;
        font-weight: 400;
        line-height: 1;
    }
    .ws-nav-sep { display: block; height: 1px; margin: 8px 10px; background: var(--tinta-borde); }
    .ws-lat-proy {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        gap: 1px;
        min-height: 0;
        padding: 22px 8px 8px;
        overflow-y: auto;
    }
    .ws-lat-proy > .ws-rotulo { padding: 0 10px 8px; }
    .ws-lat-proy-item {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 5px 8px;
        padding: 8px 10px 9px;
        border-radius: var(--r-1);
        color: var(--tinta-texto-2) !important;
        font-size: 12.5px;
        line-height: 1.3;
        text-decoration: none !important;
        transition: background var(--m-rapido) var(--c-salida);
    }
    .ws-lat-proy-item:hover { background: var(--tinta-hover); color: var(--tinta-texto) !important; }
    .ws-lat-proy-item.on {
        background: var(--tinta-sup);
        box-shadow: inset 0 0 0 1px var(--tinta-borde);
        color: var(--tinta-texto) !important;
    }
    .ws-lat-proy-nombre { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .ws-lat-proy-pct { font-size: 11px; color: var(--tinta-texto-3); }
    .ws-lat-proy-item .ws-barra { grid-column: 1 / -1; }
    body.raver-panel-app .raver-admin-nav .raver-nav-usuario {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-top: auto;
        padding: 12px 14px;
        border-top: 1px solid var(--tinta-borde);
    }
    .raver-nav-usuario .raver-nav-avatar {
        flex: 0 0 28px;
        width: 28px;
        height: 28px;
        background: var(--tinta-pista);
        color: var(--tinta-texto-2);
        font-size: 11px;
        font-weight: 600;
    }
    .raver-nav-usuario .raver-nav-quien strong { color: var(--tinta-texto); font-size: 13px; font-weight: 500; }
    .raver-nav-usuario .raver-nav-quien small { color: var(--tinta-texto-3); font-size: 12px; }
    .raver-nav-usuario .raver-nav-salir { display: inline-flex; color: var(--tinta-texto-3); }
    .raver-nav-usuario .raver-nav-salir:hover { color: var(--tinta-texto); }
    .ws-firma {
        display: flex;
        flex: none;
        align-items: baseline;
        gap: 8px;
        padding: 0 16px 14px;
    }
    .ws-firma .ws-rotulo { font-size: 10px; }
    .ws-firma .ws-logo { font-size: 12px; --logo-we: var(--tinta-texto-3); --logo-st: var(--tinta-texto-3); }
    body.raver-panel-app .raver-app-top {
        left: 232px;
        height: 52px;
        gap: 12px;
        padding: 0 24px;
        border-bottom: 1px solid var(--tinta-borde);
    }
    .ws-miga {
        display: flex;
        flex: 1 1 auto;
        align-items: center;
        gap: 8px;
        min-width: 0;
        font-size: 13px;
        color: var(--tinta-texto-3);
        white-space: nowrap;
    }
    .ws-miga a { color: inherit !important; text-decoration: none !important; }
    .ws-miga a:hover { color: var(--tinta-texto) !important; }
    .ws-miga-sep { width: 12px; height: 12px; color: var(--tinta-texto-3); }
    .ws-miga-actual { overflow: hidden; color: var(--tinta-texto); font-weight: 500; text-overflow: ellipsis; }
    .ws-miga-meta { overflow: hidden; margin-left: 8px; font-size: 12px; color: var(--tinta-texto-3); text-overflow: ellipsis; }
    body.raver-panel-app .raver-app-top .raver-app-top-acciones { gap: 8px; }
    body.raver-panel-app .raver-portal-container {
        width: calc(100vw - 250px);
        margin-left: calc(232px - ((100vw - 100%) / 2));
        padding: 24px 32px 48px;
    }
    body.raver-panel-app .raver-portal-container:has(.raver-app-top) { padding-top: 76px; }
}
@media (prefers-reduced-motion: reduce) {
    .ws-btn, .ws-barra > i, .ws-lat-proy-item, .raver-nav-item { transition-duration: 1ms !important; }
}
.ws-lat-proy { scrollbar-width: thin; scrollbar-color: var(--tinta-borde-2) transparent; }
.raver-admin-nav .raver-nav-badge,
.raver-admin-nav .raver-nav-active .raver-nav-badge {
    min-width: 0;
    height: auto;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--tinta-texto-3) !important;
    font-family: var(--f-mono);
    font-size: 11px;
    font-weight: 400;
    line-height: 1;
}


.ws-h1 {
    margin: 0;
    font-family: var(--f-marca);
    font-size: 28px;
    line-height: 32px;
    font-weight: 600;
    letter-spacing: -.02em;
    color: var(--tinta-texto);
}
.ws-t2 { color: var(--tinta-texto-2); }
.ws-t3 { color: var(--tinta-texto-3); }
.ws-acc { color: var(--tinta-acento-tx); }
.ws-cifra-xl { font-family: var(--f-mono); font-variant-numeric: tabular-nums; font-size: 28px; line-height: 32px; font-weight: 500; letter-spacing: -.04em; color: var(--tinta-texto); }
.ws-cifra-l  { font-family: var(--f-mono); font-variant-numeric: tabular-nums; font-size: 20px; line-height: 24px; font-weight: 500; letter-spacing: -.03em; color: var(--tinta-texto); }
.ws-u { margin-left: .1em; }
.ws-sep-v { display: inline-block; width: 1px; height: 14px; background: var(--tinta-borde-2); align-self: center; }
.ws-panel { background: var(--tinta-sup); border: 1px solid var(--tinta-borde); border-radius: var(--r-2); }
.ws-barra-media { height: 6px; }
.ws-tl-titulo, .ws-tl-toggle, .ws-tl-hito, .ws-seg button {
    appearance: none;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    color: inherit !important;
    font: inherit !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-align: left;
    cursor: pointer;
}
.ws-proy { display: flex; flex-direction: column; gap: 16px; }
.ws-proy-cab { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.ws-proy-cab-info { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ws-proy-cab-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; font-size: 13px; }
.ws-siguiente {
    flex: none;
    width: 400px;
    max-width: 100%;
    padding: 14px 16px;
    border: 1px solid var(--tinta-acento-linea);
    border-radius: var(--r-2);
    background: var(--tinta-sup);
}
.ws-siguiente-fila { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 8px 0 6px; }
.ws-siguiente-fila strong { font-size: 14px; font-weight: 500; line-height: 1.3; color: var(--tinta-texto); }
.ws-siguiente-meta { font-size: 12px; }
.ws-horizonte { display: grid; grid-template-columns: 1.15fr .85fr 1.5fr; }
.ws-hor-col { display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: 20px 24px; }
.ws-hor-col + .ws-hor-col { border-left: 1px solid var(--tinta-borde); }
.ws-hor-cab { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ws-hor-cifra { display: flex; align-items: baseline; gap: 10px; font-size: 13px; }
.ws-hor-sub { font-size: 13px; }
.ws-hor-veredicto { font-size: 12px; }
.ws-hor-tiempo { display: flex; flex-direction: column; gap: 8px; margin-top: 2px; }
.ws-hor-linea { position: relative; display: block; height: 9px; border-bottom: 1px solid var(--tinta-borde-control); }
.ws-hor-linea i { position: absolute; bottom: -1px; width: 1px; height: 9px; background: var(--tinta-texto-2); }
.ws-hor-montos { display: flex; flex-wrap: wrap; gap: 8px 32px; }
.ws-hor-montos > div { display: flex; flex-direction: column; gap: 2px; }
.ws-hor-nota { font-size: 12px; }
.ws-hor-tramos { display: flex; gap: 6px; margin-top: 4px; }
.ws-hor-tramo { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.ws-hor-tramo-txt { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.ws-tl { --c1: 280px; --c3: 108px; position: relative; overflow: hidden; }
.ws-tl-fila {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: var(--c1) minmax(0, 1fr) var(--c3);
    align-items: stretch;
    min-height: 32px;
    border-bottom: 1px solid var(--tinta-borde);
}
.ws-tl-c1 { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 0 16px; font-size: 13px; color: var(--tinta-texto); }
.ws-tl-c2 { position: relative; min-width: 0; border-left: 1px solid var(--tinta-borde); overflow: hidden; }
.ws-tl-c3 { display: flex; align-items: center; justify-content: flex-end; gap: 12px; padding: 0 16px; font-size: 12px; color: var(--tinta-texto); }
.ws-tl-cab { min-height: 34px; }
.ws-tl-cab .ws-tl-c2 { overflow: visible; }
.ws-tl-tick,
.ws-tl-punto,
.ws-tl-hito,
.ws-tl-atraso,
.ws-tl-hoy-pill { left: calc((var(--d) - var(--v0)) / (var(--v1) - var(--v0)) * 100%); }
.ws-tl-tick { position: absolute; top: 50%; transform: translateY(-50%); padding-left: 6px; white-space: nowrap; }
.ws-tl-hoy-pill {
    position: absolute;
    top: 50%;
    z-index: 2;
    transform: translate(-50%, -50%);
    padding: 2px 6px;
    border-radius: 2px;
    background: var(--tinta-acento);
    color: var(--tinta-sobre-acento);
    font-family: var(--f-mono);
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: .08em;
    white-space: nowrap;
}
.ws-tl-cuerpo { position: relative; }
.ws-tl-capa { position: absolute; z-index: 3; top: 0; bottom: 0; left: var(--c1); right: var(--c3); overflow: hidden; pointer-events: none; }
.ws-tl-lin { position: absolute; top: 0; bottom: 0; left: calc((var(--d) - var(--v0)) / (var(--v1) - var(--v0)) * 100%); width: 1px; background: var(--tinta-reticula); }
.ws-tl-hoy { position: absolute; top: 0; bottom: 0; left: calc((var(--d) - var(--v0)) / (var(--v1) - var(--v0)) * 100%); width: 2px; margin-left: -1px; background: var(--tinta-acento-tx); }
.ws-tl-carril { min-height: 36px; }
.ws-tl-carril .ws-tl-c1 svg { color: var(--tinta-texto-3); }
.ws-tl-carril-cobros { background: var(--tinta-hover); }
.ws-tl-carril-nota { position: absolute; top: 50%; left: 16px; transform: translateY(-50%); font-size: 12px; white-space: nowrap; }
.ws-tl-hilo {
    position: absolute;
    top: 50%;
    left: calc((var(--d0) - var(--v0)) / (var(--v1) - var(--v0)) * 100%);
    width: calc((var(--d1) - var(--d0)) / (var(--v1) - var(--v0)) * 100%);
    height: 1px;
    background: var(--tinta-acento-linea);
}
.ws-tl-hilo-pasado { background: var(--tinta-acento-tx); }
.ws-tl-punto, .ws-tl-hito { position: absolute; top: 50%; display: flex; align-items: center; transform: translate(-50%, -50%); height: 16px; }
.ws-tl-punto i { display: block; width: 10px; height: 10px; border: 1.5px solid var(--tinta-acento-tx); border-radius: 50%; }
.ws-tl-punto.lleno i { background: var(--tinta-acento-tx); }
.ws-tl-punto.vacio i { background: var(--tinta-sup); }
.ws-tl-punto em, .ws-tl-hito em {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-style: normal;
    font-size: 11.5px;
    line-height: 1;
    color: var(--tinta-texto);
    white-space: nowrap;
}
.ws-tl-punto.lleno em, .ws-tl-hito.cerrado em { left: 16px; }
.ws-tl-punto.vacio em, .ws-tl-hito.abierto em { right: 16px; }
.ws-tl-hito i { display: block; width: 9px; height: 9px; border: 1.5px solid var(--tinta-texto-2); transform: rotate(45deg); }
.ws-tl-hito.cerrado i { background: var(--tinta-ok); border-color: var(--tinta-ok); }
.ws-tl-hito.abierto i { background: var(--tinta-sup); }
.ws-tl-hito:hover em { text-decoration: underline; }
.ws-tl-hito:focus-visible { outline: none; box-shadow: var(--foco) !important; }
.ws-tl-fase { min-height: 36px; cursor: pointer; }
.ws-tl-fase:hover { background: var(--tinta-hover); }
.ws-tl-fase .ws-tl-c1 b { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ws-tl-toggle { display: inline-flex !important; align-items: center; justify-content: center; width: 16px !important; height: 16px; padding: 0 !important; color: var(--tinta-texto-3) !important; }
.ws-tl-toggle svg { transition: transform var(--m-rapido) var(--c-salida); }
.ws-tl-grupo:not(.abierta) .ws-tl-toggle svg { transform: rotate(-90deg); }
.ws-tl-grupo:not(.abierta) .ws-tl-tareas { display: none; }
.ws-tl-tarea { min-height: 30px; }
.ws-tl-tarea.nivel-2 .ws-tl-c1 { padding-left: 40px; }
.ws-tl-tarea.nivel-1 .ws-tl-c1 { padding-left: 16px; }
.ws-tl-tarea.siguiente { background: var(--tinta-acento-suave); }
.ws-tl-tarea.hecha .ws-tl-titulo { color: var(--tinta-texto-3) !important; }
.ws-tl-titulo { flex: 0 1 auto; min-width: 0 !important; overflow: hidden; padding: 0 !important; font-size: 13px !important; color: var(--tinta-texto-2) !important; text-overflow: ellipsis; white-space: nowrap; }
.ws-tl-titulo:hover { color: var(--tinta-texto) !important; text-decoration: underline; }
.ws-tl-tarea .ws-rotulo { flex: none; font-size: 10px; }
.ws-tl-barra {
    position: absolute;
    top: 50%;
    left: calc((var(--d0) - var(--v0)) / (var(--v1) - var(--v0)) * 100%);
    width: calc((var(--d1) - var(--d0)) / (var(--v1) - var(--v0)) * 100%);
    min-width: 6px;
    height: 10px;
    transform: translateY(-50%);
    overflow: hidden;
    border: 1px solid var(--tinta-borde-2);
    border-radius: 1px;
    background: var(--tinta-pista);
}
.ws-tl-barra > i { position: absolute; top: 0; bottom: 0; left: 0; background: var(--tinta-acento); transition: width var(--m-progreso) var(--c-salida); }
.ws-tl-barra.fina { height: 8px; }
.ws-tl-barra.hecha { border-color: transparent; background: var(--tinta-acento-linea); }
.ws-tl-barra.hecha > i { background: var(--tinta-acento-linea); }
.ws-tl-barra.abierta { -webkit-mask-image: linear-gradient(90deg, #000 55%, transparent); mask-image: linear-gradient(90deg, #000 55%, transparent); }
.ws-tl-atraso { position: absolute; top: 50%; display: flex; align-items: center; gap: 6px; transform: translate(10px, -50%); font-size: 11.5px; white-space: nowrap; }
.ws-tl-vacio { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 44px 24px; text-align: center; font-size: 13px; color: var(--tinta-texto-2); border-bottom: 1px solid var(--tinta-borde); }
.ws-tl-vacio p { max-width: 460px; margin: 0; line-height: 1.5; }
.ws-tl-vacio strong { color: var(--tinta-texto); font-weight: 500; }
.ws-tl-agregar { padding: 6px 12px; }
.ws-tl-pie { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; }
.ws-tl-leyenda { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 0; padding: 0; list-style: none; font-size: 12px; color: var(--tinta-texto-3); }
.ws-tl-leyenda li { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.ley { display: inline-block; flex: none; }
.ley-hecha { width: 20px; height: 6px; background: var(--tinta-acento-linea); }
.ley-curso { width: 20px; height: 6px; background: linear-gradient(90deg, var(--tinta-acento) 50%, var(--tinta-pista) 50%); }
.ley-pista { width: 20px; height: 6px; border: 1px solid var(--tinta-borde-2); background: var(--tinta-pista); }
.ley-hito { width: 8px; height: 8px; border: 1.5px solid var(--tinta-texto-2); transform: rotate(45deg); }
.ley-cobro { width: 9px; height: 9px; border: 1.5px solid var(--tinta-acento-tx); border-radius: 50%; }
.ws-seg { display: inline-flex; padding: 2px; border: 1px solid var(--tinta-borde); border-radius: var(--r-1); background: var(--tinta-hundido); }
.ws-seg button { height: 24px; padding: 0 12px !important; border-radius: 2px !important; font-size: 12px !important; color: var(--tinta-texto-3) !important; }
.ws-seg button.on { background: var(--tinta-sup) !important; box-shadow: 0 0 0 1px var(--tinta-borde-2) !important; color: var(--tinta-texto) !important; }
.ws-seg button:focus-visible { outline: none; box-shadow: var(--foco) !important; }
.ws-cobros-hito { margin: 4px 0 0; padding: 12px 14px; border: 1px solid var(--tinta-borde); border-radius: var(--r-2); }
.ws-cobros-hito legend { padding: 0 6px; font-family: var(--f-mono); font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--tinta-texto-3); }
.ws-cobros-hito-fila { display: flex !important; flex-direction: row !important; align-items: center; gap: 10px; padding: 6px 0; font-size: 13px; color: var(--tinta-texto); cursor: pointer; }
.ws-cobros-hito-fila input { flex: none; width: 16px !important; height: 16px; margin: 0 !important; }
.ws-cobros-hito-fila span { flex: 1; min-width: 0; }
.ws-cobros-hito-fila small { color: var(--tinta-texto-3); font-size: 11.5px; }
.ws-cobros-hito-fila b { font-weight: 400; color: var(--tinta-texto-2); }
.ws-cobros-hito .raver-cobro-accion { margin-top: 8px; }
@media (max-width: 1240px) {
    .ws-proy-cab { flex-direction: column; }
    .ws-siguiente { width: 100%; }
    .ws-horizonte { grid-template-columns: 1fr 1fr; }
    .ws-hor-cobros { grid-column: 1 / -1; border-left: 0 !important; border-top: 1px solid var(--tinta-borde); }
}
@media (max-width: 760px) {
    .ws-horizonte { grid-template-columns: 1fr; }
    .ws-hor-col + .ws-hor-col { border-left: 0; border-top: 1px solid var(--tinta-borde); }
    .ws-tl { --c1: 150px; --c3: 74px; }
    .ws-tl-c1 { padding: 0 8px; }
    .ws-tl-c3 { padding: 0 8px; gap: 6px; }
    .ws-tl-tarea.nivel-2 .ws-tl-c1 { padding-left: 24px; }
    .ws-h1 { font-size: 22px; line-height: 26px; }
}
@media (prefers-reduced-motion: reduce) {
    .ws-tl-barra > i, .ws-tl-toggle svg { transition-duration: 1ms !important; }
}
.ws-tl-cab .ws-rotulo { font-size: 10.5px; font-weight: 500; color: var(--tinta-texto-3); }
.ws-tl-cab .ws-tl-c1, .ws-tl-cab .ws-tl-c3 { align-items: center; }
.ws-tl-carril { --filas: 1; min-height: calc(36px + (var(--filas) - 1) * 15px); }
.ws-tl-carril .ws-tl-c1, .ws-tl-carril .ws-tl-c3 { align-items: flex-start; height: 36px; padding-top: 0; line-height: 36px; }
.ws-tl-carril .ws-tl-c1 { align-items: center; }
.ws-tl-carril .ws-tl-c3 { align-items: center; }
.ws-tl-punto, .ws-tl-hito { top: 18px; }
.ws-tl-punto em, .ws-tl-hito em { top: 50%; transform: translateY(calc(-50% + var(--fila, 0) * 15px)); }
.ws-tl-punto.sin-rotulo em, .ws-tl-hito.sin-rotulo em { display: none; }
.ws-proy { margin-bottom: 24px; }
.ws-flip.ws-tl-punto.lleno em, .ws-flip.ws-tl-hito.cerrado em { left: auto; right: 16px; }
.ws-flip.ws-tl-punto.vacio em, .ws-flip.ws-tl-hito.abierto em { right: auto; left: 16px; }
.ws-tl-carril.apilado { min-height: calc(42px + var(--filas) * 15px); }
.ws-tl-carril.apilado .ws-tl-punto, .ws-tl-carril.apilado .ws-tl-hito { top: 15px; }
.ws-tl-carril.apilado .ws-tl-punto em, .ws-tl-carril.apilado .ws-tl-hito em { top: 24px; left: -4px; right: auto; transform: translateY(calc(var(--fila, 0) * 15px)); }
.ws-tl-carril.apilado .ws-flip em { left: auto; right: -4px; }
.ws-tl-tick.ws-oculto { visibility: hidden; }
@media (max-width: 760px) {
    .ws-tl { overflow-x: auto; }
    .ws-tl-cab, .ws-tl-cuerpo { min-width: 640px; }
    .ws-tl { --c1: 170px; --c3: 84px; }
}
.ws-tl-hito { padding: 0 !important; line-height: 0; justify-content: center; }
.ws-tl-carril .ws-tl-c1 span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }


@media (min-width: 1040px) {
    body.raver-panel-app .raver-app-top {
        left: 0;
        z-index: 9999;
        padding: 0 24px 0 0;
        gap: 0;
    }
    body.raver-panel-app .raver-app-top .raver-app-top-marca {
        display: flex;
        align-items: center;
        flex: 0 0 232px;
        width: 232px;
        height: 100%;
        padding: 0 16px;
        box-sizing: border-box;
        border-right: 1px solid var(--tinta-borde);
        color: var(--tinta-texto) !important;
        text-decoration: none !important;
        overflow: hidden;
    }
    .raver-app-top-marca img.raver-marca-logo {
        width: auto;
        height: auto;
        max-width: 200px;
        max-height: 30px;
        object-fit: contain;
        object-position: left center;
    }
    .raver-app-top-marca .raver-marca-texto { font-size: 17px; }
    body.raver-panel-app .raver-app-top .ws-miga { padding-left: 24px; }
    .ws-lat-marca { display: none !important; }
    body.raver-panel-app .raver-portal-container > .raver-admin-nav { top: 52px; }
    body.raver-panel-app.admin-bar .raver-portal-container > .raver-admin-nav { top: 84px; }
    body.raver-panel-app .raver-admin-nav .raver-nav-caja { padding-top: 12px; }
}
.raver-proy-cover,
.raver-proy-card-cover {
    --tinta-texto-fuerte: #ffffff;
    --tinta-texto: #eef1f6;
    --tinta-texto-2: #dde1e8;
    --tinta-texto-3: #b4bac6;
    --tinta-suave: #aab1c0;
    --tinta-apagado: #8b93a3;
    --tinta-acento-claro: #8cabff;
    --tinta-acento-claro-rgb: 140 171 255;
    --tinta-sobre-acento: #ffffff;
    --tinta-vela-rgb: 255 255 255;
    --tinta-fondo-rgb: 5 6 10;
    --tinta-ok: #3ddc97;
    --tinta-alerta: #ffb020;
    --tinta-mal: #ff5c5c;
    --tinta-ok-rgb: 61 220 151;
    --tinta-alerta-rgb: 255 176 32;
    --tinta-mal-rgb: 255 92 92;
    color: #eef1f6;
}


.ws-pr [hidden],
.ws-pr-lista [hidden] { display: none !important; }
.ws-tabs { display: flex; align-items: center; gap: 4px; }
.ws-tab {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 34px;
    padding: 0 10px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: var(--tinta-texto-3) !important;
    font-family: var(--f-ui);
    font-size: 13px;
    text-decoration: none !important;
    cursor: pointer;
    transition: color var(--m-rapido) var(--c-salida);
}
.raver-portal-container button.ws-tab { background: transparent !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 10px !important; }
.ws-tab:hover { color: var(--tinta-texto) !important; }
.ws-tab.on { color: var(--tinta-texto) !important; border-bottom-color: var(--tinta-acento-tx); }
.ws-tab .n { font-size: 11px; color: var(--tinta-texto-3); }
@media (min-width: 1100px) {
    .raver-dos-paneles.ws-pr { grid-template-columns: 392px minmax(0, 1fr); gap: 0; }
}
.ws-pr-lista { min-width: 0; border: 1px solid var(--tinta-borde); border-radius: var(--r-3) 0 0 var(--r-3); background: var(--tinta-fondo); overflow: hidden; }
.raver-dos-paneles.ws-pr .raver-panel-trabajo { min-width: 0; border: 1px solid var(--tinta-borde); border-left: 0; border-radius: 0 var(--r-3) var(--r-3) 0; background: var(--tinta-fondo); }
@media (max-width: 1099px) {
    .ws-pr-lista { border-radius: var(--r-3); margin-bottom: 16px; }
    .raver-dos-paneles.ws-pr .raver-panel-trabajo { border-left: 1px solid var(--tinta-borde); border-radius: var(--r-3); }
}
.ws-pr-lista-cab { padding: 14px 14px 0; border-bottom: 1px solid var(--tinta-borde); }
.ws-pr-buscar {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 32px;
    margin-bottom: 8px;
    padding: 0 10px;
    border: 1px solid var(--tinta-borde-2);
    border-radius: var(--r-1);
    background: var(--tinta-campo);
    color: var(--tinta-texto-3);
}
.ws-pr-buscar:focus-within { border-color: var(--tinta-acento-tx); box-shadow: var(--foco); }
.ws-pr-buscar input { flex: 1; min-width: 0; border: 0; background: transparent; color: var(--tinta-texto); font-family: var(--f-ui); font-size: 13px; outline: none; padding: 0; }
.ws-pr-lista-cab .ws-tabs { margin: 0 -10px; overflow-x: auto; scrollbar-width: none; }
.ws-pr-fila {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 12px 16px 13px;
    border-bottom: 1px solid var(--tinta-borde);
    color: var(--tinta-texto) !important;
    text-decoration: none !important;
    transition: background var(--m-rapido) var(--c-salida);
}
.ws-pr-fila:hover { background: var(--tinta-hover); }
.ws-pr-fila.on { background: var(--tinta-acento-suave); }
.ws-pr-fila.on::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: var(--tinta-acento-tx); }
.ws-pr-fila.cerrado .ws-pr-monto,
.ws-pr-fila.cerrado .ws-pr-titulo { color: var(--tinta-texto-3); }
.ws-pr-f1 { display: flex; align-items: center; gap: 10px; }
.ws-pr-cod { font-size: 11px; color: var(--tinta-texto-3); }
.ws-pr-monto { margin-left: auto; font-size: 13px; color: var(--tinta-texto); }
.ws-pr-titulo { font-size: 14px; font-weight: 500; line-height: 1.3; color: var(--tinta-texto); }
.ws-pr-f3 { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; font-size: 12px; color: var(--tinta-texto-3); }
.ws-pr-ojo { width: 13px; height: 13px; margin: 0 2px 0 0; }
.ws-pr-x { color: var(--tinta-texto-3); flex: none; }
.ws-pr-vacio { margin: 0; padding: 28px 18px; color: var(--tinta-texto-3); font-size: 13px; line-height: 1.5; }
.ws-pr-panel { min-width: 0; display: flex; flex-direction: column; }
.ws-pr-cab { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 14px 20px; padding: 20px 24px 12px; }
.ws-pr-cab-txt { min-width: 0; flex: 1 1 320px; }
.ws-pr-cab-linea { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.ws-pr-cab-titulo { margin: 0 0 6px; font-family: var(--f-marca); font-size: 28px; font-weight: 600; letter-spacing: -.01em; line-height: 1.15; color: var(--tinta-texto-fuerte); }
.ws-pr-cab-sub { font-size: 13px; color: var(--tinta-texto-3); }
.ws-pr-cab-acc { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ws-pr-form-acc { display: inline-flex; margin: 0; }
.ws-btn-ico { width: 32px; padding: 0 !important; }
.ws-pr-vistas { padding: 0 24px; border-bottom: 1px solid var(--tinta-borde); gap: 6px; }
.ws-pr-vistas-der { display: flex; align-items: center; gap: 6px; margin-left: auto; padding: 0 0 2px; flex-wrap: wrap; }
.ws-pr-panel > .raver-specs-card { margin: 0; border: 0; border-radius: 0; background: transparent; }
.ws-pr-resumen { display: grid; grid-template-columns: minmax(0, 1fr) 300px; min-height: 480px; }
.ws-pr-lienzo {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 28px 24px 40px;
    border-right: 1px solid var(--tinta-borde);
    background-color: var(--tinta-hundido);
    min-width: 0;
}
.ws-pr-hoja { display: block; width: 100%; max-width: 480px; background: #ffffff; box-shadow: 0 8px 28px rgba(0, 0, 0, .28); }
.ws-pr-hoja img { display: block; width: 100%; height: auto; }
.ws-pr-sin-hoja {
    width: 100%;
    max-width: 420px;
    margin-top: 40px;
    padding: 28px;
    border: 1px dashed var(--tinta-borde-marcado);
    border-radius: var(--r-3);
    background: var(--tinta-fondo);
    text-align: left;
}
.ws-pr-sin-hoja strong { display: block; margin-bottom: 6px; font-size: 15px; color: var(--tinta-texto); }
.ws-pr-sin-hoja p { margin: 0 0 16px; font-size: 13px; line-height: 1.5; color: var(--tinta-texto-3); }
.ws-pr-lado { display: flex; flex-direction: column; gap: 26px; padding: 20px; min-width: 0; }
.ws-pr-lado .ws-rotulo { display: block; margin-bottom: 12px; }
.ws-pr-act, .ws-pr-coment { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.ws-pr-act li { display: grid; grid-template-columns: 12px minmax(0, 1fr); gap: 10px; align-items: start; }
.ws-pr-act .ws-g { margin-top: 5px; }
.ws-pr-act-txt { display: block; font-size: 13px; line-height: 1.35; color: var(--tinta-texto); }
.ws-pr-act-cuando { display: inline-block; margin-top: 2px; font-size: 11px; color: var(--tinta-texto-3); }
.ws-pr-coment li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 10px; }
.ws-pr-coment .ws-av { width: 24px; height: 24px; }
.ws-pr-coment b { font-size: 13px; font-weight: 500; color: var(--tinta-texto); }
.ws-pr-coment p { margin: 3px 0 0; font-size: 13px; line-height: 1.45; color: var(--tinta-texto-2); }
.ws-pr-nada { margin: 0; font-size: 13px; color: var(--tinta-texto-3); }
.ws-pr-si { margin-top: auto; padding: 14px 16px; border: 1px dashed var(--tinta-borde-marcado); border-radius: var(--r-2); }
.ws-pr-si p { margin: 0; font-size: 13px; line-height: 1.5; color: var(--tinta-texto-2); }
@media (max-width: 900px) {
    .ws-pr-resumen { grid-template-columns: 1fr; }
    .ws-pr-lienzo { border-right: 0; border-bottom: 1px solid var(--tinta-borde); }
}
@media (prefers-reduced-motion: reduce) {
    .ws-pr-fila, .ws-tab { transition-duration: 1ms !important; }
}
.raver-dos-paneles.ws-pr .raver-panel-trabajo { transition: opacity var(--m-rapido) var(--c-salida); }
.raver-dos-paneles.ws-pr .raver-panel-trabajo.ws-pr-cargando { opacity: .55; pointer-events: none; }
.ws-pr button,
.ws-pr input[type="search"],
.ws-pr a { font-family: var(--f-ui) !important; text-transform: none !important; letter-spacing: normal !important; }
.ws-pr button.ws-tab {
    height: 34px;
    border: 0 !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--tinta-texto-3) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
}
.ws-pr button.ws-tab:hover { color: var(--tinta-texto) !important; }
.ws-pr button.ws-tab.on { border-bottom-color: var(--tinta-acento-tx) !important; color: var(--tinta-texto) !important; }
.ws-pr a.ws-tab { border-bottom: 2px solid transparent; }
.ws-pr a.ws-tab.on { border-bottom-color: var(--tinta-acento-tx); }
.ws-pr .ws-pr-buscar input[type="search"] {
    height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--tinta-texto) !important;
    font-size: 13px !important;
    -webkit-appearance: none;
    appearance: none;
}
.ws-pr .ws-pr-buscar input[type="search"]::-webkit-search-cancel-button { display: none; }
.ws-pr .ws-pr-cab-titulo,
.ws-pr .ws-pr-sin-hoja strong { margin-top: 0 !important; text-transform: none !important; }
.ws-pr .ws-pr-fila, .ws-pr .ws-pr-fila:hover, .ws-pr .ws-pr-hoja { text-decoration: none !important; }
.ws-pr h2, .ws-pr p, .ws-pr ol, .ws-pr ul, .ws-pr li { letter-spacing: normal; }
.ws-pr ol, .ws-pr ul { list-style: none; }
.ws-pr-panel { container-type: inline-size; container-name: wspr; }
.raver-item-cabeza,
.raver-item-fila,
.raver-item-total {
    grid-template-columns: 32px minmax(0, 1fr) 150px 32px 32px 32px;
    gap: 8px;
    align-items: center;
}
.raver-item-cabeza { padding: 0 0 6px 10px; }
.raver-item-cabeza span { display: none; }
.raver-item-cabeza span:nth-child(2) { display: block; grid-column: 2; }
.raver-item-cabeza span:nth-child(3) { display: block; grid-column: 3; text-align: right; padding-right: 9px; }
.raver-item-fila { padding: 8px 0 8px 10px; border-bottom: 1px solid var(--tinta-borde); }
.raver-item-lista { gap: 0; }
.raver-item-fila > select[name$="[tipo]"],
.ws-sel[data-campo="tipo"]                       { grid-column: 1; grid-row: 1; }
.raver-item-fila > input[name$="[nombre]"]       { grid-column: 2; grid-row: 1; }
.raver-item-fila > input[name$="[costo]"]        { grid-column: 3; grid-row: 1; text-align: right; font-family: var(--f-mono); font-variant-numeric: tabular-nums; }
.raver-item-fila > .raver-item-estado,
.raver-item-fila > .raver-item-estado-cobro,
.ws-sel[data-campo="estado"]                     { grid-column: 4; grid-row: 1; }
.raver-item-fila > .raver-item-boleta-fuera      { grid-column: 5; grid-row: 1; }
.raver-item-fila > .raver-item-mas               { grid-column: 6; grid-row: 1; }
.raver-item-fila > input[name$="[modo_pago]"]    { grid-column: 2; grid-row: 2; }
.raver-item-fila .raver-item-fecha,
.raver-item-fila .raver-item-fecha-fija          { grid-column: 3; grid-row: 2; justify-self: end; }
.raver-item-fila > .raver-item-icono             { grid-column: 4; grid-row: 2; justify-self: center; }
.raver-item-fila > .raver-item-quitar            { grid-column: 5; grid-row: 2; justify-self: center; }
.raver-item-fila:not([data-abierta="1"]) > input[name$="[modo_pago]"],
.raver-item-fila:not([data-abierta="1"]) .raver-item-fecha,
.raver-item-fila:not([data-abierta="1"]) .raver-item-fecha-fija,
.raver-item-fila:not([data-abierta="1"]) > .raver-item-icono,
.raver-item-fila:not([data-abierta="1"]) > .raver-item-quitar { display: none !important; }
.raver-item-fila .raver-item-fecha[hidden] { display: none !important; }
.raver-cobro-form .raver-item-fila input.raver-item-fecha { width: 150px; }
.raver-item-fecha-fija { font-family: var(--f-mono); font-size: 11px; color: var(--tinta-texto-3); text-align: right; }
.raver-item-fecha-fija:empty { display: none !important; }
.raver-item-fecha-fija::before { content: "Pagado el "; font-family: var(--f-ui); }
.raver-cobro-form .raver-item-fila input,
.raver-cobro-form .raver-item-fila select { height: 32px; padding-top: 0; padding-bottom: 0; }
.raver-portal-container .raver-item-mas {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0 !important;
    border: 0 !important;
    border-radius: var(--r-1) !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--tinta-texto-3) !important;
    cursor: pointer;
}
.raver-portal-container .raver-item-mas:hover { background: var(--tinta-hover) !important; color: var(--tinta-texto) !important; }
.raver-item-mas svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: square; transition: transform var(--m-base) var(--c-salida); }
.raver-item-fila[data-abierta="1"] .raver-item-mas svg { transform: rotate(180deg); }
.raver-item-fila[data-abierta="1"] { background: var(--tinta-hover); }
.raver-item-fila select.ws-sel-oculto { display: none !important; }
.ws-sel { position: relative; display: inline-flex; }
.raver-portal-container .ws-sel-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0 !important;
    border: 1px solid var(--tinta-borde-2) !important;
    border-radius: var(--r-1) !important;
    background: var(--tinta-campo) !important;
    box-shadow: none !important;
    color: var(--tinta-texto-3) !important;
    cursor: pointer;
    transition: border-color var(--m-rapido) var(--c-salida), color var(--m-rapido) var(--c-salida);
}
.raver-portal-container .ws-sel-btn:hover { border-color: var(--tinta-borde-marcado) !important; color: var(--tinta-texto) !important; }
.raver-portal-container .ws-sel-btn[aria-expanded="true"] { border-color: var(--tinta-acento-tx) !important; box-shadow: var(--foco) !important; }
.ws-sel-btn svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: square; stroke-linejoin: miter; }
.raver-portal-container .ws-sel-btn.v-pagado { color: var(--tinta-ok) !important; }
.raver-portal-container .ws-sel-btn.v-pendiente { color: var(--tinta-alerta) !important; }
.raver-portal-container .ws-sel-btn.v-anulado { color: var(--tinta-apagado) !important; }
.ws-sel-menu {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    z-index: 40;
    min-width: 170px;
    margin: 0;
    padding: 4px;
    list-style: none;
    border: 1px solid var(--tinta-borde-2);
    border-radius: var(--r-2);
    background: var(--tinta-sup);
    box-shadow: 0 12px 28px var(--tinta-sombra, rgba(0, 0, 0, .35));
}
.ws-sel[data-campo="estado"] .ws-sel-menu { left: auto; right: 0; }
.ws-sel-menu[hidden] { display: none; }
.ws-sel-menu li { margin: 0; }
.raver-portal-container .ws-sel-menu button {
    display: flex !important;
    align-items: center;
    gap: 10px;
    width: 100%;
    height: 32px;
    padding: 0 10px !important;
    border: 0 !important;
    border-radius: var(--r-1) !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--tinta-texto-2) !important;
    font-family: var(--f-ui) !important;
    font-size: 13px !important;
    text-align: left;
    cursor: pointer;
}
.raver-portal-container .ws-sel-menu button:hover { background: var(--tinta-hover) !important; color: var(--tinta-texto) !important; }
.raver-portal-container .ws-sel-menu button[aria-selected="true"] { color: var(--tinta-texto) !important; background: var(--tinta-acento-suave) !important; }
.ws-sel-menu svg { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: square; }
.ws-sel-menu .v-pagado svg { color: var(--tinta-ok); }
.ws-sel-menu .v-pendiente svg { color: var(--tinta-alerta); }
.ws-sel-menu .v-anulado svg { color: var(--tinta-apagado); }
.raver-item-fila .raver-item-estado-cobro {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0 !important;
    border: 1px solid var(--tinta-borde-2);
    border-radius: var(--r-1);
    background: var(--tinta-campo);
    text-decoration: none !important;
}
.raver-item-estado-cobro .raver-item-estado-txt,
.raver-item-estado-cobro > i { display: none; }
.raver-item-estado-cobro svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: square; }
.raver-item-estado-cobro.v-pagado { color: var(--tinta-ok) !important; }
.raver-item-estado-cobro.v-pendiente { color: var(--tinta-alerta) !important; }
.raver-item-estado-cobro.v-anulado { color: var(--tinta-apagado) !important; }
.raver-item-total { padding-left: 10px; min-height: 28px; }
.raver-item-total .raver-item-agregar { grid-column: 1 / 3; grid-row: 1; justify-self: start; }
.raver-item-total > span { grid-column: 2; justify-self: end; grid-row: 1; }
.raver-item-total > strong { grid-column: 3; grid-row: 1; justify-self: end; padding-right: 9px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.raver-item-total-suma > span { grid-column: 2; }
@container wspr (max-width: 560px) {
    .raver-item-fila,
    .raver-item-total,
    .raver-item-cabeza { grid-template-columns: 32px minmax(0, 1fr) 110px 32px 32px 32px; }
    .raver-item-fila > input[name$="[modo_pago]"] { grid-column: 2 / -1; }
    .raver-item-fila .raver-item-fecha,
    .raver-item-fila .raver-item-fecha-fija { grid-column: 2 / 4; grid-row: 3; justify-self: start; }
    .raver-item-fila > .raver-item-icono,
    .raver-item-fila > .raver-item-quitar { grid-row: 3; }
}
.raver-cobro-pdf-actual { flex-wrap: wrap; row-gap: 8px; column-gap: 14px; }
.raver-cobro-pdf-actual > a:first-child { flex: 1 1 100%; min-width: 0; }
.raver-cobro-pdf-actual .raver-pdf-origen { flex: 0 1 auto; white-space: nowrap; }
.raver-cobro-pdf-actual .raver-panel-atajo { white-space: nowrap; }
.raver-item-detalle {
    grid-column: 2 / -1;
    grid-row: 2;
    display: none;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 14px 18px;
    padding: 10px 0 6px;
}
.raver-item-fila[data-abierta="1"] .raver-item-detalle { display: flex; }
.raver-item-campo { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.raver-item-campo[hidden] { display: none !important; }
.raver-item-campo > span {
    font-family: var(--f-mono);
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--tinta-texto-3);
}
.raver-item-campo small { font-size: 11.5px; line-height: 1.4; color: var(--tinta-texto-3); }
.raver-item-campo-modo { flex: 1 1 240px; }
.raver-item-campo-fecha { flex: 0 0 auto; }
.raver-cobro-form .raver-item-campo input { width: 100%; }
.raver-cobro-form .raver-item-campo-fecha input { width: 158px; }
.raver-item-fecha-fija { font-family: var(--f-mono); font-size: 13px; font-weight: 500; color: var(--tinta-texto); }
.raver-item-acciones { display: flex; flex-wrap: wrap; gap: 8px; margin-left: auto; }
.raver-item-detalle .raver-item-icono,
.raver-item-detalle .raver-item-quitar {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: auto !important;
    height: 34px !important;
    padding: 0 14px !important;
    border: 1px solid var(--tinta-borde-2) !important;
    border-radius: var(--r-1) !important;
    background: var(--tinta-sup) !important;
    box-shadow: none !important;
    color: var(--tinta-texto-2) !important;
    font-family: var(--f-ui) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap;
    cursor: pointer;
    transition: background var(--m-rapido) var(--c-salida), border-color var(--m-rapido) var(--c-salida), color var(--m-rapido) var(--c-salida);
}
.raver-item-detalle .raver-item-icono:hover { background: var(--tinta-hover) !important; color: var(--tinta-texto) !important; border-color: var(--tinta-borde-marcado) !important; }
.raver-item-detalle .raver-item-icono svg { width: 16px; height: 16px; flex: none; }
.raver-item-detalle .raver-item-icono-vacio { opacity: .5; cursor: not-allowed; }
.raver-item-detalle .raver-item-boleta-lista { color: var(--tinta-ok) !important; }
.raver-item-detalle .raver-item-quitar svg { width: 12px; height: 12px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: square; }
.raver-item-detalle .raver-item-quitar:hover:not([disabled]) { border-color: rgb(var(--tinta-mal-rgb) / .5) !important; color: var(--tinta-mal) !important; background: rgb(var(--tinta-mal-rgb) / .08) !important; }
.raver-item-detalle .raver-item-quitar[disabled] { opacity: .4; cursor: not-allowed; }
@container wspr (max-width: 560px) {
    .raver-item-acciones { margin-left: 0; width: 100%; }
    .raver-item-acciones > * { flex: 1 1 0; }
}
.raver-item-fecha-fija::before { content: none !important; }
.raver-item-fila .raver-item-fecha-fija { grid-column: auto; grid-row: auto; justify-self: auto; text-align: left; }
.raver-item-fila, .raver-item-total, .raver-item-cabeza { padding-right: 12px; }
.raver-item-detalle { flex-wrap: nowrap; align-items: flex-end; }
.raver-item-detalle .raver-item-campo-modo { flex: 1 1 auto; min-width: 160px; }
.raver-item-detalle .raver-item-acciones { flex: 0 0 auto; flex-wrap: nowrap; margin-left: 0; }
@container wspr (max-width: 620px) {
    .raver-item-detalle { flex-wrap: wrap; }
    .raver-item-detalle .raver-item-acciones { flex-wrap: wrap; width: 100%; }
    .raver-item-detalle .raver-item-acciones > * { flex: 1 1 0; }
}
.raver-portal-container .raver-item-boleta-fuera,
.raver-portal-container .raver-pagos-boleta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid var(--tinta-borde-2);
    border-radius: var(--r-1);
    background: var(--tinta-campo);
    color: var(--tinta-ok) !important;
    text-decoration: none !important;
    transition: background var(--m-rapido) var(--c-salida), border-color var(--m-rapido) var(--c-salida);
}
.raver-portal-container .raver-item-boleta-fuera:hover,
.raver-portal-container .raver-pagos-boleta:hover { background: var(--tinta-hover); border-color: var(--tinta-borde-marcado); }
.raver-item-boleta-fuera svg,
.raver-pagos-boleta svg { width: 16px; height: 16px; }
.raver-portal-container .raver-pagos-fila {
    grid-template-columns: 32px minmax(0, 1fr) 150px 32px 32px;
    gap: 8px;
    padding: 8px 0 8px 10px;
}
.raver-pagos-ico,
.raver-pagos-est {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: var(--tinta-texto-3);
}
.raver-pagos-ico svg,
.raver-pagos-est svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: square; }
.raver-pagos-est.v-pagado { color: var(--tinta-ok); }
.raver-pagos-est.v-pendiente { color: var(--tinta-alerta); }
.raver-pagos-est.v-anulado { color: var(--tinta-apagado); }
.raver-portal-container .raver-pagos-monto { font-family: var(--f-mono); font-variant-numeric: tabular-nums; padding-right: 9px; }
@container wspr (max-width: 560px) {
    .raver-portal-container .raver-pagos-fila { grid-template-columns: 32px minmax(0, 1fr) 110px 32px 32px; }
}
.raver-portal-container .raver-pagos-fila { grid-template-columns: 32px minmax(0, 1fr) 150px 32px 32px 32px; }
.raver-portal-container .raver-pagos-mas {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0 !important;
    border: 0 !important;
    border-radius: var(--r-1) !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--tinta-texto-3) !important;
    cursor: pointer;
}
.raver-portal-container .raver-pagos-mas:hover { background: var(--tinta-hover) !important; color: var(--tinta-texto) !important; }
.raver-pagos-mas svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: square; transition: transform var(--m-base) var(--c-salida); }
.raver-pagos-fila[data-abierta="1"] .raver-pagos-mas svg { transform: rotate(180deg); }
.raver-pagos-fila[data-abierta="1"] { background: var(--tinta-hover); }
.raver-pagos-detalle { display: none; grid-column: 2 / -1; gap: 14px 28px; flex-wrap: wrap; padding: 6px 0 4px; }
.raver-pagos-fila[data-abierta="1"] .raver-pagos-detalle { display: flex; }
.raver-pagos-detalle .raver-item-campo b { font-size: 13px; font-weight: 500; color: var(--tinta-texto); }
@container wspr (max-width: 560px) {
    .raver-portal-container .raver-pagos-fila { grid-template-columns: 32px minmax(0, 1fr) 110px 32px 32px 32px; }
}
.raver-portal-container .raver-pagos-fila { grid-template-columns: 32px minmax(0, 1fr) auto 32px 32px 32px; }
.raver-portal-container .raver-pagos-monto { white-space: nowrap; }
.raver-pagos-nombre small { display: none; }
.raver-pagos-nombre strong { font-weight: 500; overflow-wrap: anywhere; }
.ws-pr-lienzo:has(.ws-pr-editar-doc) { flex-direction: column; align-items: center; gap: 18px; }
.raver-portal-container .raver-item-boleta-nueva { color: var(--tinta-texto-3) !important; cursor: pointer; padding: 0 !important; }
.raver-portal-container .raver-item-boleta-nueva:hover { color: var(--tinta-texto) !important; }
.raver-portal-container .raver-item-boleta-vacia { opacity: .45; cursor: not-allowed; }
.raver-portal-container button.raver-item-boleta-fuera {
    border: 1px solid var(--tinta-borde-2) !important;
    border-radius: var(--r-1) !important;
    background: var(--tinta-campo) !important;
    box-shadow: none !important;
    width: 32px; height: 32px;
}
.raver-portal-container button.raver-item-boleta-fuera:hover { background: var(--tinta-hover) !important; border-color: var(--tinta-borde-marcado) !important; }
.raver-portal-container .raver-item-agregar {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    height: 34px;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 1px solid var(--tinta-acento-tx) !important;
    border-radius: var(--r-1) !important;
    background: var(--tinta-acento-suave) !important;
    box-shadow: none !important;
    color: var(--tinta-acento-tx) !important;
    font-family: var(--f-ui) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    cursor: pointer;
    transition: background var(--m-rapido) var(--c-salida), color var(--m-rapido) var(--c-salida);
}
.raver-portal-container .raver-item-agregar:hover { background: var(--tinta-acento) !important; color: var(--tinta-sobre-acento) !important; }
.raver-item-total .raver-item-agregar { margin-left: -2px !important; }
.ws-pr-panel .raver-form-grilla,
.ws-pr-panel .raver-form-grilla-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 24px; align-items: start; }
.ws-pr-panel .raver-cobro-form .raver-form-grilla label > span,
.ws-pr-panel .raver-form-dato > span { white-space: normal; overflow: visible; text-overflow: clip; }
.ws-pr-panel .raver-form-dato > strong { white-space: nowrap; }
.ws-pr-panel .raver-form-grilla .raver-form-ancho { grid-column: 1 / -1; }
@container wspr (min-width: 860px) {
    .ws-pr-panel .raver-form-grilla-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.raver-portal-container .raver-pagos-fila-cobro { grid-template-columns: 32px minmax(0, 1fr) auto 32px 32px; }
.raver-pagos-sub { display: block !important; font-size: 11.5px; color: var(--tinta-texto-3); }
.raver-portal-container .raver-pagos-editar {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0 !important;
    border: 1px solid var(--tinta-borde-2) !important;
    border-radius: var(--r-1) !important;
    background: var(--tinta-campo) !important;
    box-shadow: none !important;
    color: var(--tinta-texto-3) !important;
    cursor: pointer;
}
.raver-portal-container .raver-pagos-editar:hover { background: var(--tinta-hover) !important; color: var(--tinta-texto) !important; border-color: var(--tinta-borde-marcado) !important; }
.raver-pagos-editar svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: square; stroke-linejoin: miter; }
.raver-pagos-boleta { color: var(--tinta-ok); }
.raver-portal-container .raver-pagos-nombre { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.raver-pagos-barra { position: relative; display: block; height: 4px; border-radius: 2px; background: var(--tinta-borde-2); overflow: hidden; }
.raver-pagos-barra b, .raver-pagos-barra i { position: absolute; left: 0; top: 0; bottom: 0; display: block; transition: width var(--m-base) var(--c-salida); }
.raver-pagos-barra b { background: var(--tinta-alerta); opacity: .35; }   
.raver-pagos-barra i { background: var(--tinta-ok); }                       
.raver-pagos-nombre small.raver-pagos-avance { display: block; font-size: 11.5px; color: var(--tinta-texto-3); font-variant-numeric: tabular-nums; }
.raver-portal-container .raver-pagos-nuevo {
    display: inline-flex !important; align-items: center; justify-content: center;
    width: 32px; height: 32px; padding: 0 !important;
    border: 1px solid var(--tinta-borde-2) !important; border-radius: var(--r-1) !important;
    background: var(--tinta-campo) !important; box-shadow: none !important;
    color: var(--tinta-texto) !important; cursor: pointer;
}
.raver-portal-container .raver-pagos-nuevo:hover:not(:disabled) { background: var(--tinta-hover) !important; border-color: var(--tinta-borde-marcado) !important; }
.raver-portal-container .raver-pagos-nuevo:disabled { opacity: .35; cursor: default; }
.raver-pagos-nuevo svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: square; }
.raver-pagos-cobros { flex-basis: 100%; display: flex; flex-direction: column; gap: 6px; margin-top: 4px; }
.raver-pagos-cobros-tit { font-size: 11px; letter-spacing: .04em; text-transform: uppercase; color: var(--tinta-texto-3); }
.raver-pagos-cobro { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto 32px 32px; gap: 8px; align-items: center; padding: 4px 0; border-top: 1px solid var(--tinta-borde-2); }
.raver-pagos-cobro-texto { display: flex; flex-direction: column; min-width: 0; }
.raver-pagos-cobro-texto strong { font-weight: 500; font-size: 13px; overflow-wrap: anywhere; }
.raver-pagos-cobro-texto small { display: block !important; font-size: 11.5px; color: var(--tinta-texto-3); }
.raver-cobro-item-pago { display: flex; flex-direction: column; gap: 2px; margin: 0 0 12px; }
.raver-cobro-item-pago small { color: var(--tinta-texto-3); }
.raver-cobro-atajos { display: flex; gap: 8px; flex-wrap: wrap; }
.raver-pagos-totales { display: flex; flex-direction: column; gap: 6px; margin-top: 12px; padding: 10px 10px 0; border-top: 1px solid var(--tinta-borde); }
.raver-pagos-totales > div { display: flex; justify-content: flex-end; align-items: baseline; gap: 24px; }
.raver-pagos-totales span { font-family: var(--f-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--tinta-texto-3); }
.raver-pagos-totales strong { min-width: 150px; text-align: right; font-family: var(--f-mono); font-variant-numeric: tabular-nums; font-size: 15px; font-weight: 600; color: var(--tinta-texto-fuerte); }
.raver-pagos-totales .es-pagado strong { color: var(--tinta-ok); font-weight: 500; }
.raver-pagos-totales .es-falta strong { color: var(--tinta-alerta); font-weight: 500; }
.raver-pagos-totales .es-cero strong { color: var(--tinta-texto-3); }
.raver-pres-guardar {
    position: sticky; bottom: 0; z-index: 20; grid-column: 1 / -1;
    display: flex; align-items: center; justify-content: flex-end; gap: 14px;
    margin-top: 16px; padding: 12px 0;
    background: rgb(var(--tinta-fondo-rgb) / 0.92); backdrop-filter: blur(8px);
    border-top: 1px solid var(--tinta-borde);
}
.raver-pres-guardar-aviso { font-size: 12.5px; color: var(--tinta-alerta); }
.raver-pres-guardar .raver-btn-action { margin: 0; }
.raver-pres-guardar.hay-cambios .raver-btn-action { background: var(--tinta-acento, #2563eb) !important; border-color: transparent !important; color: #fff !important; }
.ws-pr-lista { border: 0; border-radius: 0; background: transparent; overflow: visible; }
.ws-pr-lista-cab { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px 20px; padding: 0 0 14px; border-bottom: 1px solid var(--tinta-borde); margin-bottom: 18px; }
.ws-pr-lista-cab .ws-pr-buscar { flex: 0 1 340px; margin-bottom: 0; }
.ws-pr-lista-cab .ws-tabs { margin: 0; }
.ws-pr-grilla { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 14px; }
.ws-pr-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    padding: 16px 18px 15px;
    border: 1px solid var(--tinta-borde);
    border-radius: var(--r-3);
    background: var(--tinta-sup);
    color: var(--tinta-texto) !important;
    text-decoration: none !important;
    transition: border-color var(--m-rapido) var(--c-salida), background var(--m-rapido) var(--c-salida);
}
.ws-pr-card:hover { border-color: var(--tinta-borde-2); background: var(--tinta-hover); }
.ws-pr-card:focus-visible { outline: none; box-shadow: var(--foco); }
.ws-pr-card-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ws-pr-card-titulo { font-size: 15px; font-weight: 600; line-height: 1.3; color: var(--tinta-texto-fuerte); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ws-pr-card-cliente { font-size: 12.5px; color: var(--tinta-texto-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ws-pr-card-monto { margin-top: 6px; font-size: 18px; font-weight: 600; color: var(--tinta-texto); }
.ws-pr-card-pagos { display: flex; align-items: center; gap: 10px; margin-top: 2px; }
.ws-pr-card-pagos small { font-size: 11px; color: var(--tinta-texto-3); white-space: nowrap; }
.ws-pr-card-barra { flex: 1; height: 4px; border-radius: 99px; background: var(--tinta-pista); overflow: hidden; }
.ws-pr-card-barra > span { display: block; height: 100%; background: var(--tinta-ok); border-radius: 99px; }
.ws-pr-card-act { display: flex; align-items: center; gap: 4px; margin-top: auto; padding-top: 8px; border-top: 1px solid var(--tinta-borde); font-size: 12px; color: var(--tinta-texto-3); }
.ws-pr-card.cerrado .ws-pr-card-titulo, .ws-pr-card.cerrado .ws-pr-card-monto { color: var(--tinta-texto-3); }
.ws-pr-sin-resultados { text-align: center; }
.ws-pr-solo { min-width: 0; }
.ws-pr-volver { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 12px; font-size: 13px; color: var(--tinta-texto-2) !important; text-decoration: none !important; }
.ws-pr-volver:hover { color: var(--tinta-texto) !important; }
.ws-pr-solo > .raver-panel-trabajo { min-width: 0; border: 1px solid var(--tinta-borde); border-radius: var(--r-3); background: var(--tinta-fondo); }
@media (max-width: 640px) { .ws-pr-grilla { grid-template-columns: minmax(0, 1fr); } .ws-pr-lista-cab .ws-pr-buscar { flex-basis: 100%; } }


.ws-eq-nuevo { margin: 0 0 18px; }
.ws-eq-nuevo > summary { list-style: none; cursor: pointer; }
.ws-eq-nuevo > summary::-webkit-details-marker { display: none; }
.ws-eq-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; align-items: end; margin-top: 12px; }
.ws-eq-form label { display: flex; flex-direction: column; gap: 5px; font-size: 12px; color: var(--tinta-texto-3); }
.ws-eq-form input {
    height: 34px;
    padding: 0 10px;
    border: 1px solid var(--tinta-borde-2) !important;
    border-radius: var(--r-1) !important;
    background: var(--tinta-campo) !important;
    color: var(--tinta-texto) !important;
    font-family: var(--f-ui) !important;
    font-size: 13px !important;
}
.ws-eq-form input:focus { outline: none; border-color: var(--tinta-acento-tx) !important; box-shadow: var(--foco) !important; }
.ws-eq-vacio { padding: 28px 4px; color: var(--tinta-texto-3); font-size: 13px; }
.ws-eq-caja { overflow-x: auto; border: 1px solid var(--tinta-borde); border-radius: var(--r-3); background: var(--tinta-sup); }
.ws-eq-tabla { width: 100%; border-collapse: collapse; font-size: 13px; }
.ws-eq-tabla th {
    padding: 10px 14px;
    border-bottom: 1px solid var(--tinta-borde);
    font-family: var(--f-mono);
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: .08em;
    text-align: left;
    text-transform: uppercase;
    color: var(--tinta-texto-3);
    white-space: nowrap;
}
.ws-eq-tabla td { padding: 12px 14px; border-bottom: 1px solid var(--tinta-borde); color: var(--tinta-texto-2); vertical-align: middle; }
.ws-eq-tabla tr:last-child td { border-bottom: 0; }
.ws-eq-tabla .num { text-align: right; }
.ws-eq-sec { color: var(--tinta-texto-3) !important; }
.ws-eq-persona { display: inline-flex; align-items: center; gap: 10px; }
.ws-eq-persona b { font-weight: 500; color: var(--tinta-texto); }
.ws-eq-av { width: 30px; height: 30px; font-size: 11px; }
.ws-eq-acceso {
    padding: 1px 7px;
    border: 1px solid var(--tinta-borde-2);
    border-radius: var(--r-1);
    font-family: var(--f-mono);
    font-size: 10px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--tinta-texto-3);
}
.ws-eq-atraso { color: var(--tinta-alerta); }
.ws-eq-acciones { text-align: right; white-space: nowrap; }
.ws-eq-baja { margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--tinta-borde); }
.ws-tb-persona-caja { display: inline-flex; }
.ws-tb .ws-tb-persona {
    height: 32px !important;
    max-width: 190px;
    padding: 0 10px !important;
    border: 1px solid var(--tinta-borde-2) !important;
    border-radius: var(--r-1) !important;
    background: var(--tinta-campo) !important;
    color: var(--tinta-texto) !important;
    font-family: var(--f-ui) !important;
    font-size: 13px !important;
}
.ws-tb .ws-tb-persona.con-filtro { border-color: var(--tinta-acento-tx) !important; background: var(--tinta-acento-suave) !important; }


.ws-per-resumen {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    margin: 0 0 18px;
}
.ws-per-resumen > div {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 14px 16px;
    border: 1px solid var(--tinta-borde);
    border-radius: var(--r-3);
    background: var(--tinta-sup);
}
.ws-per-resumen strong { font-size: 22px; font-weight: 500; color: var(--tinta-texto); }
.ws-per-resumen small { font-size: 11px; color: var(--tinta-texto-3); }
.ws-per-tabs { display: flex; gap: 4px; margin: 0 0 14px; border-bottom: 1px solid var(--tinta-borde); overflow-x: auto; }
.ws-per-tabs a {
    padding: 8px 12px;
    margin-bottom: -1px;
    border-bottom: 2px solid transparent;
    font-size: 13px;
    color: var(--tinta-texto-3) !important;
    text-decoration: none !important;
    white-space: nowrap;
}
.ws-per-tabs a:hover { color: var(--tinta-texto) !important; }
.ws-per-tabs a.on { border-bottom-color: var(--tinta-acento-tx); color: var(--tinta-texto) !important; }
.ws-per-tabs .ws-mono { margin-left: 3px; font-size: 11px; color: var(--tinta-texto-3); }
.ws-per-vacio { padding: 28px 4px; font-size: 13px; color: var(--tinta-texto-3); }
.ws-per-tabla a.ws-per-nombre { display: block; font-weight: 500; color: var(--tinta-texto) !important; text-decoration: none !important; }
.ws-per-tabla a.ws-per-nombre:hover { color: var(--tinta-acento-tx) !important; }
.ws-per-sub { display: block; font-size: 12px; color: var(--tinta-texto-3); }
.ws-per-ficha {
    margin: 0 0 24px;
    padding: 20px 22px;
    border: 1px solid var(--tinta-borde);
    border-radius: var(--r-3);
    background: var(--tinta-sup);
}
.ws-per-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
.ws-per-cab h2 { margin: 4px 0 8px !important; font-size: 24px !important; font-weight: 600; line-height: 1.15; color: var(--tinta-texto) !important; }
.ws-per-precio { text-align: right; }
.ws-per-precio strong { display: block; font-size: 22px; font-weight: 500; color: var(--tinta-texto); }
.ws-per-precio span { font-size: 12px; color: var(--tinta-texto-3); }
.ws-per-datos {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 16px 24px;
    margin: 20px 0 0;
    padding: 16px 0 0;
    border-top: 1px solid var(--tinta-borde);
}
.ws-per-datos dt { margin: 0 0 4px; }
.ws-per-datos dd { margin: 0; font-size: 13px; color: var(--tinta-texto); }
.ws-per-datos a { color: var(--tinta-acento-tx) !important; }
.ws-per-nota { margin: 18px 0 0; padding-top: 14px; border-top: 1px solid var(--tinta-borde); }
.ws-per-nota p { margin: 6px 0 0; font-size: 13px; line-height: 1.55; color: var(--tinta-texto-2); }
.ws-per-acciones { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 0; padding-top: 16px; border-top: 1px solid var(--tinta-borde); }
.ws-per-accion { margin: 0; }
.ws-per-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ws-per-form label { display: flex; flex-direction: column; gap: 5px; font-size: 12px; color: var(--tinta-texto-3); }
.ws-per-form .ws-per-ancho { grid-column: 1 / -1; }
.ws-per-form input,
.ws-per-form select,
.ws-per-form textarea {
    width: 100%;
    box-sizing: border-box;
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid var(--tinta-borde-2) !important;
    border-radius: var(--r-1) !important;
    background: var(--tinta-campo) !important;
    color: var(--tinta-texto) !important;
    font-family: var(--f-ui) !important;
    font-size: 13px !important;
}
.ws-per-form textarea { resize: vertical; line-height: 1.5; }
.ws-per-form input:disabled { opacity: .6; }
.ws-per-form input:focus, .ws-per-form select:focus, .ws-per-form textarea:focus { outline: none; border-color: var(--tinta-acento-tx) !important; box-shadow: var(--foco) !important; }
.ws-per-form small { font-size: 11.5px; line-height: 1.4; color: var(--tinta-texto-3); }
.ws-per-form small a { color: var(--tinta-acento-tx) !important; }
.ws-per-pie { display: flex; justify-content: flex-end; }
.ws-per-ayuda { margin: 0 0 14px; font-size: 12.5px; color: var(--tinta-texto-3); }
@media (max-width: 560px) { .ws-per-form { grid-template-columns: 1fr; } }
.ws-per-tarjetas { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.ws-per-tarjeta {
    padding: 18px 20px;
    border: 1px solid var(--tinta-borde);
    border-radius: var(--r-3);
    background: var(--tinta-sup);
}
.ws-per-tarjeta h3 { margin: 4px 0 10px !important; font-size: 18px !important; font-weight: 600; color: var(--tinta-texto) !important; }
.ws-per-precio-c { display: flex; align-items: baseline; gap: 8px; margin: 0 0 10px !important; }
.ws-per-precio-c strong { font-size: 18px; font-weight: 500; color: var(--tinta-texto); }
.ws-per-precio-c span { font-size: 12px; color: var(--tinta-texto-3); }
.ws-per-nota-c { margin: 0 0 12px !important; font-size: 13px; line-height: 1.5; color: var(--tinta-texto-2); }
.ws-per-pie-c { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: 0 !important; padding-top: 12px; border-top: 1px solid var(--tinta-borde); }
dialog.ws-dlg-gen { width: min(620px, calc(100vw - 32px)); }
.ws-dlg-gen .raver-cobro-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}
.ws-dlg-gen .raver-cobro-form label,
.ws-dlg-gen .ws-ficha-ancha label { display: flex; flex-direction: column; gap: 5px; min-width: 0; font-size: 12px; color: var(--tinta-texto-3); }
.ws-dlg-gen .raver-cobro-campo-ancho,
.ws-dlg-gen .ws-ficha-ancha { grid-column: 1 / -1; min-width: 0; }
.ws-dlg-gen .raver-cobro-form input:not([type="hidden"]):not([type="checkbox"]),
.ws-dlg-gen .raver-cobro-form select {
    width: 100% !important;
    box-sizing: border-box;
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid var(--tinta-borde-2) !important;
    border-radius: var(--r-1) !important;
    background: var(--tinta-campo) !important;
    color: var(--tinta-texto) !important;
    font-family: var(--f-ui) !important;
    font-size: 13px !important;
}
.ws-dlg-gen .raver-ficha-controles { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.ws-dlg-gen .raver-ficha-controles > * { min-width: 0; }
.ws-dlg-gen .raver-cobro-form > button { grid-column: 1 / -1; justify-self: end; }
@media (max-width: 560px) { .ws-dlg-gen .raver-cobro-form { grid-template-columns: 1fr; } }
dialog.ws-dlg-gen.ws-dlg-ancho { width: min(780px, calc(100vw - 32px)); }
.ws-dlg-gen .ws-per-pie { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.ws-pr-modo { display: flex; flex-direction: column; gap: 8px; }
.ws-pr-modo-rotulo { font: 500 10.5px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--tinta-texto-3); }
.ws-pr-modo-ops { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ws-dlg-gen .raver-cobro-form label.ws-pr-modo-op {
    position: relative; display: flex; flex-direction: row; align-items: flex-start; gap: 10px;
    padding: 12px 14px; border: 1px solid var(--tinta-borde-2); border-radius: var(--r-2);
    background: var(--tinta-campo); cursor: pointer; transition: border-color .15s, background .15s;
}
.ws-pr-modo-op input { position: absolute; opacity: 0; pointer-events: none; }
.ws-pr-modo-op::before {
    content: ""; flex: none; width: 14px; height: 14px; margin-top: 2px; border: 1.5px solid var(--tinta-borde-control, var(--tinta-borde-2)); border-radius: 50%;
}
.ws-pr-modo-op:has(input:checked) { border-color: var(--tinta-acento-tx); background: color-mix(in oklab, var(--tinta-acento) 9%, var(--tinta-campo)); }
.ws-pr-modo-op:has(input:checked)::before { border-color: var(--tinta-acento-tx); background: radial-gradient(circle, var(--tinta-acento-tx) 0 38%, transparent 42%); }
.ws-pr-modo-op:has(input:focus-visible) { box-shadow: var(--foco); }
.ws-pr-modo-tx { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ws-pr-modo-tx b { font: 600 13px/1.3 var(--f-ui); color: var(--tinta-texto); }
.ws-pr-modo-tx small { font-size: 12px; line-height: 1.4; color: var(--tinta-texto-3); }
.ws-pr-subir[hidden] { display: none !important; }
.ws-pr-subir { display: flex; flex-direction: column; gap: 5px; }
@media (max-width: 560px) { .ws-pr-modo-ops { grid-template-columns: 1fr; } }
.ws-pr-modo-tx b, .ws-pr-modo-tx small { text-transform: none !important; letter-spacing: 0 !important; }
.ws-fila-link { cursor: pointer; transition: background-color .12s; }
.ws-fila-link:hover td, .ws-fila-link:focus-visible td { background: color-mix(in srgb, var(--tinta-texto) 4%, transparent); }
.ws-fila-link:focus-visible { outline: 2px solid var(--tinta-acento-tx); outline-offset: -2px; }
.ws-per-archivos { white-space: nowrap; }
.ws-per-archivos a { margin-right: 12px; font-size: 12.5px; color: var(--tinta-texto-2); text-decoration: none; }
.ws-per-archivos a:hover { color: var(--tinta-acento-tx); text-decoration: underline; }
dialog.ws-cb-dialogo { width: min(880px, 94vw); max-width: none; }
.ws-cb-dialogo .raver-specs-card { border: 0; background: transparent; padding: 0; box-shadow: none; }
.ws-cb-dialogo .raver-dos-paneles { display: block; }
.ws-cb-cargando { margin: 0; padding: 24px 4px; color: var(--tinta-texto-3); }
.ws-pago {
    display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 11px; font-weight: 600; letter-spacing: .04em;
    text-transform: uppercase; line-height: 1.3;
    border: 1px solid color-mix(in srgb, currentColor 35%, transparent);
}
.ws-pago + .ws-per-sub { display: block; margin-top: 4px; }


.ws-masc {
    position: fixed;
    left: 0;
    bottom: 6px;
    z-index: 9000;
    pointer-events: none;
    will-change: transform;
}
.ws-masc-cuerpo { position: relative; }
.ws-masc-spr {
    background-repeat: no-repeat;
    image-rendering: pixelated;
    pointer-events: none;
    filter: drop-shadow(0 2px 0 rgba(0, 0, 0, .18));
}
.ws-masc .ws-masc-toque {
    position: absolute;
    left: 20px;
    top: 38px;
    width: 58px !important;
    height: 56px !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: transparent !important;
    box-shadow: none !important;
    pointer-events: auto;
    cursor: grab;
    touch-action: none;
    -webkit-tap-highlight-color: transparent;
}
.ws-masc-agarrada .ws-masc-toque { cursor: grabbing; }
.ws-masc-agarrada { z-index: 9100; }
.ws-masc .ws-masc-toque:focus-visible { outline: 2px solid var(--tinta-acento-tx) !important; outline-offset: 2px; }
.ws-masc-menu {
    position: absolute;
    bottom: calc(100% - 4px - var(--masc-vacio, 0px));
    left: 6px;
    min-width: 188px;
    padding: 6px;
    border: 1px solid var(--tinta-borde-2);
    border-radius: var(--r-3);
    background: var(--tinta-sup);
    box-shadow: var(--sombra, 0 12px 32px rgba(0, 0, 0, .4));
    pointer-events: auto;
}
.ws-masc-menu[hidden] { display: none; }
.ws-masc-izq .ws-masc-menu { left: auto; right: 6px; }
.ws-masc-menu .ws-masc-op {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100% !important;
    height: 36px !important;
    min-width: 0 !important;
    padding: 0 10px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: var(--r-1) !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--tinta-texto) !important;
    font: 500 13px/1 var(--f-ui) !important;
    letter-spacing: 0 !important;
    text-align: left;
    text-decoration: none !important;
    text-transform: none !important;
    cursor: pointer;
}
.ws-masc-menu .ws-masc-op:hover,
.ws-masc-menu .ws-masc-op:focus-visible { background: var(--tinta-hover) !important; outline: none; }
.ws-masc-menu .ws-masc-op:focus-visible { box-shadow: var(--foco) !important; }
.ws-masc-menu .ws-masc-op .ws-ico { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.5; }
.ws-masc-menu .ws-masc-op-sec { margin-top: 4px !important; border-top: 1px solid var(--tinta-borde) !important; border-radius: 0 0 var(--r-1) var(--r-1) !important; color: var(--tinta-texto-3) !important; font-weight: 400 !important; }
.ws-masc-aviso {
    position: absolute;
    bottom: calc(100% - 6px - var(--masc-vacio, 0px));
    left: 10px;
    padding: 7px 12px;
    border-radius: var(--r-2);
    background: var(--tinta-texto);
    color: var(--tinta-fondo);
    font: 500 12.5px/1.2 var(--f-ui);
    white-space: nowrap;
    pointer-events: none;
}
.ws-masc-aviso:empty { display: none; }
.ws-masc-izq .ws-masc-aviso { left: auto; right: 10px; }
dialog.ws-masc-dlg {
    --papel: #fff1a8;
    width: min(420px, calc(100vw - 32px));
    padding: 0;
    border: 0;
    border-radius: 3px 3px 18px 3px;
    background: var(--papel);
    color: #2b2a26;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .45), 0 2px 0 rgba(255, 255, 255, .4) inset;
    transition: background .15s;
}
dialog.ws-masc-dlg::backdrop { background: rgba(8, 9, 12, .55); }
.ws-masc-dlg-cab { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px 0 20px; }
.ws-masc-dlg-cab h3 { margin: 0 !important; font: 600 13px/1 var(--f-mono) !important; letter-spacing: .08em; text-transform: uppercase; color: rgba(43, 42, 38, .65) !important; }
.ws-masc-dlg .ws-masc-dlg-x {
    width: 30px !important; height: 30px !important; min-width: 0 !important; padding: 0 !important; margin: 0 !important;
    border: 0 !important; border-radius: 6px !important; background: transparent !important; box-shadow: none !important;
    color: rgba(43, 42, 38, .6) !important; font-size: 22px !important; line-height: 1 !important; cursor: pointer;
}
.ws-masc-dlg .ws-masc-dlg-x:hover { background: rgba(0, 0, 0, .08) !important; color: #2b2a26 !important; }
.ws-masc-dlg textarea.ws-masc-dlg-texto {
    display: block;
    box-sizing: border-box;
    width: 100% !important;
    min-height: 170px;
    padding: 12px 20px 8px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #2b2a26 !important;
    font: 400 16px/1.5 var(--f-ui) !important;
    resize: vertical;
}
.ws-masc-dlg textarea.ws-masc-dlg-texto::placeholder { color: rgba(43, 42, 38, .45); }
.ws-masc-dlg textarea.ws-masc-dlg-texto:focus { outline: none !important; }
.ws-masc-dlg-colores { display: flex; gap: 8px; padding: 4px 20px 12px; }
.ws-masc-dlg .ws-masc-dlg-color {
    width: 22px !important; height: 22px !important; min-width: 0 !important; padding: 0 !important; margin: 0 !important;
    border: 2px solid rgba(43, 42, 38, .25) !important; border-radius: 50% !important; box-shadow: none !important; cursor: pointer;
}
.ws-masc-dlg .ws-masc-dlg-color[aria-pressed="true"] { border-color: #2b2a26 !important; box-shadow: 0 0 0 2px rgba(255, 255, 255, .6) !important; }
.ws-masc-dlg-error { margin: 0 !important; padding: 0 20px 6px !important; min-height: 0; color: #9a1b12; font-size: 12.5px; }
.ws-masc-dlg-error:empty { display: none; }
.ws-masc-dlg-pie { display: flex; align-items: center; gap: 8px; padding: 10px 14px 14px 20px; border-top: 1px solid rgba(43, 42, 38, .12); }
.ws-masc-dlg-atajo { flex: 1; font-size: 11.5px; color: rgba(43, 42, 38, .55); }
.ws-masc-dlg .ws-masc-dlg-cancelar,
.ws-masc-dlg .ws-masc-dlg-guardar {
    height: 34px !important; min-width: 0 !important; padding: 0 14px !important; margin: 0 !important;
    border: 0 !important; border-radius: 6px !important; box-shadow: none !important;
    font: 500 13px/1 var(--f-ui) !important; letter-spacing: 0 !important; text-transform: none !important; cursor: pointer;
}
.ws-masc-dlg .ws-masc-dlg-cancelar { background: transparent !important; color: rgba(43, 42, 38, .75) !important; }
.ws-masc-dlg .ws-masc-dlg-cancelar:hover { background: rgba(0, 0, 0, .08) !important; }
.ws-masc-dlg .ws-masc-dlg-guardar { background: #24231f !important; color: #fff !important; }
.ws-masc-dlg .ws-masc-dlg-guardar:hover { background: #000 !important; }
.ws-masc-dlg .ws-masc-dlg-guardar:disabled { opacity: .6; cursor: progress; }
.ws-masc-dlg button:focus-visible { outline: 2px solid #24231f !important; outline-offset: 2px; }
.ws-notas-vacio { padding: 28px 4px; font-size: 13px; color: var(--tinta-texto-3); }
.ws-notas-tablero {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 26px 22px;
    padding: 8px 4px 40px;
}
.ws-postit {
    --papel: #fff1a8;
    --giro: 0deg;
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 210px;
    padding: 16px 16px 10px;
    border-radius: 2px 2px 16px 2px;
    background: var(--papel);
    color: #2b2a26;
    box-shadow: 0 10px 18px rgba(0, 0, 0, .3), 0 1px 0 rgba(255, 255, 255, .4) inset;
    transform: rotate(var(--giro));
    transition: transform .16s ease, box-shadow .16s ease, opacity .18s ease, background .15s;
}
.ws-postit::before {            
    display: none;
    content: "";
}
.ws-postit-cinta-vieja {
    content: "";
    content: "";
    position: absolute;
    top: -9px;
    left: 50%;
    width: 54px;
    height: 18px;
    transform: translateX(-50%) rotate(-2deg);
    background: rgba(255, 255, 255, .38);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .12);
}
.ws-postit:hover, .ws-postit:focus-within { transform: rotate(0deg) translateY(-3px); box-shadow: 0 16px 26px rgba(0, 0, 0, .34), 0 1px 0 rgba(255, 255, 255, .4) inset; z-index: 1; }
.ws-postit.saliendo { opacity: 0; transform: scale(.9) rotate(var(--giro)); }
.ws-postit.guardando { opacity: .85; }
.ws-postit.guardada { box-shadow: 0 0 0 2px rgba(36, 35, 31, .45), 0 10px 18px rgba(0, 0, 0, .3); }
.ws-postit textarea.ws-postit-texto {
    flex: 1;
    box-sizing: border-box;
    width: 100% !important;
    min-height: 140px;
    padding: 6px 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #2b2a26 !important;
    font: 400 15px/1.5 var(--f-ui) !important;
    resize: none;
}
.ws-postit textarea.ws-postit-texto:focus { outline: none !important; }
.ws-postit-pie { display: flex; align-items: center; gap: 10px; padding-top: 8px; border-top: 1px solid rgba(43, 42, 38, .14); }
.ws-postit-hace { flex: 1; font-size: 11.5px; color: rgba(43, 42, 38, .55); }
.ws-postit-colores { display: inline-flex; gap: 5px; }
.ws-postit .ws-postit-color {
    width: 14px !important; height: 14px !important; min-width: 0 !important; padding: 0 !important; margin: 0 !important;
    border: 1.5px solid rgba(43, 42, 38, .3) !important; border-radius: 50% !important; box-shadow: none !important; cursor: pointer;
}
.ws-postit .ws-postit-color.on { border-color: #2b2a26 !important; }
.ws-postit .ws-postit-borrar {
    width: 24px !important; height: 24px !important; min-width: 0 !important; padding: 0 !important; margin: 0 !important;
    border: 0 !important; border-radius: 6px !important; background: transparent !important; box-shadow: none !important;
    color: rgba(43, 42, 38, .55) !important; font-size: 19px !important; line-height: 1 !important; cursor: pointer;
}
.ws-postit .ws-postit-borrar:hover { background: rgba(154, 27, 18, .14) !important; color: #9a1b12 !important; }
.ws-postit button:focus-visible { outline: 2px solid #24231f !important; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
    .ws-postit, dialog.ws-masc-dlg { transition: none; }
    .ws-postit:hover, .ws-postit:focus-within { transform: none; }
}
@media (max-width: 560px) {
    .ws-notas-tablero { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 22px 14px; }
}
.ws-pins {
    position: fixed;
    top: 60px;
    right: 22px;
    z-index: 8000;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 8px 10px;
    max-width: min(760px, calc(100vw - 280px));
    pointer-events: none;
}
body.admin-bar .ws-pins { top: 92px; }
@media (max-width: 1040px) { .ws-pins { max-width: calc(100vw - 32px); top: 64px; } body.admin-bar .ws-pins { top: 110px; } }
.ws-pins .ws-pin {
    --papel: #fff1a8;
    --giro: 0deg;
    position: relative;
    display: inline-flex;
    align-items: center;
    height: 30px !important;
    min-width: 96px !important;
    max-width: 190px;
    margin: 0 !important;
    padding: 0 12px 0 24px !important;
    border: 0 !important;
    border-radius: 2px 2px 9px 2px !important;
    background: var(--papel) !important;
    box-shadow: 0 5px 10px rgba(0, 0, 0, .3), 0 1px 0 rgba(255, 255, 255, .45) inset !important;
    color: #2b2a26 !important;
    font: 500 12.5px/1 var(--f-ui) !important;
    letter-spacing: 0 !important;
    text-align: left;
    text-transform: none !important;
    cursor: pointer;
    pointer-events: auto;
    transform: rotate(var(--giro));
    transition: transform .14s ease, box-shadow .14s ease;
}
.ws-pins .ws-pin::before {            
    content: "";
    position: absolute;
    left: 8px;
    top: 50%;
    width: 9px;
    height: 9px;
    margin-top: -5px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 35%, #ff8d82 0 22%, #d9332a 24% 100%);
    box-shadow: 0 2px 2px rgba(0, 0, 0, .35);
}
.ws-pins .ws-pin:hover, .ws-pins .ws-pin[aria-expanded="true"] { transform: rotate(0deg) translateY(2px); box-shadow: 0 9px 16px rgba(0, 0, 0, .34), 0 1px 0 rgba(255, 255, 255, .45) inset !important; }
.ws-pins .ws-pin:focus-visible { outline: 2px solid var(--tinta-acento-tx) !important; outline-offset: 2px; }
.ws-pin-texto { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ws-pin-mas { align-self: center; padding: 3px 8px; border-radius: 99px; background: var(--tinta-sup); border: 1px solid var(--tinta-borde-2); font: 500 11px/1 var(--f-mono); color: var(--tinta-texto-2); pointer-events: auto; }
.ws-pins .ws-pin-nueva { animation: ws-pin-pega .32s cubic-bezier(.2, .9, .3, 1.3) both; }
@keyframes ws-pin-pega { from { transform: translateY(-14px) scale(1.5) rotate(var(--giro)); opacity: 0; } to { transform: rotate(var(--giro)); opacity: 1; } }
.ws-pin-grande {
    --papel: #fff1a8;
    position: fixed;
    top: 100px;
    right: 22px;
    z-index: 8500;
    width: min(320px, calc(100vw - 24px));
    border-radius: 3px 3px 18px 3px;
    background: var(--papel);
    color: #2b2a26;
    box-shadow: 0 22px 50px rgba(0, 0, 0, .5), 0 2px 0 rgba(255, 255, 255, .4) inset;
    transition: background .15s;
}
body.admin-bar .ws-pin-grande { top: 132px; }
@media (max-width: 1040px) { .ws-pin-grande { top: 104px; } body.admin-bar .ws-pin-grande { top: 150px; } }
.ws-pin-grande::before {
    content: "";
    position: absolute;
    top: -6px;
    left: 18px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 35%, #ff8d82 0 22%, #d9332a 24% 100%);
    box-shadow: 0 3px 4px rgba(0, 0, 0, .4);
}
.ws-pin-grande-cab { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 14px 10px 0 38px; }
.ws-pin-grande-et { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 600 11px/1 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: rgba(43, 42, 38, .6); }
.ws-pin-grande .ws-pin-grande-x {
    flex: none; width: 28px !important; height: 28px !important; min-width: 0 !important; padding: 0 !important; margin: 0 !important;
    border: 0 !important; border-radius: 6px !important; background: transparent !important; box-shadow: none !important;
    color: rgba(43, 42, 38, .6) !important; font-size: 21px !important; line-height: 1 !important; cursor: pointer;
}
.ws-pin-grande .ws-pin-grande-x:hover { background: rgba(0, 0, 0, .08) !important; color: #2b2a26 !important; }
.ws-pin-grande textarea.ws-pin-grande-texto {
    display: block; box-sizing: border-box; width: 100% !important; min-height: 150px; padding: 10px 18px 6px !important;
    border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important;
    color: #2b2a26 !important; font: 400 15px/1.5 var(--f-ui) !important; resize: vertical;
}
.ws-pin-grande textarea.ws-pin-grande-texto:focus { outline: none !important; }
.ws-pin-grande-pie { display: flex; align-items: center; gap: 8px; padding: 8px 10px 12px 18px; border-top: 1px solid rgba(43, 42, 38, .12); }
.ws-pin-grande-colores { display: inline-flex; gap: 6px; flex: 1; }
.ws-pin-grande .ws-pin-grande-color {
    width: 16px !important; height: 16px !important; min-width: 0 !important; padding: 0 !important; margin: 0 !important;
    border: 1.5px solid rgba(43, 42, 38, .3) !important; border-radius: 50% !important; box-shadow: none !important; cursor: pointer;
}
.ws-pin-grande .ws-pin-grande-color.on { border-color: #2b2a26 !important; }
.ws-pin-grande .ws-pin-grande-acc {
    height: 28px !important; min-width: 0 !important; padding: 0 10px !important; margin: 0 !important;
    border: 0 !important; border-radius: 6px !important; background: transparent !important; box-shadow: none !important;
    color: rgba(43, 42, 38, .75) !important; font: 500 12.5px/1 var(--f-ui) !important; letter-spacing: 0 !important; text-transform: none !important; cursor: pointer;
}
.ws-pin-grande .ws-pin-grande-acc:hover { background: rgba(0, 0, 0, .08) !important; }
.ws-pin-grande .ws-pin-grande-borrar { width: 28px !important; padding: 0 !important; font-size: 18px !important; }
.ws-pin-grande .ws-pin-grande-borrar:hover { background: rgba(154, 27, 18, .14) !important; color: #9a1b12 !important; }
.ws-pin-grande button:focus-visible { outline: 2px solid #24231f !important; outline-offset: 2px; }
.ws-masc-dlg-pegar { display: flex; align-items: flex-start; gap: 10px; margin: 0 20px 10px; padding: 9px 11px; border: 1px dashed rgba(43, 42, 38, .35); border-radius: 6px; cursor: pointer; }
.ws-masc-dlg-pegar input { width: 16px !important; height: 16px !important; margin: 2px 0 0 !important; accent-color: #24231f; flex: none; }
.ws-masc-dlg-pegar-t { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ws-masc-dlg-pegar-t b { font: 600 13px/1.2 var(--f-ui); color: #2b2a26; }
.ws-masc-dlg-pegar-t small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11.5px; color: rgba(43, 42, 38, .6); }
.ws-postit-ancla { display: flex; align-items: center; gap: 6px; margin: 0 0 6px; font-size: 11.5px; color: rgba(43, 42, 38, .7); }
.ws-postit-ancla .ws-ico { width: 13px; height: 13px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.5; }
.ws-postit-ancla a { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #2b2a26 !important; text-decoration: underline; text-underline-offset: 2px; }
.ws-postit-ancla span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ws-postit .ws-postit-despegar {
    height: 22px !important; min-width: 0 !important; padding: 0 8px !important; margin: 0 !important; border: 0 !important; border-radius: 5px !important;
    background: rgba(0, 0, 0, .08) !important; box-shadow: none !important; color: #2b2a26 !important; font: 500 11px/1 var(--f-ui) !important; text-transform: none !important; letter-spacing: 0 !important; cursor: pointer;
}
.ws-postit .ws-postit-despegar:hover { background: rgba(0, 0, 0, .16) !important; }
@media (prefers-reduced-motion: reduce) {
    .ws-pins .ws-pin, .ws-pin-grande { transition: none; }
    .ws-pins .ws-pin-nueva { animation: none; }
}
.ws-postit .ws-postit-procesar {
    height: 22px !important; min-width: 0 !important; padding: 0 9px !important; margin: 0 !important; border: 0 !important; border-radius: 5px !important;
    background: #24231f !important; box-shadow: none !important; color: #ffffff !important;
    font: 500 11px/1 var(--f-ui) !important; letter-spacing: 0 !important; text-transform: none !important; cursor: pointer;
}
.ws-postit .ws-postit-procesar {
    display: inline-flex !important; align-items: center; justify-content: center;
    width: 28px !important; height: 26px !important; padding: 0 !important;
    background: transparent !important; color: rgba(43, 42, 38, .62) !important; border-radius: 6px !important;
}
.ws-postit .ws-postit-procesar:hover:not(:disabled) { background: rgba(43, 42, 38, .1) !important; color: #2b2a26 !important; }
.ws-postit-procesar .ws-pulpo { display: block; width: 18px; height: 18px; }
.ws-postit .ws-postit-procesar:not(:disabled):hover .ws-pulpo { transform: translateY(-1px); }
.ws-postit .ws-postit-procesar:disabled { opacity: .45; cursor: not-allowed; }
dialog.ws-asist {
    width: min(560px, calc(100vw - 32px));
    max-height: calc(100vh - 64px);
    padding: 0;
    border: 1px solid var(--tinta-borde-2);
    border-radius: var(--r-3);
    background: var(--tinta-sup);
    color: var(--tinta-texto);
    box-shadow: 0 24px 60px rgba(0, 0, 0, .5);
}
dialog.ws-asist::backdrop { background: rgba(8, 9, 12, .6); }
.ws-asist-cab { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px 12px 20px; border-bottom: 1px solid var(--tinta-borde); }
.ws-asist-cab h3 { margin: 0 !important; font: 600 15px/1.2 var(--f-ui) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--tinta-texto) !important; }
.ws-asist .ws-asist-x { width: 30px !important; height: 30px !important; min-width: 0 !important; padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 6px !important; background: transparent !important; box-shadow: none !important; color: var(--tinta-texto-3) !important; font-size: 22px !important; line-height: 1 !important; cursor: pointer; }
.ws-asist .ws-asist-x:hover { background: var(--tinta-hover) !important; color: var(--tinta-texto) !important; }
.ws-asist-cuerpo { padding: 16px 20px 18px; overflow-y: auto; max-height: calc(100vh - 160px); }
.ws-asist-p { margin: 0 0 12px; font-size: 13px; line-height: 1.5; color: var(--tinta-texto-3); }
.ws-asist-msj { margin: 0 0 14px; font-size: 14px; line-height: 1.5; color: var(--tinta-texto); }
.ws-asist-rotulo { margin: 0 0 8px; font: 500 10.5px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--tinta-texto-3); }
.ws-asist-nota { margin: 12px 0 0; font-size: 12.5px; color: var(--tinta-texto-3); }
.ws-asist-error { margin: 10px 0 0; font-size: 13px; color: var(--tinta-alerta); }
.ws-asist textarea.ws-asist-texto {
    display: block; box-sizing: border-box; width: 100% !important; min-height: 140px; padding: 10px 12px !important;
    border: 1px solid var(--tinta-borde-2) !important; border-radius: var(--r-1) !important; background: var(--tinta-campo) !important; box-shadow: none !important;
    color: var(--tinta-texto) !important; font: 400 14px/1.5 var(--f-ui) !important; resize: vertical;
}
.ws-asist textarea.ws-asist-texto:focus { outline: none !important; border-color: var(--tinta-acento-tx) !important; box-shadow: var(--foco) !important; }
.ws-asist-pie { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }
.ws-asist .ws-asist-pri, .ws-asist .ws-asist-sec {
    height: 34px !important; min-width: 0 !important; padding: 0 14px !important; margin: 0 !important; border-radius: var(--r-1) !important; box-shadow: none !important;
    font: 500 13px/1 var(--f-ui) !important; letter-spacing: 0 !important; text-transform: none !important; cursor: pointer;
}
.ws-asist .ws-asist-pri { border: 0 !important; background: var(--tinta-acento) !important; color: var(--tinta-sobre-acento) !important; }
.ws-asist .ws-asist-pri:hover { background: color-mix(in oklab, var(--tinta-acento) 88%, var(--tinta-texto)) !important; }
.ws-asist .ws-asist-pri:disabled { opacity: .5; cursor: not-allowed; }
.ws-asist .ws-asist-sec { border: 1px solid var(--tinta-borde-2) !important; background: transparent !important; color: var(--tinta-texto-2) !important; }
.ws-asist .ws-asist-sec:hover { background: var(--tinta-hover) !important; color: var(--tinta-texto) !important; }
.ws-asist button:focus-visible, .ws-asist input:focus-visible { outline: 2px solid var(--tinta-acento-tx) !important; outline-offset: 2px; }
.ws-asist-pasos { margin: 0; padding: 0; list-style: none; border: 1px solid var(--tinta-borde); border-radius: var(--r-2); }
.ws-asist-pasos li + li { border-top: 1px solid var(--tinta-borde); }
.ws-asist-pasos label { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; font-size: 13px; line-height: 1.45; color: var(--tinta-texto); cursor: pointer; }
.ws-asist-pasos input { margin-top: 3px; accent-color: var(--tinta-acento); flex: none; }
.ws-asist-pensando { display: flex; align-items: center; gap: 10px; padding: 26px 4px; font-size: 14px; color: var(--tinta-texto-2); }
.ws-asist-punto { width: 10px; height: 10px; border-radius: 50%; background: var(--tinta-acento-tx); animation: ws-asist-pulso 1s ease-in-out infinite; }
@keyframes ws-asist-pulso { 0%, 100% { transform: scale(.7); opacity: .5; } 50% { transform: scale(1.1); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .ws-asist-punto { animation: none; } }
.ws-asist-res { margin: 0; padding: 0; list-style: none; }
.ws-asist-res li { display: flex; gap: 10px; padding: 9px 2px; border-bottom: 1px solid var(--tinta-borde); font-size: 13px; line-height: 1.45; }
.ws-asist-res .ws-asist-g { flex: none; width: 16px; font-weight: 700; }
.ws-asist-res li.ok .ws-asist-g { color: var(--tinta-ok); }
.ws-asist-res li.mal .ws-asist-g { color: var(--tinta-alerta); }
.ws-asist-res small { display: block; margin-top: 2px; font-size: 12px; color: var(--tinta-alerta); }
.ws-asist-res a { margin-left: 8px; font-size: 12.5px; color: var(--tinta-acento-tx) !important; }
.ws-asist-msj { white-space: pre-wrap; word-break: break-word; }
.ws-asist-msj .ws-asist-enlace { color: var(--tinta-acento-tx) !important; text-decoration: underline; text-underline-offset: 2px; }
.ws-asist .ws-asist-copiar {
    height: 22px !important; min-width: 0 !important; margin: 0 0 0 8px !important; padding: 0 8px !important; border: 1px solid var(--tinta-borde-2) !important; border-radius: 5px !important;
    background: transparent !important; box-shadow: none !important; color: var(--tinta-texto-2) !important; font: 500 11px/1 var(--f-ui) !important; text-transform: none !important; letter-spacing: 0 !important; cursor: pointer; vertical-align: middle;
}
.ws-asist .ws-asist-copiar:hover { background: var(--tinta-hover) !important; color: var(--tinta-texto) !important; }
.ws-asist-riesgo { display: block; margin-bottom: 2px; font: 600 11px/1.2 var(--f-mono); letter-spacing: .04em; text-transform: uppercase; color: var(--tinta-alerta); }
.ws-asist-seguir { display: flex; align-items: flex-end; gap: 8px; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--tinta-borde); }
.ws-asist-seguir textarea.ws-asist-texto { min-height: 0; flex: 1; }
.ws-asist-seguir .ws-asist-pri { flex: none; }
.ws-masc-menu { width: min(348px, calc(100vw - 24px)); }
.ws-masc-chat { margin: 0 0 6px; padding: 0 0 6px; border-bottom: 1px solid var(--tinta-borde); }
.ws-masc-chat-sal { max-height: min(46vh, 380px); overflow-y: auto; margin: 0 0 8px; padding: 10px 10px 4px; border-radius: var(--r-2); background: var(--tinta-campo); font-size: 13px; line-height: 1.5; }
.ws-masc-chat-sal[hidden] { display: none; }
.ws-masc-chat-sal .ws-asist-msj { font-size: 13px; }
.ws-masc-chat-sal .ws-asist-pensando { padding: 8px 0; font-size: 13px; }
.ws-masc-chat-sal .ws-asist-pasos label { padding: 8px 9px; font-size: 12.5px; }
.ws-masc-chat-sal .ws-asist-pie { margin-top: 10px; padding-bottom: 6px; }
.ws-masc-chat-sal .ws-asist-nota { font-size: 12px; }
.ws-masc-chat-ent { display: flex; align-items: flex-end; gap: 6px; }
.ws-masc-menu textarea.ws-masc-chat-ta {
    flex: 1; box-sizing: border-box; min-height: 36px; max-height: 96px; padding: 8px 10px !important; margin: 0 !important;
    border: 1px solid var(--tinta-borde-2) !important; border-radius: var(--r-1) !important; background: var(--tinta-campo) !important; box-shadow: none !important;
    color: var(--tinta-texto) !important; font: 400 13px/1.4 var(--f-ui) !important; resize: none; overflow-y: auto;
}
.ws-masc-menu textarea.ws-masc-chat-ta:focus { outline: none !important; border-color: var(--tinta-acento-tx) !important; box-shadow: var(--foco) !important; }
.ws-masc-menu .ws-masc-chat-ir {
    flex: none; width: 36px !important; height: 36px !important; min-width: 0 !important; padding: 0 !important; margin: 0 !important;
    display: inline-flex; align-items: center; justify-content: center;
    border: 0 !important; border-radius: var(--r-1) !important; background: var(--tinta-acento) !important; color: var(--tinta-sobre-acento) !important; box-shadow: none !important; cursor: pointer;
}
.ws-masc-menu .ws-masc-chat-ir:hover { background: color-mix(in oklab, var(--tinta-acento) 88%, var(--tinta-texto)) !important; }
.ws-masc-menu .ws-masc-chat-ir .ws-ico { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.ws-colores { position: relative; display: inline-flex; align-items: center; flex: 0 0 auto; }
.ws-colores > .ws-colores-btn {
    display: inline-flex !important; align-items: center; justify-content: center;
    width: 26px !important; height: 26px !important; min-width: 0 !important; padding: 0 !important; margin: 0 !important;
    border: 0 !important; border-radius: 6px !important; background: transparent !important; box-shadow: none !important;
    color: rgba(43, 42, 38, .62) !important; cursor: pointer;
}
.ws-colores > .ws-colores-btn:hover, .ws-colores > .ws-colores-btn[aria-expanded="true"] { background: rgba(43, 42, 38, .1) !important; color: #2b2a26 !important; }
.ws-colores > .ws-colores-btn svg { width: 16px; height: 16px; }
.ws-pin-grande-colores-hueco { flex: 1; }
.ws-colores > .ws-colores-pop {
    position: absolute; left: 0; bottom: calc(100% + 8px); z-index: 20;
    display: flex; flex-wrap: nowrap; gap: 8px; width: auto; padding: 9px 11px; margin: 0;
    background: #fffdf6; border: 1px solid rgba(43, 42, 38, .18); border-radius: 10px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .3);
}
.ws-colores > .ws-colores-pop[hidden] { display: none; }
.ws-colores > .ws-colores-pop button {
    width: 22px !important; height: 22px !important; min-width: 0 !important; padding: 0 !important; margin: 0 !important;
    border: 2px solid rgba(43, 42, 38, .25) !important; border-radius: 50% !important; box-shadow: none !important; cursor: pointer; flex: 0 0 auto;
}
.ws-colores > .ws-colores-pop button:hover { transform: scale(1.12); }
.ws-colores > .ws-colores-pop button.on, .ws-colores > .ws-colores-pop button[aria-pressed="true"] { border-color: #2b2a26 !important; box-shadow: 0 0 0 2px rgba(255, 255, 255, .9) !important; }
.ws-pin-grande-pie > .ws-colores { flex: 1; }
.ws-postit .ws-postit-mover {
    position: absolute; top: 6px; right: 6px; z-index: 2;
    display: inline-flex !important; align-items: center; gap: 4px;
    height: 22px !important; min-width: 0 !important; padding: 0 7px 0 5px !important; margin: 0 !important;
    border: 0 !important; border-radius: 6px !important; background: transparent !important; box-shadow: none !important;
    color: rgba(43, 42, 38, .5) !important; cursor: grab; touch-action: none; user-select: none;
    font: 500 11px/1 var(--f-ui) !important; letter-spacing: 0 !important; text-transform: none !important;
    opacity: .55; transition: opacity .12s, background-color .12s;
}
.ws-postit:hover .ws-postit-mover, .ws-postit-mover:focus-visible, .ws-postit .ws-postit-mover:active { opacity: 1; }
.ws-postit .ws-postit-mover:hover { background: rgba(43, 42, 38, .1) !important; color: #2b2a26 !important; }
.ws-postit .ws-postit-mover:active { cursor: grabbing; }
.ws-postit-mover span { pointer-events: none; }
.ws-postit.moviendo {
    cursor: grabbing; transform: rotate(2.5deg) scale(1.03) !important; transition: none !important;
    box-shadow: 0 22px 38px rgba(0, 0, 0, .5), 0 1px 0 rgba(255, 255, 255, .4) inset !important;
}
.ws-postit-hueco { box-sizing: border-box; min-height: 210px; border: 2px dashed rgba(255, 255, 255, .22); border-radius: 6px; background: rgba(255, 255, 255, .04); }
.ws-postit .ws-postit-cinta {
    position: absolute; top: -10px; left: 50%; z-index: 3;
    display: flex; align-items: center; justify-content: center;
    width: 64px; height: 20px; transform: translateX(-50%) rotate(-2deg);
    background: rgba(255, 255, 255, .42); box-shadow: 0 1px 2px rgba(0, 0, 0, .14);
    cursor: grab; touch-action: none; user-select: none; outline: none;
    transition: background-color .12s, width .12s;
}
.ws-postit .ws-postit-cinta i {
    font: 600 9.5px/1 var(--f-mono, monospace); font-style: normal; letter-spacing: .1em; text-transform: uppercase;
    color: rgba(43, 42, 38, .7); opacity: 0; transition: opacity .12s; pointer-events: none;
}
.ws-postit .ws-postit-cinta:hover, .ws-postit .ws-postit-cinta:focus-visible { background: rgba(255, 255, 255, .72); width: 72px; }
.ws-postit .ws-postit-cinta:hover i, .ws-postit .ws-postit-cinta:focus-visible i { opacity: 1; }
.ws-postit .ws-postit-cinta:focus-visible { box-shadow: 0 0 0 2px #24231f; }
.ws-postit .ws-postit-cinta:active { cursor: grabbing; }
.ws-postit .ws-postit-mover { display: none !important; }
.ws-colores > .ws-colores-btn .ws-puntitos { width: 16px; height: 16px; }
.ws-postit .ws-postit-pin, .ws-pin-grande .ws-pin-grande-pin {
    position: relative; display: inline-flex !important; align-items: center; justify-content: center; flex: 0 0 auto;
    width: 22px !important; height: 22px !important; min-width: 0 !important; padding: 0 !important; margin: 0 !important;
    border: 0 !important; border-radius: 6px !important; background: transparent !important; box-shadow: none !important;
    color: rgba(43, 42, 38, .7) !important; cursor: pointer;
}
.ws-postit .ws-postit-pin svg, .ws-pin-grande .ws-pin-grande-pin svg { width: 14px; height: 14px; fill: none; stroke: currentColor; }
.ws-pin-tachado {
    position: absolute; left: 50%; top: 50%; width: 20px; height: 0; border-top: 2px solid #c0291f;
    transform: translate(-50%, -50%) rotate(-45deg) scaleX(0); transform-origin: center; transition: transform .14s ease; pointer-events: none;
}
.ws-postit .ws-postit-pin:hover, .ws-postit .ws-postit-pin:focus-visible,
.ws-pin-grande .ws-pin-grande-pin:hover, .ws-pin-grande .ws-pin-grande-pin:focus-visible { background: rgba(192, 41, 31, .12) !important; color: #7a1a12 !important; }
.ws-postit .ws-postit-pin:hover .ws-pin-tachado, .ws-postit .ws-postit-pin:focus-visible .ws-pin-tachado,
.ws-pin-grande .ws-pin-grande-pin:hover .ws-pin-tachado, .ws-pin-grande .ws-pin-grande-pin:focus-visible .ws-pin-tachado { transform: translate(-50%, -50%) rotate(-45deg) scaleX(1); }
.ws-postit-despegar { display: none !important; }
.ws-notas-vistas { display: inline-flex; gap: 2px; margin: 0 0 14px; padding: 3px; border: 1px solid var(--tinta-borde-2); border-radius: 8px; background: color-mix(in srgb, var(--tinta-texto) 4%, transparent); }
.ws-notas-vista {
    display: inline-flex !important; align-items: center; gap: 6px; height: 28px !important; min-width: 0 !important; padding: 0 12px !important; margin: 0 !important;
    border: 0 !important; border-radius: 6px !important; background: transparent !important; box-shadow: none !important;
    color: var(--tinta-texto-3) !important; font: 500 12.5px/1 var(--f-ui) !important; letter-spacing: 0 !important; text-transform: none !important; cursor: pointer;
}
.ws-notas-vista:hover { color: var(--tinta-texto) !important; }
.ws-notas-vista.on { background: color-mix(in srgb, var(--tinta-texto) 10%, transparent) !important; color: var(--tinta-texto) !important; }
.ws-notas.ws-vista-libre .ws-notas-tablero { display: block; position: relative; min-height: 420px; padding: 18px 0 40px; }
.ws-notas.ws-vista-libre .ws-postit { position: absolute; box-sizing: border-box; width: 230px; }
.ws-notas.ws-vista-libre .ws-postit.moviendo { transition: none !important; cursor: grabbing; transform: rotate(2deg) scale(1.03) !important; box-shadow: 0 22px 38px rgba(0, 0, 0, .5), 0 1px 0 rgba(255, 255, 255, .4) inset !important; }
.ws-notas.ws-vista-libre .ws-postit:hover { z-index: auto; }


.ws-dash {
    --dv-1: #3987e5;
    --dv-2: #d95926;
    --dv-e1: #44527a;   
    --dv-e2: #3b5f9e;   
    --dv-e3: #3987e5;   
    --dv-e4: #9cc4f7;   
    display: grid;
    gap: 18px;
    margin-top: 4px;
}
html[data-raver-tema="claro"] .ws-dash {
    --dv-1: #2a78d6;
    --dv-2: #eb6834;
    --dv-e1: #c3cad8;
    --dv-e2: #8fb8ec;
    --dv-e3: #4f8fdc;
    --dv-e4: #1f5fb8;
}
.ws-dash-filtro { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.ws-dash-filtro .ws-seg { display: inline-flex; padding: 2px; border: 1px solid var(--tinta-borde); border-radius: var(--r-2); background: var(--tinta-sup); }
.ws-dash-filtro .ws-seg-op {
    padding: 5px 12px; border-radius: var(--r-1);
    font-size: 12.5px; color: var(--tinta-texto-3) !important; text-decoration: none !important;
}
.ws-dash-filtro .ws-seg-op:hover { color: var(--tinta-texto) !important; }
.ws-dash-filtro .ws-seg-op.on { background: var(--tinta-acento-suave); color: var(--tinta-texto) !important; }
.ws-dash-kpis { display: grid; grid-template-columns: minmax(280px, 1.55fr) repeat(4, minmax(150px, 1fr)); gap: 12px; }
.ws-dv-tile, .ws-dv-card {
    border: 1px solid var(--tinta-borde);
    border-radius: var(--r-3);
    background: var(--tinta-sup);
}
.ws-dv-tile { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 16px 18px; }
.ws-dv-rotulo { font: 500 10.5px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--tinta-texto-3); }
.ws-dv-valor-t { font: 600 30px/1.05 var(--f-ui); letter-spacing: -.01em; color: var(--tinta-texto); }
.ws-dv-hero-valor { font: 600 52px/1 var(--f-ui); letter-spacing: -.02em; color: var(--tinta-texto); }
.ws-dv-hero-valor small { font: 500 15px/1 var(--f-mono); letter-spacing: .04em; color: var(--tinta-texto-3); }
.ws-dv-sub { font-size: 12.5px; line-height: 1.4; color: var(--tinta-texto-3); }
.ws-dv-delta { font-weight: 600; }
.ws-dv-delta.sube { color: var(--tinta-ok); }
.ws-dv-delta.baja, .ws-dv-aviso { color: var(--tinta-alerta); font-weight: 500; }
.ws-dv-chispa { width: 128px; height: 34px; margin-top: auto; overflow: visible; }
.ws-dv-chispa polyline { fill: none; stroke: var(--tinta-texto-3); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ws-dv-chispa circle { fill: var(--dv-1); stroke: var(--tinta-sup); stroke-width: 2; }
.ws-dash-fila { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ws-dash-fila-7-5 { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.ws-dv-card { min-width: 0; padding: 16px 18px 14px; }
.ws-dv-card > header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0 0 12px; }
.ws-dv-card h3 { margin: 0 !important; font: 600 14px/1.2 var(--f-ui) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--tinta-texto) !important; }
.ws-dv-nota { font-size: 12px; color: var(--tinta-texto-3); }
.ws-dv-enlace { font-size: 12.5px; color: var(--tinta-acento-tx) !important; text-decoration: none !important; }
.ws-dv-enlace:hover { text-decoration: underline !important; }
.ws-dv-vacio { margin: 8px 0; font-size: 13px; color: var(--tinta-texto-3); }
.ws-dv-svg { display: block; width: 100%; height: auto; overflow: visible; }
.ws-dv-grid { stroke: var(--tinta-borde); stroke-width: 1; }
.ws-dv-eje { fill: var(--tinta-texto-3); font: 400 11px var(--f-mono); }
.ws-dv-valor { fill: var(--tinta-texto); font: 600 12px var(--f-ui); }
.ws-dv-etq { fill: var(--tinta-texto-2); font: 500 11.5px var(--f-ui); }
.ws-dv-barra { fill: var(--dv-1); opacity: .45; transition: opacity .12s; }
.ws-dv-barra.actual { opacity: 1; }
.ws-dv-cero { stroke: var(--tinta-borde-2); stroke-width: 2; stroke-linecap: round; }
.ws-dv-hit { fill: transparent; cursor: crosshair; outline: none; }
.ws-dv-hit:hover, .ws-dv-hit:focus-visible { fill: color-mix(in oklab, var(--tinta-texto) 6%, transparent); }
.ws-dv-hit:focus-visible { stroke: var(--tinta-acento-tx); stroke-width: 1.5; }
.ws-dv-linea { fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ws-dv-linea.s1 { stroke: var(--dv-1); }
.ws-dv-linea.s2 { stroke: var(--dv-2); }
.ws-dv-punto { stroke: var(--tinta-sup); stroke-width: 2; }
.ws-dv-punto.s1 { fill: var(--dv-1); }
.ws-dv-punto.s2 { fill: var(--dv-2); }
.ws-dv-cruz { stroke: var(--tinta-borde-2); stroke-width: 1; opacity: 0; pointer-events: none; }
.ws-dv-hit:hover + .ws-dv-cruz, .ws-dv-hit:focus + .ws-dv-cruz { opacity: 1; }
.ws-dv-seg { cursor: default; outline: none; }
.ws-dv-seg.nueva { fill: var(--dv-e1); }
.ws-dv-seg.iniciada { fill: var(--dv-e2); }
.ws-dv-seg.completada { fill: var(--dv-e3); }
.ws-dv-seg.terminada { fill: var(--dv-e4); }
.ws-dv-seg:hover, .ws-dv-seg:focus-visible { filter: brightness(1.15); }
.ws-dv-vacia { fill: var(--tinta-borde); }
.ws-dv-leyenda { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 0 0 6px; padding: 0; list-style: none; font-size: 12.5px; color: var(--tinta-texto-2); }
.ws-dv-leyenda > span, .ws-dv-leyenda li { display: inline-flex; align-items: center; gap: 8px; }
.ws-dv-clave { display: inline-block; flex: none; width: 14px; height: 3px; border-radius: 2px; background: var(--tinta-texto-3); }
.ws-dv-clave.s1 { background: var(--dv-1); }
.ws-dv-clave.s2 { background: var(--dv-2); }
.ws-dv-clave.seg { width: 10px; height: 10px; border-radius: 3px; }
.ws-dv-clave.nueva { background: var(--dv-e1); }
.ws-dv-clave.iniciada { background: var(--dv-e2); }
.ws-dv-clave.completada { background: var(--dv-e3); }
.ws-dv-clave.terminada { background: var(--dv-e4); }
.ws-dv-leyenda-col { flex-direction: column; gap: 8px; margin: 14px 0 6px; }
.ws-dv-leyenda-col li { display: grid; grid-template-columns: 12px 1fr auto; gap: 10px; }
.ws-dv-leyenda-col b { font-weight: 500; color: var(--tinta-texto); }
.ws-dv-cifra-g { display: flex; align-items: baseline; gap: 8px; margin: 0 0 12px; }
.ws-dv-cifra-g b { font: 600 34px/1 var(--f-ui); color: var(--tinta-texto); }
.ws-dv-cifra-g span { font-size: 13px; color: var(--tinta-texto-3); }
.ws-dv-tabla { margin-top: 10px; font-size: 12.5px; }
.ws-dv-tabla summary { cursor: pointer; color: var(--tinta-texto-3); }
.ws-dv-tabla summary:hover { color: var(--tinta-texto); }
.ws-dv-tabla table { width: 100%; margin-top: 8px; border-collapse: collapse; }
.ws-dv-tabla th, .ws-dv-tabla td { padding: 5px 8px; border-bottom: 1px solid var(--tinta-borde); text-align: left; font-weight: 400; color: var(--tinta-texto-2); }
.ws-dv-tabla thead th { font: 500 10.5px/1 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--tinta-texto-3); }
.ws-dv-tabla tbody th { color: var(--tinta-texto); }
.ws-dv-lista { margin: 0; padding: 0; list-style: none; }
.ws-dv-lista li + li { border-top: 1px solid var(--tinta-borde); }
.ws-dv-fila { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 9px 4px; color: inherit !important; text-decoration: none !important; border-radius: var(--r-1); }
.ws-dv-fila:hover { background: var(--tinta-hover); }
.ws-dv-fecha { min-width: 44px; font-size: 12px; color: var(--tinta-texto-2); }
.ws-dv-que { display: flex; flex-direction: column; min-width: 0; gap: 2px; }
.ws-dv-que b { display: flex; align-items: center; gap: 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; font-size: 13px; color: var(--tinta-texto); }
.ws-dv-que small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; color: var(--tinta-texto-3); }
.ws-dv-punto-capa { display: inline-block; flex: none; width: 8px; height: 8px; border-radius: 50%; }
.ws-dv-cuando { font-size: 12px; white-space: nowrap; color: var(--tinta-texto-3); }
.ws-dv-fila.atrasada .ws-dv-cuando { color: var(--tinta-alerta); font-weight: 500; }
.ws-dv-lista .ws-dv-fila:has(.ws-dv-monto) { grid-template-columns: minmax(0, 1fr) auto auto; }
.ws-dv-monto { font-size: 12.5px; color: var(--tinta-texto); white-space: nowrap; }
.ws-dv-total { margin: 10px 4px 0; padding-top: 10px; border-top: 1px solid var(--tinta-borde); font-size: 12.5px; color: var(--tinta-texto-3); }
.ws-dv-total b { color: var(--tinta-texto); font-weight: 500; }
.ws-dv-proy { display: flex; flex-direction: column; gap: 6px; padding: 10px 4px; color: inherit !important; text-decoration: none !important; border-radius: var(--r-1); }
.ws-dv-proy:hover { background: var(--tinta-hover); }
.ws-dv-proy-cab { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; }
.ws-dv-proy-cab b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; color: var(--tinta-texto); }
.ws-dv-proy-cab .ws-mono { color: var(--tinta-texto-2); }
.ws-dv-proy small { font-size: 12px; color: var(--tinta-texto-3); }
.ws-dv-medidor { display: block; height: 6px; border-radius: 3px; background: color-mix(in oklab, var(--dv-1) 20%, transparent); overflow: hidden; }
.ws-dv-medidor i { display: block; height: 100%; border-radius: 3px; background: var(--dv-1); }
.ws-dv-postits { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 16px; padding: 4px 4px 6px; }
.ws-dv-postit {
    --papel: #fff1a8; --giro: 0deg;
    position: relative; display: flex; flex-direction: column; gap: 8px; min-height: 96px; padding: 14px 14px 10px;
    border-radius: 2px 2px 12px 2px; background: var(--papel);
    color: #2b2a26 !important; text-decoration: none !important; font-size: 13.5px; line-height: 1.45;
    box-shadow: 0 8px 14px rgba(0, 0, 0, .28);
    transform: rotate(var(--giro)); transition: transform .14s ease;
}
.ws-dv-postit:hover { transform: rotate(0deg) translateY(-2px); }
.ws-dv-postit small { margin-top: auto; font-size: 11.5px; color: rgba(43, 42, 38, .55); }
.ws-dv-tip {
    position: fixed; z-index: 9500; min-width: 120px; max-width: 260px; padding: 9px 12px;
    border: 1px solid var(--tinta-borde-2); border-radius: var(--r-2);
    background: var(--tinta-sup); box-shadow: 0 10px 28px rgba(0, 0, 0, .4);
    pointer-events: none;
}
.ws-dv-tip[hidden] { display: none; }
.ws-dv-tip-t { margin-bottom: 6px; font: 500 11px/1 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--tinta-texto-3); }
.ws-dv-tip-f { display: flex; align-items: center; gap: 8px; font-size: 12.5px; }
.ws-dv-tip-f + .ws-dv-tip-f { margin-top: 4px; }
.ws-dv-tip-f b { font-weight: 600; color: var(--tinta-texto); }
.ws-dv-tip-f span { color: var(--tinta-texto-3); }
@media (max-width: 1180px) {
    .ws-dash-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ws-dash-kpis .ws-dv-hero { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
    .ws-dash-fila, .ws-dash-fila-7-5 { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .ws-dash-kpis { grid-template-columns: 1fr; }
    .ws-dv-hero-valor { font-size: 42px; }
}
@media (prefers-reduced-motion: reduce) {
    .ws-dv-barra, .ws-dv-postit { transition: none; }
}


.ws-act-filtros { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 16px; }
.ws-act-filtros input[type="search"], .ws-act-filtros select {
    width: auto !important; height: 34px !important; min-height: 0 !important; box-sizing: border-box; margin: 0 !important; padding: 0 10px !important;
    border: 1px solid var(--tinta-borde-2) !important; border-radius: var(--r-1) !important;
    background: var(--tinta-campo) !important; box-shadow: none !important; color: var(--tinta-texto) !important; font: 400 13px/1 var(--f-ui) !important;
}
.ws-act-filtros input[type="search"] { flex: 1 1 240px; min-width: 0; max-width: 360px; }
.ws-act-filtros input:focus, .ws-act-filtros select:focus { outline: none !important; border-color: var(--tinta-acento-tx) !important; box-shadow: var(--foco) !important; }
.ws-act-vacio { margin: 24px 0; color: var(--tinta-texto-3); }
.ws-act-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ws-act-item { padding: 14px 16px; border: 1px solid var(--tinta-borde); border-radius: var(--r-3); background: var(--tinta-sup); }
.ws-act-cab { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 10px; margin: 0 0 8px; }
.ws-act-quien { font: 600 12.5px/1 var(--f-ui); color: var(--tinta-texto); }
.ws-act-hora { font: 500 11px/1 var(--f-mono); letter-spacing: .02em; color: var(--tinta-texto-3); }
.ws-act-estado {
    margin-left: auto; padding: 3px 8px; border: 1px solid var(--tinta-borde-2); border-radius: 99px;
    font: 500 10.5px/1 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--tinta-texto-3);
}
.ws-act-estado[data-estado="aplicado"] { color: var(--tinta-ok); border-color: currentColor; }
.ws-act-estado[data-estado="propuesto"], .ws-act-estado[data-estado="parcial"] { color: var(--tinta-alerta); border-color: currentColor; }
.ws-act-estado[data-estado="fallido"] { color: var(--tinta-alerta); border-color: currentColor; font-weight: 700; }
.ws-act-pedido { margin: 0 0 8px; font: 600 14.5px/1.4 var(--f-ui); color: var(--tinta-texto); white-space: pre-wrap; word-break: break-word; }
.ws-act-resp { padding: 10px 12px; border-radius: var(--r-2); background: var(--tinta-campo); font-size: 13px; line-height: 1.55; color: var(--tinta-texto-2); word-break: break-word; max-height: 15em; overflow-y: auto; }
.ws-act-consultas { display: flex; align-items: center; gap: 6px; margin: 8px 0 0; font-size: 12px; color: var(--tinta-texto-3); }
.ws-act-consultas .ws-ico { width: 13px; height: 13px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.5; }
.ws-act-pasos { list-style: none; margin: 10px 0 0; padding: 10px 0 0; border-top: 1px solid var(--tinta-borde); display: flex; flex-direction: column; gap: 6px; }
.ws-act-paso { display: flex; gap: 8px; font-size: 13px; line-height: 1.45; color: var(--tinta-texto); }
.ws-act-marca { flex: none; width: 14px; text-align: center; font-weight: 700; }
.ws-act-paso[data-r="ok"] .ws-act-marca { color: var(--tinta-ok); }
.ws-act-paso[data-r="mal"] .ws-act-marca { color: var(--tinta-alerta); }
.ws-act-paso[data-r="pend"] .ws-act-marca { color: var(--tinta-texto-3); }
.ws-act-msj { display: block; font-style: normal; font-size: 12px; color: var(--tinta-texto-3); }
.ws-act-paso a { margin-left: 6px; color: var(--tinta-acento-tx) !important; text-decoration: underline; text-underline-offset: 2px; font-size: 12px; }
.ws-act-paginas { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 18px 0 4px; }
.ws-act-pag-n { font: 500 12px/1 var(--f-mono); color: var(--tinta-texto-3); }
@media (max-width: 600px) {
    .ws-act-filtros input[type="search"] { flex-basis: 100%; max-width: none; }
    .ws-act-estado { margin-left: 0; }
}
.ws-act-cambio .ws-act-pedido { font-size: 14px; }
.ws-act-cambio .ws-act-pedido a { color: var(--tinta-texto) !important; text-decoration: none; }
.ws-act-cambio .ws-act-pedido a:hover { color: var(--tinta-acento-tx) !important; text-decoration: underline; text-underline-offset: 2px; }
.ws-act-via { padding: 2px 7px; border-radius: 99px; background: var(--tinta-campo); font: 500 10.5px/1.3 var(--f-mono); letter-spacing: .04em; color: var(--tinta-texto-3); }
.ws-act-estado[data-accion="creo"] { color: var(--tinta-ok); border-color: currentColor; }
.ws-act-estado[data-accion="elimino"] { color: var(--tinta-alerta); border-color: currentColor; }
.ws-act-lineas { margin-top: 6px; padding-top: 8px; gap: 4px; }
.ws-act-linea { font-size: 13px; color: var(--tinta-texto-2); }
.ws-act-campo { display: inline-block; min-width: 96px; font: 500 11px/1.4 var(--f-mono); letter-spacing: .04em; text-transform: uppercase; color: var(--tinta-texto-3); }
.ws-act-antes { color: var(--tinta-texto-3); text-decoration: line-through; text-decoration-thickness: 1px; }
.ws-act-linea b { color: var(--tinta-texto); font-weight: 600; }
.ws-act-cambio .ws-act-pedido a { display: inline !important; padding: 0 !important; margin: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; font: inherit !important; }
.ws-act-cambio .ws-act-pedido { white-space: normal; }
.ws-ver-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ws-ver-item { padding: 16px 18px; border: 1px solid var(--tinta-borde); border-radius: var(--r-3); background: var(--tinta-sup); }
.ws-ver-actual { border-color: var(--tinta-acento-tx); }
.ws-ver-cab { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 12px; margin: 0 0 6px; }
.ws-ver-cab .ws-act-estado { margin-left: auto; }
.ws-ver-num { font: 600 15px/1 var(--f-mono); letter-spacing: .02em; color: var(--tinta-texto); }
.ws-ver-titulo { margin: 0 0 10px !important; font: 600 15px/1.3 var(--f-ui) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--tinta-texto) !important; }
.ws-ver-cambios { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.ws-ver-cambios li { display: flex; align-items: baseline; gap: 10px; font-size: 13px; line-height: 1.5; color: var(--tinta-texto-2); }
.ws-ver-tipo { flex: none; min-width: 52px; text-align: center; padding: 2px 7px; border: 1px solid var(--tinta-borde-2); border-radius: 99px; font: 500 10px/1.4 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--tinta-texto-3); }
.ws-ver-tipo[data-t="nuevo"] { color: var(--tinta-ok); border-color: currentColor; }
.ws-ver-tipo[data-t="arreglo"] { color: var(--tinta-alerta); border-color: currentColor; }


.raver-welcome-banner {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 0;
    display: flex; flex-direction: column; justify-content: center;
    padding: 18px 26px;
    margin-bottom: 18px;
    border: 1px solid color-mix(in oklab, var(--tinta-texto) 13%, transparent);
    border-radius: var(--r-3, 6px);
    background:
        radial-gradient(46% 160% at 94% -20%, color-mix(in oklab, var(--tinta-acento) 42%, transparent), transparent 72%),
        radial-gradient(34% 150% at 62% 130%, color-mix(in oklab, var(--tinta-acento) 20%, transparent), transparent 72%),
        color-mix(in oklab, var(--tinta-sup) 62%, transparent);
    -webkit-backdrop-filter: blur(18px) saturate(1.5);
            backdrop-filter: blur(18px) saturate(1.5);
    box-shadow:
        inset 0 1px 0 color-mix(in oklab, var(--tinta-texto) 16%, transparent),
        0 10px 28px -14px rgb(0 0 0 / .55);
}
.raver-welcome-banner::after {
    content: "";
    position: absolute; top: 0; right: 0; bottom: 0; width: min(46%, 420px); z-index: -1; pointer-events: none;
    background: var(--tinta-acento-tx, var(--tinta-acento));
    opacity: .22;
    -webkit-mask: var(--motivo, linear-gradient(transparent, transparent)) right 28px bottom -10px / auto 112% no-repeat;
            mask: var(--motivo, linear-gradient(transparent, transparent)) right 28px bottom -10px / auto 112% no-repeat;
}
.raver-welcome-title {
    margin: 0 0 4px !important;
    font-family: var(--raver-display, 'Syne', sans-serif) !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: -.01em !important;
    color: var(--tinta-texto-fuerte) !important;
}
.raver-welcome-title svg, .raver-welcome-title i[class*="lni"] { display: none; }
.raver-welcome-subtitle {
    max-width: 62ch;
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: var(--tinta-texto-2, var(--tinta-suave)) !important;
}
.raver-welcome-banner:has(button, .raver-btn-action, .ws-btn)::after {
    width: min(72%, 700px);
    -webkit-mask-position: right 220px bottom -10px;
            mask-position: right 220px bottom -10px;
}
@media (max-width: 760px) {
    .raver-welcome-banner { padding: 16px 18px; }
    .raver-welcome-title { font-size: 22px !important; }
    .raver-welcome-banner::after { opacity: .12; width: 80%; }
}
.raver-portal-container:has(.ws-sec[data-sec="contactos"]) .raver-welcome-banner { --motivo: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20140%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Crect%20x%3D%2296%22%20y%3D%2270%22%20width%3D%2256%22%20height%3D%2270%22%2F%3E%3Crect%20x%3D%22106%22%20y%3D%2280%22%20width%3D%226%22%20height%3D%226%22%2F%3E%3Crect%20x%3D%22106%22%20y%3D%2294%22%20width%3D%226%22%20height%3D%226%22%2F%3E%3Crect%20x%3D%22106%22%20y%3D%22108%22%20width%3D%226%22%20height%3D%226%22%2F%3E%3Crect%20x%3D%22106%22%20y%3D%22122%22%20width%3D%226%22%20height%3D%226%22%2F%3E%3Crect%20x%3D%22120%22%20y%3D%2280%22%20width%3D%226%22%20height%3D%226%22%2F%3E%3Crect%20x%3D%22120%22%20y%3D%2294%22%20width%3D%226%22%20height%3D%226%22%2F%3E%3Crect%20x%3D%22120%22%20y%3D%22108%22%20width%3D%226%22%20height%3D%226%22%2F%3E%3Crect%20x%3D%22120%22%20y%3D%22122%22%20width%3D%226%22%20height%3D%226%22%2F%3E%3Crect%20x%3D%22134%22%20y%3D%2280%22%20width%3D%226%22%20height%3D%226%22%2F%3E%3Crect%20x%3D%22134%22%20y%3D%2294%22%20width%3D%226%22%20height%3D%226%22%2F%3E%3Crect%20x%3D%22134%22%20y%3D%22108%22%20width%3D%226%22%20height%3D%226%22%2F%3E%3Crect%20x%3D%22134%22%20y%3D%22122%22%20width%3D%226%22%20height%3D%226%22%2F%3E%3Crect%20x%3D%22160%22%20y%3D%2224%22%20width%3D%2264%22%20height%3D%22116%22%2F%3E%3Crect%20x%3D%22172%22%20y%3D%2236%22%20width%3D%227%22%20height%3D%227%22%2F%3E%3Crect%20x%3D%22172%22%20y%3D%2252%22%20width%3D%227%22%20height%3D%227%22%2F%3E%3Crect%20x%3D%22172%22%20y%3D%2268%22%20width%3D%227%22%20height%3D%227%22%2F%3E%3Crect%20x%3D%22172%22%20y%3D%2284%22%20width%3D%227%22%20height%3D%227%22%2F%3E%3Crect%20x%3D%22172%22%20y%3D%22100%22%20width%3D%227%22%20height%3D%227%22%2F%3E%3Crect%20x%3D%22172%22%20y%3D%22116%22%20width%3D%227%22%20height%3D%227%22%2F%3E%3Crect%20x%3D%22188%22%20y%3D%2236%22%20width%3D%227%22%20height%3D%227%22%2F%3E%3Crect%20x%3D%22188%22%20y%3D%2252%22%20width%3D%227%22%20height%3D%227%22%2F%3E%3Crect%20x%3D%22188%22%20y%3D%2268%22%20width%3D%227%22%20height%3D%227%22%2F%3E%3Crect%20x%3D%22188%22%20y%3D%2284%22%20width%3D%227%22%20height%3D%227%22%2F%3E%3Crect%20x%3D%22188%22%20y%3D%22100%22%20width%3D%227%22%20height%3D%227%22%2F%3E%3Crect%20x%3D%22188%22%20y%3D%22116%22%20width%3D%227%22%20height%3D%227%22%2F%3E%3Crect%20x%3D%22204%22%20y%3D%2236%22%20width%3D%227%22%20height%3D%227%22%2F%3E%3Crect%20x%3D%22204%22%20y%3D%2252%22%20width%3D%227%22%20height%3D%227%22%2F%3E%3Crect%20x%3D%22204%22%20y%3D%2268%22%20width%3D%227%22%20height%3D%227%22%2F%3E%3Crect%20x%3D%22204%22%20y%3D%2284%22%20width%3D%227%22%20height%3D%227%22%2F%3E%3Crect%20x%3D%22204%22%20y%3D%22100%22%20width%3D%227%22%20height%3D%227%22%2F%3E%3Crect%20x%3D%22204%22%20y%3D%22116%22%20width%3D%227%22%20height%3D%227%22%2F%3E%3Crect%20x%3D%22232%22%20y%3D%2256%22%20width%3D%2252%22%20height%3D%2284%22%2F%3E%3Crect%20x%3D%22242%22%20y%3D%2266%22%20width%3D%226%22%20height%3D%226%22%2F%3E%3Crect%20x%3D%22242%22%20y%3D%2280%22%20width%3D%226%22%20height%3D%226%22%2F%3E%3Crect%20x%3D%22242%22%20y%3D%2294%22%20width%3D%226%22%20height%3D%226%22%2F%3E%3Crect%20x%3D%22242%22%20y%3D%22108%22%20width%3D%226%22%20height%3D%226%22%2F%3E%3Crect%20x%3D%22256%22%20y%3D%2266%22%20width%3D%226%22%20height%3D%226%22%2F%3E%3Crect%20x%3D%22256%22%20y%3D%2280%22%20width%3D%226%22%20height%3D%226%22%2F%3E%3Crect%20x%3D%22256%22%20y%3D%2294%22%20width%3D%226%22%20height%3D%226%22%2F%3E%3Crect%20x%3D%22256%22%20y%3D%22108%22%20width%3D%226%22%20height%3D%226%22%2F%3E%3Crect%20x%3D%22270%22%20y%3D%2266%22%20width%3D%226%22%20height%3D%226%22%2F%3E%3Crect%20x%3D%22270%22%20y%3D%2280%22%20width%3D%226%22%20height%3D%226%22%2F%3E%3Crect%20x%3D%22270%22%20y%3D%2294%22%20width%3D%226%22%20height%3D%226%22%2F%3E%3Crect%20x%3D%22270%22%20y%3D%22108%22%20width%3D%226%22%20height%3D%226%22%2F%3E%3Cpath%20d%3D%22M60%20L139%20L300%20L139%22%2F%3E%3C%2Fsvg%3E"); }
.raver-portal-container:has(.ws-sec[data-sec="proyectos"]) .raver-welcome-banner { --motivo: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20140%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Cpath%20d%3D%22M110%20L30%20L250%20L30%22%2F%3E%3Cpath%20d%3D%22M262%2021%20L271%2030%20L262%2039%20L253%2030%20Z%22%2F%3E%3Cpath%20d%3D%22M110%20L62%20L200%20L62%22%2F%3E%3Cpath%20d%3D%22M212%2053%20L221%2062%20L212%2071%20L203%2062%20Z%22%2F%3E%3Cpath%20d%3D%22M110%20L94%20L270%20L94%22%2F%3E%3Cpath%20d%3D%22M282%2085%20L291%2094%20L282%20103%20L273%2094%20Z%22%2F%3E%3Cpath%20d%3D%22M110%20L124%20L170%20L124%22%2F%3E%3Cpath%20d%3D%22M182%20115%20L191%20124%20L182%20133%20L173%20124%20Z%22%2F%3E%3Cpath%20d%3D%22M236%20L8%20L236%20L136%22%2F%3E%3C%2Fsvg%3E"); }
.raver-portal-container:has(.ws-sec[data-sec="presupuestos"]) .raver-welcome-banner { --motivo: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20140%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Crect%20x%3D%22176%22%20y%3D%2220%22%20width%3D%2296%22%20height%3D%22112%22%2F%3E%3Cpath%20d%3D%22M188%20L8%20L284%20L8%20L284%20L118%22%2F%3E%3Cpath%20d%3D%22M192%20L50%20L256%20L50%22%2F%3E%3Cpath%20d%3D%22M192%20L68%20L256%20L68%22%2F%3E%3Cpath%20d%3D%22M192%20L86%20L232%20L86%22%2F%3E%3Cpath%20d%3D%22M192%20L112%20L256%20L112%22%2F%3E%3C%2Fsvg%3E"); }
.raver-portal-container:has(.ws-sec[data-sec="cobros"]) .raver-welcome-banner { --motivo: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20140%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Cpath%20d%3D%22M170%2012%20H262%20V128%20L254%20120%20L246%20128%20L238%20120%20L230%20128%20L222%20120%20L214%20128%20L206%20120%20L198%20128%20L190%20120%20L182%20128%20L174%20120%20L170%20124%20Z%22%2F%3E%3Cpath%20d%3D%22M184%20L44%20L248%20L44%22%2F%3E%3Cpath%20d%3D%22M184%20L64%20L232%20L64%22%2F%3E%3Cpath%20d%3D%22M184%20L84%20L248%20L84%22%2F%3E%3Ccircle%20cx%3D%22296%22%20cy%3D%22100%22%20r%3D%2218%22%2F%3E%3Ccircle%20cx%3D%22296%22%20cy%3D%22100%22%20r%3D%228%22%2F%3E%3C%2Fsvg%3E"); }
.raver-portal-container:has(.ws-sec[data-sec="servicios"]) .raver-welcome-banner { --motivo: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20140%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Crect%20x%3D%22150%22%20y%3D%2218%22%20width%3D%22130%22%20height%3D%2230%22%2F%3E%3Crect%20x%3D%22150%22%20y%3D%2256%22%20width%3D%22130%22%20height%3D%2230%22%2F%3E%3Crect%20x%3D%22150%22%20y%3D%2294%22%20width%3D%22130%22%20height%3D%2230%22%2F%3E%3Cpath%20d%3D%22M166%20L33%20L190%20L33%22%2F%3E%3Cpath%20d%3D%22M166%20L71%20L190%20L71%22%2F%3E%3Cpath%20d%3D%22M166%20L109%20L190%20L109%22%2F%3E%3Ccircle%20cx%3D%22256%22%20cy%3D%2233%22%20r%3D%224%22%2F%3E%3Ccircle%20cx%3D%22268%22%20cy%3D%2233%22%20r%3D%224%22%2F%3E%3Ccircle%20cx%3D%22256%22%20cy%3D%2271%22%20r%3D%224%22%2F%3E%3Ccircle%20cx%3D%22268%22%20cy%3D%2271%22%20r%3D%224%22%2F%3E%3Ccircle%20cx%3D%22256%22%20cy%3D%22109%22%20r%3D%224%22%2F%3E%3Ccircle%20cx%3D%22268%22%20cy%3D%22109%22%20r%3D%224%22%2F%3E%3C%2Fsvg%3E"); }
.raver-portal-container:has(.ws-sec[data-sec="periodicos"]) .raver-welcome-banner { --motivo: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20140%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Cpath%20d%3D%22M232%2028%20A44%2044%200%200%201%20276%2072%22%2F%3E%3Cpath%20d%3D%22M276%20L52%20L276%20L72%20L256%20L72%22%2F%3E%3Cpath%20d%3D%22M232%20116%20A44%2044%200%200%201%20188%2072%22%2F%3E%3Cpath%20d%3D%22M188%20L92%20L188%20L72%20L208%20L72%22%2F%3E%3Ccircle%20cx%3D%22232%22%20cy%3D%2272%22%20r%3D%2212%22%2F%3E%3C%2Fsvg%3E"); }
.raver-portal-container:has(.ws-sec[data-sec="prestados"]) .raver-welcome-banner { --motivo: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20140%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Cpath%20d%3D%22M230%20L14%20L290%20L44%20L290%20L100%20L230%20L130%20L170%20L100%20L170%20L44%20L230%20L14%22%2F%3E%3Cpath%20d%3D%22M170%20L44%20L230%20L74%20L290%20L44%22%2F%3E%3Cpath%20d%3D%22M230%20L74%20L230%20L130%22%2F%3E%3Cpath%20d%3D%22M200%20L29%20L260%20L59%22%2F%3E%3C%2Fsvg%3E"); }
.raver-portal-container:has(.ws-sec[data-sec="tablero"]) .raver-welcome-banner { --motivo: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20140%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Crect%20x%3D%22120%22%20y%3D%2216%22%20width%3D%2256%22%20height%3D%22108%22%2F%3E%3Crect%20x%3D%22130%22%20y%3D%2230%22%20width%3D%2236%22%20height%3D%2218%22%2F%3E%3Crect%20x%3D%22130%22%20y%3D%2256%22%20width%3D%2236%22%20height%3D%2218%22%2F%3E%3Crect%20x%3D%22188%22%20y%3D%2216%22%20width%3D%2256%22%20height%3D%22108%22%2F%3E%3Crect%20x%3D%22198%22%20y%3D%2230%22%20width%3D%2236%22%20height%3D%2218%22%2F%3E%3Crect%20x%3D%22198%22%20y%3D%2256%22%20width%3D%2236%22%20height%3D%2218%22%2F%3E%3Crect%20x%3D%22198%22%20y%3D%2282%22%20width%3D%2236%22%20height%3D%2218%22%2F%3E%3Crect%20x%3D%22256%22%20y%3D%2216%22%20width%3D%2256%22%20height%3D%22108%22%2F%3E%3Crect%20x%3D%22266%22%20y%3D%2230%22%20width%3D%2236%22%20height%3D%2218%22%2F%3E%3C%2Fsvg%3E"); }
.raver-portal-container:has(.ws-sec[data-sec="clientes"]) .raver-welcome-banner { --motivo: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20140%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Ccircle%20cx%3D%22160%22%20cy%3D%2252%22%20r%3D%2218%22%2F%3E%3Cpath%20d%3D%22M130%20118%20A30%2030%200%200%201%20190%20118%22%2F%3E%3Ccircle%20cx%3D%22236%22%20cy%3D%2240%22%20r%3D%2222%22%2F%3E%3Cpath%20d%3D%22M198%20124%20A38%2038%200%200%201%20274%20124%22%2F%3E%3Ccircle%20cx%3D%22300%22%20cy%3D%2256%22%20r%3D%2214%22%2F%3E%3Cpath%20d%3D%22M280%20118%20A22%2022%200%200%201%20320%20118%22%2F%3E%3C%2Fsvg%3E"); }
.raver-portal-container:has(.ws-sec[data-sec="equipo"]) .raver-welcome-banner { --motivo: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20140%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Ccircle%20cx%3D%22176%22%20cy%3D%2248%22%20r%3D%2220%22%2F%3E%3Cpath%20d%3D%22M142%20122%20A34%2034%200%200%201%20210%20122%22%2F%3E%3Ccircle%20cx%3D%22232%22%20cy%3D%2248%22%20r%3D%2220%22%2F%3E%3Cpath%20d%3D%22M198%20122%20A34%2034%200%200%201%20266%20122%22%2F%3E%3Ccircle%20cx%3D%22288%22%20cy%3D%2248%22%20r%3D%2220%22%2F%3E%3Cpath%20d%3D%22M254%20122%20A34%2034%200%200%201%20322%20122%22%2F%3E%3C%2Fsvg%3E"); }
.raver-portal-container:has(.ws-sec[data-sec="kickoff"]) .raver-welcome-banner { --motivo: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20140%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Crect%20x%3D%22150%22%20y%3D%2214%22%20width%3D%22130%22%20height%3D%22112%22%2F%3E%3Cpath%20d%3D%22M166%20L40%20L214%20L40%22%2F%3E%3Crect%20x%3D%22166%22%20y%3D%2250%22%20width%3D%2298%22%20height%3D%2216%22%2F%3E%3Cpath%20d%3D%22M166%20L82%20L206%20L82%22%2F%3E%3Crect%20x%3D%22166%22%20y%3D%2292%22%20width%3D%2298%22%20height%3D%2216%22%2F%3E%3Crect%20x%3D%22290%22%20y%3D%2222%22%20width%3D%2212%22%20height%3D%2212%22%2F%3E%3Cpath%20d%3D%22M292%20L28%20L296%20L32%20L301%20L22%22%2F%3E%3C%2Fsvg%3E"); }
.raver-portal-container:has(.ws-sec[data-sec="formularios"]) .raver-welcome-banner { --motivo: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20140%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Crect%20x%3D%22150%22%20y%3D%2218%22%20width%3D%2218%22%20height%3D%2218%22%2F%3E%3Cpath%20d%3D%22M154%20L28%20L158%20L32%20L164%20L22%22%2F%3E%3Cpath%20d%3D%22M184%20L27%20L270%20L27%22%2F%3E%3Crect%20x%3D%22150%22%20y%3D%2254%22%20width%3D%2218%22%20height%3D%2218%22%2F%3E%3Cpath%20d%3D%22M184%20L63%20L244%20L63%22%2F%3E%3Ccircle%20cx%3D%22160%22%20cy%3D%22100%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M184%20L100%20L262%20L100%22%2F%3E%3Ccircle%20cx%3D%22160%22%20cy%3D%22126%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%22160%22%20cy%3D%22126%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M184%20L126%20L232%20L126%22%2F%3E%3Cpath%20d%3D%22M290%20L14%20L290%20L136%22%2F%3E%3Cpath%20d%3D%22M290%20L63%20L306%20L63%22%2F%3E%3C%2Fsvg%3E"); }
.raver-portal-container:has(.ws-sec[data-sec="consumo"]) .raver-welcome-banner { --motivo: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20140%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Cpath%20d%3D%22M120%20L132%20L300%20L132%22%2F%3E%3Crect%20x%3D%22136%22%20y%3D%22104%22%20width%3D%2218%22%20height%3D%2228%22%2F%3E%3Crect%20x%3D%22166%22%20y%3D%2284%22%20width%3D%2218%22%20height%3D%2248%22%2F%3E%3Crect%20x%3D%22196%22%20y%3D%22112%22%20width%3D%2218%22%20height%3D%2220%22%2F%3E%3Crect%20x%3D%22226%22%20y%3D%2260%22%20width%3D%2218%22%20height%3D%2272%22%2F%3E%3Crect%20x%3D%22256%22%20y%3D%2292%22%20width%3D%2218%22%20height%3D%2240%22%2F%3E%3Ccircle%20cx%3D%22262%22%20cy%3D%2236%22%20r%3D%2218%22%2F%3E%3Ccircle%20cx%3D%22262%22%20cy%3D%2236%22%20r%3D%228%22%2F%3E%3C%2Fsvg%3E"); }
.raver-portal-container:has(.ws-sec[data-sec="dashboard"]) .raver-welcome-banner { --motivo: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20140%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Cpath%20d%3D%22M120%20L132%20L300%20L132%22%2F%3E%3Crect%20x%3D%22136%22%20y%3D%2292%22%20width%3D%2222%22%20height%3D%2240%22%2F%3E%3Crect%20x%3D%22172%22%20y%3D%2264%22%20width%3D%2222%22%20height%3D%2268%22%2F%3E%3Crect%20x%3D%22208%22%20y%3D%2278%22%20width%3D%2222%22%20height%3D%2254%22%2F%3E%3Crect%20x%3D%22244%22%20y%3D%2236%22%20width%3D%2222%22%20height%3D%2296%22%2F%3E%3Crect%20x%3D%22280%22%20y%3D%2252%22%20width%3D%2222%22%20height%3D%2280%22%2F%3E%3Cpath%20d%3D%22M124%20L70%20L160%20L50%20L196%20L56%20L232%20L22%20L268%20L36%22%2F%3E%3C%2Fsvg%3E"); }
.raver-portal-container:has(.ws-sec[data-sec="actividad"]) .raver-welcome-banner { --motivo: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20140%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Cpath%20d%3D%22M196%20L8%20L196%20L134%22%2F%3E%3Ccircle%20cx%3D%22196%22%20cy%3D%2230%22%20r%3D%228%22%2F%3E%3Ccircle%20cx%3D%22196%22%20cy%3D%2272%22%20r%3D%228%22%2F%3E%3Ccircle%20cx%3D%22196%22%20cy%3D%22114%22%20r%3D%228%22%2F%3E%3Cpath%20d%3D%22M214%20L30%20L284%20L30%22%2F%3E%3Cpath%20d%3D%22M214%20L72%20L264%20L72%22%2F%3E%3Cpath%20d%3D%22M214%20L114%20L300%20L114%22%2F%3E%3C%2Fsvg%3E"); }
.raver-portal-container:has(.ws-sec[data-sec="versiones"]) .raver-welcome-banner { --motivo: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20140%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Cpath%20d%3D%22M150%2054%20L166%2070%20L150%2086%20L134%2070%20Z%22%2F%3E%3Cpath%20d%3D%22M166%20L70%20L204%20L70%22%2F%3E%3Cpath%20d%3D%22M220%2054%20L236%2070%20L220%2086%20L204%2070%20Z%22%2F%3E%3Cpath%20d%3D%22M236%20L70%20L274%20L70%22%2F%3E%3Cpath%20d%3D%22M290%2054%20L306%2070%20L290%2086%20L274%2070%20Z%22%2F%3E%3Cpath%20d%3D%22M220%20L54%20L220%20L24%22%2F%3E%3Cpath%20d%3D%22M220%206%20L228%2014%20L220%2022%20L212%2014%20Z%22%2F%3E%3Cpath%20d%3D%22M290%20L86%20L290%20L116%22%2F%3E%3Cpath%20d%3D%22M290%20118%20L298%20126%20L290%20134%20L282%20126%20Z%22%2F%3E%3C%2Fsvg%3E"); }
.raver-portal-container:has(.ws-sec[data-sec="marca"]) .raver-welcome-banner { --motivo: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20140%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Ccircle%20cx%3D%22196%22%20cy%3D%2256%22%20r%3D%2238%22%2F%3E%3Ccircle%20cx%3D%22240%22%20cy%3D%2256%22%20r%3D%2238%22%2F%3E%3Ccircle%20cx%3D%22218%22%20cy%3D%2292%22%20r%3D%2238%22%2F%3E%3Ccircle%20cx%3D%22286%22%20cy%3D%22100%22%20r%3D%2214%22%2F%3E%3C%2Fsvg%3E"); }


.ws-cs-mes { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; }
.ws-cs-mes strong { font: 600 15px/1 var(--f-ui); color: var(--tinta-texto); text-transform: capitalize; }
.ws-cs-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0 0 14px; }
.ws-cs-kpi { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; border: 1px solid var(--tinta-borde); border-radius: var(--r-3); background: var(--tinta-sup); }
.ws-cs-rot { font: 500 10.5px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--tinta-texto-3); }
.ws-cs-kpi b { font: 600 28px/1.1 var(--f-ui); letter-spacing: -.01em; color: var(--tinta-texto); }
.ws-cs-kpi small { font-size: 12px; color: var(--tinta-texto-3); }
.ws-cs-card { margin: 0 0 14px; padding: 16px 18px; border: 1px solid var(--tinta-borde); border-radius: var(--r-3); background: var(--tinta-sup); min-width: 0; }
.ws-cs-card header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 0 0 12px; }
.ws-cs-card h3 { margin: 0 !important; font: 600 14px/1.2 var(--f-ui) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--tinta-texto) !important; }
.ws-cs-card header small { font-size: 12px; color: var(--tinta-texto-3); }
.ws-cs-dos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ws-cs-dos .ws-cs-card { margin-bottom: 14px; }
.ws-cs-barras { display: flex; align-items: flex-end; gap: 4px; height: 150px; padding: 0 0 18px; }
.ws-cs-col { position: relative; flex: 1; height: 100%; display: flex; align-items: flex-end; justify-content: center; }
.ws-cs-col i { display: block; width: 100%; max-width: 22px; border-radius: 3px 3px 0 0; background: var(--tinta-acento-tx); opacity: .85; min-height: 0; }
.ws-cs-col:hover i { opacity: 1; }
.ws-cs-col small { position: absolute; bottom: -16px; font: 400 9.5px/1 var(--f-mono); color: var(--tinta-texto-3); }
.ws-cs-tabla { width: 100%; border-collapse: collapse; font-size: 13px; }
.ws-cs-tabla td, .ws-cs-tabla th { padding: 8px 6px; border-bottom: 1px solid var(--tinta-borde); text-align: left; color: var(--tinta-texto-2); vertical-align: top; }
.ws-cs-tabla tr:last-child td { border-bottom: 0; }
.ws-cs-tabla th { font: 500 10.5px/1 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--tinta-texto-3); }
.ws-cs-tabla .num { text-align: right; font-family: var(--f-mono); white-space: nowrap; color: var(--tinta-texto); }
.ws-cs-tabla small { color: var(--tinta-texto-3); margin-left: 6px; }
.ws-cs-usd { color: var(--tinta-texto-3) !important; }
.ws-cs-fecha { white-space: nowrap; font-family: var(--f-mono); font-size: 12px; }
.ws-cs-pedido { max-width: 380px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ws-cs-vacio { margin: 0; font-size: 13px; color: var(--tinta-texto-3) !important; }
.ws-cs-ayuda { margin: 0 0 12px; max-width: 70ch; font-size: 13px; line-height: 1.55; color: var(--tinta-texto-2); }
.ws-cs-form { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; }
.ws-cs-form label { display: flex; flex-direction: column; gap: 5px; font-size: 12px; color: var(--tinta-texto-3); }
.ws-cs-form input[type="text"] { width: 130px; min-height: 32px; padding: 4px 10px !important; border: 1px solid var(--tinta-borde-2) !important; border-radius: var(--r-1) !important; background: var(--tinta-campo) !important; color: var(--tinta-texto) !important; font: 400 13px/1.3 var(--f-mono) !important; }
.ws-act-cred { margin-left: 8px; padding: 2px 7px; border: 1px solid var(--tinta-borde-2); border-radius: 99px; font: 500 10.5px/1.4 var(--f-mono); letter-spacing: .02em; color: var(--tinta-texto-3); vertical-align: 1px; white-space: nowrap; }
@media (max-width: 900px) { .ws-cs-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ws-cs-dos { grid-template-columns: 1fr; } }
.ws-cs-plan { margin-bottom: 18px; }
.ws-cs-medidor { height: 10px; margin: 4px 0 12px; border-radius: 999px; background: var(--tinta-campo); overflow: hidden; }
.ws-cs-medidor i { display: block; height: 100%; border-radius: 999px; background: var(--tinta-acento-tx); transition: width .3s; }
.ws-cs-n-aviso .ws-cs-medidor i { background: #e0a030; }
.ws-cs-n-agotado .ws-cs-medidor i { background: #d9534f; }
.ws-cs-plan-forms { display: flex; flex-direction: column; gap: 14px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--tinta-borde); }
.ws-cs-form input[type="number"] { width: 130px; min-height: 32px; padding: 4px 10px !important; border: 1px solid var(--tinta-borde-2) !important; border-radius: var(--r-1) !important; background: var(--tinta-campo) !important; color: var(--tinta-texto) !important; font: 400 13px/1.3 var(--f-mono) !important; }
.ws-cs-form input[name="plan_nombre"] { width: 170px; }


.ws-fm-lista { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ws-fm-item {
    display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap;
    padding: 16px 18px; border: 1px solid var(--tinta-borde); border-radius: var(--r-3); background: var(--tinta-sup);
    transition: border-color .15s;
}
.ws-fm-item:hover { border-color: var(--tinta-borde-2); }
.ws-fm-cuerpo { min-width: 0; flex: 1 1 320px; }
.ws-fm-cuerpo h3 { margin: 0 0 4px !important; font: 600 16px/1.3 var(--f-ui) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--tinta-texto) !important; }
.ws-fm-cuerpo h3 a { color: inherit !important; text-decoration: none; }
.ws-fm-cuerpo h3 a:hover { color: var(--tinta-acento-tx) !important; }
.ws-fm-cuerpo p { margin: 0; font-size: 13px; line-height: 1.5; color: var(--tinta-texto-2); }
.ws-fm-datos { margin-top: 6px !important; font-size: 12px !important; color: var(--tinta-texto-3) !important; }
.ws-fm-etq { margin-left: 8px; padding: 2px 7px; border: 1px solid var(--tinta-borde-2); border-radius: 99px; font: 500 10px/1.4 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--tinta-texto-3); vertical-align: 2px; }
.ws-fm-acc { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.ws-fm-form { margin: 0; }
.ws-fm-sub { margin: 24px 0 10px !important; font: 500 11px/1 var(--f-mono) !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: var(--tinta-texto-3) !important; }
.ws-fm-archivados .ws-fm-item { opacity: .75; }
.ws-fm-nota { margin: 14px 0; font-size: 12.5px; color: var(--tinta-texto-3); }
dialog.ws-dlg-vista { width: min(1040px, calc(100vw - 24px)); }
.ws-fm-vista-cuerpo { padding: 0 !important; }
.ws-fm-vista-cuerpo iframe { display: block; width: 100%; height: min(78vh, 760px); border: 0; background: #0a0c10; }
.ws-fe { display: flex; flex-direction: column; gap: 16px; }
.ws-fe-top { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.ws-fe-volver { font-size: 13px; color: var(--tinta-texto-2) !important; text-decoration: none; white-space: nowrap; }
.ws-fe-volver:hover { color: var(--tinta-texto) !important; }
.ws-fe-estado { margin-left: auto; font: 500 12px/1 var(--f-mono); color: var(--tinta-texto-3); }
.ws-fe-estado.ws-fe-ok { color: var(--tinta-ok); }
.ws-fe-estado.ws-fe-mal { color: var(--tinta-mal); }
.ws-fe-estado.ws-fe-sucio { color: var(--tinta-alerta); }
.ws-fe-aviso { margin: 0; padding: 10px 14px; border: 1px solid color-mix(in oklab, var(--tinta-alerta) 40%, transparent); border-radius: var(--r-2); background: color-mix(in oklab, var(--tinta-alerta) 8%, transparent); font-size: 12.5px; line-height: 1.5; color: var(--tinta-texto-2); }
.ws-fe-cols { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 18px; align-items: start; }
.ws-fe-lateral { position: sticky; top: 14px; display: flex; flex-direction: column; gap: 10px; padding: 14px; border: 1px solid var(--tinta-borde); border-radius: var(--r-3); background: var(--tinta-sup); }
.ws-fe-lateral h4 { margin: 0; font: 500 11px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--tinta-texto-3); }
.ws-fe-pasos-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.ws-fe-paso { display: flex; align-items: stretch; border: 1px solid transparent; border-radius: var(--r-2); }
.ws-fe-paso.on { border-color: var(--tinta-acento-tx); background: color-mix(in oklab, var(--tinta-acento) 9%, transparent); }
.ws-fe-paso:hover:not(.on) { background: var(--tinta-hover); }
.ws-fe-paso .ws-fe-paso-btn { all: unset; box-sizing: border-box; flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; padding: 8px 10px; cursor: pointer; }
.ws-fe-paso-btn b { font: 600 13px/1.3 var(--f-ui); color: var(--tinta-texto); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ws-fe-paso-btn small { font-size: 11.5px; color: var(--tinta-texto-3); }
.ws-fe-paso-btn:focus-visible { outline: 2px solid var(--tinta-acento-tx); outline-offset: -2px; border-radius: var(--r-2); }
.ws-fe-paso-mov { display: flex; flex-direction: column; justify-content: center; padding: 2px; opacity: 0; transition: opacity .12s; }
.ws-fe-paso:hover .ws-fe-paso-mov, .ws-fe-paso:focus-within .ws-fe-paso-mov { opacity: 1; }
.ws-fe-paso-mov .ws-btn { height: 20px; min-width: 24px; padding: 0 4px !important; font-size: 11px !important; }
.ws-fe-fijos { display: flex; flex-direction: column; gap: 3px; padding-top: 10px; border-top: 1px solid var(--tinta-borde); font-size: 12.5px; color: var(--tinta-texto-3); }
.ws-fe-fijos small { font-size: 11.5px; }
.ws-fe-textos { padding-top: 10px; border-top: 1px solid var(--tinta-borde); }
.ws-fe-textos summary { cursor: pointer; font-size: 13px; font-weight: 600; color: var(--tinta-texto-2); margin-bottom: 8px; }
.ws-fe-textos .ws-fe-campo { margin-top: 8px; }
.ws-fe-paso-edit { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.ws-fe-paso-cab { display: flex; align-items: flex-end; gap: 12px; }
.ws-fe-paso-cab .ws-fe-campo { flex: 1; }
.ws-fe-preguntas { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ws-fe-preg { display: flex; align-items: flex-start; gap: 12px; padding: 14px 14px 14px 16px; border: 1px solid var(--tinta-borde); border-radius: var(--r-3); background: var(--tinta-sup); }
.ws-fe-preg:focus-within { border-color: var(--tinta-borde-2); }
.ws-fe-preg-cuerpo { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.ws-fe-fila { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; gap: 10px; align-items: center; }
.ws-fe-barra-p { display: flex; flex-direction: column; gap: 4px; }
.ws-fe-barra-p .ws-btn { justify-content: center; }
.ws-fe-cond { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 12.5px; color: var(--tinta-texto-3); }
.ws-fe-cond select { flex: 0 1 260px !important; min-width: 0; }
.ws-fe-cond select[hidden] { display: none !important; }
.ws-fe-campo { display: flex; flex-direction: column; gap: 5px; font-size: 12px; color: var(--tinta-texto-3); min-width: 0; }
.ws-fe-campo small { font-size: 11.5px; line-height: 1.4; }
.ws-fe input[type="text"], .ws-fe select, .ws-fe textarea {
    width: 100% !important; box-sizing: border-box; min-height: 34px; margin: 0 !important; padding: 6px 10px !important;
    border: 1px solid var(--tinta-borde-2) !important; border-radius: var(--r-1) !important;
    background: var(--tinta-campo) !important; box-shadow: none !important; color: var(--tinta-texto) !important;
    font: 400 13px/1.4 var(--f-ui) !important;
}
.ws-fe textarea { resize: vertical; min-height: 70px; }
.ws-fe input:focus, .ws-fe select:focus, .ws-fe textarea:focus { outline: none !important; border-color: var(--tinta-acento-tx) !important; box-shadow: var(--foco) !important; }
.ws-fe .ws-fe-nombre { flex: 1 1 260px; width: auto !important; max-width: 420px; font: 600 15px/1.3 var(--f-ui) !important; }
.ws-fe .ws-fe-paso-titulo { font-weight: 600 !important; }
.ws-fe-check { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; color: var(--tinta-texto-2); cursor: pointer; white-space: nowrap; }
.ws-fe-check input { width: auto !important; min-height: 0 !important; margin: 0 !important; }
.ws-fe-rol { white-space: normal; }
.ws-fe .ws-fe-quitar:hover { color: var(--tinta-mal) !important; }
@media (max-width: 980px) {
    .ws-fe-cols { grid-template-columns: 1fr; }
    .ws-fe-lateral { position: static; }
    .ws-fe-fila { grid-template-columns: 1fr; }
    .ws-fe-preg { flex-direction: column; }
    .ws-fe-barra-p { flex-direction: row; flex-wrap: wrap; }
}
.ws-fe-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--tinta-borde); }
.ws-fe-tabs button { all: unset; box-sizing: border-box; position: relative; padding: 10px 16px; cursor: pointer; font: 600 13px/1 var(--f-ui); color: var(--tinta-texto-3); border-bottom: 2px solid transparent; margin-bottom: -1px; }
.ws-fe-tabs button:hover { color: var(--tinta-texto); }
.ws-fe-tabs button.on { color: var(--tinta-texto); border-bottom-color: var(--tinta-acento-tx); }
.ws-fe-tabs button:focus-visible { outline: 2px solid var(--tinta-acento-tx); outline-offset: -2px; border-radius: var(--r-1); }
.ws-fe-punto { display: inline-block; width: 6px; height: 6px; margin-left: 7px; border-radius: 50%; background: var(--tinta-acento-tx); vertical-align: 2px; }
.ws-es { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.ws-es h4 { margin: 0; font: 600 14px/1.3 var(--f-ui); color: var(--tinta-texto); }
.ws-es-tit { margin-top: 6px !important; }
.ws-es-nota { margin: 0; font-size: 12.5px; line-height: 1.5; color: var(--tinta-texto-3); }
.ws-es-acc { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.ws-es-pie { padding-top: 14px; border-top: 1px solid var(--tinta-borde); }
.ws-es-vacio { padding: 28px; border: 1px dashed var(--tinta-borde-2); border-radius: var(--r-3); display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.ws-es-vacio h3 { margin: 0 !important; font: 600 16px/1.3 var(--f-ui) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--tinta-texto) !important; }
.ws-es-vacio p { margin: 0; max-width: 62ch; font-size: 13px; line-height: 1.55; color: var(--tinta-texto-2); }
.ws-es-ayuda { padding: 12px 16px; border: 1px solid var(--tinta-borde); border-radius: var(--r-3); background: var(--tinta-sup); }
.ws-es-ayuda summary { cursor: pointer; font-size: 13px; font-weight: 600; color: var(--tinta-texto-2); }
.ws-es-ayuda p { margin: 10px 0 0; font-size: 12.5px; line-height: 1.5; color: var(--tinta-texto-2); }
.ws-es-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.ws-es-chip { all: unset; box-sizing: border-box; padding: 4px 9px; border: 1px solid var(--tinta-borde-2); border-radius: 99px; cursor: pointer; font: 500 11.5px/1.3 var(--f-mono); color: var(--tinta-texto-2); }
.ws-es-chip:hover { border-color: var(--tinta-acento-tx); color: var(--tinta-acento-tx); }
.ws-es-chip-dato { border-style: dashed; }
.ws-es-chip:focus-visible { outline: 2px solid var(--tinta-acento-tx); outline-offset: 1px; }
.ws-es-sintaxis { margin-top: 12px; border-collapse: collapse; width: 100%; font-size: 12.5px; }
.ws-es-sintaxis td { padding: 6px 10px 6px 0; vertical-align: top; border-top: 1px solid var(--tinta-borde); color: var(--tinta-texto-2); }
.ws-es-sintaxis td:first-child { white-space: nowrap; }
.ws-es-sintaxis code { font: 500 12px/1.4 var(--f-mono); color: var(--tinta-acento-tx); background: none; padding: 0; }
.ws-es-bloque { display: flex; flex-direction: column; gap: 10px; padding: 16px; border: 1px solid var(--tinta-borde); border-radius: var(--r-3); background: var(--tinta-sup); }
.ws-es-dato { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr) minmax(0, 1.2fr) auto; gap: 8px; align-items: center; }
.ws-es-precio { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) minmax(0, .9fr) auto; gap: 8px; align-items: center; }
.ws-es-hoja { display: flex; flex-direction: column; gap: 10px; padding: 16px; border: 1px solid var(--tinta-borde); border-radius: var(--r-3); background: var(--tinta-sup); }
.ws-es-num { font: 500 10.5px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--tinta-texto-3); }
.ws-es-hoja-cab { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.ws-es-hoja-cab .ws-es-hoja-titulo { flex: 1 1 260px; width: auto !important; font-weight: 600 !important; }
.ws-es-check { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--tinta-texto-2); white-space: nowrap; }
.ws-es-mov { display: inline-flex; gap: 4px; margin-left: auto; }
.ws-es-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: start; }
.ws-es-col { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.ws-es-col h5 { margin: 0; font: 500 10.5px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--tinta-texto-3); }
.ws-es-sec { display: flex; flex-direction: column; gap: 6px; padding: 10px; border: 1px solid var(--tinta-borde); border-radius: var(--r-2); background: color-mix(in oklab, var(--tinta-sup) 70%, transparent); }
.ws-es-sec-cab { display: flex; align-items: center; gap: 8px; }
.ws-es-sec-titulo { flex: 1; min-width: 0; font-weight: 600 !important; }
.ws-es-sec textarea { font: 400 12.5px/1.5 var(--f-mono) !important; resize: vertical; min-height: 90px; }
.ws-es .ws-es-si { font-size: 12px !important; color: var(--tinta-texto-2) !important; }
.ws-es-prueba { display: flex; flex-direction: column; gap: 10px; }
.ws-es-prueba-hoja { padding: 12px; border: 1px solid var(--tinta-borde); border-radius: var(--r-2); font-size: 12.5px; }
.ws-es-prueba-hoja pre { margin: 4px 0 8px; white-space: pre-wrap; font: 400 12.5px/1.55 var(--f-ui); color: var(--tinta-texto-2); background: none; border: 0; padding: 0; }
.ws-es-prueba-hoja strong { display: block; color: var(--tinta-texto); }
@media (max-width: 860px) {
    .ws-es-cols, .ws-es-dato, .ws-es-precio { grid-template-columns: minmax(0, 1fr); }
    .ws-es-mov { margin-left: 0; }
}
.ws-fe .ws-fe-tabs button, .ws-fe .ws-es-chip, .ws-fe .ws-fe-paso-btn { background-color: transparent !important; box-shadow: none !important; }
.ws-fe .ws-fe-tabs button:hover, .ws-fe .ws-fe-tabs button:focus, .ws-fe .ws-fe-tabs button:active { background-color: transparent !important; color: var(--tinta-texto) !important; }
.ws-fe .ws-fe-tabs button:not(.on) { color: var(--tinta-texto-3) !important; }
.ws-fe .ws-fe-tabs button.on { color: var(--tinta-texto) !important; }
.ws-fe .ws-es-chip { color: var(--tinta-texto-2) !important; border-color: var(--tinta-borde-2) !important; }
.ws-fe .ws-es-chip:hover, .ws-fe .ws-es-chip:focus, .ws-fe .ws-es-chip:active { background-color: transparent !important; color: var(--tinta-acento-tx) !important; border-color: var(--tinta-acento-tx) !important; }
.ws-fe .ws-fe-paso-btn:hover, .ws-fe .ws-fe-paso-btn:focus, .ws-fe .ws-fe-paso-btn:active { background-color: transparent !important; color: var(--tinta-texto) !important; }


.ws-k-fila, .ws-k-est { --k: var(--tinta-texto-3); }
[data-e="invitado"]      { --k: var(--tinta-alerta); }
[data-e="completado"]    { --k: var(--tinta-acento-tx); }
[data-e="presupuestado"] { --k: #a98bff; }
[data-e="aprobado"]      { --k: #8fd14f; }
[data-e="en_curso"]      { --k: #3cc6e0; }
[data-e="entregado"]     { --k: var(--tinta-ok); }
[data-e="descartado"]    { --k: var(--tinta-texto-3); }
:root[data-raver-tema="claro"] [data-e="presupuestado"] { --k: #6a4fd0; }
:root[data-raver-tema="claro"] [data-e="aprobado"]      { --k: #4b8a12; }
:root[data-raver-tema="claro"] [data-e="en_curso"]      { --k: #0b7f96; }
.ws-k-barra { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 16px; margin: 0 0 14px; border-bottom: 1px solid var(--tinta-borde); }
.ws-k-barra .ws-tabs { margin: 0 0 -1px -10px; }
.ws-k-buscar {
    display: flex; align-items: center; gap: 8px; width: 260px; max-width: 100%; height: 32px; margin: 0 0 8px; padding: 0 10px;
    border: 1px solid var(--tinta-borde-2); border-radius: var(--r-1); background: var(--tinta-campo); color: var(--tinta-texto-3);
}
.ws-k-buscar:focus-within { border-color: var(--tinta-acento-tx); box-shadow: var(--foco); }
.ws-k-buscar .ws-ico { width: 14px; height: 14px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.5; }
.ws-k-buscar input { flex: 1; min-width: 0; border: 0 !important; background: transparent !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; color: var(--tinta-texto); font: 400 13px/1 var(--f-ui); outline: none; }
.ws-k-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ws-k-fila {
    display: grid;
    grid-template-columns: minmax(220px, 1.7fr) 160px minmax(150px, .9fr) minmax(140px, .8fr) minmax(150px, .9fr) auto;
    align-items: center; gap: 12px 18px;
    padding: 12px 16px 12px 19px;
    border: 1px solid var(--tinta-borde); border-radius: var(--r-3); background: var(--tinta-sup);
    position: relative; overflow: hidden;
    transition: border-color .15s, background .15s;
}
.ws-k-fila[hidden] { display: none; }
.ws-k-fila::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--k); opacity: .85; }
.ws-k-fila:hover { border-color: var(--tinta-borde-2); background: color-mix(in oklab, var(--tinta-sup) 94%, var(--tinta-texto)); }
.ws-k-fila[data-e="descartado"] .ws-k-nom b { text-decoration: line-through; text-decoration-thickness: 1px; color: var(--tinta-texto-3); }
.ws-k-quien { display: flex; align-items: center; gap: 12px; min-width: 0; }
.ws-k-av {
    flex: none; width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center;
    border-radius: 50%; border: 1px solid color-mix(in oklab, var(--k) 40%, transparent);
    background: color-mix(in oklab, var(--k) 12%, transparent); color: var(--k);
    font: 600 12px/1 var(--f-mono); letter-spacing: .02em;
}
.ws-k-nom { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ws-k-nom b { font: 600 14px/1.25 var(--f-ui); color: var(--tinta-texto); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ws-k-nom small { font-size: 12px; color: var(--tinta-texto-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ws-k-est {
    display: inline-flex; align-items: center; gap: 7px; padding: 4px 10px 4px 8px; border-radius: 99px;
    border: 1px solid color-mix(in oklab, var(--k) 32%, transparent); background: color-mix(in oklab, var(--k) 12%, transparent);
    font: 600 12px/1.2 var(--f-ui); color: var(--k); white-space: nowrap;
}
.ws-k-est i { width: 7px; height: 7px; border-radius: 50%; background: var(--k); flex: none; }
.ws-k-est[data-e="entregado"] i { width: 9px; height: 9px; background: none; border-radius: 0; border: solid var(--k); border-width: 0 2px 2px 0; transform: rotate(40deg) scale(.7) translate(-1px, -2px); }
.ws-k-est[data-e="invitado"] i { animation: ws-k-late 2.4s ease-in-out infinite; }
@keyframes ws-k-late { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .ws-k-est[data-e="invitado"] i { animation: none; } }
.ws-k-resp { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ws-k-cifra { font-size: 12.5px; color: var(--tinta-texto-2); white-space: nowrap; }
.ws-k-cifra b { font: 600 14px/1 var(--f-mono); color: var(--tinta-texto); }
.ws-k-barra-p { display: block; height: 4px; border-radius: 2px; background: var(--tinta-pista, color-mix(in oklab, var(--tinta-texto) 10%, transparent)); overflow: hidden; }
.ws-k-barra-p i { display: block; height: 100%; border-radius: 2px; background: var(--k); }
.ws-k-vacio { font-size: 12.5px; color: var(--tinta-texto-3); }
.ws-k-pres a { display: flex; flex-direction: column; gap: 2px; color: var(--tinta-texto) !important; text-decoration: none; }
.ws-k-pres a .ws-mono { font: 600 12.5px/1.2 var(--f-mono); }
.ws-k-pres a small { font-size: 11.5px; color: var(--tinta-texto-3); }
.ws-k-pres a:hover .ws-mono { color: var(--tinta-acento-tx); text-decoration: underline; text-underline-offset: 2px; }
.ws-k-cli { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
.ws-k-cli form { margin: 0; }
.ws-k-usuario { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; font-size: 12.5px; color: var(--tinta-texto-2) !important; text-decoration: none; }
.ws-k-usuario .ws-ico { width: 13px; height: 13px; flex: none; fill: none; stroke: var(--tinta-ok); stroke-width: 2; }
.ws-k-usuario span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ws-k-usuario:hover span { color: var(--tinta-texto); text-decoration: underline; text-underline-offset: 2px; }
.ws-k-acc { display: flex; align-items: center; justify-content: flex-end; gap: 6px; flex-wrap: wrap; }
.ws-k-acc .ws-ico { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.ws-k-nada { margin: 20px 0; color: var(--tinta-texto-3); }
@media (max-width: 1280px) {
    .ws-k-fila { grid-template-columns: minmax(200px, 1.5fr) 160px minmax(140px, 1fr) minmax(130px, 1fr); }
    .ws-k-cli { grid-column: 1 / 3; }
    .ws-k-acc { grid-column: 3 / -1; }
}
@media (max-width: 700px) {
    .ws-k-fila { grid-template-columns: 1fr 1fr; padding: 14px; }
    .ws-k-quien { grid-column: 1 / -1; }
    .ws-k-est-c { grid-column: 1 / -1; }
    .ws-k-resp, .ws-k-pres, .ws-k-cli { grid-column: auto; }
    .ws-k-cli, .ws-k-acc { grid-column: 1 / -1; justify-content: flex-start; }
    .ws-k-barra .ws-k-buscar { width: 100%; }
}
.ws-k-barra button.ws-tab {
    height: 34px;
    border: 0 !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}
.ws-k-barra button.ws-tab.on { border-bottom-color: var(--tinta-acento-tx) !important; }
.ws-k-fila { grid-template-columns: minmax(220px, 1.6fr) 150px minmax(150px, .9fr) 130px minmax(140px, .8fr) 270px; }
.ws-k-acc { justify-content: flex-end; }
@media (max-width: 1280px) {
    .ws-k-fila { grid-template-columns: minmax(200px, 1.5fr) 150px minmax(140px, 1fr) minmax(130px, 1fr); }
}
@media (max-width: 700px) {
    .ws-k-fila { grid-template-columns: 1fr 1fr; }
}
.ws-k-pres small[data-pe="aprobado"] { color: var(--tinta-ok); }
.ws-k-pres small[data-pe="enviado"] { color: #a98bff; }
.ws-k-pres small[data-pe="listo"] { color: var(--tinta-alerta); }
.ws-k-pres small[data-pe="rechazado"] { color: var(--tinta-mal); }
:root[data-raver-tema="claro"] .ws-k-pres small[data-pe="enviado"] { color: #6a4fd0; }
.ws-k-nom b .ws-k-tipo { margin-left: 8px; padding: 2px 7px; border: 1px solid var(--tinta-borde-2); border-radius: 99px; font: 500 10px/1.4 var(--f-mono); letter-spacing: .05em; text-transform: uppercase; color: var(--tinta-texto-3); vertical-align: 1px; }
.ws-k-nom b .ws-k-ver { color: inherit !important; text-decoration: none; }
.ws-k-nom b .ws-k-ver:hover { color: var(--tinta-acento-tx) !important; text-decoration: underline; text-underline-offset: 2px; }
.ws-kf { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 16px; align-items: start; }
.ws-kf-main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.ws-kf-lado { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 14px; }
.ws-kf-cab { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 0 0 14px; }
.ws-kf-cab h3 { margin: 0 !important; font: 600 15px/1.2 var(--f-ui) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--tinta-texto) !important; }
.ws-kf-cab small { font-size: 12px; color: var(--tinta-texto-3); max-width: 60ch; }
.ws-kf-n { margin-left: 6px; font: 500 11px/1 var(--f-mono); color: var(--tinta-texto-3); }
.ws-km-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ws-km-item { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 12px; align-items: start; padding: 12px 14px; border: 1px solid var(--tinta-borde); border-radius: var(--r-2); background: var(--tinta-campo); }
.ws-km-ico { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--tinta-borde-2); border-radius: var(--r-2); font: 600 10px/1 var(--f-mono); letter-spacing: .04em; color: var(--tinta-texto-3); background: var(--tinta-sup); }
.ws-km-item[data-kind="nota"] .ws-km-ico { color: var(--tinta-acento-tx); }
.ws-km-item[data-kind="enlace"] .ws-km-ico { color: #3cc6e0; }
.ws-km-cuerpo { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.ws-km-cuerpo header { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ws-km-cuerpo header b { font: 600 14px/1.3 var(--f-ui); color: var(--tinta-texto); }
.ws-km-tipo { padding: 2px 7px; border: 1px solid var(--tinta-borde-2); border-radius: 99px; font: 500 10px/1.4 var(--f-mono); letter-spacing: .05em; text-transform: uppercase; color: var(--tinta-texto-3); }
.ws-km-cuerpo time { font: 400 11.5px/1 var(--f-mono); color: var(--tinta-texto-3); }
.ws-km-texto { font-size: 13px; line-height: 1.55; color: var(--tinta-texto-2); white-space: pre-wrap; word-break: break-word; }
.ws-km-mas summary { cursor: pointer; font-size: 12.5px; color: var(--tinta-acento-tx); }
.ws-km-mas[open] summary { margin-bottom: 6px; }
.ws-km-mas[open] ~ .ws-km-corto { display: none; }
.ws-km-link { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; font-size: 13px; color: var(--tinta-acento-tx) !important; text-decoration: none; word-break: break-all; }
.ws-km-link:hover { text-decoration: underline; text-underline-offset: 2px; }
.ws-km-link .ws-ico { width: 14px; height: 14px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.5; }
.ws-km-link small { color: var(--tinta-texto-3); }
.ws-km-acc { display: flex; gap: 4px; align-items: center; }
.ws-km-acc form { margin: 0; }
.ws-km .ws-km-quitar:hover { color: var(--tinta-mal) !important; }
.ws-km-vacio { padding: 18px; border: 1px dashed var(--tinta-borde-2); border-radius: var(--r-2); text-align: center; }
.ws-km-vacio p { margin: 0 0 12px; font-size: 13px; line-height: 1.55; color: var(--tinta-texto-3); }
.ws-km-vacio-p { margin: 0 0 12px; font-size: 13px; color: var(--tinta-texto-3); }
.ws-kr-sec { margin: 18px 0 8px !important; font: 500 11px/1 var(--f-mono) !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: var(--tinta-texto-3) !important; }
.ws-kr-sec:first-of-type { margin-top: 0 !important; }
.ws-kr-lista { margin: 0; display: flex; flex-direction: column; }
.ws-kr-fila { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(0, 1.4fr); gap: 16px; padding: 9px 0; border-bottom: 1px solid var(--tinta-borde); }
.ws-kr-fila:last-child { border-bottom: 0; }
.ws-kr-fila dt { font-size: 12.5px; line-height: 1.45; color: var(--tinta-texto-3); }
.ws-kr-fila dd { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--tinta-texto); word-break: break-word; }
.ws-kf-datos h3 { margin: 0 0 12px !important; font: 600 14px/1.2 var(--f-ui) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--tinta-texto) !important; }
.ws-kf-datos dl { margin: 0; display: flex; flex-direction: column; }
.ws-kf-datos dl > div { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--tinta-borde); font-size: 13px; }
.ws-kf-datos dl > div:last-child { border-bottom: 0; }
.ws-kf-datos dt { color: var(--tinta-texto-3); font-size: 12px; }
.ws-kf-datos dd { margin: 0; color: var(--tinta-texto); word-break: break-word; }
.ws-kf-datos dd a { color: var(--tinta-acento-tx) !important; }
.ws-kf-datos dd small { display: block; color: var(--tinta-texto-3); }
.ws-kf-linea { margin: 6px 0 0; }
.ws-kf-estado { display: flex; align-items: flex-end; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--tinta-borde); }
.ws-kf-estado label { flex: 1; display: flex; flex-direction: column; gap: 5px; font-size: 12px; color: var(--tinta-texto-3); }
.ws-kf-estado select { width: 100% !important; min-height: 32px; padding: 4px 8px !important; border: 1px solid var(--tinta-borde-2) !important; border-radius: var(--r-1) !important; background: var(--tinta-campo) !important; color: var(--tinta-texto) !important; font: 400 13px/1.3 var(--f-ui) !important; }
.ws-km-forma { display: flex; gap: 8px; }
.ws-dlg-gen .ws-per-form label.ws-km-forma-op { flex: 1; flex-direction: row; position: relative; align-items: center; justify-content: center; padding: 9px 10px; border: 1px solid var(--tinta-borde-2); border-radius: var(--r-2); background: var(--tinta-campo); cursor: pointer; font: 600 13px/1 var(--f-ui); color: var(--tinta-texto-2); }
.ws-km-forma-op input { position: absolute; opacity: 0; pointer-events: none; }
.ws-km-forma-op:has(input:checked) { border-color: var(--tinta-acento-tx); background: color-mix(in oklab, var(--tinta-acento) 10%, var(--tinta-campo)); color: var(--tinta-texto); }
.ws-km-forma-op:has(input:disabled) { opacity: .5; cursor: default; }
.ws-km-forma-op:has(input:focus-visible) { box-shadow: var(--foco); }
.ws-per-form [hidden] { display: none !important; }
.ws-per-form input[type="url"], .ws-per-form input[type="file"] { width: 100%; }
@media (max-width: 980px) {
    .ws-kf { grid-template-columns: 1fr; }
    .ws-kf-lado { position: static; }
    .ws-kr-fila { grid-template-columns: 1fr; gap: 4px; }
    .ws-km-item { grid-template-columns: 40px minmax(0, 1fr); }
    .ws-km-acc { grid-column: 2; }
}
.ws-dlg-gen .ws-per-form .ws-km-forma-op input { position: absolute; opacity: 0; pointer-events: none; width: 0 !important; height: 0 !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; border: 0 !important; }
.ws-km-forma-op:has(input:disabled:checked) { opacity: 1 !important; }
.ws-km-forma-op:has(input:disabled:not(:checked)) { opacity: .35; }


.ws-nav-grupo, .ws-nav-grupo-items, .ws-nav-ajustes-flat { display: contents; }
.ws-nav-grupo-cab, .ws-ajustes-menu { display: none; }
@media (min-width: 1040px) {
    .ws-nav-grupo { display: block; }
    .ws-nav-ajustes-flat { display: none; }
    .ws-nav-grupo-items { display: none; padding: 2px 0 4px 12px; }
    .ws-nav-grupo.open .ws-nav-grupo-items { display: block; }
    body.raver-panel-app .raver-admin-nav button.ws-nav-grupo-cab {
        display: flex; width: 100%; margin: 0; background: transparent; border: 0;
        font: inherit; text-align: left; cursor: pointer; color: inherit;
    }
    .ws-nav-caret { display: inline-flex; margin-left: auto; opacity: .7; }
    .ws-nav-caret svg { width: 12px; height: 12px; transition: transform .15s; }
    .ws-nav-grupo.open .ws-nav-caret svg { transform: rotate(180deg); }
    .ws-nav-grupo-cab .raver-nav-badge { margin-left: auto; }
    .ws-nav-grupo-cab .raver-nav-badge + .ws-nav-caret { margin-left: 8px; }
    .ws-nav-sub { font-size: .94em; }
    body.raver-panel-app .raver-admin-nav .raver-nav-usuario.ws-cuenta { padding: 8px 8px; gap: 0; }
    body.raver-panel-app .raver-admin-nav .ws-cuenta-btn {
        display: flex; align-items: center; gap: 10px; flex: 1 1 auto; width: 100%; min-width: 0;
        margin: 0; padding: 6px 8px; cursor: pointer; text-align: left;
        border: 0 !important; border-radius: 8px; box-shadow: none;
        background: transparent !important; color: var(--tinta-texto) !important;
        font: inherit; letter-spacing: normal; text-transform: none;
    }
    body.raver-panel-app .raver-admin-nav .ws-cuenta-btn:hover,
    body.raver-panel-app .raver-admin-nav .ws-cuenta-btn[aria-expanded="true"] { background: rgb(var(--tinta-rejilla-rgb) / 0.08) !important; }
    .ws-cuenta-btn .raver-nav-quien { flex: 1 1 auto; min-width: 0; }
    .ws-cuenta-flecha { display: inline-flex; flex: 0 0 auto; color: var(--tinta-texto-3); transition: transform .15s; transform: rotate(180deg); }
    .ws-cuenta-flecha svg { width: 14px; height: 14px; }
    .ws-cuenta-btn[aria-expanded="true"] .ws-cuenta-flecha { transform: rotate(0deg); }
    .ws-cuenta-btn.on .raver-nav-quien small { color: var(--tinta-acento-tx); }
    .ws-ajustes-menu:not([hidden]) {
        display: block; position: fixed; z-index: 99999; width: 232px; padding: 8px;
        border: 1px solid var(--tinta-borde-2); border-radius: 8px;
        background: var(--tinta-campo, #1b1b1d); box-shadow: 0 14px 40px rgba(0, 0, 0, .35);
    }
    .ws-ajustes-tit { padding: 4px 10px 8px; font: 600 10.5px/1 var(--f-mono, monospace); letter-spacing: .12em; text-transform: uppercase; color: var(--tinta-texto-3); }
    .ws-ajustes-menu .ws-ajustes-item { width: 100%; box-sizing: border-box; }
}
.ws-perfil { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; align-items: start; }
.ws-perfil-sub { margin: 26px 0 12px; padding-top: 18px; border-top: 1px solid var(--tinta-borde); font-size: 13px; font-weight: 600; color: var(--tinta-texto-2); }
.ws-perfil .raver-pers-form { display: flex; flex-direction: column; gap: 12px; }
.ws-perfil .raver-pers-form .raver-btn-action { align-self: flex-start; }
@media (max-width: 900px) { .ws-perfil { grid-template-columns: 1fr; } }
@media (min-width: 1040px) {
    .ws-ajustes-sep { display: block; height: 1px; margin: 6px 4px; background: var(--tinta-borde); }
    body.raver-panel-app .raver-admin-nav .ws-ajustes-menu .raver-tema-cambiar.ws-ajustes-item {
        display: flex !important; align-items: center; justify-content: flex-start !important; gap: 10px; width: 100% !important; height: 30px !important; min-width: 0; margin: 0;
        padding: 0 10px !important; box-sizing: border-box; border: 0 !important; border-radius: 6px; cursor: pointer; text-align: left;
        background: transparent !important; color: var(--tinta-texto-2) !important; font: inherit; box-shadow: none;
    }
    body.raver-panel-app .raver-admin-nav .ws-ajustes-menu .raver-tema-cambiar.ws-ajustes-item:hover { background: rgb(var(--tinta-rejilla-rgb) / 0.08) !important; }
    .ws-ajustes-menu .raver-tema-cambiar svg { flex: 0 0 auto; width: 15px; height: 15px; }
    .ws-ajustes-menu .raver-tema-txt { display: none; }
    :root:not([data-raver-tema="claro"]) .ws-ajustes-menu .raver-tema-txt-a-claro { display: inline; }
    :root[data-raver-tema="claro"] .ws-ajustes-menu .raver-tema-txt-a-oscuro { display: inline; }
}
.ws-agente .ws-agente-error { margin: 10px 0 0; color: var(--tinta-mal); font-size: 13px; }
.ws-agente .ws-agente-error[hidden], .ws-agente .ws-agente-nueva[hidden] { display: none; }
.ws-agente .ws-agente-nueva { margin-top: 16px; padding: 14px; border: 1px solid var(--tinta-acento-tx); border-radius: var(--r-3); background: var(--tinta-acento-suave); }
.ws-agente .ws-agente-nueva p { margin: 0 0 10px; }
.ws-agente .ws-agente-fila { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 12px; }
.ws-agente .ws-agente-clave { flex: 1; min-width: 220px; padding: 10px 12px; border: 1px solid var(--tinta-borde-2); border-radius: var(--r-2); background: var(--tinta-campo); color: var(--tinta-texto); font: 500 15px/1.4 var(--f-mono); letter-spacing: .04em; user-select: all; word-break: break-all; }
.ws-agente .ws-agente-pasos { margin: 0 0 10px; padding-left: 20px; display: grid; gap: 4px; color: var(--tinta-texto-2); font-size: 13px; }
.ws-agente .ws-agente-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ws-agente .ws-agente-lista li { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 10px 12px; border: 1px solid var(--tinta-borde); border-radius: var(--r-2); background: var(--tinta-campo); }
.ws-agente .ws-agente-lista span { display: grid; gap: 2px; min-width: 0; }
.ws-agente .ws-agente-lista small { color: var(--tinta-suave); font-size: 12px; }


.raver-aviso-pap {
    position: fixed; left: 50%; bottom: 24px; z-index: 100000; transform: translateX(-50%);
    display: flex; align-items: center; gap: 14px; max-width: min(560px, calc(100vw - 32px));
    padding: 12px 14px 12px 18px; border-radius: 10px;
    background: #1d2027; color: #e8eaf0; border: 1px solid rgba(255, 255, 255, .14);
    box-shadow: 0 16px 48px rgba(0, 0, 0, .45); font-size: 13.5px; line-height: 1.4;
    animation: raver-pap-sube .25s ease-out; transition: opacity .3s, transform .3s;
}
.raver-aviso-pap.fuera { opacity: 0; transform: translateX(-50%) translateY(10px); }
.raver-aviso-pap span { min-width: 0; overflow-wrap: anywhere; }
.raver-aviso-pap a { flex: 0 0 auto; font-weight: 600; text-decoration: none; white-space: nowrap; }
.raver-aviso-pap .raver-aviso-pap-deshacer { color: #6ea3ff; }
.raver-aviso-pap .raver-aviso-pap-deshacer:hover { text-decoration: underline; }
.raver-aviso-pap .raver-aviso-pap-ver { color: #9aa3b5; font-weight: 500; }
.raver-aviso-pap .raver-aviso-pap-x {
    flex: 0 0 auto; width: 24px; height: 24px; padding: 0; border: 0 !important; border-radius: 6px;
    background: transparent !important; color: #9aa3b5 !important; font-size: 18px; line-height: 1; cursor: pointer;
}
.raver-aviso-pap .raver-aviso-pap-x:hover { background: rgba(255, 255, 255, .08) !important; color: #fff !important; }
@keyframes raver-pap-sube { from { opacity: 0; transform: translateX(-50%) translateY(14px); } to { opacity: 1; transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .raver-aviso-pap { animation: none; transition: none; } }
.ws-pap-vacia { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 54px 20px; color: var(--tinta-texto-3); text-align: center; }
.ws-pap-vacia .ws-ico { width: 28px; height: 28px; opacity: .6; }
.ws-pap-vacia p { margin: 0; max-width: 46ch; }
.ws-pap-tipo { display: inline-block; margin-right: 8px; padding: 2px 8px; border-radius: 999px; font: 600 10.5px/1.4 var(--f-mono, monospace); letter-spacing: .08em; text-transform: uppercase; color: var(--tinta-texto-3); border: 1px solid var(--tinta-borde-2); }
.ws-pap-nombre { font-weight: 600; color: var(--tinta-texto); }
.ws-pap-tabla .ws-per-sub { display: block; margin-top: 4px; }
.ws-pap-poco { color: #e0a030 !important; font-weight: 600; }
.ws-pap-acciones { white-space: nowrap; text-align: right; }
.ws-pap-acciones form { display: inline; }
.ws-pap-acciones .ws-btn { margin-left: 6px; }
.ws-exp { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; align-items: start; }
.ws-exp-lista { list-style: none; margin: 0 0 14px; padding: 0; }
.ws-exp-lista li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--tinta-borde); font-size: 13.5px; color: var(--tinta-texto-2); }
.ws-exp-lista li:last-child { border-bottom: 0; }
.ws-exp-lista b { color: var(--tinta-texto); font-weight: 600; }
.ws-exp-form { display: flex; flex-direction: column; gap: 14px; }
.ws-exp-form .raver-btn-action { align-self: flex-start; }
@media (max-width: 900px) { .ws-exp { grid-template-columns: 1fr; } }
body.raver-panel-app select:not([multiple]):not([size]),
.raver-portal-container select:not([multiple]):not([size]) {
    -webkit-appearance: none !important; -moz-appearance: none !important; appearance: none !important;
    padding-right: 34px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16' fill='none' stroke='%238b93a1' stroke-width='1.6' stroke-linecap='square'%3E%3Cpath d='M3.5 6l4.5 4.5L12.5 6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 12px !important;
    text-overflow: ellipsis;
}


.ws-avisos .ws-av-seccion { margin: 0 0 28px; }
.ws-avisos .ws-av-seccion h3 { margin: 0 0 12px; font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--tinta-texto-3); }
.ws-av-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ws-av-item { display: grid; grid-template-columns: 92px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 12px 14px; border: 1px solid var(--tinta-borde); border-left-width: 3px; border-radius: var(--r-2); background: var(--tinta-sup); }
.ws-av-item.nivel-alta { border-left-color: var(--tinta-error); }
.ws-av-item.nivel-media { border-left-color: var(--tinta-alerta); }
.ws-av-item.nivel-baja { border-left-color: var(--tinta-borde-2); }
.ws-av-tipo { font-family: var(--f-mono); font-size: 11.5px; letter-spacing: .04em; text-transform: uppercase; color: var(--tinta-texto-3); }
.ws-av-texto { display: flex; flex-direction: column; min-width: 0; gap: 2px; }
.ws-av-texto a { color: var(--tinta-texto); text-decoration: none; }
.ws-av-texto a:hover { text-decoration: underline; }
.ws-av-texto small { color: var(--tinta-texto-3); }
.ws-av-acciones { display: flex; gap: 6px; }
.ws-av-form { margin: 0; }
.ws-avisos .ws-av-btn { height: 30px; padding: 0 12px !important; border: 1px solid var(--tinta-borde-2) !important; border-radius: var(--r-1) !important; background: var(--tinta-campo) !important; color: var(--tinta-texto) !important; font-size: 12.5px !important; text-transform: none !important; letter-spacing: normal !important; cursor: pointer; box-shadow: none !important; }
.ws-avisos .ws-av-btn:hover { background: var(--tinta-hover) !important; }
.ws-avisos .ws-av-btn.ws-av-hecho { background: var(--tinta-acento) !important; border-color: var(--tinta-acento) !important; color: var(--tinta-sobre-acento) !important; }
.ws-av-vacio { margin: 0; color: var(--tinta-texto-3); font-size: 13px; }
.ws-av-nueva { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 14px; }
.ws-av-nueva input[type=text] { flex: 1 1 260px; }
.ws-av-nueva input, .ws-av-prefs input[type=time] { height: 32px; padding: 0 10px; border: 1px solid var(--tinta-borde-2); border-radius: var(--r-1); background: var(--tinta-campo); color: var(--tinta-texto); font: inherit; font-size: 13px; }
.ws-av-prefs { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.ws-av-check, .ws-av-hora { display: flex; gap: 8px; align-items: center; font-size: 13px; color: var(--tinta-texto-2); }
@media (max-width: 720px) {
    .ws-av-item { grid-template-columns: 1fr; gap: 8px; }
}
.ws-avisos .ws-av-nueva input[type=date], .ws-avisos .ws-av-nueva input[type=time] { flex: 0 0 auto; width: auto !important; }
.ws-avisos .ws-av-nueva input[type=text] { width: auto !important; min-width: 240px; }


.ws-ed { position: relative; margin-top: 18px; color: var(--tinta-texto); }
.ws-ed-intro { max-width: 70ch; margin: 0 0 18px; color: var(--tinta-texto-3); font: 400 14px/1.55 var(--f-ui); }
.ws-ed-ayuda { margin: 0; color: var(--tinta-suave, var(--tinta-texto-3)); font: 400 12.5px/1.45 var(--f-ui); }
.ws-ed-vacio { margin: 18px 0 0; color: var(--tinta-suave, var(--tinta-texto-3)); font: 400 13px/1.5 var(--f-ui); }
.ws-ed h2 { margin: 0 0 8px !important; font: 600 11px/1.2 var(--f-mono) !important; letter-spacing: .08em; text-transform: uppercase; color: var(--tinta-texto-3) !important; }
.ws-ed h3 { margin: 0 !important; font: 600 14px/1.3 var(--f-ui) !important; color: var(--tinta-texto) !important; }
.ws-ed .ws-ed-btn {
    height: 32px !important; min-width: 0 !important; padding: 0 12px !important; margin: 0 !important;
    border: 1px solid var(--tinta-borde-2, var(--tinta-borde)) !important; border-radius: var(--r-1) !important;
    background: var(--tinta-campo) !important; box-shadow: none !important;
    color: var(--tinta-texto-2) !important; font: 500 12.5px/1 var(--f-ui) !important; letter-spacing: 0 !important;
    text-transform: none !important; text-decoration: none !important; cursor: pointer; white-space: nowrap;
}
.ws-ed .ws-ed-btn:hover { border-color: var(--tinta-texto-3) !important; color: var(--tinta-texto) !important; }
.ws-ed .ws-ed-btn:focus-visible { outline: none; box-shadow: var(--foco) !important; }
.ws-ed .ws-ed-btn.chico { height: 28px !important; padding: 0 9px !important; font-size: 12px !important; }
.ws-ed .ws-ed-btn.on { border-color: var(--tinta-acento-tx) !important; background: var(--tinta-acento-suave) !important; color: var(--tinta-texto) !important; }
.ws-ed .ws-ed-btn.primario { border-color: var(--tinta-acento) !important; background: var(--tinta-acento) !important; color: var(--tinta-sobre-acento, #fff) !important; }
.ws-ed .ws-ed-btn.primario:hover { background: var(--tinta-acento-hover, var(--tinta-acento)) !important; }
.ws-ed .ws-ed-btn.peligro { color: var(--tinta-mal) !important; }
.ws-ed .ws-ed-btn.peligro:hover { border-color: var(--tinta-mal) !important; }
.ws-ed .ws-ed-btn:disabled { opacity: .55; cursor: default; }
.ws-ed-sel, .ws-ed-nombre, .ws-ed-num {
    height: 32px !important; padding: 0 10px !important; margin: 0 !important;
    border: 1px solid var(--tinta-borde-2, var(--tinta-borde)) !important; border-radius: var(--r-1) !important;
    background: var(--tinta-campo) !important; box-shadow: none !important;
    color: var(--tinta-texto) !important; font: 400 13px/1 var(--f-ui) !important;
}
.ws-ed-sel:focus-visible, .ws-ed-nombre:focus-visible, .ws-ed-num:focus-visible { outline: none; box-shadow: var(--foco) !important; }
.ws-ed-num { width: 70px !important; font-family: var(--f-mono) !important; }
.ws-ed-fila { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ws-ed-sec { margin: 0 0 4px !important; }
.ws-ed-elegir { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 10px; margin: 10px 0 26px; }
.ws-ed .ws-ed-op {
    display: flex; flex-direction: column; align-items: center; gap: 4px;
    height: auto !important; min-width: 0 !important; padding: 8px 6px 9px !important; margin: 0 !important;
    border: 1px solid var(--tinta-borde-2, var(--tinta-borde)) !important; border-radius: var(--r-2) !important;
    background: var(--tinta-campo) !important; box-shadow: none !important;
    color: var(--tinta-texto-2) !important; font: 500 12px/1.2 var(--f-ui) !important; letter-spacing: 0 !important; text-transform: none !important; cursor: pointer;
}
.ws-ed .ws-ed-op:hover { border-color: var(--tinta-texto-3) !important; }
.ws-ed .ws-ed-op[aria-checked="true"] { border-color: var(--tinta-acento-tx) !important; background: var(--tinta-acento-suave) !important; color: var(--tinta-texto) !important; box-shadow: var(--foco) !important; }
.ws-ed .ws-ed-op:focus-visible { outline: 2px solid var(--tinta-acento-tx) !important; outline-offset: 2px; }
.ws-ed-op .ws-ed-mini { background: transparent; }
.ws-ed-tamanos { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 26px; }
.ws-ed .ws-ed-tam {
    height: 34px !important; min-width: 0 !important; padding: 0 14px !important; margin: 0 !important;
    border: 1px solid var(--tinta-borde-2, var(--tinta-borde)) !important; border-radius: var(--r-2) !important;
    background: var(--tinta-campo) !important; box-shadow: none !important;
    color: var(--tinta-texto-2) !important; font: 500 12.5px/1 var(--f-ui) !important; letter-spacing: 0 !important; text-transform: none !important; cursor: pointer;
}
.ws-ed .ws-ed-tam:hover { border-color: var(--tinta-texto-3) !important; }
.ws-ed .ws-ed-tam[aria-checked="true"] { border-color: var(--tinta-acento-tx) !important; background: var(--tinta-acento-suave) !important; color: var(--tinta-texto) !important; box-shadow: var(--foco) !important; }
.ws-ed .ws-ed-tam:focus-visible { outline: 2px solid var(--tinta-acento-tx) !important; outline-offset: 2px; }
.ws-ed-tarjetas { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 14px; }
.ws-ed-tarjeta {
    display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 16px;
    border: 1px solid var(--tinta-borde-2, var(--tinta-borde)); border-radius: var(--r-3);
    background: var(--tinta-sup);
}
.ws-ed-tarjeta.en-uso { border-color: var(--tinta-acento-tx); box-shadow: var(--foco); }
.ws-ed-nueva { border-style: dashed; background: transparent; }
.ws-ed-nueva .ws-ed-sel { width: 100%; }
.ws-ed-mini {
    display: block; align-self: center; flex: none;
    background-repeat: no-repeat; background-position: 0 0; image-rendering: pixelated;
    background-color: var(--tinta-campo); border-radius: var(--r-2);
}
.ws-ed-barra { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 14px; }
.ws-ed-nombre { width: min(320px, 100%) !important; font-weight: 500 !important; }
.ws-ed-espacio { flex: 1; }
.ws-ed-cuerpo { display: grid; grid-template-columns: 240px minmax(0, 1fr) 270px; gap: 14px; align-items: start; }
@media (max-width: 1180px) { .ws-ed-cuerpo { grid-template-columns: 220px minmax(0, 1fr); } .ws-ed-der { grid-column: 1 / -1; } }
@media (max-width: 760px) { .ws-ed-cuerpo { grid-template-columns: 1fr; } }
.ws-ed-col { padding: 14px; border: 1px solid var(--tinta-borde-2, var(--tinta-borde)); border-radius: var(--r-3); background: var(--tinta-sup); min-width: 0; }
.ws-ed-anims h3 { margin: 14px 0 6px !important; font: 600 10.5px/1 var(--f-mono) !important; letter-spacing: .08em; text-transform: uppercase; color: var(--tinta-suave, var(--tinta-texto-3)) !important; }
.ws-ed-anims h3:first-child { margin-top: 0 !important; }
.ws-ed .ws-ed-anim {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    width: 100% !important; height: 32px !important; padding: 0 10px !important; margin: 0 0 2px !important;
    border: 1px solid transparent !important; border-radius: var(--r-1) !important;
    background: transparent !important; box-shadow: none !important;
    color: var(--tinta-texto-2) !important; font: 500 13px/1 var(--f-ui) !important; letter-spacing: 0 !important; text-transform: none !important;
    text-align: left; cursor: pointer;
}
.ws-ed .ws-ed-anim:hover { background: var(--tinta-hover) !important; }
.ws-ed .ws-ed-anim.on { border-color: var(--tinta-acento-tx) !important; background: var(--tinta-acento-suave) !important; color: var(--tinta-texto) !important; }
.ws-ed .ws-ed-anim.vacia { color: var(--tinta-suave, var(--tinta-texto-3)) !important; }
.ws-ed .ws-ed-anim:focus-visible { outline: none; box-shadow: var(--foco) !important; }
.ws-ed-anim-n { font: 500 11px/1 var(--f-mono); color: var(--tinta-suave, var(--tinta-texto-3)); }
.ws-ed-anim-n.mal { color: var(--tinta-mal); }
.ws-ed-tit-anim { margin-bottom: 2px !important; }
.ws-ed-cen .ws-ed-ayuda { margin-bottom: 10px; }
.ws-ed-herr { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 8px 0; }
.ws-ed-sep { width: 1px; height: 18px; margin: 0 4px; background: var(--tinta-borde-2, var(--tinta-borde)); }
.ws-ed-rot { display: inline-flex; align-items: center; gap: 6px; color: var(--tinta-texto-3); font: 400 12.5px/1 var(--f-ui); }
.ws-ed-rot input[type=range] { accent-color: var(--tinta-acento); }
.ws-ed-lienzo-caja { position: relative; display: flex; justify-content: center; padding: 12px; border: 1px solid var(--tinta-borde); border-radius: var(--r-2); background: var(--tinta-hundido, var(--tinta-campo)); overflow: auto; }
.ws-ed-lienzo { display: block; max-width: 100%; image-rendering: pixelated; touch-action: none; cursor: crosshair; border-radius: 2px; }
.ws-ed-vacio-anim { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 20px; text-align: center; color: var(--tinta-texto-3); font: 400 13px/1.5 var(--f-ui); }
.ws-ed-vacio-anim[hidden] { display: none; }
.ws-ed-vacio-anim p { margin: 0; }
.ws-ed-lienzo-caja:has(.ws-ed-vacio-anim:not([hidden])) { min-height: 220px; }
.ws-ed-tira-caja { margin-top: 10px; }
.ws-ed-tira { display: flex; gap: 6px; padding: 6px 2px 8px; overflow-x: auto; }
.ws-ed .ws-ed-cuadro {
    display: flex; flex-direction: column; align-items: center; gap: 3px; flex: none;
    width: auto !important; height: auto !important; min-width: 0 !important; padding: 4px !important; margin: 0 !important;
    border: 1px solid var(--tinta-borde-2, var(--tinta-borde)) !important; border-radius: var(--r-1) !important;
    background: var(--tinta-hundido, var(--tinta-campo)) !important; box-shadow: none !important; cursor: pointer;
}
.ws-ed .ws-ed-cuadro canvas { width: 48px; height: 48px; image-rendering: pixelated; }
.ws-ed .ws-ed-cuadro span { color: var(--tinta-suave, var(--tinta-texto-3)); font: 500 10px/1 var(--f-mono); }
.ws-ed .ws-ed-cuadro.on { border-color: var(--tinta-acento-tx) !important; box-shadow: var(--foco) !important; }
.ws-ed .ws-ed-cuadro:focus-visible { outline: none; box-shadow: var(--foco) !important; }
.ws-ed-paleta { display: grid; grid-template-columns: repeat(auto-fill, minmax(26px, 1fr)); gap: 5px; margin-bottom: 10px; }
.ws-ed .ws-ed-color {
    width: 100% !important; height: auto !important; aspect-ratio: 1; min-width: 0 !important; padding: 0 !important; margin: 0 !important;
    border: 2px solid var(--tinta-borde-2, var(--tinta-borde)) !important; border-radius: 6px !important; box-shadow: none !important; cursor: pointer;
}
.ws-ed .ws-ed-color:hover { border-color: var(--tinta-texto-3) !important; }
.ws-ed .ws-ed-color.on { border-color: var(--tinta-acento-tx) !important; box-shadow: var(--foco) !important; }
.ws-ed-nuevo-color { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--tinta-texto-3); font: 400 12.5px/1 var(--f-ui); }
.ws-ed-nuevo-color input { width: 44px; height: 28px; padding: 0; border: 1px solid var(--tinta-borde-2, var(--tinta-borde)); border-radius: var(--r-1); background: transparent; cursor: pointer; }
.ws-ed-h-prev { margin-top: 18px !important; }
.ws-ed-vistas { display: flex; gap: 8px; }
.ws-ed-vista { width: calc(50% - 4px); aspect-ratio: 1; image-rendering: pixelated; border-radius: var(--r-2); border: 1px solid var(--tinta-borde); }
.ws-ed-vista.osc { background: #16181d; }
.ws-ed-vista.cla { background: #f1f2f5; }
.ws-ed-area { display: flex; align-items: flex-start; gap: 10px; }
.ws-ed-area .ws-ed-lienzo-caja { flex: 1; min-width: 0; }
.ws-ed-herramientas {
    display: flex; flex-direction: column; align-items: center; gap: 4px; flex: none; padding: 6px;
    border: 1px solid var(--tinta-borde-2, var(--tinta-borde)); border-radius: var(--r-2); background: var(--tinta-campo);
}
.ws-ed-hr { display: block; width: 24px; height: 1px; margin: 4px 0; background: var(--tinta-borde-2, var(--tinta-borde)); }
.ws-ed-muestra { display: block; width: 28px; height: 28px; margin: 2px 0; border: 2px solid var(--tinta-borde-marcado, var(--tinta-borde-2)); border-radius: var(--r-1); }
.ws-ed .ws-ed-ic {
    display: flex; align-items: center; justify-content: center;
    width: 36px !important; height: 36px !important; min-width: 0 !important; padding: 0 !important; margin: 0 !important;
    border: 1px solid transparent !important; border-radius: var(--r-1) !important;
    background: transparent !important; box-shadow: none !important; color: var(--tinta-texto-2) !important; cursor: pointer;
}
.ws-ed .ws-ed-ic:hover { background: var(--tinta-hover) !important; color: var(--tinta-texto) !important; }
.ws-ed .ws-ed-ic.on { border-color: var(--tinta-acento-tx) !important; background: var(--tinta-acento-suave) !important; color: var(--tinta-texto) !important; }
.ws-ed .ws-ed-ic:focus-visible { outline: none; box-shadow: var(--foco) !important; }
.ws-ed .ws-ed-ic svg { display: block; }
@media (max-width: 760px) {
    .ws-ed-area { flex-direction: column; }
    .ws-ed-herramientas { flex-direction: row; flex-wrap: wrap; width: 100%; }
    .ws-ed-hr { width: 1px; height: 24px; margin: 0 4px; }
}
.ws-ed-aviso {
    position: fixed; left: 50%; bottom: 24px; z-index: 9200; transform: translate(-50%, 12px); opacity: 0; pointer-events: none;
    max-width: min(520px, calc(100vw - 32px)); padding: 10px 16px; border-radius: var(--r-2);
    background: var(--tinta-texto); color: var(--tinta-fondo); font: 500 13px/1.35 var(--f-ui);
    transition: opacity .18s, transform .18s;
}
.ws-ed-aviso.on { opacity: 1; transform: translate(-50%, 0); }
.ws-ed-aviso.mal { background: var(--tinta-mal); color: var(--tinta-sobre-acento, #fff); }
@media (prefers-reduced-motion: reduce) { .ws-ed-aviso { transition: none; } }


.ws-ce-punto { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 6px; vertical-align: 1px; flex: none; }
.ws-ce-alerta { color: var(--tinta-alerta); }
.ws-ce-inline { display: inline-flex; margin: 0; }
.ws-ce-msg { font-size: 12.5px; color: var(--tinta-texto-3); }
.ws-ce-grilla { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; }
.ws-ce-card {
    display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 16px 18px;
    border: 1px solid var(--tinta-borde); border-radius: var(--r-3); background: var(--tinta-sup);
    color: var(--tinta-texto) !important; text-decoration: none !important;
    transition: border-color var(--m-rapido) var(--c-salida), background var(--m-rapido) var(--c-salida);
}
.ws-ce-card:hover { border-color: var(--tinta-borde-2); background: var(--tinta-hover); }
.ws-ce-card.suspendido { opacity: .65; }
.ws-ce-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ws-ce-nombre { font-size: 15px; font-weight: 600; color: var(--tinta-texto-fuerte); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ws-ce-url { font: 400 12px/1.3 var(--f-mono); color: var(--tinta-texto-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ws-ce-badge { min-width: 20px; padding: 1px 6px; border-radius: 99px; background: var(--tinta-acento); color: #fff; font: 600 11px/18px var(--f-mono); text-align: center; }
.ws-ce-fila { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.ws-ce-chip { padding: 2px 9px; border: 1px solid var(--tinta-borde-2); border-radius: 99px; font: 500 11px/1.5 var(--f-mono); letter-spacing: .04em; color: var(--tinta-texto-2); }
.ws-ce-contacto { font-size: 12px; color: var(--tinta-texto-3); }
.ws-ce-cred { display: flex; align-items: center; gap: 10px; }
.ws-ce-cred small { font-size: 11px; color: var(--tinta-texto-3); white-space: nowrap; }
.ws-ce-pie { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 8px; border-top: 1px solid var(--tinta-borde); font-size: 12px; color: var(--tinta-texto-3); }
.ws-ce-ajuste { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 26px; padding-top: 16px; border-top: 1px solid var(--tinta-borde); font-size: 12.5px; color: var(--tinta-texto-2); }
.ws-ce-ajuste small { color: var(--tinta-texto-3); }
.ws-ce-tabs { margin: 0 0 18px; border-bottom: 1px solid var(--tinta-borde); }
.ws-ce-clave { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; margin: 0 0 18px; padding: 16px 18px; border: 1px solid var(--tinta-acento-tx); border-radius: var(--r-3); background: var(--tinta-acento-suave); }
.ws-ce-clave p { margin: 0; font-size: 12.5px; color: var(--tinta-texto-2); }
.ws-ce-clave code { display: block; max-width: 100%; padding: 8px 10px; border-radius: var(--r-2); background: var(--tinta-hundido); font: 500 13px/1.4 var(--f-mono); color: var(--tinta-texto-fuerte); word-break: break-all; user-select: all; }
.ws-ce-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; margin-bottom: 18px; }
.ws-ce-kpis-chicos { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
.ws-ce-kpi { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border: 1px solid var(--tinta-borde); border-radius: var(--r-3); background: var(--tinta-sup); }
.ws-ce-kpi small { font: 500 10.5px/1.2 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--tinta-texto-3); }
.ws-ce-kpi b { font-size: 20px; font-weight: 600; color: var(--tinta-texto-fuerte); }
.ws-ce-kpi span { font-size: 12px; color: var(--tinta-texto-3); }
.ws-ce-bloque { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; padding: 18px; border: 1px solid var(--tinta-borde); border-radius: var(--r-3); background: var(--tinta-sup); }
.ws-ce-bloque h4 { margin: 0; font: 600 14px/1.3 var(--f-ui); color: var(--tinta-texto); }
.ws-ce-nota { margin: 0; font-size: 12.5px; line-height: 1.5; color: var(--tinta-texto-3); }
.ws-ce-nota code { color: var(--tinta-acento-tx); background: none; padding: 0; }
.ws-ce-acc { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.ws-ce-dl { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 6px 14px; margin: 0; font-size: 13px; }
.ws-ce-dl dt { color: var(--tinta-texto-3); }
.ws-ce-dl dd { margin: 0; color: var(--tinta-texto); }
.ws-ce-bloque textarea { width: 100%; min-height: 90px; margin-bottom: 8px; padding: 8px 10px; border: 1px solid var(--tinta-borde-2); border-radius: var(--r-1); background: var(--tinta-campo); color: var(--tinta-texto); font: 400 13px/1.5 var(--f-ui); resize: vertical; }
.ws-ce-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px 14px; align-items: end; }
.ws-ce-form label { display: flex; flex-direction: column; gap: 5px; font-size: 12px; color: var(--tinta-texto-3); }
.ws-ce-form input[type="text"], .ws-ce-form input[type="number"], .ws-ce-form-fila input[type="number"], .ws-ce-lic input {
    width: 100%; min-height: 34px; padding: 6px 10px; border: 1px solid var(--tinta-borde-2); border-radius: var(--r-1);
    background: var(--tinta-campo); color: var(--tinta-texto); font: 400 13px/1.4 var(--f-ui);
}
.ws-ce-form .ws-ce-ancho { grid-column: 1 / -1; }
.ws-ce-form .ws-ce-check { flex-direction: row; align-items: center; gap: 8px; color: var(--tinta-texto-2); font-size: 13px; }
.ws-ce-form-fila { grid-template-columns: 160px auto; justify-content: start; }
.ws-ce-tabla { width: 100%; border-collapse: collapse; font-size: 13px; }
.ws-ce-tabla th { text-align: left; padding: 8px 10px; font: 500 10.5px/1.2 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--tinta-texto-3); border-bottom: 1px solid var(--tinta-borde); }
.ws-ce-tabla td { padding: 10px; border-bottom: 1px solid var(--tinta-borde); color: var(--tinta-texto-2); }
.ws-ce-tabla tr:last-child td { border-bottom: 0; }
.ws-ce-barras { display: flex; align-items: flex-end; gap: 3px; height: 120px; padding: 6px 0; }
.ws-ce-barras span { flex: 1; min-width: 4px; background: var(--tinta-acento-tx); opacity: .75; border-radius: 2px 2px 0 0; }
.ws-ce-barras span:hover { opacity: 1; }
.ws-ce-comentarios { display: flex; flex-direction: column; gap: 12px; }
.ws-ce-com { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px; border: 1px solid var(--tinta-borde); border-left: 3px solid var(--tinta-borde-2); border-radius: var(--r-3); background: var(--tinta-sup); }
.ws-ce-com-nuevo { border-left-color: var(--tinta-acento-tx); }
.ws-ce-com-resuelto { opacity: .6; border-left-color: var(--tinta-ok); }
.ws-ce-com header { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font-size: 12.5px; color: var(--tinta-texto-3); }
.ws-ce-com header a { color: var(--tinta-texto) !important; text-decoration: none; }
.ws-ce-fecha { margin-left: auto; }
.ws-ce-tipo-reporte { color: var(--tinta-mal); border-color: color-mix(in oklab, var(--tinta-mal) 50%, transparent); }
.ws-ce-tipo-idea { color: var(--tinta-acento-tx); border-color: color-mix(in oklab, var(--tinta-acento-tx) 50%, transparent); }
.ws-ce-texto { margin: 0; font-size: 13.5px; line-height: 1.55; color: var(--tinta-texto); }
.ws-ce-com footer { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 14px; justify-content: space-between; }
.ws-ce-com footer small { color: var(--tinta-texto-3); }
.ws-ce-form-com { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.ws-ce-form-com input[type="text"] { width: 220px; min-height: 30px; padding: 4px 8px; border: 1px solid var(--tinta-borde-2); border-radius: var(--r-1); background: var(--tinta-campo); color: var(--tinta-texto); font: 400 12.5px/1.4 var(--f-ui); }
.ws-ce-estado { display: flex; align-items: center; margin: 0 0 6px; font-size: 13px; color: var(--tinta-texto-2); }
.ws-ce-aviso-panel { margin: 8px 0; padding: 10px 14px; border: 1px solid color-mix(in oklab, var(--tinta-alerta) 40%, transparent); border-radius: var(--r-2); background: color-mix(in oklab, var(--tinta-alerta) 8%, transparent); font-size: 12.5px; color: var(--tinta-texto-2); }
.ws-ce-lic { display: flex; flex-direction: column; gap: 5px; max-width: 420px; margin: 10px 0; font-size: 12px; color: var(--tinta-texto-3); }
.ws-ce-comparte { margin-top: 14px; font-size: 12.5px; color: var(--tinta-texto-2); }
.ws-ce-comparte summary { cursor: pointer; font-weight: 600; }
.ws-ce-comparte ul { margin: 8px 0 8px 18px; padding: 0; line-height: 1.55; }
#ws-dlg-comentarios textarea, #ws-dlg-comentarios select { width: 100%; box-sizing: border-box; padding: 8px 10px; border: 1px solid var(--tinta-borde-2); border-radius: var(--r-1); background: var(--tinta-campo); color: var(--tinta-texto); font: 400 13px/1.5 var(--f-ui); }
.ws-comentarios-abrir { width: 100%; text-align: left; cursor: pointer; background: transparent !important; border: 0; font: inherit; }
.ws-ajustes-menu .ws-comentarios-abrir:hover, .ws-ajustes-menu .ws-comentarios-abrir:focus { background: var(--tinta-hover) !important; color: var(--tinta-texto) !important; }
@media (max-width: 640px) {
    .ws-ce-dl { grid-template-columns: minmax(0, 1fr); }
    .ws-ce-form-fila { grid-template-columns: minmax(0, 1fr); }
}
.ws-ce-calc { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 10px 12px; }
.ws-ce-calc label { display: flex; flex-direction: column; gap: 5px; font-size: 12px; color: var(--tinta-texto-3); }
.ws-ce-calc input[type="number"] { width: 150px; min-height: 36px; padding: 6px 10px; border: 1px solid var(--tinta-borde-2); border-radius: var(--r-1); background: var(--tinta-campo); color: var(--tinta-texto); font: 500 14px/1.4 var(--f-mono); }
.ws-ce-calc-igual { padding-bottom: 8px; color: var(--tinta-texto-3); font-size: 16px; }
.ws-ce-calc-nota { flex-basis: 100%; min-height: 1.4em; }
.ws-ce-calc input[readonly] { background: transparent; border-style: dashed; color: var(--tinta-ok); cursor: default; }
.ws-ce-calc input[type="number"], .ws-ce-calc input[type="text"] { width: 130px; }

