:root {
    --blue-900: #214f78;
    --blue-800: #2f679a;
    --blue-700: #366fa3;
    --blue-100: #e8f1f8;
    --yellow: #f8d810;
    --yellow-soft: #fff8d6;
    --yellow-border: #e7c941;
    --yellow-ink: #6f5800;
    --ink: #17212b;
    --muted: #667789;
    --line: #d7dee6;
    --page: #f4f6f8;
    --panel: #ffffff;
    --danger: #b3261e;
    --success: #1f7a43;
}

.reset-filter-action,
a.reset-filter-action,
button.reset-filter-action,
.btn.reset-filter-action,
.filter-panel-head a.reset-filter-action,
.compact-filter-panel .filter-panel-head a.reset-filter-action,
.rector-filter-panel.compact-filter-panel .rector-reset-link.reset-filter-action {
    align-items: center;
    background: #fff7e6;
    border: 1px solid #f0bd39;
    border-radius: 999px;
    box-shadow: none;
    color: #805200;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 7px;
    justify-content: center;
    line-height: 1;
    min-height: 34px;
    padding: 7px 12px;
    text-decoration: none;
    white-space: nowrap;
}

.reset-filter-action::before {
    background: #f2c300;
    border-radius: 999px;
    content: "";
    display: inline-block;
    flex: 0 0 auto;
    height: 8px;
    width: 8px;
}

.reset-filter-action:hover,
a.reset-filter-action:hover,
button.reset-filter-action:hover,
.btn.reset-filter-action:hover,
.filter-panel-head a.reset-filter-action:hover,
.compact-filter-panel .filter-panel-head a.reset-filter-action:hover,
.rector-filter-panel.compact-filter-panel .rector-reset-link.reset-filter-action:hover {
    background: #ffefc2;
    border-color: #dda000;
    box-shadow: 0 8px 18px rgba(170, 117, 0, 0.12);
    color: #684100;
    text-decoration: none;
}

* {
    box-sizing: border-box;
}

[hidden] {
    display: none !important;
}

body {
    margin: 0;
    color: var(--ink);
    background: #ffffff;
    font-family: "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.45;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

a {
    color: var(--blue-800);
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

.app-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 268px 1fr;
    transition: grid-template-columns 0.18s ease;
}

.sidebar {
    background: #f8fbfe;
    border-right: 1px solid var(--line);
    display: flex;
    flex-direction: column;
    gap: 12px;
    height: 100vh;
    min-height: 100vh;
    padding: 10px 12px;
    position: fixed;
    top: 0;
    transition: opacity 0.18s ease, padding 0.18s ease, transform 0.18s ease;
    width: 268px;
    z-index: 30;
}

.sidebar-edge-toggle {
    align-items: center;
    background: linear-gradient(180deg, #ffffff 0%, #edf6ff 100%);
    border: 1px solid #b9d4ea;
    border-radius: 0 14px 14px 0;
    box-shadow: 0 10px 22px rgba(24, 52, 79, 0.14);
    color: #245f93;
    cursor: pointer;
    display: inline-flex;
    height: 46px;
    justify-content: center;
    left: 268px;
    padding: 0;
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    transition: background 0.16s ease, border-radius 0.16s ease, box-shadow 0.16s ease, left 0.18s ease;
    width: 24px;
    z-index: 35;
}

.sidebar-edge-toggle:hover {
    background: #e5f2fc;
    border-color: #8abbe1;
    box-shadow: 0 12px 26px rgba(24, 52, 79, 0.18);
    color: #123a5a;
}

.sidebar-edge-toggle span {
    display: block;
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
    transform: translateX(-1px);
    transition: transform 0.18s ease;
}

body.sidebar-collapsed .app-shell {
    grid-template-columns: 0 1fr;
}

body.sidebar-collapsed .sidebar {
    border-right: 0;
    opacity: 0;
    overflow: hidden;
    padding-left: 0;
    padding-right: 0;
    pointer-events: none;
    transform: translateX(-100%);
}

body.sidebar-collapsed .main,
body.sidebar-collapsed .content {
    background: #ffffff;
}

body.sidebar-collapsed .main {
    grid-column: 1 / -1;
}

body.sidebar-collapsed .sidebar-edge-toggle {
    border-radius: 0 14px 14px 0;
    left: 0;
}

body.sidebar-collapsed .sidebar-edge-toggle span {
    transform: rotate(180deg) translateX(1px);
}

.sidebar-logo,
.side-icon,
.brand-mark {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
}

.sidebar-top {
    align-items: center;
    background: linear-gradient(135deg, #245b8d 0%, #2f6fa7 100%);
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 14px;
    box-shadow: 0 14px 30px rgba(33, 79, 120, 0.16);
    display: flex;
    gap: 14px;
    min-height: 70px;
    padding: 13px 14px;
}

.menu-button,
.topbar-menu-button {
    align-items: center;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 10px;
    cursor: pointer;
    display: inline-flex;
    flex-direction: column;
    gap: 4px;
    height: 40px;
    justify-content: center;
    padding: 0;
    width: 44px;
}

.menu-button span,
.topbar-menu-button span {
    background: #ffffff;
    border-radius: 999px;
    display: block;
    height: 2px;
    width: 15px;
}

.sidebar-logo-wide {
    align-items: center;
    background: transparent;
    border: 0;
    color: #ffffff;
    display: inline-flex;
    height: 32px;
    line-height: 1;
    min-width: 134px;
}

.sidebar-logo-wide img {
    display: block;
    height: 32px;
    max-width: 150px;
    object-fit: contain;
    width: 100%;
}

.sidebar-logo-wide:hover,
.nav-link:hover,
.sidebar-home:hover {
    text-decoration: none;
}

.sidebar-logo,
.brand-mark {
    background: #ffffff;
    color: var(--blue-800);
    border: 2px solid #d7e6f3;
}

.brand-mark.big {
    width: 56px;
    height: 56px;
    margin: 0 auto 12px;
}

.side-icon {
    color: var(--muted);
    font-size: 11px;
}

.side-icon.is-active,
.side-icon:hover {
    color: var(--blue-900);
    background: var(--blue-100);
    text-decoration: none;
}

.sidebar-scroll {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 16px 0 10px;
}

.nav-group {
    border-bottom: 1px solid #dbe8f2;
    margin-bottom: 3px;
    padding: 3px 0;
}

.nav-group:last-child {
    border-bottom: 0;
}

.nav-title {
    align-items: center;
    background: #f0f6fb;
    border: 1px solid #dce9f3;
    border-radius: 9px;
    color: #44647f;
    cursor: pointer;
    display: flex;
    font-size: 11px;
    font-weight: 600;
    justify-content: space-between;
    letter-spacing: 0;
    list-style: none;
    min-height: 42px;
    padding: 8px 9px;
    text-transform: uppercase;
    user-select: none;
}

.nav-title:hover {
    background: #e8f2f9;
    border-color: #c9deed;
    color: var(--blue-900);
}

.nav-title-label {
    align-items: center;
    display: inline-flex;
    gap: 9px;
    min-width: 0;
}

.nav-title-label span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nav-title-icon {
    background: #eef6fd;
    border: 1px solid #cfe2f3;
    border-radius: 8px;
    color: var(--blue-800);
    flex: 0 0 auto;
    fill: none;
    height: 26px;
    padding: 5px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 26px;
}

.nav-title::-webkit-details-marker {
    display: none;
}

.nav-title::after {
    border: solid currentColor;
    border-width: 0 2px 2px 0;
    content: "";
    height: 7px;
    margin-left: 12px;
    transform: rotate(45deg);
    transition: transform 0.16s ease;
    width: 7px;
}

.nav-group[open] .nav-title {
    background: linear-gradient(135deg, #245b8d, #2f6da3);
    border-color: #245b8d;
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(31, 74, 112, 0.16);
    font-weight: 800;
}

.nav-group[open] .nav-title-icon {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.34);
    color: var(--yellow);
}

.nav-group[open] .nav-title::after {
    transform: rotate(-135deg);
}

.nav-items {
    display: grid;
    gap: 5px;
    padding: 7px 0 4px;
}

.nav-link {
    align-items: center;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid #e0ebf4;
    border-radius: 8px;
    color: #35506b;
    display: flex;
    font-size: 14px;
    font-weight: 600;
    gap: 11px;
    min-height: 40px;
    padding: 9px 11px;
    position: relative;
    word-break: break-word;
}

.nav-link:hover {
    background: #ffffff;
    border-color: #c6dbea;
    box-shadow: 0 8px 18px rgba(31, 74, 112, 0.07);
    color: var(--blue-900);
}

.nav-link.is-active {
    background: linear-gradient(135deg, var(--blue-800), #3275ad);
    border-color: var(--blue-800);
    color: #ffffff;
    font-weight: 650;
    box-shadow: 0 8px 18px rgba(47, 103, 154, 0.18);
}

.nav-link.is-active::before {
    background: var(--yellow);
    border-radius: 0 999px 999px 0;
    content: "";
    height: 26px;
    left: -12px;
    position: absolute;
    width: 5px;
}

.nav-symbol {
    color: var(--blue-800);
    flex: 0 0 25px;
    height: 20px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    fill: none;
    width: 20px;
}

.nav-link.is-active .nav-symbol {
    color: var(--yellow);
}

.nav-item-stack {
    display: grid;
    gap: 5px;
}

.nav-subaccordion {
    display: grid;
    gap: 4px;
}

.nav-subaccordion > summary {
    cursor: pointer;
    list-style: none;
}

.nav-subaccordion > summary::-webkit-details-marker {
    display: none;
}

.nav-sublink-summary {
    list-style: none;
}

.nav-sublink-summary::-webkit-details-marker {
    display: none;
}

.nav-link-summary {
    padding-right: 10px;
}

.nav-subaccordion[open] > .nav-link-summary,
.nav-subaccordion[open] > .nav-sublink-summary {
    background: #dcecf8;
    border-color: #a9cce8;
    color: var(--blue-900);
    box-shadow: inset 3px 0 0 var(--blue-700);
    font-weight: 800;
}

.nav-subaccordion[open] > .nav-link-summary .nav-symbol,
.nav-subaccordion[open] > .nav-sublink-summary .nav-subicon {
    color: var(--blue-900);
}

.nav-link-summary span:not(.nav-subaccordion-caret) {
    min-width: 0;
}

.nav-subaccordion-caret {
    border-bottom: 2px solid currentColor;
    border-right: 2px solid currentColor;
    height: 8px;
    margin-left: auto;
    opacity: 0.78;
    transform: rotate(45deg);
    transition: transform 0.16s ease;
    width: 8px;
}

.nav-subaccordion[open] .nav-subaccordion-caret {
    transform: rotate(-135deg);
}

.nav-subitems {
    border-left: 1px solid #d5e5f2;
    display: grid;
    gap: 3px;
    margin: 0 0 2px 22px;
    padding-left: 14px;
    position: relative;
}

.nav-subitems-nested {
    border-left-color: #e5eef7;
    margin-left: 14px;
    padding-left: 9px;
}

.nav-sublink {
    align-items: center;
    background: rgba(255, 255, 255, 0.64);
    border: 1px solid #e4edf5;
    border-radius: 7px;
    color: #496078;
    display: flex;
    font-size: 13px;
    font-weight: 600;
    gap: 8px;
    min-height: 34px;
    padding: 7px 9px;
    position: relative;
    word-break: break-word;
}

.nav-sublink::before,
.nav-sublink-summary::before {
    background: #9ec6e7;
    border-radius: 999px;
    content: "";
    height: 5px;
    left: -17px;
    position: absolute;
    width: 5px;
}

.nav-sublink:hover {
    background: #ffffff;
    border-color: #cbddec;
    box-shadow: 0 7px 16px rgba(31, 74, 112, 0.06);
    color: var(--blue-900);
}

.nav-sublink:hover::before,
.nav-sublink.is-active::before {
    background: var(--yellow);
    box-shadow: 0 0 0 3px rgba(245, 203, 0, 0.16);
}

.nav-sublink.is-active {
    background: #e4f0fa;
    border-color: #bcd8ee;
    color: var(--blue-900);
    box-shadow: inset 3px 0 0 var(--yellow);
}

.nav-subicon {
    color: var(--blue-700);
    flex: 0 0 18px;
    height: 17px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    fill: none;
    width: 17px;
}

.nav-sublink.is-active .nav-subicon {
    color: var(--blue-900);
}

.sidebar-footer {
    display: grid;
    gap: 12px;
    margin-top: auto;
    padding: 12px 2px 0;
}

.sidebar-footer form {
    margin: 0;
}

.sidebar-logout,
.sidebar-home {
    align-items: center;
    border-radius: 8px;
    display: flex;
    font: inherit;
    font-weight: 600;
    justify-content: center;
    min-height: 38px;
    width: 100%;
}

.sidebar-logout {
    background: #fff5f4;
    border: 1px solid #f0b8b3;
    color: var(--danger);
    cursor: pointer;
}

.sidebar-home {
    background: var(--yellow);
    border: 1px solid var(--yellow-border);
    color: #18364f;
    gap: 8px;
}

.home-icon {
    fill: none;
    height: 18px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 18px;
}

.main {
    min-width: 0;
    background: var(--page);
    grid-column: 2;
}

.topbar {
    height: 64px;
    background: #ffffff;
    border-bottom: 1px solid var(--line);
    color: var(--blue-900);
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto;
    align-items: center;
    gap: 18px;
    padding: 0 24px;
    position: sticky;
    top: 0;
    z-index: 10;
}

.topbar-menu-button {
    background: var(--blue-800);
    border-color: var(--blue-800);
    display: none;
    height: 38px;
    width: 42px;
}

.topbar-menu-button span {
    background: #ffffff;
}

body.sidebar-collapsed .topbar-menu-button {
    display: inline-flex;
}

body.sidebar-collapsed .topbar {
    grid-template-columns: 42px minmax(0, 1fr) auto;
}

.brand {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 18px;
    min-width: 0;
}

.brand-logo-small {
    display: block;
    height: 28px;
    object-fit: contain;
    width: 124px;
}

.search {
    position: relative;
}

.search input,
.filters input,
.filters select,
.auth-card input,
.upload-panel input[type="file"] {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 6px;
    min-height: 40px;
    padding: 0 12px;
    font: inherit;
    background: #ffffff;
}

.search input {
    border: 1px solid #cfdae5;
    background: #f7fafc;
    color: var(--ink);
    padding-left: 42px;
}

.search input::placeholder {
    color: #718297;
}

.search-icon {
    fill: none;
    height: 18px;
    position: absolute;
    left: 15px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    top: 50%;
    transform: translateY(-50%);
    color: var(--blue-800);
    width: 18px;
}

.topbar-search {
    justify-self: stretch;
    margin: 0;
    max-width: 760px;
    min-width: 0;
    width: 100%;
}

.topbar-search input {
    background: #f8fbff;
    border-color: #cbdbea;
    box-shadow: 0 8px 18px rgba(31, 62, 94, 0.035);
    height: 42px;
}

.topbar-search input:focus {
    background: #ffffff;
    border-color: var(--blue-700);
    box-shadow: 0 0 0 3px rgba(45, 111, 166, 0.12);
    outline: 0;
}

.user-chip {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.topbar-actions {
    align-items: center;
    display: inline-flex;
    gap: 12px;
    justify-self: end;
    min-width: 0;
    position: relative;
}

.notification-bell {
    align-items: center;
    background: #f7fbff;
    border: 1px solid #cbdbea;
    border-radius: 10px;
    color: var(--blue-900);
    display: inline-flex;
    flex: 0 0 auto;
    height: 40px;
    justify-content: center;
    position: relative;
    text-decoration: none;
    width: 42px;
}

.topbar-icon-link {
    align-items: center;
    background: #f7fbff;
    border: 1px solid #cbdbea;
    border-radius: 10px;
    color: var(--blue-900);
    display: inline-flex;
    flex: 0 0 auto;
    height: 40px;
    justify-content: center;
    text-decoration: none;
    width: 42px;
}

.topbar-icon-link:hover,
.topbar-icon-link.is-active {
    background: #eef6ff;
    border-color: #9dc4e9;
    text-decoration: none;
}

.topbar-icon-svg {
    fill: none;
    height: 19px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 19px;
}

.notification-bell:hover {
    background: #eef6ff;
    border-color: #9dc4e9;
    text-decoration: none;
}

.notification-bell.has-alerts {
    border-color: var(--yellow-border);
    box-shadow: 0 8px 18px rgba(244, 196, 0, 0.16);
}

.notification-bell.has-live-alert {
    animation: notification-bell-pulse 1.4s ease-in-out 3;
}

@keyframes notification-bell-pulse {
    0%, 100% {
        transform: translateY(0);
    }
    35% {
        transform: translateY(-2px);
        box-shadow: 0 10px 24px rgba(244, 196, 0, 0.34);
    }
}

.notification-bell-icon {
    fill: none;
    height: 19px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 19px;
}

.notification-bell span {
    align-items: center;
    background: var(--yellow);
    border: 2px solid #ffffff;
    border-radius: 999px;
    color: #102743;
    display: inline-flex;
    font-size: 10px;
    font-weight: 800;
    justify-content: center;
    min-height: 19px;
    min-width: 19px;
    padding: 0 4px;
    position: absolute;
    right: -7px;
    top: -7px;
}

.notification-bell-popover {
    display: grid;
    position: absolute;
    right: 58px;
    top: 48px;
    width: min(360px, calc(100vw - 32px));
    z-index: 1500;
}

.notification-bell-popover.is-hiding {
    opacity: 0;
    transform: translateY(-6px);
    transition: opacity .18s ease, transform .18s ease;
}

.notification-bell-card {
    align-items: center;
    background: #ffffff;
    border: 1px solid #cfe0f3;
    border-left: 5px solid #2f6fa8;
    border-radius: 8px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .22);
    color: #0f2f53;
    display: grid;
    gap: 10px;
    grid-template-columns: 34px minmax(0, 1fr) 28px;
    padding: 10px;
    text-decoration: none;
}

.notification-bell-card:hover {
    text-decoration: none;
}

.notification-bell-card.is-warning {
    border-left-color: #f59e0b;
}

.notification-bell-card.is-danger {
    border-left-color: #dc2626;
}

.notification-bell-card-dot {
    align-items: center;
    background: #eef6ff;
    border-radius: 7px;
    color: #2f6fa8;
    display: inline-flex;
    font-size: 16px;
    font-weight: 900;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.notification-bell-card.is-warning .notification-bell-card-dot {
    background: #fff8db;
    color: #a16207;
}

.notification-bell-card.is-danger .notification-bell-card-dot {
    background: #fff1f2;
    color: #dc2626;
}

.notification-bell-card-body {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.notification-bell-card-body strong,
.notification-bell-card-body small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.notification-bell-card-body strong {
    font-size: 13px;
    font-weight: 900;
}

.notification-bell-card-body small {
    color: #49617c;
    font-size: 12px;
}

.notification-bell-card-close {
    align-items: center;
    background: #f8fbff;
    border: 1px solid #cfe0f3;
    border-radius: 7px;
    color: #244766;
    cursor: pointer;
    display: inline-flex;
    font-size: 13px;
    font-weight: 900;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.platform-alert-stack {
    animation: platform-alert-enter 0.36s ease both;
    display: grid;
    gap: 8px;
    position: fixed;
    right: 18px;
    top: 82px;
    width: min(300px, calc(100vw - 36px));
    z-index: 35;
}

@keyframes platform-alert-enter {
    from {
        opacity: 0;
        transform: translateX(22px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.platform-alert-stack.is-hiding {
    opacity: 0;
    pointer-events: none;
    transform: translateX(18px);
    transition: opacity 0.28s ease, transform 0.28s ease;
}

.platform-alert-card {
    align-items: center;
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid #d5e4f1;
    border-left: 4px solid var(--blue-800);
    border-radius: 8px;
    box-shadow: 0 14px 28px rgba(31, 62, 94, 0.14);
    color: var(--blue-900);
    display: grid;
    gap: 10px;
    grid-template-columns: 34px minmax(0, 1fr);
    padding: 10px 12px;
    text-decoration: none;
}

.platform-alert-card:hover {
    background: #ffffff;
    border-color: #9dc4e9;
    transform: translateX(-2px);
    text-decoration: none;
}

.platform-alert-card.is-danger {
    border-left-color: var(--danger);
}

.platform-alert-card.is-warning {
    border-left-color: var(--yellow);
}

.platform-alert-card.is-info {
    border-left-color: var(--blue-800);
}

.platform-alert-icon {
    background: #eef6ff;
    border-radius: 8px;
    box-sizing: border-box;
    color: var(--blue-800);
    fill: none;
    height: 34px;
    padding: 8px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 34px;
}

.platform-alert-card.is-danger .platform-alert-icon {
    background: #fff5f4;
    color: var(--danger);
}

.platform-alert-card.is-warning .platform-alert-icon {
    background: var(--yellow-soft);
    color: #9a7100;
}

.platform-alert-card strong,
.platform-alert-card small {
    display: block;
}

.platform-alert-card strong {
    color: #102743;
    font-size: 13px;
    line-height: 1.25;
}

.platform-alert-card small {
    color: #526981;
    font-size: 11px;
    margin-top: 2px;
}

.user-avatar {
    align-items: center;
    background: var(--blue-100);
    border: 1px solid #dbeaf7;
    border-radius: 50%;
    box-sizing: border-box;
    color: var(--blue-900);
    display: inline-flex;
    flex: 0 0 28px;
    font-size: 12px;
    font-weight: 600;
    height: 28px;
    justify-content: center;
    overflow: hidden;
    width: 28px;
}

.user-avatar img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.user-text {
    display: grid;
    gap: 1px;
    min-width: 0;
}

.user-text strong {
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-text small {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.1;
}

.user-logout-form {
    margin: 4px 0 0;
}

.user-logout {
    background: transparent;
    border: 0;
    color: var(--danger);
    cursor: pointer;
    font: inherit;
    font-size: 11px;
    font-weight: 700;
    padding: 0;
    text-align: left;
}

.user-logout:hover {
    text-decoration: underline;
}

.content {
    padding: 26px 28px 52px;
}

.page-head {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(33, 79, 120, 0.98), rgba(72, 139, 203, 0.96)),
        var(--blue-800);
    border: 0;
    border-radius: 8px;
    box-shadow: 0 18px 34px rgba(33, 79, 120, 0.14);
    color: #ffffff;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 24px;
    min-height: 134px;
    overflow: hidden;
    padding: 26px 28px;
    position: relative;
}

.page-head::before {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.11) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
    background-size: 34px 34px;
    content: "";
    inset: 0;
    opacity: 0.28;
    position: absolute;
}

.page-head::after {
    background:
        linear-gradient(135deg, transparent 0 38%, rgba(248, 216, 16, 0.18) 38% 41%, transparent 41%),
        linear-gradient(135deg, transparent 0 55%, rgba(255, 255, 255, 0.16) 55% 57%, transparent 57%);
    content: "";
    height: 190px;
    position: absolute;
    right: -28px;
    top: -42px;
    transform: rotate(2deg);
    width: 420px;
}

.page-head > * {
    position: relative;
    z-index: 1;
}

.crumb {
    color: var(--yellow);
    font-size: 12px;
    font-weight: 650;
    letter-spacing: 0;
    margin: 0 0 8px;
    text-transform: uppercase;
}

h1 {
    margin: 0;
    color: #102743;
    font-size: 24px;
    font-weight: 650;
}

.page-head h1 {
    color: #ffffff;
    font-size: 26px;
    font-weight: 650;
}

.page-description {
    color: #ffffff;
    line-height: 1.45;
    margin: 10px 0 0;
    max-width: 760px;
}

.page-head-subline {
    color: #ffffff;
    font-size: 18px;
    font-weight: 850;
    line-height: 1.2;
    margin: 8px 0 0;
}

.page-head-extra {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    justify-content: flex-end;
    margin-left: auto;
    min-width: 0;
    position: relative;
    z-index: 1;
}

.page-icon {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.08));
    border: 1px solid rgba(255, 255, 255, 0.36);
    border-radius: 14px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.18),
        0 16px 28px rgba(21, 54, 84, 0.16);
    display: inline-flex;
    flex: 0 0 66px;
    height: 66px;
    justify-content: center;
    position: relative;
    width: 66px;
}

.page-icon::before,
.page-icon::after {
    border: 1px solid rgba(255, 255, 255, 0.22);
    content: "";
    position: absolute;
}

.page-icon::before {
    inset: -9px;
    opacity: 0.42;
    transform: rotate(12deg);
}

.page-icon::after {
    background: var(--yellow);
    border: 0;
    border-radius: 999px;
    bottom: 10px;
    height: 7px;
    right: 10px;
    width: 7px;
}

.page-icon-svg {
    fill: none;
    height: 30px;
    stroke: #ffffff;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    position: relative;
    width: 30px;
    z-index: 1;
}

h2 {
    margin: 0 0 14px;
    font-size: 18px;
    font-weight: 650;
}

.section-title {
    color: #102743;
    margin: 28px 0 14px;
}

.metric-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(160px, 1fr));
    gap: 14px;
}

.metric-row.secondary {
    grid-template-columns: repeat(6, minmax(120px, 1fr));
    margin-top: 14px;
}

.metric,
.panel,
.auth-card,
.module-card {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
}

.metric {
    border-left: 4px solid var(--blue-800);
    box-shadow: 0 10px 24px rgba(31, 62, 94, 0.05);
    padding: 16px 16px 14px;
}

.metric span {
    display: block;
    color: #102743;
    font-size: 30px;
    font-weight: 650;
    line-height: 1;
    margin-bottom: 7px;
}

.metric-row.secondary .metric span {
    font-size: 22px;
}

.metric small,
.module-card small,
.data-table small {
    color: var(--muted);
}

.module-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 14px;
}

.module-grid.overview {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.module-grid.compact {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.module-card {
    align-items: center;
    border-color: #d9e5ef;
    box-shadow: 0 10px 24px rgba(31, 62, 94, 0.04);
    color: var(--ink);
    display: flex;
    gap: 13px;
    min-height: 94px;
    padding: 16px;
    position: relative;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.module-card:hover {
    text-decoration: none;
    border-color: #b7cadb;
    box-shadow: 0 16px 30px rgba(31, 62, 94, 0.08);
    transform: translateY(-1px);
}

.module-icon {
    align-items: center;
    background: #edf5fb;
    border: 1px solid #d3e4f2;
    border-radius: 8px;
    color: var(--blue-800);
    display: inline-flex;
    flex: 0 0 46px;
    height: 46px;
    justify-content: center;
    width: 46px;
}

.module-icon-svg {
    fill: none;
    height: 23px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 23px;
}

.accent-yellow .module-icon {
    background: var(--yellow-soft);
    border-color: var(--yellow-border);
    color: var(--yellow-ink);
}

.accent-red .module-icon {
    background: #fff1f0;
    border-color: #f1c3bf;
    color: var(--danger);
}

.module-copy {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.module-title {
    color: #102743;
    font-size: 15px;
    font-weight: 600;
}

.module-arrow {
    color: #8aa0b5;
    font-size: 24px;
    margin-left: auto;
}

.module-section {
    margin-top: 28px;
    scroll-margin-top: 78px;
}

.module-section-head {
    align-items: center;
    border-bottom: 1px solid #dfe7ef;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
    padding-bottom: 10px;
}

.module-section-head h2 {
    margin-bottom: 4px;
}

.module-section-head p {
    color: var(--muted);
    margin: 0;
}

.module-section-head span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 600;
}

.module-map-hero-summary {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(92px, 1fr));
    min-width: min(420px, 42vw);
}

.module-map-hero-summary span {
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 8px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14);
    color: #ffffff;
    display: grid;
    gap: 4px;
    min-height: 64px;
    padding: 12px 14px;
}

.module-map-hero-summary strong {
    color: #ffffff;
    font-size: 24px;
    line-height: 1;
}

.module-map-hero-summary small {
    color: rgba(255, 255, 255, 0.86);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.module-map-shell {
    display: grid;
    gap: 18px;
}

.module-map-command {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(241, 248, 255, 0.96)),
        #ffffff;
    border: 1px solid #cfe1ef;
    border-radius: 8px;
    box-shadow: 0 18px 38px rgba(28, 61, 96, 0.07);
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) auto;
    overflow: hidden;
    padding: 18px 20px;
    position: relative;
}

.module-map-command::before {
    background: var(--yellow);
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    top: 0;
    width: 5px;
}

.module-map-command h2 {
    color: #082743;
    font-size: 21px;
    margin: 5px 0 6px;
}

.module-map-command p {
    color: #4b6680;
    line-height: 1.45;
    margin: 0;
}

.module-map-command-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.module-map-command-actions a,
.module-map-tabs a {
    align-items: center;
    color: var(--blue-900);
    text-decoration: none;
}

.module-map-command-actions a {
    background: #ffffff;
    border: 1px solid #c9deef;
    border-radius: 8px;
    box-shadow: 0 10px 22px rgba(31, 72, 110, 0.05);
    display: inline-flex;
    font-size: 13px;
    font-weight: 850;
    gap: 8px;
    min-height: 40px;
    padding: 9px 12px;
}

.module-map-command-actions a:hover {
    border-color: var(--blue-800);
    box-shadow: 0 14px 26px rgba(27, 84, 134, 0.1);
}

.module-map-tabs {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.module-map-tabs a {
    background: #ffffff;
    border: 1px solid #d2e2ef;
    border-left: 4px solid var(--yellow);
    border-radius: 8px;
    box-shadow: 0 12px 26px rgba(31, 72, 110, 0.04);
    display: grid;
    gap: 3px;
    min-height: 58px;
    padding: 11px 13px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.module-map-tabs a:hover {
    border-color: #aac9e3;
    box-shadow: 0 16px 28px rgba(31, 72, 110, 0.08);
    transform: translateY(-1px);
}

.module-map-tabs span {
    font-size: 13px;
    font-weight: 850;
}

.module-map-tabs small {
    color: #59708a;
    font-size: 11px;
    font-weight: 750;
}

.module-map-section-list {
    display: grid;
    gap: 18px;
}

.module-map-shell .module-section {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 251, 255, 0.96)),
        #ffffff;
    border: 1px solid #d1e3f0;
    border-radius: 8px;
    box-shadow: 0 18px 38px rgba(28, 61, 96, 0.055);
    margin-top: 0;
    padding: 18px;
}

.module-map-shell .module-section-head {
    border-bottom: 0;
    margin-bottom: 16px;
    padding-bottom: 0;
}

.module-map-shell .module-section-head > div {
    padding-left: 15px;
    position: relative;
}

.module-map-shell .module-section-head > div::before {
    background: var(--yellow);
    border-radius: 999px;
    bottom: 3px;
    content: "";
    left: 0;
    position: absolute;
    top: 3px;
    width: 4px;
}

.module-map-shell .module-section-head h2 {
    color: #082743;
    font-size: 19px;
}

.module-map-shell .module-section-head span {
    background: #edf6ff;
    border: 1px solid #c7ddf0;
    border-radius: 999px;
    color: var(--blue-900);
    padding: 7px 11px;
    white-space: nowrap;
}

.module-map-shell .module-grid.compact {
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.module-map-shell .module-card {
    background: #ffffff;
    border-color: #cfe1ef;
    box-shadow: 0 10px 22px rgba(31, 72, 110, 0.045);
    min-height: 86px;
    overflow: hidden;
    padding: 14px 15px;
}

.module-map-shell .module-card::before {
    background: var(--blue-800);
    bottom: 0;
    content: "";
    left: 0;
    opacity: 0.82;
    position: absolute;
    top: 0;
    width: 3px;
}

.module-map-shell .module-card.accent-yellow::before {
    background: var(--yellow);
}

.module-map-shell .module-card:hover {
    border-color: #a9c9e4;
    box-shadow: 0 18px 30px rgba(31, 72, 110, 0.09);
}

.module-map-shell .module-card:hover .module-arrow {
    color: var(--blue-800);
    transform: translateX(3px);
}

.module-map-shell .module-icon {
    flex-basis: 48px;
    height: 48px;
    width: 48px;
}

.module-map-shell .module-title {
    color: #082743;
    font-size: 15px;
    font-weight: 850;
}

.module-map-shell .module-arrow {
    transition: color 0.15s ease, transform 0.15s ease;
}

@media (max-width: 1180px) {
    .module-map-command {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .module-map-command-actions {
        justify-content: flex-start;
    }

    .module-map-hero-summary {
        min-width: 0;
    }
}

@media (max-width: 760px) {
    body.section-seguimiento .page-head-extra {
        width: 100%;
    }

    .module-map-hero-summary {
        grid-template-columns: 1fr;
        width: 100%;
    }

    .module-map-command,
    .module-map-shell .module-section {
        padding: 16px;
    }

    .module-map-command-actions a {
        width: 100%;
    }

    .module-map-shell .module-section-head {
        align-items: stretch;
    }

    .module-map-shell .module-section-head span {
        width: fit-content;
    }
}

.quick-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
}

.quick-list a {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--blue-900);
    font-weight: 600;
    padding: 12px 14px;
}

.quick-list a:hover {
    border-color: #b6c8d9;
    text-decoration: none;
}

.record-hero {
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: flex;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
    padding: 20px;
    box-shadow: 0 10px 24px rgba(31, 62, 94, 0.05);
}

.record-hero h2 {
    font-size: 20px;
    margin: 10px 0 4px;
}

.record-hero p {
    color: var(--muted);
    margin: 0;
}

.record-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.record-links a {
    background: var(--blue-100);
    border: 1px solid #cbdbea;
    border-radius: 8px;
    color: var(--blue-900);
    font-weight: 600;
    padding: 8px 10px;
}

.record-links a:hover {
    text-decoration: none;
}

.mini-metric-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 10px;
}

.mini-metric {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 10px 22px rgba(31, 62, 94, 0.04);
    padding: 14px;
}

.mini-metric span {
    color: var(--blue-900);
    display: block;
    font-size: 24px;
    font-weight: 650;
}

.mini-metric small,
.muted {
    color: var(--muted);
}

.module-table-list {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.module-table-row {
    align-items: center;
    background: #f7fbff;
    border: 1px solid #d9e8f5;
    border-radius: 8px;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    min-height: 48px;
    padding: 10px 12px;
}

.module-table-row strong {
    color: #102743;
    font-weight: 650;
    overflow-wrap: anywhere;
}

.module-hub {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 12px 26px rgba(31, 62, 94, 0.05);
    padding: 20px 22px 22px;
}

.module-hub-toolbar {
    align-items: center;
    border-bottom: 1px solid #dfe7ef;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 16px;
    padding-bottom: 14px;
}

.module-hub-intro {
    color: var(--muted);
    margin: 5px 0 0;
}

.module-hub-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
    margin: 0;
}

.module-hub-summary span {
    align-items: center;
    background: #f7fbff;
    border: 1px solid #d9e8f5;
    border-radius: 999px;
    color: #405366;
    display: inline-flex;
    gap: 6px;
    min-height: 32px;
    padding: 6px 11px;
}

.module-hub-summary strong {
    color: var(--blue-900);
}

.module-hub-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.module-hub-card {
    align-items: center;
    background: #fbfdff;
    border: 1px solid #d4e2ee;
    border-radius: 8px;
    color: var(--ink);
    display: grid;
    gap: 12px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 92px;
    padding: 14px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.module-hub-card:hover {
    border-color: #aac6dc;
    box-shadow: 0 14px 26px rgba(31, 62, 94, 0.07);
    text-decoration: none;
    transform: translateY(-1px);
}

.module-hub-copy {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.module-hub-copy strong {
    color: #102743;
    font-size: 15px;
}

.module-hub-copy small {
    color: var(--muted);
}

.module-hub-meta {
    background: #ecf7f0;
    border: 1px solid #bfe4cc;
    border-radius: 999px;
    color: var(--success);
    font-size: 12px;
    font-weight: 650;
    padding: 6px 9px;
    white-space: nowrap;
}

.timeline {
    display: grid;
    gap: 10px;
}

.timeline-item {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(31, 62, 94, 0.035);
    padding: 14px;
}

.timeline-item strong {
    display: block;
}

.timeline-item span {
    color: var(--muted);
    display: block;
    font-size: 12px;
    margin-top: 3px;
}

.timeline-item p {
    margin: 8px 0 0;
}

.search-summary {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(31, 62, 94, 0.035);
    margin-bottom: 16px;
    padding: 14px;
}

.result-section {
    margin-top: 20px;
}

.result-list {
    display: grid;
    gap: 10px;
}

.result-card {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(31, 62, 94, 0.035);
    color: var(--ink);
    display: grid;
    gap: 4px;
    padding: 14px;
}

.result-card:hover {
    border-color: #b6c8d9;
    box-shadow: 0 8px 22px rgba(34, 76, 116, 0.06);
    text-decoration: none;
}

.result-card span,
.result-card small {
    color: var(--muted);
}

.advice-panel {
    background: #fffdf0;
    border: 1px solid #eee1a7;
    border-left: 4px solid var(--yellow);
    border-radius: 8px;
    margin-top: 24px;
    padding: 18px;
}

.dashboard-home {
    display: grid;
    gap: 18px;
}

.dashboard-summary {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(21, 84, 132, 0.98) 0%, rgba(61, 139, 199, 0.94) 100%);
    border: 1px solid rgba(156, 199, 232, 0.55);
    border-radius: 14px;
    box-shadow: 0 18px 42px rgba(24, 74, 116, 0.16);
    color: #ffffff;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    overflow: hidden;
    padding: 22px 24px;
    position: relative;
}

body.section-tareas .page-head {
    gap: 22px;
    margin-bottom: 18px;
    min-height: 104px;
    padding: 18px 28px;
}

body.section-tareas .page-description {
    display: none;
}

body.section-tareas .crumb {
    margin-bottom: 6px;
}

body.section-tareas .page-head h1 {
    font-size: 24px;
}

body.section-tareas .page-head-subline {
    font-size: 16px;
    margin-top: 8px;
}

body.section-requerimientos .page-head {
    gap: 22px;
    margin-bottom: 18px;
    min-height: 104px;
    padding: 18px 28px;
}

body.section-requerimientos .page-description {
    display: none;
}

body.section-requerimientos .crumb {
    margin-bottom: 6px;
}

body.section-requerimientos .page-head h1 {
    font-size: 24px;
}

body.section-requerimientos .page-head-subline {
    font-size: 16px;
    margin-top: 8px;
}

.dashboard-summary::after {
    background: rgba(255, 255, 255, 0.12);
    content: "";
    height: 180%;
    position: absolute;
    right: 120px;
    top: -40%;
    transform: rotate(18deg);
    width: 42px;
}

.dashboard-summary > * {
    position: relative;
    z-index: 1;
}

.dashboard-summary .section-kicker {
    color: #f5d52c;
}

.dashboard-summary h2 {
    color: #ffffff;
    font-size: 26px;
    margin: 7px 0 8px;
}

.dashboard-summary p {
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.5;
    margin: 0;
    max-width: 680px;
}

.dashboard-summary-panel {
    align-items: center;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.26);
    border-radius: 12px;
    display: grid;
    gap: 4px;
    min-width: 150px;
    padding: 14px 16px;
    text-align: right;
}

.dashboard-summary-panel span {
    color: #ffffff;
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
}

.dashboard-summary-panel small {
    color: rgba(255, 255, 255, 0.86);
    font-weight: 650;
}

.dashboard-command-panel {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(247, 251, 255, 0.94));
    border: 1px solid #d5e4f0;
    border-radius: 14px;
    box-shadow: 0 16px 36px rgba(24, 74, 116, 0.07);
    display: grid;
    gap: 16px;
    padding: 18px;
}

.dashboard-command-head {
    align-items: start;
    border-bottom: 1px solid #d8e6f2;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding-bottom: 14px;
}

.dashboard-command-head h2 {
    color: #102743;
    font-size: 22px;
    margin: 6px 0 5px;
}

.dashboard-command-head p {
    color: #52677d;
    font-weight: 650;
    line-height: 1.45;
    margin: 0;
}

.dashboard-command-status {
    align-items: end;
    background: #fff8df;
    border: 1px solid #ffe08a;
    border-radius: 12px;
    color: #7a5a12;
    display: grid;
    gap: 2px;
    min-width: 170px;
    padding: 12px 14px;
    text-align: right;
}

.dashboard-command-status strong {
    color: #102743;
    font-size: 28px;
    line-height: 1;
}

.dashboard-command-status span {
    font-size: 12px;
    font-weight: 850;
}

.dashboard-command-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.36fr);
}

.dashboard-metrics {
    gap: 12px;
}

.dashboard-home .metric {
    border: 1px solid #d7e6f2;
    border-radius: 12px;
    box-shadow: 0 14px 30px rgba(24, 74, 116, 0.07);
}

.dashboard-metric {
    display: grid;
    gap: 8px;
    min-height: 118px;
    padding: 16px;
    position: relative;
}

.dashboard-metric::before {
    background: #2f6fa8;
    border-radius: 999px;
    content: "";
    height: 4px;
    left: 16px;
    position: absolute;
    right: 16px;
    top: 0;
}

.dashboard-metric.tone-green::before {
    background: #2f6fa8;
}

.dashboard-metric.tone-cyan::before {
    background: #1494aa;
}

.dashboard-metric.tone-yellow::before {
    background: #f1c40f;
}

.dashboard-metric-icon {
    align-items: center;
    background: #edf6fd;
    border: 1px solid #d2e5f5;
    border-radius: 10px;
    color: var(--blue-800);
    display: inline-flex;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.tone-green .dashboard-metric-icon {
    background: #edf6fd;
    border-color: #d2e5f5;
    color: var(--blue-800);
}

.tone-cyan .dashboard-metric-icon {
    background: #eaf8fb;
    border-color: #c6e8ef;
    color: #0e778b;
}

.tone-yellow .dashboard-metric-icon {
    background: var(--yellow-soft);
    border-color: var(--yellow-border);
    color: var(--yellow-ink);
}

.dashboard-metric-svg,
.quick-link-svg {
    fill: none;
    height: 21px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 21px;
}

.dashboard-home .metric span:not(.dashboard-metric-icon) {
    margin: 0;
}

.dashboard-home .metric small {
    line-height: 1.35;
}

.dashboard-home .metric em {
    color: #5b7288;
    display: block;
    font-size: 12px;
    font-style: normal;
    font-weight: 750;
    line-height: 1.35;
    margin-top: 2px;
}

.dashboard-highlight-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 12px;
}

.dashboard-highlight {
    background: #ffffff;
    border: 1px solid #dbe8f3;
    border-radius: 12px;
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 12px;
}

.dashboard-highlight span {
    color: #5c7186;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.dashboard-highlight strong {
    color: #102743;
    font-size: 24px;
    line-height: 1;
}

.dashboard-highlight small {
    color: #5b7288;
    font-weight: 700;
    line-height: 1.35;
}

.dashboard-highlight.is-warning {
    background: #fff8df;
    border-color: #ffe08a;
}

.dashboard-highlight.is-warning strong {
    color: #9b1c16;
}

.dashboard-highlight.is-success {
    background: #edf6ff;
    border-color: #cfe2f3;
}

.dashboard-highlight.is-green strong,
.dashboard-highlight.is-success strong {
    color: #1d5d9c;
}

.dashboard-highlight.is-blue strong {
    color: #1d5d9c;
}

.dashboard-distribution {
    background: #ffffff;
    border: 1px solid #d7e6f2;
    border-radius: 14px;
    display: grid;
    gap: 14px;
    padding: 15px;
}

.dashboard-distribution-head {
    align-items: center;
    display: flex;
    gap: 11px;
}

.dashboard-distribution-head strong {
    color: #102743;
    display: block;
    font-size: 15px;
    line-height: 1.25;
}

.dashboard-distribution-head small {
    color: #5b7288;
    display: block;
    font-size: 12px;
    font-weight: 750;
    margin-top: 2px;
}

.dashboard-bar-list {
    display: grid;
    gap: 12px;
}

.dashboard-bar-row {
    display: grid;
    gap: 6px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.dashboard-bar-row strong {
    color: #102743;
    display: block;
    font-size: 14px;
}

.dashboard-bar-row span {
    color: #5b7288;
    display: block;
    font-size: 12px;
    font-weight: 750;
    margin-top: 1px;
}

.dashboard-bar-row em {
    align-self: center;
    color: #1d5d9c;
    font-style: normal;
    font-weight: 900;
}

.dashboard-bar-row i {
    background: #e8f1f8;
    border-radius: 999px;
    grid-column: 1 / -1;
    height: 9px;
    overflow: hidden;
    position: relative;
}

.dashboard-bar-row i::before {
    background: #2f6fa8;
    border-radius: inherit;
    content: "";
    inset: 0 auto 0 0;
    position: absolute;
    width: var(--bar-width, 0%);
}

.dashboard-bar-row.is-green i::before {
    background: #2f6fa8;
}

.dashboard-bar-row.is-cyan i::before {
    background: #1494aa;
}

.dashboard-work,
.dashboard-quick-card,
.dashboard-activity {
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid #d9e6f2;
    border-radius: 14px;
    box-shadow: 0 14px 34px rgba(24, 74, 116, 0.06);
    margin-top: 0;
    padding: 18px;
}

.dashboard-work .module-section-head,
.dashboard-quick-card .module-section-head,
.dashboard-activity .module-section-head {
    border-bottom-color: #d8e6f2;
}

.dashboard-home .module-card {
    border-radius: 12px;
    box-shadow: 0 12px 26px rgba(24, 74, 116, 0.06);
    min-height: 102px;
}

.dashboard-home .module-card:hover {
    border-color: #9fc3e2;
    box-shadow: 0 18px 34px rgba(24, 74, 116, 0.1);
}

.dashboard-lower-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.75fr);
}

.dashboard-quick-list {
    grid-template-columns: repeat(2, minmax(190px, 1fr));
}

.dashboard-quick-list a {
    align-items: center;
    border-radius: 12px;
    display: flex;
    gap: 11px;
    min-height: 68px;
    padding: 12px;
}

.dashboard-quick-list a strong {
    color: #0d3159;
    display: block;
    font-size: 14px;
}

.dashboard-quick-list a small {
    color: var(--muted);
    display: block;
    font-size: 12px;
    margin-top: 2px;
}

.quick-link-icon {
    align-items: center;
    background: #edf6fd;
    border: 1px solid #d2e5f5;
    border-radius: 10px;
    color: var(--blue-800);
    display: inline-flex;
    flex: 0 0 40px;
    height: 40px;
    justify-content: center;
    width: 40px;
}

.dashboard-advice-panel {
    align-self: stretch;
    background:
        linear-gradient(180deg, #fffdf2 0%, #fff9d9 100%);
    border-radius: 14px;
    margin-top: 0;
}

.dashboard-advice-panel h2 {
    color: #102743;
    margin: 8px 0;
}

.dashboard-advice-panel p {
    color: #52677d;
    line-height: 1.55;
    margin: 0;
}

.dashboard-activity .timeline-item {
    border-radius: 12px;
    box-shadow: 0 10px 22px rgba(24, 74, 116, 0.05);
}

@media (max-width: 1100px) {
    .dashboard-command-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-metrics.is-primary {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }

    .dashboard-metrics.is-secondary {
        grid-template-columns: repeat(3, minmax(150px, 1fr));
    }

    .dashboard-lower-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-highlight-grid {
        grid-template-columns: repeat(3, minmax(150px, 1fr));
    }
}

@media (max-width: 760px) {
    .dashboard-summary {
        align-items: stretch;
        display: grid;
        padding: 18px;
    }

    .dashboard-summary::after {
        right: 44px;
    }

    .dashboard-summary h2 {
        font-size: 22px;
    }

    .dashboard-summary-panel {
        min-width: 0;
        text-align: left;
    }

    .dashboard-command-panel {
        padding: 14px;
    }

    .dashboard-command-head {
        display: grid;
    }

    .dashboard-command-status {
        align-items: start;
        min-width: 0;
        text-align: left;
    }

    .dashboard-highlight-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-work,
    .dashboard-quick-card,
    .dashboard-activity {
        padding: 14px;
    }

    .dashboard-quick-list {
        grid-template-columns: 1fr;
    }

    .dashboard-metric {
        min-height: 104px;
    }
}

body.section-inicio .page-head {
    display: none;
}

body.section-inicio .content {
    background:
        linear-gradient(180deg, #edf4f8 0%, #f7fafc 42%, #f3f7fb 100%);
    padding: 16px 18px 28px;
}

.dashboard-home {
    gap: 16px;
}

.dashboard-top-grid {
    align-items: stretch;
    display: grid;
    gap: 14px;
    grid-template-columns: 1fr;
}

.dashboard-summary {
    align-items: stretch;
    background:
        linear-gradient(135deg, rgba(33, 79, 120, 0.98), rgba(72, 139, 203, 0.96)),
        var(--blue-800);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 8px;
    box-shadow: 0 18px 40px rgba(12, 45, 73, 0.2);
    color: #ffffff;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 148px;
    overflow: hidden;
    padding: 16px 18px;
    position: relative;
}

.dashboard-summary::before {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.11) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
    background-size: 34px 34px;
    content: "";
    inset: 0;
    opacity: 0.28;
    position: absolute;
}

.dashboard-summary::after {
    background:
        linear-gradient(135deg, transparent 0 38%, rgba(248, 216, 16, 0.18) 38% 41%, transparent 41%),
        linear-gradient(135deg, transparent 0 55%, rgba(255, 255, 255, 0.16) 55% 57%, transparent 57%);
    content: "";
    display: block;
    height: 190px;
    position: absolute;
    right: -34px;
    top: -42px;
    transform: rotate(2deg);
    width: 420px;
}

.dashboard-summary-copy {
    align-content: center;
    display: grid;
    gap: 8px;
    padding: 0;
    position: relative;
    z-index: 1;
}

.dashboard-summary .section-kicker {
    background: transparent;
    border: 0;
    border-radius: 0;
    color: var(--yellow);
    justify-self: start;
    padding: 0;
}

.dashboard-summary h2 {
    color: #ffffff;
    font-size: 25px;
    line-height: 1.12;
    margin: 0;
    max-width: 720px;
}

.dashboard-summary p {
    color: rgba(236, 250, 255, 0.9);
    font-size: 14px;
    font-weight: 650;
    line-height: 1.45;
    margin: 0;
    max-width: 760px;
}

.dashboard-summary-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 4px;
}

.dashboard-summary-action {
    align-items: center;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 8px;
    box-shadow: 0 12px 24px rgba(8, 29, 47, 0.16);
    color: #ffffff;
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    gap: 8px;
    min-height: 36px;
    padding: 7px 10px;
}

.dashboard-summary-action:hover {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.34);
    text-decoration: none;
}

.dashboard-summary-action.is-primary {
    background: var(--yellow);
    border-color: #f5dc46;
    color: #18364f;
}

.dashboard-summary-action.is-primary:hover {
    background: #ffe34a;
}

.dashboard-summary-action-icon {
    fill: none;
    height: 16px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 16px;
}

.dashboard-year-card {
    align-items: center;
    align-self: center;
    background: rgba(13, 47, 78, 0.26);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 8px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        0 16px 28px rgba(12, 45, 73, 0.18);
    display: inline-grid;
    gap: 12px;
    grid-template-columns: 42px minmax(0, 1fr);
    justify-self: end;
    min-width: 190px;
    padding: 13px 15px;
    position: relative;
    z-index: 1;
}

.dashboard-year-card::after {
    background: var(--yellow);
    border-radius: 999px;
    content: "";
    height: 7px;
    position: absolute;
    right: 12px;
    top: 12px;
    width: 7px;
}

.dashboard-year-icon {
    align-items: center;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 8px;
    color: var(--yellow);
    display: inline-flex;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.dashboard-year-svg {
    fill: none;
    height: 21px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 21px;
}

.dashboard-year-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.dashboard-year-copy small,
.dashboard-year-copy em {
    color: rgba(255, 255, 255, 0.82);
    display: block;
    font-size: 11px;
    font-style: normal;
    font-weight: 750;
    line-height: 1.2;
}

.dashboard-year-copy strong {
    color: #ffffff;
    display: block;
    font-size: 30px;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1;
}

.dashboard-summary-stats {
    align-content: stretch;
    background: transparent;
    display: grid;
    gap: 12px;
    grid-template-columns: 1fr;
    min-width: 0;
    padding: 0;
}

.dashboard-summary-stat {
    align-items: center;
    background:
        linear-gradient(135deg, #ffffff 0%, #f7fbff 100%);
    border: 1px solid #d8e7f2;
    border-radius: 8px;
    box-shadow: 0 16px 30px rgba(24, 74, 116, 0.08);
    display: grid;
    gap: 10px;
    grid-template-columns: 42px minmax(0, 1fr);
    min-height: 100%;
    min-width: 0;
    padding: 12px;
    position: relative;
    overflow: hidden;
}

.dashboard-summary-stat::before {
    background: #2f6fa8;
    content: "";
    inset: 0 auto 0 0;
    position: absolute;
    width: 4px;
}

.dashboard-summary-stat-icon {
    align-items: center;
    background: #edf6fd;
    border: 1px solid #d2e5f5;
    border-radius: 50%;
    color: var(--blue-800);
    display: inline-flex;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.dashboard-summary-stat-svg {
    fill: none;
    height: 21px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 21px;
}

.dashboard-summary-stat-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.dashboard-summary-stat strong,
.dashboard-summary-stat small,
.dashboard-summary-stat em {
    display: block;
    font-style: normal;
}

.dashboard-summary-stat strong {
    color: #12395d;
    font-size: 24px;
    font-weight: 850;
    line-height: 1;
}

.dashboard-summary-stat small {
    color: #12395d;
    font-size: 12px;
    font-weight: 850;
}

.dashboard-summary-stat em {
    color: #5d748a;
    font-size: 11px;
    font-weight: 700;
}

.dashboard-summary-stat.is-yellow .dashboard-summary-stat-icon {
    background: var(--yellow-soft);
    border-color: var(--yellow-border);
    color: var(--yellow-ink);
}

.dashboard-summary-stat.is-yellow::before {
    background: #f0b429;
}

.dashboard-summary-stat.is-green .dashboard-summary-stat-icon {
    background: #edf6ff;
    border-color: #cfe2f3;
    color: #1d5d9c;
}

.dashboard-summary-stat.is-green::before {
    background: #2878c8;
}

.dashboard-summary-stat.is-cyan .dashboard-summary-stat-icon {
    background: #edf6ff;
    border-color: #cfe2f3;
    color: #1d5d9c;
}

.dashboard-summary-stat.is-cyan::before {
    background: #2f6fa8;
}

.dashboard-summary-stat.is-violet .dashboard-summary-stat-icon {
    background: #f3edff;
    border-color: #ddcffb;
    color: #6c45bc;
}

.dashboard-summary-stat.is-violet::before {
    background: #7b5ce1;
}

.dashboard-summary-stat.is-blue::before {
    background: #2878c8;
}

.dashboard-command-panel,
.dashboard-work,
.dashboard-quick-card,
.dashboard-activity,
.dashboard-priority-panel,
.dashboard-distribution,
.dashboard-highlight,
.dashboard-home .metric,
.dashboard-home .module-card,
.dashboard-quick-list a,
.dashboard-advice-panel,
.dashboard-activity .timeline-item {
    border-radius: 8px;
}

.dashboard-command-panel,
.dashboard-priority-panel,
.dashboard-work,
.dashboard-quick-card,
.dashboard-activity {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(205, 222, 235, 0.9);
    box-shadow: 0 18px 38px rgba(23, 54, 84, 0.07);
}

.dashboard-command-panel {
    gap: 15px;
    padding: 16px;
}

.dashboard-command-head {
    border-bottom-color: #d9e8f4;
    padding-bottom: 12px;
}

.dashboard-command-head h2 {
    font-size: 21px;
    margin-top: 3px;
}

.dashboard-command-head p {
    font-size: 13px;
}

.dashboard-command-status {
    background: linear-gradient(135deg, #fff8df 0%, #fff1b8 100%);
    border: 1px solid #efd166;
    border-radius: 8px;
    min-width: 142px;
    padding: 11px 13px;
}

.dashboard-command-grid {
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.34fr);
}

.dashboard-metrics.is-primary {
    grid-template-columns: repeat(3, minmax(160px, 1fr));
}

.dashboard-highlight-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dashboard-metric {
    align-items: center;
    column-gap: 12px;
    grid-template-columns: 42px minmax(0, 1fr);
    min-height: 96px;
    padding: 15px;
    position: relative;
    overflow: hidden;
}

.dashboard-metric::before {
    border-radius: 0;
    content: "";
    display: block;
    inset: 0 auto 0 0;
    left: 0;
    position: absolute;
    right: auto;
    top: 0;
    width: 4px;
}

.dashboard-metric-icon {
    grid-row: 1 / span 3;
    height: 42px;
    width: 42px;
}

.dashboard-home .metric span:not(.dashboard-metric-icon) {
    color: #12395d;
    font-size: 28px;
    line-height: 1;
}

.dashboard-metric.tone-blue {
    background: linear-gradient(135deg, #f3f9ff 0%, #ffffff 100%);
}

.dashboard-metric.tone-green {
    background: linear-gradient(135deg, #edf6ff 0%, #ffffff 100%);
}

.dashboard-metric.tone-cyan {
    background: linear-gradient(135deg, #ebfbff 0%, #ffffff 100%);
}

.dashboard-metric.tone-yellow {
    background: #fffaf0;
}

.dashboard-priority-panel {
    padding: 16px;
}

.dashboard-priority-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.dashboard-priority-card {
    align-items: center;
    background: linear-gradient(135deg, #f3f9ff 0%, #ffffff 100%);
    border: 1px solid #d7e6f2;
    border-radius: 8px;
    color: #102743;
    display: grid;
    gap: 10px;
    grid-template-columns: 42px minmax(0, 1fr) 16px;
    min-height: 90px;
    padding: 12px 14px 12px 12px;
    position: relative;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.dashboard-priority-card::after {
    color: #6e8aa3;
    content: "\203A";
    font-size: 22px;
    font-weight: 800;
    justify-self: end;
}

.dashboard-priority-card:hover {
    border-color: #9fc3e2;
    box-shadow: 0 18px 32px rgba(24, 74, 116, 0.12);
    text-decoration: none;
    transform: translateY(-1px);
}

.dashboard-priority-icon {
    align-items: center;
    background: #edf6fd;
    border: 1px solid #d2e5f5;
    border-radius: 8px;
    color: var(--blue-800);
    display: inline-flex;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.dashboard-priority-copy {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.dashboard-priority-copy strong {
    color: #102743;
    font-size: 24px;
    line-height: 1;
}

.dashboard-priority-copy small {
    color: #102743;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.25;
}

.dashboard-priority-copy em {
    color: #5b7288;
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.25;
}

.dashboard-priority-card.is-yellow {
    background: linear-gradient(135deg, #fff8df 0%, #ffffff 100%);
    border-color: #f0d46a;
}

.dashboard-priority-card.is-danger {
    background: linear-gradient(135deg, #fff1f0 0%, #ffffff 100%);
    border-color: #efc4c0;
}

.dashboard-priority-card.is-green {
    background: linear-gradient(135deg, #edf6ff 0%, #ffffff 100%);
    border-color: #cfe2f3;
}

.dashboard-priority-card.is-cyan {
    background: linear-gradient(135deg, #ecfbff 0%, #ffffff 100%);
    border-color: #c6e8ef;
}

.dashboard-priority-card.is-yellow .dashboard-priority-icon {
    background: var(--yellow-soft);
    border-color: var(--yellow-border);
    color: var(--yellow-ink);
}

.dashboard-priority-card.is-danger .dashboard-priority-icon {
    background: #fff1f0;
    border-color: #f1c3bf;
    color: var(--danger);
}

.dashboard-priority-card.is-green .dashboard-priority-icon {
    background: #edf6ff;
    border-color: #cfe2f3;
    color: #1d5d9c;
}

.dashboard-priority-card.is-cyan .dashboard-priority-icon {
    background: #eaf8fb;
    border-color: #c6e8ef;
    color: #0e778b;
}

.dashboard-work .module-grid.overview {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dashboard-home .module-card {
    background: #f8fcff;
    border-color: #d9e8f4;
    min-height: 92px;
    padding: 14px;
}

.dashboard-home .module-card:nth-child(2n) {
    background: #f7fbff;
}

.dashboard-home .module-card:nth-child(3n) {
    background: #f1fbf7;
}

.dashboard-home .module-card:nth-child(4n) {
    background: #fffaf0;
}

.dashboard-home .module-icon {
    border-radius: 8px;
    flex-basis: 44px;
    height: 44px;
    width: 44px;
}

.dashboard-highlight {
    background: linear-gradient(135deg, #ffffff 0%, #f7fbff 100%);
    border-color: #d8e7f2;
    box-shadow: 0 12px 24px rgba(24, 74, 116, 0.05);
    overflow: hidden;
    position: relative;
}

.dashboard-highlight::before {
    background: #2878c8;
    content: "";
    inset: 0 auto 0 0;
    position: absolute;
    width: 4px;
}

.dashboard-highlight.is-warning {
    background: linear-gradient(135deg, #fff8df 0%, #ffffff 100%);
    border-color: #efd166;
}

.dashboard-highlight.is-warning::before {
    background: #f0b429;
}

.dashboard-highlight.is-warning strong {
    color: #b3251f;
}

.dashboard-highlight.is-blue {
    background: linear-gradient(135deg, #edf6ff 0%, #ffffff 100%);
}

.dashboard-distribution {
    background: linear-gradient(135deg, #ffffff 0%, #f6fbff 100%);
    border-color: #d8e7f2;
    box-shadow: 0 14px 28px rgba(24, 74, 116, 0.06);
}

.dashboard-distribution .dashboard-metric-icon {
    background: #eff6ff;
    border-color: #cfe2f3;
    color: #2878c8;
}

.dashboard-bar-row i {
    background: #e6edf4;
    height: 10px;
}

.dashboard-bar-row.is-green i::before {
    background: linear-gradient(90deg, #245b8d, #4a8bcb);
}

.dashboard-bar-row.is-blue i::before {
    background: linear-gradient(90deg, #245b8d, #4a8bcb);
}

.dashboard-bar-row.is-cyan i::before {
    background: linear-gradient(90deg, #168aa0, #36a6e8);
}

.dashboard-priority-card {
    box-shadow: 0 12px 24px rgba(24, 74, 116, 0.05);
    overflow: hidden;
}

.dashboard-priority-card::before {
    background: #2878c8;
    content: "";
    inset: 0 auto 0 0;
    position: absolute;
    width: 4px;
}

.dashboard-priority-card.is-yellow::before {
    background: #f0b429;
}

.dashboard-priority-card.is-danger::before {
    background: #e45d52;
}

.dashboard-priority-card.is-green::before {
    background: #2878c8;
}

.dashboard-priority-card.is-cyan::before {
    background: #22a3b8;
}

.dashboard-home .module-card {
    background: linear-gradient(135deg, #ffffff 0%, #f7fbff 100%);
    border-color: #d9e8f4;
    box-shadow: 0 12px 26px rgba(24, 74, 116, 0.06);
    overflow: hidden;
}

.dashboard-home .module-card::before {
    background: #2878c8;
    content: "";
    inset: 0 0 auto 0;
    height: 3px;
    position: absolute;
}

.dashboard-home .module-card:nth-child(3n)::before {
    background: #4a8bcb;
}

.dashboard-home .module-card:nth-child(4n)::before {
    background: #f0b429;
}

.dashboard-home .module-card:nth-child(5n)::before {
    background: #e45d52;
}

.dashboard-home .module-card:nth-child(6n)::before {
    background: #7b5ce1;
}

.dashboard-home .module-card:hover {
    border-color: #9fc3e2;
    box-shadow: 0 18px 34px rgba(24, 74, 116, 0.11);
}

.dashboard-advice-steps {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.dashboard-advice-steps span {
    background: #ffffff;
    border: 1px solid #ead06a;
    border-radius: 6px;
    color: #6f5800;
    font-size: 12px;
    font-weight: 850;
    padding: 7px 9px;
}

.dashboard-import-item {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    min-height: 68px;
    padding: 12px;
}

.dashboard-import-icon {
    align-items: center;
    background: #edf6fd;
    border: 1px solid #d2e5f5;
    border-radius: 8px;
    color: var(--blue-800);
    display: inline-flex;
    height: 40px;
    justify-content: center;
    width: 40px;
}

.dashboard-import-main {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.dashboard-import-main strong {
    color: #102743;
    overflow-wrap: anywhere;
}

.dashboard-import-main small {
    color: #5b7288;
    font-size: 12px;
    font-weight: 700;
}

.dashboard-import-item em {
    background: #eef6ff;
    border: 1px solid #d2e5f5;
    border-radius: 6px;
    color: #1d5d9c;
    font-size: 12px;
    font-style: normal;
    font-weight: 850;
    padding: 6px 8px;
    white-space: nowrap;
}

@media (max-width: 1400px) {
    .dashboard-priority-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .dashboard-work .module-grid.overview {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1100px) {
    .dashboard-top-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-summary {
        grid-template-columns: 1fr;
    }

    .dashboard-year-card {
        justify-self: start;
    }

    .dashboard-summary-stats {
        grid-template-columns: 1fr;
    }

    .dashboard-command-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-work .module-grid.overview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-priority-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    body.section-inicio .content {
        padding-top: 14px;
    }

    .dashboard-summary {
        grid-template-columns: 1fr;
        min-height: 0;
        padding: 14px;
    }

    .dashboard-summary-copy {
        padding: 0;
    }

    .dashboard-summary h2 {
        font-size: 24px;
    }

    .dashboard-year-card {
        justify-self: stretch;
        min-width: 0;
        width: 100%;
    }

    .dashboard-summary-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .dashboard-summary-action {
        justify-content: center;
        width: 100%;
    }

    .dashboard-summary-stats {
        grid-template-columns: 1fr;
        padding: 0;
    }

    .dashboard-summary-stat {
        min-height: 74px;
        padding: 12px;
    }

    .dashboard-summary-stat strong {
        font-size: 24px;
    }

    .dashboard-metrics.is-primary,
    .dashboard-highlight-grid,
    .dashboard-priority-grid,
    .dashboard-work .module-grid.overview {
        grid-template-columns: 1fr;
    }

    .dashboard-priority-panel {
        padding: 14px;
    }

    .dashboard-priority-card {
        min-height: 84px;
    }

    .dashboard-import-item {
        grid-template-columns: 40px minmax(0, 1fr);
    }

    .dashboard-import-item em {
        grid-column: 2;
        justify-self: start;
    }
}

.actions,
.filters {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 18px;
}

.filters {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) 190px auto auto;
}

.btn {
    min-height: 40px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 9px 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    color: var(--blue-900);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.btn.primary {
    background: var(--blue-800);
    color: #ffffff;
    border-color: var(--blue-800);
}

.btn:hover {
    border-color: #b6c8d9;
    box-shadow: 0 8px 18px rgba(31, 62, 94, 0.06);
    text-decoration: none;
}

.btn.primary:hover {
    background: var(--blue-900);
    border-color: var(--blue-900);
}

a.btn.primary,
button.btn.primary,
input.btn.primary,
.modal-form .btn.primary,
.search-actions .btn.primary,
.filter-actions .btn.primary {
    background: var(--blue-800);
    border-color: var(--blue-800);
    color: #ffffff;
    text-decoration: none;
}

a.btn.primary:hover,
button.btn.primary:hover,
input.btn.primary:hover,
.modal-form .btn.primary:hover,
.search-actions .btn.primary:hover,
.filter-actions .btn.primary:hover {
    background: var(--blue-900);
    border-color: var(--blue-900);
    color: #ffffff;
}

.button-icon {
    fill: none;
    height: 17px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 17px;
}

.table-wrap {
    overflow-x: auto;
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(31, 62, 94, 0.04);
}

.data-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 920px;
}

.data-table th,
.data-table td {
    padding: 12px 14px;
    text-align: left;
    border-bottom: 1px solid var(--line);
    vertical-align: top;
}

.data-table td > strong {
    display: block;
    line-height: 1.35;
}

.data-table td > strong + small,
.data-table td > a + small,
.data-table td > span + small {
    display: block;
    line-height: 1.45;
    margin-top: 4px;
}

.external-survey-page {
    background:
        linear-gradient(120deg, rgba(255, 255, 255, 0.045) 0 1px, transparent 1px 92px),
        linear-gradient(135deg, #0f5788 0%, #156c9e 52%, #0c4a73 100%);
    color: #102b45;
    min-height: 100vh;
}

.external-survey-shell {
    display: grid;
    min-height: 100vh;
    padding: 34px 18px;
    place-items: start center;
}

.external-survey-card {
    background: #f8fbfe;
    border: 1px solid rgba(208, 225, 239, 0.92);
    border-radius: 18px;
    box-shadow: 0 24px 62px rgba(8, 40, 68, 0.22);
    display: grid;
    gap: 0;
    max-width: 900px;
    overflow: hidden;
    width: min(900px, 100%);
}

.external-survey-head {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(235, 246, 255, 0.96)),
        #ffffff;
    border-bottom: 1px solid #dbe8f2;
    display: grid;
    gap: 18px 22px;
    grid-template-columns: 150px minmax(0, 1fr);
    padding: 28px 32px 24px;
}

.external-survey-head img {
    background: #075889;
    border-radius: 8px;
    box-shadow: 0 10px 22px rgba(12, 74, 115, 0.12);
    display: block;
    max-height: 48px;
    max-width: 150px;
    object-fit: contain;
    padding: 7px 10px;
    width: 100%;
}

.external-survey-head span {
    align-items: center;
    color: #8a6800;
    display: inline-flex;
    font-size: 11px;
    font-weight: 900;
    gap: 7px;
    letter-spacing: 0;
    line-height: 1;
    text-transform: uppercase;
}

.external-survey-head span::before {
    background: var(--yellow);
    border-radius: 999px;
    content: "";
    height: 8px;
    width: 8px;
}

.external-survey-head h1 {
    color: #0e3454;
    font-size: 32px;
    font-weight: 900;
    line-height: 1.08;
    margin: 9px 0 7px;
}

.external-survey-head p {
    color: #607588;
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
}

.external-survey-form {
    background: linear-gradient(180deg, #ffffff 0%, #f7fbfe 100%);
    display: grid;
    gap: 18px;
    padding: 24px 32px 30px;
}

.survey-section {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #d8e7f3;
    border-left: 4px solid var(--yellow);
    border-radius: 12px;
    box-shadow: 0 12px 28px rgba(17, 67, 104, 0.055);
    display: grid;
    gap: 17px;
    padding: 20px 20px 22px;
}

.survey-section-head {
    align-items: center;
    display: flex;
    gap: 13px;
    margin-bottom: 2px;
}

.survey-section-head > span {
    align-items: center;
    background: #fff8d7;
    border: 1px solid #efd25b;
    border-radius: 999px;
    color: #735800;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 900;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.survey-section-head strong,
.survey-section-head small {
    display: block;
}

.survey-section-head strong {
    color: #123a5a;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.2;
    text-transform: uppercase;
}

.survey-section-head small {
    color: #64798c;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.4;
    margin-top: 2px;
}

.external-survey-form label,
.survey-rating legend {
    color: #183c5d;
    display: grid;
    font-size: 13px;
    font-weight: 800;
    gap: 8px;
    margin: 0;
}

.external-survey-form input,
.external-survey-form select,
.external-survey-form textarea {
    background: #fbfdff;
    border: 1px solid #c9ddeb;
    border-radius: 8px;
    color: #102b45;
    font: inherit;
    min-height: 46px;
    padding: 12px 13px;
    transition: background 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
    width: 100%;
}

.external-survey-form textarea {
    line-height: 1.5;
    min-height: 96px;
    resize: vertical;
}

.external-survey-form input::placeholder,
.external-survey-form textarea::placeholder {
    color: #8ca0b2;
}

.external-survey-form input:focus,
.external-survey-form select:focus,
.external-survey-form textarea:focus {
    background: #ffffff;
    border-color: #2f679a;
    box-shadow: 0 0 0 4px rgba(47, 103, 154, 0.14);
    outline: 0;
}

.external-survey-form input[readonly] {
    background: #eef6fc;
    color: #163a58;
    font-weight: 800;
}

.survey-school-picker {
    position: relative;
    z-index: 4;
}

.survey-school-picker input {
    padding-left: 38px;
}

.survey-school-picker::after {
    border: 2px solid #2f679a;
    border-radius: 50%;
    content: "";
    height: 12px;
    left: 14px;
    pointer-events: none;
    position: absolute;
    top: 36px;
    width: 12px;
}

.survey-school-picker::before {
    background: #2f679a;
    border-radius: 999px;
    content: "";
    height: 7px;
    left: 27px;
    pointer-events: none;
    position: absolute;
    top: 49px;
    transform: rotate(45deg);
    width: 2px;
    z-index: 1;
}

.survey-school-results {
    background: #ffffff;
    border: 1px solid #bfd8ec;
    border-radius: 12px;
    box-shadow: 0 18px 38px rgba(18, 58, 90, 0.13);
    display: grid;
    gap: 6px;
    left: 0;
    max-height: 330px;
    overflow-y: auto;
    padding: 8px;
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
}

.survey-school-results[hidden] {
    display: none;
}

.survey-school-option {
    background: #f8fbff;
    border: 1px solid transparent;
    border-radius: 8px;
    color: #123a5a;
    cursor: pointer;
    display: grid;
    gap: 4px;
    padding: 10px 12px;
    text-align: left;
    width: 100%;
}

.survey-school-option:hover,
.survey-school-option:focus {
    background: #eef6ff;
    border-color: #94bfdf;
    box-shadow: inset 3px 0 0 var(--yellow);
    outline: 0;
}

.survey-school-option strong {
    font-size: 13px;
    line-height: 1.25;
}

.survey-school-option span,
.survey-school-empty {
    color: #5f7890;
    font-size: 12px;
    font-weight: 700;
}

.survey-school-empty {
    background: #fff8f0;
    border: 1px solid #f2d6b8;
    border-radius: 8px;
    padding: 12px;
}

.survey-field-help {
    color: #5f7890;
    font-size: 12px;
    font-weight: 600;
    margin: -8px 0 0;
}

.survey-context {
    background: #edf7ff;
    border: 1px solid #cae0f1;
    border-radius: 9px;
    color: #406178;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px 12px;
}

.survey-context.is-empty {
    display: none;
}

.survey-context strong {
    color: #17456a;
}

.survey-rating {
    background: #f8fbff;
    border: 1px solid #d8e7f3;
    border-radius: 11px;
    margin: 0;
    padding: 18px;
}

.external-survey-form .survey-rating-grid.field-grid.two {
    gap: 18px;
    grid-template-columns: 1fr;
}

.survey-rating legend {
    float: left;
    margin-bottom: 12px;
    width: 100%;
}

.rating-options {
    clear: both;
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-top: 10px;
}

.rating-options label {
    align-items: center;
    background: #ffffff;
    border: 1px solid #cddfeb;
    border-radius: 10px;
    box-shadow: 0 6px 14px rgba(17, 67, 104, 0.04);
    cursor: pointer;
    display: grid;
    justify-items: center;
    min-height: 86px;
    min-width: 0;
    padding: 12px 8px;
    position: relative;
    transition: background 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.rating-options label:hover {
    background: #f4f9fe;
    border-color: #99c2df;
    transform: translateY(-1px);
}

.rating-options label:has(input:checked) {
    background: #eaf5ff;
    border-color: #2f679a;
    box-shadow: inset 0 0 0 1px #2f679a, 0 8px 18px rgba(47, 103, 154, 0.12);
}

.rating-options label:has(input:checked)::after {
    background: var(--yellow);
    border: 2px solid #ffffff;
    border-radius: 999px;
    box-shadow: 0 2px 7px rgba(93, 75, 0, 0.18);
    content: "";
    height: 10px;
    position: absolute;
    right: 8px;
    top: 8px;
    width: 10px;
}

.rating-options label:focus-within {
    border-color: #2f679a;
    box-shadow: 0 0 0 4px rgba(47, 103, 154, 0.14);
}

.rating-options input {
    height: 1px;
    left: 50%;
    min-height: 0;
    opacity: 0;
    padding: 0;
    position: absolute;
    top: 50%;
    width: 1px;
}

.rating-options span {
    color: #17456a;
    display: grid;
    gap: 5px;
    justify-items: center;
    line-height: 1.15;
    text-align: center;
}

.rating-options strong {
    align-items: center;
    background: transparent;
    border: 0;
    color: #9bb2c5;
    display: inline-flex;
    font-size: 30px;
    font-weight: 900;
    height: 34px;
    justify-content: center;
    line-height: 1;
    text-shadow: 0 1px 0 #ffffff;
    width: 34px;
}

.rating-options strong::before {
    content: "\2605";
}

.rating-options label:has(input:checked) strong {
    color: var(--yellow);
    text-shadow: 0 1px 0 #7c6200, 0 7px 14px rgba(216, 168, 0, 0.18);
}

.rating-options em {
    color: #526d84;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.rating-options label:hover strong {
    color: #d6a900;
}

.rating-caption {
    color: #5f7284;
    display: flex;
    font-size: 12px;
    font-weight: 700;
    justify-content: space-between;
    margin-top: 12px;
}

.survey-actions {
    display: flex;
    justify-content: flex-end;
    padding-top: 2px;
}

.survey-actions .btn {
    align-items: center;
    border-radius: 9px;
    box-shadow: 0 10px 22px rgba(47, 103, 154, 0.16);
    display: inline-flex;
    gap: 9px;
    justify-content: center;
    min-height: 46px;
    min-width: 172px;
    padding: 0 20px;
}

.survey-actions .btn::after {
    border-bottom: 2px solid currentColor;
    border-right: 2px solid currentColor;
    content: "";
    height: 9px;
    transform: rotate(-45deg);
    width: 9px;
}

.survey-actions .btn:hover {
    box-shadow: 0 12px 25px rgba(47, 103, 154, 0.22);
    transform: translateY(-1px);
}

.survey-actions .btn:active {
    transform: translateY(0);
}

.survey-actions .btn:disabled {
    cursor: wait;
    opacity: 0.72;
    transform: none;
}

.survey-success {
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    border-radius: 12px;
    color: #065f46;
    display: grid;
    gap: 4px;
    margin: 24px 32px 32px;
    padding: 20px;
}

.survey-success strong {
    font-size: 18px;
}

.survey-metrics {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 16px 18px 8px;
}

.metric-card {
    background: #ffffff;
    border: 1px solid #d8e5f1;
    border-top: 3px solid #2f679a;
    box-shadow: 0 10px 22px rgba(31, 62, 94, 0.05);
    color: #123a5a;
    display: grid;
    gap: 5px;
    min-height: 96px;
    padding: 15px;
}

.metric-card span {
    color: #47657e;
    font-size: 12px;
    font-weight: 700;
}

.metric-card strong {
    color: #082746;
    font-size: 28px;
    line-height: 1;
}

.metric-card small {
    color: #58748d;
    font-size: 12px;
    font-weight: 600;
}

.metric-card.primary {
    background: linear-gradient(135deg, #2f79b0, #2f86bf);
    border-color: #2f679a;
    color: #ffffff;
}

.metric-card.primary span,
.metric-card.primary strong,
.metric-card.primary small {
    color: #ffffff;
}

.metric-card.success {
    background: #effaf5;
    border-top-color: #10a36d;
}

.metric-card.success strong {
    color: #08764e;
}

.metric-card.warning {
    background: #fff8dc;
    border-top-color: #f2c300;
}

.metric-card.warning strong {
    color: #9b6a00;
}

.metric-card.neutral {
    background: #f6f4ff;
    border-top-color: #7666d9;
}

.metric-card.neutral strong {
    color: #5143a6;
}

.survey-metrics .metric-card,
.survey-analysis-strip > div {
    border-radius: 8px;
}

.survey-analysis-strip {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    padding: 12px 18px;
}

.survey-analysis-strip > div {
    background: #f8fbff;
    border: 1px solid #d7e6f2;
    display: grid;
    gap: 3px;
    padding: 12px;
}

.survey-analysis-strip strong {
    color: #123a5a;
}

.survey-analysis-strip span,
.survey-analysis-strip small {
    color: #557086;
}

.score-pill {
    background: #eef6ff;
    border: 1px solid #b9d7f5;
    border-radius: 999px;
    color: #235d8d;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    padding: 5px 9px;
}

.survey-dashboard {
    display: grid;
    gap: 14px;
    padding: 16px 18px 20px;
}

.survey-dashboard-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
}

.survey-dashboard-grid.is-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.survey-dashboard-panel {
    background: #ffffff;
    border: 1px solid #d8e6f2;
    border-radius: 8px;
    box-shadow: 0 10px 26px rgba(31, 62, 94, 0.045);
    display: grid;
    gap: 12px;
    min-width: 0;
    padding: 14px;
}

.survey-panel-head {
    align-items: center;
    border-bottom: 1px solid #e4eef7;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding-bottom: 10px;
}

.survey-panel-head h2 {
    color: #102743;
    font-size: 18px;
    line-height: 1.25;
    margin: 2px 0 0;
}

.survey-panel-head > strong {
    background: #eef6ff;
    border: 1px solid #c7ddf0;
    border-radius: 999px;
    color: #255f8e;
    font-size: 12px;
    padding: 6px 10px;
    white-space: nowrap;
}

.survey-rank-list,
.survey-period-list,
.survey-mini-bars,
.survey-rating-report,
.survey-comment-list {
    display: grid;
    gap: 10px;
}

.survey-rank-row {
    align-items: center;
    display: grid;
    gap: 8px 12px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.survey-rank-row strong,
.survey-period-row strong,
.survey-comment-list strong {
    color: #102743;
}

.survey-rank-row span,
.survey-period-row span,
.survey-period-row small,
.survey-comment-list span {
    color: #5b7288;
    display: block;
    font-size: 12px;
    font-weight: 700;
}

.survey-rank-row em {
    color: #235d8d;
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
}

.survey-rank-row progress,
.survey-rating-report progress {
    appearance: none;
    background: #eaf2f9;
    border: 0;
    border-radius: 999px;
    grid-column: 1 / -1;
    height: 9px;
    overflow: hidden;
    width: 100%;
}

.survey-rank-row progress::-webkit-progress-bar,
.survey-rating-report progress::-webkit-progress-bar {
    background: #eaf2f9;
}

.survey-rank-row progress::-webkit-progress-value,
.survey-rating-report progress::-webkit-progress-value {
    background: linear-gradient(90deg, #2f679a, #20a779);
    border-radius: 999px;
}

.survey-rank-row progress::-moz-progress-bar,
.survey-rating-report progress::-moz-progress-bar {
    background: linear-gradient(90deg, #2f679a, #20a779);
    border-radius: 999px;
}

.survey-period-row,
.survey-mini-bars div,
.survey-rating-report div {
    background: #f8fbff;
    border: 1px solid #dbe8f3;
    border-radius: 8px;
    display: grid;
    gap: 5px;
    padding: 10px;
    position: relative;
}

.survey-period-row i,
.survey-mini-bars i {
    background: linear-gradient(90deg, #2f679a, #8bbce9);
    border-radius: 999px;
    display: block;
    height: 6px;
    min-width: 6px;
}

.survey-mini-bars div {
    grid-template-columns: minmax(0, 1fr) auto;
}

.survey-mini-bars i {
    grid-column: 1 / -1;
}

.survey-mini-bars span,
.survey-rating-report span {
    color: #5b7288;
    font-size: 12px;
    font-weight: 800;
}

.survey-mini-bars b {
    color: #123a5a;
}

.survey-tag-list {
    align-content: start;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.survey-tag-list span {
    align-items: center;
    background: #f7fbff;
    border: 1px solid #d6e5f1;
    border-radius: 999px;
    color: #254864;
    display: inline-flex;
    gap: 8px;
    padding: 7px 10px;
}

.survey-tag-list b {
    font-size: 12px;
}

.survey-tag-list em {
    background: #e8f1f8;
    border-radius: 999px;
    color: #235d8d;
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
    padding: 2px 7px;
}

.survey-comment-list div {
    background: #f8fbff;
    border: 1px solid #dce8f2;
    border-radius: 8px;
    padding: 11px 12px;
}

.survey-comment-list p {
    color: #334a60;
    margin: 7px 0 0;
}

.survey-hero-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
}

.survey-overview-panel {
    background:
        linear-gradient(135deg, rgba(47, 103, 154, 0.08), rgba(32, 167, 121, 0.08)),
        #ffffff;
}

.survey-summary-board {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.survey-summary-board > div {
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid #d6e5f1;
    border-radius: 8px;
    display: grid;
    gap: 4px;
    min-height: 94px;
    padding: 14px;
}

.survey-summary-board span,
.survey-summary-board small {
    color: #557086;
    font-size: 12px;
    font-weight: 800;
}

.survey-summary-board strong {
    color: #123a5a;
    font-size: 24px;
    line-height: 1.05;
}

.survey-donut-wrap {
    align-items: center;
    display: grid;
    gap: 18px;
    grid-template-columns: 180px minmax(0, 1fr);
}

.survey-donut {
    align-items: center;
    aspect-ratio: 1;
    background: var(--survey-donut);
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px rgba(18, 58, 90, 0.06), 0 14px 32px rgba(31, 62, 94, 0.12);
    display: grid;
    justify-items: center;
    place-content: center;
    position: relative;
}

.survey-donut::after {
    background: #ffffff;
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px #dbe8f3;
    content: "";
    inset: 34px;
    position: absolute;
}

.survey-donut span,
.survey-donut small {
    position: relative;
    z-index: 1;
}

.survey-donut span {
    color: #123a5a;
    font-size: 34px;
    font-weight: 900;
    line-height: 1;
}

.survey-donut small {
    color: #557086;
    font-size: 12px;
    font-weight: 800;
    margin-top: 4px;
}

.survey-donut-legend {
    display: grid;
    gap: 8px;
}

.survey-donut-legend span {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-columns: 16px minmax(40px, auto) minmax(0, 1fr);
}

.survey-donut-legend span::before {
    background: var(--legend-color);
    border-radius: 999px;
    content: "";
    height: 10px;
    width: 10px;
}

.survey-donut-legend b {
    color: #123a5a;
    font-size: 12px;
}

.survey-donut-legend em {
    color: #557086;
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
}

.survey-chart-card {
    overflow: hidden;
}

.survey-bar-chart,
.survey-year-bars,
.survey-rating-lanes {
    display: grid;
    gap: 10px;
}

.survey-bar-row {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: 28px minmax(190px, 0.95fr) minmax(130px, 1.3fr) 48px;
}

.survey-rank-number {
    align-items: center;
    background: #eef6ff;
    border: 1px solid #cfe1f2;
    border-radius: 8px;
    color: #235d8d;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.survey-bar-info {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.survey-bar-info strong {
    color: #102743;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.survey-bar-info small {
    color: #60778b;
    font-size: 12px;
    font-weight: 800;
}

.survey-bar-track,
.survey-year-track,
.survey-rating-lane span {
    background: #eaf2f9;
    border-radius: 999px;
    height: 12px;
    overflow: hidden;
}

.survey-bar-track i,
.survey-year-track i,
.survey-rating-lane i {
    background: linear-gradient(90deg, #2f679a, #20a779);
    border-radius: 999px;
    display: block;
    height: 100%;
    min-width: 5px;
}

.survey-bar-row > b {
    color: #235d8d;
    font-size: 12px;
    text-align: right;
}

.survey-year-row {
    align-items: center;
    background: #f8fbff;
    border: 1px solid #dbe8f3;
    border-radius: 8px;
    display: grid;
    gap: 8px 12px;
    grid-template-columns: 98px minmax(0, 1fr) auto;
    padding: 12px;
}

.survey-year-row strong {
    color: #102743;
}

.survey-year-row span,
.survey-year-row small {
    color: #5b7288;
    display: block;
    font-size: 12px;
    font-weight: 800;
}

.survey-column-chart {
    align-items: end;
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(auto-fit, minmax(42px, 1fr));
    min-height: 220px;
    padding-top: 18px;
}

.survey-column {
    align-items: center;
    display: grid;
    gap: 7px;
    grid-template-rows: auto 150px auto;
    justify-items: center;
}

.survey-column b {
    color: #123a5a;
    font-size: 12px;
}

.survey-column i {
    align-self: end;
    background: linear-gradient(180deg, #20a779, #2f679a);
    border-radius: 8px 8px 3px 3px;
    display: block;
    min-height: 8px;
    width: min(32px, 72%);
}

.survey-column span {
    color: #5b7288;
    font-size: 12px;
    font-weight: 900;
}

.survey-rating-lane {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: 34px minmax(0, 1fr) 42px;
}

.survey-rating-lane strong {
    align-items: center;
    background: color-mix(in srgb, var(--rating-color) 14%, white);
    border: 1px solid color-mix(in srgb, var(--rating-color) 36%, white);
    border-radius: 8px;
    color: #123a5a;
    display: inline-flex;
    height: 30px;
    justify-content: center;
}

.survey-rating-lane i {
    background: var(--rating-color);
}

.survey-rating-lane b {
    color: #123a5a;
    font-size: 12px;
    text-align: right;
}

.survey-tag-list span {
    background:
        linear-gradient(90deg, rgba(47, 103, 154, 0.12) var(--tag-strength, 20%), rgba(248, 251, 255, 1) var(--tag-strength, 20%)),
        #f8fbff;
    border-radius: 8px;
    min-width: min(100%, 180px);
}

@media (max-width: 1100px) {
    .survey-hero-grid,
    .survey-dashboard-grid,
    .survey-dashboard-grid.is-three {
        grid-template-columns: 1fr;
    }

    .survey-donut-wrap {
        grid-template-columns: 160px minmax(0, 1fr);
    }
}

@media (max-width: 820px) {
    .external-survey-head {
        grid-template-columns: 1fr;
        padding: 24px 22px;
        text-align: center;
    }

    .external-survey-head img {
        justify-self: center;
    }

    .external-survey-form {
        padding: 22px 18px 22px;
    }

    .survey-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .survey-summary-board,
    .survey-donut-wrap,
    .survey-bar-row,
    .survey-year-row {
        grid-template-columns: 1fr;
    }

    .survey-donut {
        justify-self: center;
        max-width: 190px;
        width: 100%;
    }
}

@media (max-width: 560px) {
    .external-survey-shell {
        padding: 12px;
    }

    .external-survey-card {
        border-radius: 14px;
    }

    .external-survey-head {
        padding: 22px 18px;
    }

    .external-survey-head h1 {
        font-size: 24px;
    }

    .survey-section {
        border-left-width: 3px;
        padding: 18px 14px;
    }

    .survey-section-head {
        align-items: flex-start;
    }

    .rating-options {
        gap: 7px;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .rating-options label {
        min-height: 72px;
        padding: 9px 5px;
    }

    .rating-options strong {
        font-size: 16px;
        height: 28px;
        width: 28px;
    }

    .rating-options em {
        font-size: 10px;
    }

    .survey-actions,
    .survey-actions .btn {
        width: 100%;
    }

    .survey-metrics {
        grid-template-columns: 1fr;
    }
}

.platform-alert-stack {
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid #cfe0ee;
    border-radius: 10px;
    box-shadow: 0 16px 34px rgba(31, 62, 94, 0.16);
    gap: 0;
    overflow: hidden;
}

.platform-alert-head {
    align-items: center;
    background: #f6fbff;
    border-bottom: 1px solid #dceaf5;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) auto auto;
    padding: 8px;
}

.platform-alert-toggle {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--blue-900);
    cursor: pointer;
    display: grid;
    gap: 8px;
    grid-template-columns: 32px minmax(0, 1fr);
    padding: 0;
    text-align: left;
}

.platform-alert-head-icon {
    background: #eef6ff;
    border: 1px solid #d5e8f8;
    border-radius: 8px;
    box-sizing: border-box;
    color: var(--blue-800);
    fill: none;
    height: 32px;
    padding: 7px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 32px;
}

.platform-alert-toggle strong,
.platform-alert-toggle small {
    display: block;
}

.platform-alert-toggle strong {
    color: #102743;
    font-size: 13px;
    line-height: 1.2;
}

.platform-alert-toggle small {
    color: #526981;
    font-size: 11px;
    margin-top: 2px;
}

.platform-alert-view,
.platform-alert-dismiss {
    align-items: center;
    border: 1px solid #c9ddec;
    border-radius: 8px;
    color: var(--blue-900);
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    height: 32px;
    justify-content: center;
    text-decoration: none;
}

.platform-alert-view {
    background: #ffffff;
    padding: 0 10px;
}

.platform-alert-view:hover {
    background: #eef6ff;
    text-decoration: none;
}

.platform-alert-dismiss {
    background: #ffffff;
    cursor: pointer;
    padding: 0;
    width: 32px;
}

.platform-alert-dismiss:hover {
    background: #fff5f4;
    border-color: #f4c3be;
    color: var(--danger);
}

.platform-alert-dismiss-icon {
    fill: none;
    height: 16px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.2;
    width: 16px;
}

.platform-alert-items {
    display: grid;
    gap: 6px;
    max-height: min(390px, calc(100vh - 168px));
    overflow: auto;
    padding: 8px;
}

.platform-alert-stack .platform-alert-card {
    box-shadow: none;
}

.platform-alert-stack.is-collapsed {
    width: min(220px, calc(100vw - 36px));
}

.platform-alert-stack.is-collapsed .platform-alert-head {
    border-bottom: 0;
}

.platform-alert-stack.is-collapsed .platform-alert-items {
    display: none;
}

.platform-alert-stack.is-collapsed .platform-alert-toggle {
    grid-template-columns: 28px minmax(0, 1fr);
}

.platform-alert-stack.is-collapsed .platform-alert-head-icon {
    height: 28px;
    padding: 6px;
    width: 28px;
}

.platform-alert-stack.is-collapsed .platform-alert-view {
    display: none;
}

.data-table th {
    background: #f4f8fb;
    color: #405366;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: uppercase;
}

.sort-link {
    align-items: center;
    color: inherit;
    display: inline-flex;
    gap: 7px;
    min-height: 24px;
}

.sort-link:hover {
    color: var(--blue-900);
    text-decoration: none;
}

.table-main-link {
    color: var(--primary);
    display: inline-block;
    font-weight: 800;
    text-decoration: none;
}

.table-main-link:hover {
    text-decoration: underline;
}

.sort-link.is-active {
    color: var(--blue-900);
    font-weight: 700;
}

.sort-indicator {
    display: inline-grid;
    gap: 2px;
    height: 13px;
    width: 9px;
}

.sort-indicator::before,
.sort-indicator::after {
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    content: "";
    display: block;
    opacity: 0.38;
}

.sort-indicator::before {
    border-bottom: 5px solid currentColor;
}

.sort-indicator::after {
    border-top: 5px solid currentColor;
}

.sort-link.is-asc .sort-indicator::before,
.sort-link.is-desc .sort-indicator::after {
    opacity: 1;
}

.data-table tbody tr:hover {
    background: #f8fbfe;
}

.strong-link {
    display: block;
    color: var(--ink);
    font-weight: 600;
}

.badge {
    display: inline-flex;
    min-width: 34px;
    min-height: 24px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--blue-100);
    border: 1px solid #cbdbea;
    color: var(--blue-900);
    font-weight: 600;
}

.role-badge {
    align-items: center;
    border: 1px solid #cbdbea;
    border-radius: 8px;
    color: var(--blue-900);
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    justify-content: center;
    line-height: 1.2;
    min-height: 30px;
    min-width: 104px;
    padding: 0 12px;
    white-space: nowrap;
}

.role-badge::before {
    border-radius: 999px;
    content: "";
    height: 7px;
    margin-right: 8px;
    width: 7px;
}

.role-badge.role-admin {
    background: #fffdf0;
    border-color: var(--yellow-border);
}

.role-badge.role-admin::before {
    background: var(--yellow);
}

.role-badge.role-analista {
    background: #eef6ff;
}

.role-badge.role-analista::before {
    background: #6da9d8;
}

.role-badge.role-consulta {
    background: #eefbf5;
    border-color: #b8e5cf;
    color: #0d6c45;
}

.role-badge.role-consulta::before {
    background: #19a974;
}

.year-badge {
    align-items: center;
    background: #fffdf0;
    border: 1px solid var(--yellow-border);
    border-radius: 999px;
    color: #214f78;
    display: inline-flex;
    font-size: 12px;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    gap: 7px;
    justify-content: center;
    line-height: 1;
    min-height: 28px;
    min-width: 68px;
    padding: 6px 11px;
    white-space: nowrap;
}

.year-badge::before {
    background: var(--yellow);
    border-radius: 999px;
    content: "";
    height: 8px;
    width: 8px;
}

.year-badge.year-color-0 {
    background: #edf7ff;
    border-color: #b9d8f2;
    color: #174c78;
}

.year-badge.year-color-0::before {
    background: #2f6fa5;
}

.year-badge.year-color-1 {
    background: #fff9d9;
    border-color: #e8c83a;
    color: #5f4b00;
}

.year-badge.year-color-1::before {
    background: var(--yellow);
}

.year-badge.year-color-2 {
    background: #effaf5;
    border-color: #b7e3cf;
    color: #0f684b;
}

.year-badge.year-color-2::before {
    background: #16a47d;
}

.year-badge.year-color-3 {
    background: #fff1ed;
    border-color: #f3c6b9;
    color: #8a3823;
}

.year-badge.year-color-3::before {
    background: #d96b45;
}

.year-badge.year-color-4 {
    background: #f2f0ff;
    border-color: #cfc8f5;
    color: #473f8a;
}

.year-badge.year-color-4::before {
    background: #6b61bd;
}

.year-badge.year-color-5 {
    background: #eef9fb;
    border-color: #b9dfe6;
    color: #176070;
}

.year-badge.year-color-5::before {
    background: #1e8fa3;
}

.year-badge.year-color-6 {
    background: #fff4e3;
    border-color: #efc88f;
    color: #754b10;
}

.year-badge.year-color-6::before {
    background: #d99221;
}

.year-badge.year-color-7 {
    background: #f5f7fa;
    border-color: #cbd6e2;
    color: #34485c;
}

.year-badge.year-color-7::before {
    background: #70859a;
}

.year-badge.is-empty {
    background: #f7fbff;
    border-color: #d9e5ef;
    color: var(--muted);
    font-weight: 650;
}

.year-badge.is-empty::before {
    background: #9eb4c8;
}

.status-badge {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 650;
    gap: 7px;
    min-height: 26px;
    padding: 5px 10px;
    white-space: nowrap;
}

.status-badge::before {
    border-radius: 50%;
    content: "";
    display: inline-block;
    height: 7px;
    width: 7px;
}

.status-badge.status-activo {
    background: #ecf7f0;
    border: 1px solid #bfe4cc;
    color: var(--success);
}

.status-badge.status-activo::before {
    background: #1f9d55;
}

.status-badge.status-inactivo {
    background: #fff1f0;
    border: 1px solid #f1c3bf;
    color: var(--danger);
}

.status-badge.status-inactivo::before {
    background: var(--danger);
}

.status-badge.status-pendiente {
    background: #fff8df;
    border: 1px solid #f4d568;
    color: #8a5a00;
}

.status-badge.status-pendiente::before {
    background: var(--yellow);
}

.status-badge.status-warning {
    background: var(--yellow-soft);
    border: 1px solid var(--yellow-border);
    color: var(--yellow-ink);
}

.status-badge.status-warning::before {
    background: var(--yellow);
}

.sr-only {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.colegio-status-quick-form {
    display: inline-flex;
    margin: 0;
}

.colegio-status-select {
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
    background-position: calc(100% - 13px) 50%, calc(100% - 8px) 50%;
    background-repeat: no-repeat;
    background-size: 5px 5px, 5px 5px;
    border-radius: 999px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    min-height: 30px;
    padding: 5px 26px 5px 12px;
    white-space: nowrap;
}

.colegio-status-select.status-activo {
    background-color: #ecf7f0;
    border: 1px solid #bfe4cc;
    color: var(--success);
}

.colegio-status-select.status-warning {
    background-color: var(--yellow-soft);
    border: 1px solid var(--yellow-border);
    color: var(--yellow-ink);
}

.colegio-status-select.status-inactivo {
    background-color: #fff1f0;
    border: 1px solid #f1c3bf;
    color: var(--danger);
}

.colegio-status-select:hover,
.colegio-status-select:focus {
    box-shadow: 0 0 0 3px rgba(47, 103, 154, 0.12);
    outline: none;
}

.colegio-status-select:disabled {
    cursor: progress;
    opacity: .72;
}

.colegio-results-table tr {
    transition: background .22s ease, opacity .24s ease, transform .24s ease;
}

.colegio-results-table tr.is-saving-status {
    background: #f8fbff;
}

.colegio-results-table tr.is-status-updated {
    background: #ecfdf5;
}

.colegio-results-table tr.is-moving-status {
    opacity: 0;
    transform: translateX(14px);
}

.colegio-inline-toast {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 80;
    max-width: min(360px, calc(100vw - 32px));
    border: 1px solid #bfe4cc;
    border-radius: 10px;
    background: #ecfdf5;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .16);
    color: var(--success);
    font-size: 13px;
    font-weight: 750;
    padding: 12px 14px;
    transition: opacity .18s ease, transform .18s ease;
}

.colegio-inline-toast.is-error {
    border-color: #f1c3bf;
    background: #fff1f0;
    color: var(--danger);
}

.colegio-inline-toast.is-hiding {
    opacity: 0;
    transform: translateY(8px);
}

.status-badge.status-interesado {
    background: #fff9df;
    border: 1px solid #f1c84c;
    color: #8a6200;
}

.status-badge.status-interesado::before {
    background: #f0c800;
}

.status-badge.status-proceso {
    background: #eaf5ff;
    border: 1px solid #9dccf2;
    color: #1f5f93;
}

.status-badge.status-proceso::before {
    background: #2f8ed8;
}

.process-badge {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 750;
    gap: 7px;
    line-height: 1.15;
    min-height: 28px;
    padding: 5px 10px;
    white-space: nowrap;
}

.process-badge::before {
    border-radius: 50%;
    content: "";
    flex: 0 0 auto;
    height: 7px;
    width: 7px;
}

.process-sin-iniciar {
    background: #f3f7fb;
    border: 1px solid #cbdbea;
    color: #40566d;
}

.process-sin-iniciar::before {
    background: #7e93a8;
}

.process-solicitado {
    background: var(--yellow-soft);
    border: 1px solid var(--yellow-border);
    color: var(--yellow-ink);
}

.process-solicitado::before {
    background: var(--yellow);
}

.process-espera {
    background: #eef6ff;
    border: 1px solid #bfdbf4;
    color: var(--blue-900);
}

.process-espera::before {
    background: #3f8ed3;
}

.process-aprobado {
    background: #ecf7f0;
    border: 1px solid #bfe4cc;
    color: var(--success);
}

.process-aprobado::before {
    background: #1f9d55;
}

.process-denegado {
    background: #fff1f0;
    border: 1px solid #f1c3bf;
    color: var(--danger);
}

.process-denegado::before {
    background: var(--danger);
}

.user-form-panel {
    margin-bottom: 18px;
}

.user-form-grid {
    display: grid;
    gap: 0 14px;
    grid-template-columns: repeat(3, minmax(180px, 1fr));
}

.user-modal-dialog {
    max-width: 980px;
    width: min(980px, calc(100vw - 48px));
}

.user-modal-form {
    padding: 20px 22px 0;
}

.user-modal-form .user-form-grid {
    gap: 16px;
    grid-template-columns: repeat(2, minmax(240px, 1fr));
}

.user-edit-layout {
    align-items: start;
    display: grid;
    gap: 18px;
    grid-template-columns: 230px minmax(0, 1fr);
}

.user-photo-card {
    background: #f7fbff;
    border: 1px solid #d7e7f3;
    border-radius: 8px;
    display: grid;
    gap: 12px;
    padding: 14px;
}

.user-photo-preview {
    align-items: center;
    background: linear-gradient(135deg, #eaf4fd, #ffffff);
    border: 1px solid #cbdbea;
    border-radius: 16px;
    color: var(--blue-900);
    display: inline-flex;
    font-size: 34px;
    font-weight: 800;
    height: 148px;
    justify-content: center;
    overflow: hidden;
    width: 100%;
}

.user-photo-preview img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.user-photo-upload {
    display: grid;
    gap: 7px;
}

.user-photo-upload > span {
    color: #40566d;
    font-size: 13px;
    font-weight: 700;
}

.user-photo-picker {
    align-items: center;
    background: var(--blue-800);
    border: 1px solid var(--blue-800);
    border-radius: 10px;
    box-shadow: 0 8px 16px rgba(47, 103, 154, 0.16);
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 8px;
    justify-content: center;
    min-height: 36px;
    padding: 0 14px;
    position: relative;
    text-align: center;
    transition: background 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
    width: 100%;
}

.user-photo-picker::before {
    align-items: center;
    background: rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    content: "+";
    display: inline-flex;
    font-size: 14px;
    font-weight: 900;
    height: 18px;
    justify-content: center;
    line-height: 1;
    width: 18px;
}

.user-photo-picker:hover {
    background: #24577f;
    border-color: #24577f;
    transform: translateY(-1px);
}

.user-photo-picker span {
    color: #ffffff;
    line-height: 1;
    white-space: nowrap;
}

.user-modal-form .user-photo-picker input[type="file"],
.user-form .user-photo-picker input[type="file"],
.user-photo-picker input[type="file"] {
    display: none !important;
}

.user-photo-name {
    background: #ffffff;
    border: 1px solid #d7e7f3;
    border-radius: 8px;
    color: #526981;
    display: block;
    font-size: 11px;
    font-style: normal;
    line-height: 1.25;
    max-width: 100%;
    overflow: hidden;
    padding: 7px 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-photo-card small {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.35;
}

.user-modal-form label {
    color: #40566d;
    font-size: 13px;
    font-weight: 700;
    margin: 0;
}

.user-modal-form .user-photo-picker {
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
    margin: 0;
}

.user-modal-form input,
.user-modal-form select {
    background: #fbfdff;
    border-color: #cbdbea;
    border-radius: 8px;
    min-height: 42px;
}

.user-modal-form .password-field {
    grid-template-columns: minmax(0, 1fr) 44px;
}

.user-modal-form .password-field input {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
}

.user-modal-form .password-toggle {
    border-color: #cbdbea;
    border-radius: 0 8px 8px 0;
    min-height: 42px;
}

.user-modal-form input:focus,
.user-modal-form select:focus {
    border-color: var(--blue-800);
    box-shadow: 0 0 0 3px rgba(47, 103, 154, 0.12);
    outline: none;
}

.user-modal-form .compact-actions {
    background: #ffffff;
    border-top: 1px solid #d9e5ef;
    bottom: 0;
    margin: 18px -22px 0;
    padding: 14px 22px 18px;
    position: sticky;
}

.user-table-person {
    align-items: center;
    display: flex;
    gap: 10px;
    min-width: 190px;
}

.user-table-person > span:last-child {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.user-table-person small {
    color: var(--muted);
    text-transform: capitalize;
}

.user-mini-avatar {
    align-items: center;
    background: #eaf4fd;
    border: 1px solid #cbdbea;
    border-radius: 999px;
    color: var(--blue-900);
    display: inline-flex;
    flex: 0 0 38px;
    font-size: 13px;
    font-weight: 800;
    height: 38px;
    justify-content: center;
    overflow: hidden;
    width: 38px;
}

.user-mini-avatar img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.user-form input,
.user-form select {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 6px;
    color: var(--ink);
    display: block;
    font: inherit;
    font-weight: 400;
    margin-top: 6px;
    min-height: 40px;
    padding: 0 12px;
    width: 100%;
}

.password-field {
    align-items: stretch;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    margin-top: 6px;
}

.user-form .password-field input {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    margin-top: 0;
}

.password-toggle {
    align-items: center;
    background: #f7fbff;
    border: 1px solid var(--line);
    border-left: 0;
    border-radius: 0 6px 6px 0;
    color: var(--blue-800);
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    min-height: 40px;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.password-toggle:hover,
.password-toggle.is-visible {
    background: #edf5fb;
    color: var(--blue-900);
}

.password-toggle.is-visible {
    box-shadow: inset 0 -2px 0 var(--yellow);
}

.web-site-form .web-password-field {
    margin-top: 6px;
}

.web-site-form .web-password-field input {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    margin-top: 0;
}

.web-site-form .web-password-field .password-toggle {
    border-color: #cfe0ee;
    min-height: 40px;
}

.correo-password-field {
    margin-top: 6px;
}

.correo-password-field input {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    margin-top: 0;
}

.correo-password-field .password-toggle {
    border-color: #cfe0ee;
    min-height: 40px;
}

.field-hint {
    color: #60758b;
    display: block;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
    margin-top: 6px;
}

.password-state {
    align-items: center;
    background: #f7fbff;
    border: 1px solid #cbdbea;
    border-radius: 999px;
    color: #27445f;
    display: inline-flex;
    font-size: 12px;
    font-weight: 650;
    gap: 7px;
    min-height: 28px;
    padding: 5px 10px;
    white-space: nowrap;
}

.password-state-icon {
    color: var(--blue-800);
    fill: none;
    flex: 0 0 15px;
    height: 15px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 15px;
}

.user-form select:disabled {
    background: #f4f8fb;
    color: var(--muted);
}

.form-note {
    background: #f7fbff;
    border: 1px solid #d9e8f5;
    border-radius: 8px;
    color: var(--muted);
    margin: 4px 0 14px;
    padding: 10px 12px;
}

.compact-actions {
    margin-bottom: 0;
}

.table-actions {
    align-items: center;
    display: flex;
    gap: 8px;
}

.table-actions form {
    margin: 0;
}

.empty {
    text-align: center;
    color: var(--muted);
}

.detail-grid,
.import-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(260px, 1fr));
    gap: 16px;
}

.panel {
    box-shadow: 0 10px 24px rgba(31, 62, 94, 0.04);
    padding: 18px;
}

dl {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 10px 16px;
    margin: 0;
}

dt {
    color: var(--muted);
    font-weight: 600;
}

dd {
    margin: 0;
}

.clean-list {
    margin: 0;
    padding-left: 18px;
    color: #405366;
}

.doc-view {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 8px;
    line-height: 1.55;
    max-width: 1080px;
    padding: 26px;
}

.doc-view h1 {
    color: var(--blue-900);
    font-size: 26px;
    margin: 0 0 18px;
}

.doc-view h2 {
    border-top: 1px solid var(--line);
    color: var(--blue-900);
    font-size: 20px;
    margin: 26px 0 10px;
    padding-top: 18px;
}

.doc-view h3 {
    color: #31465a;
    font-size: 16px;
    margin: 18px 0 8px;
}

.doc-view p {
    margin: 7px 0;
}

.doc-bullet {
    padding-left: 18px;
    position: relative;
}

.doc-bullet::before {
    content: "";
    background: var(--blue-800);
    border-radius: 50%;
    height: 5px;
    left: 2px;
    position: absolute;
    top: 10px;
    width: 5px;
}

.doc-view pre {
    background: #f8fafc;
    border: 1px solid var(--line);
    border-radius: 6px;
    overflow-x: auto;
    padding: 8px 10px;
}

.alert {
    padding: 12px 14px;
    border-radius: 6px;
    margin-bottom: 16px;
    background: #eef5fb;
    border: 1px solid #c8dced;
}

.alert-success {
    color: var(--success);
    background: #ecf7f0;
    border-color: #bfe4cc;
}

.alert-error {
    color: var(--danger);
    background: #fff1f0;
    border-color: #f1c3bf;
}

.auth-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background:
        linear-gradient(135deg, rgba(47, 103, 154, 0.95), rgba(33, 79, 120, 0.96)),
        #2f679a;
}

.auth-page-modern {
    background:
        radial-gradient(circle at 10% 12%, rgba(255, 215, 18, 0.16), transparent 26%),
        linear-gradient(135deg, #eef6fb 0%, #ddebf5 48%, #d2e3ee 100%);
    color: var(--ink);
    overflow: auto;
    position: relative;
}

.auth-shell {
    display: grid;
    grid-template-columns: minmax(390px, 1.05fr) minmax(420px, 0.95fr);
    max-width: 1120px;
    min-height: 620px;
    overflow: hidden;
    width: min(92vw, 1120px);
    background: #ffffff;
    border: 1px solid rgba(154, 184, 209, 0.48);
    border-radius: 20px;
    box-shadow: 0 28px 80px rgba(37, 78, 111, 0.2);
}

.auth-visual {
    align-items: stretch;
    background:
        linear-gradient(112deg, transparent 68%, rgba(255, 255, 255, 0.09) 68%, rgba(255, 255, 255, 0.09) 71%, transparent 71%),
        linear-gradient(135deg, #235b8d 0%, #3173aa 53%, #4a97d2 100%);
    color: #ffffff;
    display: flex;
    min-height: 100%;
    padding: 38px 36px 30px;
    position: relative;
}

.auth-visual::before {
    display: none;
}

.auth-visual::after {
    display: none;
}

.auth-visual-copy {
    align-content: start;
    display: grid;
    gap: 0;
    max-width: none;
    position: relative;
    z-index: 1;
    width: 100%;
}

.auth-visual-topline {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 28px;
}

.auth-visual-topline img {
    background: #0b6798;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 2px;
    box-shadow: 0 14px 30px rgba(4, 44, 78, 0.18);
    height: 58px;
    object-fit: contain;
    padding: 9px 12px;
    width: 174px;
}

.auth-visual-topline span,
.auth-card-kicker {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0;
    min-height: 34px;
    padding: 0 14px;
    text-transform: none;
}

.auth-visual-topline span {
    background: rgba(255, 255, 255, 0.13);
    border: 1px solid rgba(255, 255, 255, 0.35);
    color: #ffffff;
}

.auth-visual-kicker {
    color: #ffdd2f;
    display: block;
    font-size: 13px;
    font-weight: 800;
    margin: 2px 0 18px;
}

.auth-visual-copy h2 {
    color: #ffffff;
    font-size: 39px;
    line-height: 1.12;
    margin: 0 0 14px;
    max-width: 480px;
}

.auth-visual-copy p {
    color: rgba(255, 255, 255, 0.88);
    font-size: 16px;
    line-height: 1.5;
    margin: 0;
    max-width: 510px;
}

.auth-visual-preview {
    animation: authPreviewFloat 5.8s ease-in-out infinite;
    background: linear-gradient(135deg, rgba(232, 243, 251, 0.95), rgba(205, 225, 239, 0.98));
    border: 1px solid rgba(255, 255, 255, 0.42);
    border-radius: 16px;
    box-shadow: 0 18px 42px rgba(5, 44, 77, 0.2);
    justify-self: center;
    margin: 36px 0 30px;
    min-height: 178px;
    overflow: hidden;
    padding: 20px;
    position: relative;
    width: min(340px, 100%);
}

.auth-visual-preview::before {
    animation: authPreviewLightSweep 5.8s ease-in-out infinite;
    background: linear-gradient(104deg, transparent 28%, rgba(255, 255, 255, 0.46) 48%, transparent 68%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    transform: translateX(-128%);
    z-index: 2;
}

.auth-visual-preview > * {
    position: relative;
    z-index: 1;
}

.auth-preview-head {
    align-items: center;
    display: flex;
    gap: 12px;
    margin-bottom: 18px;
}

.auth-preview-head img {
    background: #096997;
    height: 42px;
    object-fit: contain;
    padding: 7px 9px;
    width: 126px;
}

.auth-preview-head span {
    animation: authPreviewStatus 2.9s ease-in-out infinite;
    background: linear-gradient(90deg, #d7e8f5 0%, #eef8ff 48%, #d7e8f5 100%);
    background-size: 200% 100%;
    border-radius: 999px;
    display: block;
    height: 15px;
    width: 78px;
}

.auth-preview-line {
    animation: authPreviewLinePulse 2.9s ease-in-out infinite;
    background: rgba(174, 205, 225, 0.48);
    border-radius: 999px;
    height: 10px;
    margin-top: 12px;
    width: 72%;
}

.auth-visual-preview > .auth-preview-line:nth-child(3) {
    animation-delay: 0.22s;
}

.auth-visual-preview > .auth-preview-line:nth-child(4) {
    animation-delay: 0.44s;
}

.auth-preview-line.is-wide {
    background: #2f679a;
    height: 10px;
    width: 78%;
}

.auth-preview-line.is-soft {
    width: 54%;
}

.auth-preview-check {
    animation: authPreviewCheckPulse 2.9s ease-in-out infinite;
    align-items: center;
    background: #20a878;
    border-radius: 50%;
    bottom: 20px;
    box-shadow: 0 12px 24px rgba(24, 136, 96, 0.32);
    color: #ffffff;
    display: flex;
    font-size: 18px;
    font-weight: 800;
    height: 50px;
    justify-content: center;
    line-height: 1;
    position: absolute;
    right: 20px;
    width: 50px;
}

.auth-preview-check::after {
    animation: authPreviewCheckRing 2.9s ease-out infinite;
    border: 2px solid rgba(32, 168, 120, 0.42);
    border-radius: inherit;
    content: "";
    inset: -5px;
    opacity: 0;
    pointer-events: none;
    position: absolute;
}

.auth-visual-stats {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: auto;
}

.auth-visual-stats span {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 8px;
    color: rgba(255, 255, 255, 0.86);
    display: grid;
    font-size: 11px;
    font-weight: 700;
    min-height: 60px;
    padding: 10px 12px;
}

.auth-visual-stats strong {
    color: #ffffff;
    display: block;
    font-size: 22px;
    line-height: 1;
}

.auth-panel {
    align-items: center;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    display: flex;
    flex-direction: column;
    gap: 12px;
    isolation: isolate;
    justify-content: center;
    overflow: hidden;
    padding: 38px 42px;
    position: relative;
}

.auth-panel::before {
    animation: authPanelAuraFloat 9s ease-in-out infinite;
    background: conic-gradient(from 210deg, rgba(44, 127, 191, 0.02), rgba(71, 178, 224, 0.3), rgba(255, 212, 61, 0.23), rgba(44, 127, 191, 0.02));
    border-radius: 46% 54% 58% 42%;
    content: "";
    height: 270px;
    opacity: 0.75;
    position: absolute;
    right: -150px;
    top: 9%;
    width: 270px;
    z-index: 0;
}

.auth-panel::after {
    animation: authPanelSparkle 5.5s ease-in-out infinite;
    background: #ffd63e;
    border-radius: 50%;
    box-shadow: -36px -38px 0 -2px rgba(36, 142, 198, 0.48), -74px 28px 0 -3px rgba(29, 173, 122, 0.42), -112px -14px 0 -4px rgba(255, 214, 62, 0.48), -30px 72px 0 -4px rgba(58, 142, 206, 0.28);
    content: "";
    height: 8px;
    opacity: 0.88;
    position: absolute;
    right: 34px;
    top: 57%;
    width: 8px;
    z-index: 0;
}

.auth-panel > * {
    position: relative;
    z-index: 1;
}

.auth-card {
    width: 100%;
    max-width: 420px;
    padding: 26px;
    box-shadow: 0 20px 45px rgba(16, 42, 66, 0.22);
}

.auth-card-modern {
    background: #ffffff;
    border: 1px solid #cfe0ee;
    border-radius: 16px;
    box-shadow: 0 20px 48px rgba(22, 60, 91, 0.11);
    max-width: 488px;
    padding: 30px 28px;
}

.auth-logo {
    display: block;
    height: auto;
    margin: 0 auto 16px;
    max-width: 210px;
    width: 70%;
}

.auth-card h1,
.auth-card p {
    text-align: left;
}

.auth-card p {
    color: var(--muted);
}

.auth-card-kicker {
    background: #eef6ff;
    color: #174a75;
    margin-bottom: 12px;
}

.auth-card-modern h1 {
    color: #08294a;
    font-size: 31px;
    line-height: 1.1;
    margin: 0 0 10px;
}

.auth-card-modern p {
    color: #526981;
    font-size: 15px;
    line-height: 1.45;
    margin-bottom: 28px;
}

.auth-card-modern label {
    color: #0d2d4d;
    font-size: 13px;
    font-weight: 700;
}

.auth-card-modern input[type="text"],
.auth-card-modern input[type="email"],
.auth-card-modern input[type="password"] {
    background: #f4f8fc;
    border-color: #c7d9ea;
    border-radius: 10px;
    color: var(--ink);
    min-height: 48px;
}

.auth-card-modern .auth-password-field {
    display: block;
    grid-template-columns: 1fr;
    position: relative;
}

.auth-card-modern .auth-password-field input[type="password"],
.auth-card-modern .auth-password-field input[type="text"] {
    border-bottom-right-radius: 10px;
    border-top-right-radius: 10px;
    margin-top: 0;
    min-width: 0;
    padding-right: 52px;
    width: 100%;
}

.auth-card-modern .auth-password-field .password-toggle {
    align-items: center;
    background: #eef6ff;
    border: 1px solid #c7d9ea;
    border-radius: 10px;
    color: #174a75;
    display: flex;
    font-size: 0;
    height: 36px;
    justify-content: center;
    min-height: 36px;
    padding: 0;
    position: absolute;
    right: 6px;
    top: 6px;
    width: 36px;
}

.auth-card-modern .auth-password-field .password-toggle::before {
    content: "";
    background: currentColor;
    height: 18px;
    mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M2%2012s3-7%2010-7%2010%207%2010%207-3%207-10%207S2%2012%202%2012Z'/%3E%3Ccircle%20cx='12'%20cy='12'%20r='3'/%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M2%2012s3-7%2010-7%2010%207%2010%207-3%207-10%207S2%2012%202%2012Z'/%3E%3Ccircle%20cx='12'%20cy='12'%20r='3'/%3E%3C/svg%3E") center / contain no-repeat;
    width: 18px;
}

.auth-card-modern .auth-password-field .password-toggle.is-visible::before {
    mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M17.94%2017.94A10.94%2010.94%200%200%201%2012%2020C5%2020%202%2012%202%2012a18.45%2018.45%200%200%201%205.06-5.94M9.9%204.24A10.45%2010.45%200%200%201%2012%204c7%200%2010%208%2010%208a18.5%2018.5%200%200%201-2.16%203.19M14.12%2014.12A3%203%200%200%201%209.88%209.88M3%203l18%2018'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M17.94%2017.94A10.94%2010.94%200%200%201%2012%2020C5%2020%202%2012%202%2012a18.45%2018.45%200%200%201%205.06-5.94M9.9%204.24A10.45%2010.45%200%200%201%2012%204c7%200%2010%208%2010%208a18.5%2018.5%200%200%201-2.16%203.19M14.12%2014.12A3%203%200%200%201%209.88%209.88M3%203l18%2018'/%3E%3C/svg%3E");
}

.auth-card-modern .auth-password-field .password-toggle:disabled {
    cursor: not-allowed;
    opacity: 0.6;
}

.auth-card-modern input:focus {
    border-color: var(--blue-700);
    box-shadow: 0 0 0 3px rgba(47, 103, 154, 0.15);
    outline: none;
}

.auth-options {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin: 6px 0 16px;
}

.auth-options-end {
    justify-content: flex-end;
}

.auth-options a,
.auth-links a {
    color: var(--blue-800);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.auth-options a:hover,
.auth-links a:hover {
    color: var(--blue-900);
    text-decoration: underline;
}

.auth-submit {
    border-radius: 999px;
    box-shadow: 0 16px 28px rgba(47, 103, 154, 0.22);
    font-size: 15px;
    justify-content: center;
    margin-top: 6px;
    min-height: 46px;
    min-width: 100%;
}

.auth-card-footer {
    align-items: center;
    border-top: 1px solid #dce8f2;
    color: #63788d;
    display: flex;
    font-size: 12px;
    justify-content: space-between;
    margin-top: 28px;
    padding-top: 16px;
}

.auth-card-footer strong {
    color: #0d2d4d;
}

.auth-feature-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 488px;
    width: 100%;
}

.auth-feature-grid span {
    --auth-feature-accent: #2f79b1;
    --auth-feature-border: #bdd9ec;
    --auth-feature-soft: rgba(47, 121, 177, 0.18);
    animation: authFeatureRise 0.46s cubic-bezier(0.16, 1, 0.3, 1) both;
    background: linear-gradient(135deg, #ffffff 0%, #f2f8fe 100%);
    border: 1px solid #d2e2ef;
    border-radius: 14px;
    box-shadow: 0 8px 20px rgba(27, 76, 112, 0.06);
    color: #526981;
    display: grid;
    font-size: 12px;
    line-height: 1.3;
    min-height: 62px;
    overflow: hidden;
    padding: 12px 16px 12px 18px;
    position: relative;
    transition: border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
}

.auth-feature-grid span::before {
    background: var(--auth-feature-accent);
    border-radius: 0 999px 999px 0;
    content: "";
    height: 32px;
    left: 0;
    position: absolute;
    top: calc(50% - 16px);
    width: 4px;
}

.auth-feature-grid span::after {
    background: radial-gradient(circle, var(--auth-feature-soft) 0%, transparent 70%);
    border-radius: 50%;
    content: "";
    height: 72px;
    opacity: 0.72;
    position: absolute;
    right: -31px;
    top: -32px;
    transition: transform 0.3s ease;
    width: 72px;
}

.auth-feature-grid span:nth-child(1) {
    --auth-feature-accent: #1f79b5;
    --auth-feature-border: #a9d1eb;
    --auth-feature-soft: rgba(31, 121, 181, 0.18);
}

.auth-feature-grid span:nth-child(2) {
    --auth-feature-accent: #20a878;
    --auth-feature-border: #a8dfca;
    --auth-feature-soft: rgba(32, 168, 120, 0.18);
    animation-delay: 0.06s;
}

.auth-feature-grid span:nth-child(3) {
    --auth-feature-accent: #d99a13;
    --auth-feature-border: #f0d18d;
    --auth-feature-soft: rgba(217, 154, 19, 0.18);
    animation-delay: 0.12s;
}

.auth-feature-grid span:nth-child(4) {
    --auth-feature-accent: #8a63c9;
    --auth-feature-border: #cfbcec;
    --auth-feature-soft: rgba(138, 99, 201, 0.18);
    animation-delay: 0.18s;
}

.auth-feature-grid span:hover {
    border-color: var(--auth-feature-border);
    box-shadow: 0 13px 25px rgba(27, 76, 112, 0.12);
    transform: translateY(-3px);
}

.auth-feature-grid span:hover::after {
    transform: scale(1.22);
}

.auth-feature-grid strong {
    color: #123b60;
    display: block;
    font-size: 13px;
    letter-spacing: -0.01em;
    position: relative;
    z-index: 1;
}

.auth-feature-grid strong + * {
    position: relative;
    z-index: 1;
}

@keyframes authPanelAuraFloat {
    0%, 100% {
        border-radius: 46% 54% 58% 42%;
        transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
    }

    50% {
        border-radius: 58% 42% 44% 56%;
        transform: translate3d(-36px, 24px, 0) rotate(22deg) scale(1.08);
    }
}

@keyframes authPanelSparkle {
    0%, 100% {
        opacity: 0.4;
        transform: translate3d(0, 0, 0) scale(0.82);
    }

    50% {
        opacity: 1;
        transform: translate3d(-18px, -12px, 0) scale(1.18);
    }
}

@keyframes authPreviewFloat {
    0%, 100% {
        transform: translate3d(0, 0, 0);
    }

    50% {
        transform: translate3d(0, -8px, 0);
    }
}

@keyframes authPreviewLightSweep {
    0%, 44% {
        transform: translateX(-128%);
    }

    68%, 100% {
        transform: translateX(128%);
    }
}

@keyframes authPreviewStatus {
    0%, 100% {
        background-position: 100% 0;
        opacity: 0.76;
    }

    50% {
        background-position: 0 0;
        opacity: 1;
    }
}

@keyframes authPreviewLinePulse {
    0%, 100% {
        opacity: 0.62;
        transform: scaleX(0.84);
    }

    50% {
        opacity: 1;
        transform: scaleX(1);
    }
}

@keyframes authPreviewCheckPulse {
    0%, 100% {
        box-shadow: 0 12px 24px rgba(24, 136, 96, 0.32);
        transform: scale(1);
    }

    50% {
        box-shadow: 0 16px 30px rgba(24, 136, 96, 0.46);
        transform: scale(1.08);
    }
}

@keyframes authPreviewCheckRing {
    0%, 48% {
        opacity: 0;
        transform: scale(0.82);
    }

    50% {
        opacity: 0.56;
    }

    78%, 100% {
        opacity: 0;
        transform: scale(1.34);
    }
}

@keyframes authFeatureRise {
    from {
        opacity: 0;
        transform: translate3d(0, 10px, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .auth-panel::before,
    .auth-panel::after,
    .auth-visual-preview,
    .auth-visual-preview::before,
    .auth-preview-head span,
    .auth-preview-line,
    .auth-preview-check,
    .auth-preview-check::after,
    .auth-feature-grid span {
        animation: none !important;
    }
}

.auth-links {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: center;
    margin-top: 18px;
}

.pwa-install-button {
    align-items: center;
    background: #ffffff;
    border: 1px solid #bfd5e9;
    border-radius: 12px;
    bottom: 18px;
    box-shadow: 0 12px 26px rgba(14, 65, 105, 0.2);
    color: var(--blue-900);
    cursor: pointer;
    display: inline-flex;
    font-weight: 800;
    min-height: 42px;
    padding: 0 16px;
    position: fixed;
    right: 18px;
    z-index: 80;
}

.pwa-install-button[hidden] {
    display: none;
}

.pwa-install-button:hover {
    background: #eef6fd;
    border-color: var(--blue-700);
}

@media (max-width: 840px) {
    .auth-shell {
        grid-template-columns: 1fr;
        min-height: 0;
        width: min(94vw, 560px);
    }

    .auth-visual {
        min-height: 0;
        padding: 28px;
    }

    .auth-visual::before {
        inset: 20px;
    }

    .auth-visual-copy h2 {
        font-size: 30px;
    }

    .auth-visual-preview {
        display: none;
    }

    .auth-visual-stats {
        margin-top: 22px;
    }

    .auth-panel {
        padding: 28px;
    }
}

@media (max-width: 560px) {
    .auth-page {
        align-items: flex-start;
        padding: 10px;
    }

    .auth-shell {
        border-radius: 18px;
        box-shadow: 0 18px 50px rgba(37, 78, 111, 0.18);
        width: 100%;
    }

    .auth-visual {
        padding: 18px 20px 16px;
    }

    .auth-panel {
        gap: 0;
        padding: 14px 20px 20px;
    }

    .auth-visual-topline {
        gap: 9px;
        margin-bottom: 14px;
    }

    .auth-visual-topline img {
        height: 42px;
        padding: 6px 8px;
        width: 132px;
    }

    .auth-visual-topline span {
        font-size: 11px;
        min-height: 28px;
        padding: 0 10px;
    }

    .auth-visual-kicker {
        font-size: 12px;
        margin: 0 0 8px;
    }

    .auth-visual-copy h2 {
        font-size: 24px;
        line-height: 1.14;
        margin-bottom: 8px;
    }

    .auth-visual-copy p {
        font-size: 14px;
        line-height: 1.45;
    }

    .auth-visual-stats {
        gap: 7px;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin-top: 16px;
    }

    .auth-visual-stats span {
        border-radius: 8px;
        font-size: 10px;
        min-height: 48px;
        padding: 8px;
    }

    .auth-visual-stats strong {
        font-size: 18px;
    }

    .auth-card-modern {
        border-radius: 14px;
        box-shadow: 0 14px 34px rgba(22, 60, 91, 0.1);
        padding: 21px 18px;
    }

    .auth-card-kicker {
        font-size: 12px;
        margin-bottom: 10px;
        min-height: 30px;
        padding: 0 12px;
    }

    .auth-card-modern h1 {
        font-size: 27px;
    }

    .auth-card-modern p {
        font-size: 14px;
        margin-bottom: 20px;
    }

    .auth-card-modern label {
        margin: 10px 0;
    }

    .auth-card-modern input[type="text"],
    .auth-card-modern input[type="email"],
    .auth-card-modern input[type="password"] {
        min-height: 46px;
    }

    .auth-options {
        margin: 4px 0 14px;
    }

    .auth-submit {
        min-height: 45px;
    }

    .auth-card-footer {
        margin-top: 22px;
        padding-top: 14px;
    }

    .auth-feature-grid {
        display: none;
    }
}

@media (max-width: 390px) {
    .auth-visual-topline {
        align-items: flex-start;
        flex-direction: column;
    }

    .auth-visual-copy h2 {
        font-size: 23px;
    }

    .auth-visual-stats span {
        font-size: 9px;
        padding: 7px 6px;
    }
}

label {
    display: block;
    margin: 12px 0;
    color: #405366;
    font-weight: 600;
}

label input {
    margin-top: 6px;
    font-weight: 400;
}

.upload-panel p {
    color: var(--muted);
    line-height: 1.5;
}

.import-dashboard {
    align-items: start;
    gap: 16px;
    grid-template-columns: minmax(430px, 1.05fr) minmax(360px, 0.95fr);
}

.import-panel {
    overflow: hidden;
    padding: 0;
}

.import-panel-head {
    align-items: center;
    background: linear-gradient(180deg, #f8fbff 0%, #eef6fc 100%);
    border-bottom: 1px solid #dce9f4;
    display: flex;
    gap: 14px;
    padding: 18px 20px 16px;
}

.import-panel-head.compact {
    padding-bottom: 14px;
}

.import-panel-head h2 {
    color: #092846;
    font-size: 19px;
    margin: 0;
}

.import-panel-head p {
    margin: 5px 0 0;
}

.import-panel-icon {
    align-items: center;
    background: #e6f3fb;
    border: 1px solid #bdd8ed;
    border-radius: 8px;
    color: var(--blue-800);
    display: inline-flex;
    flex: 0 0 46px;
    height: 46px;
    justify-content: center;
    width: 46px;
}

.import-panel-icon.html {
    background: #fff7df;
    border-color: #ead287;
    color: #8a6400;
}

.import-panel-icon.rules {
    background: #eef8ef;
    border-color: #bfe3c6;
    color: #207542;
}

.sync-source-list {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 16px 18px 10px;
}

.sync-source-item {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d6e5f0;
    border-radius: 8px;
    box-shadow: 0 12px 24px rgba(26, 64, 96, 0.04);
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 14px;
}

.sync-source-main {
    align-items: center;
    display: flex;
    gap: 12px;
    min-width: 0;
}

.sync-source-badge {
    align-items: center;
    background: var(--yellow);
    border-radius: 8px;
    color: #15324f;
    display: inline-flex;
    flex: 0 0 42px;
    font-size: 13px;
    font-weight: 800;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.sync-source-item strong {
    color: var(--blue-900);
    display: block;
    margin-bottom: 3px;
}

.sync-source-item small {
    color: #52687f;
    display: block;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.sync-source-item form,
.sync-all-form {
    align-items: flex-end;
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    margin: 0;
}

.sync-source-item .btn,
.sync-all-form .btn,
.import-submit-btn {
    min-height: 40px;
}

.sync-all-form {
    background: #f6fbff;
    border: 1px solid #d6e5f0;
    border-radius: 8px;
    margin: 4px 18px 18px;
    padding: 14px;
}

.sync-key-field {
    color: #405366;
    font-size: 12px;
    margin: 0;
    min-width: 180px;
}

.sync-key-field span {
    display: block;
    font-weight: 700;
    margin-bottom: 5px;
}

.sync-key-field input {
    background: #ffffff;
    border: 1px solid #cbddeb;
    border-radius: 7px;
    font: inherit;
    margin-top: 0;
    min-height: 40px;
    padding: 0 12px;
    width: 100%;
}

.file-drop-card {
    align-items: center;
    background: #f8fbfd;
    border: 1px dashed #accae4;
    border-radius: 8px;
    display: grid;
    gap: 14px;
    grid-template-columns: auto minmax(0, 1fr);
    margin: 18px 20px 12px;
    padding: 18px;
}

.file-drop-icon {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d5e5f1;
    border-radius: 8px;
    color: var(--blue-800);
    display: inline-flex;
    height: 48px;
    justify-content: center;
    width: 48px;
}

.file-drop-card strong,
.file-drop-card small {
    display: block;
}

.file-drop-card small {
    color: #52687f;
    font-weight: 500;
    margin-top: 4px;
}

.file-drop-card input[type="file"] {
    grid-column: 1 / -1;
    margin-top: 0;
}

.import-submit-btn {
    margin: 0 20px 20px;
}

.import-rules-panel {
    grid-column: 1;
}

.import-rules-panel .clean-list {
    padding: 16px 22px 20px 38px;
}

.colegios-workspace {
    align-items: start;
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(320px, 410px) minmax(0, 1fr);
}

.colegio-form {
    border-top: 3px solid var(--blue-800);
    max-height: calc(100vh - 112px);
    overflow-y: auto;
    padding: 18px 20px;
    position: sticky;
    top: 78px;
}

.form-heading h2,
.board-title h2 {
    color: #102743;
    font-size: 20px;
    font-weight: 650;
    margin: 0;
}

.form-heading p,
.inline-import p {
    color: #48617c;
    line-height: 1.45;
    margin: 8px 0 0;
}

.colegio-form input,
.colegio-form select,
.colegio-form textarea,
.colegio-search input,
.colegio-search select {
    background: #fbfdff;
    border: 1px solid #cbdbea;
    border-radius: 8px;
    color: var(--ink);
    font: inherit;
    margin-top: 7px;
    min-height: 38px;
    padding: 9px 11px;
    width: 100%;
}

.colegio-form input::placeholder,
.colegio-form textarea::placeholder,
.colegio-search input::placeholder,
.search input::placeholder,
.filters input::placeholder {
    color: #6f7d8d;
    font-weight: 400;
}

.colegio-form input:focus,
.colegio-form select:focus,
.colegio-form textarea:focus,
.colegio-search input:focus,
.colegio-search select:focus,
.search input:focus,
.filters input:focus,
.filters select:focus {
    border-color: var(--blue-800);
    box-shadow: 0 0 0 3px rgba(47, 103, 154, 0.12);
    outline: 0;
}

.colegio-form textarea {
    min-height: 68px;
    resize: vertical;
}

.school-autocomplete {
    display: grid;
    gap: 8px;
    position: relative;
}

.school-autocomplete-results {
    background: #ffffff;
    border: 1px solid #cbdbea;
    border-radius: 10px;
    box-shadow: 0 14px 28px rgba(16, 39, 67, 0.12);
    display: grid;
    gap: 6px;
    max-height: 300px;
    overflow-y: auto;
    padding: 8px;
    position: absolute;
    top: calc(100% - 2px);
    width: 100%;
    z-index: 20;
}

.school-autocomplete-option {
    align-items: start;
    background: #f8fbfe;
    border: 1px solid #d8e6f1;
    border-radius: 8px;
    color: #102743;
    cursor: pointer;
    display: grid;
    gap: 3px;
    padding: 10px 12px;
    text-align: left;
    transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.school-autocomplete-option:hover,
.school-autocomplete-option:focus {
    background: #eef6ff;
    border-color: var(--blue-800);
    outline: none;
    transform: translateY(-1px);
}

.school-autocomplete-option strong {
    color: var(--blue-900);
    font-size: 13px;
    line-height: 1.25;
}

.school-autocomplete-option small,
.school-autocomplete-help {
    color: #5d748c;
    font-size: 12px;
}

.school-autocomplete-help {
    display: block;
    margin-top: -2px;
}

.field-grid {
    display: grid;
    gap: 12px;
}

.field-grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.field-grid.three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.field-grid.four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.resma-workspace {
    align-items: start;
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(340px, 460px) minmax(0, 1fr);
}

.single-board-layout,
.colegios-workspace.single-board-layout,
.rector-workspace.single-board-layout {
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(0, 1fr);
}

.single-board-layout > .panel,
.colegios-workspace.single-board-layout > .panel,
.rector-workspace.single-board-layout > .panel {
    min-width: 0;
}

.floating-modal {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 22px;
    position: fixed;
    z-index: 80;
}

.floating-modal-backdrop {
    background: rgba(15, 35, 55, 0.48);
    border: 0;
    cursor: default;
    inset: 0;
    padding: 0;
    position: absolute;
    width: 100%;
}

.floating-modal-backdrop:hover {
    text-decoration: none;
}

.floating-modal-dialog {
    background: #ffffff;
    border: 1px solid #cbdbea;
    border-radius: 12px;
    box-shadow: 0 28px 70px rgba(15, 35, 55, 0.24);
    max-height: calc(100vh - 44px);
    max-width: 920px;
    overflow: hidden;
    position: relative;
    width: min(920px, 100%);
    z-index: 1;
}

.floating-modal-dialog.wide-modal {
    max-width: 1180px;
    width: min(1180px, 100%);
}

.login-task-backdrop {
    animation: loginTaskBackdropIn 0.34s ease-out both;
    border: 0;
    cursor: pointer;
    padding: 0;
}

.login-task-modal-dialog {
    animation: loginTaskDialogIn 0.42s cubic-bezier(0.16, 1, 0.3, 1) both;
    border: 1px solid rgba(184, 207, 229, 0.95);
    border-radius: 18px;
    box-shadow: 0 28px 70px rgba(15, 47, 79, 0.28);
    max-width: 720px;
    overflow: hidden;
    width: min(720px, 100%);
}

.login-task-modal.is-closing {
    pointer-events: none;
}

.login-task-modal.is-closing .login-task-backdrop {
    animation: loginTaskBackdropOut 0.24s ease-in forwards;
}

.login-task-modal.is-closing .login-task-modal-dialog {
    animation: loginTaskDialogOut 0.24s ease-in forwards;
}

.login-task-modal .floating-modal-head {
    animation: loginTaskSoftRise 0.36s ease-out 0.08s both;
}

.login-task-modal-body {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 249, 253, 0.98)),
        radial-gradient(circle at top right, rgba(26, 142, 209, 0.12), transparent 34%);
    display: grid;
    gap: 16px;
    padding: 22px;
}

.login-task-hero {
    align-items: center;
    animation: loginTaskSoftRise 0.44s ease-out 0.13s both;
    background: linear-gradient(135deg, rgba(24, 92, 144, 0.98) 0%, rgba(57, 137, 198, 0.96) 100%);
    border: 1px solid rgba(129, 188, 230, 0.42);
    border-radius: 16px;
    box-shadow: 0 18px 40px rgba(20, 83, 132, 0.22);
    display: grid;
    gap: 14px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    overflow: hidden;
    padding: 16px;
    position: relative;
}

.login-task-hero::after {
    animation: loginTaskLightSweep 1.8s ease-out 0.24s both;
    background: rgba(255, 255, 255, 0.12);
    content: "";
    height: 180%;
    position: absolute;
    right: 84px;
    top: -40%;
    transform: rotate(18deg);
    width: 34px;
}

.login-task-hero > * {
    position: relative;
    z-index: 1;
}

.login-task-avatar {
    align-items: center;
    background: #155f97;
    border: 4px solid rgba(255, 255, 255, 0.92);
    border-radius: 999px;
    box-shadow: 0 12px 22px rgba(7, 40, 70, 0.24);
    color: #ffffff;
    display: inline-flex;
    font-size: 22px;
    font-weight: 800;
    height: 62px;
    justify-content: center;
    overflow: hidden;
    width: 62px;
}

.login-task-avatar img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.login-task-greeting {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.login-task-greeting small {
    color: #f5d52c;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.login-task-greeting strong {
    color: #ffffff;
    font-size: 22px;
    line-height: 1.15;
}

.login-task-greeting em {
    color: rgba(255, 255, 255, 0.88);
    font-size: 13px;
    font-style: normal;
}

.login-task-count {
    align-items: center;
    animation: loginTaskCountPop 0.48s cubic-bezier(0.16, 1, 0.3, 1) 0.26s both;
    background: #0f8c78;
    border: 3px solid rgba(255, 255, 255, 0.75);
    border-radius: 999px;
    box-shadow: 0 12px 22px rgba(7, 40, 70, 0.18);
    color: #ffffff;
    display: inline-flex;
    font-size: 20px;
    font-weight: 800;
    height: 54px;
    justify-content: center;
    min-width: 54px;
    padding: 0 12px;
}

.login-task-note {
    align-items: center;
    animation: loginTaskSoftRise 0.36s ease-out 0.2s both;
    background: #eef6fd;
    border: 1px solid #d5e5f4;
    border-radius: 999px;
    color: #315f84;
    display: inline-flex;
    font-size: 13px;
    margin: 0;
    padding: 9px 13px;
    width: fit-content;
}

.login-task-list {
    display: grid;
    gap: 10px;
    max-height: 320px;
    overflow-y: auto;
    padding-right: 4px;
}

.login-task-item {
    align-items: center;
    animation: loginTaskItemIn 0.42s cubic-bezier(0.16, 1, 0.3, 1) both;
    background: #ffffff;
    border: 1px solid #d8e6f2;
    border-left: 5px solid #f1c40f;
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(23, 72, 111, 0.07);
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 14px 14px 14px 16px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.login-task-item:nth-child(1) {
    animation-delay: 0.28s;
}

.login-task-item:nth-child(2) {
    animation-delay: 0.34s;
}

.login-task-item:nth-child(3) {
    animation-delay: 0.4s;
}

.login-task-item:nth-child(4) {
    animation-delay: 0.46s;
}

.login-task-item:hover {
    border-color: #9bc2e6;
    box-shadow: 0 10px 22px rgba(22, 75, 122, 0.08);
    transform: translateY(-1px);
}

.login-task-code {
    background: #fff8df;
    border: 1px solid #f1cd5d;
    border-radius: 999px;
    color: #745000;
    display: inline-flex;
    font-size: 11px;
    font-weight: 800;
    max-width: 160px;
    overflow: hidden;
    padding: 6px 8px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.login-task-item-main {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.login-task-item-main strong {
    color: #102743;
    display: block;
    font-size: 14px;
    line-height: 1.3;
}

.login-task-item-main small {
    color: #5d748c;
    display: block;
    font-size: 12px;
}

.login-task-state {
    align-items: flex-end;
    display: grid;
    gap: 5px;
    justify-items: end;
}

.login-task-state small {
    color: #6a8198;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.login-task-actions {
    align-items: center;
    animation: loginTaskSoftRise 0.36s ease-out 0.42s both;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

@keyframes loginTaskBackdropIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes loginTaskBackdropOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

@keyframes loginTaskDialogIn {
    from {
        opacity: 0;
        transform: translateY(18px) scale(0.96);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes loginTaskDialogOut {
    from {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
    to {
        opacity: 0;
        transform: translateY(12px) scale(0.97);
    }
}

@keyframes loginTaskSoftRise {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes loginTaskItemIn {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes loginTaskCountPop {
    0% {
        opacity: 0;
        transform: scale(0.72);
    }
    70% {
        opacity: 1;
        transform: scale(1.06);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes loginTaskLightSweep {
    from {
        opacity: 0;
        transform: translateX(-120px) rotate(18deg);
    }
    35% {
        opacity: 1;
    }
    to {
        opacity: 1;
        transform: translateX(0) rotate(18deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .login-task-backdrop,
    .login-task-modal-dialog,
    .login-task-modal .floating-modal-head,
    .login-task-hero,
    .login-task-hero::after,
    .login-task-count,
    .login-task-note,
    .login-task-item,
    .login-task-actions,
    .login-task-modal.is-closing .login-task-backdrop,
    .login-task-modal.is-closing .login-task-modal-dialog {
        animation: none !important;
    }
}

@media (max-width: 620px) {
    .login-task-modal-body {
        padding: 16px;
    }

    .login-task-hero {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .login-task-count {
        border-radius: 12px;
        grid-column: 1 / -1;
        width: 100%;
    }

    .login-task-note {
        border-radius: 12px;
        width: 100%;
    }

    .login-task-item {
        align-items: start;
        grid-template-columns: minmax(0, 1fr);
    }

    .login-task-state {
        align-items: start;
        justify-items: start;
    }

    .login-task-actions .btn {
        justify-content: center;
        flex: 1 1 160px;
    }
}

/* Expediente de recepcion: consulta completa sin salir del panel */
.recepcion-expediente-modal[hidden] {
    display: none;
}

.recepcion-expediente-modal {
    align-items: center;
    background: rgba(10, 35, 57, .54);
    backdrop-filter: blur(7px);
    display: grid;
    inset: 0;
    justify-items: center;
    padding: 18px;
    position: fixed;
    z-index: 1100;
}

.recepcion-expediente-card {
    background: #fff;
    border: 1px solid rgba(255, 255, 255, .8);
    border-radius: 20px;
    box-shadow: 0 28px 80px rgba(13, 49, 77, .3);
    display: flex;
    flex-direction: column;
    max-height: min(900px, calc(100vh - 36px));
    overflow: hidden;
    width: min(1020px, 100%);
}

.recepcion-expediente-head {
    align-items: flex-start;
    background: linear-gradient(120deg, #17527f, #2f82b2 68%, #62afd3);
    color: #fff;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding: 21px 24px 19px;
}

.recepcion-expediente-head span {
    color: #ffe074;
    display: block;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .13em;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.recepcion-expediente-head h2 {
    color: #fff;
    font-size: 24px;
    letter-spacing: -.035em;
    margin: 0;
}

.recepcion-expediente-head p {
    color: rgba(255, 255, 255, .82);
    font-size: 12px;
    margin: 6px 0 0;
}

.recepcion-expediente-head-actions {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 10px;
}

.recepcion-expediente-workflow-control {
    background: rgba(8, 44, 76, .25);
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 10px;
    min-width: 182px;
    padding: 6px 7px 7px;
    position: relative;
}

.recepcion-expediente-head .recepcion-expediente-workflow-control > span {
    color: #e5f4ff;
    display: block;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
    margin: 0;
    padding: 0 7px 3px;
}

.recepcion-status-picker {
    align-items: center;
    background: linear-gradient(135deg, #f4f8fa, #eaf1f5);
    border: 1px solid #d4e0e7;
    border-radius: 7px;
    color: #3d6075;
    cursor: pointer;
    display: flex;
    font-size: 13px;
    font-weight: 800;
    gap: 7px;
    justify-content: flex-start;
    min-height: 32px;
    padding: 6px 8px;
    text-align: left;
    width: 100%;
}

.recepcion-status-picker:hover:not(:disabled),
.recepcion-expediente-workflow-control.is-open .recepcion-status-picker {
    box-shadow: 0 0 0 2px rgba(255, 255, 255, .36), 0 5px 12px rgba(11, 65, 96, .16);
}

.recepcion-status-picker:disabled {
    cursor: wait;
    opacity: .72;
}

.recepcion-status-picker i,
.recepcion-status-menu i {
    background: #8fa9b8;
    border: 3px solid rgba(255, 255, 255, .82);
    border-radius: 50%;
    box-shadow: 0 0 0 1px rgba(30, 89, 128, .08);
    flex: 0 0 auto;
    height: 7px;
    width: 7px;
}

.recepcion-status-picker strong {
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.recepcion-status-picker b {
    color: #3b6684;
    flex: 0 0 auto;
    font-size: 17px;
    line-height: 12px;
    transform: translateY(-2px);
}

.recepcion-expediente-workflow-control.is-open .recepcion-status-picker b {
    transform: rotate(180deg) translateY(2px);
}

.recepcion-expediente-workflow-control[data-status="en_proceso"] .recepcion-status-picker {
    background: linear-gradient(135deg, #fff0b6, #fff9e7);
    border-color: #f0ca56;
    color: #896005;
}

.recepcion-expediente-workflow-control[data-status="formulario_recibido"] .recepcion-status-picker {
    background: linear-gradient(135deg, #e6f4ff, #f4fbff);
    border-color: #a9d4f3;
    color: #176b9c;
}

.recepcion-expediente-workflow-control[data-status="creado"] .recepcion-status-picker {
    background: linear-gradient(135deg, #dff7ea, #f2fdf6);
    border-color: #9edbb9;
    color: #18724b;
}

.recepcion-expediente-workflow-control[data-status="finalizado"] .recepcion-status-picker {
    background: linear-gradient(135deg, #e8ecff, #f5f6ff);
    border-color: #b8c3ed;
    color: #4657a6;
}

.recepcion-expediente-workflow-control[data-status="en_proceso"] .recepcion-status-picker i,
.recepcion-status-menu [data-workflow-status-option="en_proceso"] i {
    background: #f3c713;
}

.recepcion-expediente-workflow-control[data-status="formulario_recibido"] .recepcion-status-picker i,
.recepcion-status-menu [data-workflow-status-option="formulario_recibido"] i {
    background: #399fd1;
}

.recepcion-expediente-workflow-control[data-status="creado"] .recepcion-status-picker i,
.recepcion-status-menu [data-workflow-status-option="creado"] i {
    background: #25ae6c;
}

.recepcion-expediente-workflow-control[data-status="finalizado"] .recepcion-status-picker i,
.recepcion-status-menu [data-workflow-status-option="finalizado"] i {
    background: #6876ce;
}

.recepcion-status-menu {
    background: #fff;
    border: 1px solid #dce8f0;
    border-radius: 8px;
    box-shadow: 0 14px 26px rgba(12, 50, 82, .22);
    left: 0;
    min-width: 230px;
    padding: 6px;
    position: absolute;
    right: 0;
    top: calc(100% + 7px);
    z-index: 30;
}

.recepcion-status-menu button {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 7px;
    color: #294d6b;
    cursor: pointer;
    display: flex;
    font-size: 12px;
    font-weight: 750;
    gap: 8px;
    min-height: 38px;
    padding: 7px 9px;
    text-align: left;
    transition: background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
    width: 100%;
}

.recepcion-expediente-head .recepcion-status-menu button span {
    color: #294d6b;
    display: inline;
    font-size: 12px;
    font-weight: 750;
    letter-spacing: 0;
    margin: 0;
    padding: 0;
    text-transform: none;
}

.recepcion-status-menu button:hover,
.recepcion-status-menu button:focus-visible,
.recepcion-status-menu button.is-selected {
    box-shadow: inset 3px 0 0 currentColor;
    outline: none;
    transform: translateX(1px);
}

.recepcion-status-menu button[data-workflow-status-option="sin_verificacion"] {
    color: #577488;
}

.recepcion-status-menu button[data-workflow-status-option="formulario_recibido"] {
    color: #176b9c;
}

.recepcion-expediente-head .recepcion-status-menu button[data-workflow-status-option="sin_verificacion"] span {
    color: #577488;
}

.recepcion-expediente-head .recepcion-status-menu button[data-workflow-status-option="formulario_recibido"] span {
    color: #176b9c;
}

.recepcion-status-menu button[data-workflow-status-option="sin_verificacion"]:hover,
.recepcion-status-menu button[data-workflow-status-option="sin_verificacion"]:focus-visible,
.recepcion-status-menu button.is-selected[data-workflow-status-option="sin_verificacion"] {
    background: #eaf2f6;
}

.recepcion-status-menu button[data-workflow-status-option="formulario_recibido"]:hover,
.recepcion-status-menu button[data-workflow-status-option="formulario_recibido"]:focus-visible,
.recepcion-status-menu button.is-selected[data-workflow-status-option="formulario_recibido"] {
    background: #e9f6ff;
}

.recepcion-status-menu button[data-workflow-status-option="en_proceso"] {
    color: #a67808;
}

.recepcion-expediente-head .recepcion-status-menu button[data-workflow-status-option="en_proceso"] span {
    color: #a67808;
}

.recepcion-status-menu button[data-workflow-status-option="en_proceso"]:hover,
.recepcion-status-menu button[data-workflow-status-option="en_proceso"]:focus-visible,
.recepcion-status-menu button.is-selected[data-workflow-status-option="en_proceso"] {
    background: #fff4ce;
}

.recepcion-status-menu button[data-workflow-status-option="creado"] {
    color: #168054;
}

.recepcion-expediente-head .recepcion-status-menu button[data-workflow-status-option="creado"] span {
    color: #168054;
}

.recepcion-status-menu button[data-workflow-status-option="creado"]:hover,
.recepcion-status-menu button[data-workflow-status-option="creado"]:focus-visible,
.recepcion-status-menu button.is-selected[data-workflow-status-option="creado"] {
    background: #e4f8ec;
}

.recepcion-status-menu button[data-workflow-status-option="finalizado"] {
    color: #5666bd;
}

.recepcion-expediente-head .recepcion-status-menu button[data-workflow-status-option="finalizado"] span {
    color: #5666bd;
}

.recepcion-status-menu button[data-workflow-status-option="finalizado"]:hover,
.recepcion-status-menu button[data-workflow-status-option="finalizado"]:focus-visible,
.recepcion-status-menu button.is-selected[data-workflow-status-option="finalizado"] {
    background: #ecefff;
}

.recepcion-expediente-save {
    background: #fff;
    border: 1px solid rgba(255, 255, 255, .82);
    border-radius: 9px;
    color: #1b5d8c;
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
    min-height: 34px;
    padding: 0 12px;
}

.recepcion-expediente-save:hover:not(:disabled) {
    background: #e6f5ff;
}

.recepcion-expediente-save:disabled {
    cursor: wait;
    opacity: .65;
}

.recepcion-expediente-close {
    align-items: center;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .38);
    border-radius: 10px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 34px;
    font-size: 22px;
    height: 34px;
    justify-content: center;
    line-height: 1;
    width: 34px;
}

.recepcion-expediente-close:hover {
    background: rgba(255, 255, 255, .22);
}

.recepcion-expediente-body {
    min-height: 260px;
    overflow: auto;
    padding: 22px 24px 28px;
}

.recepcion-expediente-section {
    border-top: 1px solid #e5eff4;
    margin-top: 23px;
    padding-top: 19px;
}

.recepcion-expediente-section:first-child {
    border-top: 0;
    margin-top: 0;
    padding-top: 0;
}

.recepcion-expediente-section-head {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 12px;
}

.recepcion-expediente-section h3 {
    color: #153d5f;
    font-size: 16px;
    letter-spacing: -.015em;
    margin: 0;
}

.recepcion-expediente-section h3 span {
    background: #e8f5fb;
    border-radius: 999px;
    color: #2b7198;
    display: inline-flex;
    font-size: 10px;
    margin-left: 5px;
    padding: 4px 8px;
    vertical-align: middle;
}

.recepcion-expediente-info-grid {
    display: grid;
    gap: 9px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.recepcion-expediente-field,
.recepcion-expediente-mini-grid > div {
    background: #f8fcfd;
    border: 1px solid #d6e8ef;
    border-radius: 12px;
    min-width: 0;
    padding: 11px 12px;
}

.recepcion-expediente-field small,
.recepcion-expediente-mini-grid small {
    color: #6d8798;
    display: block;
    font-size: 10px;
    font-weight: 800;
    margin-bottom: 5px;
}

.recepcion-expediente-field strong,
.recepcion-expediente-mini-grid strong {
    color: #173f60;
    display: block;
    font-size: 12px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.recepcion-expediente-mini-grid {
    display: grid;
    gap: 9px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 12px;
}

.recepcion-private-commercial {
    background: linear-gradient(135deg, #fffcf3 0%, #ffffff 56%, #effaff 100%);
    border: 1px solid #f0d98d;
    border-radius: 15px;
    margin-top: 21px;
    padding: 18px;
}

.recepcion-private-commercial .recepcion-expediente-section-head {
    align-items: flex-start;
}

.recepcion-commercial-intro {
    color: #637c90;
    display: block;
    font-size: 11px;
    line-height: 1.45;
    margin-top: 4px;
}

.recepcion-commercial-grid {
    display: grid;
    gap: 11px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.recepcion-commercial-grid label,
.recepcion-commercial-payment-grid > label,
.recepcion-commercial-installment > label {
    color: #274d70;
    display: grid;
    font-size: 11px;
    font-weight: 700;
    gap: 6px;
}

.recepcion-commercial-grid input,
.recepcion-commercial-grid select,
.recepcion-commercial-payment-grid input[type="date"],
.recepcion-commercial-payment-grid input[type="number"],
.recepcion-commercial-installment input[type="month"],
.recepcion-commercial-installment input[type="number"] {
    background: #fff;
    border: 1px solid #c9ddea;
    border-radius: 9px;
    color: #183f60;
    font: inherit;
    font-size: 12px;
    min-height: 37px;
    padding: 8px 10px;
    width: 100%;
}

.recepcion-commercial-grid input:focus,
.recepcion-commercial-grid select:focus,
.recepcion-commercial-payment-grid input:focus,
.recepcion-commercial-installment input:focus {
    border-color: #3084bb;
    box-shadow: 0 0 0 3px rgba(48, 132, 187, .13);
    outline: 0;
}

.recepcion-commercial-grid .is-total input {
    background: #edf9f2;
    border-color: #a8dcc0;
    color: #18734d;
    font-weight: 800;
}

.recepcion-commercial-proposal-row {
    margin-top: 12px;
}

.recepcion-commercial-proposal {
    background: #eff8ff;
    border: 1px solid #c8e3f4;
    border-radius: 9px;
    color: #1e6797;
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    padding: 8px 11px;
    text-decoration: none;
}

.recepcion-commercial-proposal:hover {
    background: #e0f3ff;
    text-decoration: underline;
}

.recepcion-commercial-proposal.is-empty {
    background: #f8fafc;
    border-color: #dce8ef;
    color: #718597;
    font-weight: 500;
}

.recepcion-commercial-payment-grid {
    align-items: end;
    background: rgba(255, 255, 255, .82);
    border: 1px solid #dce8ef;
    border-radius: 12px;
    display: grid;
    gap: 11px;
    grid-template-columns: 1.22fr 1fr 1fr 1.2fr;
    margin-top: 14px;
    padding: 12px;
}

.recepcion-commercial-payment-grid > div strong,
.recepcion-commercial-payment-grid > div small {
    display: block;
}

.recepcion-commercial-payment-grid > div strong {
    color: #173f60;
    font-size: 13px;
}

.recepcion-commercial-payment-grid > div small {
    color: #6e8597;
    font-size: 10px;
    line-height: 1.4;
    margin-top: 3px;
}

.recepcion-commercial-approval {
    align-items: center;
    background: #f7fbfd;
    border: 1px solid #d5e6ee;
    border-radius: 9px;
    display: flex !important;
    gap: 9px !important;
    min-height: 37px;
    padding: 7px 10px;
}

.recepcion-commercial-approval input {
    accent-color: #199b68;
    height: 17px;
    margin: 0;
    width: 17px;
}

.recepcion-commercial-approval span,
.recepcion-commercial-approval b,
.recepcion-commercial-approval small {
    display: block;
}

.recepcion-commercial-approval b {
    color: #1a4667;
    font-size: 11px;
}

.recepcion-commercial-approval small {
    color: #73899a;
    font-size: 10px;
    font-weight: 500;
    margin-top: 1px;
}

.recepcion-commercial-installments {
    background: rgba(248, 252, 255, .88);
    border: 1px solid #cfe1ec;
    border-radius: 12px;
    margin-top: 12px;
    overflow: hidden;
}

.recepcion-commercial-installments-head {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    list-style: none;
    padding: 12px 13px;
}

.recepcion-commercial-installments-head::-webkit-details-marker,
.recepcion-process-comments-summary::-webkit-details-marker {
    display: none;
}

.recepcion-commercial-installments[open] .recepcion-commercial-installments-head {
    border-bottom: 1px solid #d7e6ef;
}

.recepcion-commercial-installments-head strong,
.recepcion-commercial-installments-head small {
    display: block;
}

.recepcion-commercial-installments-head strong {
    color: #173f60;
    font-size: 13px;
}

.recepcion-commercial-installments-head small {
    color: #6e8597;
    font-size: 10px;
    margin-top: 3px;
}

.recepcion-commercial-installments-balance {
    background: #eff8ff;
    border: 1px solid #c9e1f0;
    border-radius: 9px;
    min-width: 156px;
    padding: 7px 10px;
    text-align: right;
}

.recepcion-commercial-installments-balance span,
.recepcion-commercial-installments-balance b {
    display: block;
}

.recepcion-commercial-installments-balance span {
    color: #668197;
    font-size: 10px;
    font-weight: 700;
}

.recepcion-commercial-installments-balance b {
    color: #176a98;
    font-size: 14px;
    margin-top: 2px;
}

.recepcion-commercial-installments-balance b.is-overdue {
    color: #b33445;
}

.recepcion-commercial-installments-summary-right {
    align-items: center;
    display: flex;
    gap: 10px;
}

.recepcion-commercial-accordion-chevron,
.recepcion-process-comments-summary i {
    color: #27688f;
    font-size: 18px;
    font-style: normal;
    line-height: 1;
    transition: transform .18s ease;
}

.recepcion-commercial-installments[open] .recepcion-commercial-accordion-chevron,
.recepcion-process-comments[open] .recepcion-process-comments-summary i {
    transform: rotate(180deg);
}

.recepcion-commercial-installments-content {
    margin: 0 auto;
    max-width: none;
    padding: 12px 13px 13px;
    width: 100%;
}

.recepcion-commercial-installment-list {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.recepcion-commercial-installment {
    align-items: start;
    background: #f9fbfd;
    border: 1px solid #dce8ef;
    border-radius: 10px;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(160px, 1.5fr) minmax(96px, .9fr);
    padding: 10px;
}

.recepcion-commercial-installment.is-active {
    background: #f3fbff;
    border-color: #93cbe5;
}

.recepcion-commercial-installment-toggle {
    align-items: center;
    border-bottom: 1px solid #e1ebf1;
    color: #1b4d70 !important;
    display: flex !important;
    font-size: 12px !important;
    gap: 8px !important;
    grid-column: 1 / -1;
    padding-bottom: 4px;
}

.recepcion-commercial-installment-toggle input {
    accent-color: #2a83ba;
    height: 17px;
    margin: 0;
    width: 17px;
}

.recepcion-commercial-installment-field {
    display: block !important;
}

.recepcion-commercial-installment-field > span {
    display: block;
    font-size: 10px;
    margin-bottom: 4px;
}

.recepcion-commercial-installment-field input {
    height: 37px;
    min-width: 0;
    width: 100%;
}

.recepcion-commercial-installment-field input[type="month"] {
    min-width: 160px;
}

.recepcion-commercial-installment input:disabled {
    background: #f0f4f6;
    border-color: #dee7ec;
    color: #8ca0ae;
    cursor: not-allowed;
}

.recepcion-commercial-installments-actions {
    align-items: center;
    background: #f5fafc;
    border: 1px dashed #c9ddea;
    border-radius: 9px;
    display: flex;
    gap: 10px;
    margin-top: 9px;
    padding: 7px 8px;
}

.recepcion-commercial-installments-actions small {
    color: #647f94;
    font-size: 11px;
}

.recepcion-process-comments {
    background: #fff;
    border: 1px solid #d8e6ee;
    border-radius: 12px;
    margin-top: 12px;
    overflow: hidden;
}

.recepcion-process-comments-summary {
    align-items: center;
    color: #17456a;
    cursor: pointer;
    display: grid;
    gap: 8px;
    grid-template-columns: 1fr auto auto;
    list-style: none;
    padding: 12px 13px;
}

.recepcion-process-comments-summary > span {
    font-size: 13px;
    font-weight: 800;
}

.recepcion-process-comments-summary small {
    background: #eff7fc;
    border: 1px solid #cfe4f1;
    border-radius: 999px;
    color: #397196;
    font-size: 10px;
    font-weight: 700;
    padding: 4px 7px;
}

.recepcion-process-comments[open] .recepcion-process-comments-summary {
    border-bottom: 1px solid #dce8ef;
}

.recepcion-process-comments-content {
    display: grid;
    gap: 10px;
    margin: 0 auto;
    max-width: 760px;
    padding: 12px 13px 13px;
}

.recepcion-process-observation {
    background: #f7fbfd;
    border-left: 3px solid #67a9cf;
    border-radius: 8px;
    color: #46687e;
    padding: 9px 11px;
}

.recepcion-process-observation.is-empty {
    border-left-color: #d4e1e9;
}

.recepcion-process-observation strong {
    color: #1d5479;
    display: block;
    font-size: 11px;
}

.recepcion-process-observation p,
.recepcion-process-comment p {
    font-size: 12px;
    line-height: 1.45;
    margin: 4px 0 0;
}

.recepcion-process-comments-list {
    display: grid;
    gap: 8px;
    max-height: 260px;
    overflow: auto;
}

.recepcion-process-comment {
    background: #fbfdff;
    border: 1px solid #e0ebf1;
    border-radius: 9px;
    padding: 9px 11px;
}

.recepcion-process-comment div {
    align-items: baseline;
    display: flex;
    gap: 8px;
    justify-content: space-between;
}

.recepcion-process-comment strong {
    color: #1a4d70;
    font-size: 11px;
}

.recepcion-process-comment small,
.recepcion-process-comments-empty {
    color: #71889a;
    font-size: 10px;
}

.recepcion-process-comments-empty {
    margin: 0;
    padding: 7px 0;
}

.recepcion-process-comment-new {
    color: #1a4d70;
    display: grid;
    font-size: 11px;
    font-weight: 700;
    gap: 6px;
}

.recepcion-process-comment-new textarea {
    border: 1px solid #c9ddea;
    border-radius: 9px;
    color: #183f60;
    font: inherit;
    font-size: 12px;
    min-height: 70px;
    padding: 8px 10px;
    resize: vertical;
}

.recepcion-process-comment-new textarea:focus {
    border-color: #3084bb;
    box-shadow: 0 0 0 3px rgba(48, 132, 187, .13);
    outline: 0;
}

.recepcion-process-comments-actions {
    align-items: center;
    display: flex;
    gap: 10px;
}

.recepcion-process-comments-actions small {
    color: #647f94;
    font-size: 11px;
}

.recepcion-commercial-actions {
    align-items: center;
    display: flex;
    gap: 10px;
    margin-top: 13px;
}

.recepcion-commercial-actions small {
    color: #697f90;
    font-size: 11px;
}

.recepcion-commercial-payment-status {
    background: #fff7df;
    border: 1px solid #f0d38a;
    border-radius: 999px;
    color: #8c640d;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.35;
    max-width: 245px;
    padding: 6px 9px;
}

.recepcion-commercial-payment-status.is-ready {
    background: #e9f9ef;
    border-color: #aee1c3;
    color: #16714a;
}

.recepcion-expediente-doc-list {
    display: grid;
    gap: 9px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.recepcion-expediente-doc {
    align-items: center;
    background: #f8fcfd;
    border: 1px solid #d6e8ef;
    border-radius: 13px;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    min-width: 0;
    padding: 12px;
}

.recepcion-expediente-doc.pending {
    background: #fffaf0;
    border-color: #f0dca7;
}

.recepcion-expediente-doc strong,
.recepcion-expediente-doc small {
    display: block;
}

.recepcion-expediente-doc strong {
    color: #173f60;
    font-size: 12px;
}

.recepcion-expediente-doc small {
    color: #6d8798;
    font-size: 10px;
    line-height: 1.35;
    margin-top: 4px;
    overflow-wrap: anywhere;
}

.recepcion-expediente-doc.pending small {
    color: #9b720e;
}

.recepcion-expediente-doc-actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

.recepcion-expediente-doc-right {
    align-items: flex-end;
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    gap: 7px;
}

.recepcion-expediente-section-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.recepcion-inline-platform-check {
    align-items: center;
    background: #fff9eb;
    border: 1px solid #efd59c;
    border-radius: 9px;
    color: #826112;
    cursor: pointer;
    display: inline-flex;
    flex-wrap: wrap;
    font-size: 10px;
    font-weight: 800;
    gap: 6px;
    line-height: 1.2;
    min-height: 31px;
    padding: 6px 8px;
}

.recepcion-inline-platform-check input {
    accent-color: #1f9a61;
    height: 15px;
    margin: 0;
    width: 15px;
}

.recepcion-inline-platform-check.is-loaded {
    background: #ebf9f0;
    border-color: #a9ddbc;
    color: #117448;
}

.recepcion-inline-platform-check.is-disabled {
    cursor: not-allowed;
    opacity: 0.64;
}

.recepcion-inline-platform-audit {
    color: #698291;
    flex-basis: 100%;
    font-size: 9px;
    font-weight: 500;
    padding-left: 21px;
}

.recepcion-document-platform-check {
    justify-content: flex-end;
}

.recepcion-rut-platform-control {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-width: 318px;
}

.recepcion-rut-sync-audit {
    color: #477663 !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    text-align: right;
}

.recepcion-rut-sync-audit b {
    color: #16744b;
    font-weight: 800;
}

.recepcion-rut-sync-panel {
    align-items: end;
    background: #f7fbfd;
    border: 1px solid #bcdce9;
    border-radius: 10px;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 10px;
    width: 318px;
}

.recepcion-rut-sync-panel[hidden] {
    display: none;
}

.recepcion-rut-date-field {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.recepcion-rut-date-field > span {
    color: #41667d;
    font-size: 9px;
    font-weight: 850;
    text-transform: uppercase;
}

.recepcion-rut-date-field input[type="date"] {
    background: #fff;
    border: 1px solid #a8cee1;
    border-radius: 7px;
    color: #174d70;
    font: inherit;
    font-size: 11px;
    height: 31px;
    min-width: 0;
    padding: 5px 7px;
}

.recepcion-rut-save {
    align-items: center;
    align-self: end;
    background: linear-gradient(145deg, #3489bd, #1d6698);
    border: 1px solid #1d6698;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(29, 102, 152, .2);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    gap: 6px;
    min-height: 31px;
    padding: 6px 9px;
    white-space: nowrap;
}

.recepcion-rut-save:hover:not(:disabled) {
    background: linear-gradient(145deg, #4599ca, #246f9f);
    transform: translateY(-1px);
}

.recepcion-rut-save:disabled {
    cursor: wait;
    opacity: .7;
}

.recepcion-rut-save svg {
    fill: currentColor;
    height: 15px;
    width: 15px;
}

.recepcion-expediente-subsection-title {
    color: #1d5675;
    font-size: 12px;
    margin: 17px 0 8px;
}

.recepcion-expediente-person-subsection-head {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin: 17px 0 8px;
}

.recepcion-expediente-person-subsection-head .recepcion-expediente-subsection-title {
    margin: 0;
}

.recepcion-expediente-person-subsection-head .recepcion-expediente-subsection-title span {
    background: #e5f2f9;
    border-radius: 999px;
    color: #22618b;
    display: inline-block;
    font-size: 10px;
    margin-left: 5px;
    padding: 3px 7px;
}

.recepcion-person-section-actions {
    gap: 7px;
}

.recepcion-expediente-table-wrap {
    border: 1px solid #d6e8ef;
    border-radius: 13px;
    overflow-x: auto;
}

.recepcion-expediente-table {
    border-collapse: collapse;
    color: #2b5270;
    font-size: 11px;
    min-width: 640px;
    width: 100%;
}

.recepcion-person-table {
    min-width: 900px;
}

.recepcion-expediente-table th,
.recepcion-expediente-table td {
    border-bottom: 1px solid #e0edf2;
    padding: 10px 11px;
    text-align: left;
    vertical-align: top;
}

.recepcion-expediente-table th {
    background: #edf7fb;
    color: #285b7c;
    font-size: 10px;
    font-weight: 900;
    white-space: nowrap;
}

.recepcion-expediente-table tr:last-child td {
    border-bottom: 0;
}

.recepcion-expediente-note {
    background: #f0f9fc;
    border: 1px solid #cde5ee;
    border-radius: 12px;
    color: #35647d;
    font-size: 12px;
    line-height: 1.55;
    padding: 13px 14px;
    white-space: pre-wrap;
}

.recepcion-workflow-section {
    background: linear-gradient(180deg, #fbfeff, #f5fbfd);
    border-color: #b9dce9;
}

.recepcion-workflow-intro {
    color: #607f92;
    display: block;
    font-size: 11px;
    font-weight: 500;
    margin-top: 4px;
}

.recepcion-workflow-editor {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(170px, .7fr) minmax(300px, 1.3fr);
    margin-top: 14px;
}

.recepcion-workflow-college-section .recepcion-workflow-editor {
    grid-template-columns: 1fr;
}

.recepcion-workflow-college-section .recepcion-workflow-college-field {
    max-width: 620px;
}

.recepcion-workflow-college-field {
    color: #315a73;
    display: flex;
    flex-direction: column;
    font-size: 11px;
    gap: 6px;
}

.recepcion-workflow-college-field > span {
    font-weight: 900;
}

.recepcion-college-search {
    position: relative;
}

.recepcion-college-search input[type="search"] {
    background: #fff;
    border: 1px solid #b7d5e8;
    border-radius: 9px;
    color: #174c6c;
    font-size: 13px;
    height: 43px;
    padding: 0 12px;
    width: 100%;
}

.recepcion-college-search input[type="search"]::placeholder {
    color: #7793a3;
}

.recepcion-college-search input[type="search"]:focus {
    border-color: #3288bd;
    box-shadow: 0 0 0 3px rgba(61, 143, 194, .14);
    outline: none;
}

.recepcion-college-search input[type="search"]:disabled {
    background: #f1f6f8;
    color: #87a0ad;
    cursor: not-allowed;
}

.recepcion-college-search-results {
    background: #fff;
    border: 1px solid #afd1e3;
    border-radius: 10px;
    box-shadow: 0 14px 24px rgba(19, 67, 94, .16);
    display: grid;
    left: 0;
    margin-top: 5px;
    max-height: 280px;
    overflow-y: auto;
    padding: 5px;
    position: absolute;
    right: 0;
    top: 100%;
    z-index: 30;
}

.recepcion-college-search-results[hidden] {
    display: none;
}

.recepcion-college-search-option {
    align-items: flex-start;
    background: #fff;
    border: 0;
    border-radius: 7px;
    color: #174c6c;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 9px 10px;
    text-align: left;
    width: 100%;
}

.recepcion-college-search-option:hover,
.recepcion-college-search-option:focus {
    background: #eaf6fc;
    outline: none;
}

.recepcion-college-search-option strong {
    font-size: 12px;
}

.recepcion-college-search-option small,
.recepcion-college-search-empty {
    color: #668596;
    font-size: 10px;
}

.recepcion-college-search-empty {
    padding: 10px;
}

.recepcion-workflow-editor label {
    color: #315a73;
    display: flex;
    flex-direction: column;
    font-size: 11px;
    gap: 6px;
}

.recepcion-workflow-editor label > span {
    font-weight: 900;
}

.recepcion-workflow-editor select {
    height: 42px;
}

.recepcion-workflow-college-field small {
    color: #6e8796;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.4;
}

.recepcion-workflow-college-meta {
    display: grid;
    gap: 8px;
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.recepcion-workflow-college-meta > div {
    background: #fff;
    border: 1px solid #d7e9ef;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 9px 10px;
}

.recepcion-workflow-college-meta small,
.recepcion-workflow-audit {
    color: #6d8796;
    font-size: 10px;
}

.recepcion-workflow-college-meta strong {
    color: #174c6c;
    font-size: 12px;
    overflow-wrap: anywhere;
}

.recepcion-workflow-actions {
    align-items: center;
    display: flex;
    gap: 10px;
    grid-column: 1 / -1;
}

.recepcion-workflow-feedback {
    color: #a34e25;
    font-size: 11px;
}

.recepcion-platform-checks {
    border-top: 1px solid #dcecf1;
    margin-top: 16px;
    padding-top: 16px;
}

.recepcion-platform-checks-head {
    align-items: flex-start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.recepcion-platform-checks-head h4 {
    color: #174c6c;
    font-size: 14px;
    margin: 0;
}

.recepcion-platform-checks-head p {
    color: #6b8494;
    font-size: 11px;
    line-height: 1.45;
    margin: 4px 0 0;
}

.recepcion-platform-checks-head > span {
    background: #eef5f8;
    border: 1px solid #d6e6ec;
    border-radius: 999px;
    color: #608091;
    font-size: 10px;
    font-weight: 800;
    padding: 5px 8px;
    white-space: nowrap;
}

.recepcion-platform-check-grid {
    display: grid;
    gap: 9px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 12px;
}

.recepcion-platform-check {
    align-items: flex-start;
    background: #fff;
    border: 1px solid #d7e8ee;
    border-radius: 11px;
    cursor: pointer;
    display: flex;
    gap: 9px;
    padding: 11px 12px;
}

.recepcion-platform-check.is-loaded {
    background: #effaf4;
    border-color: #a9dcbc;
}

.recepcion-platform-check input {
    accent-color: #209661;
    height: 17px;
    margin: 1px 0 0;
    width: 17px;
}

.recepcion-platform-check > span {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.recepcion-platform-check strong {
    color: #1b526f;
    font-size: 12px;
}

.recepcion-platform-check small {
    color: #6a8593;
    font-size: 10px;
}

.recepcion-platform-check.is-loaded > span > small:first-of-type {
    color: #168050;
    font-weight: 800;
}

.recepcion-platform-check-audit {
    color: #64858f !important;
    font-weight: 500 !important;
}

.recepcion-workflow-audit {
    display: block;
    margin-top: 12px;
}

.recepcion-expediente-loading,
.recepcion-expediente-error {
    align-items: center;
    color: #5d778a;
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: center;
    min-height: 240px;
    text-align: center;
}

.recepcion-expediente-loading span {
    border: 3px solid #dcecf3;
    border-radius: 50%;
    border-top-color: #2f82b2;
    height: 28px;
    width: 28px;
    animation: recepcionExpedienteSpin .8s linear infinite;
}

.recepcion-expediente-error strong {
    color: #a53345;
    font-size: 15px;
}

.recepcion-expediente-error span {
    font-size: 12px;
}

@keyframes recepcionExpedienteSpin {
    to { transform: rotate(360deg); }
}

@media (max-width: 800px) {
    .recepcion-expediente-info-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .recepcion-expediente-doc-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .recepcion-expediente-modal {
        padding: 8px;
    }

    .recepcion-expediente-card {
        border-radius: 16px;
        max-height: calc(100vh - 16px);
    }

    .recepcion-workflow-editor,
    .recepcion-platform-check-grid {
        grid-template-columns: 1fr;
    }

    .recepcion-workflow-college-meta {
        grid-template-columns: 1fr;
    }

    .recepcion-platform-checks-head {
        flex-direction: column;
    }

    .recepcion-expediente-head {
        padding: 18px 17px 16px;
    }

    .recepcion-expediente-head h2 {
        font-size: 20px;
    }

    .recepcion-expediente-head {
        flex-direction: column;
    }

    .recepcion-expediente-head-actions {
        justify-content: space-between;
        width: 100%;
    }

    .recepcion-expediente-workflow-control {
        flex: 1 1 auto;
    }

    .recepcion-expediente-body {
        padding: 19px 15px 24px;
    }

    .recepcion-expediente-info-grid,
    .recepcion-expediente-mini-grid,
    .recepcion-commercial-grid,
    .recepcion-commercial-payment-grid,
    .recepcion-commercial-installment {
        grid-template-columns: 1fr;
    }

    .recepcion-commercial-installment {
        align-items: stretch;
        gap: 8px;
    }

    .recepcion-commercial-installment-field > span {
        display: block;
        margin-bottom: 4px;
    }

    .recepcion-commercial-installments-head,
    .recepcion-commercial-installments-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .recepcion-commercial-installments-balance {
        text-align: left;
    }

    .recepcion-commercial-installments-summary-right {
        justify-content: space-between;
        width: 100%;
    }

    .recepcion-process-comments-summary {
        grid-template-columns: 1fr auto auto;
    }

    .recepcion-process-comments-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .recepcion-commercial-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .recepcion-commercial-actions .btn {
        width: 100%;
    }

    .recepcion-expediente-section-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .recepcion-expediente-section-head .btn {
        width: 100%;
    }

    .recepcion-expediente-doc {
        align-items: flex-start;
        flex-direction: column;
    }

    .recepcion-expediente-doc-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .recepcion-expediente-doc-right,
    .recepcion-expediente-section-actions {
        align-items: stretch;
        width: 100%;
    }

    .recepcion-inline-platform-check,
    .recepcion-document-platform-check {
        justify-content: flex-start;
    }

    .recepcion-rut-platform-control,
    .recepcion-rut-sync-panel {
        align-items: stretch;
        max-width: none;
        width: 100%;
    }

    .recepcion-rut-sync-panel {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .recepcion-rut-sync-audit {
        text-align: left;
    }

    .recepcion-expediente-person-subsection-head {
        align-items: stretch;
        flex-direction: column;
        gap: 9px;
    }

    .recepcion-person-section-actions .btn {
        width: 100%;
    }
}

/* Panel de recepcion: presentacion del documento de referencia */
.recepcion-reference-shell {
    padding: 0 0 28px;
}

.recepcion-reference-hero {
    align-items: center;
    background: linear-gradient(120deg, #164a80 0%, #287eae 64%, #5badd3 100%);
    border-radius: 22px;
    box-shadow: 0 20px 45px rgba(24, 76, 111, .14), 0 4px 12px rgba(24, 76, 111, .06);
    color: #fff;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    min-height: 154px;
    overflow: hidden;
    padding: 28px 34px;
    position: relative;
}

.recepcion-reference-hero::after {
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 50%;
    box-shadow: 0 0 0 54px rgba(255, 255, 255, .05);
    content: '';
    height: 280px;
    position: absolute;
    right: -45px;
    top: -82px;
    width: 410px;
}

.recepcion-reference-hero-content,
.recepcion-reference-online {
    position: relative;
    z-index: 1;
}

.recepcion-reference-eyebrow {
    color: #ffe074;
    display: block;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .14em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.recepcion-reference-hero h1 {
    color: #fff;
    font-size: 31px;
    letter-spacing: -.045em;
    line-height: 1.05;
    margin: 0;
}

.recepcion-reference-hero p {
    color: rgba(255, 255, 255, .84);
    font-size: 13px;
    line-height: 1.5;
    margin: 10px 0 0;
}

.recepcion-reference-online {
    align-items: center;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 999px;
    display: flex;
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 800;
    gap: 8px;
    padding: 9px 13px;
}

.recepcion-reference-online i {
    background: #62e2b0;
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(98, 226, 176, .14);
    height: 7px;
    width: 7px;
}

.recepcion-reference-main {
    background: rgba(255, 255, 255, .92);
    border: 1px solid #d7e7ef;
    border-radius: 22px;
    box-shadow: 0 22px 55px rgba(24, 76, 111, .1), 0 4px 12px rgba(24, 76, 111, .05);
    margin-top: 18px;
    padding: 28px;
}

.recepcion-reference-heading {
    align-items: flex-start;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 20px;
}

.recepcion-reference-heading h2 {
    color: #153d5f;
    font-size: 24px;
    letter-spacing: -.035em;
    margin: 0;
}

.recepcion-reference-heading p {
    color: #60788e;
    font-size: 13px;
    line-height: 1.5;
    margin: 7px 0 0;
    max-width: 680px;
}

.recepcion-reference-heading-badge {
    align-items: center;
    background: #f2fbf7;
    border: 1px solid #b8dfca;
    border-radius: 13px;
    color: #168050;
    display: grid;
    gap: 2px 9px;
    grid-template-columns: auto auto;
    min-width: 170px;
    padding: 12px 14px;
}

.recepcion-reference-heading-badge svg {
    grid-row: span 2;
}

.recepcion-reference-heading-badge strong {
    font-size: 22px;
    line-height: 1;
}

.recepcion-reference-heading-badge span {
    color: #5c7b6a;
    font-size: 10px;
    font-weight: 700;
}

.recepcion-reference-info {
    align-items: center;
    background: linear-gradient(135deg, #effaff, #fbfdff);
    border: 1px dashed #9bc9dd;
    border-radius: 15px;
    display: flex;
    gap: 14px;
    margin-bottom: 20px;
    min-height: 76px;
    padding: 15px 18px;
}

.recepcion-reference-info-icon {
    align-items: center;
    background: linear-gradient(145deg, #318dbb, #216e9e);
    border-radius: 13px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 43px;
    height: 43px;
    justify-content: center;
}

.recepcion-reference-info strong,
.recepcion-reference-info span {
    display: block;
}

.recepcion-reference-info strong {
    color: #153d5f;
    font-size: 13px;
}

.recepcion-reference-info span {
    color: #60788e;
    font-size: 11px;
    line-height: 1.45;
    margin-top: 4px;
}

.recepcion-reference-stats {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 22px 0 28px;
}

.recepcion-reference-stat {
    background: linear-gradient(145deg, #fff, #f7fbfd);
    border: 1px solid #d7e7ef;
    border-radius: 16px;
    box-shadow: 0 7px 16px rgba(38, 91, 120, .04);
    min-width: 0;
    overflow: hidden;
    padding: 17px 18px 16px 20px;
    position: relative;
}

.recepcion-reference-stat::before {
    background: #5eafd0;
    content: '';
    inset: 0 auto 0 0;
    position: absolute;
    width: 4px;
}

.recepcion-reference-stat.pending::before {
    background: #e2b53a;
}

.recepcion-reference-stat.complete::before {
    background: #36b78b;
}

.recepcion-reference-stat strong {
    color: #216b9b;
    display: block;
    font-size: 27px;
    letter-spacing: -.04em;
}

.recepcion-reference-stat.pending strong {
    color: #aa7900;
}

.recepcion-reference-stat.complete strong {
    color: #168050;
}

.recepcion-reference-stat span {
    color: #60788e;
    display: block;
    font-size: 11px;
    font-weight: 700;
    margin-top: 4px;
}

.recepcion-reference-toolbar {
    align-items: flex-end;
    border-bottom: 1px solid #e5eff3;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin-bottom: 15px;
    padding-bottom: 15px;
}

.recepcion-reference-toolbar h3 {
    color: #153d5f;
    font-size: 18px;
    letter-spacing: -.02em;
    margin: 4px 0 0;
}

.recepcion-reference-filters {
    align-items: center;
    display: flex;
    gap: 8px;
    min-width: min(100%, 560px);
}

.recepcion-reference-filters input,
.recepcion-reference-filters select {
    background: #fff;
    border: 1px solid #cfe1e9;
    border-radius: 11px;
    box-shadow: 0 2px 7px rgba(24, 76, 111, .03);
    color: #153d5f;
    font-size: 12px;
    height: 41px;
    padding: 0 12px;
}

.recepcion-reference-filters input {
    flex: 1;
    min-width: 160px;
}

.recepcion-reference-filters select {
    width: 145px;
}

.recepcion-reference-records {
    display: grid;
    gap: 14px;
}

.recepcion-school-card {
    background: #fff;
    border: 1px solid #d7e7ef;
    border-radius: 18px;
    box-shadow: 0 7px 19px rgba(28, 83, 116, .055);
    overflow: hidden;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.recepcion-school-card:hover {
    border-color: #a9d1df;
    box-shadow: 0 13px 28px rgba(28, 83, 116, .1);
    transform: translateY(-2px);
}

.recepcion-school-card-top {
    align-items: flex-start;
    background: linear-gradient(135deg, #f8fcfe, #fff);
    border-top: 5px solid #4ca4ca;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding: 19px 20px 15px;
}

.status-card-en_progreso .recepcion-school-card-top {
    border-top-color: #e2b53a;
}

.status-card-completado .recepcion-school-card-top {
    border-top-color: #36b78b;
}

.recepcion-school-title {
    min-width: 0;
}

.recepcion-school-title small {
    color: #7190a5;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.recepcion-school-title h4 {
    color: #153d5f;
    font-size: 18px;
    letter-spacing: -.025em;
    margin: 4px 0 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.recepcion-school-meta {
    color: #60788e;
    display: flex;
    flex-wrap: wrap;
    font-size: 11px;
    gap: 7px;
    margin-top: 7px;
}

.recepcion-school-body {
    padding: 0 20px 18px;
}

.recepcion-summary-grid {
    border-top: 1px solid #e7f0f4;
    display: grid;
    gap: 9px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 14px 0;
}

.recepcion-summary-grid > div {
    background: #f9fcfd;
    border: 1px solid #e3eef3;
    border-radius: 10px;
    min-width: 0;
    padding: 10px 11px;
}

.recepcion-summary-grid strong,
.recepcion-summary-grid span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.recepcion-summary-grid strong {
    color: #153d5f;
    font-size: 14px;
}

.recepcion-summary-grid span {
    color: #72889a;
    font-size: 10px;
    font-weight: 700;
    margin-top: 4px;
}

.recepcion-school-progress {
    border-top: 1px solid #e7f0f4;
    padding: 13px 0 12px;
}

.recepcion-school-progress .recepcion-progress-label {
    margin-bottom: 7px;
    max-width: none;
}

.recepcion-school-progress .recepcion-progress-track {
    max-width: none;
}

.recepcion-school-footer {
    align-items: center;
    border-top: 1px solid #e7f0f4;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding-top: 12px;
}

.recepcion-card-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    justify-content: flex-end;
}

.recepcion-reference-empty {
    background: #fbfdfe;
    border: 1px dashed #c5dbe6;
    border-radius: 15px;
    color: #60788e;
    padding: 40px 24px;
    text-align: center;
}

.recepcion-reference-empty strong,
.recepcion-reference-empty span {
    display: block;
}

.recepcion-reference-empty strong {
    color: #153d5f;
    font-size: 15px;
    margin-bottom: 5px;
}

.recepcion-reference-empty span {
    font-size: 12px;
}

@media (max-width: 900px) {
    .recepcion-reference-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .recepcion-reference-online {
        align-self: flex-start;
    }

    .recepcion-reference-heading,
    .recepcion-reference-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .recepcion-reference-heading-badge {
        align-self: flex-start;
    }

    .recepcion-reference-filters {
        min-width: 0;
        width: 100%;
    }
}

@media (max-width: 620px) {
    .recepcion-reference-hero {
        border-radius: 19px;
        min-height: 0;
        padding: 24px 20px;
    }

    .recepcion-reference-hero h1 {
        font-size: 27px;
    }

    .recepcion-reference-main {
        border-radius: 18px;
        padding: 19px 14px;
    }

    .recepcion-reference-stats {
        gap: 8px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .recepcion-reference-filters {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .recepcion-reference-filters input {
        flex-basis: 100%;
    }

    .recepcion-reference-filters select,
    .recepcion-reference-filters .btn {
        flex: 1;
        width: auto;
    }

    .recepcion-school-card-top {
        align-items: stretch;
        flex-direction: column;
        padding: 16px;
    }

    .recepcion-school-title h4 {
        white-space: normal;
    }

    .recepcion-school-body {
        padding: 0 16px 16px;
    }

    .recepcion-summary-grid {
        gap: 7px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .recepcion-school-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .recepcion-card-actions {
        justify-content: stretch;
    }
}

.delete-confirm-dialog {
    max-width: 520px;
    width: min(520px, 100%);
}

.floating-modal-head {
    align-items: center;
    background: #f7fbff;
    border-bottom: 1px solid #d9e5ef;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding: 16px 20px;
}

.floating-modal-head h2 {
    color: #102743;
    font-size: 21px;
    margin: 0;
}

.modal-alert {
    border-radius: 0;
    border-left: 0;
    border-right: 0;
    margin: 0;
}

.delete-confirm-body {
    align-items: start;
    display: grid;
    gap: 14px;
    grid-template-columns: 46px minmax(0, 1fr);
    padding: 20px;
}

.delete-confirm-icon {
    align-items: center;
    background: #fff1f0;
    border: 1px solid #ffc8c2;
    border-radius: 12px;
    color: var(--danger);
    display: inline-flex;
    height: 46px;
    justify-content: center;
    width: 46px;
}

.delete-confirm-body strong {
    color: #102743;
    display: block;
    font-size: 16px;
    line-height: 1.35;
}

.delete-confirm-body small {
    color: #60758b;
    display: block;
    font-size: 13px;
    font-weight: 700;
    margin-top: 3px;
}

.delete-confirm-body p {
    color: #40566b;
    margin: 12px 0 0;
}

.delete-confirm-actions {
    align-items: center;
    background: #f8fbff;
    border-top: 1px solid #d9e5ef;
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    margin: 0;
    padding: 14px 20px;
}

.qa-delete-modal .delete-confirm-actions .btn {
    min-height: 38px;
}

.qa-delete-modal .modal-close {
    align-items: center;
    background: #ffffff;
    border: 1px solid #cbdbea;
    border-radius: 8px;
    color: #154a77;
    cursor: pointer;
    display: inline-flex;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.qa-delete-modal .modal-close:hover {
    background: #eef6fc;
    border-color: #a8c8e1;
}

.btn.danger-solid,
button.btn.danger-solid {
    background: var(--danger);
    border-color: var(--danger);
    color: #ffffff;
}

.btn.danger-solid:hover,
button.btn.danger-solid:hover {
    background: #921b16;
    border-color: #921b16;
    color: #ffffff;
    text-decoration: none;
}

.auto-year-field {
    display: none !important;
}

.modal-form {
    border-top: 0;
    box-shadow: none;
    max-height: calc(100vh - 136px);
    overflow-y: auto;
    padding: 14px 20px 18px;
    position: static;
    top: auto;
}

.modal-form.maintenance-form {
    padding-top: 14px;
}

.cierre-modal-dialog {
    background: #f5f9fd;
    border-radius: 14px;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 24px);
    max-width: 1180px;
    overflow: hidden;
    width: min(1180px, 100%);
}

.cierre-modal-dialog .floating-modal-head {
    flex: 0 0 auto;
}

.cierre-modal-dialog .cierres-form {
    box-sizing: border-box;
    flex: 0 1 auto;
    min-height: 0;
    max-height: calc(100vh - 116px);
    overflow-y: auto;
}

.cierre-modal-dialog .floating-modal-head {
    background:
        radial-gradient(circle at 92% 48%, rgba(119, 190, 237, 0.3), transparent 25%),
        linear-gradient(135deg, rgba(12, 54, 91, 0.99), rgba(42, 125, 187, 0.96)),
        #1f679c;
    border-bottom: 0;
    color: #ffffff;
    gap: 20px;
    min-height: 76px;
    padding: 15px 22px;
    position: relative;
}

.cierre-modal-dialog .floating-modal-head > * {
    position: relative;
    z-index: 1;
}

.cierre-modal-dialog .floating-modal-head .section-kicker {
    color: #ffdf24;
}

.cierre-modal-dialog .floating-modal-head h2 {
    color: #ffffff;
}

.cierre-modal-dialog .floating-modal-head .icon-btn {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.38);
    color: #ffffff;
}

.cierre-head-actions {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 8px;
}

.cierre-header-date,
.cierre-header-registrar,
.cierre-header-status {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 9px;
    box-shadow: 0 10px 22px rgba(5, 28, 50, 0.14);
    color: #173c60;
    min-height: 44px;
}

.cierre-header-date {
    display: grid;
    gap: 1px;
    padding: 5px 10px;
}

.cierre-header-date span,
.cierre-header-registrar small,
.cierre-header-status > span {
    color: #60758b;
    font-size: 10px;
    font-weight: 850;
    line-height: 1.1;
    text-transform: uppercase;
}

.cierre-header-date strong,
.cierre-header-registrar strong {
    color: #173c60;
    font-size: 13px;
    font-weight: 850;
}

.cierre-header-date input {
    background: transparent;
    border: 0;
    box-shadow: none;
    color: #173c60;
    font-size: 13px;
    font-weight: 850;
    min-height: 20px;
    padding: 0;
    width: 112px;
}

.cierre-header-date input:focus {
    box-shadow: none;
}

.cierre-header-registrar {
    align-items: center;
    display: inline-grid;
    gap: 9px;
    grid-template-columns: 34px minmax(0, auto);
    padding: 5px 10px 5px 6px;
}

.cierre-header-registrar strong {
    display: block;
}

.cierre-header-status {
    display: grid;
    gap: 1px;
    padding: 5px 9px;
}

.cierre-header-status select {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: #173c60;
    font-size: 13px;
    font-weight: 850;
    min-height: 20px;
    padding: 0 18px 0 0;
    width: 124px;
}

.cierre-header-status select:focus {
    box-shadow: none;
}

.cierre-avatar {
    align-items: center;
    background: #ffffff;
    border: 1px solid #c3d9ea;
    border-radius: 50%;
    color: #1f679c;
    display: inline-flex;
    font-size: 13px;
    font-weight: 850;
    height: 34px;
    justify-content: center;
    overflow: hidden;
    width: 34px;
}

.cierre-avatar img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.cierres-form label > small {
    color: #607a91;
    display: block;
    font-size: 11px;
    font-weight: 650;
    margin-top: 5px;
}

.criterios-modal-dialog {
    max-width: 980px;
    width: min(980px, 100%);
}

.planillas-modal-dialog {
    max-width: 920px;
    width: min(920px, 100%);
}

.boletin-modal-dialog {
    max-width: 920px;
    width: min(920px, 100%);
}

.cierres-form {
    background:
        radial-gradient(circle at 98% 0, rgba(85, 164, 219, 0.15), transparent 26%),
        linear-gradient(180deg, #eef6fd 0%, #f8fbfe 38%, #ffffff 100%);
}

.criterios-form {
    background: #f8fbff;
}

.planillas-form {
    background: #f8fbff;
}

.boletin-form {
    background: #f8fbff;
}

.cierre-form-section {
    background: #ffffff;
    border: 1px solid #d7e5f2;
    border-radius: 12px;
    box-shadow: 0 8px 20px rgba(31, 62, 94, 0.035);
    margin-bottom: 8px;
    padding: 11px 14px 12px;
}

.cierre-data-section {
    border-top: 3px solid #1d5e92;
}

.cierre-data-grid {
    align-items: start;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) minmax(132px, 0.22fr) minmax(168px, 0.28fr);
}

.cierre-data-grid > label {
    margin: 3px 0 !important;
}

.cierre-data-grid .cierre-college-field small {
    color: #607a91;
    display: block;
    font-size: 11px;
    font-weight: 650;
    margin-top: 5px;
}

.cierre-data-grid .cierre-year-field small {
    color: #607a91;
    display: block;
    font-size: 11px;
    font-weight: 650;
    line-height: 1.32;
    margin-top: 5px;
}

.criterio-form-section {
    background: #ffffff;
    border: 1px solid #d7e5f2;
    border-radius: 8px;
    margin-bottom: 12px;
    padding: 12px 14px 14px;
}

.planilla-form-section {
    background: #ffffff;
    border: 1px solid #d7e5f2;
    border-radius: 8px;
    margin-bottom: 12px;
    padding: 12px 14px 14px;
}

.boletin-form-section {
    background: #ffffff;
    border: 1px solid #d7e5f2;
    border-radius: 8px;
    margin-bottom: 12px;
    padding: 12px 14px 14px;
}

.cierre-form-section .form-section-title {
    margin-top: 0;
}

.criterio-form-section .form-section-title {
    margin-top: 0;
}

.planilla-form-section .form-section-title {
    margin-top: 0;
}

.boletin-form-section .form-section-title {
    margin-top: 0;
}

.cierre-check-grid {
    display: grid;
    gap: 8px 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.criterio-choice-grid {
    display: grid;
    gap: 8px 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cierre-check-grid .segmented-field {
    margin: 0;
}

.criterio-choice-grid .segmented-field {
    background: #f8fbfe;
    border: 1px solid #dce9f4;
    border-radius: 8px;
    margin: 0;
    padding: 10px;
}

.cierre-check-grid .period-options {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cierre-section-heading {
    align-items: flex-start;
    display: flex;
    gap: 14px;
    justify-content: space-between;
}

.cierre-section-heading .form-section-title {
    display: block;
    margin-bottom: 3px;
}

.cierre-section-heading small {
    color: #607a91;
    display: block;
    font-size: 12px;
    font-weight: 650;
}

.cierre-criteria-link {
    flex: 0 0 auto;
    font-size: 12px;
    padding: 8px 11px;
}

.cierre-criteria-card {
    background: #eef8fe;
    border: 1px solid #b9d9ed;
    border-left: 4px solid #2c78ad;
    border-radius: 0 10px 10px 0;
    margin-top: 11px;
    padding: 11px 13px;
}

.cierre-criteria-card.is-empty {
    background: #f8fbfe;
    border-color: #d3e4f1;
    border-left-color: #8aaecb;
}

.cierre-criteria-summary strong {
    color: #174c77;
    display: block;
    font-size: 13px;
}

.cierre-criteria-summary small {
    color: #607a91;
    display: block;
    font-size: 12px;
    margin-top: 3px;
}

.cierre-criteria-values {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 10px;
}

.cierre-criteria-values > span {
    background: #ffffff;
    border: 1px solid #d3e4f1;
    border-radius: 7px;
    padding: 7px 9px;
}

.cierre-criteria-values b,
.cierre-criteria-values em {
    display: block;
}

.cierre-criteria-values b {
    color: #63809a;
    font-size: 9px;
    font-weight: 850;
    text-transform: uppercase;
}

.cierre-criteria-values em {
    color: #1d4b70;
    font-size: 13px;
    font-style: normal;
    font-weight: 800;
    margin-top: 2px;
}

.cierre-validation-matrix {
    border: 1px solid #d6e5f0;
    border-radius: 9px;
    overflow: hidden;
}

.cierre-validation-head,
.cierre-validation-row {
    align-items: center;
    display: grid;
    grid-template-columns: minmax(0, 1fr) repeat(3, 108px);
}

.cierre-validation-head {
    background: #f1f7fc;
    color: #486b85;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.015em;
    text-transform: uppercase;
}

.cierre-validation-head > span {
    padding: 9px 10px;
    text-align: center;
}

.cierre-validation-head > span:first-child {
    text-align: left;
}

.cierre-validation-row {
    background: #ffffff;
    border-top: 1px solid #e1ebf3;
    min-height: 40px;
}

.cierre-validation-row > strong {
    color: #244f74;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.2;
    padding: 8px 10px;
}

.cierre-matrix-option {
    align-items: center;
    border-left: 1px solid #e1ebf3;
    cursor: pointer;
    display: flex;
    height: 100%;
    justify-content: center;
    margin: 0 !important;
    min-height: 40px;
}

.cierre-matrix-option:hover {
    background: #f6fbff;
}

.cierre-matrix-option input {
    accent-color: #2f6ea7;
    cursor: pointer;
    height: 17px;
    margin: 0;
    width: 17px;
}

.cierre-criteria-cell small {
    display: block;
    line-height: 1.35;
}

.cierre-settings-section,
.cierre-reports-section {
    background: linear-gradient(135deg, #ffffff 0%, #f9fcff 100%);
}

.cierre-settings-heading,
.cierre-reports-heading {
    margin-bottom: 11px;
}

.cierre-settings-grid {
    align-items: stretch;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(260px, 0.85fr) minmax(420px, 1.15fr);
}

.cierre-option-group {
    background: #f8fbfe;
    border: 1px solid #d6e5f0;
    border-radius: 9px;
    display: grid;
    gap: 7px;
    padding: 10px;
}

.cierre-option-group > span {
    color: #234e73;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.01em;
    text-transform: uppercase;
}

.cierre-option-group .period-options {
    align-items: stretch;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cierre-option-group .period-option span {
    background: #ffffff;
    border-color: #c9dbe9;
    min-height: 38px;
}

.cierre-option-group .period-option input:checked + span {
    background: var(--blue-800);
    border-color: var(--blue-800);
}

.cierre-modules-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
}

.cierre-modules-grid .cierre-option-group:last-child .period-options {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cierre-reports-heading {
    align-items: center;
}

.cierre-check-all {
    align-items: center;
    background: #ffffff;
    border: 1px solid #bfd9ed;
    border-radius: 7px;
    color: #1f5d8d;
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    gap: 8px;
    justify-content: center;
    min-height: 36px;
    padding: 7px 10px;
}

.cierre-check-all::before {
    background: #ffffff;
    border: 2px solid #5d91bc;
    border-radius: 3px;
    box-sizing: border-box;
    content: "";
    height: 14px;
    width: 14px;
}

.cierre-check-all:hover {
    background: #f4f9fd;
    border-color: #79afd4;
}

.cierre-check-all:focus-visible {
    box-shadow: 0 0 0 3px rgba(47, 103, 154, 0.18);
    outline: none;
}

.cierre-check-all[aria-pressed="true"] {
    background: #edf7ff;
    border-color: #79afd4;
    color: #184f78;
}

.cierre-check-all[aria-pressed="true"]::before {
    background: #2f6ea7;
    border-color: #2f6ea7;
    box-shadow: inset 0 0 0 3px #ffffff;
}

.cierre-check-all.is-partial::before {
    background: #ffffff;
    border-color: #2f6ea7;
    box-shadow: inset 0 0 0 3px #2f6ea7;
}

.cierre-report-options {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cierre-report-options .check-option span {
    background: #f8fbfe;
    border-color: #d1e1ed;
    min-height: 42px;
}

.cierre-report-options .check-option {
    position: relative;
}

.cierre-report-options .check-option input:checked + span {
    background: #edf7ff;
    border-color: #79afd4;
    color: #184f78;
}

.criterio-choice-grid .period-options {
    align-items: stretch;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.cierres-form .segmented-field > span {
    min-height: 24px;
}

.criterios-form .segmented-field > span {
    min-height: 24px;
}

.planillas-form .segmented-field > span {
    min-height: 24px;
}

.boletin-form .segmented-field > span {
    min-height: 24px;
}

.cierres-form .period-option span,
.cierres-form .check-option span,
.cierres-form .check-all-option span {
    min-height: 34px;
}

.criterios-form .period-option span {
    min-height: 34px;
}

.criterios-form .criterio-choice-grid .period-option span {
    min-height: 36px;
    padding-left: 10px;
    padding-right: 10px;
    text-align: center;
}

.planillas-form .period-option span {
    min-height: 34px;
}

.boletin-form .period-option span {
    min-height: 34px;
}

@media (max-width: 780px) {
    .cierre-modal-dialog {
        width: 100%;
    }

    .cierre-modal-dialog .floating-modal-head {
        align-items: flex-start;
        gap: 14px;
        padding: 18px;
    }

    .cierre-head-actions {
        flex-wrap: wrap;
        justify-content: flex-end;
    }

    .cierre-header-date {
        flex: 1 1 112px;
    }

    .cierre-header-status {
        flex: 1 1 122px;
    }

    .cierre-header-registrar {
        min-width: 0;
    }

    .cierre-data-grid,
    .cierre-criteria-values,
    .cierre-settings-grid,
    .cierre-modules-grid {
        grid-template-columns: 1fr;
    }

    .cierre-report-options {
        grid-template-columns: 1fr;
    }

    .cierre-section-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .cierre-reports-heading {
        align-items: stretch;
    }

    .cierre-check-all {
        width: 100%;
    }

    .cierre-check-all span {
        justify-content: center;
    }

    .cierre-criteria-link {
        text-align: center;
    }

    .cierre-validation-head,
    .cierre-validation-row {
        grid-template-columns: minmax(0, 1fr) repeat(3, 68px);
    }

    .criterios-modal-dialog {
        width: 100%;
    }

    .planillas-modal-dialog {
        width: 100%;
    }

    .boletin-modal-dialog {
        width: 100%;
    }

    .cierre-check-grid {
        grid-template-columns: 1fr;
    }

    .criterio-choice-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .cierre-validation-head,
    .cierre-validation-row {
        grid-template-columns: minmax(0, 1fr) repeat(3, 50px);
    }

    .cierre-validation-head > span,
    .cierre-validation-row > strong {
        font-size: 10px;
        padding-left: 7px;
        padding-right: 7px;
    }

    .cierre-check-grid .period-options {
        grid-template-columns: 1fr;
    }

    .criterio-choice-grid .period-options {
        grid-template-columns: 1fr;
    }
}

.modal-form label {
    margin: 8px 0;
}

.modal-form label:not(.cierre-year-field):has(> input[name="anio"]),
.modal-form label:not(.cierre-year-field):has(> select[name="anio"]),
.modal-form label:has(> input[name="ano"]),
.modal-form label:has(> select[name="ano"]) {
    display: none !important;
}

.cierres-form label.cierre-year-field {
    display: block !important;
}

.modal-form .field-grid {
    gap: 10px;
}

.modal-form input,
.modal-form select,
.modal-form textarea {
    margin-top: 5px;
    min-height: 36px;
    padding: 8px 10px;
}

.modal-form textarea {
    min-height: 58px;
}

.carnet-compact-form .planilla-form-section {
    margin-bottom: 10px;
    padding-bottom: 10px;
}

.carnet-compact-form .form-section-title {
    margin-bottom: 8px;
}

.carnet-compact-form textarea {
    min-height: 50px;
}

.modal-form > .form-heading,
.modal-form > .maintenance-form-head {
    display: none;
}

.resma-modal-dialog {
    max-width: 720px;
}

.access-vault {
    overflow: hidden;
    padding: 0;
}

.access-vault-head {
    align-items: center;
    background: #ffffff;
    border-bottom: 1px solid #d9e5ef;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    padding: 22px 24px 18px;
}

.section-kicker {
    color: var(--blue-800);
    display: block;
    font-size: 11px;
    font-weight: 700;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.access-vault-head h2 {
    color: #102743;
    font-size: 21px;
    font-weight: 650;
    margin: 0;
}

.access-vault-head p {
    color: var(--muted);
    margin: 6px 0 0;
}

.access-count {
    align-items: center;
    background: var(--blue-800);
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 18px;
    font-weight: 700;
    height: 46px;
    justify-content: center;
    min-width: 46px;
    padding: 0 14px;
}

.access-vault .access-count {
    font-size: 14px;
    height: 38px;
    min-width: 38px;
    padding: 0 12px;
}

.access-list {
    display: grid;
    gap: 8px;
    max-height: calc(100vh - 290px);
    min-height: 380px;
    overflow-y: auto;
    padding: 12px 18px 18px;
}

.access-card {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d6e4ef;
    border-left: 3px solid var(--blue-800);
    border-radius: 8px;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.42fr) auto;
    padding: 10px 12px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.access-card:hover {
    border-color: #b9d0e3;
    box-shadow: 0 12px 24px rgba(31, 62, 94, 0.07);
    transform: translateY(-1px);
}

.access-card.access-por_rotar {
    border-left-color: var(--yellow);
}

.access-card.access-inactivo {
    border-left-color: var(--danger);
}

.access-main {
    align-items: center;
    display: flex;
    gap: 11px;
    min-width: 0;
}

.access-icon {
    align-items: center;
    background: #edf5fb;
    border: 1px solid #cfe0ef;
    border-radius: 8px;
    color: var(--blue-800);
    display: inline-flex;
    flex: 0 0 36px;
    height: 36px;
    justify-content: center;
    width: 36px;
}

.access-icon-svg {
    fill: none;
    height: 19px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 19px;
}

.access-copy {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.access-title-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.access-title-row h3 {
    color: #102743;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    margin: 0;
}

.access-url {
    background: #f7fbff;
    border: 1px solid #d9e8f5;
    border-radius: 8px;
    display: grid;
    gap: 2px;
    max-width: 320px;
    padding: 7px 9px;
}

.access-url:hover {
    border-color: #acc8df;
    text-decoration: none;
}

.access-url span {
    color: var(--blue-900);
    font-size: 12px;
    font-weight: 650;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.access-url small {
    color: #5f7288;
    display: block;
    font-size: 10px;
    line-height: 1.35;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.access-url.is-empty span {
    color: #5f7288;
}

.access-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

.access-meta span {
    background: #f8fbfe;
    border: 1px solid #d9e8f5;
    border-radius: 999px;
    color: #102743;
    display: inline-flex;
    font-size: 12px;
    gap: 6px;
    min-height: 28px;
    min-width: 0;
    padding: 5px 9px;
}

.access-meta small {
    color: #61758b;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
}

.access-actions {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.access-actions form {
    margin: 0;
}

.maintenance-form {
    border-top-color: var(--blue-800);
}

.maintenance-form-head {
    align-items: center;
    background: #f7fbff;
    border: 1px solid #d9e8f5;
    border-radius: 10px;
    display: flex;
    gap: 13px;
    margin-bottom: 16px;
    padding: 14px;
}

.maintenance-form-icon,
.maintenance-icon {
    align-items: center;
    background: #edf5fb;
    border: 1px solid #cfe0ef;
    border-radius: 8px;
    color: var(--blue-800);
    display: inline-flex;
    flex: 0 0 36px;
    height: 36px;
    justify-content: center;
    width: 36px;
}

.maintenance-form-head h2 {
    color: #102743;
    font-size: 19px;
    font-weight: 650;
    margin: 0;
}

.maintenance-form-head p {
    color: var(--muted);
    margin: 4px 0 0;
}

.maintenance-board {
    overflow: hidden;
    padding: 0;
}

.maintenance-board-head {
    align-items: center;
    background: #ffffff;
    border-bottom: 1px solid #d9e5ef;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    padding: 22px 24px 18px;
}

.maintenance-board-head h2 {
    color: #102743;
    font-size: 21px;
    font-weight: 650;
    margin: 0;
}

.maintenance-board-head p {
    color: var(--muted);
    margin: 6px 0 0;
}

.maintenance-count {
    align-items: center;
    background: var(--blue-800);
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 18px;
    font-weight: 700;
    height: 46px;
    justify-content: center;
    min-width: 46px;
    padding: 0 14px;
}

.maintenance-list {
    display: grid;
    gap: 8px;
    max-height: calc(100vh - 300px);
    min-height: 380px;
    overflow-y: auto;
    padding: 12px 18px 18px;
}

.maintenance-card {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d6e4ef;
    border-left: 3px solid var(--blue-800);
    border-radius: 8px;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.42fr) auto;
    padding: 10px 12px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.maintenance-card:hover {
    border-color: #b9d0e3;
    box-shadow: 0 12px 24px rgba(31, 62, 94, 0.07);
    transform: translateY(-1px);
}

.maintenance-card-main {
    align-items: center;
    display: flex;
    gap: 11px;
    min-width: 0;
}

.maintenance-title-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.maintenance-title-row h3 {
    color: #102743;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    margin: 0;
}

.maintenance-card p {
    color: #27445f;
    font-size: 12px;
    line-height: 1.35;
    margin: 5px 0 0;
}

.maintenance-note {
    background: var(--yellow-soft);
    border: 1px solid var(--yellow-border);
    border-radius: 8px;
    color: var(--yellow-ink);
    display: inline-block;
    font-size: 12px;
    line-height: 1.35;
    margin-top: 9px;
    padding: 7px 9px;
}

.maintenance-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

.maintenance-meta > span {
    background: #f8fbfe;
    border: 1px solid #d9e8f5;
    border-radius: 999px;
    color: #102743;
    display: inline-flex;
    font-size: 12px;
    gap: 6px;
    min-height: 28px;
    min-width: 0;
    padding: 5px 9px;
}

.maintenance-meta > span > small {
    color: #61758b;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
}

.maintenance-actions {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.maintenance-actions form {
    margin: 0;
}

.chair-form .form-section-title::before,
.chair-card {
    border-left-color: var(--blue-700);
}

.chair-form-icon,
.chair-icon {
    background: #eef6fc;
    border-color: #c7ddec;
    color: var(--blue-800);
}

.chair-board-head {
    background:
        linear-gradient(90deg, rgba(48, 108, 160, 0.08), rgba(255, 255, 255, 0) 58%),
        #ffffff;
}

.chair-card {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.42fr) auto;
}

.chair-card .status-badge {
    text-transform: capitalize;
}

.chair-person-options {
    margin: 8px 0 12px;
}

.chair-form textarea {
    min-height: 64px;
}

.supply-form .form-section-title::before,
.supply-card {
    border-left-color: var(--yellow);
}

.supply-form-icon,
.supply-icon {
    background: var(--yellow-soft);
    border-color: var(--yellow-border);
    color: var(--yellow-ink);
}

.supply-count {
    background: var(--yellow);
    color: #18364f;
    font-size: 14px;
    height: 38px;
    min-width: 38px;
    padding: 0 12px;
}

.supply-list {
    display: grid;
    gap: 8px;
    max-height: calc(100vh - 300px);
    min-height: 380px;
    overflow-y: auto;
    padding: 12px 18px 18px;
}

.supply-card {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d6e4ef;
    border-left: 3px solid var(--yellow);
    border-radius: 8px;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.42fr) auto;
    padding: 10px 12px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.supply-card:hover {
    border-color: #b9d0e3;
    box-shadow: 0 12px 24px rgba(31, 62, 94, 0.07);
    transform: translateY(-1px);
}

.supply-main {
    align-items: center;
    display: flex;
    gap: 11px;
    min-width: 0;
}

.supply-icon {
    align-items: center;
    border-radius: 8px;
    display: inline-flex;
    flex: 0 0 36px;
    height: 36px;
    justify-content: center;
    width: 36px;
}

.supply-copy {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.supply-title-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.supply-title-row h3 {
    color: #102743;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    margin: 0;
}

.supply-title-row p,
.supply-copy p {
    color: #45627d;
    font-size: 12px;
    margin: 0;
}

.supply-quantity {
    align-items: center;
    background: var(--blue-800);
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    min-height: 26px;
    padding: 5px 10px;
}

.supply-quantity::after {
    color: rgba(255, 255, 255, 0.8);
    content: " unidades";
    font-size: 11px;
    font-weight: 600;
    margin-left: 4px;
}

.supply-note {
    border-radius: 999px;
    font-size: 11px;
    margin-top: 3px;
    max-width: 360px;
    overflow: hidden;
    padding: 5px 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.supply-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

.maintenance-meta.supply-meta > span {
    align-items: center;
    background: #f8fbfe;
    border: 1px solid #d9e8f5;
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    gap: 6px;
    min-height: 28px;
    padding: 5px 9px;
}

.maintenance-meta.supply-meta > span > small {
    color: #65788d;
    font-size: 9px;
    letter-spacing: 0;
}

.supply-meta .year-badge {
    font-size: 11px;
    min-height: 22px;
    min-width: 54px;
    padding: 4px 8px;
}

.supply-meta .year-badge::before {
    height: 6px;
    width: 6px;
}

.supply-actions {
    align-self: center;
}

.segmented-field {
    display: grid;
    gap: 6px;
    margin: 12px 0 8px;
}

.segmented-field > span {
    align-items: center;
    color: var(--blue-900);
    display: flex;
    font-size: 13px;
    font-weight: 700;
    gap: 8px;
    text-transform: uppercase;
}

.maintenance-form .segmented-field > span::before,
.supply-form .segmented-field > span::before,
.chair-form .segmented-field > span::before,
.rector-form .segmented-field > span::before {
    background: var(--yellow);
    border-radius: 999px;
    content: "";
    flex: 0 0 auto;
    height: 8px;
    width: 8px;
}

.period-options {
    display: grid;
    gap: 7px;
    grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
}

.period-option {
    margin: 0;
}

.period-option input {
    height: 1px;
    margin: 0;
    min-height: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.period-option span {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #cfd8e3;
    border-radius: 4px;
    color: #405366;
    cursor: pointer;
    display: inline-flex;
    font-size: 12px;
    font-weight: 600;
    justify-content: center;
    min-height: 32px;
    padding: 6px 8px;
    text-align: center;
    width: 100%;
}

.period-option input:checked + span {
    background: var(--blue-800);
    border-color: var(--blue-800);
    color: #ffffff;
}

.check-options {
    display: grid;
    gap: 7px;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.check-option,
.check-all-option {
    margin: 0;
}

.check-option span,
.check-all-option span {
    align-items: center;
    background: #fbfdff;
    border: 1px solid #cfd8e3;
    border-radius: 6px;
    color: #405366;
    cursor: pointer;
    display: flex;
    font-size: 12px;
    font-weight: 700;
    gap: 9px;
    min-height: 36px;
    padding: 8px 10px;
}

.check-option span::before,
.check-all-option span::before {
    background: #ffffff;
    border: 2px solid #9fb3c8;
    border-radius: 3px;
    content: "";
    flex: 0 0 auto;
    height: 14px;
    width: 14px;
}

.check-option input,
.check-all-option input {
    height: 1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

.check-option input:checked + span,
.check-all-option input:checked + span {
    background: #eef6ff;
    border-color: #9bc4ed;
    color: var(--blue-800);
}

.check-option input:checked + span::before,
.check-all-option input:checked + span::before {
    background: var(--blue-800);
    border-color: var(--blue-800);
    box-shadow: inset 0 0 0 3px #ffffff;
}

.check-all-option {
    display: inline-flex;
    width: fit-content;
}

.check-all-option span {
    min-height: 32px;
}

.person-options {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.person-option {
    margin: 0;
}

.person-option input {
    height: 1px;
    margin: 0;
    min-height: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.person-option > span {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #cfd8e3;
    border-radius: 4px;
    color: #405366;
    cursor: pointer;
    display: inline-flex;
    font-size: 14px;
    font-weight: 600;
    justify-content: center;
    min-height: 36px;
    padding: 7px 12px;
}

.person-option input:checked + span {
    background: var(--blue-800);
    border-color: var(--blue-800);
    color: #ffffff;
}

.maintenance-form .segmented-field,
.maintenance-form .period-options,
.maintenance-form .person-options {
    position: relative;
}

.maintenance-form .period-option input,
.maintenance-form .person-option input {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
}

.capacitacion-form .period-option input,
.capacitacion-form .person-option input {
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    left: -9999px !important;
    margin: 0 !important;
    min-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    pointer-events: none;
    position: fixed !important;
    top: 0 !important;
    width: 1px !important;
}

.capacitacion-form .segmented-field,
.capacitacion-form .period-options,
.capacitacion-form .person-options,
.capacitacion-form .field-grid {
    align-items: stretch;
    min-height: 0;
}

.cap-modal-head {
    background:
        linear-gradient(135deg, rgba(11, 45, 75, 0.98), rgba(45, 122, 185, 0.95)),
        #1f679c;
    border-bottom: 0;
    color: #ffffff;
    gap: 16px;
    padding: 22px 24px;
    position: relative;
}

.cap-modal-head::after {
    background: rgba(255, 255, 255, 0.16);
    content: "";
    height: 150%;
    position: absolute;
    right: 118px;
    top: -25%;
    transform: rotate(28deg);
    width: 18px;
}

.cap-modal-head > * {
    position: relative;
    z-index: 1;
}

.cap-modal-head .section-kicker {
    color: #ffd800;
}

.cap-modal-head h2 {
    color: #ffffff;
}

.cap-modal-head .icon-btn {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.36);
    color: #ffffff;
}

.cap-modal-head-actions {
    align-items: center;
    display: inline-flex;
    gap: 12px;
    justify-content: flex-end;
}

.cap-header-registered {
    align-items: center;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.46);
    border-radius: 8px;
    box-shadow: 0 12px 24px rgba(8, 31, 54, 0.14);
    display: inline-flex;
    gap: 9px;
    min-height: 48px;
    min-width: 166px;
    padding: 7px 10px;
}

.cap-header-avatar {
    border-color: #bdd4ea;
    height: 30px;
    width: 30px;
}

.cap-header-registered span {
    display: grid;
    gap: 1px;
    min-width: 0;
}

.cap-header-registered small {
    color: #4f6680;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.cap-header-registered strong {
    color: var(--blue-900);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.15;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cap-person-grid {
    display: grid;
    gap: 9px;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.cap-person-option-card {
    background: #ffffff;
    border: 1px solid #cdddec;
    border-radius: 6px;
    color: var(--blue-900);
    gap: 9px;
    justify-content: flex-start;
    min-height: 42px;
    padding: 7px 10px;
    width: 100%;
}

.cap-person-option-card .task-person-avatar {
    height: 26px;
    width: 26px;
}

.cap-person-option-card .task-person-copy strong {
    font-size: 13px;
    line-height: 1.15;
}

.cap-person-option-card .task-person-copy {
    align-self: center;
}

.cap-person-option input:checked + .cap-person-option-card {
    background: var(--blue-800);
    border-color: var(--blue-800);
    box-shadow: 0 8px 18px rgba(31, 88, 135, 0.18);
    color: #ffffff;
}

.cap-person-option input:checked + .cap-person-option-card .task-person-copy strong {
    color: #ffffff;
}

.cap-person-option input:checked + .cap-person-option-card .task-person-avatar {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.48);
    color: #ffffff;
}

@media (max-width: 720px) {
    .cap-modal-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .cap-modal-head-actions {
        justify-content: space-between;
        width: 100%;
    }

    .cap-header-registered {
        min-width: 0;
        width: calc(100% - 54px);
    }
}

.photo-upload-field {
    color: #405366;
    display: grid;
    font-weight: 600;
    gap: 8px;
}

.photo-upload-box {
    align-items: center;
    background: #ffffff;
    border: 1px solid #cfd8e3;
    border-radius: 4px;
    cursor: pointer;
    display: flex;
    justify-content: center;
    min-height: 66px;
    overflow: hidden;
    padding: 10px;
    position: relative;
}

.photo-upload-box:hover {
    border-color: var(--blue-700);
    background: #f7fbff;
}

.photo-upload-box input {
    height: 1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

.photo-upload-box img {
    display: block;
    max-height: 140px;
    max-width: 100%;
    object-fit: contain;
}

.photo-upload-box small {
    color: var(--muted);
    font-weight: 600;
    margin-left: 8px;
}

.photo-upload-icon {
    color: #596b7c;
    height: 28px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    fill: none;
    width: 28px;
}

.printer-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    padding: 18px;
}

.printer-card {
    background: #ffffff;
    border: 1px solid #d4e2ee;
    border-radius: 8px;
    display: grid;
    overflow: hidden;
}

.printer-media {
    align-items: center;
    aspect-ratio: 4 / 3;
    background: #f7fbff;
    display: flex;
    justify-content: center;
}

.printer-media img {
    display: block;
    height: 100%;
    object-fit: contain;
    padding: 10px;
    width: 100%;
}

.printer-media span {
    align-items: center;
    background: var(--blue-800);
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    height: 96px;
    justify-content: center;
    width: 96px;
}

.printer-placeholder-icon {
    color: currentColor;
    height: 44px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    fill: none;
    width: 44px;
}

.printer-card-body {
    display: grid;
    gap: 10px;
    padding: 13px;
}

.printer-card h3 {
    color: #102743;
    font-size: 15px;
    margin: 0 0 4px;
}

.printer-card p {
    color: var(--muted);
    margin: 0;
}

.printer-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.printer-card-meta span {
    background: #f7fbff;
    border: 1px solid #d9e8f5;
    border-radius: 999px;
    color: #405366;
    font-size: 12px;
    padding: 5px 8px;
}

.printer-note {
    background: #fbfdff;
    border-left: 3px solid var(--yellow);
    padding: 8px 9px;
}

.printer-empty {
    align-items: center;
    border: 1px dashed #c9dcec;
    border-radius: 8px;
    color: var(--muted);
    display: grid;
    gap: 8px;
    justify-items: center;
    min-height: 260px;
    padding: 24px;
    text-align: center;
}

.printer-empty strong {
    color: #102743;
}

.flat-table {
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.criteria-records-table-wrap {
    max-height: calc(100vh - 318px);
    overflow: auto;
}

.criteria-records-table {
    min-width: 1380px;
}

.criteria-records-table.data-table thead th {
    background: linear-gradient(180deg, #f8fbff, #edf5fc);
    box-shadow: inset 0 -1px 0 #c9ddec, 0 7px 14px rgba(28, 61, 96, 0.08);
    color: #173f63;
    font-size: 11px;
    font-weight: 800;
    position: sticky;
    top: 0;
    z-index: 4;
}

.criteria-records-table.has-record-actions.data-table th:last-child,
.criteria-records-table.has-record-actions.data-table td:last-child {
    background: rgba(255, 255, 255, 0.98);
    box-shadow: -10px 0 18px rgba(31, 62, 94, 0.05);
    min-width: 104px;
    position: sticky;
    right: 0;
    text-align: center;
    vertical-align: middle;
    z-index: 3;
}

.criteria-records-table.has-record-actions.data-table thead th:last-child {
    background: linear-gradient(180deg, #f8fbff, #edf5fc);
    z-index: 5;
}

.criteria-records-table.has-record-actions.data-table tbody tr:nth-child(even) td:last-child {
    background: #fbfdff;
}

.criteria-records-table .criteria-row-actions {
    justify-content: center;
}

@media (max-width: 900px) {
    .criteria-records-table-wrap {
        max-height: calc(100vh - 260px);
    }
}

@media (min-width: 901px) {
    body.section-criterios .criteria-records-table-wrap {
        max-height: none;
        overflow: visible;
    }

    body.section-criterios .criteria-records-table.data-table thead th {
        top: 64px;
    }
}

.cierres-records-table.data-table thead th {
    background: linear-gradient(180deg, #f8fbff, #edf5fc);
    box-shadow: inset 0 -1px 0 #c9ddec, 0 7px 14px rgba(28, 61, 96, 0.08);
    color: #173f63;
    font-size: 11px;
    font-weight: 800;
    position: sticky;
    top: 0;
    z-index: 4;
}

@media (min-width: 901px) {
    body.section-cierres .cierres-board,
    body.section-cierres .cierres-records-table-wrap {
        overflow: visible;
    }

    body.section-cierres .cierres-records-table.data-table thead th {
        top: 64px;
    }
}

@media (max-width: 900px) {
    .cierres-records-table-wrap {
        max-height: calc(100vh - 240px);
        overflow: auto;
    }
}

.cierres-view-tabs {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d7e5f1;
    border-radius: 14px;
    box-shadow: 0 8px 22px rgba(26, 70, 107, 0.06);
    display: inline-flex;
    gap: 7px;
    margin: 0 0 16px;
    padding: 7px;
}

.cierres-view-tabs a {
    align-items: center;
    border-radius: 9px;
    color: #234e73;
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    gap: 9px;
    min-height: 42px;
    padding: 0 14px;
}

.cierres-view-tabs a:hover {
    background: #f1f7fc;
}

.cierres-view-tabs a.active {
    background: #2f6fa7;
    box-shadow: 0 7px 16px rgba(31, 93, 141, 0.18);
    color: #ffffff;
}

.cierres-view-tabs b {
    align-items: center;
    background: #e8f2fb;
    border-radius: 999px;
    color: #28699f;
    display: inline-flex;
    font-size: 11px;
    justify-content: center;
    min-width: 24px;
    padding: 3px 7px;
}

.cierres-view-tabs a.active b {
    background: rgba(255, 255, 255, 0.2);
    color: #ffffff;
}

.cierres-pending-heading {
    align-items: center;
    background: linear-gradient(110deg, #f8fcff 0%, #eef7fc 100%);
    border-bottom: 1px solid #dbe8f1;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    padding: 20px 24px 16px;
}

.cierres-pending-heading h2 {
    color: #123f67;
    font-size: 21px;
    margin: 3px 0 4px;
}

.cierres-pending-heading p {
    color: #58738b;
    margin: 0;
}

form.cierres-pending-search {
    grid-template-columns: minmax(280px, 1fr) repeat(2, minmax(118px, 150px)) minmax(118px, 126px) 78px;
}

.cierres-pending-table {
    min-width: 980px;
}

.cierres-pending-table td:last-child {
    min-width: 150px;
}

.cierres-pending-action {
    min-width: 132px;
    white-space: nowrap;
}

.criteria-old-observation {
    grid-column: 1 / -1;
}

.cierres-analytics-board {
    background:
        radial-gradient(circle at 4% 12%, rgba(73, 157, 218, 0.09), transparent 23%),
        linear-gradient(180deg, #f7fbff 0%, #edf6fc 100%);
    overflow: hidden;
}

.cierres-analytics-head {
    align-items: center;
    background:
        radial-gradient(circle at 89% 8%, rgba(114, 211, 181, 0.24), transparent 25%),
        linear-gradient(118deg, #123f67 0%, #236a9f 56%, #3f8fc8 100%);
    color: #ffffff;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    min-height: 124px;
    overflow: hidden;
    padding: 25px 30px;
    position: relative;
}

.cierres-analytics-head::after {
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    box-shadow:
        -38px 44px 0 -1px rgba(255, 255, 255, 0.08),
        -82px 83px 0 -1px rgba(255, 255, 255, 0.06);
    content: "";
    height: 146px;
    position: absolute;
    right: -17px;
    top: -62px;
    width: 146px;
}

.cierres-analytics-head > div:first-child {
    position: relative;
    z-index: 1;
}

.cierres-analytics-head .section-kicker {
    color: #ffdf24;
}

.cierres-analytics-head h2 {
    color: #ffffff;
    font-size: 23px;
    margin: 3px 0 6px;
}

.cierres-analytics-head p {
    color: rgba(255, 255, 255, 0.84);
    margin: 0;
}

.cierres-analytics-year {
    align-content: center;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 14px;
    display: grid;
    min-height: 74px;
    min-width: 128px;
    padding: 9px 16px;
    position: relative;
    text-align: center;
    z-index: 1;
}

.cierres-analytics-year > span,
.cierres-analytics-year > small {
    color: rgba(255, 255, 255, 0.77);
    font-size: 10px;
    font-weight: 750;
    text-transform: uppercase;
}

.cierres-analytics-year > strong {
    color: #ffffff;
    font-size: 26px;
    font-weight: 850;
    letter-spacing: 0.02em;
    line-height: 1.05;
}

.cierres-analytics-filter {
    align-items: center;
    background: rgba(255, 255, 255, 0.94);
    border-bottom: 1px solid #dceaf3;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) auto auto;
    min-height: 0;
    padding: 15px 30px;
}

.cierres-analytics-filter-copy {
    display: grid;
    gap: 2px;
}

.cierres-analytics-filter-copy > span {
    color: #3c84b6;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.cierres-analytics-filter-copy > strong {
    color: #173f63;
    font-size: 14px;
}

.cierres-analytics-filter-copy > small {
    color: #6c8192;
    font-size: 11px;
}

.cierres-analytics-filter label {
    color: #36536e;
    display: grid;
    font-size: 12px;
    font-weight: 750;
    gap: 5px;
}

.cierres-analytics-filter select {
    background: #fbfdff;
    border: 1px solid #bdd8e9;
    border-radius: 9px;
    box-shadow: inset 0 1px 2px rgba(33, 93, 136, 0.04);
    color: #153f65;
    font: inherit;
    font-weight: 750;
    min-height: 40px;
    min-width: 184px;
    padding: 8px 10px;
}

.cierres-analytics-filter .btn {
    box-shadow: 0 7px 14px rgba(36, 104, 158, 0.18);
    min-height: 40px;
}

.cierres-analytics-kpis {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 20px 26px 14px;
}

.cierres-analytics-kpi {
    background: linear-gradient(135deg, #ffffff 0%, #f5faff 100%);
    border: 1px solid #d9e7f1;
    border-radius: 12px;
    box-shadow: 0 11px 25px rgba(29, 66, 98, 0.09);
    display: grid;
    gap: 4px;
    min-height: 126px;
    overflow: hidden;
    padding: 16px;
    position: relative;
}

.cierres-analytics-kpi::after {
    background: linear-gradient(135deg, var(--kpi-color, #2f6fa7), rgba(255, 255, 255, 0.55));
    border: 5px solid rgba(255, 255, 255, 0.76);
    box-shadow: 0 7px 16px rgba(36, 104, 158, 0.18);
    border-radius: 50%;
    content: "";
    height: 32px;
    position: absolute;
    right: 14px;
    top: 14px;
    width: 32px;
}

.cierres-analytics-kpi::before {
    background: var(--kpi-color, #2f6fa7);
    border-radius: 0 3px 3px 0;
    content: "";
    height: 44px;
    left: 0;
    position: absolute;
    top: 20px;
    width: 4px;
}

.cierres-analytics-kpi:hover,
.cierres-analytics-card:hover {
    box-shadow: 0 15px 30px rgba(29, 66, 98, 0.13);
    transform: translateY(-2px);
}

.cierres-analytics-kpi > span {
    color: #5d748a;
    font-size: 12px;
    font-weight: 750;
}

.cierres-analytics-kpi strong {
    color: #143f65;
    font-size: 29px;
    font-weight: 850;
    line-height: 1;
}

.cierres-analytics-kpi small {
    color: #6e8294;
    font-size: 11px;
    line-height: 1.4;
}

.cierres-analytics-kpi.kpi-blue { --kpi-color: #2f78b7; }
.cierres-analytics-kpi.kpi-green { --kpi-color: #1ca66b; }
.cierres-analytics-kpi.kpi-amber { --kpi-color: #e4a723; }
.cierres-analytics-kpi.kpi-purple { --kpi-color: #8068c8; }

.cierres-analytics-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(280px, 1fr) minmax(280px, 1fr);
    padding: 0 26px 26px;
}

.cierres-analytics-card {
    animation: cierres-analytics-in 0.35s ease-out both;
    background: linear-gradient(145deg, #ffffff 0%, #f9fcff 100%);
    border: 1px solid #d9e7f1;
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(29, 66, 98, 0.07);
    min-height: 210px;
    padding: 18px;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.cierres-status-card {
    grid-column: 1 / -1;
    justify-self: center;
    max-width: 980px;
    min-height: auto;
    width: 100%;
}

.cierres-analytics-card-head {
    align-items: flex-start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 18px;
}

.cierres-analytics-card-head > div > span {
    color: #43789e;
    display: block;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.04em;
    margin-bottom: 3px;
    text-transform: uppercase;
}

.cierres-analytics-card-head h3 {
    color: #173f63;
    font-size: 16px;
    margin: 0;
}

.cierres-analytics-card-head > small {
    background: #eef6fc;
    border-radius: 999px;
    color: #44708f;
    font-size: 11px;
    font-weight: 750;
    padding: 5px 8px;
    white-space: nowrap;
}

.cierres-sector-visual {
    align-items: center;
    display: flex;
    gap: 28px;
    justify-content: center;
    min-height: 132px;
}

.cierres-donut {
    align-content: center;
    aspect-ratio: 1;
    background: conic-gradient(#2f78b7 0 var(--publico), #8068c8 var(--publico) 100%);
    border-radius: 50%;
    display: grid;
    justify-items: center;
    min-width: 126px;
    padding: 27px 0;
    position: relative;
    box-shadow: 0 10px 22px rgba(45, 100, 147, 0.17);
}

.cierres-donut::before {
    background: #ffffff;
    border-radius: 50%;
    content: "";
    inset: 17px;
    position: absolute;
}

.cierres-donut span,
.cierres-donut small {
    position: relative;
    z-index: 1;
}

.cierres-donut span {
    color: #17466d;
    font-size: 22px;
    font-weight: 850;
}

.cierres-donut small {
    color: #6d8395;
    font-size: 10px;
    font-weight: 750;
    text-transform: uppercase;
}

.cierres-sector-legend {
    display: grid;
    gap: 13px;
    min-width: 160px;
}

.cierres-sector-legend > div {
    align-items: center;
    color: #4e687d;
    display: grid;
    font-size: 13px;
    gap: 8px;
    grid-template-columns: 10px 1fr auto;
}

.cierres-sector-legend i {
    border-radius: 999px;
    height: 10px;
    width: 10px;
}

.cierres-sector-legend .sector-publico { background: #2f78b7; }
.cierres-sector-legend .sector-privado { background: #8068c8; }

.cierres-sector-legend strong {
    color: #17466d;
    font-size: 16px;
}

.cierres-bar-list {
    display: grid;
    gap: 16px;
}

.cierres-status-bars {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.cierres-status-bars .cierres-bar-row {
    background: #f6fbfe;
    border: 1px solid #dceaf3;
    border-radius: 10px;
    padding: 12px;
}

.cierres-status-bars .cierres-bar-row > div {
    margin-bottom: 9px;
}

.cierres-status-bars .cierres-bar-row:nth-child(1) {
    background: linear-gradient(135deg, #f5fcf8, #ffffff);
    border-color: #ccebdc;
}

.cierres-status-bars .cierres-bar-row:nth-child(2) {
    background: linear-gradient(135deg, #fffaf0, #ffffff);
    border-color: #f2dfad;
}

.cierres-status-bars .cierres-bar-row:nth-child(3) {
    background: linear-gradient(135deg, #f6f9fb, #ffffff);
    border-color: #d8e3eb;
}

.cierres-bar-row > div {
    color: #476277;
    display: flex;
    font-size: 12px;
    font-weight: 750;
    justify-content: space-between;
    margin-bottom: 7px;
}

.cierres-bar-row strong {
    color: #173f63;
    font-size: 14px;
}

.cierres-bar-track {
    background: linear-gradient(90deg, #edf3f8, #e5f0f7);
    border-radius: 999px;
    display: block;
    height: 10px;
    overflow: hidden;
}

.cierres-bar-track i {
    border-radius: inherit;
    display: block;
    height: 100%;
    min-width: 0;
    transition: width 0.45s ease;
}

.cierres-bar-track .bar-publico { background: linear-gradient(90deg, #2f78b7, #5fa6d9); }
.cierres-bar-track .bar-privado { background: linear-gradient(90deg, #8068c8, #ad92e1); }
.cierres-bar-track .bar-cerrado { background: linear-gradient(90deg, #1ca66b, #63c993); }
.cierres-bar-track .bar-en_proceso { background: linear-gradient(90deg, #e4a723, #f3cd62); }
.cierres-bar-track .bar-sin_generar { background: linear-gradient(90deg, #7990a3, #b8c5cf); }

@keyframes cierres-analytics-in {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 900px) {
    .cierres-view-tabs {
        display: flex;
        width: 100%;
    }

    .cierres-view-tabs a {
        flex: 1 1 0;
        justify-content: center;
        padding: 0 8px;
        text-align: center;
    }

    .cierres-pending-heading {
        align-items: flex-start;
        flex-direction: column;
        padding: 18px;
    }

    form.cierres-pending-search {
        grid-template-columns: 1fr;
    }

    .cierres-pending-search .btn {
        max-width: none;
        width: 100%;
    }

    .cierres-analytics-kpis,
    .cierres-analytics-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cierres-analytics-filter {
        grid-template-columns: 1fr auto;
    }

    .cierres-analytics-filter-copy {
        grid-column: 1 / -1;
    }

    .cierres-status-card {
        grid-column: 1 / -1;
    }
}

@media (max-width: 620px) {
    .cierres-analytics-head {
        align-items: flex-start;
        flex-direction: column;
        min-height: 0;
        padding: 22px 18px;
    }

    .cierres-analytics-head h2 {
        font-size: 20px;
    }

    .cierres-analytics-year {
        min-width: 124px;
    }

    .cierres-analytics-filter {
        align-items: stretch;
        grid-template-columns: 1fr;
        padding: 14px 18px;
    }

    .cierres-analytics-filter-copy {
        grid-column: auto;
    }

    .cierres-analytics-filter label,
    .cierres-analytics-filter select,
    .cierres-analytics-filter .btn {
        width: 100%;
    }

    .cierres-analytics-kpis,
    .cierres-analytics-grid {
        grid-template-columns: 1fr;
        padding-left: 18px;
        padding-right: 18px;
    }

    .cierres-status-card {
        grid-column: auto;
    }

    .cierres-status-bars {
        grid-template-columns: 1fr;
    }

    .cierres-sector-visual {
        flex-direction: column;
        gap: 18px;
    }
}

.webdoc-table-wrap .data-table {
    min-width: 0;
    table-layout: fixed;
}

.webdoc-table-wrap .data-table th,
.webdoc-table-wrap .data-table td {
    padding: 10px 12px;
}

.webdoc-table-wrap .data-table th:nth-child(1),
.webdoc-table-wrap .data-table td:nth-child(1) {
    width: 108px;
    white-space: nowrap;
}

.webdoc-table-wrap .data-table th:nth-child(2),
.webdoc-table-wrap .data-table td:nth-child(2) {
    width: 24%;
}

.webdoc-table-wrap .data-table th:nth-child(3),
.webdoc-table-wrap .data-table td:nth-child(3) {
    width: 126px;
    white-space: nowrap;
}

.webdoc-table-wrap .data-table th:nth-child(4),
.webdoc-table-wrap .data-table td:nth-child(4) {
    width: 16%;
}

.webdoc-table-wrap .data-table th:nth-child(5),
.webdoc-table-wrap .data-table td:nth-child(5) {
    width: 24%;
}

.webdoc-table-wrap .data-table th:nth-child(6),
.webdoc-table-wrap .data-table td:nth-child(6) {
    width: 18%;
}

.webdoc-table-wrap .data-table th:nth-child(7),
.webdoc-table-wrap .data-table td:nth-child(7) {
    width: 170px;
}

.webdoc-table-wrap .data-table td {
    overflow-wrap: anywhere;
}

.webdoc-table-wrap .table-actions {
    justify-content: flex-start;
}

.webdoc-detail-cell > span {
    display: -webkit-box;
    max-height: 4.25em;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.webdoc-notification-cell {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.webdoc-notification-cell strong {
    color: var(--blue-900);
    font-size: 13px;
    line-height: 1.25;
}

.webdoc-notification-cell small {
    color: #60758b;
    font-size: 12px;
    line-height: 1.35;
}

.webdoc-notification-detail[hidden] {
    display: none !important;
}

.webdoc-modal-dialog {
    max-width: 960px;
    width: min(960px, calc(100vw - 28px));
}

.webdoc-form {
    background: #f6f9fc;
    display: grid;
    gap: 12px;
    padding: 16px 20px 18px;
}

.webdoc-form-section,
.webdoc-comments-panel {
    background: #ffffff;
    border: 1px solid #d9e6f2;
    border-radius: 8px;
    display: grid;
    gap: 12px;
    padding: 13px 14px 14px;
}

.webdoc-section-head {
    align-items: center;
    border-bottom: 1px solid #edf3f8;
    display: flex;
    justify-content: space-between;
    margin: -2px 0 2px;
    padding-bottom: 9px;
}

.webdoc-section-head .form-section-title {
    margin: 0;
}

.webdoc-main-grid,
.webdoc-notification-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(150px, 0.35fr) minmax(260px, 1fr);
}

.webdoc-notification-grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
}

.webdoc-form label {
    margin: 0;
}

.webdoc-form label small {
    color: #6b8095;
    display: block;
    font-size: 11px;
    font-weight: 500;
    margin-top: 5px;
}

.webdoc-segmented-field {
    margin: 0;
}

.webdoc-option-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.webdoc-option-grid .period-option span {
    border-radius: 6px;
    min-height: 38px;
}

.webdoc-option-grid .period-option input:checked + span {
    box-shadow: 0 8px 18px rgba(47, 103, 154, 0.18);
}

.webdoc-notification-options {
    margin-top: -2px;
}

.webdoc-comments-panel {
    background: #fbfdff;
}

.webdoc-comments-panel .task-comments-head {
    border-bottom: 1px solid #edf3f8;
    padding-bottom: 9px;
}

.webdoc-comments-panel > label textarea {
    min-height: 96px;
}

.webdoc-form .sent-log-accordion {
    background: #ffffff;
    margin: 0;
}

@media (max-width: 760px) {
    .webdoc-main-grid,
    .webdoc-notification-grid,
    .webdoc-option-grid {
        grid-template-columns: 1fr;
    }

    .webdoc-form {
        padding: 12px;
    }
}

.maintenance-table {
    max-height: calc(100vh - 292px);
    overflow: auto;
}

.maintenance-table .data-table {
    min-width: 980px;
}

.maintenance-table .data-table th,
.maintenance-table .data-table td {
    padding: 10px 12px;
    vertical-align: middle;
}

.maintenance-table .data-table td:nth-child(6),
.maintenance-table .data-table td:nth-child(7) {
    max-width: 360px;
}

.maintenance-table .data-table td:nth-child(6),
.maintenance-table .data-table td:nth-child(7),
.maintenance-table .data-table td:nth-child(3),
.maintenance-table .data-table td:nth-child(4) {
    overflow-wrap: anywhere;
}

.table-link {
    color: var(--blue-800);
    display: inline-block;
    font-weight: 700;
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
    white-space: nowrap;
}

.colegio-results-table {
    max-height: calc(100vh - 360px);
    overflow: auto;
}

.colegio-results-table .data-table {
    min-width: 1320px;
}

.colegio-results-table .data-table th,
.colegio-results-table .data-table td {
    padding: 10px 12px;
    vertical-align: middle;
}

.colegio-results-table .data-table td:nth-child(3),
.colegio-results-table .data-table td:nth-child(5),
.colegio-results-table .data-table td:nth-child(7),
.colegio-results-table .data-table td:nth-child(8) {
    max-width: 260px;
    overflow-wrap: anywhere;
}

.printer-results-table .data-table {
    min-width: 980px;
}

.access-results-table .data-table {
    min-width: 1180px;
}

.access-results-table .data-table th,
.access-results-table .data-table td {
    padding: 10px 12px;
    vertical-align: middle;
}

.access-results-table .data-table th:nth-child(1),
.access-results-table .data-table td:nth-child(1) {
    width: 150px;
}

.access-results-table .data-table th:nth-child(2),
.access-results-table .data-table td:nth-child(2) {
    width: 360px;
}

.access-results-table .data-table th:nth-child(3),
.access-results-table .data-table td:nth-child(3) {
    width: 220px;
}

.access-results-table .data-table th:nth-child(4),
.access-results-table .data-table td:nth-child(4),
.access-results-table .data-table th:nth-child(5),
.access-results-table .data-table td:nth-child(5),
.access-results-table .data-table th:nth-child(7),
.access-results-table .data-table td:nth-child(7) {
    white-space: nowrap;
    width: 120px;
}

.access-results-table .data-table td:nth-child(3),
.access-results-table .data-table td:nth-child(6) {
    max-width: 230px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.access-user-secret {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.access-user-value {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.access-secret-preview {
    align-items: center;
    display: inline-flex;
    gap: 6px;
    min-width: 0;
}

.access-secret-label {
    color: #60758b;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.access-secret-preview code {
    background: #f2f7fc;
    border: 1px solid #d7e7f4;
    border-radius: 999px;
    color: #183955;
    font-family: inherit;
    font-size: 12px;
    font-weight: 800;
    max-width: 120px;
    overflow: hidden;
    padding: 3px 8px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.access-secret-preview.is-empty code {
    color: #6b7f93;
    font-weight: 700;
}

.access-secret-toggle {
    align-items: center;
    background: #eef6ff;
    border: 1px solid #bdd7ed;
    border-radius: 7px;
    color: #17598e;
    cursor: pointer;
    display: inline-flex;
    height: 26px;
    justify-content: center;
    padding: 0;
    width: 28px;
}

.access-secret-toggle:hover,
.access-secret-toggle:focus {
    background: #e1f0ff;
    outline: none;
}

.access-secret-toggle:disabled {
    cursor: progress;
    opacity: .7;
}

.access-results-table .status-badge {
    min-width: 76px;
    justify-content: center;
    white-space: nowrap;
}

.access-interface-cell {
    align-items: center;
    display: flex;
    gap: 10px;
    min-width: 0;
}

.access-interface-cell strong {
    color: #0d2d4d;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.access-favicon {
    align-items: center;
    background: #eef6ff;
    border: 1px solid #c9def0;
    border-radius: 8px;
    color: #17598e;
    display: inline-flex;
    flex: 0 0 34px;
    font-size: 13px;
    font-weight: 800;
    height: 34px;
    justify-content: center;
    overflow: hidden;
    width: 34px;
}

.access-favicon img {
    display: block;
    height: 20px;
    width: 20px;
}

.access-favicon img + span {
    display: none;
}

.access-favicon.is-fallback span {
    display: inline;
}

.access-results-table .table-link {
    max-width: 150px;
}

.access-results-table small {
    color: #61758b;
    display: inline-block;
    margin-left: 6px;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
    white-space: nowrap;
}

.printer-thumb {
    align-items: center;
    background: #edf5fb;
    border: 1px solid #cfe0ef;
    border-radius: 8px;
    color: var(--blue-800);
    display: inline-flex;
    height: 46px;
    justify-content: center;
    overflow: hidden;
    width: 58px;
}

.printer-thumb img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.printer-thumb .printer-placeholder-icon {
    height: 22px;
    width: 22px;
}

.paper-dashboard {
    display: grid;
    gap: 14px;
    margin-bottom: 0;
    overflow: hidden;
    padding: 0 18px 14px;
    position: relative;
}

.paper-dashboard::before {
    background: var(--yellow);
    content: "";
    height: 4px;
    inset: 0 0 auto;
    position: absolute;
}

.paper-dashboard-head {
    align-items: center;
    background:
        linear-gradient(90deg, rgba(248, 216, 16, 0.13), rgba(255, 255, 255, 0) 42%),
        #ffffff;
    border-bottom: 1px solid #dfe7ef;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin: 0 -18px;
    padding: 22px 18px 16px;
}

.paper-dashboard-head .crumb {
    align-items: center;
    background: var(--yellow-soft);
    border: 1px solid var(--yellow-border);
    border-radius: 999px;
    color: var(--yellow-ink);
    display: inline-flex;
    font-size: 11px;
    min-height: 26px;
    padding: 5px 10px;
}

.paper-dashboard-head h2 {
    color: #102743;
    font-size: 21px;
    margin: 0 0 5px;
}

.panel-head-actions {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.panel-head-btn {
    min-height: 34px;
    padding: 7px 12px;
}

.paper-dashboard-head .panel-head-btn {
    background: #ffffff;
    border-color: #d8c24a;
    color: var(--blue-900);
}

.paper-dashboard-head .panel-head-btn:hover {
    background: var(--yellow-soft);
    border-color: var(--yellow-border);
}

.paper-dashboard-head .status-badge.status-activo {
    background: #ffffff;
    border-color: #bfe4cc;
    box-shadow: 0 6px 14px rgba(31, 122, 67, 0.08);
}

.paper-kpis {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(150px, 1fr));
}

.paper-kpi {
    background: #ffffff;
    border: 1px solid #d9e8f5;
    border-radius: 8px;
    display: grid;
    gap: 4px;
    min-height: 92px;
    padding: 13px 14px;
}

.paper-kpi.is-primary {
    background: linear-gradient(135deg, #276498, #3587c4);
    border-color: #276498;
}

.paper-kpi:nth-child(2) {
    background: #f0faf6;
    border-color: #bfe4cc;
}

.paper-kpi:nth-child(3) {
    background: #fff8df;
    border-color: #f4d568;
}

.paper-kpi:nth-child(4) {
    background: #f5f2ff;
    border-color: #d7cdf7;
}

.paper-kpi span,
.paper-kpi small {
    color: var(--muted);
    font-size: 12px;
}

.paper-kpi strong {
    color: var(--blue-900);
    font-size: 24px;
    line-height: 1.15;
}

.paper-kpi:nth-child(2) strong {
    color: #16865d;
}

.paper-kpi:nth-child(3) strong {
    color: #9b6500;
}

.paper-kpi:nth-child(4) strong {
    color: #4c3f91;
}

.paper-kpi.is-primary span,
.paper-kpi.is-primary small,
.paper-kpi.is-primary strong {
    color: #ffffff;
}

.computer-kpis {
    margin-bottom: 14px;
}

.computer-tabs {
    align-items: center;
    border-bottom: 1px solid #d9e5ef;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: -14px -14px 14px;
    padding: 12px 18px;
}

.computer-tabs a {
    align-items: center;
    background: #ffffff;
    border: 1px solid #cbdbea;
    border-radius: 8px;
    color: var(--blue-900);
    display: inline-flex;
    gap: 8px;
    min-height: 38px;
    padding: 0 14px;
    text-decoration: none;
}

.computer-tabs a.is-active {
    background: var(--blue-800);
    border-color: var(--blue-800);
    color: #ffffff;
}

.computer-tabs em {
    align-items: center;
    background: rgba(45, 111, 166, 0.12);
    border-radius: 999px;
    display: inline-flex;
    font-style: normal;
    font-size: 12px;
    font-weight: 700;
    min-width: 24px;
    padding: 2px 8px;
    justify-content: center;
}

.computer-tabs a.is-active em {
    background: rgba(255, 255, 255, 0.2);
}

.computer-tabs .tab-icon {
    fill: none;
    height: 17px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 17px;
}

.maintenance-board.is-ajax-loading {
    opacity: 0.68;
    pointer-events: none;
    transition: opacity 0.16s ease;
}

.computers-search-row {
    margin-bottom: 0;
}

.computer-results-table small {
    color: var(--muted);
    display: block;
    font-size: 12px;
    margin-top: 3px;
}

.computer-form .planilla-form-section {
    margin-bottom: 14px;
}

.computer-maintenance-table td:nth-child(4),
.computer-maintenance-table td:nth-child(5) {
    max-width: 360px;
}

.paper-chart {
    background: #f8fbfe;
    border: 1px solid #d9e8f5;
    border-radius: 8px;
    display: grid;
    gap: 10px;
    padding: 13px;
}

.paper-chart-head {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: space-between;
}

.paper-chart-head strong {
    color: #102743;
    font-size: 15px;
}

.paper-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.paper-legend span {
    align-items: center;
    color: #405366;
    display: inline-flex;
    font-size: 12px;
    gap: 6px;
}

.paper-legend span::before {
    border-radius: 999px;
    content: "";
    height: 8px;
    width: 18px;
}

.paper-legend .is-carta::before {
    background: #16865d;
}

.paper-legend .is-oficio::before {
    background: #f4c400;
}

.paper-year-list {
    display: grid;
    gap: 8px;
}

.paper-year-row {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d9e8f5;
    border-left: 4px solid #9dc4e9;
    border-radius: 8px;
    display: grid;
    gap: 14px;
    grid-template-columns: 120px minmax(280px, 1fr) minmax(250px, auto);
    min-height: 58px;
    padding: 10px 12px;
}

.paper-year-row:nth-child(4n + 1) {
    border-left-color: #16865d;
}

.paper-year-row:nth-child(4n + 2) {
    border-left-color: #f4c400;
}

.paper-year-row:nth-child(4n + 3) {
    border-left-color: #3f8ed3;
}

.paper-year-row:nth-child(4n + 4) {
    border-left-color: #8b6fd6;
}

.paper-year-main {
    display: grid;
    gap: 3px;
}

.paper-year-main strong {
    color: #102743;
    font-size: 18px;
}

.paper-year-main span,
.paper-year-detail,
.paper-year-visual small {
    color: var(--muted);
    font-size: 12px;
}

.paper-year-visual {
    display: grid;
    gap: 5px;
}

.paper-year-bar {
    background: #eef4f9;
    border-radius: 999px;
    height: 14px;
    overflow: hidden;
    width: 100%;
}

.paper-year-bar > span {
    background: #ffe58a;
    border-radius: inherit;
    display: block;
    height: 100%;
    min-width: 0;
}

.paper-year-bar b {
    background: #16865d;
    display: block;
    height: 100%;
}

.paper-year-detail {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    justify-content: flex-end;
}

.paper-year-detail span {
    background: #f7fbff;
    border: 1px solid #e1edf6;
    border-radius: 999px;
    padding: 5px 8px;
    white-space: nowrap;
}

.paper-year-detail span:nth-child(1) {
    background: #f0faf6;
    border-color: #bfe4cc;
    color: #16865d;
}

.paper-year-detail span:nth-child(2) {
    background: #fff8df;
    border-color: #f4d568;
    color: #9b6500;
}

.paper-empty {
    background: #ffffff;
    border: 1px dashed #c9dcec;
    border-radius: 8px;
    color: var(--muted);
    display: grid;
    gap: 4px;
    padding: 16px;
}

.paper-empty strong {
    color: #102743;
}

.paper-analysis-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(280px, 0.38fr) minmax(0, 1fr);
    padding: 0 18px 18px;
}

.paper-breakdown-card,
.paper-ranking-card {
    background: #ffffff;
    border: 1px solid #d9e8f5;
    border-radius: 8px;
    display: grid;
    gap: 12px;
    padding: 13px;
}

.paper-breakdown-card h3,
.paper-ranking-card h3 {
    color: var(--blue-900);
    font-size: 17px;
    margin: 4px 0;
}

.paper-donut {
    align-items: center;
    aspect-ratio: 1;
    background:
        radial-gradient(circle at center, #ffffff 0 52%, transparent 53%),
        conic-gradient(#16865d calc(var(--paper-carta) * 1%), #f4c400 0);
    border-radius: 50%;
    display: grid;
    justify-items: center;
    margin: 4px auto;
    max-width: 190px;
    width: 72%;
}

.paper-donut strong {
    color: var(--blue-900);
    font-size: 26px;
    line-height: 1;
}

.paper-donut span {
    color: #526981;
    font-size: 12px;
    margin-top: -34px;
}

.paper-split-bars {
    display: grid;
    gap: 8px;
}

.paper-split-bars div {
    display: grid;
    gap: 4px;
    grid-template-columns: 68px 1fr;
}

.paper-split-bars span,
.paper-split-bars b {
    color: #40566d;
    font-size: 12px;
}

.paper-split-bars b {
    justify-self: end;
}

.paper-split-bars em,
.paper-mini-bar {
    background: #eef4f9;
    border-radius: 999px;
    display: block;
    height: 8px;
    overflow: hidden;
}

.paper-split-bars em {
    grid-column: 1 / -1;
}

.paper-split-bars i,
.paper-mini-bar i {
    background: #16865d;
    border-radius: inherit;
    display: block;
    height: 100%;
}

.paper-split-bars div:nth-child(2) i {
    background: #f4c400;
}

.paper-ranking-head {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.paper-ranking-table {
    max-height: 360px;
    overflow: auto;
}

.paper-ranking-table .data-table {
    min-width: 720px;
}

.paper-mini-bar {
    margin-top: 7px;
    max-width: 260px;
}

.resma-filters {
    border-bottom: 1px solid #d9e5ef;
    margin: 0;
    padding: 14px 18px;
}

.resma-filter-grid {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(260px, 2.1fr) minmax(96px, 0.75fr) minmax(130px, 1fr) minmax(120px, 0.9fr) minmax(128px, 0.9fr) minmax(128px, 0.9fr) minmax(146px, 0.9fr) minmax(230px, auto);
}

.diploma-filter-grid {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(240px, 2fr) repeat(3, minmax(130px, 1fr)) minmax(150px, 1fr) auto;
}

.resma-filter-grid label,
.diploma-filter-grid label {
    margin: 0;
    min-width: 0;
}

.resma-filter-grid input,
.resma-filter-grid select,
.diploma-filter-grid input,
.diploma-filter-grid select {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 7px;
    font: inherit;
    margin-top: 6px;
    min-height: 38px;
    padding: 8px 10px;
    width: 100%;
}

.check-filter {
    align-items: center;
    background: #f7fbff;
    border: 1px solid #d9e8f5;
    border-radius: 8px;
    display: flex;
    gap: 8px;
    min-height: 38px;
    padding: 8px 10px;
}

.check-filter span {
    line-height: 1.25;
}

.check-filter input {
    margin: 0;
    min-height: 0;
    width: auto;
}

.filter-actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    min-width: 0;
}

.filter-actions .btn {
    justify-content: center;
    min-height: 38px;
    min-width: 106px;
    width: auto;
}

.diploma-filter-grid .filter-actions {
    gap: 10px;
}

.diploma-filter-grid .filter-actions .btn {
    min-width: 96px;
    width: auto;
}

.diploma-level-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(180px, 1fr) minmax(80px, 120px) minmax(180px, 1fr) minmax(80px, 120px);
    margin-bottom: 10px;
}

.diploma-level-grid label {
    margin: 0;
    min-width: 0;
}

.diploma-compact-form .planilla-form-section {
    margin-bottom: 10px;
    padding-bottom: 10px;
}

.diploma-compact-form .form-section-title {
    margin-bottom: 8px;
}

.diploma-compact-form textarea {
    min-height: 52px;
}

@media (max-width: 1200px) {
    .paper-kpis {
        grid-template-columns: repeat(2, minmax(150px, 1fr));
    }

    .paper-analysis-grid {
        grid-template-columns: 1fr;
    }

    .paper-year-row {
        grid-template-columns: 1fr;
    }

    .paper-year-detail {
        justify-content: flex-start;
    }

    .resma-filter-grid {
        grid-template-columns: repeat(auto-fit, minmax(136px, 1fr));
    }

    .resma-filter-grid label:first-child {
        grid-column: 1 / -1;
    }

    .resma-filter-grid .filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .diploma-filter-grid {
        grid-template-columns: repeat(auto-fit, minmax(136px, 1fr));
    }

    .diploma-filter-grid label:first-child {
        grid-column: 1 / -1;
    }

    .diploma-level-grid {
        grid-template-columns: minmax(0, 1fr) minmax(80px, 120px);
    }

    .access-card {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .maintenance-card {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .supply-card {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .access-meta {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .maintenance-meta {
        grid-column: 1 / -1;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .supply-meta {
        grid-column: 1 / -1;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.form-section-title {
    align-items: center;
    color: var(--blue-900);
    display: flex;
    font-size: 13px;
    font-weight: 700;
    gap: 8px;
    margin: 22px 0 4px;
    text-transform: uppercase;
}

.form-section-title::before {
    background: var(--yellow);
    border-radius: 999px;
    content: "";
    height: 8px;
    width: 8px;
}

.recording-status {
    align-items: center;
    border: 1px solid;
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    gap: 6px;
    line-height: 1;
    padding: 7px 10px;
}

.recording-status::before {
    border-radius: 999px;
    content: "";
    height: 7px;
    width: 7px;
}

.recording-status.is-ready {
    background: #ecfdf5;
    border-color: #a7f3d0;
    color: #047857;
}

.recording-status.is-ready::before {
    background: #10b981;
}

.recording-status.is-missing {
    background: #fef2f2;
    border-color: #fecaca;
    color: #b91c1c;
}

.recording-status.is-missing::before {
    background: #ef4444;
}

.recording-cell {
    text-align: center;
}

.recording-cell .recording-status {
    justify-content: center;
    min-width: 82px;
}

.recording-icon-link {
    background: #eef6ff;
    border-color: #b9d7f5;
    color: var(--blue-700);
}

.recording-icon-link:hover {
    background: #dceeff;
    border-color: #8bbce9;
    color: var(--blue-800);
}

.recording-link {
    color: var(--blue-700);
    display: block;
    font-size: 12px;
    font-weight: 700;
    margin-top: 6px;
    text-decoration: none;
}

.recording-link:hover {
    text-decoration: underline;
}

.cap-action-stack {
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
    justify-content: flex-start;
    max-width: 176px;
}

.cap-action-stack .icon-btn {
    flex: 0 0 34px;
    height: 34px;
    width: 34px;
}

.cap-action-stack form {
    flex: 0 0 34px;
}

.flat-table .data-table th:last-child,
.flat-table .data-table td:last-child {
    min-width: 176px;
}

.flat-table .data-table td:last-child {
    overflow: visible;
}

.flat-table .data-table td:last-child .table-actions {
    min-width: 0;
}

.message-action-btn {
    background: #eef6ff;
    border-color: #b9d7f5;
    color: var(--blue-700);
}

.message-action-btn:hover {
    background: #dcebff;
}

.message-action-btn.whatsapp {
    background: #ecfdf5;
    border-color: #a7f3d0;
    color: #047857;
}

.message-action-btn.whatsapp:hover {
    background: #d1fae5;
}

.message-action-btn.history {
    background: #fff9e6;
    border-color: #f4d568;
    color: #8a6200;
}

.message-action-btn.history:hover {
    background: #fff2bf;
}

.message-action-btn.email.is-sent,
.message-action-btn.history.is-sent,
.message-action-btn.whatsapp.is-sent {
    box-shadow: inset 0 0 0 2px #10b981;
    position: relative;
}

.message-action-btn.email.is-sent::after,
.message-action-btn.history.is-sent::after,
.message-action-btn.whatsapp.is-sent::after {
    background: #10b981;
    border: 2px solid #ffffff;
    border-radius: 999px;
    content: "";
    height: 9px;
    position: absolute;
    right: -3px;
    top: -3px;
    width: 9px;
}

.message-action-btn.is-disabled {
    background: #f4f7fb;
    border-color: #d8e3ef;
    color: #8aa0b8;
    cursor: not-allowed;
    opacity: 0.75;
}

.message-action-btn.survey {
    background: #eef2ff;
    border-color: #c7d2fe;
    color: #31529b;
}

.message-action-btn.survey:hover {
    background: #e0e7ff;
}

.message-action-btn.attendance {
    background: #f5f3ff;
    border-color: #c4b5fd;
    color: #6d28d9;
}

.message-action-btn.attendance:hover {
    background: #ede9fe;
    border-color: #a78bfa;
    color: #5b21b6;
}

.message-action-btn.attendance.is-disabled {
    background: #f4f7fb;
    border-color: #d8e3ef;
    color: #8aa0b8;
}

.message-action-btn.attendance.is-disabled:hover {
    background: #f4f7fb;
    border-color: #d8e3ef;
    color: #8aa0b8;
}

.message-action-btn.qr {
    background: #ecfeff;
    border-color: #a5f3fc;
    color: #0e7490;
}

.message-action-btn.qr:hover {
    background: #cffafe;
    border-color: #67e8f9;
    color: #155e75;
}

.message-action-btn.report {
    background: #fff8df;
    border-color: #f0ca58;
    color: #8a6200;
}

.message-action-btn.report:hover {
    background: #ffefbd;
    border-color: #deb02f;
    color: #684100;
}

.message-action-btn.report.is-disabled,
.message-action-btn.report.is-disabled:hover {
    background: #f4f7fb;
    border-color: #d8e3ef;
    color: #8aa0b8;
}

.recording-link.attendance-link {
    align-items: center;
    background: #f5f3ff;
    border: 1px solid #ddd6fe;
    border-radius: 999px;
    color: #5b21b6;
    display: inline-flex;
    gap: 6px;
    line-height: 1;
    margin-top: 6px;
    padding: 5px 8px;
    width: max-content;
}

.recording-link.attendance-link:hover {
    background: #ede9fe;
    border-color: #c4b5fd;
    text-decoration: none;
}

.inline-link-icon {
    width: 14px;
    height: 14px;
    stroke: currentColor;
    stroke-width: 2;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex: 0 0 auto;
}

.whatsapp-confirm-dialog {
    max-width: 560px;
    width: min(560px, 100%);
}

.mail-send-dialog {
    display: flex;
    flex-direction: column;
    max-width: 680px;
    width: min(680px, 100%);
}

.mail-send-dialog .floating-modal-head {
    flex: 0 0 auto;
}

.whatsapp-confirm-body {
    display: grid;
    gap: 14px;
    padding: 18px 20px 20px;
}

.whatsapp-number-card {
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    border-radius: 8px;
    color: #064e3b;
    display: grid;
    gap: 5px;
    padding: 12px 14px;
}

.whatsapp-number-card span {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.whatsapp-number-card strong {
    font-size: 20px;
}

.whatsapp-number-card small {
    color: #047857;
}

.correo-number-card {
    background: #eef6ff;
    border-color: #b9d7f5;
    color: var(--blue-900);
}

.correo-number-card small {
    color: var(--blue-700);
}

.history-number-card {
    background: #fff9e6;
    border-color: #f4d568;
    color: #6f4f00;
}

.history-number-card small {
    color: #8a6200;
}

.attendance-report-dialog {
    background: #f5f9fd;
    max-width: 800px;
    width: min(800px, 100%);
}

.attendance-report-head {
    background:
        linear-gradient(135deg, rgba(16, 69, 111, 0.98), rgba(45, 128, 195, 0.94)),
        linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
    background-size: auto, 58px 58px;
    color: #ffffff;
}

.attendance-report-head .section-kicker {
    color: var(--yellow);
}

.attendance-report-head h2 {
    color: #ffffff;
}

.attendance-report-head .icon-btn {
    border-color: rgba(255, 255, 255, 0.45);
    color: #ffffff;
}

.attendance-report-body {
    gap: 16px;
    max-height: calc(100vh - 132px);
    overflow-y: auto;
}

.attendance-report-document {
    background: #ffffff;
    border: 1px solid #d3e4f2;
    border-radius: 12px;
    box-shadow: 0 14px 34px rgba(25, 64, 100, 0.08);
    color: #0b2942;
    display: grid;
    gap: 16px;
    padding: 22px;
}

.attendance-report-document-head {
    align-items: center;
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.08) 0 1px, transparent 1px 58px),
        linear-gradient(135deg, rgba(37, 92, 137, 0.98), rgba(66, 139, 202, 0.96));
    border: 1px solid rgba(174, 210, 239, 0.72);
    border-radius: 12px;
    color: #ffffff;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    overflow: hidden;
    padding: 15px 18px;
    position: relative;
}

.attendance-report-document-head::after {
    background: linear-gradient(110deg, transparent 0 68%, rgba(255, 222, 23, 0.22) 68% 70%, rgba(255, 255, 255, 0.18) 70% 72%, transparent 72%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.attendance-report-brand {
    align-items: center;
    display: flex;
    gap: 14px;
    min-width: 0;
    position: relative;
    z-index: 1;
}

.attendance-report-logo {
    align-items: center;
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 9px;
    box-shadow: 0 10px 22px rgba(7, 35, 61, 0.16);
    display: flex;
    flex: 0 0 auto;
    height: 48px;
    justify-content: center;
    padding: 6px;
    width: 140px;
}

.attendance-report-logo img {
    display: block;
    height: auto;
    max-height: 34px;
    max-width: 100%;
    object-fit: contain;
}

.attendance-report-titleblock {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.attendance-report-format-badge {
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 10px;
    display: grid;
    flex: 0 0 auto;
    gap: 3px;
    min-width: 132px;
    padding: 10px 12px;
    position: relative;
    text-align: right;
    z-index: 1;
}

.attendance-report-school span,
.attendance-report-grid span,
.attendance-report-section-title span,
.attendance-report-link-card span {
    color: #1f5f93;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.attendance-report-document-head .attendance-report-kicker {
    color: #ffde17;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.attendance-report-document-head strong {
    color: #ffffff;
    font-size: 25px;
    line-height: 1.12;
}

.attendance-report-document-head small {
    color: rgba(255, 255, 255, 0.86);
    font-weight: 800;
}

.attendance-report-format-badge span {
    color: #ffde17;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.attendance-report-format-badge strong {
    color: #ffffff;
    font-size: 13px;
    line-height: 1.2;
}

.attendance-report-school small {
    color: #587089;
    font-weight: 700;
}

.attendance-report-school {
    background: #eef6ff;
    border: 1px solid #c7ddf1;
    border-left: 4px solid var(--yellow);
    border-radius: 10px;
    display: grid;
    gap: 5px;
    padding: 14px 16px;
}

.attendance-report-school strong {
    color: #06233d;
    font-size: 20px;
    line-height: 1.2;
}

.attendance-report-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
}

.attendance-report-grid div,
.attendance-report-link-card {
    background: #fbfdff;
    border: 1px solid #d6e6f4;
    border-radius: 10px;
    display: grid;
    gap: 6px;
    min-width: 0;
    padding: 12px;
}

.attendance-report-grid strong {
    color: #0b2942;
    font-size: 13px;
    line-height: 1.3;
}

.attendance-report-people {
    background: #ffffff;
    border: 1px solid #d6e6f4;
    border-radius: 10px;
    display: grid;
    gap: 10px;
    padding: 14px;
}

.attendance-report-section-title {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.attendance-report-section-title strong {
    background: #eef6ff;
    border: 1px solid #c7ddf1;
    border-radius: 999px;
    color: var(--blue-800);
    font-size: 12px;
    font-weight: 900;
    padding: 5px 9px;
    white-space: nowrap;
}

.attendance-report-note {
    background: #fff9e6;
    border: 1px solid #f4d568;
    border-radius: 8px;
    color: #6f4f00;
    font-size: 12px;
    font-weight: 700;
    margin: 0;
    padding: 8px 10px;
}

.attendance-report-table-wrap {
    overflow-x: auto;
}

.attendance-report-table {
    border-collapse: collapse;
    min-width: 520px;
    width: 100%;
}

.attendance-report-table th,
.attendance-report-table td {
    border-bottom: 1px solid #d9e8f5;
    color: #12314b;
    font-size: 12px;
    line-height: 1.35;
    padding: 8px 7px;
    text-align: left;
    vertical-align: top;
}

.attendance-report-table th {
    background: #eef6ff;
    color: #0d4f83;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.attendance-report-table th:first-child,
.attendance-report-table td:first-child {
    text-align: center;
    width: 38px;
}

.attendance-report-empty {
    background: #fbfdff;
    border: 1px dashed #b8cfe4;
    border-radius: 10px;
    color: #587089;
    display: grid;
    gap: 4px;
    padding: 14px;
}

.attendance-report-empty strong {
    color: #0b2942;
}

.attendance-report-links {
    display: grid;
    gap: 10px;
}

.attendance-report-link-card {
    border-left: 4px solid #2d80c3;
}

.attendance-report-link-card a,
.attendance-report-link-card strong {
    color: var(--blue-800);
    font-size: 13px;
    font-weight: 800;
    overflow-wrap: anywhere;
    text-decoration: none;
}

.attendance-report-link-card a:hover {
    text-decoration: underline;
}

.attendance-report-link-card.is-missing {
    border-left-color: #f2c300;
}

.attendance-report-link-card.is-missing strong {
    color: #8a6200;
}

.attendance-report-message {
    color: #244963;
    display: grid;
    font-size: 14px;
    gap: 10px;
    line-height: 1.55;
}

.attendance-report-message p {
    margin: 0;
}

.attendance-report-actions {
    justify-content: flex-end;
}

.attendance-qr-dialog {
    background: #f5f9fd;
    max-width: 920px;
    width: min(920px, 100%);
}

.attendance-qr-body {
    gap: 16px;
}

.attendance-qr-card {
    background: #ffffff;
    border: 1px solid #d3e4f2;
    border-radius: 14px;
    box-shadow: 0 16px 34px rgba(25, 64, 100, 0.1);
    display: grid;
    gap: 18px;
    grid-template-columns: 360px minmax(0, 1fr);
    padding: 18px;
}

.attendance-qr-preview {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d6e6f4;
    border-radius: 14px;
    display: flex;
    justify-content: center;
    min-height: 360px;
    padding: 18px;
}

.attendance-qr-preview a {
    display: block;
    line-height: 0;
}

.attendance-qr-preview img {
    background: #ffffff;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    display: block;
    height: auto;
    max-width: 100%;
    padding: 0;
    width: 320px;
}

.attendance-qr-content {
    align-content: center;
    display: grid;
    gap: 12px;
    min-width: 0;
}

.attendance-qr-content h3 {
    color: #06233d;
    font-size: 22px;
    line-height: 1.16;
    margin: 0;
}

.attendance-qr-content p {
    color: #48657f;
    font-weight: 700;
    line-height: 1.5;
    margin: 0;
}

.attendance-qr-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.attendance-qr-meta span {
    background: #eef6ff;
    border: 1px solid #d6e6f4;
    border-radius: 999px;
    color: #245274;
    font-size: 12px;
    font-weight: 800;
    padding: 6px 10px;
}

.attendance-qr-link {
    margin-top: 2px;
}

.attendance-qr-actions {
    justify-content: flex-end;
}

.attendance-print-root {
    display: none;
}

.attendance-print-frame {
    border: 0;
    height: 1056px;
    left: -10000px;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    top: 0;
    width: 816px;
}

@media (max-width: 760px) {
    .attendance-report-document-head {
        align-items: stretch;
        flex-direction: column;
    }

    .attendance-report-format-badge {
        text-align: left;
    }

    .attendance-report-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .attendance-report-document {
        padding: 16px;
    }

    .attendance-report-brand {
        align-items: flex-start;
        flex-direction: column;
    }

    .attendance-report-logo {
        width: 128px;
    }

    .attendance-report-grid {
        grid-template-columns: 1fr;
    }

    .attendance-report-actions {
        justify-content: stretch;
    }

    .attendance-report-actions .btn {
        justify-content: center;
        width: 100%;
    }

    .attendance-qr-card {
        grid-template-columns: 1fr;
    }

    .attendance-qr-preview {
        min-height: 280px;
    }

    .attendance-qr-actions {
        justify-content: stretch;
    }

    .attendance-qr-actions .btn {
        justify-content: center;
        width: 100%;
    }
}

@media print {
    @page {
        margin: 0;
        size: letter portrait;
    }

    html,
    body.is-printing-attendance {
        background: #ffffff !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.is-printing-attendance > :not(.attendance-print-root) {
        display: none !important;
    }

    body.is-printing-attendance .cap-floating-head {
        display: none !important;
        visibility: hidden !important;
    }

    body.is-printing-attendance .app-shell,
    body.is-printing-attendance .floating-modal {
        display: none !important;
    }

    body.is-printing-attendance .attendance-print-root {
        display: block !important;
        box-sizing: border-box !important;
        padding: 10mm !important;
        width: 100% !important;
    }

    body.is-printing-attendance .attendance-print-root,
    body.is-printing-attendance .attendance-print-root * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    body.is-printing-attendance .attendance-print-root .attendance-report-document {
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        gap: 12px !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body.is-printing-attendance .attendance-print-root .attendance-report-document-head {
        border-radius: 8px !important;
        padding: 12px 14px !important;
    }

    body.is-printing-attendance .attendance-print-root .attendance-report-logo {
        height: 42px !important;
        width: 124px !important;
    }

    body.is-printing-attendance .attendance-print-root .attendance-report-document-head strong {
        font-size: 20px !important;
    }

    body.is-printing-attendance .attendance-print-root .attendance-report-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    body.is-printing-attendance .attendance-print-root .attendance-report-table {
        min-width: 0 !important;
    }

    body.is-printing-attendance .attendance-print-root .attendance-report-table th,
    body.is-printing-attendance .attendance-print-root .attendance-report-table td {
        font-size: 10px !important;
        padding: 6px 5px !important;
    }

    body.is-printing-attendance .attendance-print-root .attendance-report-link-card a,
    body.is-printing-attendance .attendance-print-root .attendance-report-link-card strong {
        font-size: 10px !important;
    }
}

.sent-history-dialog {
    max-width: 620px;
    width: min(620px, 100%);
}

.task-history-dialog {
    background: #f6faff;
    max-width: 760px;
    width: min(760px, 100%);
}

.task-history-head {
    background:
        linear-gradient(135deg, rgba(16, 69, 111, 0.98), rgba(45, 128, 195, 0.94)),
        linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
    background-size: auto, 58px 58px;
    color: #ffffff;
}

.task-history-head .section-kicker {
    color: #ffdb1f;
}

.task-history-head h2,
.task-history-head .task-head-code {
    color: #ffffff;
}

.task-history-head .icon-btn {
    border-color: rgba(255, 255, 255, 0.45);
    color: #ffffff;
}

.task-history-body {
    gap: 16px;
    max-height: calc(100vh - 132px);
    overflow: auto;
}

.task-history-summary {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d3e4f2;
    border-radius: 12px;
    box-shadow: 0 12px 28px rgba(25, 64, 100, 0.07);
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 15px 16px;
}

.task-history-summary strong {
    color: #102b45;
    display: block;
    font-size: 17px;
    line-height: 1.35;
    margin-top: 5px;
}

.task-history-count {
    background: #eef6ff;
    border: 1px solid #c7ddf1;
    border-radius: 999px;
    color: var(--blue-800);
    font-size: 12px;
    font-weight: 900;
    padding: 6px 10px;
    white-space: nowrap;
}

.history-log-list {
    display: grid;
    gap: 12px;
    max-height: 430px;
    overflow-y: auto;
}

.whatsapp-confirm-body input[type="text"],
.whatsapp-confirm-body input[type="email"],
.whatsapp-confirm-body input[type="tel"],
.whatsapp-confirm-body input[type="file"] {
    background: #ffffff;
    border: 1px solid #cbdbea;
    border-radius: 8px;
    color: var(--ink);
    font: inherit;
    margin-top: 6px;
    min-height: 40px;
    padding: 9px 11px;
    width: 100%;
}

.whatsapp-confirm-body textarea {
    background: #fbfdff;
    border: 1px solid #cbdbea;
    border-radius: 8px;
    color: var(--ink);
    font: inherit;
    margin-top: 7px;
    padding: 10px 12px;
    resize: vertical;
    width: 100%;
}

.whatsapp-confirm-body .form-actions {
    align-items: center;
}

.whatsapp-confirm-body .form-actions form {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(180px, 1fr) auto;
    margin: 0;
    width: 100%;
}

.whatsapp-confirm-body .form-actions form.mail-attachment-form {
    grid-template-columns: minmax(190px, 1fr) minmax(190px, 1fr) auto;
}

.mail-send-dialog .whatsapp-confirm-body {
    gap: 16px;
    max-height: calc(100vh - 132px);
    overflow-y: auto;
}

.mail-send-dialog .whatsapp-number-card strong {
    font-size: 18px;
    overflow-wrap: anywhere;
}

.mail-send-dialog textarea {
    min-height: 165px;
}

.mail-send-dialog .mail-attachment-form {
    display: grid;
    gap: 12px;
}

.mail-send-dialog .mail-send-actions {
    align-items: center;
    background: #ffffff;
    border-top: 1px solid #d9e8f5;
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    margin-top: 2px;
    padding-top: 14px;
    position: sticky;
    bottom: -20px;
}

.mail-send-dialog .mail-send-actions .btn {
    min-width: 132px;
}

.whatsapp-phone-field {
    margin: 0;
}

.whatsapp-phone-field input {
    background: #ffffff;
    border: 1px solid #cbdbea;
    border-radius: 8px;
    color: var(--ink);
    font: inherit;
    margin-top: 6px;
    min-height: 40px;
    padding: 9px 11px;
    width: 100%;
}

.evals-response-dialog {
    max-width: 680px;
    width: min(680px, 100%);
}

.evals-observation-card {
    background: #f8fbff;
    border: 1px solid #d5e5f2;
    border-radius: 8px;
    color: #173d5c;
    display: grid;
    gap: 7px;
    padding: 12px 14px;
}

.evals-observation-card span {
    color: #245f93;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.evals-observation-card p {
    line-height: 1.5;
    margin: 0;
}

.evals-whatsapp-form {
    display: grid;
    gap: 14px;
}

.evals-whatsapp-form textarea {
    min-height: 250px;
}

.evals-whatsapp-form .form-actions {
    justify-content: flex-end;
}

.evals-history-link {
    align-items: center;
    color: #8a6200;
    display: inline-flex;
    font-weight: 800;
    gap: 7px;
    text-decoration: none;
}

.evals-response-actions {
    align-items: center;
    gap: 7px;
}

.evals-response-actions small {
    color: #536f86;
    flex-basis: 100%;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
}

.evals-response-history {
    display: grid;
    gap: 12px;
}

.evals-response-history article {
    background: #fbfdff;
    border: 1px solid #d8e6f1;
    border-radius: 8px;
    display: grid;
    gap: 6px;
    padding: 12px;
}

.evals-response-history article > span {
    color: #536f86;
    font-size: 12px;
}

.sent-log-list {
    display: grid;
    gap: 7px;
}

.sent-log-accordion {
    border: 1px solid #d9e8f5;
    border-radius: 8px;
    margin: 2px 0 12px;
    overflow: hidden;
}

.sent-log-accordion summary {
    align-items: center;
    background: #fbfdff;
    color: var(--blue-900);
    cursor: pointer;
    display: flex;
    font-size: 13px;
    font-weight: 800;
    gap: 8px;
    justify-content: space-between;
    list-style: none;
    padding: 10px 12px;
    text-transform: uppercase;
}

.sent-log-accordion summary::-webkit-details-marker {
    display: none;
}

.sent-log-accordion summary span {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.sent-log-accordion summary span::before {
    background: var(--yellow);
    border-radius: 999px;
    content: "";
    flex: 0 0 auto;
    height: 8px;
    width: 8px;
}

.sent-log-accordion summary::after {
    color: var(--blue-700);
    content: "+";
    font-size: 18px;
    line-height: 1;
}

.sent-log-accordion[open] summary::after {
    content: "-";
}

.sent-log-accordion summary small {
    background: #eef6ff;
    border-radius: 999px;
    color: var(--blue-700);
    font-size: 11px;
    font-weight: 800;
    margin-left: auto;
    padding: 3px 8px;
    text-transform: none;
}

.sent-log-accordion .sent-log-list {
    border-top: 1px solid #d9e8f5;
    padding: 9px;
}

.sent-log-item {
    align-items: center;
    background: #fbfdff;
    border: 1px solid #d9e8f5;
    border-radius: 8px;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    padding: 9px 10px;
}

.sent-log-item strong,
.sent-log-item span {
    display: block;
}

.sent-log-item strong {
    color: var(--blue-900);
    font-size: 12px;
}

.sent-log-item span,
.sent-log-item small,
.sent-log-empty {
    color: #526981;
    font-size: 11px;
}

.sent-log-item small {
    flex: 0 0 auto;
}

.sent-history-dialog .sent-log-item {
    align-items: stretch;
}

.sent-history-dialog .sent-log-item > div {
    min-width: 0;
    width: 100%;
}

.task-history-item {
    background: #ffffff;
    border: 1px solid #d7e6f2;
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(25, 64, 100, 0.06);
    display: grid;
    gap: 12px;
    padding: 14px;
}

.task-history-item-head {
    align-items: flex-start;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.task-history-item-head strong {
    color: var(--blue-900);
    display: block;
    font-size: 14px;
}

.task-history-item-head span {
    color: #667f96;
    font-size: 12px;
    font-weight: 750;
}

.task-history-item-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    justify-content: flex-end;
}

.task-history-channel,
.task-history-phone,
.task-history-status {
    border-radius: 999px;
    display: inline-flex;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.2;
    padding: 5px 8px;
}

.task-history-channel {
    background: #dcfce7;
    color: #047857;
}

.task-history-phone {
    background: #eef6ff;
    color: var(--blue-800);
}

.task-history-status {
    background: #fff7db;
    color: #8a6200;
}

.task-history-message-wrap {
    background: #f8fbfe;
    border: 1px solid #dce9f4;
    border-radius: 10px;
    padding: 12px 14px;
}

.task-history-message {
    color: #18334d;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.65;
    white-space: normal;
}

.task-history-message.is-empty {
    color: #70859a;
    font-style: italic;
}

.tasks-search-requirements {
    align-items: center;
    background: #eef7ff;
    border-color: #bdd7ef;
    color: var(--blue-900);
    display: inline-flex;
    gap: 7px;
    justify-content: center;
    white-space: nowrap;
}

.tasks-search-requirements:hover {
    background: #e2f0fb;
    border-color: #9ec6e8;
    color: var(--blue-900);
    text-decoration: none;
}

.tasks-search-requirements .button-icon {
    height: 16px;
    width: 16px;
}

.tasks-search-requirements em {
    align-items: center;
    background: rgba(47, 111, 166, 0.14);
    border-radius: 999px;
    color: var(--blue-800);
    display: inline-flex;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
    height: 22px;
    justify-content: center;
    min-width: 22px;
    padding: 0 7px;
}

.tasks-requirements-table td:nth-child(2) small {
    color: #63788d;
    display: block;
    line-height: 1.45;
    margin-top: 5px;
}

.sent-history-dialog .sent-log-item textarea {
    background: #ffffff;
    border: 1px solid #d8e6f1;
    border-radius: 8px;
    color: var(--text);
    font-size: 12px;
    line-height: 1.45;
    margin-top: 8px;
    min-height: 90px;
    padding: 9px 10px;
    resize: vertical;
    width: 100%;
}

.task-form-dialog {
    background: #f7fbff;
    display: flex;
    flex-direction: column;
    max-width: 980px;
    overflow: hidden;
}

.task-form-head {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(12, 56, 91, 0.98) 0%, rgba(38, 114, 176, 0.96) 100%),
        #216a9f;
    border-bottom: 0;
    color: #ffffff;
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 118px;
    padding: 20px 24px;
    position: relative;
}

.task-form-head::after {
    background: rgba(255, 255, 255, 0.13);
    content: "";
    height: 170%;
    position: absolute;
    right: 132px;
    top: -34%;
    transform: rotate(28deg);
    width: 20px;
}

.task-form-head::before {
    background: rgba(255, 255, 255, 0.08);
    content: "";
    height: 170%;
    position: absolute;
    right: 46px;
    top: -32%;
    transform: rotate(28deg);
    width: 2px;
}

.task-form-head > * {
    position: relative;
    z-index: 1;
}

.task-form-head .section-kicker {
    color: #ffe66d;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.02em;
}

.task-form-head h2 {
    color: #ffffff;
    font-size: 22px;
    line-height: 1.12;
    margin: 0;
}

.task-form-title-wrap {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.task-head-code {
    color: rgba(255, 255, 255, 0.9);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: 0;
}

.task-form-head-tools {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(160px, auto) minmax(176px, auto) 38px;
    min-width: 0;
}

.task-head-created-by,
.task-head-state {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.82);
    border-radius: 10px;
    box-shadow: 0 14px 28px rgba(4, 29, 52, 0.12);
    color: #17486f;
    display: grid;
    gap: 5px;
    min-height: 58px;
    padding: 9px 11px;
}

.task-head-created-by {
    min-width: 164px;
}

.task-head-created-by > span,
.task-head-state {
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.task-head-created-by .task-person {
    gap: 8px;
    min-width: 0;
}

.task-head-created-by .task-person-avatar {
    box-shadow: 0 4px 10px rgba(15, 47, 79, 0.18);
    height: 28px;
    width: 28px;
}

.task-head-created-by .task-person-copy strong {
    color: var(--blue-900);
    font-size: 13px;
}

.task-head-created-by .task-person-copy small {
    display: none;
}

.task-head-state {
    min-width: 186px;
}

.task-head-state select {
    appearance: none;
    background: rgba(255, 255, 255, 0.94);
    border: 0;
    border-radius: 8px;
    color: #0f2a44;
    cursor: pointer;
    font-size: 14px;
    font-weight: 900;
    height: 34px;
    margin-top: 2px;
    padding: 0 34px 0 14px;
    width: 100%;
}

.task-head-state select option {
    background: #ffffff;
    color: #0f2a44;
}

.task-head-state::after {
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid #1f5b86;
    bottom: 22px;
    content: "";
    pointer-events: none;
    position: absolute;
    right: 23px;
}

.task-head-state {
    position: relative;
}

.task-head-state::before {
    border-radius: 999px;
    bottom: 31px;
    content: "";
    display: none;
    height: 9px;
    left: 20px;
    position: absolute;
    width: 9px;
    z-index: 2;
}

.task-head-state.task-state-warning select {
    background: #eef6ff;
    padding-left: 14px;
}

.task-head-state.task-state-warning::before {
    background: #2f8ed8;
}

.task-head-state.task-state-proceso select {
    background: #e8f4ff;
    padding-left: 14px;
}

.task-head-state.task-state-proceso::before {
    background: #2f8ed8;
}

.task-head-state.task-state-activo select {
    background: #e9fbf3;
    padding-left: 14px;
}

.task-head-state.task-state-activo::before {
    background: #1f9d55;
}

.task-head-state.task-state-inactivo select {
    background: #ffe9e6;
    padding-left: 14px;
}

.task-head-state.task-state-inactivo::before {
    background: #e6534f;
}

.task-form-head .icon-btn {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.42);
    border-radius: 10px;
    color: #ffffff;
    height: 38px;
    width: 38px;
}

.task-form-dialog .task-form-body {
    background:
        linear-gradient(180deg, #f7fbff 0%, #ffffff 64%),
        #ffffff;
    flex: 1 1 auto;
    gap: 16px;
    max-height: none;
    min-height: 0;
    overflow-y: auto;
    padding: 18px 22px 20px;
}

.requirements-form-dialog {
    max-width: 980px;
}

.requirements-form-head {
    min-height: 116px;
}

.requirements-head-tools {
    grid-template-columns: minmax(174px, auto) minmax(176px, auto) 38px;
}

.req-head-registrar {
    min-width: 174px;
}

.req-head-registrar::after,
.req-head-registrar::before {
    display: none;
}

.req-head-registrar select {
    background: #f4f9ff;
    padding-left: 14px;
}

.requirements-form-body {
    max-height: none;
}

.requirements-form-body .field-grid.two:first-of-type {
    grid-template-columns: minmax(170px, 0.36fr) minmax(120px, 0.18fr);
}

body.section-requerimientos .requirements-head-metrics {
    min-width: min(100%, 308px);
}

body.section-requerimientos .table-actions {
    gap: 7px;
}

.task-form-body .planilla-form-section,
.task-form-body .segmented-field,
.task-form-body .task-comments-panel,
.task-form-body .file-picker-field {
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #cfe0ee;
    border-radius: 8px;
    box-shadow: 0 14px 32px rgba(28, 61, 96, 0.05);
}

.task-form-body .planilla-form-section {
    padding: 16px;
}

.task-form-body .form-section-title,
.task-form-body .segmented-field > span {
    color: #174a78;
}

.task-form-body .segmented-field {
    padding: 14px 16px;
}

.task-form-body .task-comments-panel,
.task-form-body .file-picker-field {
    padding: 13px 15px;
}

.task-form-body .task-form-actions {
    background:
        linear-gradient(180deg, rgba(247, 251, 255, 0), rgba(247, 251, 255, 0.98) 20%),
        #ffffff;
    border-top: 1px solid #d7e5f2;
    border-radius: 0;
    bottom: 0;
    box-shadow: 0 -14px 28px rgba(28, 61, 96, 0.08);
    justify-content: flex-start;
    margin: 0 -22px -20px;
    margin-top: 2px;
    padding: 14px 22px 16px;
    position: sticky;
    z-index: 3;
}

.task-form-body .task-form-actions .btn {
    min-height: 42px;
}

.task-form-meta-grid {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(220px, 1fr) minmax(150px, 0.42fr) minmax(180px, 0.55fr);
}

.task-date-title-grid {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(170px, 0.34fr) minmax(0, 1fr);
}

.task-control-card,
.task-created-by {
    background: #ffffff;
    border: 1px solid #d5e6f5;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(28, 61, 96, 0.04);
    display: grid;
    gap: 5px;
    min-height: 42px;
    padding: 9px 12px;
}

.task-control-card > span,
.task-created-by > span,
.task-school-link small {
    color: #526981;
    font-size: 11px;
}

.task-control-card > span,
.task-created-by > span {
    font-weight: 800;
    text-transform: uppercase;
}

.task-control-card > strong,
.task-created-by strong {
    color: var(--blue-900);
    font-size: 13px;
}

.task-code-box {
    background: #fffdf3;
    border-color: #f2d46f;
}

.task-code-chip {
    align-items: center;
    background: #fff8dd;
    border: 1px solid #f0cc52;
    border-radius: 999px;
    color: #7a5400;
    display: inline-flex;
    font-size: 11px;
    font-weight: 900;
    margin: 0 0 6px;
    padding: 3px 8px;
    width: fit-content;
}

.task-observation-cell {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.task-observation-cell > span,
.task-observation-preview {
    color: #172f48;
    line-height: 1.42;
    white-space: pre-line;
}

.task-observation-cell.has-long-observation:not(.is-expanded) .task-observation-preview {
    max-height: 8.6em;
    overflow: hidden;
    position: relative;
}

.task-observation-cell.has-long-observation:not(.is-expanded) .task-observation-preview::after {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), #ffffff 88%);
    bottom: 0;
    content: "";
    height: 2.4em;
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
}

.task-observation-toggle {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--blue-700);
    cursor: pointer;
    display: inline-flex;
    font-size: 12px;
    font-weight: 850;
    justify-self: start;
    line-height: 1.2;
    padding: 0;
}

.task-observation-toggle:hover {
    color: var(--blue-900);
    text-decoration: underline;
}

.task-detail-dialog {
    max-width: 1040px;
    width: min(1040px, 100%);
}

.task-detail-head {
    align-items: center;
    background:
        linear-gradient(115deg, rgba(21, 78, 122, 0.96), rgba(50, 132, 198, 0.94)),
        linear-gradient(90deg, rgba(255, 255, 255, 0.07) 1px, transparent 1px);
    background-size: auto, 64px 64px;
    color: #ffffff;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.task-detail-head .section-kicker {
    color: #ffdb1f;
}

.task-detail-head h2,
.task-detail-head .task-head-code {
    color: #ffffff;
}

.task-detail-head h2 {
    max-width: 760px;
}

.task-detail-head-school {
    color: rgba(255, 255, 255, 0.82);
    display: block;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    margin-top: 7px;
}

.task-detail-head-side {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.task-detail-head-side > small {
    color: rgba(255, 255, 255, 0.86);
    font-size: 12px;
    font-weight: 750;
}

.task-detail-head-person {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(13, 48, 82, 0.16);
    color: #12304b;
    padding: 8px 10px;
}

.task-detail-head-person .task-person {
    gap: 8px;
}

.task-detail-head-person .task-person-avatar {
    height: 34px;
    width: 34px;
}

.task-detail-head-side .status-badge {
    box-shadow: 0 8px 18px rgba(13, 48, 82, 0.12);
}

.task-detail-head .icon-btn {
    border-color: rgba(255, 255, 255, 0.44);
    color: #ffffff;
}

.task-detail-body {
    background:
        linear-gradient(180deg, #f7fbff 0%, #eef5fb 100%);
    display: grid;
    gap: 14px;
    max-height: calc(100vh - 170px);
    overflow: auto;
    padding: 18px 22px 22px;
}

.task-detail-summary {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d4e3f0;
    border-radius: 12px;
    box-shadow: 0 12px 28px rgba(25, 64, 100, 0.07);
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 16px 18px;
}

.task-detail-summary strong {
    color: #0b2239;
    display: block;
    font-size: 18px;
    line-height: 1.25;
    margin: 2px 0 6px;
}

.task-detail-summary small {
    color: #627a91;
    display: block;
    line-height: 1.45;
}

.task-detail-summary-side {
    align-items: flex-end;
    display: grid;
    gap: 8px;
    justify-items: end;
    min-width: 190px;
}

.task-detail-section {
    background: #ffffff;
    border: 1px solid #d4e3f0;
    border-radius: 12px;
    box-shadow: 0 12px 28px rgba(25, 64, 100, 0.06);
    display: grid;
    gap: 12px;
    padding: 16px 18px 18px;
}

.task-detail-section-title {
    align-items: center;
    color: var(--blue-900);
    display: inline-flex;
    font-size: 13px;
    font-weight: 900;
    gap: 8px;
    letter-spacing: 0;
    text-transform: uppercase;
}

.task-detail-section-title .button-icon {
    color: var(--blue-700);
    height: 17px;
    width: 17px;
}

.task-detail-observation {
    background:
        linear-gradient(#ffffff, #ffffff) padding-box,
        linear-gradient(135deg, rgba(41, 111, 170, 0.28), rgba(25, 155, 93, 0.16)) border-box;
    border: 1px solid transparent;
    border-radius: 12px;
    color: #132b43;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.72;
    max-height: 430px;
    overflow: auto;
    padding: 22px 24px;
    white-space: normal;
}

.task-detail-attachments {
    gap: 10px;
}

.task-detail-download {
    border-radius: 10px;
    min-height: 38px;
    padding: 8px 12px;
}

.task-detail-download .button-icon {
    height: 17px;
    width: 17px;
}

.task-detail-empty {
    background: #f7fbff;
    border: 1px dashed #bdd7ef;
    border-radius: 10px;
    color: #63788d;
    font-size: 13px;
    font-weight: 750;
    margin: 0;
    padding: 14px;
}

.task-detail-actions {
    margin-top: 0;
}

.task-rich-editor-field {
    margin-top: 0;
}

.manual-rich-area.task-rich-area {
    max-height: 340px;
    min-height: 210px;
}

.task-detail-observation.manual-rich-output {
    box-shadow: inset 0 0 0 1px rgba(221, 237, 248, 0.75);
    font-size: 15px;
    max-height: none;
    max-width: none;
    min-height: 220px;
    padding: 24px 28px;
    width: 100%;
}

.task-detail-observation.manual-rich-output h2,
.task-detail-observation.manual-rich-output h3,
.task-detail-observation.manual-rich-output h4 {
    color: #0b2239;
    margin: 12px 0 8px;
}

.task-detail-observation.manual-rich-output ul,
.task-detail-observation.manual-rich-output ol {
    margin-left: 24px;
}

.task-detail-observation.manual-rich-output a {
    color: var(--blue-700);
    font-weight: 800;
}

.task-detail-observation.manual-rich-output p {
    margin: 0 0 12px;
}

.task-detail-observation.manual-rich-output > :last-child {
    margin-bottom: 0;
}

.task-observation-cell a,
.task-observation-cell small {
    align-items: center;
    display: inline-flex;
    font-size: 12px;
    font-weight: 750;
    gap: 6px;
    width: fit-content;
}

.task-observation-cell a {
    color: var(--blue-700);
    text-decoration: none;
}

.task-observation-cell a:hover {
    color: var(--blue-900);
    text-decoration: underline;
}

.task-observation-cell small {
    color: #71869b;
}

.task-person {
    align-items: center;
    display: inline-flex;
    gap: 9px;
    min-width: 0;
}

.task-person-avatar {
    align-items: center;
    background: #eaf4fd;
    border: 1px solid #cbdbea;
    border-radius: 999px;
    color: var(--blue-800);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 900;
    height: 30px;
    justify-content: center;
    overflow: hidden;
    width: 30px;
}

.task-person-avatar img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.task-person-copy {
    display: grid;
    gap: 1px;
    min-width: 0;
}

.task-person-copy strong {
    color: var(--blue-900);
    font-size: 13px;
    line-height: 1.15;
}

.task-person-copy small {
    color: #60758b;
    font-size: 11px;
    line-height: 1.2;
}

.person-option-card {
    gap: 8px;
    justify-content: flex-start;
    min-width: 126px;
}

.person-option-card .task-person-avatar {
    height: 24px;
    width: 24px;
}

.person-option-card strong {
    font-size: 13px;
    line-height: 1;
}

.person-option input:checked + .person-option-card .task-person-avatar {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.42);
    color: #ffffff;
}

.task-comments-panel {
    background: #fbfdff;
    border: 1px solid #d8e6f1;
    border-radius: 8px;
    display: grid;
    gap: 10px;
    padding: 11px 12px;
}

.task-comment-dialog {
    max-width: 760px;
}

.task-comment-summary {
    align-items: center;
    background:
        linear-gradient(90deg, rgba(47, 103, 154, 0.08), rgba(255, 255, 255, 0) 72%),
        #fbfdff;
    border: 1px solid #d8e6f1;
    border-radius: 8px;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    padding: 13px 14px;
}

.task-comment-summary-copy {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.task-comment-summary-copy > strong {
    color: var(--blue-900);
    font-size: 16px;
    line-height: 1.3;
}

.task-comment-summary-side {
    align-items: flex-end;
    display: grid;
    flex: 0 0 auto;
    gap: 7px;
    justify-items: end;
}

.task-comment-summary-side > small {
    background: #eef6ff;
    border: 1px solid #cfe3f6;
    border-radius: 999px;
    color: var(--blue-700);
    font-size: 11px;
    font-weight: 800;
    padding: 3px 8px;
}

.task-comment-quick-form {
    background: #ffffff;
    border: 1px solid #d8e6f1;
    border-radius: 8px;
    display: grid;
    gap: 10px;
    padding: 12px;
}

.task-comment-quick-form label {
    margin: 0;
}

.task-comment-quick-form textarea {
    background: #fbfdff;
    min-height: 96px;
}

.task-comment-quick-form .form-actions {
    border-top: 0;
    justify-content: flex-end;
    padding: 0;
}

.task-comments-head {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: space-between;
}

.task-comments-head span {
    color: var(--blue-900);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.task-comments-head small,
.task-comments-empty {
    color: #60758b;
    font-size: 12px;
}

.task-comment-list {
    display: grid;
    gap: 9px;
    max-height: min(38vh, 360px);
    overflow-y: auto;
    padding-right: 3px;
}

.task-comment-item {
    background: #fbfdff;
    border: 1px solid #dbe9f5;
    border-radius: 8px;
    display: grid;
    gap: 8px;
    padding: 10px 11px;
}

.task-comment-item-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.task-comment-item p {
    background: #ffffff;
    border-left: 3px solid #cfe3f6;
    border-radius: 6px;
    color: #213b55;
    font-size: 13px;
    line-height: 1.4;
    margin: 0;
    padding: 8px 10px;
}

.task-comments-empty {
    margin: 0;
}

.task-close-dialog {
    max-width: 560px;
    width: min(560px, 100%);
}

.task-close-body {
    align-items: start;
    background: #fbfdff;
    display: grid;
    gap: 14px;
    grid-template-columns: 48px minmax(0, 1fr);
    padding: 20px;
}

.task-close-icon {
    align-items: center;
    background: #ecfdf5;
    border: 1px solid #bbebd1;
    border-radius: 12px;
    color: #047857;
    display: inline-flex;
    height: 48px;
    justify-content: center;
    width: 48px;
}

.task-close-copy {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.task-close-copy strong {
    color: var(--blue-900);
    font-size: 17px;
    line-height: 1.3;
}

.task-close-copy p {
    color: #40566b;
    line-height: 1.45;
    margin: 0;
}

.task-close-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.task-close-meta span {
    background: #ffffff;
    border: 1px solid #d9e6f2;
    border-radius: 999px;
    color: #506981;
    font-size: 12px;
    font-weight: 700;
    padding: 5px 9px;
}

.task-close-actions form {
    margin: 0;
}

.task-close-trigger {
    color: #0f8c78;
}

.task-close-trigger:hover {
    background: #e9fbf5;
    border-color: #9bdcc4;
    color: #047857;
}

@media (max-width: 720px) {
    .task-form-head {
        align-items: stretch;
        display: grid;
        gap: 14px;
        grid-template-columns: 1fr;
        padding-right: 70px;
    }

    .task-form-head-tools {
        align-items: stretch;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .task-head-created-by,
    .task-head-state {
        min-width: 0;
    }

    .task-form-head-tools .icon-btn {
        position: absolute;
        right: 18px;
        top: 18px;
    }

    .task-form-body .task-form-actions {
        margin-left: -18px;
        margin-right: -18px;
        padding-left: 18px;
        padding-right: 18px;
    }

    .task-date-title-grid {
        grid-template-columns: 1fr;
    }

    .task-comment-summary {
        align-items: flex-start;
        display: grid;
    }

    .task-comment-summary-side {
        align-items: start;
        justify-items: start;
    }

    .task-comment-quick-form .form-actions {
        justify-content: stretch;
    }

    .task-close-body {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .task-form-head-tools {
        grid-template-columns: 1fr;
    }

    .task-form-body .task-form-actions {
        align-items: stretch;
        display: grid;
        grid-template-columns: 1fr;
    }
}

.task-title-field {
    margin: 0;
    min-width: 0;
}

.task-school-link {
    align-items: center;
    align-self: start;
    display: inline-flex;
    gap: 10px;
    justify-self: start;
    min-width: 0;
    width: fit-content;
}

.task-school-link.is-active {
    align-items: end;
    background: #ffffff;
    border: 1px solid #d8e6f1;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(28, 61, 96, 0.04);
    display: grid;
    gap: 8px 10px;
    grid-template-columns: auto minmax(320px, 1fr);
    justify-self: stretch;
    max-width: 820px;
    padding: 10px 12px;
    width: min(820px, 100%);
}

.task-school-toggle {
    align-items: center;
    background: #ffffff;
    border: 1px solid #cfe0ee;
    border-radius: 8px;
    color: var(--blue-900);
    cursor: pointer;
    display: inline-flex;
    gap: 8px;
    height: 42px;
    margin: 0;
    padding: 0 13px;
    transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
    width: fit-content;
}

.task-school-toggle:hover {
    background: #f7fbff;
    border-color: #9fc3e2;
}

.task-school-toggle input {
    accent-color: var(--blue-700);
    appearance: auto !important;
    flex: 0 0 auto;
    height: 16px !important;
    margin: 0 !important;
    width: 16px !important;
}

.task-school-toggle span {
    color: var(--blue-900);
    font-size: 13px;
    font-weight: 800;
}

.task-school-picker {
    display: none;
    margin: 0;
    min-width: 0;
}

.task-school-link.is-active .task-school-picker {
    display: grid;
    gap: 5px;
}

.task-school-picker input {
    height: 42px;
    min-width: 0;
}

.task-school-link small {
    display: none;
}

.task-school-link.is-active small {
    display: none;
    grid-column: 2;
    margin-top: -4px;
}

@media (max-width: 720px) {
    .task-form-meta-grid {
        grid-template-columns: 1fr;
    }

    .task-school-link {
        justify-self: stretch;
        width: 100%;
    }

    .task-school-link.is-active {
        grid-template-columns: 1fr;
        max-width: none;
    }

    .task-school-link.is-active small {
        grid-column: auto;
    }
}

.sent-log-empty {
    margin: 0;
}

.rector-metrics {
    grid-template-columns: repeat(4, minmax(160px, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}

.rector-metrics .metric {
    align-items: center;
    border-left: 0;
    border-top: 3px solid var(--blue-800);
    display: flex;
    justify-content: space-between;
    min-height: 76px;
    padding: 12px 16px;
}

.rector-metrics .metric span {
    font-size: 28px;
    line-height: 1;
}

.rector-metrics .metric small {
    color: #42617d;
    font-size: 12px;
    max-width: 150px;
    text-align: right;
}

.rector-workspace {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(340px, 0.85fr) minmax(420px, 1.15fr);
}

.rector-form {
    background: #f8fbff;
    max-height: calc(100vh - 110px);
    overflow-y: auto;
    padding: 14px 16px 16px;
    position: sticky;
    top: 78px;
}

.rector-form-section {
    background: #ffffff;
    border: 1px solid #d7e5f2;
    border-radius: 8px;
    display: grid;
    gap: 10px;
    margin-bottom: 12px;
    padding: 12px 14px 14px;
}

.rector-form-section .form-section-title {
    margin: 0 0 2px;
}

.rector-form-section label {
    margin: 0;
}

.rector-form .field-grid {
    gap: 10px;
}

.rector-form .rector-date-grid {
    grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
}

.rector-form textarea {
    min-height: 62px;
}

.rector-form .form-actions {
    background: #f8fbff;
    border-top: 1px solid #d7e5f2;
    bottom: 0;
    margin: 4px -16px -16px;
    padding: 12px 16px;
    position: sticky;
    z-index: 2;
}

.rector-history {
    overflow: hidden;
}

.rector-history > .board-title {
    background: #fbfdff;
    padding: 12px 20px;
}

.rector-history > .board-title .board-title-actions {
    gap: 12px;
    justify-content: flex-end;
    margin-left: 0;
    width: 100%;
}

.rector-history > .board-title .btn {
    min-height: 42px;
    padding-inline: 18px;
}

.rector-filter-actions {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.rector-filter-actions .btn {
    min-height: 40px;
    padding-inline: 18px;
}

.rector-filter-actions .btn.primary {
    background: var(--blue-800);
    border-color: var(--blue-800);
    color: #ffffff;
}

.rector-reset-link {
    align-items: center;
    display: inline-flex;
    min-height: 40px;
}

.rector-year-filter {
    margin: 0;
}

.rector-year-filter label {
    color: #24425e;
    display: grid;
    font-size: 11px;
    font-weight: 750;
    gap: 6px;
    text-transform: uppercase;
}

.rector-year-filter select {
    min-width: 180px;
}

.rector-list-table-wrap {
    max-height: calc(100vh - 280px);
    min-height: 420px;
    overflow: auto;
}

.rector-list-table {
    min-width: 1220px;
}

.rector-list-table td {
    vertical-align: top;
}

.rector-list-table td:nth-child(1) {
    width: 116px;
}

.rector-list-table td:nth-child(3),
.rector-list-table td:nth-child(4) {
    width: 180px;
}

.rector-list-table td:nth-child(5) {
    width: 260px;
}

.rector-list-table td:nth-child(6) {
    width: 340px;
}

.rector-list-table td:nth-child(7) {
    width: 112px;
}

.rector-row-actions {
    justify-content: flex-start;
}

.rector-list {
    display: grid;
    gap: 12px;
    max-height: calc(100vh - 280px);
    min-height: 420px;
    overflow-y: auto;
    padding: 16px 18px 18px;
}

.rector-card {
    background: #ffffff;
    border: 1px solid #d4e2ee;
    border-left: 4px solid var(--blue-800);
    border-radius: 10px;
    display: grid;
    gap: 10px;
    padding: 13px 14px;
}

.rector-card strong {
    color: #071d35;
    display: block;
    font-size: 15px;
    font-weight: 650;
}

.rector-card span {
    color: var(--muted);
    display: block;
    font-size: 12px;
    margin-top: 3px;
}

.rector-card dl {
    display: grid;
    gap: 7px 12px;
    grid-template-columns: 88px minmax(0, 1fr);
    margin: 0;
}

.rector-card dt {
    color: #45627d;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.rector-card dd {
    color: #102743;
    margin: 0;
}

.mail-actions {
    background: #f7fbff;
    border: 1px solid #d9e8f5;
    border-radius: 8px;
    display: grid;
    gap: 8px;
    padding: 10px;
}

.compact-mail-actions {
    padding: 8px;
}

.compact-mail-actions .mail-action-row {
    gap: 6px;
}

.compact-mail-actions .mail-action-row span {
    flex: 0 0 70px;
}

.rut-message-actions {
    align-items: center;
    border-bottom: 1px solid #d9e8f5;
    display: flex;
    gap: 8px;
    padding-bottom: 8px;
}

.rut-message-actions span {
    color: #102743;
    flex: 1 1 auto;
    font-size: 12px;
    font-weight: 750;
}

.rut-message-actions small {
    color: var(--yellow-ink);
    font-size: 12px;
    font-weight: 650;
}

.rut-message-actions.is-warning {
    background: var(--yellow-soft);
    border: 1px solid var(--yellow-border);
    border-radius: 8px;
    padding: 8px;
}

.compact-tags {
    gap: 6px;
}

.compact-tags .mini-tag {
    font-size: 11px;
    padding: 4px 8px;
}

.mail-action-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.mail-action-row span {
    color: #102743;
    flex: 1 1 130px;
    font-size: 12px;
    font-weight: 650;
    margin: 0;
}

.mail-action-row form {
    margin: 0;
}

.mail-action-row small {
    color: var(--muted);
    font-size: 12px;
}

.mail-btn {
    align-items: center;
    background: #ffffff;
    border: 1px solid #cbdbea;
    border-radius: 8px;
    color: var(--blue-900);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: 12px;
    font-weight: 650;
    min-height: 32px;
    padding: 6px 10px;
}

.mail-btn.primary {
    background: var(--blue-800);
    border-color: var(--blue-800);
    color: #ffffff;
}

.mail-state {
    border-radius: 999px;
    font-size: 11px;
    font-style: normal;
    font-weight: 650;
    padding: 4px 8px;
    text-transform: capitalize;
}

.mail-pendiente,
.mail-borrador {
    background: var(--yellow-soft);
    border: 1px solid var(--yellow-border);
    color: var(--yellow-ink);
}

.mail-enviado {
    background: #ecf7f0;
    border: 1px solid #bfe4cc;
    color: var(--success);
}

.mail-fallido {
    background: #fff1f0;
    border: 1px solid #f1c3bf;
    color: var(--danger);
}

.colegios-board {
    overflow: hidden;
    padding: 0;
}

.board-title {
    align-items: center;
    border-bottom: 1px solid #d9e5ef;
    display: flex;
    gap: 12px;
    padding: 18px 22px 14px;
}

.board-title > div:not(.board-title-actions) {
    min-width: 0;
}

.board-title-actions {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 10px;
    margin-left: auto;
}

.board-title > .board-title-actions:only-child {
    margin-left: 0;
}

.rector-year-filter {
    margin: 0;
}

.rector-year-filter label {
    color: #31516c;
    display: grid;
    font-size: 11px;
    font-weight: 800;
    gap: 4px;
    text-transform: uppercase;
}

.rector-year-filter select {
    background: #f8fbff;
    border: 1px solid #cbdbea;
    border-radius: 8px;
    color: var(--blue-900);
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    min-height: 40px;
    min-width: 150px;
    padding: 0 34px 0 12px;
}

.resma-records-panel {
    overflow: hidden;
    padding: 0;
}

.view-switch {
    background: #ffffff;
    border-bottom: 1px solid #d9e5ef;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 12px 22px;
}

.view-switch a {
    align-items: center;
    border: 1px solid #cbdbea;
    border-radius: 8px;
    color: var(--blue-900);
    display: inline-flex;
    gap: 8px;
    min-height: 38px;
    padding: 8px 12px;
}

.view-switch a:hover,
.view-switch a.is-active {
    background: var(--blue-800);
    border-color: var(--blue-800);
    color: #ffffff;
    text-decoration: none;
}

.view-switch a > span {
    align-items: center;
    background: #eaf3fb;
    border-radius: 999px;
    color: var(--blue-800);
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    justify-content: center;
    min-width: 24px;
    padding: 3px 8px;
}

.view-switch a:hover > span,
.view-switch a.is-active > span {
    background: rgba(255, 255, 255, 0.2);
    color: #ffffff;
}

.web-filter-total {
    align-self: end;
    background: #eef7ef;
    border: 1px solid #bde3c7;
    border-radius: 8px;
    color: #14532d;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 38px;
    min-width: 128px;
    padding: 6px 12px;
    white-space: nowrap;
}

.web-filter-total strong {
    color: var(--blue-900);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.1;
    text-transform: uppercase;
}

.web-filter-total span {
    font-size: 16px;
    font-weight: 800;
    line-height: 1.2;
}

@media (max-width: 760px) {
    .web-filter-total {
        width: 100%;
    }
}

.clientes-submenu-row {
    align-items: center;
    background: #ffffff;
    border-bottom: 1px solid #d9e5ef;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 12px 22px;
}

.clientes-submenu-row .view-switch {
    background: transparent;
    border-bottom: 0;
    padding: 0;
}

.clientes-export-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.clientes-excel-btn,
.clientes-excel-btn.btn {
    background: #eaf8ef;
    border-color: #a9dfbd;
    color: #106b38;
    display: inline-flex;
    gap: 8px;
}

.clientes-excel-btn:hover,
.clientes-excel-btn.btn:hover {
    background: #dcf3e4;
    border-color: #78c998;
    color: #0b5a2d;
    text-decoration: none;
}

.clientes-contacts-btn,
.clientes-contacts-btn.btn {
    background: #f0fbf5;
    border-color: #8fd8aa;
    color: #0b6b3a;
}

.clientes-contacts-btn:hover,
.clientes-contacts-btn.btn:hover {
    background: #daf5e6;
    border-color: #5fc985;
    color: #07562d;
}

.clientes-stats-board {
    overflow: hidden;
    padding: 0;
}

.clientes-stats-filter {
    border-bottom: 1px solid #d9e5ef;
    grid-template-columns: minmax(180px, 220px) minmax(180px, 220px) auto auto minmax(0, 1fr);
    padding: 14px 22px;
}

.clientes-stats-filter .btn {
    align-self: end;
}

.clientes-stats-metrics {
    padding: 16px 22px 8px;
}

.clientes-stats-dashboard {
    padding: 14px 22px 22px;
}

.clientes-donut-wrap {
    min-height: 238px;
}

.clientes-status-donut {
    max-width: 190px;
}

.clientes-status-legend span {
    grid-template-columns: 16px minmax(120px, auto) minmax(0, 1fr);
}

.clientes-state-bars .survey-year-row {
    grid-template-columns: 128px minmax(0, 1fr) minmax(120px, auto);
}

.clientes-year-pies {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
}

.clientes-year-pie-card {
    background: #f8fbff;
    border: 1px solid #dbe8f3;
    border-radius: 8px;
    display: grid;
    gap: 12px;
    min-width: 0;
    padding: 13px;
}

.clientes-year-pie-head {
    align-items: start;
    display: flex;
    gap: 10px;
    justify-content: space-between;
}

.clientes-year-pie-head strong {
    color: #102743;
    display: block;
    font-size: 18px;
}

.clientes-year-pie-head small {
    color: #5b7288;
    display: block;
    font-size: 12px;
    font-weight: 800;
    margin-top: 3px;
}

.clientes-year-pie-head > span {
    background: #eaf8ef;
    border: 1px solid #a9dfbd;
    border-radius: 999px;
    color: #106b38;
    font-size: 12px;
    font-weight: 900;
    padding: 5px 9px;
    white-space: nowrap;
}

.clientes-year-pie-layout {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: 132px minmax(0, 1fr);
}

.clientes-mini-donut {
    box-shadow: inset 0 0 0 1px rgba(18, 58, 90, 0.06), 0 10px 22px rgba(31, 62, 94, 0.1);
    width: 132px;
}

.clientes-mini-donut::after {
    inset: 26px;
}

.clientes-mini-donut span {
    font-size: 22px;
}

.clientes-mini-legend {
    display: grid;
    gap: 7px;
}

.clientes-mini-legend span {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: space-between;
}

.clientes-mini-legend b {
    color: #24455f;
    font-size: 12px;
}

.clientes-mini-legend em {
    background: #eef6ff;
    border-radius: 999px;
    color: #235d8d;
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
    min-width: 34px;
    padding: 3px 7px;
    text-align: center;
}

.calendar-assist-panel {
    background: #f8fbff;
    border: 1px solid #d7e6f2;
    border-left: 4px solid #2f679a;
    border-radius: 8px;
    display: grid;
    gap: 12px;
    padding: 13px;
}

.calendar-assist-head {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: 40px minmax(0, 1fr);
}

.calendar-assist-icon {
    align-items: center;
    background: #eef6ff;
    border: 1px solid #cfe1f2;
    border-radius: 8px;
    color: #235d8d;
    display: inline-flex;
    height: 40px;
    justify-content: center;
    width: 40px;
}

.calendar-assist-head strong {
    color: #102743;
    display: block;
    font-size: 14px;
}

.calendar-assist-head small {
    color: #58748d;
    display: block;
    font-size: 12px;
    font-weight: 800;
    margin-top: 3px;
}

.calendar-assist-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.calendar-assist-actions .btn {
    display: inline-flex;
    gap: 8px;
}

.calendar-integration-status {
    align-items: center;
    border-radius: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    justify-content: space-between;
    padding: 9px 10px;
}

.calendar-integration-status span {
    font-size: 12px;
    font-weight: 850;
}

.calendar-integration-status a {
    font-size: 12px;
    font-weight: 900;
}

.calendar-integration-status.is-connected {
    background: #eaf8ef;
    border: 1px solid #a9dfbd;
    color: #106b38;
}

.calendar-integration-status.is-pending {
    background: #fff8dc;
    border: 1px solid #efd567;
    color: #745a06;
}

.calendar-integration-status.is-missing {
    background: #f5f8fb;
    border: 1px solid #cbdbea;
    color: #526c84;
}

.calendar-conflict-list {
    display: grid;
    gap: 7px;
}

.calendar-status {
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    justify-self: start;
    padding: 6px 10px;
}

.calendar-status.is-free {
    background: #eaf8ef;
    border: 1px solid #a9dfbd;
    color: #106b38;
}

.calendar-status.is-busy {
    background: #fff8dc;
    border: 1px solid #efd567;
    color: #8a6500;
}

.calendar-status.is-disconnected {
    background: #f5f8fb;
    border: 1px solid #cbdbea;
    color: #526c84;
}

.calendar-conflict-item {
    background: #ffffff;
    border: 1px solid #dbe8f3;
    border-radius: 8px;
    color: #24455f;
    display: grid;
    gap: 3px;
    padding: 9px 10px;
}

.calendar-conflict-item:hover {
    border-color: #a9cce9;
    text-decoration: none;
}

.calendar-conflict-item.is-selected {
    background: #eaf8ef;
    border-color: #7dc99c;
    box-shadow: inset 3px 0 0 #1f9d55;
}

.calendar-conflict-item strong {
    color: #102743;
    font-size: 12px;
}

.calendar-conflict-item span {
    color: #5b7288;
    font-size: 12px;
    font-weight: 800;
}

.calendar-conflict-row {
    align-items: center;
    grid-template-columns: minmax(0, 1fr) auto;
}

.calendar-conflict-actions {
    align-items: center;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

.calendar-conflict-action {
    align-items: center;
    background: #ffffff;
    border: 1px solid #bfd5e9;
    border-radius: 8px;
    color: #1f5f94;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: 12px;
    font-weight: 900;
    min-height: 32px;
    padding: 0 10px;
}

.calendar-conflict-action:hover {
    background: #eef6fd;
    border-color: #8fbde2;
    text-decoration: none;
}

.calendar-conflict-action.is-primary {
    background: var(--blue-800);
    border-color: var(--blue-800);
    color: #ffffff;
}

.calendar-conflict-action.is-primary:hover {
    background: #225d8e;
    border-color: #225d8e;
}

.calendar-conflict-action.is-selected,
.calendar-conflict-action.is-selected:hover,
.calendar-conflict-action:disabled {
    background: #1f9d55;
    border-color: #1f9d55;
    color: #ffffff;
    cursor: default;
}

@media (max-width: 640px) {
    .calendar-conflict-row {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .calendar-conflict-actions {
        justify-content: flex-start;
    }

.calendar-conflict-action {
        justify-content: center;
    }
}

.cap-calendar-sync-bar {
    align-items: center;
    background: #fbfdff;
    border-bottom: 1px solid #d9e5ef;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 12px 18px;
}

.cap-calendar-sync-bar div {
    display: grid;
    gap: 2px;
}

.cap-calendar-sync-bar strong {
    color: var(--blue-900);
    font-size: 13px;
    font-weight: 900;
}

.cap-calendar-sync-bar span {
    color: #60758b;
    font-size: 12px;
    font-weight: 700;
}

.cap-calendar-sync-bar .btn {
    align-items: center;
    display: inline-flex;
    gap: 8px;
    white-space: nowrap;
}

@media (max-width: 760px) {
    .cap-calendar-sync-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .cap-calendar-sync-bar .btn {
        justify-content: center;
        width: 100%;
    }
}

.calendar-linked-field {
    display: grid;
    gap: 6px;
}

.calendar-linked-status {
    align-items: center;
    background: #eaf8ef;
    border: 1px solid #a9dfbd;
    border-radius: 8px;
    color: #106b38;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    padding: 9px 10px;
}

.calendar-linked-status span {
    font-size: 12px;
    font-weight: 900;
}

.calendar-linked-status.is-pending {
    background: #fff8dc;
    border-color: #efd567;
    color: #745a06;
}

.calendar-linked-status.is-selected {
    background: #edf7ff;
    border-color: #a9cce9;
    color: #1f5f94;
}

.calendar-linked-status a {
    color: #0b5a2d;
    font-size: 12px;
    font-weight: 900;
}

.calendar-linked-status.is-selected a {
    color: #1f5f94;
}

.calendar-linked-clear {
    background: transparent;
    border: 0;
    color: #1f5f94;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 900;
    padding: 0;
}

.calendar-linked-clear:hover {
    text-decoration: underline;
}

.calendar-linked-status small {
    color: #456653;
    font-size: 12px;
    font-weight: 800;
}

.calendar-link {
    color: #23618f;
}

.message-action-btn.calendar {
    background: #edf7ff;
    border-color: #b9daf2;
    color: #23618f;
}

.google-calendar-page {
    display: grid;
    gap: 18px;
}

.google-calendar-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.google-calendar-card {
    background: #ffffff;
    border: 1px solid #d7e6f2;
    border-radius: 8px;
    box-shadow: 0 14px 34px rgba(16, 39, 67, 0.06);
    display: grid;
    gap: 16px;
    padding: 18px;
}

.google-calendar-card h3 {
    color: #102743;
    font-size: 18px;
    margin: 0;
}

.google-calendar-card p {
    color: #49647e;
    margin: 0;
}

.google-calendar-status {
    align-items: center;
    display: flex;
    gap: 10px;
}

.google-calendar-status span {
    border-radius: 999px;
    display: inline-block;
    height: 10px;
    width: 10px;
}

.google-calendar-status strong {
    color: #102743;
    font-size: 18px;
}

.google-calendar-status.is-connected span {
    background: #23b26b;
}

.google-calendar-status.is-pending span {
    background: #f2c400;
}

.google-calendar-status.is-missing span {
    background: #d33d2e;
}

.google-calendar-meta {
    display: grid;
    gap: 10px;
    margin: 0;
}

.google-calendar-meta div {
    background: #f8fbff;
    border: 1px solid #dceaf4;
    border-radius: 8px;
    display: grid;
    gap: 3px;
    padding: 10px 12px;
}

.google-calendar-meta dt {
    color: #5a748c;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.google-calendar-meta dd {
    color: #102743;
    font-weight: 850;
    margin: 0;
    overflow-wrap: anywhere;
}

.calendar-config-checklist {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.calendar-config-checklist span {
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    padding: 6px 10px;
}

.calendar-config-checklist .is-ok {
    background: #eaf8ef;
    border: 1px solid #a9dfbd;
    color: #106b38;
}

.calendar-config-checklist .is-missing {
    background: #fff0ed;
    border: 1px solid #ffb4a8;
    color: #b5261a;
}

@media (max-width: 900px) {
    .google-calendar-grid {
        grid-template-columns: 1fr;
    }
}

.switch-icon {
    fill: none;
    height: 18px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 18px;
}

.title-dot {
    background: var(--yellow);
    border-radius: 50%;
    display: inline-block;
    height: 10px;
    width: 10px;
}

.inline-import {
    align-items: center;
    background: var(--yellow-soft);
    border-bottom: 1px solid #d9e5ef;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(220px, 1fr) auto auto;
    padding: 14px 22px;
}

.file-trigger {
    min-width: 150px;
    position: relative;
}

.file-trigger input {
    height: 1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

.colegio-search {
    align-items: end;
    background: #f7fbff;
    border-bottom: 1px solid #d9e5ef;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(240px, 1fr) 170px 150px 170px 140px;
    padding: 14px 22px;
}

.colegio-search label {
    margin: 0;
}

.filter-panel {
    background: #ffffff;
    border-bottom: 1px solid #d9e5ef;
    padding: 14px 22px 16px;
}

.filter-panel-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}

.filter-panel-head strong {
    color: #102743;
    font-size: 14px;
    font-weight: 650;
}

.filter-panel-head a {
    color: var(--blue-800);
    font-size: 12px;
    font-weight: 650;
}

.filter-pills {
    display: grid;
    gap: 8px;
    grid-template-columns: 1fr;
}

.colegios-board .filter-pills {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.colegios-board .filter-pills .pill-group {
    grid-template-columns: 78px repeat(3, minmax(76px, 1fr));
    padding: 8px;
}

.colegios-board .filter-pills .pill-group:nth-child(3) {
    grid-column: 1 / -1;
}

.pill-group {
    align-items: center;
    background: #f7fbff;
    border: 1px solid #d9e5ef;
    border-radius: 10px;
    display: grid;
    gap: 8px;
    grid-template-columns: 96px repeat(3, minmax(120px, 1fr));
    padding: 10px;
}

.year-pill-group {
    grid-template-columns: 96px repeat(auto-fit, minmax(96px, 1fr));
}

.pill-label {
    color: #5f7288;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

.filter-pill,
.mini-tag {
    align-items: center;
    background: #ffffff;
    border: 1px solid #cbdbea;
    border-radius: 999px;
    color: var(--blue-900);
    display: inline-flex;
    font-size: 12px;
    font-weight: 600;
    gap: 6px;
    min-height: 28px;
    padding: 5px 10px;
}

.filter-pill {
    border-radius: 8px;
    font-size: 13px;
    gap: 8px;
    justify-content: space-between;
    min-height: 40px;
    padding: 8px 12px;
    white-space: nowrap;
}

.filter-pill.is-active {
    background: var(--blue-800);
    border-color: var(--blue-800);
    color: #ffffff;
    font-weight: 650;
}

.filter-pill b,
.filter-pill em {
    font-style: normal;
    font-weight: inherit;
}

.filter-pill em {
    background: #edf5fb;
    border-radius: 999px;
    color: #47647f;
    font-size: 12px;
    line-height: 1;
    min-width: 34px;
    opacity: 1;
    padding: 5px 7px;
    text-align: center;
}

.filter-pill.is-active em {
    background: rgba(255, 255, 255, 0.18);
    color: #ffffff;
}

.filter-pill span,
.mini-tag::before {
    background: #82b3dc;
    border-radius: 50%;
    content: "";
    display: inline-block;
    height: 7px;
    width: 7px;
}

.filter-pill .ok,
.state-activo::before {
    background: #16a47d;
}

.filter-pill .private {
    background: var(--blue-800);
}

.filter-pill .official {
    background: var(--yellow);
}

.filter-pill .warn,
.state-suspendido::before {
    background: #f3a10b;
}

.filter-pill .bad,
.state-inactivo::before {
    background: #c43d35;
}

.rector-filter-panel {
    background: #ffffff;
    border-bottom: 1px solid #d9e5ef;
    padding: 10px 18px 12px;
}

.rector-filter-panel .filter-panel-head {
    align-items: end;
    gap: 16px;
    margin-bottom: 7px;
}

.rector-filter-panel .filter-panel-head strong {
    font-size: 13px;
    padding-bottom: 11px;
}

.rector-filter-panel .filter-panel-head a {
    background: #f7fbff;
    border: 1px solid #d9e5ef;
    border-radius: 999px;
    padding: 5px 10px;
}

.rector-filter-panel .filter-panel-head a:hover {
    background: #edf5fb;
    text-decoration: none;
}

.rector-filter-panel .filter-pills {
    gap: 8px;
}

.rector-filter-panel .pill-group {
    background: #f8fbfe;
    border-color: #dce9f4;
    border-radius: 8px;
    gap: 7px;
    grid-template-columns: 82px repeat(3, minmax(98px, 1fr));
    padding: 7px;
}

.rector-filter-panel .year-pill-group {
    grid-template-columns: 82px repeat(auto-fit, minmax(96px, 1fr));
}

.rector-filter-panel .pill-label {
    align-self: center;
    color: #61758b;
    font-size: 10px;
}

.rector-filter-panel .filter-pill {
    background: #ffffff;
    border-color: #cdddeb;
    border-radius: 7px;
    box-shadow: none;
    font-size: 12px;
    gap: 8px;
    justify-content: flex-start;
    min-height: 34px;
    padding: 6px 9px;
}

.rector-filter-panel .filter-pill b {
    color: #1d4f7d;
    font-weight: 650;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rector-filter-panel .filter-pill em {
    margin-left: auto;
    min-width: 32px;
    padding: 4px 7px;
}

.rector-filter-panel .filter-pill.is-active {
    background: #ffffff;
    border-color: var(--blue-800);
    box-shadow: inset 0 0 0 1px var(--blue-800), 0 6px 14px rgba(47, 103, 154, 0.08);
    color: var(--blue-900);
}

.rector-filter-panel .filter-pill.is-active b {
    color: var(--blue-900);
}

.rector-filter-panel .filter-pill.is-active em {
    background: var(--blue-800);
    color: #ffffff;
}

.rector-filter-panel .filter-pill.is-active span {
    background: var(--yellow);
}

.printer-maintenance-search {
    align-items: end;
    background: #fbfdff;
    border-bottom: 1px solid #d9e5ef;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(320px, 1fr) 132px 112px;
    padding: 14px 18px 12px;
}

.printer-maintenance-search.action-search-row {
    grid-template-columns: minmax(320px, 1fr) repeat(3, minmax(100px, 132px));
}

.compact-filter-form {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(220px, 1.2fr) minmax(140px, 0.7fr) minmax(160px, 0.9fr) minmax(96px, 120px);
}

.compact-filter-form label {
    color: #40566d;
    display: grid;
    font-size: 11px;
    font-weight: 800;
    gap: 5px;
    margin: 0;
    text-transform: uppercase;
}

.compact-filter-form select {
    appearance: none;
    background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%230d2d4d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 11px center;
    border: 1px solid #c8d9e8;
    border-radius: 8px;
    color: #0d2d4d;
    font-size: 13px;
    font-weight: 700;
    height: 40px;
    line-height: 1.2;
    padding: 0 34px 0 12px;
    width: 100%;
}

.compact-filter-form select:focus {
    border-color: var(--blue-800);
    box-shadow: 0 0 0 3px rgba(47, 103, 154, 0.12);
    outline: none;
}

.compact-filter-form .btn {
    height: 40px;
}

.printer-maintenance-form .planilla-form-section {
    margin-bottom: 10px;
    padding-bottom: 10px;
}

.printer-maintenance-form .form-section-title {
    margin-bottom: 8px;
}

.printer-maintenance-form textarea {
    min-height: 64px;
}

.supply-filter-form {
    grid-template-columns: minmax(180px, 260px) minmax(96px, 120px);
    justify-content: start;
}

.supply-filter-panel {
    align-items: end;
    display: flex;
    gap: 12px;
    padding: 10px 18px;
}

.supply-filter-panel .filter-panel-head {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 14px;
    margin: 0;
    min-height: 40px;
}

.supply-filter-panel .compact-filter-form {
    align-items: end;
    display: flex;
    flex: 1 1 auto;
    gap: 10px;
}

.supply-filter-panel .compact-filter-form label {
    flex: 0 0 220px;
}

.supply-filter-panel .compact-filter-form select {
    min-width: 180px;
}

.supply-filter-panel .compact-filter-form .btn {
    flex: 0 0 120px;
}

.printer-maintenance-filter-form {
    grid-template-columns: minmax(260px, 1.5fr) minmax(130px, 0.55fr) minmax(150px, 0.65fr) minmax(96px, 120px);
}

.supply-person-options {
    margin: 8px 0 12px;
}

.printer-maintenance-search.calls-inline-search {
    grid-template-columns: minmax(300px, 1fr) 150px 210px repeat(3, minmax(104px, 130px));
}

.cap-compact-filters {
    align-items: end;
    background: #ffffff;
    border-bottom: 1px solid #d9e5ef;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 9px 18px 10px;
}

.cap-compact-filters strong {
    align-self: end;
    color: var(--blue-900);
    display: none;
    flex: 0 0 0;
    font-size: 12px;
    font-weight: 800;
    line-height: 38px;
    text-transform: uppercase;
    white-space: nowrap;
}

.cap-compact-filters label {
    color: #40566d;
    flex: 1 1 142px;
    font-size: 11px;
    font-weight: 700;
    margin: 0;
    min-width: 128px;
    text-transform: uppercase;
}

.cap-compact-filters label:first-of-type {
    flex-basis: 170px;
}

.cap-compact-filters select {
    background: #fbfdff;
    border: 1px solid #cbdbea;
    border-radius: 7px;
    color: #0f2a44;
    font: inherit;
    font-size: 12px;
    font-weight: 650;
    margin-top: 4px;
    min-height: 34px;
    padding: 7px 9px;
    width: 100%;
}

.cap-compact-filters select:focus {
    border-color: var(--blue-800);
    box-shadow: 0 0 0 3px rgba(47, 103, 154, 0.12);
    outline: 0;
}

.cap-compact-filters .btn {
    align-self: end;
    flex: 0 0 auto;
    min-height: 34px;
    padding: 7px 14px;
}

.printer-maintenance-search.action-search-row.cap-missing-search {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(360px, 1fr) minmax(124px, 150px) minmax(104px, 118px) 42px 42px;
    padding: 16px 18px 12px;
}

.cap-missing-search label {
    color: #143a5c;
    display: grid;
    font-size: 12px;
    font-weight: 800;
    gap: 6px;
    margin: 0;
    min-width: 0;
}

.cap-missing-search input[type="search"],
.cap-missing-search select {
    height: 40px;
}

.cap-missing-search .btn {
    align-self: end;
    height: 40px;
    margin: 0;
}

.cap-missing-search .btn-action-search {
    border-radius: 8px;
    min-width: 104px;
    width: 100%;
}

.cap-missing-search .btn-action-clear,
.cap-missing-search .btn-action-add {
    border-radius: 8px;
    justify-self: stretch;
    max-width: 42px;
    min-width: 42px;
    padding: 0;
    width: 42px;
}

.visit-select-filters {
    align-items: end;
    background: #f8fbff;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(170px, 220px) minmax(170px, 220px) 112px auto;
    padding: 10px 20px;
}

.visit-select-filters label {
    flex: initial;
    min-width: 0;
}

.visit-select-filters .btn {
    min-height: 38px;
    min-width: 112px;
}

.visit-select-filters .reset-filter-action {
    align-self: end;
    justify-self: start;
    min-height: 38px;
}

.visitas-table {
    table-layout: fixed;
}

.visitas-table th,
.visitas-table td {
    vertical-align: top;
}

.visitas-table th:nth-child(1),
.visitas-table td:nth-child(1) {
    width: 96px;
}

.visitas-table th:nth-child(2),
.visitas-table td:nth-child(2) {
    width: 330px;
}

.visitas-table th:nth-child(3),
.visitas-table td:nth-child(3) {
    width: 118px;
}

.visitas-table th:nth-child(4),
.visitas-table td:nth-child(4) {
    width: 105px;
}

.visitas-table th:nth-child(5),
.visitas-table td:nth-child(5) {
    width: 150px;
}

.visitas-table th:nth-child(6),
.visitas-table td:nth-child(6) {
    width: 140px;
}

.visitas-table th:nth-child(8),
.visitas-table td:nth-child(8) {
    width: 96px;
}

.visitas-table td {
    line-height: 1.45;
    padding-bottom: 15px;
    padding-top: 15px;
}

.visita-colegio-cell strong {
    display: block;
    line-height: 1.35;
}

.visita-colegio-cell small {
    display: block;
    line-height: 1.35;
    margin-top: 4px;
}

.visita-observacion-cell {
    color: #12314f;
    min-width: 260px;
}

@media (max-width: 900px) {
    .visit-select-filters {
        grid-template-columns: 1fr;
    }

    .visit-select-filters .btn,
    .visit-select-filters .reset-filter-action {
        justify-self: stretch;
        width: 100%;
    }
}

.stacked-submit-form {
    display: grid;
    gap: 12px;
}

.link-strong {
    color: var(--blue-700);
    font-weight: 800;
    text-decoration: none;
}

.link-strong:hover {
    text-decoration: underline;
}

.domain-reminder-panel {
    background: #f8fbff;
    border-bottom: 1px solid #d9e5ef;
    display: grid;
    gap: 10px;
    padding: 12px 18px;
}

.domain-reminder-head {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: space-between;
}

.domain-reminder-head strong {
    color: var(--blue-900);
    display: block;
    font-size: 14px;
}

.domain-reminder-head span:not(.status-badge) {
    color: #526981;
    display: block;
    font-size: 12px;
    margin-top: 2px;
}

.domain-reminder-metrics {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(5, minmax(110px, 1fr));
}

.domain-reminder-metrics span {
    background: #ffffff;
    border: 1px solid #d9e8f5;
    border-radius: 8px;
    color: #526981;
    display: grid;
    font-size: 11px;
    gap: 2px;
    padding: 8px 10px;
}

.domain-reminder-metrics b {
    color: var(--blue-900);
    font-size: 20px;
    line-height: 1;
}

.domain-reminder-list {
    display: grid;
    gap: 7px;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    max-height: 136px;
    overflow-y: auto;
}

.domain-reminder-item {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d9e8f5;
    border-left: 3px solid #f4c400;
    border-radius: 8px;
    color: inherit;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    min-width: 0;
    padding: 9px 10px;
    text-decoration: none;
}

.domain-reminder-item:hover {
    border-color: #9dc4e9;
    box-shadow: 0 8px 18px rgba(16, 39, 67, 0.08);
}

.domain-reminder-item strong,
.domain-reminder-item small {
    display: block;
}

.domain-reminder-item strong {
    color: var(--blue-900);
    font-size: 12px;
}

.domain-reminder-item small {
    color: #526981;
    font-size: 11px;
    margin-top: 2px;
}

.domain-reminder-item em {
    background: #fff7dc;
    border: 1px solid #f4d568;
    border-radius: 999px;
    color: #7b5600;
    flex: 0 0 auto;
    font-size: 11px;
    font-style: normal;
    font-weight: 750;
    padding: 5px 8px;
    white-space: nowrap;
}

.domain-reminder-item.is-danger {
    border-left-color: #d23b3b;
}

.domain-reminder-item.is-danger em {
    background: #fff1f1;
    border-color: #f2b3b3;
    color: #a51f1f;
}

.domain-reminder-empty {
    background: #ffffff;
    border: 1px dashed #cbdbea;
    border-radius: 8px;
    color: #526981;
    font-size: 12px;
    padding: 12px;
}

.domain-calendar-panel {
    background: #f8fbff;
    border-top: 1px solid #d9e5ef;
    display: grid;
    gap: 12px;
    padding: 16px 18px 18px;
}

.domain-calendar-head {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.domain-calendar-head h2 {
    color: var(--blue-900);
    font-size: 22px;
    margin: 3px 0 4px;
}

.domain-calendar-head p {
    color: #526981;
    font-size: 13px;
    margin: 0;
}

.domain-calendar-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.domain-calendar-legend {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.domain-calendar-legend span {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d9e8f5;
    border-radius: 999px;
    color: #31516c;
    display: inline-flex;
    font-size: 12px;
    font-weight: 750;
    gap: 7px;
    min-height: 30px;
    padding: 6px 10px;
}

.domain-calendar-legend i {
    border-radius: 999px;
    display: inline-block;
    height: 9px;
    width: 9px;
}

.domain-calendar-legend .is-active {
    background: #18a66a;
}

.domain-calendar-legend .is-warning {
    background: #f4c400;
}

.domain-calendar-legend .is-danger {
    background: #d23b3b;
}

.domain-calendar-grid {
    background: #d9e5ef;
    border: 1px solid #cbdbea;
    border-radius: 10px;
    display: grid;
    gap: 1px;
    grid-template-columns: repeat(7, minmax(120px, 1fr));
    overflow: hidden;
}

.domain-calendar-weekday {
    background: #edf4fa;
    color: var(--blue-900);
    font-size: 11px;
    font-weight: 850;
    padding: 9px 10px;
    text-align: center;
    text-transform: uppercase;
}

.domain-calendar-day {
    background: #ffffff;
    display: grid;
    grid-template-rows: auto 1fr;
    min-height: 138px;
    min-width: 0;
    padding: 8px;
}

.domain-calendar-day.is-muted {
    background: #f3f7fb;
}

.domain-calendar-date {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 7px;
}

.domain-calendar-date strong {
    color: var(--blue-900);
    font-size: 14px;
}

.domain-calendar-date span {
    background: var(--yellow-soft);
    border: 1px solid #f2cd2f;
    border-radius: 999px;
    color: #735400;
    font-size: 10px;
    font-weight: 850;
    padding: 3px 6px;
}

.domain-calendar-events {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.domain-calendar-event {
    background: #eef8f3;
    border: 1px solid #a8e5c7;
    border-left: 4px solid #18a66a;
    border-radius: 7px;
    color: inherit;
    display: grid;
    gap: 2px;
    min-width: 0;
    padding: 6px 7px;
    text-decoration: none;
}

.domain-calendar-event:hover {
    border-color: #67c79d;
    box-shadow: 0 8px 18px rgba(16, 39, 67, 0.08);
}

.domain-calendar-event b,
.domain-calendar-event small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.domain-calendar-event b {
    color: var(--blue-900);
    font-size: 11px;
}

.domain-calendar-event small {
    color: #526981;
    font-size: 10px;
}

.domain-calendar-event.is-warning {
    background: #fff9e6;
    border-color: #f2d36c;
    border-left-color: #f4c400;
}

.domain-calendar-event.is-inactivo {
    background: #fff1f1;
    border-color: #f1b4b4;
    border-left-color: #d23b3b;
}

.domain-calendar-more {
    color: #31516c;
    font-size: 11px;
    font-weight: 800;
    padding: 2px 4px;
}

@media (max-width: 1100px) {
    .domain-calendar-grid {
        grid-template-columns: repeat(7, minmax(96px, 1fr));
        overflow-x: auto;
    }

    .domain-calendar-day {
        min-height: 128px;
    }
}

@media (max-width: 760px) {
    .domain-calendar-head {
        align-items: stretch;
        flex-direction: column;
    }

    .domain-calendar-actions {
        justify-content: flex-start;
    }

    .domain-calendar-grid {
        grid-template-columns: repeat(7, minmax(132px, 1fr));
    }
}

.notifications-board {
    overflow: hidden;
    padding: 0;
}

.notifications-hero {
    align-items: center;
    background: #ffffff;
    border-bottom: 1px solid #d9e5ef;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    padding: 14px 22px;
}

.notifications-hero h2 {
    color: var(--blue-900);
    font-size: 22px;
    margin: 4px 0;
}

.notifications-summary {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(4, minmax(110px, 1fr));
    width: 100%;
}

.notifications-summary span {
    background: #f8fbff;
    border: 1px solid #d9e8f5;
    border-radius: 8px;
    color: #526981;
    display: grid;
    font-size: 11px;
    gap: 2px;
    padding: 10px 12px;
}

.notifications-summary b {
    color: var(--blue-900);
    font-size: 24px;
    line-height: 1;
}

.notifications-layout {
    display: grid;
    gap: 14px;
    grid-template-columns: 280px minmax(0, 1fr);
    padding: 16px 22px 22px;
}

.notifications-source-list {
    background: #f8fbff;
    border: 1px solid #d9e8f5;
    border-radius: 8px;
    display: grid;
    align-content: start;
    gap: 8px;
    padding: 12px;
}

.notifications-source-list > strong {
    color: var(--blue-900);
    font-size: 13px;
    text-transform: uppercase;
}

.notifications-source-list span,
.notification-source-option {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d9e8f5;
    border-radius: 8px;
    color: #40566d;
    display: grid;
    gap: 8px;
    font-size: 13px;
    grid-template-columns: 18px 1fr auto;
    min-height: 40px;
    padding: 8px 10px;
    text-decoration: none;
}

.notification-source-option:hover {
    background: #eef6ff;
    border-color: #9dc4e9;
    text-decoration: none;
}

.notification-side-link {
    align-items: center;
    background: #ffffff;
    border: 1px dashed #b8d2eb;
    border-radius: 8px;
    color: var(--blue-900);
    display: grid;
    font-size: 13px;
    font-weight: 750;
    gap: 8px;
    grid-template-columns: 18px 1fr;
    min-height: 40px;
    padding: 8px 10px;
    text-decoration: none;
}

.notification-side-link:hover {
    background: #eef6ff;
    border-color: #8fbce5;
    text-decoration: none;
}

.notifications-source-list span.is-active,
.notification-source-option.is-active {
    background: #ffffff;
    border-color: #9dc4e9;
    box-shadow: inset 0 0 0 1px #9dc4e9;
    color: var(--blue-900);
    font-weight: 750;
}

.notifications-source-list em,
.notification-source-option em {
    background: #eef6ff;
    border-radius: 999px;
    color: var(--blue-900);
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
    padding: 3px 7px;
}

.notifications-list {
    display: grid;
    gap: 9px;
}

.notification-filter-bar {
    align-items: end;
    background: #f8fbff;
    border: 1px solid #d9e8f5;
    border-radius: 8px;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(220px, 1fr) 180px 140px 140px auto auto;
    padding: 12px;
}

.notification-filter-bar label {
    color: var(--blue-900);
    display: grid;
    font-size: 11px;
    font-weight: 800;
    gap: 5px;
    text-transform: uppercase;
}

.notification-filter-bar input,
.notification-filter-bar select {
    background: #ffffff;
    border: 1px solid #c8dced;
    border-radius: 8px;
    color: #0f2742;
    font-size: 13px;
    min-height: 38px;
    padding: 8px 10px;
    text-transform: none;
}

.notification-filter-bar .btn {
    align-self: end;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    height: 38px;
    line-height: 1;
    margin: 0;
    padding: 0 14px;
    white-space: nowrap;
}

.notification-filter-bar .btn svg {
    flex: 0 0 auto;
}

.notification-sent-table {
    background: #ffffff;
    border: 1px solid #d9e8f5;
    border-radius: 8px;
    overflow: auto;
}

.notifications-section-title {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-top: 4px;
}

.notifications-section-title strong {
    color: var(--blue-900);
    font-size: 14px;
}

.notifications-section-title span {
    background: #eef6ff;
    border-radius: 999px;
    color: var(--blue-900);
    font-size: 11px;
    font-weight: 750;
    padding: 5px 9px;
}

.notification-card {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d9e8f5;
    border-left: 4px solid var(--yellow);
    border-radius: 8px;
    color: inherit;
    display: grid;
    gap: 12px;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    min-height: 82px;
    padding: 12px;
    text-decoration: none;
}

.notification-card:hover {
    border-color: #9dc4e9;
    box-shadow: 0 10px 24px rgba(16, 39, 67, 0.08);
    text-decoration: none;
}

.notification-card.is-danger {
    border-left-color: var(--danger);
}

.notification-card.is-history {
    border-left-color: #7e93a8;
}

.notification-card-icon {
    align-items: center;
    background: #f8fbff;
    border: 1px solid #d9e8f5;
    border-radius: 10px;
    color: var(--blue-900);
    display: inline-flex;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.notification-card-body {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.notification-card-body small {
    color: #526981;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.notification-card-body strong {
    color: var(--blue-900);
    font-size: 14px;
}

.notification-card-body em,
.notification-card-body b {
    color: #526981;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
}

.notification-card-body b {
    color: #234e79;
}

.notification-card-date {
    background: #fff9e6;
    border: 1px solid #f4d568;
    border-radius: 999px;
    color: #7b5600;
    display: grid;
    font-size: 12px;
    font-weight: 800;
    gap: 1px;
    justify-items: center;
    padding: 7px 10px;
    white-space: nowrap;
}

.notification-card.is-danger .notification-card-date {
    background: #fff1f0;
    border-color: #f1c3bf;
    color: var(--danger);
}

.notification-card-date small {
    font-size: 10px;
    font-weight: 700;
}

.notifications-empty {
    align-items: center;
    background: #ffffff;
    border: 1px dashed #cbdbea;
    border-radius: 8px;
    color: #526981;
    display: grid;
    gap: 6px;
    justify-items: center;
    min-height: 210px;
    padding: 24px;
    text-align: center;
}

.notifications-empty strong {
    color: var(--blue-900);
    font-size: 17px;
}

.notifications-empty.is-compact {
    min-height: 130px;
}

.empty-icon {
    fill: none;
    height: 34px;
    stroke: var(--blue-800);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 34px;
}

.cap-training-dashboard {
    background: #f8fbff;
    border-bottom: 1px solid #d9e5ef;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(280px, 0.35fr) minmax(0, 1fr);
    padding: 12px 18px;
}

.cap-dashboard-summary {
    background: #ffffff;
    border: 1px solid #d9e8f5;
    border-radius: 8px;
    display: grid;
    gap: 12px;
    padding: 12px;
}

.cap-dashboard-summary strong {
    color: var(--blue-900);
    display: block;
    font-size: 15px;
}

.cap-dashboard-summary span {
    color: #526981;
    font-size: 12px;
}

.cap-dashboard-metrics {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cap-dashboard-metrics span {
    background: #f4f8fc;
    border: 1px solid #d9e8f5;
    border-radius: 8px;
    color: #40566d;
    display: grid;
    font-size: 11px;
    gap: 2px;
    padding: 8px;
}

.cap-dashboard-metrics b {
    color: var(--blue-900);
    font-size: 20px;
    line-height: 1;
}

.cap-dashboard-metrics .is-alert {
    background: #fff9e6;
    border-color: #f4d568;
}

.cap-pending-list {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    max-height: 154px;
    overflow-y: auto;
}

.cap-pending-item {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d9e8f5;
    border-left: 3px solid var(--yellow);
    border-radius: 8px;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    min-width: 0;
    padding: 9px 10px;
}

.cap-pending-item strong,
.cap-pending-item span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cap-pending-item strong {
    color: var(--blue-900);
    font-size: 12px;
}

.cap-pending-item span,
.cap-pending-item small,
.cap-pending-empty {
    color: #526981;
    font-size: 11px;
}

.cap-pending-item small {
    flex: 0 0 auto;
    text-align: right;
}

.cap-pending-empty {
    align-self: center;
    margin: 0;
}

.cap-view-switch {
    border-bottom: 1px solid #d9e5ef;
    padding: 12px 18px 0;
}

.cap-stat-dashboard {
    display: grid;
    background: #f5f8fb;
    gap: 14px;
    padding: 14px 16px 16px;
}

.cap-stat-hero {
    align-items: center;
    background: linear-gradient(135deg, #ffffff 0%, #f7fbff 100%);
    border: 1px solid #d5e4f0;
    border-radius: 8px;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(260px, 0.7fr) minmax(420px, 1fr);
    padding: 14px 16px;
}

.cap-stat-hero h2 {
    color: var(--blue-900);
    font-size: 22px;
    margin: 0 0 6px;
}

.cap-stat-hero p {
    color: #526981;
    margin: 0;
}

.cap-stat-metrics {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cap-stat-metrics span {
    background: #ffffff;
    border: 1px solid #d9e8f5;
    border-radius: 7px;
    color: #40566d;
    display: grid;
    font-size: 12px;
    gap: 4px;
    min-height: 74px;
    padding: 10px 11px;
}

.cap-stat-metrics b {
    color: var(--blue-900);
    font-size: 24px;
    line-height: 1;
}

.cap-stat-metrics .is-alert {
    background: #fff9e6;
    border-color: #f4d568;
}

.cap-stat-grid {
    align-items: start;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(620px, 1.45fr) minmax(280px, 0.55fr);
}

.cap-stat-panel {
    background: #ffffff;
    border: 1px solid #d4e2ee;
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(31, 62, 94, 0.035);
    padding: 14px;
}

.cap-stat-panel h3 {
    color: var(--blue-900);
    font-size: 16px;
    margin: 0 0 12px;
}

.cap-map-stats {
    display: grid;
    gap: 7px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 9px;
}

.cap-map-stats span {
    background: #ffffff;
    border: 1px solid #d9e8f5;
    border-radius: 7px;
    color: #526981;
    display: grid;
    font-size: 11px;
    padding: 8px;
}

.cap-map-stats b {
    color: var(--blue-900);
    font-size: 18px;
}

.cap-complete-marker {
    background: #16a36a;
}

.cap-missing-marker {
    background: var(--yellow);
    color: #102743;
}

.cap-bars,
.cap-school-list {
    display: grid;
    gap: 8px;
}

.cap-bar-row {
    background: #fbfdff;
    border: 1px solid #d9e8f5;
    border-radius: 8px;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 10px;
}

.cap-bar-row strong {
    color: var(--blue-900);
    display: block;
    font-size: 13px;
}

.cap-bar-row span {
    color: #526981;
    font-size: 12px;
}

.cap-bar-row em {
    align-self: start;
    background: #edf5fb;
    border-radius: 999px;
    color: var(--blue-800);
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
    padding: 5px 8px;
}

.cap-bar-row progress {
    accent-color: var(--blue-800);
    grid-column: 1 / -1;
    height: 9px;
    width: 100%;
}

.cap-stat-lower {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(320px, 1fr));
}

.web-stat-grid {
    grid-template-columns: repeat(2, minmax(280px, 1fr));
}

.web-stat-lower {
    grid-template-columns: repeat(3, minmax(260px, 1fr));
}

.web-dashboard-hero {
    grid-template-columns: minmax(260px, 0.8fr) minmax(220px, 0.45fr) minmax(420px, 1fr);
}

.web-stat-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.web-donut-card {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d9e8f5;
    border-radius: 8px;
    display: grid;
    gap: 12px;
    grid-template-columns: 112px minmax(0, 1fr);
    min-height: 132px;
    padding: 12px;
}

.web-donut {
    align-items: center;
    aspect-ratio: 1;
    background: conic-gradient(#16a36a 0 var(--web-percent), var(--yellow) var(--web-percent) 100%);
    border-radius: 50%;
    display: grid;
    justify-items: center;
    position: relative;
    width: 112px;
}

.web-donut::after {
    background: #ffffff;
    border-radius: 50%;
    content: "";
    inset: 17px;
    position: absolute;
}

.web-donut span {
    color: var(--blue-900);
    font-size: 22px;
    font-weight: 900;
    position: relative;
    z-index: 1;
}

.web-donut-card strong {
    color: var(--blue-900);
    display: block;
    font-size: 14px;
    margin-bottom: 4px;
}

.web-donut-card span {
    color: #526981;
    font-size: 12px;
}

.web-chart-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: -4px 0 10px;
}

.web-chart-legend span {
    align-items: center;
    color: #526981;
    display: inline-flex;
    font-size: 11px;
    font-weight: 700;
    gap: 5px;
}

.web-chart-legend i {
    border-radius: 999px;
    display: inline-block;
    height: 8px;
    width: 8px;
}

.web-stacked-bar {
    background: #edf4fa;
    border-radius: 999px;
    display: flex;
    grid-column: 1 / -1;
    height: 12px;
    overflow: hidden;
    width: 100%;
}

.web-stacked-bar span {
    min-width: 0;
}

.web-stacked-bar .is-done,
.web-chart-legend .is-done {
    background: #16a36a;
}

.web-stacked-bar .is-missing,
.web-chart-legend .is-missing {
    background: var(--yellow);
}

.web-stacked-bar .is-na,
.web-chart-legend .is-na {
    background: #d6453d;
}

.web-link-stack {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 150px;
}

.web-link-stack .table-link {
    background: #f3f8fd;
    border: 1px solid #c8dced;
    border-radius: 999px;
    color: var(--blue-800);
    font-size: 12px;
    line-height: 1.2;
    max-width: 180px;
    padding: 4px 8px;
    text-decoration: none;
}

.web-link-stack .web-primary-link {
    background: #effaf4;
    border-color: #bce5ce;
    color: #0b6a3c;
}

.web-link-stack small,
.web-empty-link {
    color: #526981;
    font-size: 11px;
}

.web-empty-link {
    background: #fff7f4;
    border: 1px solid #f0c9bd;
    border-radius: 999px;
    color: #a43d2c;
    font-weight: 700;
    padding: 4px 8px;
}

.web-selected-site {
    background: #f7fbff;
    border: 1px solid #cfe1f1;
    border-radius: 8px;
    display: grid;
    gap: 4px;
    margin-top: -6px;
    padding: 10px 12px;
}

.web-selected-site span {
    color: var(--blue-900);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.web-selected-site a {
    color: #0b6a3c;
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.web-selected-site strong {
    color: #526981;
    font-size: 12px;
}

.web-selected-site.has-link {
    background: #effaf4;
    border-color: #bce5ce;
}

.web-site-dialog {
    background: #f5f9fd;
    border-radius: 14px;
    max-width: 980px;
    overflow: hidden;
    width: min(980px, 100%);
}

.web-site-dialog .floating-modal-head {
    background:
        radial-gradient(circle at 92% 48%, rgba(119, 190, 237, 0.3), transparent 25%),
        linear-gradient(135deg, rgba(12, 54, 91, 0.99), rgba(42, 125, 187, 0.96)),
        #1f679c;
    border-bottom: 0;
    color: #ffffff;
    gap: 20px;
    min-height: 84px;
    padding: 18px 24px;
    position: relative;
}

.web-site-dialog .floating-modal-head > * {
    position: relative;
    z-index: 1;
}

.web-site-dialog .floating-modal-head .section-kicker {
    color: #ffdf24;
}

.web-site-dialog .floating-modal-head h2 {
    color: #ffffff;
}

.web-site-dialog .floating-modal-head .icon-btn {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.38);
    color: #ffffff;
}

.web-site-head-actions {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 8px;
}

.web-site-header-date {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 9px;
    box-shadow: 0 10px 22px rgba(5, 28, 50, 0.14);
    color: #173c60;
    display: grid;
    gap: 1px;
    letter-spacing: 0.01em;
    margin: 0 !important;
    min-height: 44px;
    padding: 5px 10px;
}

.web-site-header-date > span {
    color: #60758b;
    font-size: 10px;
    font-weight: 850;
    line-height: 1.1;
    text-transform: uppercase;
}

.web-site-header-date input {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: #173c60;
    font-size: 13px;
    font-weight: 850;
    min-height: 20px;
    padding: 0;
    width: 142px;
}

.web-site-header-date:focus-within {
    border-color: #ffdc27;
    box-shadow: 0 0 0 3px rgba(255, 223, 36, 0.22);
}

.web-site-header-date input:focus {
    box-shadow: none;
}

.web-site-header-registrar {
    align-items: center;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.64);
    border-radius: 9px;
    box-shadow: 0 10px 22px rgba(5, 28, 50, 0.16);
    color: #173c60;
    display: inline-grid;
    gap: 9px;
    grid-template-columns: 34px minmax(0, auto);
    min-height: 44px;
    padding: 5px 10px 5px 6px;
}

.web-site-header-registrar .web-session-avatar {
    height: 34px;
    width: 34px;
}

.web-site-header-registrar .web-session-owner,
.web-site-header-registrar .web-session-text {
    color: #173c60;
}

.web-site-header-registrar .web-session-text small {
    color: #60758b;
    font-size: 10px;
}

.web-site-header-registrar .web-session-text strong {
    font-size: 13px;
}

.web-site-form {
    background:
        radial-gradient(circle at 98% 0, rgba(85, 164, 219, 0.15), transparent 26%),
        linear-gradient(180deg, #eef6fd 0%, #f8fbfe 38%, #ffffff 100%);
    display: grid;
    gap: 16px;
    padding: 20px 24px 24px;
}

.web-site-form .web-form-section {
    background: #ffffff;
    border: 1px solid #d3e3f0;
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(31, 62, 94, 0.05);
    display: grid;
    gap: 14px;
    padding: 18px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.web-site-form .web-form-section:hover {
    border-color: #c0d9ec;
    box-shadow: 0 14px 30px rgba(31, 62, 94, 0.075);
}

.web-site-form .web-form-section-main {
    background: linear-gradient(135deg, #ffffff, #f8fcff);
    border-top: 4px solid var(--blue-800);
}

.web-site-form .web-form-section-head {
    display: block;
}

.web-site-form .web-form-section-head .form-section-title {
    margin: 0;
}

.web-site-form .web-form-section-head small {
    color: #5a738b;
    display: block;
    font-size: 12px;
    font-weight: 650;
    margin-top: 5px;
}

.web-session-owner {
    align-items: center;
    background: #eef6ff;
    border: 1px solid #c5ddef;
    border-radius: 8px;
    color: #17456a;
    display: flex;
    gap: 9px;
    padding: 9px 11px;
}

.web-session-avatar {
    align-items: center;
    background: #ffffff;
    border: 1px solid #c3d9ea;
    border-radius: 50%;
    color: #17456a;
    display: inline-flex;
    flex: 0 0 34px;
    font-size: 13px;
    font-weight: 900;
    height: 34px;
    justify-content: center;
    overflow: hidden;
    width: 34px;
}

.web-session-avatar img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.web-session-text {
    display: grid;
    gap: 1px;
    min-width: 0;
}

.web-session-owner small {
    color: #607a91;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.web-session-owner strong {
    font-size: 13px;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.web-site-form .segmented-field {
    margin: 0;
}

.web-site-form .segmented-field > span {
    color: #1c527f;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.web-site-form .period-options {
    gap: 9px;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.web-site-form .web-site-interface-options {
    grid-template-columns: minmax(108px, 0.8fr) minmax(108px, 0.8fr) minmax(182px, 1.3fr) minmax(145px, 1fr) minmax(150px, 1.1fr);
}

.web-site-form .web-site-interface-options .period-option span {
    font-size: 11px;
    line-height: 1.25;
    padding-left: 7px;
    padding-right: 7px;
    white-space: nowrap;
}

.web-site-form .period-option span {
    border-radius: 10px;
    min-height: 42px;
    padding: 9px 12px;
}

.web-site-form .period-option span:hover {
    background: #eef6ff;
    border-color: #a8cce8;
}

.web-site-form .period-option input:checked + span,
.web-site-form .period-option input:checked + span:hover,
.web-site-form .period-option input:checked:focus + span {
    background: var(--blue-800);
    border-color: var(--blue-800);
    color: #ffffff;
    box-shadow: 0 8px 16px rgba(47, 103, 154, 0.14);
}

.web-site-form .web-selected-site {
    border-radius: 10px;
    margin-top: 0;
    padding: 12px 14px;
}

.web-site-form input[type="text"],
.web-site-form input[type="date"],
.web-site-form input[type="password"],
.web-site-form textarea {
    background: #fbfdff;
    border-color: #c8ddec;
    border-radius: 10px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.web-site-form input[type="text"]:focus,
.web-site-form input[type="date"]:focus,
.web-site-form input[type="password"]:focus,
.web-site-form textarea:focus {
    background: #ffffff;
    border-color: var(--blue-800);
    box-shadow: 0 0 0 3px rgba(45, 112, 174, 0.12);
}

.web-site-form .form-actions {
    background: #ffffff;
    border: 1px solid #d3e3f0;
    border-radius: 12px;
    margin-top: 0;
    padding: 14px 16px;
}

@media (max-width: 820px) {
    .web-site-form .web-site-interface-options {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .web-site-form .web-site-interface-options .period-option:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 700px) {
    .web-site-dialog .floating-modal-head {
        align-items: flex-start;
        gap: 14px;
        padding: 18px;
    }

    .web-site-head-actions {
        flex-wrap: wrap;
        justify-content: flex-end;
    }

    .web-site-header-date {
        flex: 1 1 120px;
    }

    .web-site-header-date input {
        width: 100%;
    }

    .web-site-header-registrar {
        min-width: 0;
    }

    .web-site-form .field-grid.two {
        grid-template-columns: 1fr;
    }

    .web-site-form {
        gap: 12px;
        padding: 14px;
    }

    .web-site-form .web-form-section {
        padding: 14px;
    }
}

.web-missing-pages {
    background: #f5f8fb;
    display: grid;
    gap: 14px;
    padding: 14px 16px 16px;
}

.web-missing-hero {
    grid-template-columns: minmax(280px, 1fr) minmax(360px, 0.75fr);
}

.web-missing-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.web-missing-list {
    background: #ffffff;
    border: 1px solid #d4e2ee;
    border-radius: 8px;
    display: grid;
    overflow: hidden;
}

.web-board-search {
    background: #ffffff;
    border: 1px solid #d4e2ee;
    border-radius: 8px;
    padding: 12px;
}

.web-sites-board .web-sites-search-row,
.web-sites-board .web-board-search,
.web-sites-board .web-sites-filter-form {
    box-sizing: border-box;
    max-width: 100%;
}

.web-sites-board .web-sites-search-row {
    display: grid;
    grid-template-columns: minmax(260px, 2fr) repeat(4, minmax(128px, 1fr)) minmax(104px, 124px) minmax(96px, 112px) minmax(104px, 124px);
}

.web-sites-board .web-sites-search-row > label,
.web-sites-board .web-board-search > label,
.web-sites-board .web-sites-filter-form > label {
    min-width: 0;
}

.web-sites-board .web-board-search {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(280px, 1fr) repeat(2, minmax(132px, 160px)) minmax(116px, 136px) repeat(2, minmax(42px, auto));
    overflow: visible;
}

.web-sites-board .web-board-search > label:has(input[type="search"]) {
    grid-column: span 1;
}

.web-sites-board .web-board-search .btn {
    justify-content: center;
    min-height: 40px;
    white-space: nowrap;
}

.web-sites-board .web-sites-filter-form {
    align-items: end;
    grid-template-columns: minmax(120px, 0.6fr) repeat(3, minmax(150px, 1fr)) minmax(112px, 128px);
    overflow: visible;
}

.web-sites-board .web-sites-filter-form strong {
    align-self: center;
}

@media (max-width: 1180px) {
    .web-sites-board .web-sites-search-row {
        grid-template-columns: minmax(280px, 1fr) repeat(2, minmax(128px, 160px)) repeat(3, minmax(96px, 1fr));
    }

    .web-sites-board .web-sites-search-row > label:first-of-type {
        grid-column: 1 / -1;
    }

    .web-sites-board .web-board-search {
        grid-template-columns: minmax(260px, 1fr) repeat(2, minmax(126px, 154px)) minmax(116px, 136px);
    }
}

@media (max-width: 760px) {
    .web-sites-board .web-sites-search-row,
    .web-sites-board .web-board-search,
    .web-sites-board .web-sites-filter-form {
        grid-template-columns: 1fr;
    }

    .web-sites-board .web-sites-search-row > label:first-of-type,
    .web-sites-board .web-board-search > label:has(input[type="search"]) {
        grid-column: auto;
    }
}

.web-missing-card {
    background: #ffffff;
    border: 1px solid #d4e2ee;
    border-left: 3px solid var(--yellow);
    border-radius: 8px;
    color: inherit;
    display: grid;
    gap: 9px;
    min-height: 116px;
    padding: 12px;
    text-decoration: none;
    transition: background 140ms ease, border-color 140ms ease, transform 140ms ease;
}

.web-missing-card:hover {
    background: #f7fbff;
    border-color: #b8d2e9;
    transform: translateY(-1px);
}

.web-missing-card strong,
.web-missing-card span {
    display: block;
}

.web-missing-card strong {
    color: var(--blue-900);
    font-size: 13px;
    line-height: 1.35;
}

.web-missing-card span,
.web-missing-card small {
    color: #526981;
    font-size: 11px;
}

.web-missing-card em {
    justify-self: start;
    background: #edf5fb;
    border-radius: 999px;
    color: var(--blue-800);
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
    padding: 5px 8px;
}

.web-missing-row {
    align-items: center;
    border-left: 3px solid var(--yellow);
    border-top: 1px solid #e3edf6;
    color: inherit;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(300px, 1.6fr) 110px 130px minmax(180px, 0.8fr) 90px;
    padding: 10px 14px;
    text-decoration: none;
}

.web-missing-row:first-child {
    border-top: 0;
}

.web-missing-row:hover {
    background: #f7fbff;
}

.web-missing-row strong,
.web-missing-row small {
    display: block;
}

.web-missing-row strong {
    color: var(--blue-900);
    font-size: 13px;
    line-height: 1.3;
}

.web-missing-row span,
.web-missing-row small {
    color: #526981;
    font-size: 12px;
}

.web-missing-row em {
    background: #edf5fb;
    border-radius: 999px;
    color: var(--blue-800);
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
    justify-self: start;
    padding: 5px 8px;
}

.web-missing-row b {
    background: var(--blue-800);
    border-radius: 8px;
    color: #ffffff;
    font-size: 12px;
    justify-self: end;
    padding: 7px 12px;
}

.web-not-apply-card {
    border-left-color: #d6453d;
}

.web-not-apply-card em {
    background: #fff4f2;
    color: #b3261e;
}

.web-na-list {
    background: #ffffff;
    border: 1px solid #d4e2ee;
    border-radius: 8px;
    display: grid;
    overflow: hidden;
}

.web-na-row {
    align-items: center;
    border-left: 3px solid #d6453d;
    border-top: 1px solid #e3edf6;
    color: inherit;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(280px, 1.7fr) 120px 100px 110px minmax(180px, 0.9fr);
    padding: 10px 14px;
    text-decoration: none;
}

.web-na-row:first-child {
    border-top: 0;
}

.web-na-row:hover {
    background: #f7fbff;
}

.web-na-row strong,
.web-na-row small {
    display: block;
}

.web-na-row strong {
    color: var(--blue-900);
    font-size: 13px;
    line-height: 1.3;
}

.web-na-row span,
.web-na-row small {
    color: #526981;
    font-size: 12px;
}

.web-na-row em {
    background: #fff4f2;
    border-radius: 999px;
    color: #b3261e;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
    justify-self: start;
    padding: 5px 8px;
}

.web-control-board {
    display: grid;
    gap: 0;
}

.web-control-search {
    border-bottom: 1px solid #d9e5ef;
}

.web-control-hero {
    border: 1px solid #d4e2ee;
    margin: 14px 18px;
}

.web-control-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.web-control-layout {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(300px, 0.34fr) minmax(0, 1fr);
    padding: 0 18px 18px;
}

.web-control-list {
    background: #ffffff;
    border: 1px solid #d4e2ee;
    border-radius: 8px;
    display: grid;
    max-height: calc(100vh - 330px);
    min-height: 520px;
    overflow-y: auto;
}

.web-control-list a {
    border-left: 3px solid transparent;
    border-top: 1px solid #e5eef6;
    color: inherit;
    display: grid;
    gap: 5px;
    padding: 10px 12px;
    text-decoration: none;
}

.web-control-list a:first-child {
    border-top: 0;
}

.web-control-list a:hover,
.web-control-list a.is-selected {
    background: #f5faff;
    border-left-color: var(--yellow);
}

.web-control-list strong {
    color: var(--blue-900);
    font-size: 13px;
    line-height: 1.3;
}

.web-control-list span {
    color: #526981;
    font-size: 12px;
}

.web-control-status {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
    justify-self: start;
    line-height: 1.1;
    padding: 6px 9px;
}

.web-control-status.is-success {
    background: #eaf8ef;
    border: 1px solid #bde6cd;
    color: #137646;
}

.web-control-status.is-warning {
    background: var(--yellow-soft);
    border: 1px solid var(--yellow-border);
    color: var(--yellow-ink);
}

.web-control-status.is-danger {
    background: #fff1ef;
    border: 1px solid #f0b8b3;
    color: #b3261e;
}

.web-control-status.is-neutral {
    background: #edf5fb;
    border: 1px solid #cfe0ef;
    color: var(--blue-800);
}

.web-control-detail {
    display: grid;
    gap: 14px;
    min-width: 0;
}

.web-control-title,
.web-control-card {
    background: #ffffff;
    border: 1px solid #d4e2ee;
    border-radius: 8px;
}

.web-control-title {
    align-items: start;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    padding: 16px;
}

.web-control-title h2 {
    color: #102743;
    font-size: 22px;
    line-height: 1.2;
    margin: 3px 0 6px;
}

.web-control-title p {
    color: #526981;
    margin: 0;
}

.web-control-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.web-control-card-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.web-control-card {
    min-width: 0;
    padding: 14px;
}

.web-control-card h3 {
    color: var(--blue-900);
    font-size: 15px;
    margin: 0 0 12px;
}

.web-control-card dl {
    display: grid;
    gap: 8px;
    margin: 0;
}

.web-control-card dt {
    color: #526981;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.web-control-card dd {
    color: #102743;
    font-size: 13px;
    margin: -6px 0 0;
    min-width: 0;
    overflow-wrap: anywhere;
}

.web-control-columns {
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
}

.web-control-timeline,
.web-control-messages {
    display: grid;
    gap: 8px;
    max-height: 430px;
    overflow-y: auto;
}

.web-control-timeline a,
.web-control-messages article {
    background: #f8fbfe;
    border: 1px solid #dbe8f4;
    border-left: 3px solid var(--yellow);
    border-radius: 8px;
    color: inherit;
    display: grid;
    gap: 4px;
    padding: 10px;
    text-decoration: none;
}

.web-control-timeline a:hover {
    background: #f4f9ff;
    border-color: #b9d4eb;
}

.web-control-timeline em,
.web-control-messages em {
    color: #526981;
    font-size: 11px;
    font-style: normal;
}

.web-control-timeline strong,
.web-control-messages strong {
    color: var(--blue-900);
    font-size: 13px;
}

.web-control-timeline span,
.web-control-messages span {
    color: #526981;
    font-size: 12px;
    overflow-wrap: anywhere;
}

.cap-stat-panel-head {
    align-items: start;
    border-bottom: 1px solid #e4eef7;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin: -2px -2px 10px;
    padding: 0 0 10px;
}

.cap-stat-panel-head h3 {
    margin: 0;
}

.cap-stat-panel-head span {
    color: #526981;
    display: block;
    font-size: 12px;
    margin-top: 4px;
}

.cap-export-actions {
    display: flex;
    flex: 0 0 auto;
    gap: 6px;
}

.cap-export-actions .btn {
    background: #f7fbff;
    border-color: #c8dced;
    color: var(--blue-800);
    min-height: 30px;
    padding: 6px 10px;
}

.cap-export-actions .btn:hover {
    background: #eaf4ff;
}

.cap-export-actions .btn:last-child {
    background: #effaf4;
    border-color: #bce5ce;
    color: #0b6a3c;
}

.cap-export-actions .btn:last-child:hover {
    background: #dcf7e8;
}

.cap-school-list {
    max-height: 328px;
    overflow-y: auto;
    padding-right: 3px;
}

.cap-school-list a {
    background: #fbfdff;
    border: 1px solid #d9e8f5;
    border-left: 3px solid var(--yellow);
    border-radius: 7px;
    display: block;
    padding: 10px 11px;
    text-decoration: none;
    transition: background 140ms ease, border-color 140ms ease, transform 140ms ease;
}

.cap-school-list a:hover {
    background: #f4f9ff;
    border-color: #b8d2e9;
    transform: translateX(2px);
}

.cap-school-list strong,
.cap-school-list span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cap-school-list strong {
    color: var(--blue-900);
    font-size: 12px;
}

.cap-school-list span {
    color: #526981;
    font-size: 11px;
}

.printer-maintenance-search label {
    color: #40566d;
    font-size: 12px;
    font-weight: 650;
    margin: 0;
}

.printer-maintenance-search input,
.printer-maintenance-search select {
    background: #ffffff;
    border: 1px solid #cbdbea;
    border-radius: 8px;
    color: #0f2a44;
    font: inherit;
    min-height: 42px;
    padding: 10px 12px;
    width: 100%;
}

.printer-maintenance-search input:focus,
.printer-maintenance-search select:focus {
    border-color: var(--blue-800);
    box-shadow: 0 0 0 3px rgba(47, 103, 154, 0.12);
    outline: none;
}

.file-picker-field {
    display: grid;
    gap: 7px;
    position: relative;
    z-index: 1;
}

.file-picker-field .field-label {
    color: #40566d;
    font-size: 13px;
    font-weight: 700;
}

.file-picker-input {
    height: 1px;
    left: -9999px;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    position: fixed;
    top: auto;
    width: 1px;
}

.modal-form .form-actions {
    position: relative;
    z-index: 2;
}

.file-picker-control {
    align-items: center;
    background: #fbfdff;
    border: 1px solid #cbdbea;
    border-radius: 8px;
    display: grid;
    gap: 10px;
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 42px;
    padding: 5px;
}

.file-picker-button {
    align-items: center;
    background: #2f679a;
    border: 1px solid #2f679a;
    border-radius: 7px;
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    gap: 8px;
    justify-content: center;
    min-height: 32px;
    padding: 0 12px;
    transition: background 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
    white-space: nowrap;
}

.file-picker-button:hover {
    background: #245a8a;
    border-color: #245a8a;
}

.file-picker-input:focus + .file-picker-control .file-picker-button,
.file-picker-button:focus-visible {
    box-shadow: 0 0 0 3px rgba(47, 103, 154, 0.18);
    outline: none;
}

.file-picker-button .button-icon {
    height: 16px;
    width: 16px;
}

.file-picker-name {
    color: #526981;
    font-size: 13px;
    font-weight: 700;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-picker-field.has-file .file-picker-name {
    color: #143a5c;
}

.file-picker-field small {
    color: #63788d;
    font-size: 12px;
}

.attachment-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.attachment-list.compact {
    max-width: 240px;
}

.attachment-chip {
    align-items: center;
    background: #eef7ff;
    border: 1px solid #bdd7ef;
    border-radius: 999px;
    color: var(--blue-900);
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 6px;
    line-height: 1.2;
    max-width: 100%;
    min-height: 28px;
    padding: 5px 9px;
    text-decoration: none;
}

.attachment-chip:hover {
    background: #e2f0fb;
    border-color: #9ec6e8;
    text-decoration: none;
}

.attachment-chip .button-icon {
    flex: 0 0 auto;
    height: 15px;
    width: 15px;
}

.attachment-chip span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.attachment-list.compact .attachment-download-chip {
    border-radius: 8px;
    height: 34px;
    justify-content: center;
    min-height: 34px;
    padding: 0;
    width: 34px;
}

.attachment-list.compact .attachment-download-chip .button-icon {
    height: 17px;
    width: 17px;
}

.compact-filter-panel {
    background: #ffffff;
    border-bottom: 1px solid #d9e5ef;
    padding: 12px 18px;
}

.compact-filter-panel .filter-panel-head {
    margin-bottom: 8px;
}

.compact-filter-panel .filter-panel-head strong {
    color: #40566d;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.compact-filter-panel .filter-panel-head a {
    background: transparent;
    border: 0;
    color: var(--blue-800);
    padding: 0;
}

.compact-filter-panel .filter-pills {
    display: grid;
    gap: 8px;
}

.compact-filter-panel .pill-group {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    display: flex;
    gap: 8px;
    min-width: 0;
    overflow-x: auto;
    padding: 0 0 2px;
    scrollbar-width: thin;
}

.compact-filter-panel .pill-label {
    align-items: center;
    background: #f3f8fc;
    border: 1px solid #d9e5ef;
    border-radius: 999px;
    color: #61758b;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 10px;
    font-weight: 800;
    justify-content: center;
    min-height: 30px;
    min-width: 86px;
    padding: 6px 10px;
    text-transform: uppercase;
}

.compact-filter-panel .filter-pill {
    background: #ffffff;
    border-color: #d5e3ef;
    border-radius: 999px;
    box-shadow: none;
    flex: 0 0 auto;
    font-size: 12px;
    gap: 7px;
    justify-content: flex-start;
    min-height: 30px;
    min-width: 0;
    padding: 6px 9px;
}

.compact-filter-panel .filter-pill b {
    color: #204e78;
    max-width: 190px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.compact-filter-panel .filter-pill em {
    background: #edf5fb;
    color: #45617a;
    flex: 0 0 auto;
    font-size: 11px;
    margin-left: 0;
    min-width: 28px;
    padding: 4px 7px;
}

.compact-filter-panel .filter-pill.is-active {
    background: #eef6ff;
    border-color: var(--blue-800);
    box-shadow: inset 0 0 0 1px var(--blue-800);
    color: var(--blue-900);
}

.compact-filter-panel .filter-pill.is-active b {
    color: var(--blue-900);
}

.compact-filter-panel .filter-pill.is-active em {
    background: var(--blue-800);
    color: #ffffff;
}

.compact-filter-panel .filter-pill.is-active span {
    background: var(--yellow);
}

.rector-filter-panel.compact-filter-panel {
    padding: 10px 18px;
}

.rector-filter-panel.compact-filter-panel .filter-panel-head {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-template-columns: auto minmax(0, 1fr);
    margin-bottom: 8px;
}

.rector-filter-panel.compact-filter-panel .filter-panel-head strong {
    align-self: end;
    color: #40566d;
    font-size: 12px;
    font-weight: 800;
    line-height: 38px;
    padding: 0;
    text-transform: uppercase;
    white-space: nowrap;
}

.rector-filter-panel.compact-filter-panel .rector-history-search {
    align-items: end;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(320px, 1fr) minmax(150px, 190px) minmax(98px, 120px) minmax(104px, 122px) auto;
}

.rector-filter-panel.compact-filter-panel .rector-search-field,
.rector-filter-panel.compact-filter-panel .rector-year-field {
    color: #102743;
    display: grid;
    font-size: 12px;
    font-weight: 800;
    gap: 6px;
    text-transform: uppercase;
}

.rector-filter-panel.compact-filter-panel .rector-search-field input,
.rector-filter-panel.compact-filter-panel .rector-year-field select {
    background: #ffffff;
    border: 1px solid #bfd4e7;
    border-radius: 8px;
    color: #102743;
    font-size: 13px;
    font-weight: 700;
    min-height: 38px;
    padding: 8px 12px;
    width: 100%;
}

.rector-filter-panel.compact-filter-panel .rector-search-field input:focus,
.rector-filter-panel.compact-filter-panel .rector-year-field select:focus {
    border-color: var(--blue-800);
    box-shadow: 0 0 0 2px rgba(47, 103, 154, 0.12);
    outline: none;
}

.rector-filter-panel.compact-filter-panel .rector-filter-actions {
    align-items: end;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(190px, 230px) minmax(100px, 118px) auto;
    justify-content: end;
}

.rector-filter-panel.compact-filter-panel .rector-year-filter label {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-columns: auto minmax(120px, 1fr);
    min-height: 38px;
}

.rector-filter-panel.compact-filter-panel .rector-year-filter select {
    min-height: 38px;
    min-width: 0;
}

.rector-filter-panel.compact-filter-panel .rector-filter-actions .btn {
    border-radius: 8px;
    justify-content: center;
    min-height: 38px;
    min-width: 104px;
    padding: 9px 14px;
    white-space: nowrap;
}

.rector-filter-panel.compact-filter-panel .rector-history-search .btn {
    border-radius: 8px;
    justify-content: center;
    min-height: 38px;
    padding: 9px 14px;
    white-space: nowrap;
}

.rector-filter-panel.compact-filter-panel .rector-reset-link {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--blue-800);
    display: inline-flex;
    justify-content: center;
    min-height: 38px;
    padding: 0 4px;
    white-space: nowrap;
}

.rector-filter-panel.compact-filter-panel .rector-history-search .rector-reset-link {
    align-self: end;
}

.rector-filter-panel.compact-filter-panel .filter-pills {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rector-filter-panel.compact-filter-panel .pill-group {
    background: #f8fbfe;
    border: 1px solid #dce9f4;
    border-radius: 8px;
    display: grid;
    gap: 7px;
    grid-template-columns: 82px repeat(3, minmax(72px, 1fr));
    overflow: visible;
    padding: 7px;
}

.rector-filter-panel.compact-filter-panel .pill-label {
    min-width: 0;
}

.rector-filter-panel.compact-filter-panel .filter-pill {
    border-radius: 7px;
    flex: initial;
    justify-content: flex-start;
    min-height: 34px;
    min-width: 0;
    padding: 6px 9px;
}

@media (max-width: 1180px) {
    .rector-filter-panel.compact-filter-panel .filter-panel-head,
    .rector-filter-panel.compact-filter-panel .rector-history-search {
        grid-template-columns: 1fr;
    }

    .rector-filter-panel.compact-filter-panel .filter-panel-head strong {
        line-height: 1.2;
    }

    .rector-filter-panel.compact-filter-panel .rector-history-search {
        align-items: stretch;
    }
}

.printer-filter-panel {
    border-bottom-color: #d9e5ef;
}

.printer-filter-panel .filter-pills {
    gap: 10px;
}

.printer-filter-panel .pill-group {
    grid-template-columns: none;
}

.printer-filter-panel .printer-pill-group {
    align-items: center;
}

.printer-filter-panel .filter-pill {
    min-width: 0;
}

.printer-filter-panel .filter-pill b {
    max-width: 190px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.printer-filter-panel .filter-pill em {
    flex: 0 0 auto;
}

.printer-filter-panel .printer-year-group,
.printer-filter-panel .printer-status-group {
    grid-template-columns: none;
}

.obsequios-filter-panel .filter-pills {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 0.9fr);
}

.obsequios-filter-panel .pill-group {
    grid-template-columns: 74px repeat(3, minmax(72px, 1fr));
}

.obsequios-filter-panel .pill-label,
.obsequios-filter-panel .filter-pill {
    min-height: 32px;
}

.requerimientos-filter-panel {
    padding: 10px 18px;
}

.requerimientos-filter-panel .filter-panel-head {
    margin-bottom: 8px;
}

.requerimientos-filter-form {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(118px, 0.75fr) minmax(118px, 0.82fr) minmax(118px, 0.82fr) minmax(118px, 0.82fr) minmax(140px, 1fr) minmax(96px, 112px) minmax(108px, 124px);
}

.requerimientos-filter-form label {
    color: #183a5d;
    display: grid;
    font-size: 11px;
    font-weight: 800;
    gap: 5px;
    text-transform: uppercase;
}

.requerimientos-filter-form select {
    background: #ffffff;
    border: 1px solid #bfd4e7;
    border-radius: 8px;
    color: #102743;
    font-size: 13px;
    font-weight: 700;
    min-height: 38px;
    padding: 8px 10px;
    width: 100%;
}

.requerimientos-filter-form .btn {
    border-radius: 8px;
    justify-content: center;
    min-height: 38px;
    padding: 9px 12px;
    white-space: nowrap;
}

.tareas-filter-panel {
    padding: 12px 18px;
}

.tareas-filter-panel .filter-panel-head {
    display: none;
}

.tareas-filter-form {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(150px, 220px) minmax(150px, 220px) 112px 124px;
    justify-content: start;
    max-width: 720px;
}

.tareas-filter-form label {
    color: #183a5d;
    display: grid;
    font-size: 11px;
    font-weight: 800;
    gap: 5px;
    text-transform: uppercase;
}

.tareas-filter-form select {
    background: #ffffff;
    border: 1px solid #bfd4e7;
    border-radius: 8px;
    color: #102743;
    font-size: 13px;
    font-weight: 700;
    min-height: 38px;
    padding: 8px 10px;
    width: 100%;
}

.tareas-filter-form .btn {
    align-self: end;
    border-radius: 8px;
    justify-content: center;
    min-height: 38px;
    padding: 9px 12px;
    white-space: nowrap;
}

.tareas-filter-form .reset-filter-action {
    justify-self: start;
}

.carnets-filter-panel {
    padding: 10px 18px;
}

.carnets-filter-panel .filter-panel-head {
    margin-bottom: 8px;
}

.carnets-filter-form {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(150px, 190px) minmax(150px, 190px) minmax(150px, 190px) minmax(96px, 112px) minmax(108px, 124px);
    justify-content: start;
    max-width: 860px;
}

.carnets-filter-form label {
    color: #183a5d;
    display: grid;
    font-size: 11px;
    font-weight: 800;
    gap: 5px;
    text-transform: uppercase;
}

.carnets-filter-form select {
    background: #ffffff;
    border: 1px solid #bfd4e7;
    border-radius: 8px;
    color: #102743;
    font-size: 13px;
    font-weight: 700;
    min-height: 38px;
    padding: 8px 10px;
    width: 100%;
}

.carnets-filter-form .btn {
    border-radius: 8px;
    justify-content: center;
    min-height: 38px;
    padding: 9px 12px;
    white-space: nowrap;
}

@media (max-width: 1280px) {
    .requerimientos-filter-form {
        grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(96px, 112px) minmax(108px, 124px);
    }

    .requerimientos-filter-form label:nth-of-type(5) {
        grid-column: span 3;
    }
}

@media (max-width: 820px) {
    .requerimientos-filter-form {
        grid-template-columns: 1fr 1fr;
    }

    .requerimientos-filter-form label:nth-of-type(5) {
        grid-column: auto;
    }

    .tareas-filter-form {
        grid-template-columns: 1fr 1fr;
        max-width: none;
    }

    .carnets-filter-form {
        grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(96px, 112px) minmax(108px, 124px);
        max-width: none;
    }
}

@media (max-width: 760px) {
    .carnets-filter-form {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 1280px) {
    .obsequios-filter-panel .filter-pills {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .obsequios-filter-panel .filter-pills {
        grid-template-columns: 1fr;
    }

    .obsequios-filter-panel .pill-group {
        grid-template-columns: 74px repeat(3, minmax(68px, 1fr));
    }
}

.colegio-card-list {
    display: grid;
    gap: 12px;
    max-height: calc(100vh - 330px);
    min-height: 360px;
    overflow-y: auto;
    padding: 14px 22px 22px;
}

.department-view {
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(320px, 0.95fr) minmax(280px, 1.05fr);
    padding: 18px 22px 22px;
}

.colegio-dashboard {
    display: grid;
    gap: 16px;
    padding: 18px 22px 22px;
}

.colegio-dashboard-hero {
    align-items: center;
    background: #f8fbfe;
    border: 1px solid #d4e2ee;
    border-radius: 10px;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(260px, 0.8fr) minmax(420px, 1fr);
    padding: 18px;
}

.colegio-dashboard-hero h3 {
    color: #102743;
    font-size: 22px;
    margin: 6px 0;
}

.colegio-dashboard-hero p {
    color: #526981;
    margin: 0;
}

.colegio-dashboard-kpis {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.colegio-dashboard-kpis article {
    background: #ffffff;
    border: 1px solid #d4e2ee;
    border-radius: 8px;
    padding: 13px 14px;
}

.colegio-dashboard-kpis strong {
    color: var(--blue-900);
    display: block;
    font-size: 24px;
    line-height: 1;
}

.colegio-dashboard-kpis span {
    color: #526981;
    display: block;
    font-size: 12px;
    margin-top: 7px;
}

.colegio-dashboard-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.colegio-chart-card {
    background: #ffffff;
    border: 1px solid #d4e2ee;
    border-radius: 10px;
    display: grid;
    gap: 11px;
    padding: 16px;
}

.colegio-chart-card.wide {
    grid-column: span 3;
}

.colegio-donut-card {
    align-content: start;
}

.colegio-chart-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.colegio-chart-head h3 {
    color: var(--blue-900);
    font-size: 16px;
    margin: 0;
}

.colegio-chart-head span {
    background: #eef6ff;
    border-radius: 999px;
    color: #315d83;
    font-size: 12px;
    font-weight: 700;
    padding: 6px 10px;
    white-space: nowrap;
}

.colegio-donut-layout {
    align-items: center;
    display: grid;
    gap: 14px;
    grid-template-columns: 150px minmax(0, 1fr);
}

.colegio-donut {
    align-items: center;
    aspect-ratio: 1;
    background: var(--donut-bg, conic-gradient(#2f679a 0% 100%));
    border-radius: 50%;
    box-shadow: 0 12px 24px rgba(31, 62, 94, 0.08);
    display: grid;
    justify-items: center;
    position: relative;
    width: min(150px, 100%);
}

.colegio-donut::after {
    background: #ffffff;
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px #d9e5ef;
    content: "";
    inset: 27px;
    position: absolute;
}

.colegio-donut-center {
    color: var(--blue-900);
    display: grid;
    gap: 3px;
    justify-items: center;
    line-height: 1;
    position: relative;
    z-index: 1;
}

.colegio-donut-center strong {
    font-size: 25px;
}

.colegio-donut-center span {
    color: #526981;
    font-size: 11px;
    font-weight: 700;
}

.colegio-donut-legend {
    display: grid;
    gap: 8px;
}

.colegio-donut-item {
    align-items: center;
    background: #f8fbfe;
    border: 1px solid #d9e5ef;
    border-radius: 8px;
    display: grid;
    gap: 9px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 9px 10px;
}

.colegio-donut-item i {
    background: var(--dot-color, var(--blue-800));
    border-radius: 999px;
    display: block;
    height: 10px;
    width: 10px;
}

.colegio-donut-item strong,
.colegio-donut-item small {
    display: block;
}

.colegio-donut-item strong {
    color: #102743;
    font-size: 13px;
}

.colegio-donut-item small {
    color: #526981;
    font-size: 11px;
    margin-top: 2px;
}

.colegio-donut-item span {
    color: var(--blue-900);
    font-size: 13px;
    font-weight: 800;
}

.colegio-chart-row {
    background: #f8fbfe;
    border: 1px solid #d9e5ef;
    border-radius: 8px;
    display: grid;
    gap: 8px;
    padding: 10px 12px;
}

.colegio-chart-row-head {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: space-between;
}

.colegio-chart-row-head strong {
    color: #102743;
    font-size: 13px;
}

.colegio-chart-row-head span {
    color: #526981;
    font-size: 12px;
    font-weight: 700;
}

.colegio-bar-track {
    background: #e9f1f8;
    border-radius: 999px;
    height: 9px;
    overflow: hidden;
}

.colegio-bar-track i {
    background: var(--blue-800);
    border-radius: inherit;
    display: block;
    height: 100%;
}

.colegio-chart-row.oficial .colegio-bar-track i,
.colegio-chart-row.suspendidos .colegio-bar-track i {
    background: var(--yellow);
}

.colegio-chart-row.activos .colegio-bar-track i,
.colegio-chart-row.privado .colegio-bar-track i {
    background: #16a47d;
}

.colegio-chart-row.inactivos .colegio-bar-track i {
    background: #c43d35;
}

.department-map-panel,
.department-ranking {
    background: #ffffff;
    border: 1px solid #d4e2ee;
    border-radius: 10px;
    box-shadow: 0 10px 24px rgba(31, 62, 94, 0.035);
    padding: 18px;
}

.department-map-head {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 12px;
}

.department-map-head h3,
.department-ranking h3 {
    color: #102743;
    font-size: 17px;
    font-weight: 650;
    margin: 0 0 4px;
}

.department-map-head p {
    color: var(--muted);
    margin: 0;
}

.department-map-head span {
    background: var(--yellow-soft);
    border: 1px solid var(--yellow-border);
    border-radius: 999px;
    color: var(--yellow-ink);
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 650;
    padding: 7px 10px;
}

.cap-stat-map {
    align-items: start;
    border-radius: 8px;
    display: grid;
    gap: 10px 14px;
    grid-template-columns: minmax(300px, 410px) minmax(260px, 1fr);
    padding: 14px;
}

.cap-stat-map .department-map-head {
    grid-column: 1 / -1;
    margin-bottom: 2px;
}

.colombia-map {
    background: #ffffff;
    border: 1px solid #d9e5ef;
    border-radius: 8px;
    display: block;
    margin: 0 auto;
    max-width: 400px;
    overflow: visible;
    padding: 12px;
    position: relative;
    width: min(100%, 400px);
}

.colombia-map img {
    display: block;
    filter: saturate(0.65) contrast(0.95);
    height: auto;
    opacity: 0.96;
    width: 100%;
}

.map-marker-wrap {
    position: absolute;
    transform: translate(-50%, -50%);
    z-index: 2;
}

.map-marker {
    align-items: center;
    background: var(--blue-800);
    border: 2px solid #ffffff;
    border-radius: 999px;
    box-shadow: 0 7px 16px rgba(20, 58, 94, 0.24);
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    justify-content: center;
    min-height: 28px;
    min-width: 28px;
    position: relative;
}

.map-marker::after {
    border: 1px solid rgba(47, 103, 154, 0.25);
    border-radius: inherit;
    content: "";
    inset: -6px;
    position: absolute;
}

.map-marker:hover,
.map-marker:focus-visible {
    background: #245d8e;
    outline: none;
}

.map-marker-wrap.is-open .map-marker {
    background: var(--yellow);
    border-color: #ffffff;
    color: #102743;
    outline: none;
}

.map-marker-wrap.is-open {
    z-index: 80;
}

.colombia-map.has-preview-open .map-marker-wrap:not(.is-open) {
    opacity: 0.48;
    z-index: 1;
}

.map-marker-label {
    background: #ffffff;
    border: 1px solid #c9dcec;
    border-radius: 999px;
    box-shadow: 0 8px 18px rgba(12, 39, 66, 0.14);
    color: #102743;
    left: 50%;
    opacity: 0;
    padding: 5px 8px;
    pointer-events: none;
    position: absolute;
    top: calc(100% + 9px);
    transform: translateX(-50%) translateY(-3px);
    transition: opacity 140ms ease, transform 140ms ease;
    white-space: nowrap;
    z-index: 6;
}

.map-marker-wrap.is-open .map-marker-label {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.map-selected-preview {
    background: #f7fbff;
    border: 1px solid #c9dcec;
    border-radius: 8px;
    box-shadow: none;
    margin-top: 0;
    padding: 12px;
}

.cap-stat-map .map-selected-preview {
    align-self: stretch;
    grid-column: 2;
    grid-row: 2 / span 2;
    min-height: 100%;
}

.cap-stat-map .map-credit {
    grid-column: 1;
}

.map-preview-head {
    align-items: center;
    border-bottom: 1px solid #e4eef7;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    margin-bottom: 8px;
    padding-bottom: 8px;
}

.map-preview-head strong {
    font-size: 14px;
    font-weight: 650;
}

.map-preview-head span {
    background: var(--yellow-soft);
    border: 1px solid var(--yellow-border);
    border-radius: 999px;
    color: var(--yellow-ink);
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 650;
    padding: 5px 8px;
}

.map-preview-list {
    display: grid;
    gap: 6px;
    max-height: 320px;
    overflow-y: auto;
    padding-right: 4px;
}

.map-preview-list a {
    background: #f7fbff;
    border: 1px solid #d9e8f5;
    border-radius: 8px;
    color: #0e3a63;
    display: block;
    padding: 8px 9px;
}

.map-preview-list a:hover {
    border-color: #9fc0dd;
    text-decoration: none;
}

.map-preview-list strong {
    display: block;
    font-size: 12px;
    line-height: 1.25;
}

.map-preview-list span,
.map-selected-preview p {
    color: var(--muted);
    display: block;
    font-size: 11px;
    margin-top: 3px;
}

.map-selected-preview p {
    margin: 8px 0 0;
}

.map-credit {
    color: var(--muted);
    font-size: 11px;
    margin: 8px 0 0;
    text-align: center;
}

.department-list {
    display: grid;
    gap: 10px;
    margin-top: 12px;
    max-height: 560px;
    overflow-y: auto;
}

.department-row {
    background: #f8fbfe;
    border: 1px solid #d9e5ef;
    border-radius: 9px;
    display: grid;
    gap: 7px 12px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 11px 12px;
}

.department-row strong {
    color: #102743;
    display: block;
    font-weight: 650;
}

.department-row span {
    color: var(--muted);
    display: block;
    font-size: 12px;
    margin-top: 2px;
}

.department-row em {
    align-items: center;
    background: var(--blue-800);
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-style: normal;
    font-weight: 650;
    height: 30px;
    justify-content: center;
    min-width: 38px;
    padding: 0 10px;
}

.department-row progress {
    appearance: none;
    grid-column: 1 / -1;
    height: 7px;
    width: 100%;
}

.department-row progress::-webkit-progress-bar {
    background: #e8f1f8;
    border-radius: 999px;
}

.department-row progress::-webkit-progress-value {
    background: var(--yellow);
    border-radius: 999px;
}

.department-row progress::-moz-progress-bar {
    background: var(--yellow);
    border-radius: 999px;
}

.department-note {
    background: #fff8d6;
    border: 1px solid var(--yellow-border);
    border-radius: 8px;
    color: var(--yellow-ink);
    font-size: 12px;
    margin: 12px 0 0;
    padding: 10px 12px;
}

.colegio-card {
    background: #ffffff;
    border: 1px solid #d4e2ee;
    border-left: 4px solid var(--blue-800);
    border-radius: 10px;
    box-shadow: 0 10px 24px rgba(31, 62, 94, 0.035);
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 14px 14px 14px 16px;
}

.colegio-card.status-activo {
    border-left-color: #16a47d;
}

.colegio-card.status-suspendido {
    border-left-color: #f3a10b;
}

.colegio-card.status-inactivo {
    border-left-color: #c43d35;
}

.colegio-card h3 {
    color: #071d35;
    font-size: 16px;
    font-weight: 650;
    line-height: 1.3;
    margin: 10px 0 3px;
}

.colegio-card strong {
    color: #184d80;
    display: block;
    font-weight: 600;
}

.colegio-card a {
    word-break: break-word;
}

.tag-row {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.colegio-card-details {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(180px, 1fr));
    margin-top: 12px;
}

.colegio-card-details span {
    background: #f7fbff;
    border: 1px solid #d4e2ee;
    border-radius: 8px;
    color: #18364f;
    display: block;
    min-height: 52px;
    padding: 9px 11px;
}

.colegio-card-details small {
    color: #0d548f;
    display: block;
    font-size: 11px;
    font-weight: 600;
    margin-bottom: 3px;
    text-transform: uppercase;
}

.card-actions {
    align-content: start;
    display: flex;
    gap: 8px;
}

.card-actions form {
    margin: 0;
}

.icon-btn {
    align-items: center;
    background: #f7fbff;
    border: 1px solid #cbdbea;
    border-radius: 8px;
    color: var(--blue-900);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: 11px;
    font-weight: 600;
    height: 36px;
    justify-content: center;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
    width: 36px;
}

.icon-btn:hover {
    background: #edf5fb;
    border-color: #adc5da;
    box-shadow: 0 8px 18px rgba(31, 62, 94, 0.07);
}

.icon-btn.danger {
    background: #fff5f4;
    border-color: #f0b8b3;
    color: var(--danger);
}

.action-icon {
    fill: none;
    height: 18px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 18px;
}

@media (max-width: 900px) {
    .app-shell {
        grid-template-columns: 1fr;
    }

    .sidebar-edge-toggle {
        display: none;
    }

    .sidebar {
        display: block;
        border-bottom: 1px solid var(--line);
        border-right: 0;
        min-height: 0;
        position: static;
    }

    .sidebar-scroll {
        max-height: none;
        overflow: visible;
    }

    .nav-group {
        margin-top: 10px;
    }

    .topbar {
        height: auto;
        grid-template-columns: 42px minmax(0, 1fr);
        padding: 14px;
    }

    .topbar-menu-button {
        display: inline-flex;
    }

    .topbar-search {
        grid-column: 1 / -1;
        max-width: none;
    }

    .topbar-actions {
        grid-column: 2;
        justify-self: end;
    }

    body.sidebar-collapsed .topbar {
        grid-template-columns: 42px minmax(0, 1fr);
    }

    body.sidebar-collapsed .sidebar {
        display: none;
    }

    .user-chip {
        justify-self: start;
    }

    .page-head {
        align-items: flex-start;
        flex-direction: column;
        min-height: 0;
        padding: 22px;
    }

    .page-head h1 {
        font-size: 23px;
    }

    .page-icon {
        flex-basis: 48px;
        height: 48px;
        width: 48px;
    }

    .page-icon::before {
        inset: -6px;
    }

    .page-icon::after {
        bottom: 7px;
        right: 7px;
    }

    .page-icon-svg {
        height: 24px;
        width: 24px;
    }

    .floating-modal {
        align-items: stretch;
        padding: 12px;
    }

    .floating-modal-dialog {
        max-height: calc(100vh - 24px);
        width: 100%;
    }

    .mail-send-dialog .whatsapp-confirm-body {
        max-height: calc(100vh - 112px);
    }

    .mail-send-dialog textarea {
        min-height: 140px;
    }

    .floating-modal-head {
        align-items: flex-start;
        padding: 16px;
    }

    .modal-form {
        max-height: calc(100vh - 116px);
    }

    .metric-row,
    .metric-row.secondary,
    .detail-grid,
    .field-grid,
    .field-grid.two,
    .field-grid.three,
    .field-grid.four,
    .import-layout,
    .filters,
    .user-edit-layout,
    .user-form-grid,
    .resma-workspace,
    .resma-filter-grid,
    .diploma-filter-grid,
    .colegios-workspace,
    .inline-import,
    .colegio-search,
    .printer-maintenance-search,
    .colegio-card,
    .colegio-card-details,
    .access-card,
    .maintenance-card,
    .supply-card,
    .filter-pills,
    .rector-metrics,
    .rector-workspace,
    .department-view,
    .colegio-dashboard-hero,
    .colegio-dashboard-grid,
    .sync-source-item {
        grid-template-columns: 1fr;
    }

    .colegio-chart-card.wide {
        grid-column: auto;
    }

    .sync-source-item form,
    .sync-all-form {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .sync-key-field {
        min-width: 0;
        width: 100%;
    }

    .import-rules-panel {
        grid-column: auto;
    }

    .colegio-donut-layout {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .colegio-donut-legend {
        width: 100%;
    }

    .colegio-dashboard-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rector-form {
        max-height: none;
        position: static;
    }

    .pill-group {
        grid-template-columns: 1fr;
    }

    .printer-filter-panel .pill-group,
    .printer-filter-panel .printer-year-group,
    .printer-filter-panel .printer-status-group {
        grid-template-columns: 1fr;
    }

    .cap-compact-filters strong,
    .cap-compact-filters label,
    .cap-compact-filters label:first-of-type,
    .cap-compact-filters .btn {
        flex: 1 1 100%;
        line-height: normal;
    }

    .cap-training-dashboard,
    .cap-dashboard-metrics,
    .domain-reminder-metrics,
    .notifications-layout,
    .notifications-summary,
    .notification-filter-bar,
    .cap-stat-hero,
    .cap-stat-metrics,
    .cap-stat-grid,
    .cap-stat-lower,
    .web-missing-hero,
    .web-missing-metrics,
    .web-control-layout,
    .web-control-metrics,
    .web-control-card-grid,
    .web-control-columns,
    .cap-stat-map {
        grid-template-columns: 1fr;
    }

    .web-control-list {
        max-height: 360px;
        min-height: 0;
    }

    .web-control-title {
        align-items: stretch;
        flex-direction: column;
    }

    .web-missing-row,
    .web-na-row {
        align-items: start;
        grid-template-columns: 1fr;
    }

    .cap-stat-map .department-map-head,
    .cap-stat-map .map-selected-preview,
    .cap-stat-map .map-credit {
        grid-column: 1;
        grid-row: auto;
    }

    .notifications-hero,
    .notification-card {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .notifications-hero {
        flex-direction: column;
    }

    .platform-alert-stack {
        margin: 0;
        position: fixed;
        right: 14px;
        top: 76px;
        width: min(300px, calc(100vw - 28px));
    }

    .notification-card-date {
        justify-items: start;
        width: fit-content;
    }

    .whatsapp-confirm-body .form-actions form {
        grid-template-columns: 1fr;
    }

    .whatsapp-confirm-body .form-actions form.mail-attachment-form {
        grid-template-columns: 1fr;
    }

    .cap-stat-panel-head {
        align-items: stretch;
        flex-direction: column;
    }

    .cap-export-actions .btn {
        flex: 1 1 0;
    }

    .filter-pill {
        justify-content: flex-start;
    }

    .board-title {
        align-items: flex-start;
        flex-direction: column;
    }

    .board-title-actions {
        margin-left: 0;
        width: 100%;
    }

    .board-title-actions .btn {
        width: 100%;
    }

    .colegio-form {
        max-height: none;
        position: static;
    }

    .floating-modal .modal-form {
        max-height: calc(100vh - 116px);
        overflow-y: auto;
    }

    .colegio-card-list {
        max-height: none;
    }

    .access-list {
        max-height: none;
        min-height: 0;
    }

    .maintenance-list {
        max-height: none;
        min-height: 0;
    }

    .supply-list {
        max-height: none;
        min-height: 0;
    }

    .access-vault-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .maintenance-board-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .paper-dashboard-head,
    .panel-head-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .panel-head-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .access-main,
    .maintenance-card-main,
    .supply-main,
    .access-actions {
        width: 100%;
    }

    .maintenance-meta {
        grid-template-columns: 1fr;
    }

    .supply-meta {
        grid-template-columns: 1fr;
    }

    .access-actions {
        justify-content: flex-start;
    }

    .maintenance-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .supply-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .content {
        padding: 18px 14px 34px;
    }

    .module-card {
        min-height: 90px;
    }

    .module-section-head {
        align-items: start;
        flex-direction: column;
    }

    .record-hero {
        align-items: start;
        flex-direction: column;
    }

    .record-links {
        justify-content: flex-start;
    }

    .module-hub {
        padding: 16px;
    }

    .module-hub-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .module-hub-card {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .module-hub-meta {
        grid-column: 2 / -1;
        justify-self: start;
    }
}

.compact-filter-panel .filter-panel-head a.reset-filter-action,
.filter-panel-head a.reset-filter-action,
.rector-filter-panel.compact-filter-panel .rector-reset-link.reset-filter-action,
a.reset-filter-action,
button.reset-filter-action {
    align-items: center;
    background: #fff7e6;
    border: 1px solid #f0bd39;
    border-radius: 999px;
    box-shadow: none;
    color: #805200;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 7px;
    justify-content: center;
    line-height: 1;
    min-height: 34px;
    padding: 7px 12px;
    text-decoration: none;
    white-space: nowrap;
}

.compact-filter-panel .filter-panel-head a.reset-filter-action::before,
.filter-panel-head a.reset-filter-action::before,
.rector-filter-panel.compact-filter-panel .rector-reset-link.reset-filter-action::before,
a.reset-filter-action::before,
button.reset-filter-action::before {
    background: #f2c300;
    border-radius: 999px;
    content: "";
    display: inline-block;
    flex: 0 0 auto;
    height: 8px;
    width: 8px;
}

.compact-filter-panel .filter-panel-head a.reset-filter-action:hover,
.filter-panel-head a.reset-filter-action:hover,
.rector-filter-panel.compact-filter-panel .rector-reset-link.reset-filter-action:hover,
a.reset-filter-action:hover,
button.reset-filter-action:hover {
    background: #ffefc2;
    border-color: #dda000;
    box-shadow: 0 8px 18px rgba(170, 117, 0, 0.12);
    color: #684100;
    text-decoration: none;
}

.icon-btn {
    transition:
        background-color 0.16s ease,
        border-color 0.16s ease,
        box-shadow 0.16s ease,
        color 0.16s ease,
        transform 0.16s ease;
}

.icon-btn:hover {
    transform: translateY(-1px);
}

.icon-btn.icon-action-open {
    background: #ecfdf5;
    border-color: #9ee8c4;
    color: #087a4d;
}

.icon-btn.icon-action-open:hover {
    background: #d9fbea;
    border-color: #5fcf9a;
    box-shadow: 0 8px 18px rgba(8, 122, 77, 0.14);
}

.icon-btn.icon-action-view {
    background: #f2f0ff;
    border-color: #c6bdf6;
    color: #4b3ca0;
}

.icon-btn.icon-action-view:hover {
    background: #e8e4ff;
    border-color: #a89af0;
    box-shadow: 0 8px 18px rgba(75, 60, 160, 0.13);
}

.icon-btn.icon-action-edit {
    background: #eef7ff;
    border-color: #b8d8f2;
    color: #1f5f93;
}

.icon-btn.icon-action-edit:hover {
    background: #dff0ff;
    border-color: #86bfeb;
    box-shadow: 0 8px 18px rgba(31, 95, 147, 0.14);
}

.icon-btn.icon-action-email {
    background: #edf6ff;
    border-color: #a8cfed;
    color: #174f7d;
}

.icon-btn.icon-action-email:hover {
    background: #ddecfb;
    border-color: #79b3df;
    box-shadow: 0 8px 18px rgba(23, 79, 125, 0.13);
}

.icon-btn.icon-action-whatsapp {
    background: #eafaf4;
    border-color: #8bdfbe;
    color: #087a4d;
}

.icon-btn.icon-action-whatsapp:hover {
    background: #d8f6ea;
    border-color: #5fcf9a;
    box-shadow: 0 8px 18px rgba(8, 122, 77, 0.14);
}

.icon-btn.icon-action-history {
    background: #fff8df;
    border-color: #f0ca58;
    color: #8a6200;
}

.icon-btn.icon-action-history:hover {
    background: #ffefbd;
    border-color: #deb02f;
    box-shadow: 0 8px 18px rgba(138, 98, 0, 0.13);
}

.icon-btn.icon-action-delete,
.icon-btn.danger {
    background: #fff1ee;
    border-color: #ffb7ad;
    color: #c23125;
}

.icon-btn.icon-action-delete:hover,
.icon-btn.danger:hover {
    background: #ffe3de;
    border-color: #ec7568;
    box-shadow: 0 8px 18px rgba(194, 49, 37, 0.15);
}

.btn.btn-with-icon {
    gap: 8px;
    line-height: 1;
    white-space: nowrap;
}

.btn.btn-with-icon .button-icon {
    flex: 0 0 auto;
    height: 17px;
    width: 17px;
}

a.btn.btn-action-search.primary,
button.btn.btn-action-search.primary,
a.btn.btn-action-add.primary,
button.btn.btn-action-add.primary {
    background: var(--blue-800);
    border-color: var(--blue-800);
    color: #ffffff;
}

a.btn.btn-action-search.primary:hover,
button.btn.btn-action-search.primary:hover,
a.btn.btn-action-add.primary:hover,
button.btn.btn-action-add.primary:hover {
    background: var(--blue-900);
    border-color: var(--blue-900);
    box-shadow: 0 10px 20px rgba(31, 95, 147, 0.16);
    color: #ffffff;
}

a.btn.btn-action-clear,
button.btn.btn-action-clear {
    background: #f8fbff;
    border-color: #c9dcec;
    color: var(--blue-900);
}

a.btn.btn-action-clear:hover,
button.btn.btn-action-clear:hover {
    background: #eef6ff;
    border-color: #9fc3e2;
    box-shadow: 0 8px 18px rgba(31, 95, 147, 0.11);
    color: var(--blue-900);
}

.filter-panel-head a.btn.btn-with-icon,
.compact-filter-panel .filter-panel-head a.btn.btn-with-icon {
    min-height: 30px;
    padding: 6px 10px;
}

.filter-panel-head a.btn.btn-with-icon .button-icon,
.compact-filter-panel .filter-panel-head a.btn.btn-with-icon .button-icon {
    height: 14px;
    width: 14px;
}

.rector-filter-panel.compact-filter-panel .filter-panel-head {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    margin-bottom: 8px;
}

.rector-filter-panel.compact-filter-panel .filter-panel-head strong {
    align-items: center;
    color: var(--blue-900);
    display: inline-flex;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.02em;
    line-height: 1;
    margin: 0;
    padding: 0;
    text-transform: uppercase;
    white-space: nowrap;
}

.rector-filter-panel.compact-filter-panel .filter-panel-head strong::before {
    background: var(--yellow);
    border-radius: 999px;
    content: "";
    display: inline-block;
    height: 8px;
    margin-right: 7px;
    width: 8px;
}

.rector-filter-panel.compact-filter-panel .filter-panel-head a.reset-filter-action {
    flex: 0 0 auto;
    min-height: 30px;
    padding: 6px 10px;
    width: auto;
}

.rector-filter-panel.compact-filter-panel .filter-pills {
    align-items: start;
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rector-filter-panel.compact-filter-panel .pill-group {
    background: #f8fbff;
    border: 1px solid #d9e8f4;
    border-radius: 8px;
    display: grid;
    gap: 7px;
    grid-template-columns: 86px repeat(auto-fit, minmax(120px, 1fr));
    min-width: 0;
    overflow: visible;
    padding: 7px;
}

.rector-filter-panel.compact-filter-panel .pill-label {
    min-width: 0;
}

.rector-filter-panel.compact-filter-panel .filter-pill {
    min-width: 0;
}

.rector-history .rector-filter-panel.compact-filter-panel .filter-panel-head {
    align-items: end;
    background: #f8fbff;
    border: 1px solid #d9e8f4;
    border-radius: 8px;
    display: grid;
    gap: 12px;
    grid-template-columns: 86px minmax(0, 1fr);
    margin-bottom: 8px;
    padding: 10px;
}

.rector-history .rector-filter-panel.compact-filter-panel .filter-panel-head strong {
    align-self: center;
    line-height: 1.1;
}

.rector-history .rector-filter-panel.compact-filter-panel .rector-history-search {
    align-items: end;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(360px, 1fr) 190px 118px 124px 126px;
    width: 100%;
}

.rector-history .rector-filter-panel.compact-filter-panel .rector-search-field,
.rector-history .rector-filter-panel.compact-filter-panel .rector-year-field {
    margin: 0;
    min-width: 0;
}

.rector-history .rector-filter-panel.compact-filter-panel .rector-history-search .btn,
.rector-history .rector-filter-panel.compact-filter-panel .rector-history-search .rector-reset-link {
    align-self: end;
    border-radius: 8px;
    min-height: 38px;
    width: 100%;
}

.rector-history .rector-filter-panel.compact-filter-panel .rector-history-search a.btn.primary,
.rector-history .rector-filter-panel.compact-filter-panel .rector-history-search a.btn-action-add.primary {
    background: var(--blue-800);
    border: 1px solid var(--blue-800);
    color: #ffffff;
    min-height: 38px;
    padding: 9px 14px;
}

.rector-history .rector-filter-panel.compact-filter-panel .rector-history-search a.btn.primary:hover,
.rector-history .rector-filter-panel.compact-filter-panel .rector-history-search a.btn-action-add.primary:hover {
    background: #24577f;
    border-color: #24577f;
    color: #ffffff;
    text-decoration: none;
}

.rector-history .rector-filter-panel.compact-filter-panel .rector-history-search .rector-reset-link.reset-filter-action {
    min-height: 38px;
    padding: 9px 12px;
}

@media (max-width: 1280px) {
    .rector-filter-panel.compact-filter-panel .filter-pills {
        grid-template-columns: 1fr;
    }

    .rector-history .rector-filter-panel.compact-filter-panel .rector-history-search {
        grid-template-columns: minmax(280px, 1fr) 160px repeat(3, minmax(104px, 1fr));
    }
}

@media (max-width: 920px) {
    .rector-history .rector-filter-panel.compact-filter-panel .filter-panel-head,
    .rector-history .rector-filter-panel.compact-filter-panel .rector-history-search {
        grid-template-columns: 1fr;
    }
}

/* Vista compacta global para filtros: evita encabezados repetidos y acciones estiradas. */
.rector-filter-panel.compact-filter-panel .filter-panel-head {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    margin-bottom: 8px;
    min-height: 30px;
}

.rector-filter-panel.compact-filter-panel .filter-panel-head > strong {
    display: none;
}

.rector-filter-panel.compact-filter-panel .filter-panel-head a.reset-filter-action,
.rector-filter-panel.compact-filter-panel .filter-panel-head a:not(.btn) {
    flex: 0 0 auto;
    width: auto;
}

.rector-filter-panel.compact-filter-panel .filter-pills {
    align-items: stretch;
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

.rector-filter-panel.compact-filter-panel .pill-group {
    align-items: center;
    background: #f8fbff;
    border: 1px solid #d9e8f4;
    border-radius: 8px;
    display: grid;
    gap: 7px;
    grid-template-columns: 86px repeat(auto-fit, minmax(112px, 1fr));
    min-width: 0;
    overflow: visible;
    padding: 7px;
}

.rector-filter-panel.compact-filter-panel .pill-label,
.rector-filter-panel.compact-filter-panel .filter-pill {
    min-width: 0;
}

.rector-history .rector-filter-panel.compact-filter-panel .filter-panel-head {
    grid-template-columns: minmax(0, 1fr);
}

.rector-history .rector-filter-panel.compact-filter-panel .rector-history-search {
    grid-column: 1 / -1;
}

/* Capa compacta global para busquedas, filtros y acciones. */
.btn.btn-with-icon {
    align-items: center;
    display: inline-flex;
    gap: 8px;
    justify-content: center;
    line-height: 1;
    min-height: 38px;
    position: relative;
    white-space: nowrap;
}

.btn.btn-with-icon .button-icon {
    fill: none;
    flex: 0 0 auto;
    height: 17px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 17px;
}

.btn.btn-icon-only {
    gap: 0;
    max-width: 42px;
    min-width: 42px;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 42px;
}

.btn.btn-icon-only .btn-label {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.btn.btn-action-search {
    background: #2f6da3;
    border-color: #2f6da3;
    color: #ffffff;
}

.btn.btn-action-search:hover,
.btn.btn-action-add:hover {
    background: #255a86;
    border-color: #255a86;
    color: #ffffff;
}

.btn.btn-action-add {
    background: #2f6da3;
    border-color: #2f6da3;
    color: #ffffff;
}

.btn.btn-action-clear {
    background: #ffffff;
    border-color: #cfe0ee;
    color: #154a77;
}

.btn.btn-action-clear:hover {
    background: #eef6fc;
    border-color: #a8c8e1;
    color: #0f3c62;
}

form.global-search-actions,
.printer-maintenance-search.global-search-actions,
.printer-maintenance-search.action-search-row.global-search-actions,
.printer-maintenance-search.calls-inline-search.global-search-actions,
.rector-history-search.global-search-actions {
    align-items: end;
    background: #fbfdff;
    border-bottom: 1px solid #d9e5ef;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(260px, 1fr) minmax(104px, 116px) 42px 42px;
    margin: 0;
    padding: 12px 18px;
}

form.global-search-actions label {
    margin: 0;
    min-width: 0;
}

form.global-search-actions input[type="search"],
form.global-search-actions input[type="text"],
form.global-search-actions select {
    height: 40px;
    min-width: 0;
}

form.global-search-actions .btn {
    align-self: end;
    height: 40px;
    margin: 0;
}

form.global-search-actions .btn-action-search {
    min-width: 104px;
}

form.global-search-actions .btn-action-clear,
form.global-search-actions .btn-action-add {
    justify-self: stretch;
}

.clientes-search-row.global-search-actions,
.clientes-search-row.action-search-row.global-search-actions {
    grid-template-columns: minmax(320px, 1fr) minmax(110px, 132px) minmax(140px, 172px) minmax(104px, 118px) 42px 42px;
}

.clientes-search-row.global-search-actions.toolbar-filter-count-2,
.clientes-search-row.action-search-row.global-search-actions.toolbar-filter-count-2 {
    grid-template-columns: minmax(320px, 1fr) minmax(110px, 132px) minmax(140px, 172px) minmax(104px, 118px) 42px 42px;
}

.clientes-inline-filter {
    min-width: 0;
}

.clientes-board {
    background: transparent;
    border: 0;
    box-shadow: none;
    overflow: visible;
}

.clientes-board .clientes-submenu-row,
.clientes-board .clientes-search-row,
.clientes-table-wrap {
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid #d5e4f0;
    box-shadow: 0 16px 38px rgba(28, 61, 96, 0.06);
}

.clientes-board .clientes-search-row {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    overflow: visible;
}

.clientes-board .clientes-search-row > label:first-of-type {
    flex: 1 1 520px;
    min-width: min(360px, 100%);
}

.clientes-board .clientes-search-row > .clientes-inline-filter {
    flex: 0 1 136px;
    min-width: 112px;
}

.clientes-board .clientes-search-row > .btn-action-search {
    flex: 0 0 118px;
    max-width: 118px;
}

.clientes-board .clientes-search-row > .btn-action-clear,
.clientes-board .clientes-search-row > .btn-action-add,
.clientes-board .clientes-search-row > .btn-icon-only {
    flex: 0 0 42px;
    max-width: 42px;
    min-width: 42px;
    width: 42px;
}

.clientes-total-cell,
.clientes-total-cell strong {
    white-space: nowrap;
}

.clientes-table {
    min-width: 1260px;
    table-layout: fixed;
}

.clientes-table-wrap {
    border-radius: 8px;
    overflow: auto;
}

.clientes-table.data-table {
    border: 0;
}

.clientes-table.data-table thead th {
    background: linear-gradient(180deg, #f8fbff, #edf5fc);
    color: #173f63;
    font-size: 11px;
    letter-spacing: 0;
    position: sticky;
    text-transform: uppercase;
    top: 0;
    z-index: 4;
}

.clientes-table th,
.clientes-table td {
    overflow-wrap: anywhere;
    padding-left: 10px;
    padding-right: 10px;
}

.clientes-table tbody tr {
    background: #ffffff;
    transition: background 0.16s ease, box-shadow 0.16s ease;
}

.clientes-table tbody tr:nth-child(even) {
    background: #fbfdff;
}

.clientes-table tbody tr:hover {
    background: #f3f9ff;
    box-shadow: inset 3px 0 0 #2f86cf;
}

.clientes-table .table-actions {
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-start;
}

.clientes-table th:nth-child(1),
.clientes-table td:nth-child(1) {
    width: 112px;
}

.clientes-table th:nth-child(2),
.clientes-table td:nth-child(2) {
    width: 15%;
}

.clientes-table th:nth-child(3),
.clientes-table td:nth-child(3) {
    width: 12%;
}

.clientes-table th:nth-child(4),
.clientes-table td:nth-child(4) {
    width: 18%;
}

.clientes-table th:nth-child(5),
.clientes-table td:nth-child(5) {
    width: 130px;
}

.clientes-table th:nth-child(6),
.clientes-table td:nth-child(6) {
    width: 13%;
}

.clientes-table th:nth-child(7),
.clientes-table td:nth-child(7) {
    width: 112px;
    white-space: nowrap;
}

.clientes-table th:nth-child(8),
.clientes-table td:nth-child(8) {
    padding-right: 18px;
    width: 128px;
}

.clientes-table th:nth-child(9),
.clientes-table td:nth-child(9) {
    padding-left: 18px;
    width: 136px;
}

.clientes-table th:nth-child(10),
.clientes-table td:nth-child(10) {
    background: rgba(255, 255, 255, 0.98);
    box-shadow: -10px 0 18px rgba(31, 62, 94, 0.04);
    position: sticky;
    right: 0;
    width: 148px;
    z-index: 2;
}

.clientes-table tbody tr:nth-child(even) td:nth-child(10) {
    background: #fbfdff;
}

.clientes-table tbody tr:hover td:nth-child(10) {
    background: #f3f9ff;
}

.clientes-table th:nth-child(10) {
    background: linear-gradient(180deg, #f8fbff, #edf5fc);
    z-index: 5;
}

.clientes-floating-head {
    border: 1px solid #c7dcee;
    border-radius: 8px 8px 0 0;
    box-shadow: 0 14px 28px rgba(23, 63, 99, 0.16);
    display: none;
    overflow: hidden;
    pointer-events: none;
    position: fixed;
    z-index: 9;
}

.clientes-floating-head.is-visible {
    display: block;
}

.clientes-floating-table {
    border: 0;
    border-collapse: collapse;
    table-layout: fixed;
}

.clientes-floating-table thead th {
    background: linear-gradient(180deg, #f8fbff, #eaf3fb);
    border-bottom: 1px solid #c7dcee;
    color: #173f63;
    font-size: 11px;
    letter-spacing: 0;
    padding-left: 10px;
    padding-right: 10px;
    position: static;
    text-transform: uppercase;
    top: auto;
    z-index: auto;
}

.clientes-floating-head .clientes-floating-table th:nth-child(10) {
    box-shadow: none;
    position: static;
    right: auto;
    z-index: auto;
}

@media (min-width: 901px) {
    .clientes-table-wrap {
        overflow: visible;
    }

    .clientes-table.data-table thead th {
        border-bottom: 1px solid #c7dcee;
        box-shadow: 0 10px 18px rgba(28, 61, 96, 0.08);
        top: 64px;
        z-index: 8;
    }

    .clientes-table.data-table thead th:nth-child(10) {
        z-index: 10;
    }
}

.clientes-table td small {
    display: block;
}

.clientes-person {
    max-width: 100%;
}

.clientes-person .task-person-avatar {
    height: 28px;
    width: 28px;
}

.clientes-person .task-person-copy strong {
    font-size: 12px;
}

.clientes-person .task-person-copy small {
    font-size: 10px;
}

.clientes-modal-dialog {
    background: #f7fbff;
    max-width: 1040px;
    overflow: hidden;
    width: min(1040px, calc(100vw - 28px));
}

.clientes-modal-dialog .floating-modal-head {
    background:
        linear-gradient(135deg, rgba(11, 45, 75, 0.98), rgba(45, 122, 185, 0.95)),
        #1f679c;
    border-bottom: 0;
    color: #ffffff;
    padding: 22px 24px;
    position: relative;
}

.clientes-modal-dialog .floating-modal-head::after {
    background: rgba(255, 255, 255, 0.16);
    content: "";
    height: 150%;
    position: absolute;
    right: 170px;
    top: -25%;
    transform: rotate(28deg);
    width: 18px;
}

.clientes-modal-dialog .floating-modal-head > * {
    position: relative;
    z-index: 1;
}

.clientes-modal-dialog .floating-modal-head .section-kicker {
    color: #ffd800;
}

.clientes-modal-dialog .floating-modal-head h2 {
    color: #ffffff;
}

.clientes-modal-head-title {
    min-width: 0;
}

.clientes-modal-head-actions {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 10px;
}

.clientes-header-status {
    align-items: start;
    background: rgba(255, 255, 255, 0.13);
    border: 1px solid rgba(255, 255, 255, 0.62);
    border-radius: 8px;
    box-shadow: 0 12px 26px rgba(5, 28, 50, 0.16);
    color: #ffffff;
    display: inline-grid;
    gap: 5px;
    min-width: 210px;
    padding: 7px;
    position: relative;
}

.clientes-header-status-label {
    color: rgba(255, 255, 255, 0.86);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1;
    padding: 0 4px;
    text-transform: uppercase;
}

.clientes-status-trigger {
    align-items: center;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.74);
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(7, 35, 62, 0.14);
    color: #0f2f4f;
    cursor: pointer;
    display: grid;
    gap: 8px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 34px;
    padding: 7px 9px;
    text-align: left;
    width: 100%;
}

.clientes-status-trigger strong {
    display: block;
    font-size: 13px;
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.clientes-status-dot {
    background: #2f86cf;
    border-radius: 999px;
    box-shadow: 0 0 0 4px rgba(47, 134, 207, 0.12);
    display: inline-block;
    height: 8px;
    width: 8px;
}

.clientes-status-trigger.status-activo .clientes-status-dot,
.clientes-status-menu-item.status-activo .clientes-status-dot {
    background: #1ca66a;
    box-shadow: 0 0 0 4px rgba(28, 166, 106, 0.12);
}

.clientes-status-trigger.status-inactivo .clientes-status-dot,
.clientes-status-menu-item.status-inactivo .clientes-status-dot {
    background: #dc4a3d;
    box-shadow: 0 0 0 4px rgba(220, 74, 61, 0.12);
}

.clientes-status-trigger.status-warning .clientes-status-dot,
.clientes-status-menu-item.status-warning .clientes-status-dot {
    background: #f0c800;
    box-shadow: 0 0 0 4px rgba(240, 200, 0, 0.16);
}

.clientes-status-trigger.status-interesado .clientes-status-dot,
.clientes-status-menu-item.status-interesado .clientes-status-dot {
    background: #f0c800;
    box-shadow: 0 0 0 4px rgba(240, 200, 0, 0.18);
}

.clientes-status-trigger.status-proceso .clientes-status-dot,
.clientes-status-menu-item.status-proceso .clientes-status-dot {
    background: #2f8ed8;
    box-shadow: 0 0 0 4px rgba(47, 142, 216, 0.14);
}

.clientes-status-trigger.status-proceso {
    background: #eef7ff;
    border-color: #b7d8f2;
}

.clientes-status-trigger.status-interesado {
    background: #fff9df;
    border-color: #f1d36b;
}

.clientes-status-caret {
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid #2f5d82;
    height: 0;
    width: 0;
}

.clientes-status-popover {
    background: #ffffff;
    border: 1px solid #cfe0f0;
    border-radius: 8px;
    box-shadow: 0 18px 38px rgba(8, 34, 57, 0.22);
    display: none;
    gap: 4px;
    left: 0;
    min-width: 240px;
    padding: 6px;
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    z-index: 20;
}

.clientes-header-status.is-open .clientes-status-popover {
    display: grid;
}

.clientes-status-menu-item {
    align-items: center;
    background: #ffffff;
    border: 0;
    border-radius: 7px;
    color: #16334f;
    cursor: pointer;
    display: grid;
    font-size: 12px;
    font-weight: 700;
    gap: 8px;
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 34px;
    padding: 8px 9px;
    text-align: left;
}

.clientes-status-menu-item:hover,
.clientes-status-menu-item.is-selected {
    background: #eef6ff;
}

.clientes-status-menu-item.is-selected {
    color: #0f4f82;
}

.clientes-status-menu-item.status-interesado.is-selected {
    background: #fff7d1;
    color: #7a5900;
}

.clientes-status-menu-item.status-proceso.is-selected {
    background: #e8f4ff;
    color: #185b91;
}

.clientes-modal-dialog .floating-modal-head .icon-btn {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.36);
    color: #ffffff;
    position: relative;
    z-index: 1;
}

.clientes-modal-dialog .modal-form {
    background: #f8fbff;
    display: block;
    max-width: none;
    overflow-x: hidden;
    width: 100%;
}

.clientes-form .planilla-form-section {
    background: #ffffff;
    clear: both;
    display: block;
    float: none;
    margin-left: 0;
    margin-right: 0;
    padding: 13px 14px;
    width: 100%;
}

.clientes-form .form-section-title {
    color: #174a75;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
    margin-bottom: 10px;
    text-transform: none;
}

.clientes-form .field-grid,
.clientes-form .field-grid.two,
.clientes-form .field-grid.three,
.clientes-form .field-grid.four {
    align-items: start;
    gap: 9px 12px;
    min-width: 0;
}

.clientes-form label:not(.file-picker-button),
.clientes-form input,
.clientes-form select,
.clientes-form textarea {
    min-width: 0;
}

.clientes-form label:not(.file-picker-button) {
    color: #40566d;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.25;
    text-transform: none;
}

.clientes-form input,
.clientes-form select,
.clientes-form textarea {
    color: #16334f;
    font-weight: 500;
}

.clientes-propuesta-main-grid {
    display: grid;
    gap: 9px 12px;
    grid-template-columns: minmax(120px, 0.72fr) minmax(115px, 0.58fr) minmax(260px, 1.7fr);
    min-width: 0;
}

.clientes-registro-main-grid {
    align-items: end;
    display: grid;
    gap: 9px 12px;
    grid-template-columns: minmax(190px, 1fr) minmax(120px, 0.72fr) minmax(240px, 1.2fr);
    min-width: 0;
}

.clientes-school-type-grid {
    align-items: end;
    grid-template-columns: minmax(280px, 1fr) minmax(220px, 260px);
}

.clientes-school-type-grid.is-sietdh {
    grid-template-columns: minmax(280px, 1fr);
}

.clientes-school-type-grid.is-sietdh .clientes-school-type-field {
    display: none;
}

.clientes-linea-field {
    color: #40566d;
    display: grid;
    font-size: 12px;
    font-weight: 600;
    gap: 5px;
    line-height: 1.25;
    margin: 9px 0;
    max-width: 480px;
    min-width: 0;
}

.clientes-school-type-field {
    color: #40566d;
    display: grid;
    font-size: 12px;
    font-weight: 600;
    gap: 5px;
    line-height: 1.25;
    min-width: 0;
}

.clientes-school-type-toggle {
    background: #eef6ff;
    border: 1px solid #cfe0f0;
    border-radius: 8px;
    display: grid;
    gap: 4px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 4px;
}

.clientes-linea-toggle {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.clientes-school-type-toggle label {
    cursor: pointer;
    display: block;
    margin: 0;
}

.clientes-school-type-toggle input {
    height: 1px;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    width: 1px;
}

.clientes-school-type-toggle span {
    align-items: center;
    background: transparent;
    border-radius: 6px;
    color: #31506b;
    display: flex;
    font-size: 13px;
    font-weight: 800;
    height: 30px;
    justify-content: center;
    text-align: center;
    transition: background 0.16s ease, box-shadow 0.16s ease, color 0.16s ease;
}

.clientes-school-type-toggle label.is-selected span,
.clientes-school-type-toggle input:checked + span {
    background: #2f6da3;
    box-shadow: 0 8px 16px rgba(47, 109, 163, 0.18);
    color: #ffffff;
}

.clientes-attendee-field {
    color: #40566d;
    display: grid;
    font-size: 12px;
    font-weight: 600;
    gap: 5px;
    line-height: 1.25;
    min-width: 0;
    position: relative;
}

.clientes-attendee-trigger {
    align-items: center;
    background: #ffffff;
    border: 1px solid #cfe0f0;
    border-radius: 8px;
    color: #16334f;
    cursor: pointer;
    display: grid;
    gap: 9px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 38px;
    padding: 5px 9px 5px 5px;
    text-align: left;
    transition: border-color 0.16s ease, box-shadow 0.16s ease;
    width: 100%;
}

.clientes-attendee-trigger:hover,
.clientes-attendee-field.is-open .clientes-attendee-trigger {
    border-color: #93bfdf;
    box-shadow: 0 0 0 3px rgba(47, 134, 207, 0.1);
}

.clientes-attendee-trigger strong {
    display: block;
    font-size: 13px;
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.clientes-attendee-copy {
    display: block;
    min-width: 0;
}

.clientes-attendee-trigger.is-readonly {
    cursor: default;
}

.clientes-attendee-trigger.is-readonly:hover {
    border-color: #cfe0f0;
    box-shadow: none;
}

.clientes-attendee-trigger.is-readonly small {
    color: #5a6f86;
    display: block;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.1;
}

.clientes-attendee-avatar {
    align-items: center;
    background: #eaf4ff;
    border: 1px solid #cde0f2;
    border-radius: 999px;
    color: #1f679c;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    height: 30px;
    justify-content: center;
    overflow: hidden;
    width: 30px;
}

.clientes-attendee-avatar img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.clientes-attendee-popover {
    background: #ffffff;
    border: 1px solid #cfe0f0;
    border-radius: 8px;
    box-shadow: 0 18px 38px rgba(8, 34, 57, 0.18);
    display: none;
    gap: 4px;
    left: 0;
    min-width: 230px;
    padding: 6px;
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    z-index: 18;
}

.clientes-attendee-field.is-open .clientes-attendee-popover {
    display: grid;
}

.clientes-attendee-menu-item {
    align-items: center;
    background: #ffffff;
    border: 0;
    border-radius: 7px;
    color: #16334f;
    cursor: pointer;
    display: grid;
    font-size: 12px;
    font-weight: 800;
    gap: 9px;
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 38px;
    padding: 5px 8px;
    text-align: left;
}

.clientes-attendee-menu-item:hover,
.clientes-attendee-menu-item.is-selected {
    background: #eef6ff;
}

.clientes-propuesta-section .clientes-plan-field {
    margin-top: 0;
}

.clientes-propuesta-section .clientes-propuesta-valores {
    grid-template-columns: repeat(3, minmax(150px, 1fr)) !important;
    margin-top: 8px;
}

.clientes-propuesta-section .clientes-propuesta-valores label:last-child input {
    background: #f4fbf8;
    border-color: #b9dfc9;
    color: #0f5b3a;
    font-weight: 700;
}

.clientes-propuesta-section .clientes-payment-control {
    margin-top: 13px;
}

.clientes-propuesta-section .clientes-payment-control .clientes-payment-approval {
    align-items: center;
    background: #f7fbfd;
    border: 1px solid #d6e6ef;
    border-radius: 8px;
    display: flex;
    gap: 9px;
    min-height: 42px;
    padding: 8px 10px;
}

.clientes-propuesta-section .clientes-payment-control .clientes-payment-approval input {
    accent-color: #1e9d69;
    background: initial;
    border: initial;
    color: initial;
    height: 17px;
    margin: 0;
    min-height: 0;
    padding: 0;
    width: 17px;
}

.clientes-payment-approval span,
.clientes-payment-approval b,
.clientes-payment-approval small {
    display: block;
}

.clientes-payment-approval b {
    color: #214b6d;
    font-size: 12px;
}

.clientes-payment-approval small {
    color: #6e8495;
    font-size: 10px;
    font-weight: 500;
    margin-top: 2px;
}

.clientes-status-field {
    max-width: 460px;
}

.clientes-status-field-top {
    display: block !important;
    grid-column: 1 / -1 !important;
    margin-top: 8px;
    max-width: none;
    opacity: 1 !important;
    visibility: visible !important;
    width: 100%;
}

.clientes-form > .form-actions {
    align-items: center;
    background:
        linear-gradient(180deg, rgba(248, 251, 255, 0.92), #f8fbff);
    border-top: 1px solid #d7e5f2;
    bottom: 0;
    justify-content: flex-end;
    margin: 12px -20px -18px;
    padding: 12px 20px 14px;
    position: sticky;
    z-index: 5;
}

.clientes-form > .form-actions .btn {
    min-height: 40px;
    min-width: 92px;
}

.clientes-demo-panel {
    background: #f4fbf8;
    border: 1px solid #cfe3f6;
    border-radius: 8px;
    display: grid;
    gap: 10px;
    margin-top: 8px;
    padding: 12px;
}

.clientes-demo-head {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.clientes-demo-head strong,
.clientes-proposal-panel strong {
    color: var(--blue-900);
    display: block;
    font-size: 14px;
    font-weight: 700;
}

.clientes-demo-head small,
.clientes-proposal-panel small {
    color: #56708a;
    display: block;
    font-size: 12px;
    line-height: 1.35;
    margin-top: 2px;
}

.clientes-demo-duration {
    background: #ecfdf5;
    border: 1px solid #bbebd1;
    border-radius: 999px;
    color: #047857;
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 700;
    padding: 5px 10px;
}

.clientes-demo-head-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    justify-content: flex-end;
}

.clientes-demo-status-badge {
    border: 1px solid #a9cce9;
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    padding: 5px 10px;
    white-space: nowrap;
}

.clientes-demo-status-badge.status-activo {
    background: #ecf7f0;
    border-color: #bfe4cc;
    color: var(--success);
}

.clientes-demo-status-badge.status-warning {
    background: #eaf5ff;
    border-color: #9fceef;
    color: #145f96;
}

.clientes-demo-status-badge.status-inactivo,
.clientes-demo-status-badge.status-cancelado {
    background: #fff1f0;
    border-color: #f1c3bf;
    color: var(--danger);
}

.clientes-demo-actions.calendar-assist-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
}

.clientes-demo-links {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d8e6f1;
    border-radius: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 9px 10px;
}

.clientes-demo-links a,
.clientes-demo-cell a {
    color: var(--blue-700);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.clientes-demo-links small {
    color: #60758b;
    font-size: 12px;
}

.clientes-demo-quick-form {
    display: inline-flex;
    margin: 0;
    max-width: 122px;
}

.clientes-demo-status-select {
    appearance: none;
    background-color: #f7fbff;
    background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
    background-position: calc(100% - 12px) 50%, calc(100% - 7px) 50%;
    background-repeat: no-repeat;
    background-size: 5px 5px, 5px 5px;
    border: 1px solid #a9cce9;
    border-radius: 999px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.7);
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
    min-height: 28px;
    min-width: 0;
    padding: 4px 26px 4px 10px;
    width: 100%;
}

.clientes-demo-status-select.status-activo {
    background-color: #ecf7f0;
    border: 1px solid #bfe4cc;
    color: var(--success);
}

.clientes-demo-status-select.status-warning {
    background-color: #eaf5ff;
    border: 1px solid #9fceef;
    color: #145f96;
}

.clientes-demo-status-select.status-inactivo {
    background-color: #fff1f0;
    border: 1px solid #f1c3bf;
    color: var(--danger);
}

.clientes-demo-status-select.status-cancelado {
    background-color: #fff1f0;
    border: 1px solid #f1c3bf;
    color: var(--danger);
}

.clientes-demo-status-select:hover,
.clientes-demo-status-select:focus {
    box-shadow: 0 0 0 3px rgba(47, 103, 154, 0.12);
    outline: none;
}

.clientes-status-cell {
    min-width: 142px;
}

.clientes-status-quick-form {
    display: inline-flex;
    margin: 0;
    max-width: 142px;
}

.clientes-status-select {
    appearance: none;
    background-color: #f7fbff;
    background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
    background-position: calc(100% - 12px) 50%, calc(100% - 7px) 50%;
    background-repeat: no-repeat;
    background-size: 5px 5px, 5px 5px;
    border: 1px solid #a9cce9;
    border-radius: 999px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.7);
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
    min-height: 28px;
    min-width: 0;
    padding: 4px 26px 4px 10px;
    width: 100%;
}

.clientes-status-select.status-interesado {
    background-color: #fff9df;
    border-color: #f1c84c;
    color: #8a6200;
}

.clientes-status-select.status-proceso {
    background-color: #eaf5ff;
    border-color: #9dccf2;
    color: #1f5f93;
}

.clientes-status-select.status-activo {
    background-color: #ecf7f0;
    border-color: #bfe4cc;
    color: var(--success);
}

.clientes-status-select.status-inactivo {
    background-color: #fff1f0;
    border-color: #f1c3bf;
    color: var(--danger);
}

.clientes-status-select.status-warning {
    background-color: #f5f8fb;
    border-color: #d6e1eb;
    color: #587087;
}

.clientes-status-select:hover,
.clientes-status-select:focus {
    box-shadow: 0 0 0 3px rgba(47, 103, 154, 0.12);
    outline: none;
}

.clientes-proposal-panel {
    align-items: center;
    background: #fbfdff;
    border: 1px solid #d8e6f1;
    border-radius: 8px;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(260px, 1fr) minmax(360px, 0.85fr);
    margin-top: 10px;
    padding: 12px;
}

.clientes-proposal-picker {
    justify-self: end;
    width: min(420px, 100%);
}

.clientes-proposal-picker .file-picker-control {
    align-items: center;
    display: inline-grid;
    gap: 8px;
    grid-template-columns: max-content minmax(130px, 1fr);
    min-height: 38px;
    padding: 4px;
    width: 100%;
}

.clientes-proposal-picker .file-picker-button {
    align-items: center;
    background: #2f679a !important;
    border-color: #2f679a !important;
    color: #ffffff !important;
    display: inline-flex;
    font-size: 12px;
    font-weight: 600;
    gap: 6px;
    justify-content: center;
    margin: 0;
    min-height: 30px;
    line-height: 1;
    max-width: 190px;
    padding: 0 11px;
    position: static;
    text-transform: none;
    white-space: nowrap;
    width: max-content;
    z-index: auto;
}

.clientes-proposal-picker .file-picker-button .button-icon {
    display: inline-block;
    flex: 0 0 auto;
    height: 15px;
    margin: 0;
    width: 15px;
}

.clientes-proposal-picker .file-picker-name {
    font-size: 12px;
    font-weight: 500;
    min-width: 0;
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.clientes-proposal-panel .attachment-chip {
    grid-column: 1 / -1;
    width: fit-content;
}

.clientes-comments-panel label {
    margin: 0;
}

.clientes-new-comments {
    display: grid;
    gap: 10px;
}

.clientes-new-comment-item {
    background: #ffffff;
    border: 1px solid #d8e6f1;
    border-radius: 8px;
    color: #314c68;
    display: grid;
    font-size: 13px;
    font-weight: 600;
    gap: 7px;
    padding: 9px;
}

.clientes-new-comment-head {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: space-between;
}

.clientes-new-comment-head span {
    color: #314c68;
    font-size: 13px;
    font-weight: 600;
}

.clientes-remove-comment {
    background: #fff5f5;
    border: 1px solid #ffd4d4;
    border-radius: 999px;
    color: #a32020;
    cursor: pointer;
    font-size: 11px;
    font-weight: 800;
    padding: 4px 8px;
}

.clientes-comments-panel textarea {
    min-height: 74px;
}

.clientes-add-comment-btn {
    background: #eef6ff !important;
    border-color: #bdd7ef !important;
    color: #174a75 !important;
    display: inline-flex !important;
    justify-self: start;
    min-height: 36px;
    min-width: 0;
    overflow: visible;
    padding: 8px 12px;
    position: static;
    text-align: center;
    white-space: nowrap;
    width: max-content;
    font-size: 13px;
    font-weight: 600;
    z-index: auto;
}

.clientes-process-section {
    display: grid !important;
    gap: 10px;
}

.clientes-process-head span {
    color: #174a75;
    font-size: 13px;
    font-weight: 700;
    text-transform: none;
}

.clientes-comment-list {
    max-height: 280px;
}

.clientes-records-panel {
    background: linear-gradient(180deg, #f8fcff 0%, #ffffff 100%);
    border-color: #bdd7ef !important;
}

.clientes-records-accordion {
    background: #ffffff;
    border: 1px solid #d8e6f1;
    border-left: 4px solid #2f679a;
    border-radius: 10px;
    overflow: hidden;
}

.clientes-records-summary {
    align-items: center;
    cursor: pointer;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto 28px;
    list-style: none;
    padding: 12px 14px;
}

.clientes-records-summary::-webkit-details-marker {
    display: none;
}

.clientes-records-summary::marker {
    content: "";
}

.clientes-records-title {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.clientes-records-title span {
    color: #002b4f;
    font-size: 14px;
    font-weight: 800;
}

.clientes-records-title small {
    color: #4b6682;
    font-size: 12px;
    font-weight: 600;
}

.clientes-records-summary > strong {
    background: #eef6ff;
    border: 1px solid #c8def2;
    border-radius: 999px;
    color: #174a75;
    font-size: 12px;
    font-weight: 800;
    padding: 5px 10px;
    white-space: nowrap;
}

.clientes-record-list {
    border-top: 1px solid #e4eef7;
    display: grid;
    gap: 8px;
    padding: 10px;
}

.clientes-record-item {
    background: #ffffff;
    border: 1px solid #d8e6f1;
    border-radius: 10px;
    display: grid;
    gap: 10px;
    grid-template-columns: 38px minmax(0, 1fr);
    padding: 10px;
}

.clientes-record-marker {
    align-items: center;
    background: #eef6ff;
    border: 1px solid #c8def2;
    border-radius: 10px;
    color: #174a75;
    display: inline-flex;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.clientes-record-chevron {
    align-items: center;
    background: #f4f9fe;
    border: 1px solid #d6e6f4;
    border-radius: 8px;
    display: inline-flex;
    height: 28px;
    justify-content: center;
    transition: background 0.18s ease;
    width: 28px;
}

.clientes-record-chevron::before {
    border-color: #2f679a;
    border-style: solid;
    border-width: 0 2px 2px 0;
    content: "";
    display: block;
    height: 7px;
    margin-top: -3px;
    transform: rotate(45deg);
    transition: transform 0.18s ease, margin 0.18s ease;
    width: 7px;
}

.clientes-records-accordion[open] .clientes-record-chevron {
    background: #e7f2fc;
}

.clientes-records-accordion[open] .clientes-record-chevron::before {
    margin-top: 3px;
    transform: rotate(225deg);
}

.clientes-record-icon {
    height: 18px;
    width: 18px;
}

.clientes-record-content {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.clientes-record-top {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    justify-content: space-between;
}

.clientes-record-top strong {
    color: #002b4f;
    font-size: 13px;
    font-weight: 800;
}

.clientes-record-top small {
    color: #4b6682;
    font-size: 12px;
    font-weight: 700;
}

.clientes-record-user .clientes-person {
    min-height: 0;
}

.clientes-record-item p {
    color: #314c68;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.45;
    margin: 0;
}

@media (max-width: 980px) {
    .clientes-modal-dialog {
        width: min(100%, calc(100vw - 20px));
    }

    .clientes-modal-dialog .floating-modal-head {
        align-items: stretch;
        flex-direction: column;
    }

    .clientes-modal-head-actions {
        width: 100%;
    }

    .clientes-header-status {
        flex: 1 1 auto;
        min-width: 0;
    }

    .clientes-form .field-grid.three,
    .clientes-form .field-grid.four,
    .clientes-form .clientes-demo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .clientes-registro-main-grid,
    .clientes-propuesta-main-grid,
    .clientes-propuesta-section .clientes-propuesta-valores {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    .clientes-form .field-grid,
    .clientes-form .field-grid.two,
    .clientes-form .field-grid.three,
    .clientes-form .field-grid.four,
    .clientes-form .clientes-demo-grid {
        grid-template-columns: 1fr;
    }

    .clientes-registro-main-grid,
    .clientes-propuesta-main-grid,
    .clientes-propuesta-section .clientes-propuesta-valores {
        grid-template-columns: 1fr !important;
    }
}

.clientes-date-cell,
.clientes-demo-cell {
    vertical-align: top;
}

.clientes-date-main,
.clientes-demo-cell strong {
    color: #0d2d4d;
    display: block;
    font-weight: 650;
    line-height: 1.2;
    margin-bottom: 6px;
    white-space: nowrap;
}

.clientes-date-cell .year-badge {
    min-width: 74px;
}

.clientes-demo-cell small {
    color: #4b6178;
    display: block;
    font-size: 12px;
    white-space: nowrap;
}

.clientes-demo-cell a {
    display: inline-block;
    margin-top: 3px;
}

.clientes-demo-cell .clientes-demo-connection {
    align-items: center;
    background: #edf9f1;
    border: 1px solid #aee0c0;
    border-radius: 7px;
    color: #0c6d43;
    display: inline-flex;
    font-weight: 800;
    gap: 4px;
    padding: 4px 7px;
    white-space: nowrap;
}

.clientes-demo-cell .clientes-demo-connection .action-icon {
    height: 13px;
    width: 13px;
}

.clientes-connections-panel {
    border-top: 1px solid #dce9f3;
    margin-top: 16px;
    padding-top: 20px;
}

.clientes-connections-head {
    align-items: center;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin: 0 4px 18px;
}

.clientes-connections-head h2 {
    color: #123d62;
    font-size: 21px;
    margin: 4px 0 5px;
}

.clientes-connections-head p {
    color: #58718a;
    font-size: 13px;
    margin: 0;
}

.clientes-connections-today {
    background: #edf8f2;
    border: 1px solid #bde5cd;
    border-radius: 12px;
    display: grid;
    gap: 2px;
    min-width: 168px;
    padding: 10px 13px;
}

.clientes-connections-today span,
.clientes-connections-today small {
    color: #28734f;
    font-size: 11px;
    font-weight: 700;
}

.clientes-connections-today strong {
    color: #155138;
    font-size: 13px;
}

.clientes-connections-table th:nth-child(1) { width: 150px; }
.clientes-connections-table th:nth-child(2) { width: 28%; }
.clientes-connections-table th:nth-child(3) { width: 20%; }
.clientes-connections-table th:nth-child(4) { width: 16%; }
.clientes-connections-table th:nth-child(5) { width: 132px; }
.clientes-connections-table th:nth-child(6) { width: 150px; }

.clientes-connections-table tbody tr td {
    border-bottom-color: rgba(41, 80, 112, 0.14);
}

.clientes-connections-table tbody tr.is-realizada td { background: #edf9f1; }
.clientes-connections-table tbody tr.is-agendada td { background: #fff9df; }
.clientes-connections-table tbody tr.is-no-realizada td { background: #fff1f0; }

.clientes-connections-table tbody tr.is-today td {
    box-shadow: inset 0 2px 0 #3a8cc5, inset 0 -2px 0 #3a8cc5;
}

.clientes-connections-table tbody tr.is-tomorrow td {
    box-shadow: inset 0 2px 0 #8666bd, inset 0 -2px 0 #8666bd;
}

.clientes-connections-table tbody tr.is-realizada td:first-child { border-left: 4px solid #2aae72; }
.clientes-connections-table tbody tr.is-agendada td:first-child { border-left: 4px solid #e8b21a; }
.clientes-connections-table tbody tr.is-no-realizada td:first-child { border-left: 4px solid #e05b52; }
.clientes-connections-table tbody tr.is-today td:first-child { border-left-color: #2b79b5; }
.clientes-connections-table tbody tr.is-tomorrow td:first-child { border-left-color: #7651ae; }

.clientes-connections-table td strong,
.clientes-connections-table td small {
    display: block;
}

.clientes-connections-table td small {
    color: #58718a;
    font-size: 12px;
    margin-top: 3px;
}

.clientes-connection-date strong { color: #123d62; }

.clientes-connection-date-main {
    align-items: center;
    display: flex;
    gap: 7px;
}

.clientes-connection-today-badge {
    background: #e2f2ff;
    border: 1px solid #88c6ed;
    border-radius: 999px;
    color: #176699;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .04em;
    line-height: 1;
    padding: 3px 6px;
    text-transform: uppercase;
}

.clientes-connection-tomorrow-badge {
    background: #f0eaff;
    border: 1px solid #c1a9e9;
    border-radius: 999px;
    color: #654197;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .04em;
    line-height: 1;
    padding: 3px 6px;
    text-transform: uppercase;
}

.clientes-connection-action { min-width: 150px; }

.clientes-open-meet-btn {
    align-items: center;
    display: inline-flex;
    gap: 5px;
    white-space: nowrap;
}

.clientes-meet-pending,
.clientes-meet-na {
    color: #6c7d8e;
    font-size: 12px;
    font-weight: 700;
}

.clientes-meet-pending { color: #9a6a00; }

@media (max-width: 720px) {
    .clientes-connections-head {
        align-items: stretch;
        flex-direction: column;
    }

    .clientes-connections-today { min-width: 0; }
}

.clientes-message-list {
    padding: 16px 22px 22px;
}

.clientes-message-list .notifications-section-title {
    margin-top: 0;
}

.clientes-message-filter-bar {
    grid-template-columns: minmax(240px, 1fr) 130px 150px auto auto;
}

.clientes-message-details summary {
    color: var(--blue-800);
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
}

.clientes-message-details pre {
    background: #f8fbff;
    border: 1px solid #d9e8f5;
    border-radius: 8px;
    color: #123251;
    font-family: inherit;
    font-size: 12px;
    line-height: 1.45;
    margin: 8px 0 0;
    max-width: 440px;
    padding: 10px;
    white-space: pre-wrap;
}

.webind-form .form-section-title {
    color: #174a75;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0;
    margin: 12px 0 9px;
    text-transform: none;
}

.webind-form {
    max-height: calc(100vh - 174px);
    padding-bottom: 0;
}

.webind-modal-head {
    background:
        linear-gradient(135deg, rgba(11, 45, 75, 0.98), rgba(45, 122, 185, 0.95)),
        #1f679c;
    border-bottom: 0;
    color: #ffffff;
    padding: 22px 24px;
    position: relative;
}

.webind-modal-head::after {
    background: rgba(255, 255, 255, 0.16);
    content: "";
    height: 150%;
    position: absolute;
    right: 118px;
    top: -25%;
    transform: rotate(28deg);
    width: 18px;
}

.webind-modal-head > * {
    position: relative;
    z-index: 1;
}

.webind-modal-head .section-kicker {
    color: #ffd800;
}

.webind-modal-head h2 {
    color: #ffffff;
}

.webind-modal-head .icon-btn {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.36);
    color: #ffffff;
}

.webind-modal-head-actions {
    align-items: center;
    display: inline-flex;
    gap: 12px;
    justify-content: flex-end;
}

.webind-header-status {
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 8px;
    color: #ffffff;
    display: grid;
    font-size: 11px;
    font-weight: 800;
    gap: 5px;
    min-width: 210px;
    padding: 8px 9px;
    text-transform: uppercase;
}

.webind-header-status select {
    background: #f8fbff;
    border: 0;
    border-radius: 7px;
    color: var(--blue-900);
    font-size: 14px;
    font-weight: 800;
    min-height: 36px;
    padding: 7px 34px 7px 12px;
    text-transform: none;
    width: 100%;
}

.webind-form .field-grid.four {
    grid-template-columns: minmax(160px, 1fr) minmax(140px, 0.8fr) minmax(140px, 0.8fr) minmax(120px, 0.65fr);
}

.webind-calendar-panel {
    margin-top: 12px;
}

.webind-form .segmented-field {
    margin-top: 10px;
}

.webind-form > .form-actions {
    align-items: center;
    background:
        linear-gradient(180deg, rgba(248, 251, 255, 0.92), #f8fbff);
    border-top: 1px solid #d7e5f2;
    bottom: 0;
    justify-content: flex-end;
    margin: 12px -20px 0;
    padding: 12px 20px 14px;
    position: sticky;
    z-index: 6;
}

.webind-form > .form-actions .btn {
    min-height: 40px;
    min-width: 92px;
}

@media (max-width: 900px) {
    .webind-modal-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .webind-modal-head-actions {
        justify-content: space-between;
        width: 100%;
    }

    .webind-header-status {
        min-width: 0;
        width: calc(100% - 54px);
    }

    .webind-form .field-grid.four {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .webind-form .field-grid.four {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .clientes-demo-head,
    .clientes-proposal-panel {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .clientes-proposal-picker {
        justify-self: stretch;
        width: 100%;
    }

    .clientes-demo-head {
        display: grid;
    }

    .clientes-message-filter-bar {
        grid-template-columns: 1fr;
    }

    .clientes-table .table-actions {
        flex-wrap: wrap;
    }

    .clientes-table th:nth-child(4),
    .clientes-table td:nth-child(4) {
        width: 20%;
    }

    .clientes-table th:nth-child(5),
    .clientes-table td:nth-child(5) {
        width: 120px;
    }

    .clientes-table th:nth-child(10),
    .clientes-table td:nth-child(10) {
        width: 118px;
    }
}

.global-filter-panel {
    background: #fbfdff;
    border-bottom: 1px solid #d9e5ef;
    margin: 0;
    padding: 10px 18px !important;
}

.global-filter-head {
    align-items: center !important;
    display: flex !important;
    justify-content: flex-end !important;
    margin: 0 0 8px !important;
    min-height: 0 !important;
}

.global-filter-head > strong,
.global-filter-panel > strong {
    display: none !important;
}

.filter-panel-head a.reset-filter-action,
.compact-filter-panel .filter-panel-head a.reset-filter-action,
.rector-filter-panel.compact-filter-panel .rector-reset-link.reset-filter-action,
.reset-filter-action {
    align-items: center;
    align-self: end;
    background: #fff8df !important;
    border: 1px solid #e2b600 !important;
    border-radius: 999px !important;
    color: #7c5900 !important;
    display: inline-flex;
    font-size: 12px;
    font-weight: 850;
    gap: 7px;
    justify-content: center;
    min-height: 36px;
    padding: 8px 13px !important;
    text-decoration: none;
    white-space: nowrap;
    width: auto !important;
}

.filter-panel-head a.reset-filter-action:hover,
.compact-filter-panel .filter-panel-head a.reset-filter-action:hover,
.rector-filter-panel.compact-filter-panel .rector-reset-link.reset-filter-action:hover,
.reset-filter-action:hover {
    background: #ffeaa3 !important;
    border-color: #d09f00 !important;
    color: #583d00 !important;
}

.compact-filter-panel .filter-pills,
.rector-filter-panel.compact-filter-panel .filter-pills {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
}

.compact-filter-panel .pill-group,
.rector-filter-panel.compact-filter-panel .pill-group {
    align-items: center;
    background: #f8fbff;
    border: 1px solid #d9e8f4;
    border-radius: 8px;
    display: grid;
    gap: 7px;
    grid-template-columns: 86px repeat(auto-fit, minmax(122px, 1fr));
    min-width: 0;
    padding: 7px;
}

.compact-filter-panel .pill-label,
.rector-filter-panel.compact-filter-panel .pill-label {
    align-items: center;
    background: #eef6fc;
    border: 1px solid #cfe0ee;
    border-radius: 999px;
    color: #31516d;
    display: inline-flex;
    font-size: 11px;
    font-weight: 850;
    justify-content: center;
    letter-spacing: 0;
    min-height: 30px;
    min-width: 0;
    padding: 6px 10px;
    text-transform: uppercase;
}

.compact-filter-panel .filter-pill,
.rector-filter-panel.compact-filter-panel .filter-pill {
    align-items: center;
    border-radius: 7px;
    display: inline-flex;
    justify-content: space-between;
    min-height: 34px;
    min-width: 0;
    padding: 7px 10px;
}

.compact-filter-panel .filter-pill .badge,
.rector-filter-panel.compact-filter-panel .filter-pill .badge {
    flex: 0 0 auto;
}

.global-filter-form,
.compact-filter-form {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) minmax(104px, 116px) auto;
    margin: 0;
}

.global-filter-form label,
.compact-filter-form label {
    margin: 0;
    min-width: 0;
}

.global-filter-form select,
.compact-filter-form select {
    height: 40px;
    min-width: 0;
}

.global-filter-form .btn,
.compact-filter-form .btn {
    height: 40px;
    margin: 0;
}

.global-filter-form .reset-filter-action,
.compact-filter-form .reset-filter-action {
    height: 40px;
    min-height: 40px;
}

@media (max-width: 980px) {
    form.global-search-actions,
    .printer-maintenance-search.global-search-actions,
    .printer-maintenance-search.action-search-row.global-search-actions,
    .printer-maintenance-search.calls-inline-search.global-search-actions,
    .rector-history-search.global-search-actions {
        grid-template-columns: minmax(0, 1fr) minmax(96px, 1fr) 42px 42px;
    }

    .compact-filter-panel .filter-pills,
    .rector-filter-panel.compact-filter-panel .filter-pills {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    form.global-search-actions,
    .printer-maintenance-search.global-search-actions,
    .printer-maintenance-search.action-search-row.global-search-actions,
    .printer-maintenance-search.calls-inline-search.global-search-actions,
    .rector-history-search.global-search-actions,
    .global-filter-form,
    .compact-filter-form {
        grid-template-columns: 1fr;
    }

    .btn.btn-icon-only {
        max-width: none;
        width: 100%;
    }

    .btn.btn-icon-only .btn-label {
        clip: auto;
        clip-path: none;
        height: auto;
        margin-left: 8px;
        overflow: visible;
        position: static;
        white-space: normal;
        width: auto;
    }

    .compact-filter-panel .pill-group,
    .rector-filter-panel.compact-filter-panel .pill-group {
        grid-template-columns: 1fr;
    }
}

/* Normalizacion final de barras operativas en modulos.
   Mantiene busqueda, filtros y acciones alineados sin duplicar textos auxiliares. */
html.ui-ready form.global-search-actions,
html.ui-ready .global-filter-panel,
html.ui-ready .compact-filter-panel {
    animation: uiEnhanceIn 120ms ease-out both;
}

@keyframes uiEnhanceIn {
    from {
        opacity: 0;
        transform: translateY(2px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.topbar form.search.global-search-actions {
    align-items: center;
    background: transparent;
    border: 0;
    display: flex;
    gap: 0;
    grid-template-columns: none;
    margin: 0;
    padding: 0;
}

form.global-search-actions {
    align-items: end;
    background: #fbfdff;
    border-bottom: 1px solid #d9e5ef;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(260px, 1fr) minmax(110px, 128px) 42px 42px;
    padding: 12px 18px;
}

form.global-search-actions label {
    display: grid;
    gap: 6px;
}

form.global-search-actions .btn-action-clear,
form.global-search-actions .btn-action-add {
    border-radius: 8px;
    justify-self: stretch;
    max-width: 42px;
    min-width: 42px;
    width: 42px;
}

form.global-search-actions .btn-action-search {
    border-radius: 8px;
    min-width: 110px;
}

.global-filter-panel {
    background: #fbfdff;
    border-bottom: 1px solid #d9e5ef;
    display: grid;
    gap: 8px;
    padding: 10px 18px !important;
}

.global-filter-panel .global-filter-title,
.global-filter-panel > strong:first-child,
.global-filter-head > strong {
    display: none !important;
}

.global-filter-head {
    justify-content: flex-end !important;
    margin: 0 !important;
}

.global-filter-panel form,
.global-filter-form,
.compact-filter-form {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) minmax(112px, auto) auto;
}

.global-filter-panel form label,
.global-filter-form label,
.compact-filter-form label {
    color: #143a5c;
    display: grid;
    font-size: 12px;
    font-weight: 800;
    gap: 5px;
    letter-spacing: 0;
    margin: 0;
    min-width: 0;
    text-transform: none;
}

.global-filter-panel select,
.global-filter-form select,
.compact-filter-form select {
    background-color: #ffffff;
    border: 1px solid #cfe0ee;
    border-radius: 8px;
    box-shadow: none;
    color: #0b2740;
    font-weight: 700;
    height: 40px;
    min-width: 0;
    padding: 0 12px;
}

.global-filter-panel .btn-action-search,
.global-filter-form .btn-action-search,
.compact-filter-form .btn-action-search {
    align-self: end;
    border-radius: 8px;
    height: 40px;
}

.reset-filter-action {
    align-self: end;
    border-radius: 999px !important;
    height: 40px;
    min-height: 40px;
    padding: 8px 14px !important;
}

.compact-filter-panel .filter-pills,
.rector-filter-panel.compact-filter-panel .filter-pills {
    gap: 8px;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
}

.compact-filter-panel .pill-group,
.rector-filter-panel.compact-filter-panel .pill-group {
    background: #f8fbff;
    border-color: #d7e6f2;
    gap: 7px;
    grid-template-columns: 86px repeat(auto-fit, minmax(120px, 1fr));
    padding: 7px;
}

.compact-filter-panel .filter-pill,
.rector-filter-panel.compact-filter-panel .filter-pill {
    overflow: hidden;
    text-overflow: ellipsis;
}

.compact-filter-panel .filter-pill span:not(.badge),
.rector-filter-panel.compact-filter-panel .filter-pill span:not(.badge) {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 1100px) {
    .global-filter-panel form,
    .global-filter-form,
    .compact-filter-form {
        grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    }

    .global-filter-panel .btn,
    .global-filter-form .btn,
    .compact-filter-form .btn,
    .reset-filter-action {
        width: 100%;
    }
}

@media (max-width: 640px) {
    form.global-search-actions,
    .global-filter-panel form,
    .global-filter-form,
    .compact-filter-form {
        grid-template-columns: 1fr;
    }

    form.global-search-actions .btn-action-clear,
    form.global-search-actions .btn-action-add {
        max-width: none;
        width: 100%;
    }
}

form.colegio-search-with-inline-filters.global-search-actions,
form.colegio-search-with-inline-filters {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(280px, 1fr) minmax(118px, 150px) minmax(118px, 150px) minmax(110px, 126px) 42px 42px;
}

form.colegio-search-with-inline-filters .colegio-inline-filter {
    min-width: 0;
}

form.colegio-search-with-inline-filters .colegio-inline-filter select {
    width: 100%;
}

.colegios-status-filter {
    padding-top: 10px;
}

.colegios-status-filter .filter-panel-head {
    justify-content: flex-end;
    margin-bottom: 8px;
}

.colegios-status-filter .filter-panel-head strong {
    display: none;
}

.colegios-status-filter .filter-pills {
    grid-template-columns: 1fr;
}

.colegios-status-filter .pill-group {
    grid-template-columns: 86px repeat(3, minmax(140px, 1fr));
}

.colegios-board-summary {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(239, 247, 253, 0.98)),
        radial-gradient(circle at top right, rgba(47, 111, 168, 0.12), transparent 30%);
    border-bottom: 1px solid #d7e5f1;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    padding: 18px 22px;
}

.colegios-board-summary h2 {
    color: #102743;
    font-size: 22px;
    margin: 6px 0 5px;
}

.colegios-board-summary p {
    color: var(--muted);
    margin: 0;
}

.colegios-board-kpis {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(110px, 1fr));
    min-width: min(300px, 36%);
}

.colegios-board-kpis span {
    background: #ffffff;
    border: 1px solid #d5e4f1;
    border-radius: 12px;
    box-shadow: 0 10px 22px rgba(24, 74, 116, 0.06);
    display: grid;
    gap: 3px;
    padding: 12px;
}

.colegios-board-kpis strong {
    color: #123d65;
    font-size: 22px;
    line-height: 1;
}

.colegios-board-kpis small {
    color: var(--muted);
    font-size: 12px;
}

.colegios-board > .view-switch {
    background: #ffffff;
    border-bottom: 1px solid #d7e5f1;
    padding: 12px 22px;
}

form.colegio-search-with-inline-filters {
    background: #f8fbff;
    padding: 16px 22px;
}

form.colegio-search-with-inline-filters .colegio-search-submit {
    justify-content: center;
    min-width: 118px;
    white-space: nowrap;
}

.colegios-status-filter {
    background: #ffffff;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(160px, 1fr));
    padding: 14px 22px 16px;
}

.colegios-status-card {
    align-items: center;
    background: #f8fbff;
    border: 1px solid #d7e5f1;
    border-radius: 12px;
    color: var(--blue-900);
    display: flex;
    gap: 12px;
    justify-content: space-between;
    min-height: 66px;
    padding: 12px 14px;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.colegios-status-card:hover {
    border-color: #a8c7e2;
    box-shadow: 0 12px 26px rgba(24, 74, 116, 0.08);
    text-decoration: none;
    transform: translateY(-1px);
}

.colegios-status-card.is-active {
    background: #ffffff;
    border-color: #87bee8;
    box-shadow: 0 14px 28px rgba(24, 74, 116, 0.1);
}

.colegios-status-card span {
    align-items: center;
    display: grid;
    gap: 3px 8px;
    grid-template-columns: auto minmax(0, 1fr);
    min-width: 0;
}

.colegios-status-card i {
    border-radius: 999px;
    display: inline-block;
    grid-row: 1 / span 2;
    height: 10px;
    width: 10px;
}

.colegios-status-card i.ok {
    background: #16a47d;
}

.colegios-status-card i.warn {
    background: #f3a10b;
}

.colegios-status-card i.bad {
    background: #c43d35;
}

.colegios-status-card strong {
    color: #102743;
    font-size: 14px;
    line-height: 1.2;
}

.colegios-status-card small {
    color: var(--muted);
    font-size: 12px;
}

.colegios-status-card em {
    background: #eef6fd;
    border-radius: 999px;
    color: #174d78;
    font-size: 13px;
    font-style: normal;
    font-weight: 800;
    min-width: 42px;
    padding: 7px 10px;
    text-align: center;
}

.colegio-results-table {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    max-height: calc(100vh - 420px);
}

.colegio-results-table .data-table {
    min-width: 1200px;
}

.colegio-results-table .data-table thead th {
    background: #f2f7fc;
    box-shadow: inset 0 -1px 0 #d7e5f1;
    color: #31516c;
    font-size: 11px;
    font-weight: 800;
    position: sticky;
    text-transform: uppercase;
    top: 0;
    z-index: 2;
}

.colegio-results-table .data-table tbody tr {
    transition: background 0.16s ease;
}

.colegio-results-table .data-table tbody tr:hover {
    background: #f8fbff;
}

.colegio-results-table .data-table td {
    background: transparent;
}

.colegio-code-cell strong {
    color: #123d65;
    font-size: 14px;
}

.colegio-code-cell small {
    color: var(--muted);
    display: block;
    font-size: 11px;
    margin-top: 3px;
}

.colegio-name-cell strong {
    color: #0f2742;
    font-size: 14px;
    line-height: 1.35;
}

@media (max-width: 980px) {
    form.colegio-search-with-inline-filters.global-search-actions,
    form.colegio-search-with-inline-filters {
        grid-template-columns: minmax(0, 1fr) minmax(120px, 1fr) minmax(120px, 1fr) minmax(104px, 118px) 42px 42px;
    }

    form.colegio-search-with-inline-filters .btn-action-search,
    form.colegio-search-with-inline-filters .colegio-search-submit {
        grid-column: 1 / -1;
    }

    .colegios-board-summary {
        align-items: stretch;
        display: grid;
    }

    .colegios-board-kpis {
        min-width: 0;
        width: 100%;
    }

    .colegios-status-filter {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    form.colegio-search-with-inline-filters.global-search-actions,
    form.colegio-search-with-inline-filters {
        grid-template-columns: 1fr;
    }

form.colegio-search-with-inline-filters .btn-action-clear,
form.colegio-search-with-inline-filters .btn-action-add {
        max-width: none;
        width: 100%;
    }

    .colegios-board-summary,
    .colegios-board > .view-switch,
    form.colegio-search-with-inline-filters,
    .colegios-status-filter {
        padding-left: 14px;
        padding-right: 14px;
    }

    .colegios-board-kpis {
        grid-template-columns: 1fr;
    }
}

/* Barrido general de encabezados operativos.
   Unifica las barras superiores con el patron compacto usado en Colegios. */
.platform-alert-stack {
    margin: 0;
    position: fixed;
    right: 18px;
    top: 82px;
    width: min(300px, calc(100vw - 36px));
    z-index: 35;
}

form.global-search-actions,
.printer-maintenance-search.global-search-actions,
.printer-maintenance-search.action-search-row.global-search-actions,
.printer-maintenance-search.calls-inline-search.global-search-actions,
.rector-history-search.global-search-actions {
    align-items: end;
    background: #fbfdff;
    border-bottom: 1px solid #d9e5ef;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(280px, 1fr) minmax(110px, 126px) 42px 42px;
    margin: 0;
    overflow: visible;
    padding: 12px 18px;
}

form.global-search-actions.toolbar-filter-count-1 {
    grid-template-columns: minmax(280px, 1fr) minmax(118px, 150px) minmax(110px, 126px) 42px 42px;
}

form.global-search-actions.toolbar-filter-count-2 {
    grid-template-columns: minmax(280px, 1fr) repeat(2, minmax(118px, 150px)) minmax(110px, 126px) 42px 42px;
}

form.global-search-actions.toolbar-filter-count-3 {
    grid-template-columns: minmax(260px, 1fr) repeat(3, minmax(112px, 142px)) minmax(104px, 118px) 42px 42px;
}

form.evals-search-actions.toolbar-filter-count-3 {
    grid-template-columns: minmax(260px, 1fr) repeat(3, minmax(112px, 142px)) minmax(104px, 118px) 42px minmax(90px, 108px);
}

form.global-search-actions.toolbar-filter-count-4 {
    grid-template-columns: minmax(240px, 1fr) repeat(4, minmax(104px, 132px)) minmax(104px, 118px) 42px 42px;
}

form.global-search-actions.toolbar-filter-count-5 {
    grid-template-columns: minmax(220px, 1fr) repeat(5, minmax(96px, 124px)) minmax(104px, 118px) 42px 42px;
}

form.global-search-actions.toolbar-filter-count-6 {
    grid-template-columns: minmax(200px, 1fr) repeat(6, minmax(90px, 118px)) minmax(104px, 118px) 42px 42px;
}

form.global-search-actions label {
    color: #143a5c;
    display: grid;
    font-size: 12px;
    font-weight: 800;
    gap: 6px;
    letter-spacing: 0;
    margin: 0;
    min-width: 0;
    text-transform: none;
}

form.global-search-actions input[type="search"],
form.global-search-actions input[type="text"],
form.global-search-actions select,
form.global-filter-panel select,
form.global-filter-form select,
form.compact-filter-form select,
.global-filter-panel form select,
.global-filter-form select,
.compact-filter-form select {
    background-color: #ffffff;
    border: 1px solid #cfe0ee;
    border-radius: 8px;
    box-shadow: none;
    color: #0b2740;
    font-weight: 700;
    height: 40px;
    min-width: 0;
    padding: 0 12px;
    width: 100%;
}

form.global-search-actions .btn {
    align-self: end;
    height: 40px;
    margin: 0;
}

form.global-search-actions .btn-action-search {
    border-radius: 8px;
    min-width: 104px;
    width: 100%;
}

form.global-search-actions .evals-export-btn {
    align-items: center;
    background: #effaf3;
    border-color: #9bd6ae;
    border-radius: 8px;
    color: #137333;
    display: inline-flex;
    font-weight: 900;
    gap: 7px;
    justify-content: center;
    min-width: 90px;
    padding: 0 12px;
    white-space: nowrap;
    width: 100%;
}

form.global-search-actions .evals-export-btn:hover {
    background: #e2f5e9;
    border-color: #65bd80;
    color: #0f642b;
}

form.global-search-actions .btn-action-clear,
form.global-search-actions .btn-action-add,
form.global-search-actions .btn-icon-only {
    border-radius: 8px;
    justify-self: stretch;
    max-width: 42px;
    min-width: 42px;
    width: 42px;
}

.content-card > form.global-search-actions,
.content-card > .printer-maintenance-search.global-search-actions,
.content-card > .printer-maintenance-search.action-search-row.global-search-actions,
.content-card > .printer-maintenance-search.calls-inline-search.global-search-actions,
.content-card > .rector-history-search.global-search-actions {
    grid-template-columns: minmax(240px, 1fr) repeat(auto-fit, minmax(96px, 132px)) minmax(104px, 118px) 42px 42px;
}

@media (max-width: 1500px) {
    .content-card > form.global-search-actions,
    .content-card > .printer-maintenance-search.global-search-actions,
    .content-card > .printer-maintenance-search.action-search-row.global-search-actions,
    .content-card > .printer-maintenance-search.calls-inline-search.global-search-actions,
    .content-card > .rector-history-search.global-search-actions {
        align-items: end;
        display: flex;
        flex-wrap: wrap;
        overflow: visible;
    }

    .content-card > form.global-search-actions > label:first-of-type,
    .content-card > form.global-search-actions > label:has(input[type="search"]),
    .content-card > .printer-maintenance-search.global-search-actions > label:first-of-type,
    .content-card > .printer-maintenance-search.global-search-actions > label:has(input[type="search"]),
    .content-card > .printer-maintenance-search.action-search-row.global-search-actions > label:first-of-type,
    .content-card > .printer-maintenance-search.action-search-row.global-search-actions > label:has(input[type="search"]),
    .content-card > .printer-maintenance-search.calls-inline-search.global-search-actions > label:first-of-type,
    .content-card > .printer-maintenance-search.calls-inline-search.global-search-actions > label:has(input[type="search"]),
    .content-card > .rector-history-search.global-search-actions > label:first-of-type,
    .content-card > .rector-history-search.global-search-actions > label:has(input[type="search"]) {
        flex: 1 1 520px;
        min-width: min(420px, 100%);
    }

    .content-card > form.global-search-actions > .global-inline-filter,
    .content-card > .printer-maintenance-search.global-search-actions > .global-inline-filter,
    .content-card > .printer-maintenance-search.action-search-row.global-search-actions > .global-inline-filter,
    .content-card > .printer-maintenance-search.calls-inline-search.global-search-actions > .global-inline-filter,
    .content-card > .rector-history-search.global-search-actions > .global-inline-filter {
        flex: 0 1 128px;
        min-width: 106px;
    }

    .content-card > form.global-search-actions > .btn-action-search,
    .content-card > .printer-maintenance-search.global-search-actions > .btn-action-search,
    .content-card > .printer-maintenance-search.action-search-row.global-search-actions > .btn-action-search,
    .content-card > .printer-maintenance-search.calls-inline-search.global-search-actions > .btn-action-search,
    .content-card > .rector-history-search.global-search-actions > .btn-action-search {
        flex: 0 0 118px;
        max-width: 118px;
    }

    .content-card > form.global-search-actions > .btn-action-clear,
    .content-card > form.global-search-actions > .btn-action-add,
    .content-card > form.global-search-actions > .btn-icon-only,
    .content-card > .printer-maintenance-search.global-search-actions > .btn-action-clear,
    .content-card > .printer-maintenance-search.global-search-actions > .btn-action-add,
    .content-card > .printer-maintenance-search.global-search-actions > .btn-icon-only,
    .content-card > .printer-maintenance-search.action-search-row.global-search-actions > .btn-action-clear,
    .content-card > .printer-maintenance-search.action-search-row.global-search-actions > .btn-action-add,
    .content-card > .printer-maintenance-search.action-search-row.global-search-actions > .btn-icon-only,
    .content-card > .printer-maintenance-search.calls-inline-search.global-search-actions > .btn-action-clear,
    .content-card > .printer-maintenance-search.calls-inline-search.global-search-actions > .btn-action-add,
    .content-card > .printer-maintenance-search.calls-inline-search.global-search-actions > .btn-icon-only,
    .content-card > .rector-history-search.global-search-actions > .btn-action-clear,
    .content-card > .rector-history-search.global-search-actions > .btn-action-add,
    .content-card > .rector-history-search.global-search-actions > .btn-icon-only {
        flex: 0 0 42px;
    }
}

form.global-filter-panel,
form.global-filter-form,
form.compact-filter-form,
.global-filter-panel form,
.global-filter-form,
.compact-filter-form {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) minmax(112px, 128px);
    margin: 0;
}

form.global-filter-panel,
.global-filter-panel {
    background: #fbfdff;
    border-bottom: 1px solid #d9e5ef;
    display: grid;
    gap: 8px;
    padding: 10px 18px !important;
}

form.global-filter-panel label,
form.global-filter-form label,
form.compact-filter-form label,
.global-filter-panel form label,
.global-filter-form label,
.compact-filter-form label {
    color: #143a5c;
    display: grid;
    font-size: 12px;
    font-weight: 800;
    gap: 5px;
    letter-spacing: 0;
    margin: 0;
    min-width: 0;
    text-transform: uppercase;
}

form.global-filter-panel .btn,
form.global-filter-form .btn,
form.compact-filter-form .btn,
.global-filter-panel form .btn,
.global-filter-form .btn,
.compact-filter-form .btn {
    align-self: end;
    border-radius: 8px;
    height: 40px;
    margin: 0;
}

.global-filter-panel .filter-pills.inline-filter-source-only,
.compact-filter-panel .filter-pills.inline-filter-source-only {
    display: none;
}

.global-filter-panel label.is-inline-filter-label-source,
.global-filter-form label.is-inline-filter-label-source,
.compact-filter-form label.is-inline-filter-label-source,
form.global-filter-panel > label.is-inline-filter-label-source,
form.global-filter-form > label.is-inline-filter-label-source,
form.compact-filter-form > label.is-inline-filter-label-source {
    display: none !important;
}

.global-filter-panel.inline-filter-panel-empty,
.compact-filter-panel.inline-filter-panel-empty {
    display: none;
}

.rector-filter-panel.keep-visible-filter-panel,
.rector-filter-panel.keep-visible-filter-panel.inline-filter-panel-empty {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.rector-filter-panel.keep-visible-filter-panel .filter-panel-head,
.rector-filter-panel.keep-visible-filter-panel .rector-history-search,
.rector-filter-panel.keep-visible-filter-panel .filter-pills,
.rector-filter-panel.keep-visible-filter-panel .pill-group,
.rector-filter-panel.keep-visible-filter-panel label.is-inline-filter-label-source,
.rector-filter-panel.keep-visible-filter-panel .filter-pills.inline-filter-source-only {
    opacity: 1 !important;
    visibility: visible !important;
}

.compact-filter-panel .filter-pills,
.rector-filter-panel.compact-filter-panel .filter-pills {
    gap: 8px;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

.compact-filter-panel .pill-group,
.rector-filter-panel.compact-filter-panel .pill-group {
    align-items: center;
    background: #f8fbff;
    border: 1px solid #d7e6f2;
    border-radius: 8px;
    display: grid;
    gap: 7px;
    grid-template-columns: 86px repeat(auto-fit, minmax(112px, 1fr));
    min-width: 0;
    padding: 7px;
}

.compact-filter-panel .filter-pill,
.rector-filter-panel.compact-filter-panel .filter-pill {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (max-width: 1280px) {
    form.global-search-actions.toolbar-filter-count-3,
    form.global-search-actions.toolbar-filter-count-4,
    form.global-search-actions.toolbar-filter-count-5,
    form.global-search-actions.toolbar-filter-count-6 {
        grid-template-columns: minmax(0, 1fr) repeat(2, minmax(118px, 1fr)) minmax(104px, 118px) 42px 42px;
    }

    form.evals-search-actions.toolbar-filter-count-3 {
        grid-template-columns: minmax(0, 1fr) repeat(3, minmax(96px, 1fr)) minmax(104px, 118px) 42px minmax(90px, 108px);
    }

    form.global-filter-panel,
    form.global-filter-form,
    form.compact-filter-form,
    .global-filter-panel form,
    .global-filter-form,
    .compact-filter-form {
        grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    }
}

@media (max-width: 980px) {
    form.global-search-actions,
    form.global-search-actions.toolbar-filter-count-1,
    form.global-search-actions.toolbar-filter-count-2,
    form.global-search-actions.toolbar-filter-count-3,
    form.global-search-actions.toolbar-filter-count-4,
    form.global-search-actions.toolbar-filter-count-5,
    form.global-search-actions.toolbar-filter-count-6 {
        grid-template-columns: minmax(0, 1fr) minmax(118px, 1fr) minmax(104px, 118px) 42px 42px;
    }

    form.evals-search-actions.toolbar-filter-count-3 {
        grid-template-columns: minmax(0, 1fr) minmax(118px, 1fr) minmax(104px, 118px) 42px minmax(90px, 108px);
    }

    form.global-search-actions .global-inline-filter,
    form.global-search-actions label:has(select):nth-of-type(n+3) {
        grid-column: span 2;
    }
}

@media (max-width: 640px) {
    .platform-alert-stack {
        margin: 0;
        right: 10px;
        top: 70px;
        width: min(300px, calc(100vw - 20px));
    }

    form.global-search-actions,
    form.global-search-actions.toolbar-filter-count-1,
    form.global-search-actions.toolbar-filter-count-2,
    form.global-search-actions.toolbar-filter-count-3,
    form.global-search-actions.toolbar-filter-count-4,
    form.global-search-actions.toolbar-filter-count-5,
    form.global-search-actions.toolbar-filter-count-6,
    form.global-filter-panel,
    form.global-filter-form,
    form.compact-filter-form,
    .global-filter-panel form,
    .global-filter-form,
    .compact-filter-form {
        grid-template-columns: 1fr;
    }

    form.global-search-actions .btn-action-search,
    form.global-search-actions .btn-action-clear,
    form.global-search-actions .btn-action-add,
    form.global-search-actions .btn-icon-only,
    form.global-filter-panel .btn,
    form.global-filter-form .btn,
    form.compact-filter-form .btn,
    .global-filter-panel form .btn,
    .global-filter-form .btn,
    .compact-filter-form .btn {
        max-width: none;
        width: 100%;
    }
}

.rector-history .rector-filter-panel.compact-filter-panel form.rector-history-search.global-search-actions.toolbar-filter-count-3 {
    grid-template-columns: minmax(280px, 1fr) repeat(3, minmax(112px, 150px)) minmax(104px, 126px) 42px;
}

.rector-history .rector-filter-panel.compact-filter-panel form.rector-history-search.global-search-actions .btn-action-add {
    max-width: 42px;
    min-width: 42px;
    width: 42px;
}

@media (max-width: 1180px) {
    .rector-history .rector-filter-panel.compact-filter-panel form.rector-history-search.global-search-actions.toolbar-filter-count-3 {
        grid-template-columns: minmax(0, 1fr) repeat(3, minmax(96px, 1fr)) minmax(104px, 118px) 42px;
    }
}

@media (max-width: 720px) {
    .rector-history .rector-filter-panel.compact-filter-panel form.rector-history-search.global-search-actions.toolbar-filter-count-3 {
        grid-template-columns: 1fr;
    }

    .rector-history .rector-filter-panel.compact-filter-panel form.rector-history-search.global-search-actions .btn-action-add {
        max-width: none;
        width: 100%;
    }
}

form.rut-search-row,
form.rut-search-row.global-search-actions,
.printer-maintenance-search.action-search-row.rut-search-row,
.printer-maintenance-search.action-search-row.rut-search-row.global-search-actions {
    grid-template-columns: minmax(280px, 1fr) repeat(2, minmax(118px, 150px)) minmax(118px, 126px) 42px 42px;
}

form.rut-search-row .btn-action-search,
.printer-maintenance-search.action-search-row.rut-search-row .btn-action-search {
    min-width: 118px;
    width: 100%;
}

form.rut-search-row .btn-action-clear,
form.rut-search-row .btn-action-add,
.printer-maintenance-search.action-search-row.rut-search-row .btn-action-clear,
.printer-maintenance-search.action-search-row.rut-search-row .btn-action-add {
    max-width: 42px;
    min-width: 42px;
    width: 42px;
}

@media (max-width: 900px) {
    form.rut-search-row,
    form.rut-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.rut-search-row,
    .printer-maintenance-search.action-search-row.rut-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(2, minmax(108px, 1fr)) minmax(112px, 126px) 42px 42px;
    }
}

@media (max-width: 640px) {
    form.rut-search-row,
    form.rut-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.rut-search-row,
    .printer-maintenance-search.action-search-row.rut-search-row.global-search-actions {
        grid-template-columns: 1fr;
    }

    form.rut-search-row .btn-action-search,
    form.rut-search-row .btn-action-clear,
    form.rut-search-row .btn-action-add,
    .printer-maintenance-search.action-search-row.rut-search-row .btn-action-search,
    .printer-maintenance-search.action-search-row.rut-search-row .btn-action-clear,
    .printer-maintenance-search.action-search-row.rut-search-row .btn-action-add {
        max-width: none;
        width: 100%;
    }
}

form.planillas-search-row,
form.planillas-search-row.global-search-actions,
.printer-maintenance-search.action-search-row.planillas-search-row,
.printer-maintenance-search.action-search-row.planillas-search-row.global-search-actions {
    grid-template-columns: minmax(280px, 1fr) repeat(2, minmax(118px, 150px)) minmax(118px, 126px) 42px 42px;
}

form.planillas-search-row .btn-action-search,
.printer-maintenance-search.action-search-row.planillas-search-row .btn-action-search {
    min-width: 118px;
    width: 100%;
}

form.planillas-search-row .btn-action-clear,
form.planillas-search-row .btn-action-add,
.printer-maintenance-search.action-search-row.planillas-search-row .btn-action-clear,
.printer-maintenance-search.action-search-row.planillas-search-row .btn-action-add {
    max-width: 42px;
    min-width: 42px;
    width: 42px;
}

@media (max-width: 1080px) {
    form.planillas-search-row,
    form.planillas-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.planillas-search-row,
    .printer-maintenance-search.action-search-row.planillas-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(2, minmax(108px, 1fr)) minmax(112px, 126px) 42px 42px;
    }
}

@media (max-width: 640px) {
    form.planillas-search-row,
    form.planillas-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.planillas-search-row,
    .printer-maintenance-search.action-search-row.planillas-search-row.global-search-actions {
        grid-template-columns: 1fr;
    }

    form.planillas-search-row .btn-action-search,
    form.planillas-search-row .btn-action-clear,
    form.planillas-search-row .btn-action-add,
    .printer-maintenance-search.action-search-row.planillas-search-row .btn-action-search,
    .printer-maintenance-search.action-search-row.planillas-search-row .btn-action-clear,
    .printer-maintenance-search.action-search-row.planillas-search-row .btn-action-add {
        max-width: none;
        width: 100%;
    }
}

form.boletin-search-row,
form.boletin-search-row.global-search-actions,
.printer-maintenance-search.action-search-row.boletin-search-row,
.printer-maintenance-search.action-search-row.boletin-search-row.global-search-actions {
    grid-template-columns: minmax(260px, 1fr) repeat(3, minmax(112px, 142px)) minmax(104px, 118px) 42px 42px;
}

.boletin-board > .rector-filter-panel.compact-filter-panel,
.boletin-board > .global-filter-panel.compact-filter-panel {
    display: none !important;
}

form.boletin-search-row .btn-action-search,
.printer-maintenance-search.action-search-row.boletin-search-row .btn-action-search {
    min-width: 104px;
    width: 100%;
}

form.boletin-search-row .btn-action-clear,
form.boletin-search-row .btn-action-add,
.printer-maintenance-search.action-search-row.boletin-search-row .btn-action-clear,
.printer-maintenance-search.action-search-row.boletin-search-row .btn-action-add {
    max-width: 42px;
    min-width: 42px;
    width: 42px;
}

@media (max-width: 1160px) {
    form.boletin-search-row,
    form.boletin-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.boletin-search-row,
    .printer-maintenance-search.action-search-row.boletin-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(3, minmax(104px, 1fr)) minmax(104px, 118px) 42px 42px;
    }
}

@media (max-width: 760px) {
    form.boletin-search-row,
    form.boletin-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.boletin-search-row,
    .printer-maintenance-search.action-search-row.boletin-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(3, minmax(96px, 1fr));
    }

    form.boletin-search-row .btn-action-search,
    .printer-maintenance-search.action-search-row.boletin-search-row .btn-action-search {
        grid-column: 1 / -1;
        max-width: none;
    }

    form.boletin-search-row .btn-action-clear,
    form.boletin-search-row .btn-action-add,
    .printer-maintenance-search.action-search-row.boletin-search-row .btn-action-clear,
    .printer-maintenance-search.action-search-row.boletin-search-row .btn-action-add {
        max-width: none;
        width: 100%;
    }
}

@media (max-width: 640px) {
    form.boletin-search-row,
    form.boletin-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.boletin-search-row,
    .printer-maintenance-search.action-search-row.boletin-search-row.global-search-actions {
        grid-template-columns: 1fr;
    }
}

form.web-sites-search-row,
form.web-sites-search-row.global-search-actions,
.printer-maintenance-search.action-search-row.web-sites-search-row,
.printer-maintenance-search.action-search-row.web-sites-search-row.global-search-actions {
    grid-template-columns: minmax(240px, 1fr) repeat(4, minmax(104px, 132px)) minmax(104px, 118px) 42px 42px;
}

form.web-sites-search-row .btn-action-search,
.printer-maintenance-search.action-search-row.web-sites-search-row .btn-action-search {
    min-width: 104px;
    width: 100%;
}

form.web-sites-search-row .btn-action-clear,
form.web-sites-search-row .btn-action-add,
.printer-maintenance-search.action-search-row.web-sites-search-row .btn-action-clear,
.printer-maintenance-search.action-search-row.web-sites-search-row .btn-action-add {
    max-width: 42px;
    min-width: 42px;
    width: 42px;
}

@media (max-width: 1220px) {
    form.web-sites-search-row,
    form.web-sites-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.web-sites-search-row,
    .printer-maintenance-search.action-search-row.web-sites-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(4, minmax(96px, 1fr)) minmax(104px, 118px) 42px 42px;
    }
}

@media (max-width: 860px) {
    form.web-sites-search-row,
    form.web-sites-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.web-sites-search-row,
    .printer-maintenance-search.action-search-row.web-sites-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(2, minmax(104px, 1fr));
    }

    form.web-sites-search-row .btn-action-search,
    form.web-sites-search-row .btn-action-clear,
    form.web-sites-search-row .btn-action-add,
    .printer-maintenance-search.action-search-row.web-sites-search-row .btn-action-search,
    .printer-maintenance-search.action-search-row.web-sites-search-row .btn-action-clear,
    .printer-maintenance-search.action-search-row.web-sites-search-row .btn-action-add {
        max-width: none;
        width: 100%;
    }
}

@media (max-width: 640px) {
    form.web-sites-search-row,
    form.web-sites-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.web-sites-search-row,
    .printer-maintenance-search.action-search-row.web-sites-search-row.global-search-actions {
        grid-template-columns: 1fr;
    }
}

form.web-updates-search-row,
form.web-updates-search-row.global-search-actions,
.printer-maintenance-search.action-search-row.web-updates-search-row,
.printer-maintenance-search.action-search-row.web-updates-search-row.global-search-actions {
    grid-template-columns: minmax(260px, 1fr) repeat(3, minmax(112px, 142px)) minmax(104px, 118px) 42px 42px;
}

form.web-updates-search-row .btn-action-search,
.printer-maintenance-search.action-search-row.web-updates-search-row .btn-action-search {
    min-width: 104px;
    width: 100%;
}

form.web-updates-search-row .btn-action-clear,
form.web-updates-search-row .btn-action-add,
.printer-maintenance-search.action-search-row.web-updates-search-row .btn-action-clear,
.printer-maintenance-search.action-search-row.web-updates-search-row .btn-action-add {
    max-width: 42px;
    min-width: 42px;
    width: 42px;
}

@media (max-width: 1160px) {
    form.web-updates-search-row,
    form.web-updates-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.web-updates-search-row,
    .printer-maintenance-search.action-search-row.web-updates-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(3, minmax(104px, 1fr)) minmax(104px, 118px) 42px 42px;
    }
}

@media (max-width: 760px) {
    form.web-updates-search-row,
    form.web-updates-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.web-updates-search-row,
    .printer-maintenance-search.action-search-row.web-updates-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(3, minmax(96px, 1fr));
    }

    form.web-updates-search-row .btn-action-search,
    .printer-maintenance-search.action-search-row.web-updates-search-row .btn-action-search {
        grid-column: 1 / -1;
        max-width: none;
    }

    form.web-updates-search-row .btn-action-clear,
    form.web-updates-search-row .btn-action-add,
    .printer-maintenance-search.action-search-row.web-updates-search-row .btn-action-clear,
    .printer-maintenance-search.action-search-row.web-updates-search-row .btn-action-add {
        max-width: none;
        width: 100%;
    }
}

@media (max-width: 640px) {
    form.web-updates-search-row,
    form.web-updates-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.web-updates-search-row,
    .printer-maintenance-search.action-search-row.web-updates-search-row.global-search-actions {
        grid-template-columns: 1fr;
    }
}

form.web-documents-search-row,
form.web-documents-search-row.global-search-actions,
.printer-maintenance-search.action-search-row.web-documents-search-row,
.printer-maintenance-search.action-search-row.web-documents-search-row.global-search-actions {
    grid-template-columns: minmax(240px, 1fr) repeat(4, minmax(104px, 132px)) minmax(104px, 118px) 42px 42px;
}

form.web-documents-search-row .btn-action-search,
.printer-maintenance-search.action-search-row.web-documents-search-row .btn-action-search {
    min-width: 104px;
    width: 100%;
}

form.web-documents-search-row .btn-action-clear,
form.web-documents-search-row .btn-action-add,
.printer-maintenance-search.action-search-row.web-documents-search-row .btn-action-clear,
.printer-maintenance-search.action-search-row.web-documents-search-row .btn-action-add {
    max-width: 42px;
    min-width: 42px;
    width: 42px;
}

@media (max-width: 1220px) {
    form.web-documents-search-row,
    form.web-documents-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.web-documents-search-row,
    .printer-maintenance-search.action-search-row.web-documents-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(4, minmax(96px, 1fr)) minmax(104px, 118px) 42px 42px;
    }
}

@media (max-width: 860px) {
    form.web-documents-search-row,
    form.web-documents-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.web-documents-search-row,
    .printer-maintenance-search.action-search-row.web-documents-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(2, minmax(104px, 1fr));
    }

    form.web-documents-search-row .btn-action-search,
    form.web-documents-search-row .btn-action-clear,
    form.web-documents-search-row .btn-action-add,
    .printer-maintenance-search.action-search-row.web-documents-search-row .btn-action-search,
    .printer-maintenance-search.action-search-row.web-documents-search-row .btn-action-clear,
    .printer-maintenance-search.action-search-row.web-documents-search-row .btn-action-add {
        max-width: none;
        width: 100%;
    }
}

@media (max-width: 640px) {
    form.web-documents-search-row,
    form.web-documents-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.web-documents-search-row,
    .printer-maintenance-search.action-search-row.web-documents-search-row.global-search-actions {
        grid-template-columns: 1fr;
    }
}

form.web-domains-search-row,
form.web-domains-search-row.global-search-actions,
.printer-maintenance-search.action-search-row.web-domains-search-row,
.printer-maintenance-search.action-search-row.web-domains-search-row.global-search-actions {
    grid-template-columns: minmax(260px, 1fr) repeat(3, minmax(112px, 142px)) minmax(104px, 118px) 42px 42px;
}

form.web-domains-search-row .btn-action-search,
.printer-maintenance-search.action-search-row.web-domains-search-row .btn-action-search {
    min-width: 104px;
    width: 100%;
}

form.web-domains-search-row .btn-action-clear,
form.web-domains-search-row .btn-action-add,
.printer-maintenance-search.action-search-row.web-domains-search-row .btn-action-clear,
.printer-maintenance-search.action-search-row.web-domains-search-row .btn-action-add {
    max-width: 42px;
    min-width: 42px;
    width: 42px;
}

@media (max-width: 1160px) {
    form.web-domains-search-row,
    form.web-domains-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.web-domains-search-row,
    .printer-maintenance-search.action-search-row.web-domains-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(3, minmax(104px, 1fr)) minmax(104px, 118px) 42px 42px;
    }
}

@media (max-width: 760px) {
    form.web-domains-search-row,
    form.web-domains-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.web-domains-search-row,
    .printer-maintenance-search.action-search-row.web-domains-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(3, minmax(96px, 1fr));
    }

    form.web-domains-search-row .btn-action-search,
    .printer-maintenance-search.action-search-row.web-domains-search-row .btn-action-search {
        grid-column: 1 / -1;
        max-width: none;
    }

    form.web-domains-search-row .btn-action-clear,
    form.web-domains-search-row .btn-action-add,
    .printer-maintenance-search.action-search-row.web-domains-search-row .btn-action-clear,
    .printer-maintenance-search.action-search-row.web-domains-search-row .btn-action-add {
        max-width: none;
        width: 100%;
    }
}

@media (max-width: 640px) {
    form.web-domains-search-row,
    form.web-domains-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.web-domains-search-row,
    .printer-maintenance-search.action-search-row.web-domains-search-row.global-search-actions {
        grid-template-columns: 1fr;
    }
}

form.correos-search-row,
form.correos-search-row.global-search-actions,
.printer-maintenance-search.action-search-row.correos-search-row,
.printer-maintenance-search.action-search-row.correos-search-row.global-search-actions {
    grid-template-columns: minmax(280px, 1fr) repeat(2, minmax(118px, 150px)) minmax(118px, 126px) 42px 42px;
}

form.correos-search-row.has-process,
form.correos-search-row.has-process.global-search-actions,
.printer-maintenance-search.action-search-row.correos-search-row.has-process,
.printer-maintenance-search.action-search-row.correos-search-row.has-process.global-search-actions {
    grid-template-columns: minmax(260px, 1fr) repeat(3, minmax(112px, 142px)) minmax(104px, 118px) 42px 42px;
}

form.correos-search-row .btn-action-search,
.printer-maintenance-search.action-search-row.correos-search-row .btn-action-search {
    min-width: 104px;
    width: 100%;
}

form.correos-search-row .btn-action-clear,
form.correos-search-row .btn-action-add,
.printer-maintenance-search.action-search-row.correos-search-row .btn-action-clear,
.printer-maintenance-search.action-search-row.correos-search-row .btn-action-add {
    max-width: 42px;
    min-width: 42px;
    width: 42px;
}

@media (max-width: 1160px) {
    form.correos-search-row,
    form.correos-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.correos-search-row,
    .printer-maintenance-search.action-search-row.correos-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(2, minmax(108px, 1fr)) minmax(112px, 126px) 42px 42px;
    }

    form.correos-search-row.has-process,
    form.correos-search-row.has-process.global-search-actions,
    .printer-maintenance-search.action-search-row.correos-search-row.has-process,
    .printer-maintenance-search.action-search-row.correos-search-row.has-process.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(3, minmax(104px, 1fr)) minmax(104px, 118px) 42px 42px;
    }
}

@media (max-width: 760px) {
    form.correos-search-row,
    form.correos-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.correos-search-row,
    .printer-maintenance-search.action-search-row.correos-search-row.global-search-actions,
    form.correos-search-row.has-process,
    form.correos-search-row.has-process.global-search-actions,
    .printer-maintenance-search.action-search-row.correos-search-row.has-process,
    .printer-maintenance-search.action-search-row.correos-search-row.has-process.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(2, minmax(96px, 1fr));
    }

    form.correos-search-row .btn-action-search,
    .printer-maintenance-search.action-search-row.correos-search-row .btn-action-search {
        grid-column: 1 / -1;
        max-width: none;
    }

    form.correos-search-row .btn-action-clear,
    form.correos-search-row .btn-action-add,
    .printer-maintenance-search.action-search-row.correos-search-row .btn-action-clear,
    .printer-maintenance-search.action-search-row.correos-search-row .btn-action-add {
        max-width: none;
        width: 100%;
    }
}

@media (max-width: 640px) {
    form.correos-search-row,
    form.correos-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.correos-search-row,
    .printer-maintenance-search.action-search-row.correos-search-row.global-search-actions {
        grid-template-columns: 1fr;
    }
}

form.photos-search-row,
form.photos-search-row.global-search-actions,
.printer-maintenance-search.action-search-row.photos-search-row,
.printer-maintenance-search.action-search-row.photos-search-row.global-search-actions {
    grid-template-columns: minmax(260px, 1fr) repeat(3, minmax(112px, 142px)) minmax(104px, 118px) 42px 42px;
}

form.photos-search-row .btn-action-search,
.printer-maintenance-search.action-search-row.photos-search-row .btn-action-search {
    min-width: 104px;
    width: 100%;
}

form.photos-search-row .btn-action-clear,
form.photos-search-row .btn-action-add,
.printer-maintenance-search.action-search-row.photos-search-row .btn-action-clear,
.printer-maintenance-search.action-search-row.photos-search-row .btn-action-add {
    max-width: 42px;
    min-width: 42px;
    width: 42px;
}

@media (max-width: 1160px) {
    form.photos-search-row,
    form.photos-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.photos-search-row,
    .printer-maintenance-search.action-search-row.photos-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(3, minmax(104px, 1fr)) minmax(104px, 118px) 42px 42px;
    }
}

@media (max-width: 760px) {
    form.photos-search-row,
    form.photos-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.photos-search-row,
    .printer-maintenance-search.action-search-row.photos-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(3, minmax(96px, 1fr));
    }

    form.photos-search-row .btn-action-search,
    .printer-maintenance-search.action-search-row.photos-search-row .btn-action-search {
        grid-column: 1 / -1;
        max-width: none;
    }

    form.photos-search-row .btn-action-clear,
    form.photos-search-row .btn-action-add,
    .printer-maintenance-search.action-search-row.photos-search-row .btn-action-clear,
    .printer-maintenance-search.action-search-row.photos-search-row .btn-action-add {
        max-width: none;
        width: 100%;
    }
}

@media (max-width: 640px) {
    form.photos-search-row,
    form.photos-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.photos-search-row,
    .printer-maintenance-search.action-search-row.photos-search-row.global-search-actions {
        grid-template-columns: 1fr;
    }
}

form.requirements-search-row,
form.requirements-search-row.global-search-actions,
.printer-maintenance-search.action-search-row.requirements-search-row,
.printer-maintenance-search.action-search-row.requirements-search-row.global-search-actions {
    grid-template-columns: minmax(220px, 1fr) repeat(5, minmax(92px, 126px)) minmax(104px, 118px) 42px 42px;
}

form.requirements-search-row .btn-action-search,
.printer-maintenance-search.action-search-row.requirements-search-row .btn-action-search {
    min-width: 104px;
    width: 100%;
}

form.requirements-search-row .btn-action-clear,
form.requirements-search-row .btn-action-add,
.printer-maintenance-search.action-search-row.requirements-search-row .btn-action-clear,
.printer-maintenance-search.action-search-row.requirements-search-row .btn-action-add {
    max-width: 42px;
    min-width: 42px;
    width: 42px;
}

@media (max-width: 1280px) {
    form.requirements-search-row,
    form.requirements-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.requirements-search-row,
    .printer-maintenance-search.action-search-row.requirements-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(5, minmax(88px, 1fr));
    }

    form.requirements-search-row .btn-action-search,
    .printer-maintenance-search.action-search-row.requirements-search-row .btn-action-search {
        grid-column: auto;
        max-width: none;
    }

    form.requirements-search-row .btn-action-clear,
    form.requirements-search-row .btn-action-add,
    .printer-maintenance-search.action-search-row.requirements-search-row .btn-action-clear,
    .printer-maintenance-search.action-search-row.requirements-search-row .btn-action-add {
        max-width: none;
        width: 100%;
    }
}

@media (max-width: 900px) {
    form.requirements-search-row,
    form.requirements-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.requirements-search-row,
    .printer-maintenance-search.action-search-row.requirements-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(2, minmax(96px, 1fr));
    }

    form.requirements-search-row .btn-action-search,
    .printer-maintenance-search.action-search-row.requirements-search-row .btn-action-search {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    form.requirements-search-row,
    form.requirements-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.requirements-search-row,
    .printer-maintenance-search.action-search-row.requirements-search-row.global-search-actions {
        grid-template-columns: 1fr;
    }
}

form.tasks-search-row,
form.tasks-search-row.global-search-actions,
.printer-maintenance-search.action-search-row.tasks-search-row,
.printer-maintenance-search.action-search-row.tasks-search-row.global-search-actions {
    grid-template-columns: minmax(280px, 1fr) repeat(2, minmax(118px, 150px)) minmax(118px, 126px) 42px 42px;
}

form.activity-search-row,
form.activity-search-row.global-search-actions,
.printer-maintenance-search.action-search-row.activity-search-row,
.printer-maintenance-search.action-search-row.activity-search-row.global-search-actions {
    grid-template-columns: minmax(300px, 1fr) minmax(96px, 126px) minmax(104px, 132px) minmax(86px, 110px) minmax(104px, 118px) 42px 42px;
}

form.invoice-search-row,
form.invoice-search-row.global-search-actions,
.printer-maintenance-search.action-search-row.invoice-search-row,
.printer-maintenance-search.action-search-row.invoice-search-row.global-search-actions {
    grid-template-columns: minmax(300px, 1fr) minmax(96px, 126px) minmax(104px, 132px) minmax(112px, 138px) minmax(104px, 118px) 42px 42px;
}

form.cap-search-row,
form.cap-search-row.global-search-actions,
.printer-maintenance-search.action-search-row.cap-search-row,
.printer-maintenance-search.action-search-row.cap-search-row.global-search-actions {
    grid-template-columns: minmax(320px, 1fr) minmax(112px, 136px) repeat(4, minmax(104px, 132px)) minmax(112px, 126px) 42px 42px;
}

form.cap-search-row .btn-icon-only {
    overflow: hidden;
}

form.cap-search-row .btn-icon-only > span:not(.button-icon),
form.cap-search-row .btn-icon-only .btn-label {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

form.webind-search-row,
form.webind-search-row.global-search-actions,
.printer-maintenance-search.action-search-row.webind-search-row,
.printer-maintenance-search.action-search-row.webind-search-row.global-search-actions {
    grid-template-columns: minmax(320px, 1fr) minmax(96px, 136px) minmax(110px, 136px) minmax(110px, 136px) minmax(110px, 136px) minmax(112px, 126px) 42px 42px;
}

form.webind-search-row .btn-icon-only {
    overflow: hidden;
}

form.webind-search-row .btn-icon-only > span:not(.button-icon),
form.webind-search-row .btn-icon-only .btn-label {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.single-board-layout > .panel > .printer-maintenance-search.action-search-row.webind-search-row > .btn-action-search {
    flex: initial;
    max-width: none;
    min-width: 118px;
    width: 100%;
}

.single-board-layout > .panel > .printer-maintenance-search.action-search-row.webind-search-row > .btn-action-clear,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row.webind-search-row > .btn-action-add,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row.webind-search-row > .btn-icon-only {
    flex: initial;
    max-width: 42px;
    min-width: 42px;
    width: 42px;
}

form.tasks-search-row .btn-action-search,
.printer-maintenance-search.action-search-row.tasks-search-row .btn-action-search,
form.activity-search-row .btn-action-search,
.printer-maintenance-search.action-search-row.activity-search-row .btn-action-search,
form.invoice-search-row .btn-action-search,
.printer-maintenance-search.action-search-row.invoice-search-row .btn-action-search,
form.cap-search-row .btn-action-search,
.printer-maintenance-search.action-search-row.cap-search-row .btn-action-search,
form.webind-search-row .btn-action-search,
.printer-maintenance-search.action-search-row.webind-search-row .btn-action-search {
    min-width: 118px;
    width: 100%;
}

.invoice-pdf-cell {
    align-items: flex-start;
    display: grid;
    gap: 6px;
}

.invoice-pdf-upload-link {
    align-items: center;
    background: #eef7ff;
    border: 1px solid #b9d8f4;
    border-radius: 8px;
    color: var(--blue-800);
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 6px;
    justify-content: center;
    line-height: 1.1;
    min-height: 32px;
    padding: 6px 8px;
    text-decoration: none;
    width: max-content;
}

.invoice-pdf-upload-link:hover {
    background: #e4f1fb;
    border-color: #8cbde7;
    color: var(--blue-900);
    text-decoration: none;
}

.invoice-pdf-upload-link .button-icon {
    height: 15px;
    width: 15px;
}

.invoice-pdf-upload-dialog {
    max-width: 620px;
}

.invoice-pdf-upload-form {
    display: grid;
    gap: 14px;
}

.invoice-pdf-upload-summary {
    align-items: center;
    background: #f6fbff;
    border: 1px solid #d8e7f4;
    border-radius: 8px;
    display: flex;
    gap: 12px;
    padding: 12px 14px;
}

.invoice-pdf-upload-summary > span {
    align-items: center;
    background: #eaf4fd;
    border-radius: 8px;
    color: var(--blue-800);
    display: inline-flex;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.invoice-pdf-upload-summary strong,
.invoice-pdf-upload-summary small {
    display: block;
}

.invoice-pdf-upload-summary strong {
    color: var(--blue-900);
    font-weight: 900;
}

.invoice-pdf-upload-summary small {
    color: #61758a;
    font-size: 12px;
    margin-top: 2px;
}

form.tasks-search-row .btn-action-clear,
form.tasks-search-row .btn-action-add,
.printer-maintenance-search.action-search-row.tasks-search-row .btn-action-clear,
.printer-maintenance-search.action-search-row.tasks-search-row .btn-action-add,
form.activity-search-row .btn-action-clear,
form.activity-search-row .btn-action-add,
.printer-maintenance-search.action-search-row.activity-search-row .btn-action-clear,
.printer-maintenance-search.action-search-row.activity-search-row .btn-action-add,
form.invoice-search-row .btn-action-clear,
form.invoice-search-row .btn-action-add,
.printer-maintenance-search.action-search-row.invoice-search-row .btn-action-clear,
.printer-maintenance-search.action-search-row.invoice-search-row .btn-action-add,
form.cap-search-row .btn-action-clear,
form.cap-search-row .btn-action-add,
.printer-maintenance-search.action-search-row.cap-search-row .btn-action-clear,
.printer-maintenance-search.action-search-row.cap-search-row .btn-action-add,
form.webind-search-row .btn-action-clear,
form.webind-search-row .btn-action-add,
.printer-maintenance-search.action-search-row.webind-search-row .btn-action-clear,
.printer-maintenance-search.action-search-row.webind-search-row .btn-action-add {
    max-width: 42px;
    min-width: 42px;
    width: 42px;
}

@media (max-width: 900px) {
    form.tasks-search-row,
    form.tasks-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.tasks-search-row,
    .printer-maintenance-search.action-search-row.tasks-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(2, minmax(108px, 1fr)) minmax(112px, 126px) 42px 42px;
    }

    form.activity-search-row,
    form.activity-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.activity-search-row,
    .printer-maintenance-search.action-search-row.activity-search-row.global-search-actions,
    form.invoice-search-row,
    form.invoice-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.invoice-search-row,
    .printer-maintenance-search.action-search-row.invoice-search-row.global-search-actions,
    form.webind-search-row,
    form.webind-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.webind-search-row,
    .printer-maintenance-search.action-search-row.webind-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(4, minmax(92px, 1fr)) minmax(104px, 118px) 42px 42px;
    }
}

@media (max-width: 640px) {
    form.tasks-search-row,
    form.tasks-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.tasks-search-row,
    .printer-maintenance-search.action-search-row.tasks-search-row.global-search-actions,
    form.activity-search-row,
    form.activity-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.activity-search-row,
    .printer-maintenance-search.action-search-row.activity-search-row.global-search-actions,
    form.invoice-search-row,
    form.invoice-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.invoice-search-row,
    .printer-maintenance-search.action-search-row.invoice-search-row.global-search-actions,
    form.webind-search-row,
    form.webind-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.webind-search-row,
    .printer-maintenance-search.action-search-row.webind-search-row.global-search-actions {
        grid-template-columns: 1fr;
    }

    form.tasks-search-row .btn-action-search,
    form.tasks-search-row .btn-action-clear,
    form.tasks-search-row .btn-action-add,
    .printer-maintenance-search.action-search-row.tasks-search-row .btn-action-search,
    .printer-maintenance-search.action-search-row.tasks-search-row .btn-action-clear,
    .printer-maintenance-search.action-search-row.tasks-search-row .btn-action-add,
    form.activity-search-row .btn-action-search,
    form.activity-search-row .btn-action-clear,
    form.activity-search-row .btn-action-add,
    .printer-maintenance-search.action-search-row.activity-search-row .btn-action-search,
    .printer-maintenance-search.action-search-row.activity-search-row .btn-action-clear,
    .printer-maintenance-search.action-search-row.activity-search-row .btn-action-add,
    form.invoice-search-row .btn-action-search,
    form.invoice-search-row .btn-action-clear,
    form.invoice-search-row .btn-action-add,
    .printer-maintenance-search.action-search-row.invoice-search-row .btn-action-search,
    .printer-maintenance-search.action-search-row.invoice-search-row .btn-action-clear,
    .printer-maintenance-search.action-search-row.invoice-search-row .btn-action-add,
    form.webind-search-row .btn-action-search,
    form.webind-search-row .btn-action-clear,
    form.webind-search-row .btn-action-add,
    .printer-maintenance-search.action-search-row.webind-search-row .btn-action-search,
    .printer-maintenance-search.action-search-row.webind-search-row .btn-action-clear,
    .printer-maintenance-search.action-search-row.webind-search-row .btn-action-add {
        max-width: none;
        width: 100%;
    }
}

.tasks-board-modern {
    background: transparent;
    border: 0;
    box-shadow: none;
    display: grid;
    gap: 14px;
    max-width: 100%;
    min-width: 0;
    overflow: clip;
    padding: 0;
    position: relative;
}

.tasks-board-modern > * {
    min-width: 0;
}

.tasks-board-modern.is-ajax-loading::after {
    align-items: center;
    animation: tasksRefreshFade 0.22s ease-out both;
    backdrop-filter: blur(1.5px);
    background: rgba(244, 249, 253, 0.72);
    border-radius: 8px;
    color: #24577f;
    content: "Actualizando tareas...";
    display: flex;
    font-size: 13px;
    font-weight: 850;
    inset: 0;
    justify-content: center;
    position: absolute;
    z-index: 4;
}

.tasks-board-summary {
    align-items: center;
    animation: tasksBoardEnter 0.34s ease-out both;
    background:
        linear-gradient(135deg, rgba(232, 244, 253, 0.94) 0%, rgba(255, 255, 255, 0.98) 58%),
        #ffffff;
    border: 1px solid #cfe0ee;
    border-radius: 8px;
    box-shadow: 0 16px 38px rgba(28, 61, 96, 0.07);
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) auto;
    overflow: hidden;
    padding: 22px 24px;
}

body.section-tareas .tasks-board-summary {
    display: none;
}

.tasks-board-copy h2 {
    color: #082743;
    font-size: 26px;
    line-height: 1.12;
    margin: 6px 0 8px;
}

.tasks-board-copy p {
    color: #49637d;
    margin: 0;
    max-width: 640px;
}

.tasks-board-metrics {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(116px, 1fr));
}

.tasks-status-card {
    background: #ffffff;
    border: 1px solid #d4e4f0;
    border-radius: 8px;
    box-shadow: 0 12px 24px rgba(30, 70, 106, 0.05);
    display: grid;
    gap: 4px;
    min-height: 70px;
    padding: 13px 15px;
    position: relative;
    text-decoration: none;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.tasks-status-card::before {
    border-radius: 999px;
    content: "";
    height: 7px;
    left: 15px;
    position: absolute;
    top: 13px;
    width: 7px;
}

.tasks-status-card strong {
    color: var(--blue-900);
    font-size: 25px;
    line-height: 1;
    padding-top: 12px;
}

.tasks-status-card small {
    color: #526b84;
    font-size: 12px;
}

.tasks-status-card.is-open::before {
    background: var(--yellow);
}

.tasks-status-card.is-process::before {
    background: #2f8ed8;
}

.tasks-status-card.is-closed::before {
    background: #1f9d55;
}

.tasks-head-metrics {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(92px, 1fr));
    min-width: min(100%, 308px);
}

.page-head .tasks-status-card {
    background: rgba(255, 255, 255, 0.96);
    border-color: rgba(255, 255, 255, 0.6);
    box-shadow: 0 14px 28px rgba(10, 39, 67, 0.16);
    min-height: 56px;
    min-width: 0;
    padding: 10px 12px;
}

.page-head .tasks-status-card:hover,
.page-head .tasks-status-card.is-active {
    border-color: rgba(248, 216, 16, 0.92);
    box-shadow: 0 16px 32px rgba(10, 39, 67, 0.22);
}

.page-head .tasks-status-card strong {
    font-size: 22px;
}

.page-head .tasks-status-card small {
    white-space: nowrap;
}

.tasks-status-card:hover,
.tasks-status-card.is-active {
    border-color: #8bbce4;
    box-shadow: 0 16px 30px rgba(30, 86, 130, 0.1);
    transform: translateY(-1px);
    text-decoration: none;
}

.tasks-board-modern .computer-tabs {
    background: #ffffff;
    border: 1px solid #d5e4f0;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(28, 61, 96, 0.05);
    padding: 10px;
}

.tasks-board-modern .computer-tabs a {
    border-radius: 8px;
}

.tasks-board-modern .computer-tabs a.is-active {
    box-shadow: 0 10px 22px rgba(30, 86, 130, 0.12);
}

.tasks-search-row-clean {
    background: #ffffff !important;
    border: 1px solid #d5e4f0 !important;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(28, 61, 96, 0.05);
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: minmax(340px, 1fr) repeat(3, minmax(126px, 160px)) minmax(500px, auto) !important;
    margin: 0 !important;
    overflow: visible !important;
    padding: 14px !important;
}

.tasks-search-row-clean label {
    color: #143a5c;
    display: grid;
    font-size: 12px;
    font-weight: 800;
    gap: 6px;
    margin: 0;
    min-width: 0;
    text-transform: none;
}

.tasks-search-row-clean input[type="search"],
.tasks-search-row-clean select {
    background-color: #ffffff;
    border: 1px solid #cfe0ee;
    border-radius: 8px;
    box-shadow: none;
    color: #0b2740;
    font-weight: 700;
    height: 40px;
    min-width: 0;
    padding: 0 12px;
    width: 100%;
}

.tasks-search-row-clean .btn {
    align-items: center !important;
    align-self: end;
    border-radius: 8px;
    display: inline-flex !important;
    font-size: 13px;
    font-weight: 850;
    height: 40px;
    justify-content: center !important;
    line-height: 1;
    margin: 0;
    max-width: none !important;
    min-width: 0 !important;
    overflow: visible !important;
    padding: 0 14px !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
    width: 100% !important;
}

.tasks-search-row-clean .tasks-search-clear {
    background: #ffffff;
    border-color: #cfe0ee;
    color: #174a78;
}

.tasks-search-row-clean .tasks-search-add {
    background: #235f93 !important;
    border-color: #235f93 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

.tasks-search-actions {
    align-self: end;
    display: flex;
    gap: 10px;
    grid-column: -2 / -1;
    justify-content: flex-end;
    min-width: 0;
}

.tasks-search-row-clean .tasks-search-actions .btn {
    flex: 0 0 auto;
    width: auto !important;
}

.tasks-search-row-clean .tasks-search-actions .tasks-search-submit {
    min-width: 128px !important;
}

.tasks-search-row-clean .tasks-search-actions .tasks-search-clear {
    min-width: 112px !important;
}

.tasks-search-row-clean .tasks-search-actions .tasks-search-requirements {
    min-width: 220px !important;
}

.tasks-search-row-clean .tasks-search-actions .tasks-search-add {
    min-width: 132px !important;
}

.tasks-table-wrap {
    animation: tasksBoardEnter 0.34s ease-out 0.06s both;
    background: #ffffff;
    border: 1px solid #d5e4f0;
    border-radius: 8px;
    box-shadow: 0 16px 38px rgba(28, 61, 96, 0.06);
    max-width: 100%;
    overflow-x: clip;
    overflow-y: visible;
}

.tasks-table.data-table {
    border: 0;
    min-width: 0;
    table-layout: fixed;
    width: 100%;
}

.tasks-table.data-table th,
.tasks-table.data-table td {
    overflow-wrap: anywhere;
    padding-left: 12px;
    padding-right: 12px;
    word-break: normal;
}

.tasks-table.data-table th:nth-child(1),
.tasks-table.data-table td:nth-child(1) {
    width: 7%;
}

.tasks-table.data-table th:nth-child(2),
.tasks-table.data-table td:nth-child(2) {
    width: 15%;
}

.tasks-table.data-table th:nth-child(3),
.tasks-table.data-table td:nth-child(3),
.tasks-table.data-table th:nth-child(4),
.tasks-table.data-table td:nth-child(4) {
    width: 11%;
}

.tasks-table.data-table th:nth-child(5),
.tasks-table.data-table td:nth-child(5) {
    width: 8%;
}

.tasks-table.data-table th:nth-child(6),
.tasks-table.data-table td:nth-child(6) {
    width: 9%;
}

.tasks-table.data-table th:nth-child(7),
.tasks-table.data-table td:nth-child(7) {
    width: 19%;
}

.tasks-table.data-table th:nth-child(8),
.tasks-table.data-table td:nth-child(8) {
    width: 7%;
}

.tasks-table.data-table th:nth-child(9),
.tasks-table.data-table td:nth-child(9) {
    min-width: 0;
    width: 13%;
}

.tasks-table.data-table td:nth-child(8) .muted,
.tasks-table.data-table td:nth-child(8) .attachment-list,
.tasks-table.data-table td:nth-child(8) .attachment-chip {
    max-width: 100%;
}

.tasks-table.data-table td:nth-child(8) .attachment-chip {
    overflow: hidden;
}

.tasks-table.data-table td:nth-child(8) .attachment-chip span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tasks-table .task-person {
    min-width: 0;
}

.tasks-table .table-actions {
    display: grid;
    gap: 6px;
    grid-template-columns: repeat(5, 30px);
    justify-content: end;
    max-width: 174px;
    min-width: 0;
}

.tasks-table .table-actions .icon-btn,
.tasks-table .table-actions form {
    height: 30px;
    min-width: 0;
    width: 30px;
}

.tasks-table .table-actions .icon-btn {
    height: 30px;
    padding: 0;
    width: 30px;
}

.tasks-table .table-actions .action-icon {
    height: 15px;
    width: 15px;
}

.tasks-table .table-actions form {
    display: block;
}

.tasks-table .table-actions form .icon-btn {
    display: inline-flex;
}

.tasks-table.data-table thead th {
    background: #f3f8fd;
    color: #173f63;
    font-size: 11px;
    letter-spacing: 0;
    position: sticky;
    text-transform: uppercase;
    top: 0;
    z-index: 1;
}

@media (min-width: 901px) {
    .tasks-table-wrap {
        overflow-x: clip;
        overflow-y: visible;
    }

    .tasks-table.data-table thead th {
        border-bottom: 1px solid #c7dcee;
        box-shadow: 0 10px 18px rgba(28, 61, 96, 0.08);
        top: 64px;
        z-index: 8;
    }
}

.tasks-table.data-table tbody tr {
    transition: background 0.16s ease, box-shadow 0.16s ease;
}

.tasks-table.data-table tbody tr:hover {
    background: #f8fbff;
    box-shadow: inset 3px 0 0 var(--blue-800);
}

@keyframes tasksBoardEnter {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes tasksRefreshFade {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@media (max-width: 1280px) {
    .tasks-board-metrics {
        width: 100%;
    }

    body.section-tareas .page-head {
        align-items: center;
        display: flex;
    }

    body.section-requerimientos .page-head {
        align-items: center;
        display: flex;
    }

    body.section-tareas .page-head-extra {
        justify-content: flex-end;
        margin-left: auto;
        width: auto;
    }

    body.section-requerimientos .page-head-extra {
        justify-content: flex-end;
        margin-left: auto;
        width: auto;
    }

    body.section-tareas .tasks-head-metrics {
        min-width: min(100%, 308px);
        width: auto;
    }

    body.section-requerimientos .tasks-head-metrics {
        min-width: min(100%, 308px);
        width: auto;
    }

    .tasks-search-row-clean {
        grid-template-columns: minmax(0, 1fr) repeat(3, minmax(112px, 1fr)) !important;
    }

    .tasks-search-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }

    .tasks-table .table-actions {
        grid-template-columns: repeat(3, 30px);
        justify-content: start;
        max-width: 102px;
    }
}

@media (max-width: 760px) {
    .tasks-board-metrics,
    .tasks-search-row-clean {
        grid-template-columns: 1fr !important;
    }

    .tasks-search-actions {
        display: grid;
        grid-column: 1 / -1;
        grid-template-columns: 1fr;
    }

    .tasks-search-row-clean .tasks-search-actions .btn {
        width: 100% !important;
    }

    body.section-tareas .page-head {
        gap: 14px;
        margin-bottom: 14px;
        padding: 20px 18px;
    }

    body.section-requerimientos .page-head {
        gap: 14px;
        margin-bottom: 14px;
        padding: 20px 18px;
    }

    body.section-tareas .page-head-subline {
        font-size: 16px;
    }

    body.section-requerimientos .page-head-subline {
        font-size: 16px;
    }

    body.section-tareas .tasks-head-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.section-requerimientos .tasks-head-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.section-tareas .page-head .tasks-status-card {
        min-height: 60px;
        padding: 11px 12px;
    }

    body.section-requerimientos .page-head .tasks-status-card {
        min-height: 60px;
        padding: 11px 12px;
    }

    .tasks-table-wrap {
        background: transparent;
        border: 0;
        box-shadow: none;
        overflow: visible;
    }

    .tasks-table.data-table,
    .tasks-table.data-table tbody,
    .tasks-table.data-table tr,
    .tasks-table.data-table td {
        display: block;
        width: 100%;
    }

    .tasks-table.data-table {
        border-collapse: separate;
        border-spacing: 0 12px;
        table-layout: auto;
    }

    .tasks-table.data-table thead {
        display: none;
    }

    .tasks-table.data-table tbody tr {
        background: #ffffff;
        border: 1px solid #d5e4f0;
        border-radius: 8px;
        box-shadow: 0 12px 26px rgba(28, 61, 96, 0.06);
        display: grid;
        gap: 0;
        overflow: hidden;
    }

    .tasks-table.data-table tbody tr:hover {
        box-shadow: 0 12px 26px rgba(28, 61, 96, 0.08);
    }

    .tasks-table.data-table td {
        align-items: start;
        border-bottom: 1px solid #e2edf6;
        display: grid;
        gap: 8px;
        grid-template-columns: minmax(92px, 34%) minmax(0, 1fr);
        min-height: 42px;
        padding: 10px 12px;
    }

    .tasks-table.data-table td:last-child {
        border-bottom: 0;
    }

    .tasks-table.data-table td::before {
        color: #49637d;
        content: "";
        font-size: 10px;
        font-weight: 900;
        letter-spacing: 0;
        text-transform: uppercase;
    }

    .tasks-table.data-table td:nth-child(1)::before {
        content: "Fecha";
    }

    .tasks-table.data-table td:nth-child(2)::before {
        content: "Tarea";
    }

    .tasks-table.data-table td:nth-child(3)::before {
        content: "Responsable";
    }

    .tasks-table.data-table td:nth-child(4)::before {
        content: "Registrada por";
    }

    .tasks-table.data-table td:nth-child(5)::before {
        content: "Estado";
    }

    .tasks-table.data-table td:nth-child(6)::before {
        content: "Terminacion";
    }

    .tasks-table.data-table td:nth-child(7)::before {
        content: "Observacion";
    }

    .tasks-table.data-table td:nth-child(8)::before {
        content: "Adjuntos";
    }

    .tasks-table.data-table td:nth-child(9)::before {
        content: "Acciones";
    }

    .tasks-table.data-table td:nth-child(1),
    .tasks-table.data-table td:nth-child(2),
    .tasks-table.data-table td:nth-child(3),
    .tasks-table.data-table td:nth-child(4),
    .tasks-table.data-table td:nth-child(5),
    .tasks-table.data-table td:nth-child(6),
    .tasks-table.data-table td:nth-child(7),
    .tasks-table.data-table td:nth-child(8),
    .tasks-table.data-table td:nth-child(9) {
        min-width: 0;
        width: 100%;
    }

    .tasks-table .task-person {
        align-items: center;
        display: grid;
        gap: 8px;
        grid-template-columns: 30px minmax(0, 1fr);
    }

    .tasks-table .task-person-avatar {
        height: 30px;
        width: 30px;
    }

    .tasks-table .task-person-copy strong,
    .tasks-table .task-person-copy small,
    .tasks-table .task-observation-cell,
    .tasks-table .task-observation-cell > span {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .tasks-table .table-actions {
        grid-template-columns: repeat(5, 34px);
        justify-content: start;
        max-width: none;
    }

    .tasks-table .table-actions .icon-btn,
    .tasks-table .table-actions form {
        height: 34px;
        width: 34px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tasks-board-summary,
    .tasks-table-wrap,
    .tasks-board-modern.is-ajax-loading::after {
        animation: none !important;
    }
}

.invoice-board-modern {
    background: transparent;
    border: 0;
    box-shadow: none;
    display: grid;
    gap: 14px;
    overflow: visible;
    padding: 0;
    position: relative;
}

.invoice-board-modern.is-ajax-loading::after {
    align-items: center;
    animation: tasksRefreshFade 0.22s ease-out both;
    backdrop-filter: blur(1.5px);
    background: rgba(244, 249, 253, 0.72);
    border-radius: 8px;
    color: #24577f;
    content: "Actualizando facturas...";
    display: flex;
    font-size: 13px;
    font-weight: 850;
    inset: 0;
    justify-content: center;
    position: absolute;
    z-index: 4;
}

.invoice-board-modern .computer-tabs {
    background: #ffffff;
    border: 1px solid #d5e4f0;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(28, 61, 96, 0.05);
    padding: 10px;
}

.invoice-board-modern .computer-tabs a {
    border-radius: 8px;
}

.invoice-board-modern .computer-tabs a.is-active {
    box-shadow: 0 10px 22px rgba(30, 86, 130, 0.12);
}

.invoice-search-row-clean {
    background: #ffffff !important;
    border: 1px solid #d5e4f0 !important;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(28, 61, 96, 0.05);
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: minmax(360px, 1fr) repeat(3, minmax(118px, 150px)) minmax(104px, 118px) minmax(88px, 104px) minmax(118px, 136px) !important;
    margin: 0 !important;
    overflow: visible !important;
    padding: 14px !important;
}

.invoice-search-row-clean label {
    color: #143a5c;
    display: grid;
    font-size: 12px;
    font-weight: 800;
    gap: 6px;
    margin: 0;
    min-width: 0;
    text-transform: none;
}

.invoice-search-row-clean input[type="search"],
.invoice-search-row-clean select {
    background-color: #ffffff;
    border: 1px solid #cfe0ee;
    border-radius: 8px;
    box-shadow: none;
    color: #0b2740;
    font-weight: 700;
    height: 40px;
    min-width: 0;
    padding: 0 12px;
    width: 100%;
}

.invoice-search-row-clean .btn {
    align-items: center !important;
    align-self: end;
    border-radius: 8px;
    display: inline-flex !important;
    font-size: 13px;
    font-weight: 850;
    height: 40px;
    justify-content: center !important;
    line-height: 1;
    margin: 0;
    max-width: none !important;
    min-width: 0 !important;
    overflow: visible !important;
    padding: 0 14px !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
    width: 100% !important;
}

.invoice-search-row-clean .invoice-search-clear {
    background: #ffffff;
    border-color: #cfe0ee;
    color: #174a78;
}

.invoice-search-row-clean .invoice-search-add {
    background: #235f93 !important;
    border-color: #235f93 !important;
    color: #ffffff !important;
    gap: 7px;
    text-decoration: none !important;
}

.invoice-search-row-clean .invoice-search-add .button-icon {
    height: 16px;
    width: 16px;
}

.invoice-table-wrap {
    animation: tasksBoardEnter 0.34s ease-out 0.06s both;
    background: #ffffff;
    border: 1px solid #d5e4f0;
    border-radius: 8px;
    box-shadow: 0 16px 38px rgba(28, 61, 96, 0.06);
    overflow: auto;
}

.invoice-table.data-table {
    border: 0;
}

.invoice-table.data-table thead th {
    background: #f3f8fd;
    color: #173f63;
    font-size: 11px;
    letter-spacing: 0;
    position: sticky;
    text-transform: uppercase;
    top: 0;
    z-index: 1;
}

.invoice-table.data-table tbody tr {
    transition: background 0.16s ease, box-shadow 0.16s ease;
}

.invoice-table.data-table tbody tr:hover {
    background: #f8fbff;
    box-shadow: inset 3px 0 0 var(--blue-800);
}

.invoice-status-quick-form {
    display: inline-flex;
    margin: 0;
}

.invoice-status-select {
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
    background-position: calc(100% - 13px) 50%, calc(100% - 8px) 50%;
    background-repeat: no-repeat;
    background-size: 5px 5px, 5px 5px;
    border-radius: 999px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
    min-height: 30px;
    min-width: 116px;
    padding: 5px 28px 5px 13px;
}

.invoice-status-select.status-activo {
    background-color: #ecf7f0;
    border: 1px solid #bfe4cc;
    color: var(--success);
}

.invoice-status-select.status-warning {
    background-color: #eaf5ff;
    border: 1px solid #9fceef;
    color: #145f96;
}

.invoice-status-select.status-inactivo {
    background-color: #fff1f0;
    border: 1px solid #f1c3bf;
    color: var(--danger);
}

.invoice-status-select:hover,
.invoice-status-select:focus {
    box-shadow: 0 0 0 3px rgba(47, 103, 154, 0.12);
    outline: none;
}

.invoice-status-select option {
    background: #ffffff;
    color: #16334f;
}

.invoice-status-select option[value="pendiente"] {
    color: #145f96;
}

.invoice-status-select option[value="generada"],
.invoice-status-select option[value="enviada"] {
    color: var(--success);
}

.invoice-status-select option[value="anulada"] {
    color: var(--danger);
}

@media (max-width: 1280px) {
    .invoice-search-row-clean {
        grid-template-columns: minmax(0, 1fr) repeat(3, minmax(116px, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .invoice-search-row-clean {
        grid-template-columns: 1fr !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .invoice-table-wrap,
    .invoice-board-modern.is-ajax-loading::after {
        animation: none !important;
    }
}

.manual-process-dialog {
    background: #f7fbff;
    max-width: 980px;
    overflow: hidden;
}

.manual-process-form-head {
    background:
        linear-gradient(135deg, rgba(11, 45, 75, 0.98), rgba(45, 122, 185, 0.95)),
        #1f679c;
    border-bottom: 0;
    color: #ffffff;
    padding: 22px 24px;
    position: relative;
}

.manual-process-form-head::after {
    background: rgba(255, 255, 255, 0.16);
    content: "";
    height: 150%;
    position: absolute;
    right: 118px;
    top: -25%;
    transform: rotate(28deg);
    width: 18px;
}

.manual-process-form-head .section-kicker {
    color: #ffd800;
}

.manual-process-form-head h2 {
    color: #ffffff;
}

.manual-process-form-head .icon-btn {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.36);
    color: #ffffff;
    position: relative;
    z-index: 1;
}

.manual-process-form {
    background:
        linear-gradient(180deg, #f7fbff 0%, #ffffff 62%),
        #ffffff;
    gap: 16px;
    padding: 18px 22px 20px;
}

.manual-process-form .planilla-form-section {
    background: rgba(255, 255, 255, 0.88);
    border-color: #cfe0ee;
    box-shadow: 0 14px 34px rgba(28, 61, 96, 0.05);
    padding: 16px;
}

.manual-process-form .form-section-title {
    color: #174a78;
}

.manual-process-form input[type="text"],
.manual-process-form .file-picker-field {
    background-color: #ffffff;
}

.manual-responsible-card {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(232, 244, 253, 0.98), rgba(255, 255, 255, 0.98)),
        #ffffff;
    border: 1px solid #cfe0ee;
    border-radius: 8px;
    box-shadow: 0 14px 30px rgba(28, 61, 96, 0.05);
    display: flex;
    gap: 12px;
    justify-content: flex-start;
    padding: 13px 15px;
    position: relative;
}

.manual-responsible-card::before {
    background: #ffd800;
    border-radius: 999px;
    content: "";
    height: 8px;
    left: 14px;
    position: absolute;
    top: 14px;
    width: 8px;
}

.manual-responsible-avatar {
    align-items: center;
    background: #eaf4fd;
    border: 1px solid #c6dff2;
    border-radius: 999px;
    color: var(--blue-800);
    display: inline-flex;
    flex: 0 0 46px;
    font-weight: 900;
    height: 46px;
    justify-content: center;
    margin-left: 12px;
    overflow: hidden;
    width: 46px;
}

.manual-responsible-avatar img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.manual-responsible-card small,
.manual-responsible-card strong,
.manual-responsible-card em {
    display: block;
}

.manual-responsible-card small {
    color: #526b84;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.manual-responsible-card strong {
    color: var(--blue-900);
    font-size: 16px;
    font-weight: 900;
    margin-top: 2px;
}

.manual-responsible-card em {
    color: #61758a;
    font-size: 12px;
    font-style: normal;
}

.manual-person-chip {
    align-items: center;
    display: inline-flex;
    gap: 10px;
    min-width: 0;
}

.manual-person-avatar {
    align-items: center;
    background: #eaf4fd;
    border: 1px solid #c6dff2;
    border-radius: 999px;
    color: var(--blue-800);
    display: inline-flex;
    flex: 0 0 42px;
    font-size: 13px;
    font-weight: 900;
    height: 42px;
    justify-content: center;
    overflow: hidden;
    width: 42px;
}

.manual-person-avatar img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.manual-person-chip small,
.manual-person-chip strong,
.manual-person-chip em {
    display: block;
}

.manual-person-chip small {
    color: #526b84;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.manual-person-chip strong {
    color: #092947;
    font-weight: 900;
    line-height: 1.15;
}

.manual-person-chip em {
    color: #61758a;
    font-size: 12px;
    font-style: normal;
    margin-top: 2px;
}

.manual-person-chip.is-compact .manual-person-avatar {
    flex-basis: 34px;
    height: 34px;
    width: 34px;
}

.manual-person-chip.is-compact strong {
    font-size: 13px;
}

.manual-rich-editor-field {
    display: grid;
    gap: 7px;
    margin-top: 8px;
}

.manual-rich-editor-field .field-label {
    color: #34495e;
    font-weight: 700;
}

.manual-rich-editor {
    background: #ffffff;
    border: 1px solid #c7dbec;
    border-radius: 8px;
    box-shadow: 0 16px 32px rgba(28, 61, 96, 0.06), 0 0 0 3px rgba(43, 105, 160, 0.04);
    overflow: hidden;
}

.manual-rich-toolbar {
    align-items: center;
    background:
        linear-gradient(180deg, #f7fbff 0%, #eef6fd 100%),
        #f3f8fd;
    border-bottom: 1px solid #cfe0ee;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 8px;
}

.manual-rich-toolbar button {
    align-items: center;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 7px;
    color: #174a78;
    cursor: pointer;
    display: inline-flex;
    font-size: 13px;
    font-weight: 850;
    height: 32px;
    justify-content: center;
    min-width: 32px;
    padding: 0 8px;
}

.manual-rich-toolbar button:hover,
.manual-rich-toolbar button:focus-visible {
    background: #e6f1fb;
    border-color: #bdd8ee;
    outline: none;
}

.manual-rich-toolbar .button-icon {
    height: 16px;
    width: 16px;
}

.manual-rich-divider {
    background: #cfe0ee;
    display: inline-block;
    height: 24px;
    margin: 0 4px;
    width: 1px;
}

.manual-rich-area {
    color: #142d46;
    font-size: 14px;
    line-height: 1.58;
    min-height: 320px;
    outline: none;
    overflow: auto;
    padding: 18px 20px;
}

.manual-rich-area:empty::before {
    color: #758aa0;
    content: attr(data-placeholder);
}

.manual-rich-area:focus {
    box-shadow: inset 0 0 0 2px rgba(43, 105, 160, 0.18);
}

.manual-rich-area.has-error {
    box-shadow: inset 0 0 0 2px rgba(204, 59, 51, 0.28);
}

.manual-rich-area p,
.manual-rich-output p {
    margin: 0 0 10px;
}

.manual-rich-area ul,
.manual-rich-area ol,
.manual-rich-output ul,
.manual-rich-output ol {
    margin: 6px 0 10px 22px;
    padding: 0;
}

.manual-rich-area table,
.manual-rich-output table {
    border-collapse: collapse;
    margin: 8px 0 10px;
    width: 100%;
}

.manual-rich-area th,
.manual-rich-area td,
.manual-rich-output th,
.manual-rich-output td {
    border: 1px solid #cfe0ee;
    padding: 6px 8px;
}

.manual-process-board {
    background: transparent;
    border: 0;
    box-shadow: none;
    display: grid;
    gap: 12px;
    overflow: visible;
    padding: 0;
}

.manual-process-search-row-clean {
    animation: tasksBoardEnter 0.32s ease-out both;
    background: #ffffff !important;
    border: 1px solid #d5e4f0 !important;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(28, 61, 96, 0.05);
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: minmax(360px, 1fr) minmax(104px, 118px) minmax(88px, 104px) 42px !important;
    margin: 0 !important;
    overflow: visible !important;
    padding: 14px !important;
}

.manual-process-search-row-clean label {
    color: #143a5c;
    display: grid;
    font-size: 12px;
    font-weight: 800;
    gap: 6px;
    margin: 0;
    min-width: 0;
    text-transform: none;
}

.manual-process-search-row-clean input[type="search"] {
    background-color: #ffffff;
    border: 1px solid #cfe0ee;
    border-radius: 8px;
    box-shadow: none;
    color: #0b2740;
    font-weight: 700;
    height: 40px;
    min-width: 0;
    padding: 0 12px;
    width: 100%;
}

.manual-process-search-row-clean .btn {
    align-items: center !important;
    align-self: end;
    border-radius: 8px;
    display: inline-flex !important;
    font-size: 13px;
    font-weight: 850;
    height: 40px;
    justify-content: center !important;
    line-height: 1;
    margin: 0;
    max-width: none !important;
    min-width: 0 !important;
    overflow: visible !important;
    padding: 0 14px !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
    width: 100% !important;
}

.manual-process-search-row-clean .manual-process-search-clear {
    background: #ffffff;
    border-color: #cfe0ee;
    color: #174a78;
}

.manual-process-search-row-clean .manual-process-search-add {
    background: #235f93 !important;
    border-color: #235f93 !important;
    color: #ffffff !important;
    gap: 0;
    padding: 0 !important;
    text-decoration: none !important;
}

.manual-process-search-row-clean .manual-process-search-add span {
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.manual-process-search-row-clean .manual-process-search-add .button-icon {
    height: 18px;
    width: 18px;
}

.manual-process-table-wrap {
    animation: tasksBoardEnter 0.34s ease-out 0.06s both;
    background: #ffffff;
    border: 1px solid #d5e4f0;
    border-radius: 8px;
    box-shadow: 0 16px 38px rgba(28, 61, 96, 0.06);
    overflow: auto;
}

.manual-process-table.data-table {
    border: 0;
}

.manual-process-table.data-table thead th {
    background: #f3f8fd;
    color: #173f63;
    font-size: 11px;
    letter-spacing: 0;
    position: sticky;
    text-transform: uppercase;
    top: 0;
    z-index: 1;
}

.manual-process-table.data-table tbody tr {
    transition: background 0.16s ease, box-shadow 0.16s ease;
}

.manual-process-table.data-table tbody tr:hover {
    background: #f8fbff;
    box-shadow: inset 3px 0 0 var(--blue-800);
}

.manual-view-button {
    align-items: center;
    background: #eef7ff;
    border: 1px solid #bdd8ee;
    border-radius: 8px;
    color: var(--blue-800);
    display: inline-flex;
    font-size: 12px;
    font-weight: 850;
    gap: 7px;
    min-height: 34px;
    padding: 7px 10px;
    text-decoration: none;
    white-space: nowrap;
}

.manual-view-button:hover {
    background: #e4f1fb;
    border-color: #8bbce4;
    color: var(--blue-900);
    text-decoration: none;
}

.manual-view-button .button-icon {
    height: 16px;
    width: 16px;
}

.manual-process-view-dialog {
    background: #f7fbff;
    max-width: 980px;
    overflow: hidden;
}

.manual-process-view-head {
    background:
        linear-gradient(135deg, rgba(11, 45, 75, 0.97), rgba(45, 122, 185, 0.94)),
        #1f679c;
    border-bottom: 0;
    color: #ffffff;
    margin: 0;
    padding: 22px 24px;
    position: relative;
}

.manual-process-view-head::after {
    background: rgba(255, 255, 255, 0.16);
    content: "";
    height: 150%;
    position: absolute;
    right: 128px;
    top: -25%;
    transform: rotate(28deg);
    width: 18px;
}

.manual-process-view-head .section-kicker {
    color: #ffd800;
}

.manual-process-view-head h2 {
    color: #ffffff;
    max-width: 720px;
}

.manual-process-view-head .icon-btn {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.36);
    color: #ffffff;
    position: relative;
    z-index: 1;
}

.manual-process-view-meta {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(232, 244, 253, 0.96), rgba(255, 255, 255, 0.98)),
        #ffffff;
    border: 0;
    border-bottom: 1px solid #cfe0ee;
    border-radius: 0;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin-bottom: 0;
    padding: 14px 24px;
}

.manual-process-view-person {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid #d9e8f4;
    border-radius: 8px;
    padding: 10px 12px;
}

.manual-process-view-avatar {
    flex-basis: 48px;
    height: 48px;
    width: 48px;
}

.manual-process-view-date {
    background: #ffffff;
    border: 1px solid #d8e7f4;
    border-radius: 8px;
    min-width: 178px;
    padding: 10px 12px;
}

.manual-process-view-date small,
.manual-process-view-date strong {
    display: block;
}

.manual-process-view-date small {
    color: #526b84;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.manual-process-view-date strong {
    color: #092947;
    font-size: 13px;
    margin-top: 2px;
}

.manual-process-document-shell {
    background:
        linear-gradient(180deg, #f7fbff 0%, #ffffff 100%),
        #ffffff;
    padding: 18px 24px 0;
}

.manual-process-document-label {
    align-items: center;
    color: #174a78;
    display: flex;
    font-size: 11px;
    font-weight: 900;
    gap: 8px;
    letter-spacing: 0;
    margin: 0 0 10px;
    text-transform: uppercase;
}

.manual-process-document-label::before {
    background: #ffd800;
    border-radius: 999px;
    content: "";
    flex: 0 0 8px;
    height: 8px;
    width: 8px;
}

.manual-process-view-content {
    background: #ffffff;
    border: 1px solid #d5e4f0;
    border-radius: 8px;
    box-shadow: 0 18px 42px rgba(27, 62, 98, 0.08);
    color: #142d46;
    line-height: 1.6;
    max-height: min(56vh, 620px);
    overflow: auto;
    padding: 28px 32px;
}

.manual-process-view-content > :first-child {
    margin-top: 0;
}

.manual-process-view-content h2,
.manual-process-view-content h3,
.manual-process-view-content h4 {
    color: #082743;
    line-height: 1.18;
    margin: 14px 0 10px;
}

.manual-process-view-content p {
    margin: 0 0 12px;
}

.manual-process-view-content ul,
.manual-process-view-content ol {
    margin: 8px 0 12px 22px;
    padding: 0;
}

.manual-process-view-content table {
    border-collapse: collapse;
    margin: 10px 0 12px;
    width: 100%;
}

.manual-process-view-content th,
.manual-process-view-content td {
    border: 1px solid #cfe0ee;
    padding: 7px 9px;
}

.manual-process-view-content a {
    color: var(--blue-800);
    font-weight: 800;
}

.manual-process-view-actions {
    background: #f7fbff;
    border-top: 1px solid #dce9f4;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
    margin-top: 18px;
    padding: 14px 24px 16px;
}

.manual-process-pdf-button {
    background: #eef8f3;
    border-color: #afe0c8;
    color: #0d7653;
}

.manual-process-pdf-button:hover {
    background: #ddf4e9;
    border-color: #7fceb0;
    color: #095f43;
}

.manual-rich-output {
    color: #1c344c;
    line-height: 1.48;
    max-height: 150px;
    max-width: 560px;
    overflow: auto;
}

.manual-process-empty {
    padding: 34px 18px !important;
    text-align: center;
}

.manual-process-empty strong,
.manual-process-empty small {
    display: block;
}

.manual-process-empty strong {
    color: var(--blue-900);
    font-size: 16px;
}

.manual-process-empty small {
    color: #61758a;
    margin-top: 5px;
}

@media (max-width: 900px) {
    .manual-process-search-row-clean {
        grid-template-columns: minmax(0, 1fr) repeat(3, minmax(88px, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .manual-process-dialog {
        max-width: calc(100vw - 24px);
    }

    .manual-rich-area {
        min-height: 340px;
    }

    .manual-process-search-row-clean {
        grid-template-columns: 1fr !important;
    }

    .manual-process-search-row-clean .manual-process-search-add span {
        height: auto;
        overflow: visible;
        position: static;
        width: auto;
    }

    .manual-process-search-row-clean .manual-process-search-add {
        gap: 7px;
    }

    .manual-process-view-meta {
        align-items: stretch;
        flex-direction: column;
    }

    .manual-process-view-date {
        min-width: 0;
    }

    .manual-process-view-head,
    .manual-process-view-meta,
    .manual-process-document-shell,
    .manual-process-view-actions {
        padding-left: 16px;
        padding-right: 16px;
    }

    .manual-process-view-content {
        padding: 22px 18px;
    }
}

form.supplies-search-row,
form.supplies-search-row.global-search-actions,
.printer-maintenance-search.action-search-row.supplies-search-row,
.printer-maintenance-search.action-search-row.supplies-search-row.global-search-actions {
    grid-template-columns: minmax(320px, 1fr) minmax(128px, 160px) minmax(118px, 126px) 42px 42px;
}

form.supplies-search-row .btn-action-search,
.printer-maintenance-search.action-search-row.supplies-search-row .btn-action-search {
    min-width: 118px;
    width: 100%;
}

form.supplies-search-row .btn-action-clear,
form.supplies-search-row .btn-action-add,
.printer-maintenance-search.action-search-row.supplies-search-row .btn-action-clear,
.printer-maintenance-search.action-search-row.supplies-search-row .btn-action-add {
    max-width: 42px;
    min-width: 42px;
    width: 42px;
}

@media (max-width: 780px) {
    form.supplies-search-row,
    form.supplies-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.supplies-search-row,
    .printer-maintenance-search.action-search-row.supplies-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) minmax(128px, 1fr);
    }

    form.supplies-search-row .btn-action-search,
    .printer-maintenance-search.action-search-row.supplies-search-row .btn-action-search {
        grid-column: 1 / -1;
        max-width: none;
    }

    form.supplies-search-row .btn-action-clear,
    form.supplies-search-row .btn-action-add,
    .printer-maintenance-search.action-search-row.supplies-search-row .btn-action-clear,
    .printer-maintenance-search.action-search-row.supplies-search-row .btn-action-add {
        max-width: none;
        width: 100%;
    }
}

@media (max-width: 640px) {
    form.supplies-search-row,
    form.supplies-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.supplies-search-row,
    .printer-maintenance-search.action-search-row.supplies-search-row.global-search-actions {
        grid-template-columns: 1fr;
    }
}

form.resmas-search-row,
form.resmas-search-row.global-search-actions,
.printer-maintenance-search.action-search-row.resmas-search-row,
.printer-maintenance-search.action-search-row.resmas-search-row.global-search-actions {
    grid-template-columns: minmax(210px, 1fr) repeat(5, minmax(92px, 130px)) minmax(128px, 154px) minmax(104px, 118px) 42px 42px;
}

form.resmas-search-row .resma-inline-check,
.printer-maintenance-search.action-search-row.resmas-search-row .resma-inline-check {
    align-self: end;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 10px;
    border: 1px solid #c8dcf0;
    border-radius: 8px;
    background: #fff;
    color: #0b3764;
    font-size: 12px;
    line-height: 1.2;
    text-transform: none;
}

form.resmas-search-row .resma-inline-check input,
.printer-maintenance-search.action-search-row.resmas-search-row .resma-inline-check input {
    width: 16px;
    height: 16px;
    margin: 0;
}

form.resmas-search-row .btn-action-search,
.printer-maintenance-search.action-search-row.resmas-search-row .btn-action-search {
    min-width: 104px;
    width: 100%;
}

form.resmas-search-row .btn-action-clear,
form.resmas-search-row .btn-action-add,
.printer-maintenance-search.action-search-row.resmas-search-row .btn-action-clear,
.printer-maintenance-search.action-search-row.resmas-search-row .btn-action-add {
    max-width: 42px;
    min-width: 42px;
    width: 42px;
}

@media (max-width: 1360px) {
    form.resmas-search-row,
    form.resmas-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.resmas-search-row,
    .printer-maintenance-search.action-search-row.resmas-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(5, minmax(88px, 1fr)) minmax(128px, 1fr) minmax(104px, 118px) 42px 42px;
    }

    form.resmas-search-row .btn-action-search,
    .printer-maintenance-search.action-search-row.resmas-search-row .btn-action-search {
        grid-column: auto;
        max-width: none;
    }

    form.resmas-search-row .btn-action-clear,
    form.resmas-search-row .btn-action-add,
    .printer-maintenance-search.action-search-row.resmas-search-row .btn-action-clear,
    .printer-maintenance-search.action-search-row.resmas-search-row .btn-action-add {
        max-width: none;
        width: 100%;
    }
}

@media (max-width: 900px) {
    form.resmas-search-row,
    form.resmas-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.resmas-search-row,
    .printer-maintenance-search.action-search-row.resmas-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(2, minmax(96px, 1fr));
    }

    form.resmas-search-row .btn-action-search,
    .printer-maintenance-search.action-search-row.resmas-search-row .btn-action-search {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    form.resmas-search-row,
    form.resmas-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.resmas-search-row,
    .printer-maintenance-search.action-search-row.resmas-search-row.global-search-actions {
        grid-template-columns: 1fr;
    }
}

form.diplomas-search-row,
form.diplomas-search-row.global-search-actions,
.printer-maintenance-search.action-search-row.diplomas-search-row,
.printer-maintenance-search.action-search-row.diplomas-search-row.global-search-actions {
    grid-template-columns: minmax(260px, 1fr) repeat(3, minmax(106px, 142px)) minmax(128px, 154px) minmax(104px, 118px) 42px 42px;
}

form.diplomas-search-row .resma-inline-check,
.printer-maintenance-search.action-search-row.diplomas-search-row .resma-inline-check {
    align-self: end;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 10px;
    border: 1px solid #c8dcf0;
    border-radius: 8px;
    background: #fff;
    color: #0b3764;
    font-size: 12px;
    line-height: 1.2;
    text-transform: none;
}

form.diplomas-search-row .resma-inline-check input,
.printer-maintenance-search.action-search-row.diplomas-search-row .resma-inline-check input {
    width: 16px;
    height: 16px;
    margin: 0;
}

form.diplomas-search-row .btn-action-search,
.printer-maintenance-search.action-search-row.diplomas-search-row .btn-action-search {
    min-width: 104px;
    width: 100%;
}

form.diplomas-search-row .btn-action-clear,
form.diplomas-search-row .btn-action-add,
.printer-maintenance-search.action-search-row.diplomas-search-row .btn-action-clear,
.printer-maintenance-search.action-search-row.diplomas-search-row .btn-action-add {
    max-width: 42px;
    min-width: 42px;
    width: 42px;
}

@media (max-width: 1120px) {
    form.diplomas-search-row,
    form.diplomas-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.diplomas-search-row,
    .printer-maintenance-search.action-search-row.diplomas-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(3, minmax(96px, 1fr)) minmax(128px, 1fr) minmax(104px, 118px) 42px 42px;
    }
}

@media (max-width: 900px) {
    form.diplomas-search-row,
    form.diplomas-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.diplomas-search-row,
    .printer-maintenance-search.action-search-row.diplomas-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(2, minmax(96px, 1fr));
    }

    form.diplomas-search-row .btn-action-search,
    .printer-maintenance-search.action-search-row.diplomas-search-row .btn-action-search {
        grid-column: 1 / -1;
        max-width: none;
    }

    form.diplomas-search-row .btn-action-clear,
    form.diplomas-search-row .btn-action-add,
    .printer-maintenance-search.action-search-row.diplomas-search-row .btn-action-clear,
    .printer-maintenance-search.action-search-row.diplomas-search-row .btn-action-add {
        max-width: none;
        width: 100%;
    }
}

@media (max-width: 640px) {
    form.diplomas-search-row,
    form.diplomas-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.diplomas-search-row,
    .printer-maintenance-search.action-search-row.diplomas-search-row.global-search-actions {
        grid-template-columns: 1fr;
    }
}

form.calls-inline-search,
form.calls-inline-search.global-search-actions,
.printer-maintenance-search.calls-inline-search,
.printer-maintenance-search.calls-inline-search.global-search-actions {
    grid-template-columns: minmax(280px, 1fr) repeat(2, minmax(118px, 150px)) minmax(118px, 126px) 42px 42px;
}

form.calls-inline-search .btn-action-search,
.printer-maintenance-search.calls-inline-search .btn-action-search {
    min-width: 118px;
    width: 100%;
}

form.calls-inline-search .btn-action-clear,
form.calls-inline-search .btn-action-add,
.printer-maintenance-search.calls-inline-search .btn-action-clear,
.printer-maintenance-search.calls-inline-search .btn-action-add {
    max-width: 42px;
    min-width: 42px;
    width: 42px;
}

@media (max-width: 1080px) {
    form.calls-inline-search,
    form.calls-inline-search.global-search-actions,
    .printer-maintenance-search.calls-inline-search,
    .printer-maintenance-search.calls-inline-search.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(2, minmax(108px, 1fr)) minmax(112px, 126px) 42px 42px;
    }
}

@media (max-width: 640px) {
    form.calls-inline-search,
    form.calls-inline-search.global-search-actions,
    .printer-maintenance-search.calls-inline-search,
    .printer-maintenance-search.calls-inline-search.global-search-actions {
        grid-template-columns: 1fr;
    }

    form.calls-inline-search .btn-action-search,
    form.calls-inline-search .btn-action-clear,
    form.calls-inline-search .btn-action-add,
    .printer-maintenance-search.calls-inline-search .btn-action-search,
    .printer-maintenance-search.calls-inline-search .btn-action-clear,
    .printer-maintenance-search.calls-inline-search .btn-action-add {
        max-width: none;
        width: 100%;
    }
}

.legacy-visit-select-filters {
    display: none !important;
}

form.visits-search-row,
form.visits-search-row.global-search-actions,
.printer-maintenance-search.action-search-row.visits-search-row,
.printer-maintenance-search.action-search-row.visits-search-row.global-search-actions {
    grid-template-columns: minmax(280px, 1fr) repeat(2, minmax(118px, 150px)) minmax(118px, 126px) 42px 42px;
}

form.visits-search-row .btn-action-search,
.printer-maintenance-search.action-search-row.visits-search-row .btn-action-search {
    min-width: 118px;
    width: 100%;
}

form.visits-search-row .btn-action-clear,
form.visits-search-row .btn-action-add,
.printer-maintenance-search.action-search-row.visits-search-row .btn-action-clear,
.printer-maintenance-search.action-search-row.visits-search-row .btn-action-add {
    max-width: 42px;
    min-width: 42px;
    width: 42px;
}

@media (max-width: 1080px) {
    form.visits-search-row,
    form.visits-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.visits-search-row,
    .printer-maintenance-search.action-search-row.visits-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(2, minmax(108px, 1fr)) minmax(112px, 126px) 42px 42px;
    }
}

@media (max-width: 640px) {
    form.visits-search-row,
    form.visits-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.visits-search-row,
    .printer-maintenance-search.action-search-row.visits-search-row.global-search-actions {
        grid-template-columns: 1fr;
    }

    form.visits-search-row .btn-action-search,
    form.visits-search-row .btn-action-clear,
    form.visits-search-row .btn-action-add,
    .printer-maintenance-search.action-search-row.visits-search-row .btn-action-search,
    .printer-maintenance-search.action-search-row.visits-search-row .btn-action-clear,
    .printer-maintenance-search.action-search-row.visits-search-row .btn-action-add {
        max-width: none;
        width: 100%;
    }
}

.legacy-cases-filter-panel {
    display: none !important;
}

form.cases-search-row,
form.cases-search-row.global-search-actions,
.printer-maintenance-search.action-search-row.cases-search-row,
.printer-maintenance-search.action-search-row.cases-search-row.global-search-actions {
    grid-template-columns: minmax(280px, 1fr) minmax(118px, 150px) minmax(118px, 126px) 42px 42px;
}

form.cases-search-row .btn-action-search,
.printer-maintenance-search.action-search-row.cases-search-row .btn-action-search {
    min-width: 118px;
    width: 100%;
}

form.cases-search-row .btn-action-clear,
form.cases-search-row .btn-action-add,
.printer-maintenance-search.action-search-row.cases-search-row .btn-action-clear,
.printer-maintenance-search.action-search-row.cases-search-row .btn-action-add {
    max-width: 42px;
    min-width: 42px;
    width: 42px;
}

@media (max-width: 900px) {
    form.cases-search-row,
    form.cases-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.cases-search-row,
    .printer-maintenance-search.action-search-row.cases-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) minmax(118px, 150px) minmax(118px, 126px) 42px 42px;
    }
}

@media (max-width: 640px) {
    form.cases-search-row,
    form.cases-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.cases-search-row,
    .printer-maintenance-search.action-search-row.cases-search-row.global-search-actions {
        grid-template-columns: 1fr;
    }

    form.cases-search-row .btn-action-search,
    form.cases-search-row .btn-action-clear,
    form.cases-search-row .btn-action-add,
    .printer-maintenance-search.action-search-row.cases-search-row .btn-action-search,
    .printer-maintenance-search.action-search-row.cases-search-row .btn-action-clear,
    .printer-maintenance-search.action-search-row.cases-search-row .btn-action-add {
        max-width: none;
        width: 100%;
    }
}

.legacy-closures-filter-form {
    display: none !important;
}

form.closures-search-row,
form.closures-search-row.global-search-actions,
.printer-maintenance-search.action-search-row.closures-search-row,
.printer-maintenance-search.action-search-row.closures-search-row.global-search-actions {
    grid-template-columns: minmax(280px, 1fr) repeat(2, minmax(118px, 150px)) minmax(118px, 126px) 42px 42px;
}

form.closures-search-row .btn-action-search,
.printer-maintenance-search.action-search-row.closures-search-row .btn-action-search {
    min-width: 118px;
    width: 100%;
}

form.closures-search-row .btn-action-clear,
form.closures-search-row .btn-action-add,
.printer-maintenance-search.action-search-row.closures-search-row .btn-action-clear,
.printer-maintenance-search.action-search-row.closures-search-row .btn-action-add {
    max-width: 42px;
    min-width: 42px;
    width: 42px;
}

@media (max-width: 1080px) {
    form.closures-search-row,
    form.closures-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.closures-search-row,
    .printer-maintenance-search.action-search-row.closures-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(2, minmax(108px, 1fr)) minmax(112px, 126px) 42px 42px;
    }
}

@media (max-width: 640px) {
    form.closures-search-row,
    form.closures-search-row.global-search-actions,
    .printer-maintenance-search.action-search-row.closures-search-row,
    .printer-maintenance-search.action-search-row.closures-search-row.global-search-actions {
        grid-template-columns: 1fr;
    }

    form.closures-search-row .btn-action-search,
    form.closures-search-row .btn-action-clear,
    form.closures-search-row .btn-action-add,
    .printer-maintenance-search.action-search-row.closures-search-row .btn-action-search,
    .printer-maintenance-search.action-search-row.closures-search-row .btn-action-clear,
    .printer-maintenance-search.action-search-row.closures-search-row .btn-action-add {
        max-width: none;
        width: 100%;
    }
}

/* Barras dentro de paneles sueltos: evita que filtros y acciones se corten al cambiar el zoom. */
.single-board-layout > .panel > form.global-search-actions,
.single-board-layout > .panel > .printer-maintenance-search.global-search-actions,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    overflow: visible;
}

.single-board-layout > .panel > form.global-search-actions > label:first-of-type,
.single-board-layout > .panel > form.global-search-actions > label:has(input[type="search"]),
.single-board-layout > .panel > .printer-maintenance-search.global-search-actions > label:first-of-type,
.single-board-layout > .panel > .printer-maintenance-search.global-search-actions > label:has(input[type="search"]),
.single-board-layout > .panel > .printer-maintenance-search.action-search-row > label:first-of-type,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row > label:has(input[type="search"]) {
    flex: 1 1 520px;
    min-width: min(360px, 100%);
}

.single-board-layout > .panel > form.global-search-actions > .global-inline-filter,
.single-board-layout > .panel > form.global-search-actions > label:has(select),
.single-board-layout > .panel > .printer-maintenance-search.global-search-actions > .global-inline-filter,
.single-board-layout > .panel > .printer-maintenance-search.global-search-actions > label:has(select),
.single-board-layout > .panel > .printer-maintenance-search.action-search-row > .global-inline-filter,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row > label:has(select) {
    flex: 0 1 136px;
    min-width: 112px;
}

.single-board-layout > .panel > form.global-search-actions > .btn-action-search,
.single-board-layout > .panel > .printer-maintenance-search.global-search-actions > .btn-action-search,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row > .btn-action-search {
    flex: 0 0 118px;
    max-width: 118px;
}

.single-board-layout > .panel > form.evals-search-actions > .evals-export-btn {
    flex: 0 0 108px;
    max-width: 108px;
    width: 108px;
}

.single-board-layout > .panel > form.global-search-actions > .btn-action-clear,
.single-board-layout > .panel > form.global-search-actions > .btn-action-add,
.single-board-layout > .panel > form.global-search-actions > .btn-icon-only,
.single-board-layout > .panel > .printer-maintenance-search.global-search-actions > .btn-action-clear,
.single-board-layout > .panel > .printer-maintenance-search.global-search-actions > .btn-action-add,
.single-board-layout > .panel > .printer-maintenance-search.global-search-actions > .btn-icon-only,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row > .btn-action-clear,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row > .btn-action-add,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row > .btn-icon-only {
    flex: 0 0 42px;
    max-width: 42px;
    min-width: 42px;
    width: 42px;
}

@media (max-width: 760px) {
    .single-board-layout > .panel > form.global-search-actions,
    .single-board-layout > .panel > .printer-maintenance-search.global-search-actions,
    .single-board-layout > .panel > .printer-maintenance-search.action-search-row {
        display: grid;
        grid-template-columns: 1fr;
    }

    .single-board-layout > .panel > form.global-search-actions > .btn-action-search,
    .single-board-layout > .panel > form.global-search-actions > .btn-action-clear,
    .single-board-layout > .panel > form.global-search-actions > .btn-action-add,
    .single-board-layout > .panel > form.global-search-actions > .btn-icon-only,
    .single-board-layout > .panel > .printer-maintenance-search.global-search-actions > .btn-action-search,
    .single-board-layout > .panel > .printer-maintenance-search.global-search-actions > .btn-action-clear,
    .single-board-layout > .panel > .printer-maintenance-search.global-search-actions > .btn-action-add,
    .single-board-layout > .panel > .printer-maintenance-search.global-search-actions > .btn-icon-only,
    .single-board-layout > .panel > .printer-maintenance-search.action-search-row > .btn-action-search,
    .single-board-layout > .panel > .printer-maintenance-search.action-search-row > .btn-action-clear,
    .single-board-layout > .panel > .printer-maintenance-search.action-search-row > .btn-action-add,
    .single-board-layout > .panel > .printer-maintenance-search.action-search-row > .btn-icon-only {
        max-width: none;
        width: 100%;
    }

    .single-board-layout > .panel > form.evals-search-actions > .evals-export-btn {
        flex: 1 1 auto;
        max-width: none;
        width: 100%;
    }
}

.single-board-layout > .panel > .printer-maintenance-search.action-search-row.webind-search-row,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row.webind-search-row.global-search-actions {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(360px, 1fr) repeat(4, minmax(108px, 136px)) minmax(112px, 126px) 42px 42px;
    overflow: visible;
}

.single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-search-row,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-search-row.global-search-actions {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(360px, 1fr) minmax(112px, 136px) repeat(4, minmax(108px, 136px)) minmax(112px, 126px) 42px 42px;
    overflow: visible;
}

.single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-search-row > label:first-of-type,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-search-row > label:has(input[type="search"]),
.single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-search-row > label:has(select) {
    flex: initial;
    min-width: 0;
}

.single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-search-row > .btn-action-search {
    flex: initial;
    max-width: none;
    min-width: 112px;
    width: 100%;
}

.single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-search-row > .btn-action-clear,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-search-row > .btn-action-add,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-search-row > .btn-icon-only {
    flex: initial;
    max-width: 42px;
    min-width: 42px;
    width: 42px;
}

.single-board-layout > .panel > .printer-maintenance-search.action-search-row.webind-search-row > label:first-of-type,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row.webind-search-row > label:has(input[type="search"]),
.single-board-layout > .panel > .printer-maintenance-search.action-search-row.webind-search-row > label:has(select) {
    flex: initial;
    min-width: 0;
}

.single-board-layout > .panel > .printer-maintenance-search.action-search-row.webind-search-row > .btn-action-search {
    flex: initial;
    max-width: none;
    min-width: 112px;
    width: 100%;
}

.single-board-layout > .panel > .printer-maintenance-search.action-search-row.webind-search-row > .btn-action-clear,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row.webind-search-row > .btn-action-add,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row.webind-search-row > .btn-icon-only {
    flex: initial;
    max-width: 42px;
    min-width: 42px;
    width: 42px;
}

@media (max-width: 1180px) {
    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-search-row,
    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-search-row.global-search-actions {
        grid-template-columns: minmax(260px, 1fr) repeat(5, minmax(104px, 1fr)) minmax(112px, 126px) 42px 42px;
    }

    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-search-row > label:first-of-type,
    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-search-row > label:has(input[type="search"]) {
        grid-column: 1 / -1;
    }

    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.webind-search-row,
    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.webind-search-row.global-search-actions {
        grid-template-columns: minmax(260px, 1fr) repeat(4, minmax(104px, 1fr)) minmax(112px, 126px) 42px 42px;
    }

    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.webind-search-row > label:first-of-type,
    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.webind-search-row > label:has(input[type="search"]) {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-search-row,
    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-search-row.global-search-actions {
        grid-template-columns: 1fr;
    }

    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-search-row > .btn-action-search,
    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-search-row > .btn-action-clear,
    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-search-row > .btn-action-add,
    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-search-row > .btn-icon-only {
        max-width: none;
        width: 100%;
    }

    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.webind-search-row,
    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.webind-search-row.global-search-actions {
        grid-template-columns: 1fr;
    }

    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.webind-search-row > .btn-action-search,
    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.webind-search-row > .btn-action-clear,
    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.webind-search-row > .btn-action-add,
    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.webind-search-row > .btn-icon-only {
        max-width: none;
        width: 100%;
    }
}

.hours-control-panel,
.hours-detail-panel,
.hours-import-history {
    border-color: #cfe0ee;
    box-shadow: 0 12px 28px rgba(23, 65, 106, 0.06);
    overflow: hidden;
    padding: 0;
}

.hours-topline {
    align-items: center;
    background: linear-gradient(135deg, #ffffff 0%, #f6fbff 58%, #eef8f1 100%);
    border-bottom: 1px solid #d9e5ef;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding: 18px 20px;
}

.hours-topline-title,
.hours-section-title {
    align-items: center;
    display: flex;
    gap: 12px;
    min-width: 0;
}

.hours-topline-icon,
.hours-section-icon {
    align-items: center;
    background: #eaf4fc;
    border: 1px solid #bfd7eb;
    border-radius: 8px;
    color: #245f93;
    display: inline-flex;
    flex: 0 0 42px;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.hours-topline-icon-svg,
.hours-section-icon-svg {
    height: 22px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 22px;
}

.hours-topline strong,
.hours-section-head strong {
    color: #082946;
    display: block;
    font-size: 19px;
    font-weight: 900;
    line-height: 1.15;
}

.hours-topline-title > div > span,
.hours-section-head > span {
    color: #4c6177;
    display: block;
    font-size: 13px;
    margin-top: 3px;
}

.hours-section-head {
    align-items: center;
    background: #ffffff;
    border-bottom: 1px solid #d9e5ef;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    padding: 15px 18px;
}

.hours-export-btn,
.hours-export-btn.btn {
    background: #effaf3;
    border-color: #9bd6ae;
    color: #137333;
    flex: 0 0 auto;
    font-weight: 900;
}

.hours-export-btn:hover,
.hours-export-btn.btn:hover {
    background: #e2f5e9;
    border-color: #65bd80;
    color: #0f642b;
}

.hours-import-form {
    align-items: end;
    background: #ffffff;
    border-bottom: 1px solid #d9e5ef;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(280px, 1fr) minmax(188px, 220px);
    padding: 18px 20px 16px;
}

.hours-import-form .btn {
    height: 44px;
    margin: 0;
}

.hours-import-form .file-picker-control {
    background: #f8fbfe;
    border-radius: 8px;
}

.hours-import-form .file-picker-button {
    min-width: 176px;
}

.hours-import-submit {
    gap: 8px;
}

.hours-metrics {
    background: #f8fbfe;
    border-bottom: 1px solid #d9e5ef;
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 14px 20px;
}

.hours-metric-card {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d5e6f2;
    border-radius: 8px;
    display: flex;
    gap: 12px;
    min-height: 74px;
    padding: 12px 14px;
}

.hours-metric-card.has-alerts {
    background: #fffaf0;
    border-color: #f1cf82;
}

.hours-metric-icon {
    align-items: center;
    background: #edf6fc;
    border-radius: 8px;
    color: #2f6da3;
    display: inline-flex;
    flex: 0 0 38px;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.hours-metric-card.has-alerts .hours-metric-icon {
    background: #fff0c2;
    color: #9a6800;
}

.hours-metric-icon-svg {
    height: 20px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 20px;
}

.hours-metric-card strong {
    color: #082946;
    display: block;
    font-size: 22px;
    font-weight: 900;
    line-height: 1;
}

.hours-metric-card small {
    color: #54708a;
    display: block;
    font-size: 12px;
    font-weight: 800;
    margin-top: 6px;
}

.hours-search-row,
.hours-search-row.global-search-actions {
    background: #fbfdff;
    grid-template-columns: minmax(280px, 1fr) minmax(130px, 150px) minmax(130px, 150px) minmax(170px, 220px) minmax(104px, 118px) 42px;
    padding: 14px 20px;
}

.hours-table-wrap .data-table th:nth-child(4),
.hours-table-wrap .data-table td:nth-child(4),
.hours-table-wrap .data-table th:nth-child(5),
.hours-table-wrap .data-table td:nth-child(5) {
    white-space: nowrap;
}

.hours-mark-list {
    color: #143a5c;
    display: inline-block;
    font-weight: 800;
    line-height: 1.5;
}

@media (max-width: 1180px) {
    .hours-search-row,
    .hours-search-row.global-search-actions {
        display: flex;
        flex-wrap: wrap;
    }

    .hours-search-row > label:first-of-type,
    .hours-search-row > label:has(input[type="search"]) {
        flex: 1 1 420px;
        min-width: min(320px, 100%);
    }

    .hours-search-row > label:has(input[type="date"]),
    .hours-search-row > label:has(select) {
        flex: 0 1 150px;
        min-width: 128px;
    }

    .hours-search-row > .btn-action-search {
        flex: 0 0 118px;
    }

    .hours-search-row > .btn-action-clear,
    .hours-search-row > .btn-icon-only {
        flex: 0 0 42px;
    }
}

@media (max-width: 760px) {
    .hours-topline,
    .hours-section-head,
    .hours-import-form,
    .hours-search-row,
    .hours-search-row.global-search-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .hours-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hours-search-row > .btn-action-search,
    .hours-search-row > .btn-action-clear,
    .hours-search-row > .btn-icon-only {
        max-width: none;
        width: 100%;
    }
}

@media (max-width: 520px) {
    .hours-metrics {
        grid-template-columns: 1fr;
    }
}

/* Capa visual moderna para Horas empleados. */
.hours-dashboard-layout {
    gap: 18px;
}

.hours-dashboard-layout .panel {
    border-color: #c6dbea;
    box-shadow: 0 16px 34px rgba(28, 63, 99, 0.08);
}

.hours-control-panel {
    background: #ffffff;
}

.hours-topline {
    background:
        linear-gradient(135deg, rgba(47, 109, 163, 0.08), rgba(36, 145, 89, 0.1)),
        #ffffff;
    padding: 20px 22px;
}

.hours-topline-icon {
    background: #245f93;
    border-color: #245f93;
    box-shadow: 0 8px 18px rgba(36, 95, 147, 0.22);
    color: #ffffff;
}

.hours-topline strong {
    font-size: 20px;
}

.hours-export-btn,
.hours-export-btn.btn {
    align-items: center;
    border-radius: 8px;
    display: inline-flex;
    gap: 8px;
    height: 42px;
    justify-content: center;
    padding: 0 16px;
}

.hours-import-form {
    background: #fbfdff;
    grid-template-columns: minmax(360px, 1fr) minmax(220px, 240px);
    padding: 20px 22px;
}

.hours-upload-field {
    display: grid;
    gap: 8px;
}

.hours-upload-field .file-picker-control {
    background: linear-gradient(135deg, #f7fbff 0%, #fbfff7 100%);
    border: 1px dashed #a8cbe5;
    border-radius: 8px;
    min-height: 62px;
    padding: 8px;
}

.hours-upload-field .file-picker-button {
    border-radius: 8px;
    height: 42px;
}

.hours-upload-field .file-picker-name {
    color: #3a556d;
    font-weight: 800;
}

.hours-import-submit {
    align-items: center;
    border-radius: 8px;
    box-shadow: 0 10px 18px rgba(47, 109, 163, 0.16);
    display: inline-flex;
    justify-content: center;
    min-width: 210px;
}

.hours-metrics {
    background: #ffffff;
    gap: 14px;
    padding: 16px 22px;
}

.hours-metric-card {
    background: #f9fcff;
    border: 1px solid #d6e7f3;
    box-shadow: 0 8px 18px rgba(27, 69, 108, 0.06);
    min-height: 84px;
    overflow: hidden;
    padding: 16px;
    position: relative;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.hours-metric-card::before {
    background: #2f6da3;
    content: "";
    inset: 0 auto 0 0;
    position: absolute;
    width: 4px;
}

.hours-metric-card:nth-child(2)::before {
    background: #178957;
}

.hours-metric-card:nth-child(3)::before {
    background: #7b6bb7;
}

.hours-metric-card:nth-child(4)::before {
    background: #d39800;
}

.hours-metric-card.has-alerts {
    background: #fffaf0;
}

.hours-metric-icon {
    background: #e7f2fb;
    box-shadow: inset 0 0 0 1px #cae0f0;
    flex-basis: 44px;
    height: 44px;
    width: 44px;
}

.hours-metric-card strong {
    font-size: 25px;
}

.hours-search-row,
.hours-search-row.global-search-actions {
    background: #f7fafc;
    gap: 10px;
    padding: 16px 22px;
}

.hours-search-row label {
    color: #183c5e;
    font-size: 11px;
    letter-spacing: 0;
}

.hours-search-row input,
.hours-search-row select {
    background-color: #ffffff;
    border-color: #c8ddeb;
    height: 42px;
}

.hours-search-row .btn {
    height: 42px;
}

.hours-dashboard-layout .data-table th {
    background: #f2f7fb;
    color: #17415f;
    font-weight: 900;
}

.hours-dashboard-layout .data-table td {
    vertical-align: middle;
}

.hours-section-head {
    background:
        linear-gradient(135deg, rgba(47, 109, 163, 0.06), rgba(255, 255, 255, 0)),
        #ffffff;
    padding: 17px 20px;
}

.hours-section-icon {
    background: #eef7ff;
    color: #245f93;
}

.hours-mark-list {
    background: #eef6fc;
    border: 1px solid #d0e3f1;
    border-radius: 8px;
    padding: 6px 9px;
}

.hours-verified-count {
    align-items: center;
    background: #eef9f2;
    border: 1px solid #b7dec2;
    border-radius: 999px;
    color: #126b3f;
    display: inline-flex;
    font-weight: 900;
    justify-content: center;
    min-width: 58px;
    padding: 6px 10px;
}

.hours-verify-form {
    align-items: flex-start;
    display: grid;
    gap: 4px;
    justify-items: start;
}

.hours-verify-check {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d4e3ef;
    border-radius: 999px;
    color: #536b80;
    cursor: pointer;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    gap: 7px;
    line-height: 1;
    min-height: 34px;
    padding: 7px 11px;
    transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
    white-space: nowrap;
}

.hours-verify-check input {
    accent-color: #178957;
    height: 16px;
    margin: 0;
    width: 16px;
}

.hours-verify-check.is-verified {
    background: #eaf8f0;
    border-color: #9bd6ae;
    color: #137333;
}

.hours-verify-form small {
    color: #5d7489;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
}

.hours-observation-form {
    display: grid;
    gap: 6px;
    min-width: 190px;
}

.hours-observation-form textarea {
    background: #fbfdff;
    border: 1px solid #cfe1ef;
    border-radius: 8px;
    color: #143a5c;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    min-height: 48px;
    padding: 8px 10px;
    resize: vertical;
    width: 100%;
}

.hours-observation-form textarea:focus {
    border-color: #2f6da3;
    box-shadow: 0 0 0 3px rgba(47, 109, 163, 0.14);
    outline: none;
}

.hours-observation-status {
    color: #6a7f92;
    font-size: 11px;
    font-weight: 800;
    min-height: 14px;
}

.hours-observation-status[data-state="saving"],
.hours-observation-status[data-state="dirty"] {
    color: #8a6500;
}

.hours-observation-status[data-state="saved"] {
    color: #137333;
}

.hours-observation-status[data-state="error"] {
    color: #b42318;
}

@media (max-width: 1180px) {
    .hours-import-form {
        grid-template-columns: 1fr;
    }

    .hours-import-submit {
        width: 100%;
    }
}

/* Ajuste visual gerencial para Horas empleados. */
.hours-dashboard-layout {
    --hours-blue: #21639b;
    --hours-blue-dark: #123d63;
    --hours-green: #178957;
    --hours-gold: #d49a00;
    --hours-line: #cfe1ef;
}

.hours-dashboard-layout .panel {
    border: 1px solid var(--hours-line);
    border-radius: 8px;
    overflow: hidden;
}

.hours-control-panel {
    background:
        linear-gradient(180deg, rgba(33, 99, 155, 0.04), rgba(255, 255, 255, 0) 240px),
        #ffffff;
}

.hours-topline {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(33, 99, 155, 0.1), rgba(23, 137, 87, 0.08)),
        #f8fcff;
    border-bottom: 1px solid #d9e8f3;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    min-height: 96px;
}

.hours-topline-title {
    align-items: center;
    display: flex;
    gap: 14px;
    min-width: 0;
}

.hours-topline-title > div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.hours-kicker {
    color: #f1c40f;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1;
    text-transform: uppercase;
}

.hours-topline strong {
    color: #0f2f4f;
    font-size: 22px;
    line-height: 1.1;
}

.hours-topline-title > div > span:not(.hours-kicker),
.hours-section-head > span {
    color: #49677f;
}

.hours-topline-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.hours-range-pill {
    align-items: center;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid #cfe1ef;
    border-radius: 8px;
    color: #244b6d;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 7px;
    min-height: 38px;
    padding: 0 12px;
    white-space: nowrap;
}

.hours-pill-icon {
    height: 15px;
    width: 15px;
}

.hours-export-btn.btn {
    background: #effaf3;
    border-color: #b7dfc4;
    color: #126c3f;
    font-weight: 900;
}

.hours-export-btn.btn:hover {
    background: #e2f6ea;
}

.hours-import-form {
    align-items: stretch;
    background: #ffffff;
    border-bottom: 1px solid #d9e8f3;
    display: grid;
    gap: 14px;
}

.hours-upload-field .field-label {
    color: #2b4f6f;
    font-size: 12px;
    font-weight: 900;
}

.hours-upload-field .file-picker-control {
    background:
        linear-gradient(135deg, rgba(33, 99, 155, 0.06), rgba(23, 137, 87, 0.05)),
        #fbfdff;
    border-color: #9ec8e4;
    min-height: 76px;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.hours-upload-field.has-file .file-picker-control,
.hours-upload-field .file-picker-control:hover {
    border-color: #2f6da3;
    box-shadow: 0 10px 22px rgba(33, 99, 155, 0.08);
}

.hours-upload-field .file-picker-button,
.hours-import-submit {
    box-shadow: 0 10px 18px rgba(33, 99, 155, 0.16);
    font-weight: 900;
}

.hours-upload-field small {
    color: #5a7187;
    line-height: 1.45;
}

.hours-import-submit {
    align-self: end;
    min-height: 46px;
}

.hours-import-form {
    align-items: center;
    grid-template-columns: minmax(210px, 280px) minmax(320px, 1fr) minmax(190px, 220px);
}

.hours-upload-intro {
    align-self: center;
    display: grid;
    gap: 5px;
    min-width: 0;
}

.hours-upload-intro .field-label {
    color: #2b4f6f;
    font-size: 12px;
    font-weight: 900;
}

.hours-upload-intro small {
    color: #5a7187;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
}

.hours-upload-field {
    align-self: center;
}

.hours-upload-field .file-picker-control {
    background: #fbfdff;
    border: 1px solid #c8ddeb;
    border-radius: 8px;
    grid-template-columns: max-content minmax(0, 1fr);
    min-height: 48px;
    padding: 6px;
}

.hours-upload-field .file-picker-button {
    height: 36px;
    white-space: nowrap;
}

.hours-upload-field .file-picker-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hours-import-submit {
    align-self: center;
    min-height: 48px;
    width: 100%;
}

.hours-import-help {
    align-items: center;
    background: #f7fbff;
    border: 1px solid #dbeaf4;
    border-radius: 8px;
    color: #5d7388;
    display: flex;
    font-size: 12px;
    font-weight: 700;
    grid-column: 2 / -1;
    line-height: 1.35;
    min-height: 34px;
    padding: 8px 10px;
}

@media (max-width: 1180px) {
    .hours-import-form {
        grid-template-columns: 1fr;
    }

    .hours-import-help {
        grid-column: auto;
    }
}

.hours-metrics {
    background: #f7fbfe;
    border-bottom: 1px solid #d9e8f3;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.hours-metric-card {
    align-items: center;
    background: #ffffff;
    border-radius: 8px;
    display: flex;
    gap: 14px;
}

.hours-metric-card strong {
    color: #082642;
    display: block;
    line-height: 1.05;
}

.hours-metric-card small {
    color: #42617b;
    font-weight: 900;
}

.hours-metric-icon {
    align-items: center;
    border-radius: 8px;
    color: var(--hours-blue);
    display: inline-flex;
    flex: 0 0 44px;
    justify-content: center;
}

.hours-search-row,
.hours-search-row.global-search-actions {
    align-items: end;
    background: #ffffff;
    border-bottom: 1px solid #d9e8f3;
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(126px, 160px) minmax(126px, 160px) minmax(126px, 160px) minmax(138px, 180px) minmax(112px, 128px) 42px;
}

.hours-search-row label {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.hours-search-row input,
.hours-search-row select {
    border-radius: 8px;
    color: #082642;
    font-weight: 800;
}

.hours-search-row .btn-action-search {
    align-items: center;
    display: inline-flex;
    gap: 8px;
    justify-content: center;
    min-width: 112px;
}

.hours-search-row .btn-action-clear {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    padding: 0;
    width: 42px;
}

.hours-dashboard-layout .table-wrap {
    background: #ffffff;
}

.hours-dashboard-layout .data-table th {
    border-bottom: 1px solid #cfe1ef;
    font-size: 11px;
    height: 42px;
    letter-spacing: 0;
    text-transform: uppercase;
}

.hours-dashboard-layout .data-table td {
    border-bottom-color: #e1edf5;
}

.hours-dashboard-layout .data-table tbody tr:hover td {
    background: #f7fbff;
}

.hours-section-head {
    align-items: center;
    border-bottom: 1px solid #d9e8f3;
    display: flex;
    justify-content: space-between;
}

.hours-section-title {
    align-items: center;
    display: flex;
    gap: 10px;
}

.hours-section-title strong {
    color: #0f2f4f;
    font-size: 18px;
}

.hours-section-icon {
    align-items: center;
    border: 1px solid #c9e0f1;
    border-radius: 8px;
    display: inline-flex;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.hours-empty-cell {
    padding: 22px !important;
}

.hours-empty-state {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(33, 99, 155, 0.06), rgba(255, 255, 255, 0)),
        #fbfdff;
    border: 1px dashed #b8d5e9;
    border-radius: 8px;
    color: #42617b;
    display: grid;
    gap: 7px;
    justify-items: center;
    min-height: 112px;
    padding: 20px;
    text-align: center;
}

.hours-empty-state span {
    align-items: center;
    background: #eaf5fd;
    border: 1px solid #cbe2f2;
    border-radius: 8px;
    color: var(--hours-blue);
    display: inline-flex;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.hours-empty-state strong {
    color: #153a5c;
    font-size: 15px;
}

.hours-empty-state small {
    color: #5f778d;
    font-weight: 700;
}

.hours-empty-icon {
    height: 18px;
    width: 18px;
}

@media (max-width: 1280px) {
    .hours-search-row,
    .hours-search-row.global-search-actions {
        grid-template-columns: minmax(260px, 1fr) repeat(4, minmax(118px, 1fr)) minmax(112px, 128px) 42px;
    }
}

@media (max-width: 1080px) {
    .hours-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hours-search-row,
    .hours-search-row.global-search-actions {
        grid-template-columns: minmax(0, 1fr) repeat(2, minmax(118px, 1fr)) minmax(112px, 128px) 42px;
    }

    .hours-search-row label:first-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .hours-topline,
    .hours-section-head {
        align-items: stretch;
        display: grid;
        grid-template-columns: 1fr;
    }

    .hours-topline-actions {
        justify-content: flex-start;
    }

    .hours-search-row,
    .hours-search-row.global-search-actions {
        grid-template-columns: 1fr;
    }

    .hours-search-row .btn-action-search,
    .hours-search-row .btn-action-clear {
        width: 100%;
    }
}

.activity-functions-dialog {
    background: #f7fbff;
    display: flex;
    flex-direction: column;
    max-width: 980px;
    overflow: hidden;
    width: min(980px, 100%);
}

.activity-record-dialog {
    background: #f7fbff;
    display: flex;
    flex-direction: column;
    max-width: 980px;
    overflow: hidden;
    width: min(980px, 100%);
}

.activity-functions-dialog .floating-modal-head,
.activity-record-dialog .floating-modal-head {
    background:
        linear-gradient(135deg, rgba(11, 45, 75, 0.98), rgba(45, 122, 185, 0.95)),
        #1f679c;
    border-bottom: 0;
    color: #ffffff;
    flex: 0 0 auto;
    padding: 22px 24px;
    position: relative;
}

.activity-functions-dialog .floating-modal-head::after,
.activity-record-dialog .floating-modal-head::after {
    background: rgba(255, 255, 255, 0.16);
    content: "";
    height: 150%;
    position: absolute;
    right: 120px;
    top: -25%;
    transform: rotate(28deg);
    width: 18px;
}

.activity-functions-dialog .floating-modal-head > *,
.activity-record-dialog .floating-modal-head > * {
    position: relative;
    z-index: 1;
}

.activity-functions-dialog .floating-modal-head .section-kicker,
.activity-record-dialog .floating-modal-head .section-kicker {
    color: #ffd800;
}

.activity-functions-dialog .floating-modal-head h2,
.activity-record-dialog .floating-modal-head h2 {
    color: #ffffff;
}

.activity-functions-dialog .floating-modal-head .icon-btn,
.activity-record-dialog .floating-modal-head .icon-btn {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.36);
    color: #ffffff;
    position: relative;
    z-index: 1;
}

.activity-head-actions {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 10px;
}

.activity-header-registrar {
    align-items: center;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(255, 255, 255, 0.62);
    border-radius: 8px;
    box-shadow: 0 12px 26px rgba(5, 28, 50, 0.16);
    display: inline-grid;
    gap: 9px;
    grid-template-columns: 34px minmax(0, auto);
    min-height: 42px;
    padding: 5px 10px 5px 6px;
}

.activity-header-registrar img {
    border: 2px solid #d9e8f4;
    border-radius: 999px;
    height: 34px;
    object-fit: cover;
    width: 34px;
}

.activity-header-registrar .button-icon {
    background: #ffffff;
    border-radius: 999px;
    color: var(--blue-800);
    height: 34px;
    padding: 8px;
    width: 34px;
}

.activity-header-registrar strong,
.activity-header-registrar small {
    display: block;
    line-height: 1.15;
}

.activity-header-registrar strong {
    color: var(--blue-900);
    font-size: 14px;
    font-weight: 900;
}

.activity-header-registrar small {
    color: #60758b;
    font-size: 11px;
    font-weight: 750;
    margin-top: 2px;
}

@media (max-width: 560px) {
    .activity-record-dialog .floating-modal-head {
        align-items: flex-start;
        gap: 10px;
    }

    .activity-head-actions {
        gap: 8px;
    }

    .activity-header-registrar {
        grid-template-columns: 30px minmax(0, auto);
        padding-right: 8px;
    }

    .activity-header-registrar img,
    .activity-header-registrar .button-icon {
        height: 30px;
        width: 30px;
    }

    .activity-header-registrar strong {
        font-size: 13px;
        max-width: 92px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

.activity-functions-form,
.activity-record-form {
    background:
        linear-gradient(180deg, #f7fbff 0%, #ffffff 64%),
        #ffffff;
    display: flex !important;
    flex-direction: column;
    flex: 1 1 auto;
    gap: 16px;
    max-height: none;
    min-height: 0;
    overflow-y: auto;
    padding: 18px 22px 20px;
}

.activity-functions-form .activity-assignee-panel,
.activity-record-form .segmented-field {
    align-items: center;
    align-self: stretch;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #cfe0ee;
    border-radius: 8px;
    box-sizing: border-box;
    box-shadow: 0 14px 32px rgba(28, 61, 96, 0.05);
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 !important;
    padding: 12px 14px 14px;
    width: 100% !important;
}

.activity-selected-assignee {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d4e2ee;
    border-radius: 8px;
    display: inline-grid;
    gap: 10px;
    grid-template-columns: 34px minmax(0, auto);
    min-height: 46px;
    padding: 6px 12px 6px 8px;
}

.activity-selected-assignee .button-icon {
    background: #eaf3fb;
    border-radius: 8px;
    color: var(--blue-800);
    height: 34px;
    padding: 8px;
    width: 34px;
}

.activity-selected-assignee img {
    border: 2px solid #d9e8f4;
    border-radius: 999px;
    height: 34px;
    object-fit: cover;
    width: 34px;
}

.activity-selected-assignee strong,
.activity-selected-assignee small {
    display: block;
    line-height: 1.25;
}

.activity-selected-assignee strong {
    color: var(--blue-900);
    font-size: 15px;
    font-weight: 900;
}

.activity-selected-assignee small {
    color: #60758b;
    font-size: 12px;
    font-weight: 700;
    margin-top: 2px;
}

.activity-functions-form .planilla-form-section,
.activity-record-form .planilla-form-section {
    align-self: stretch;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #cfe0ee;
    border-radius: 8px;
    box-sizing: border-box;
    box-shadow: 0 14px 32px rgba(28, 61, 96, 0.05);
    margin: 0 !important;
    max-width: none !important;
    overflow: visible;
    padding: 14px;
    width: 100% !important;
}

.activity-record-form .file-picker-field {
    align-self: stretch;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #cfe0ee;
    border-radius: 8px;
    box-sizing: border-box;
    box-shadow: 0 14px 32px rgba(28, 61, 96, 0.05);
    margin: 0 !important;
    padding: 12px 14px 14px;
    width: 100% !important;
}

.activity-functions-form .form-actions,
.activity-record-form .form-actions {
    background: transparent;
    border-top: 1px solid #d7e5f2;
    border-radius: 0;
    box-sizing: border-box;
    margin: 0 !important;
    padding: 14px 0 0;
    width: 100% !important;
}

.activity-functions-form .planilla-form-section,
.activity-record-form .planilla-form-section {
    display: grid;
    gap: 14px;
}

.activity-section-head {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    width: 100%;
}

.activity-section-head .form-section-title {
    color: #174a78;
    margin: 0;
}

.activity-functions-form .person-options,
.activity-record-form .person-options {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.activity-functions-form .person-option span,
.activity-record-form .person-option span {
    min-height: 38px;
    min-width: 118px;
}

.activity-item-list,
.activity-record-item-list {
    display: grid;
    gap: 12px;
    width: 100%;
}

.activity-item-row {
    align-items: start;
    background: #ffffff;
    border: 1px solid #d6e4ef;
    border-radius: 8px;
    box-sizing: border-box;
    box-shadow: 0 10px 24px rgba(28, 61, 96, 0.04);
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(320px, 1fr) minmax(150px, 190px) 42px;
    padding: 14px;
    width: 100% !important;
}

.activity-record-item-row {
    align-items: end;
    background: #ffffff;
    border: 1px solid #d6e4ef;
    border-radius: 8px;
    box-sizing: border-box;
    box-shadow: 0 10px 24px rgba(28, 61, 96, 0.04);
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(320px, 1fr) minmax(160px, 210px) 42px;
    padding: 14px;
    width: 100% !important;
}

.activity-item-row label {
    margin: 0;
    min-width: 0;
}

.activity-record-item-row label {
    margin: 0;
    min-width: 0;
}

.activity-item-row textarea {
    font-size: 13px;
    line-height: 1.45;
    min-height: 64px;
    padding: 13px 14px;
    resize: vertical;
}

.activity-record-item-row textarea {
    font-size: 13px;
    line-height: 1.45;
    min-height: 68px;
    padding: 13px 14px;
    resize: vertical;
}

.activity-date-start-group {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(220px, 1fr) auto;
    min-width: 0;
}

.activity-same-day-toggle {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d7e4ef;
    border-radius: 8px;
    color: #21415d;
    cursor: pointer;
    display: inline-flex !important;
    gap: 8px;
    justify-self: start;
    margin: 0 !important;
    min-height: 40px;
    padding: 8px 11px;
    white-space: nowrap;
}

.activity-same-day-toggle input[type="checkbox"] {
    appearance: auto;
    flex: 0 0 auto;
    height: 16px !important;
    margin: 0;
    min-height: 0 !important;
    padding: 0 !important;
    width: 16px !important;
}

.activity-same-day-toggle span {
    font-size: 12px;
    font-weight: 850;
}

.activity-shift-selector {
    display: grid;
    gap: 8px;
}

.activity-shift-selector > span {
    color: #506b82;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.activity-shift-options {
    display: grid;
    gap: 7px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.activity-shift-options label {
    margin: 0;
    position: relative;
}

.activity-shift-options input {
    height: 1px;
    left: 50%;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 1px;
}

.activity-shift-options span {
    align-items: center;
    background: #f7fbff;
    border: 1px solid #d7e4ef;
    border-radius: 8px;
    color: #3f5b72;
    cursor: pointer;
    display: flex;
    font-size: 12px;
    font-weight: 850;
    justify-content: center;
    min-height: 40px;
    padding: 6px 10px;
}

.activity-shift-options input:checked + span {
    background: #e7f8ef;
    border-color: #a9d9bf;
    color: #12613d;
    box-shadow: inset 0 0 0 1px rgba(18, 97, 61, 0.05);
}

.activity-item-row select {
    min-height: 40px;
    padding-left: 12px;
}

.activity-remove-row {
    align-self: end;
    height: 40px;
    width: 42px;
}

.activity-remove-row:disabled {
    cursor: not-allowed;
    opacity: 0.42;
}

.activity-add-row {
    background: #eef7ff !important;
    border-color: #bfd7eb !important;
    color: var(--blue-800) !important;
    min-width: 184px;
    justify-self: start;
}

.activity-observation-field {
    margin: 0;
}

.activity-month-selector {
    display: grid;
    gap: 8px;
    grid-column: 1 / -1;
}

.activity-month-selector > span {
    color: #506b82;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.activity-month-options {
    display: grid;
    gap: 7px;
    grid-template-columns: repeat(12, minmax(44px, 1fr));
}

.activity-month-option {
    margin: 0;
    position: relative;
}

.activity-month-option input {
    height: 1px;
    left: 50%;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 1px;
}

.activity-month-option span {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d7e4ef;
    border-radius: 8px;
    color: #3f5b72;
    cursor: pointer;
    display: flex;
    font-size: 12px;
    font-weight: 800;
    justify-content: center;
    min-height: 34px;
    padding: 6px 7px;
    transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.activity-month-option input:checked + span {
    background: #eaf7f0;
    border-color: #a9d9bf;
    color: #12613d;
}

.activity-functions-form > .form-actions,
.activity-record-form > .form-actions {
    background: #ffffff;
    bottom: 0;
    flex: 0 0 auto;
    justify-content: flex-end;
    position: sticky;
}

.activity-function-list {
    display: grid;
    gap: 8px;
}

.activity-functions-accordion {
    max-width: 680px;
}

.activity-records-accordion {
    max-width: 640px;
}

.activity-record-table-wrap {
    background: #ffffff;
    border: 1px solid #d5e4f0;
    border-radius: 8px;
    overflow: auto;
}

.activity-record-table.data-table {
    border: 0;
}

.activity-record-table.data-table thead th {
    background: #f3f8fd;
    color: #173f63;
    font-size: 11px;
    letter-spacing: 0;
    position: sticky;
    text-transform: uppercase;
    top: 0;
    z-index: 2;
}

@media (min-width: 901px) {
    .activity-record-table-wrap {
        overflow: visible;
    }

    .activity-record-table.data-table thead th {
        border-bottom: 1px solid #c7dcee;
        box-shadow: 0 10px 18px rgba(28, 61, 96, 0.08);
        top: 64px;
        z-index: 8;
    }
}

.activity-functions-accordion summary {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d8e5ef;
    border-radius: 8px;
    color: #12314b;
    cursor: pointer;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    list-style: none;
    min-height: 46px;
    padding: 9px 12px;
    transition: background 0.16s ease, border-color 0.16s ease;
}

.activity-functions-accordion summary::-webkit-details-marker {
    display: none;
}

.activity-functions-accordion summary:hover {
    background: #f8fbff;
    border-color: #bfd7eb;
}

.activity-functions-accordion[open] summary {
    background: #f8fbff;
    border-color: #c9ddec;
}

.activity-accordion-title {
    display: grid;
    gap: 2px;
}

.activity-accordion-title strong {
    color: var(--blue-900);
    font-size: 13px;
    font-weight: 900;
}

.activity-accordion-title small {
    color: #60758b;
    font-size: 11px;
    font-weight: 700;
}

.activity-accordion-chevron {
    border-bottom: 2px solid #376f9d;
    border-right: 2px solid #376f9d;
    height: 8px;
    margin-right: 4px;
    transform: rotate(45deg);
    transition: transform 0.16s ease;
    width: 8px;
}

.activity-functions-accordion[open] .activity-accordion-chevron {
    transform: rotate(225deg);
}

.activity-functions-accordion[open] .activity-function-list {
    margin-top: 8px;
}

.activity-table-assignee {
    align-items: center;
    display: inline-grid;
    gap: 9px;
    grid-template-columns: 34px minmax(0, 1fr);
    min-width: 150px;
}

.activity-table-assignee img,
.activity-table-assignee > span {
    align-items: center;
    background: #edf6fb;
    border: 1px solid #d4e4f1;
    border-radius: 999px;
    color: var(--blue-800);
    display: flex;
    height: 34px;
    justify-content: center;
    object-fit: cover;
    width: 34px;
}

.activity-table-assignee .button-icon {
    height: 18px;
    width: 18px;
}

.activity-table-assignee strong,
.activity-table-assignee small {
    display: block;
    line-height: 1.25;
}

.activity-table-assignee strong {
    color: var(--blue-900);
    font-size: 13px;
    font-weight: 900;
}

.activity-table-assignee small {
    color: #60758b;
    font-size: 11px;
    font-weight: 700;
    margin-top: 2px;
}

.activity-function-pill {
    background: #ffffff;
    border: 1px solid #d8e5ef;
    border-radius: 8px;
    color: #18364f;
    display: grid;
    gap: 7px;
    line-height: 1.35;
    padding: 9px 11px;
}

.activity-record-pill {
    background: #ffffff;
}

.activity-function-text {
    color: #12314b;
    display: block;
    font-size: 13px;
    font-weight: 750;
}

.activity-function-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.activity-function-pill b {
    background: #edf6fb;
    border: 1px solid #cfe2ee;
    border-radius: 999px;
    color: #20577e;
    display: inline-flex;
    font-size: 11px;
    font-weight: 900;
    padding: 3px 7px;
    text-transform: uppercase;
}

.activity-function-pill em {
    background: #f2f8f5;
    border: 1px solid #cce5d7;
    border-radius: 999px;
    color: #2f6b49;
    display: inline-flex;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
    padding: 3px 7px;
}

.activity-function-pill em.is-year-round {
    background: #f7f4e8;
    border-color: #e4d8a8;
    color: #685d2f;
}

@media (max-width: 900px) {
    .activity-item-row {
        grid-template-columns: 1fr;
    }

    .activity-record-item-row {
        grid-template-columns: 1fr;
    }

    .activity-date-start-group {
        grid-template-columns: 1fr;
    }

    .activity-same-day-toggle {
        justify-self: stretch;
        justify-content: center;
    }

    .activity-month-options {
        grid-template-columns: repeat(6, minmax(44px, 1fr));
    }

    .activity-section-head {
        align-items: stretch;
        flex-direction: column;
    }

    .activity-add-row {
        width: 100%;
    }
}

@media (max-width: 760px) {
    .activity-item-row {
        grid-template-columns: 1fr;
    }

    .activity-record-item-row {
        grid-template-columns: 1fr;
    }

    .activity-month-options {
        grid-template-columns: repeat(3, minmax(44px, 1fr));
    }

    .activity-remove-row,
    .activity-add-row {
        width: 100%;
    }

    .activity-functions-form > .form-actions,
    .activity-record-form > .form-actions {
        justify-content: stretch;
    }
}

.single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-missing-search {
    align-items: end;
    display: grid;
    flex-wrap: initial;
    grid-template-columns: minmax(360px, 1fr) minmax(124px, 150px) minmax(104px, 118px) 42px 42px;
}

.single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-missing-search > label:first-of-type,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-missing-search > label:has(input[type="search"]) {
    min-width: 0;
}

.single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-missing-search > label:has(select) {
    min-width: 0;
}

.single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-missing-search > .btn-action-search {
    max-width: none;
}

@media (max-width: 760px) {
    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-missing-search {
        grid-template-columns: 1fr;
    }

    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-missing-search > .btn-action-search,
    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-missing-search > .btn-action-clear,
    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.cap-missing-search > .btn-action-add {
        max-width: none;
        width: 100%;
    }
}

.cap-missing-filter-card {
    align-items: stretch;
    background: #fbfdff;
    border: 1px solid #d5e4f2;
    border-radius: 8px;
    box-sizing: border-box;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(320px, 1fr) minmax(132px, 160px) minmax(112px, 128px) 42px 42px;
    margin: 14px 16px 16px;
    max-width: calc(100% - 32px);
    overflow: visible;
    padding: 14px 16px;
    width: calc(100% - 32px);
}

.cap-missing-filter-head {
    align-items: center;
    border-bottom: 1px solid #e2edf6;
    display: flex;
    gap: 12px;
    grid-column: 1 / -1;
    justify-content: flex-start;
    padding-bottom: 10px;
}

.cap-missing-filter-head > span {
    color: #143a5c;
    font-size: 12px;
    font-weight: 900;
}

.cap-missing-filter-main {
    align-items: end;
    display: contents;
    gap: 12px;
}

.cap-missing-filter-main label {
    color: #143a5c;
    display: grid;
    font-size: 12px;
    font-weight: 800;
    gap: 6px;
    margin: 0;
    min-width: 0;
}

.cap-missing-filter-main input[type="search"],
.cap-missing-filter-main select {
    background: #ffffff;
    border-color: #c9dcee;
    height: 42px;
}

.cap-missing-filter-actions {
    align-items: end;
    display: contents;
    gap: 8px;
    justify-content: flex-end;
}

.cap-missing-filter-actions .btn {
    align-items: center;
    border-radius: 8px;
    display: inline-flex;
    flex: 0 0 auto;
    height: 42px;
    justify-content: center;
    margin: 0;
    overflow: visible;
    white-space: nowrap;
}

.cap-missing-filter-actions .btn-action-search {
    min-width: 118px;
    width: 100%;
}

.cap-missing-filter-actions .cap-missing-clear-button {
    min-width: 42px;
    padding: 0;
    width: 42px;
}

.cap-missing-add-button {
    align-items: center;
    box-sizing: border-box;
    display: inline-flex;
    flex: 0 0 auto;
    height: 42px;
    justify-content: center;
    min-width: 42px;
    overflow: hidden;
    padding: 0;
    width: 42px;
}

@media (max-width: 980px) {
    .cap-missing-filter-card {
        grid-template-columns: 1fr;
    }

    .cap-missing-filter-actions .btn-action-search {
        min-width: 0;
        width: 100%;
    }

    .cap-missing-filter-actions .cap-missing-clear-button {
        justify-self: start;
    }

    .cap-missing-add-button {
        justify-self: stretch;
        width: 100%;
    }
}

@media (max-width: 560px) {
    .cap-missing-filter-head {
        align-items: stretch;
        flex-direction: column;
    }

    .cap-missing-add-button {
        justify-content: center;
        width: 100%;
    }
}

@media (max-width: 980px) {
    .clientes-stats-filter {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .clientes-state-bars .survey-year-row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .clientes-stats-filter {
        grid-template-columns: 1fr;
    }

    .clientes-stats-metrics,
    .clientes-stats-dashboard {
        padding-left: 14px;
        padding-right: 14px;
    }

    .clientes-year-pies {
        grid-template-columns: 1fr;
    }

    .clientes-year-pie-layout {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .clientes-mini-legend {
        width: 100%;
    }
}

/* Ajuste final movil: evita ancho de escritorio, panel lateral ocupando flujo y cabeceras comprimidas. */
@media (max-width: 900px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
        width: 100%;
    }

    .app-shell {
        display: block;
        max-width: 100%;
        min-width: 0;
        overflow-x: hidden;
        width: 100%;
    }

    .main,
    .content {
        max-width: 100%;
        min-width: 0;
        overflow-x: hidden;
        width: 100%;
    }

    .sidebar {
        border-bottom: 0;
        border-right: 1px solid var(--line);
        bottom: 0;
        box-shadow: 16px 0 32px rgba(16, 39, 67, 0.16);
        display: flex;
        left: 0;
        max-width: 320px;
        min-height: 100dvh;
        opacity: 1;
        overflow: hidden;
        padding: 10px 12px;
        position: fixed;
        top: 0;
        transform: translateX(0);
        width: min(82vw, 320px);
        z-index: 90;
    }

    body.sidebar-collapsed .sidebar {
        display: flex;
        opacity: 0;
        pointer-events: none;
        transform: translateX(-105%);
    }

    .sidebar-scroll {
        max-height: none;
        overflow-y: auto;
    }

    .topbar,
    body.sidebar-collapsed .topbar {
        box-sizing: border-box;
        gap: 10px;
        grid-template-columns: 42px minmax(0, 1fr) auto;
        height: auto;
        padding: 10px 12px;
        width: 100%;
    }

    .topbar-menu-button {
        display: inline-flex;
        grid-column: 1;
        grid-row: 1;
    }

    .topbar-actions {
        gap: 8px;
        grid-column: 3;
        grid-row: 1;
        justify-self: end;
    }

    .topbar-search {
        grid-column: 1 / -1;
        grid-row: 2;
        max-width: none;
        width: 100%;
    }

    .content {
        padding: 14px 12px 34px;
    }

    .page-head {
        box-sizing: border-box;
        margin-bottom: 18px;
        min-height: 118px;
        padding: 22px 18px;
        width: 100%;
    }

    .page-head::after {
        right: -180px;
        width: 320px;
    }

    .page-head h1 {
        font-size: 24px;
        line-height: 1.2;
        overflow-wrap: anywhere;
    }

    .page-description {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .content-card,
    .panel,
    .table-scroll {
        max-width: 100%;
        min-width: 0;
        overflow-x: auto;
    }

    .platform-alert-stack {
        left: 12px;
        right: 12px;
        top: 78px;
        width: auto;
    }

    .pwa-install-button {
        bottom: 12px;
        max-width: calc(100vw - 24px);
        right: 12px;
    }
}

@media (max-width: 560px) {
    .topbar,
    body.sidebar-collapsed .topbar {
        grid-template-columns: 42px minmax(0, 1fr) auto;
    }

    .topbar-actions {
        max-width: calc(100vw - 76px);
    }

    .topbar-icon-link,
    .notification-bell {
        height: 40px;
        width: 40px;
    }

    .user-chip {
        gap: 6px;
    }

    .user-text strong,
    .user-text small {
        max-width: 78px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .page-head {
        align-items: flex-start;
        min-height: 0;
    }

    .page-icon {
        display: none;
    }
}

.push-permission-card {
    align-items: center;
    background: #ffffff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    bottom: 18px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .18);
    display: flex;
    gap: 10px;
    left: 18px;
    max-width: min(520px, calc(100vw - 36px));
    padding: 12px;
    position: fixed;
    z-index: 1200;
}

.push-permission-card span {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.push-permission-card strong {
    color: #0f2f53;
    font-size: 14px;
}

.push-permission-card small {
    color: #49617c;
    font-size: 12px;
}

.push-permission-card button {
    background: #2f6fa8;
    border: 1px solid #2f6fa8;
    border-radius: 7px;
    color: #ffffff;
    cursor: pointer;
    font-weight: 800;
    min-height: 36px;
    padding: 0 14px;
    white-space: nowrap;
}

.push-permission-card button.is-ghost {
    background: #f8fbff;
    border-color: #cfe0f3;
    color: #244766;
}

.platform-toast-stack {
    display: grid;
    gap: 10px;
    position: fixed;
    right: 18px;
    top: 86px;
    width: min(420px, calc(100vw - 36px));
    z-index: 1400;
}

.platform-toast-card {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d3e4f8;
    border-left: 5px solid #f43f5e;
    border-radius: 8px;
    box-shadow: 0 18px 50px rgba(15, 23, 42, .2);
    display: grid;
    gap: 10px;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    padding: 11px 12px;
}

.platform-toast-card.is-hiding {
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity .22s ease, transform .22s ease;
}

.platform-toast-icon {
    align-items: center;
    background: #fff1f2;
    border-radius: 7px;
    color: #dc2626;
    display: inline-flex;
    font-size: 18px;
    font-weight: 900;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.platform-toast-body {
    color: #0f2f53;
    display: grid;
    gap: 4px;
    min-width: 0;
    text-decoration: none;
}

.platform-toast-body strong,
.platform-toast-body small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.platform-toast-body strong {
    font-size: 14px;
    font-weight: 900;
}

.platform-toast-body small {
    color: #49617c;
    font-size: 12px;
}

.platform-toast-actions {
    display: flex;
    gap: 6px;
}

.platform-toast-actions button {
    background: #2f6fa8;
    border: 1px solid #2f6fa8;
    border-radius: 7px;
    color: #ffffff;
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
    min-height: 34px;
    padding: 0 10px;
    white-space: nowrap;
}

.platform-toast-actions button.is-ghost {
    background: #f8fbff;
    border-color: #cfe0f3;
    color: #244766;
}

@media (max-width: 560px) {
    .notification-bell-popover {
        position: fixed;
        left: 12px;
        right: 12px;
        top: 68px;
        width: auto;
    }

    .push-permission-card {
        align-items: stretch;
        flex-wrap: wrap;
        left: 12px;
        right: 12px;
        max-width: none;
    }

    .push-permission-card span {
        flex-basis: 100%;
    }

    .push-permission-card button {
        flex: 1 1 120px;
    }

    .platform-toast-stack {
        left: 12px;
        right: 12px;
        top: 78px;
        width: auto;
    }

    .platform-toast-card {
        grid-template-columns: 38px minmax(0, 1fr);
    }

    .platform-toast-actions {
        grid-column: 1 / -1;
    }

    .platform-toast-actions button {
        flex: 1 1 120px;
    }
}

html.platform-alerts-hidden .platform-alert-stack {
    display: none !important;
}

html.platform-alerts-collapsed .platform-alert-stack {
    width: min(220px, calc(100vw - 36px));
}

html.platform-alerts-collapsed .platform-alert-stack .platform-alert-head {
    border-bottom: 0;
}

html.platform-alerts-collapsed .platform-alert-stack .platform-alert-items {
    display: none;
}

html.platform-alerts-collapsed .platform-alert-stack .platform-alert-toggle {
    grid-template-columns: 28px minmax(0, 1fr);
}

html.platform-alerts-collapsed .platform-alert-stack .platform-alert-head-icon {
    height: 28px;
    padding: 6px;
    width: 28px;
}

html.platform-alerts-collapsed .platform-alert-stack .platform-alert-view {
    display: none;
}

@media (max-width: 560px) {
    html.platform-alerts-collapsed .platform-alert-stack {
        left: auto;
        right: 12px;
        width: min(220px, calc(100vw - 24px));
    }
}

.single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(360px, 1fr) minmax(132px, 160px) minmax(116px, 140px) minmax(118px, 136px) minmax(104px, 126px) minmax(112px, 132px);
    overflow: visible;
}

.single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search > label:first-of-type,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search > label:has(input[type="search"]) {
    grid-column: span 1;
    min-width: 0;
}

.single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search > label:has(select) {
    min-width: 0;
}

.single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search > .web-board-action,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search > .web-board-search-btn,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search > .web-board-clear,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search > .web-board-add,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search > .btn-action-search,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search > .btn-action-clear,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search > .btn-action-add {
    flex: initial !important;
    max-width: none !important;
    min-width: 104px !important;
    width: 100% !important;
}

.single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search > .web-board-action {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-height: 44px;
    overflow: visible;
    padding-left: 14px;
    padding-right: 14px;
    text-indent: 0;
    white-space: nowrap;
}

.single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search > .btn-action-search,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search > .btn-action-clear,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search > .btn-action-add {
    align-items: center !important;
    display: inline-flex !important;
    font-size: 13px !important;
    gap: 8px;
    justify-content: center !important;
    min-height: 44px !important;
    overflow: visible !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
}

.single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search > .btn-action-add:has(svg),
.single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search > .btn-action-clear:has(svg) {
    font-size: 0 !important;
}

.single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search > .btn-action-add:has(svg)::after {
    content: "Agregar";
    font-size: 13px;
}

.single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search > .btn-action-clear:has(svg)::after {
    content: "Limpiar";
    font-size: 13px;
}

.single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search > .btn-action-add:has(svg) svg,
.single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search > .btn-action-clear:has(svg) svg {
    display: none;
}

.single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search > .web-board-add {
    min-width: 112px;
}

@media (max-width: 1180px) {
    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search {
        grid-template-columns: minmax(260px, 1fr) repeat(2, minmax(126px, 154px)) repeat(3, minmax(104px, 1fr));
    }

    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search > label:first-of-type,
    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search > label:has(input[type="search"]) {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search {
        grid-template-columns: 1fr;
    }

    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search > label:first-of-type,
    .single-board-layout > .panel > .printer-maintenance-search.action-search-row.web-board-search > label:has(input[type="search"]) {
        grid-column: auto;
    }
}

.web-missing-pages > form.web-board-search[data-no-inline-filters="1"] {
    align-items: end !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: minmax(420px, 1fr) minmax(136px, 160px) minmax(116px, 140px) minmax(118px, 136px) minmax(104px, 126px) minmax(112px, 132px) !important;
    overflow: visible !important;
}

.web-missing-pages > form.web-board-search[data-no-inline-filters="1"] > label {
    display: grid !important;
    gap: 8px !important;
    margin: 0 !important;
    min-width: 0 !important;
}

.web-missing-pages > form.web-board-search[data-no-inline-filters="1"] > .web-board-query {
    min-width: 0 !important;
}

.web-missing-pages > form.web-board-search[data-no-inline-filters="1"] input[type="search"],
.web-missing-pages > form.web-board-search[data-no-inline-filters="1"] select {
    height: 46px !important;
    min-width: 0 !important;
    width: 100% !important;
}

.web-missing-pages > form.web-board-search[data-no-inline-filters="1"] > .web-board-action,
.web-missing-pages > form.web-board-search[data-no-inline-filters="1"] > .btn {
    align-items: center !important;
    display: inline-flex !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    height: 46px !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin: 0 !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow: visible !important;
    padding: 0 16px !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
    width: 100% !important;
}

.web-missing-pages > form.web-board-search[data-no-inline-filters="1"] > .web-board-clear {
    background: #ffffff !important;
    color: #174a78 !important;
}

.web-missing-pages > form.web-board-search[data-no-inline-filters="1"] > .web-board-add {
    background: #2f6fa8 !important;
    color: #ffffff !important;
}

.web-missing-pages > form.web-board-search[data-no-inline-filters="1"] .button-icon,
.web-missing-pages > form.web-board-search[data-no-inline-filters="1"] .btn-label:empty {
    display: none !important;
}

@media (max-width: 1180px) {
    .web-missing-pages > form.web-board-search[data-no-inline-filters="1"] {
        grid-template-columns: minmax(260px, 1fr) repeat(2, minmax(126px, 154px)) repeat(3, minmax(104px, 1fr)) !important;
    }

    .web-missing-pages > form.web-board-search[data-no-inline-filters="1"] > .web-board-query {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 760px) {
    .web-missing-pages > form.web-board-search[data-no-inline-filters="1"] {
        grid-template-columns: 1fr !important;
    }

    .web-missing-pages > form.web-board-search[data-no-inline-filters="1"] > .web-board-query {
        grid-column: auto !important;
    }
}

.users-overview-panel,
.rector-history-summary,
.import-hero-card {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(232, 243, 252, 0.86) 0%, rgba(255, 255, 255, 0.96) 58%),
        #ffffff;
    border: 1px solid #cfe0ee;
    border-radius: 8px;
    box-shadow: 0 18px 42px rgba(35, 76, 112, 0.08);
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) auto;
    margin-bottom: 16px;
    overflow: hidden;
    padding: 22px 24px;
}

.users-overview-copy h2,
.rector-history-summary h2,
.import-hero-card h2 {
    color: #082743;
    font-size: 26px;
    line-height: 1.12;
    margin: 6px 0 8px;
}

.users-overview-copy p,
.rector-history-summary p,
.import-hero-card p {
    color: #49637d;
    margin: 0;
    max-width: 620px;
}

.users-overview-metrics,
.rector-history-metrics,
.import-hero-metrics {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(118px, 1fr));
}

.users-overview-metrics span,
.rector-history-metrics span,
.import-hero-metrics span {
    background: #ffffff;
    border: 1px solid #d4e4f0;
    border-radius: 8px;
    box-shadow: 0 12px 24px rgba(30, 70, 106, 0.05);
    display: grid;
    gap: 4px;
    min-height: 70px;
    padding: 13px 15px;
}

.users-overview-metrics strong,
.rector-history-metrics strong,
.import-hero-metrics strong {
    color: var(--blue-900);
    font-size: 25px;
    line-height: 1;
}

.users-overview-metrics small,
.rector-history-metrics small,
.import-hero-metrics small {
    color: #526b84;
    font-size: 12px;
}

.users-seed-action {
    grid-column: 1 / -1;
    justify-self: start;
    margin: -6px 0 0;
}

.users-seed-action .btn {
    min-height: 42px;
}

.users-overview-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    grid-column: 1 / -1;
    margin: -6px 0 0;
}

.users-overview-actions .users-seed-action {
    grid-column: auto;
    margin: 0;
}

.users-overview-actions .btn {
    min-height: 42px;
}

.users-table-wrap,
.rector-list-table-wrap {
    background: #ffffff;
    border: 1px solid #d5e4f0;
    border-radius: 8px;
    box-shadow: 0 16px 38px rgba(28, 61, 96, 0.06);
    overflow: auto;
}

.users-table.data-table,
.rector-list-table.data-table {
    border: 0;
}

.users-table.data-table thead th,
.rector-list-table.data-table thead th {
    background: #f3f8fd;
    color: #173f63;
    font-size: 11px;
    letter-spacing: 0;
    position: sticky;
    text-transform: uppercase;
    top: 0;
    z-index: 1;
}

.users-table.data-table tbody tr,
.rector-list-table.data-table tbody tr {
    transition: background 0.16s ease, box-shadow 0.16s ease;
}

.users-table.data-table tbody tr:hover,
.rector-list-table.data-table tbody tr:hover {
    background: #f8fbff;
    box-shadow: inset 3px 0 0 var(--blue-800);
}

.users-security-note {
    background: #fffbeb;
    border-color: #f0cf54;
    border-radius: 8px;
    box-shadow: none;
    margin-top: 18px;
}

.users-security-note h2 {
    color: #533f00;
}

.users-security-note p {
    color: #5f6170;
}

.user-access-dialog {
    max-width: 1040px;
    width: min(1040px, calc(100vw - 48px));
}

.user-access-dialog .floating-modal-head p {
    color: #5d7288;
    font-size: 13px;
    font-weight: 700;
    margin: 6px 0 0;
}

.user-access-summary {
    background: #f8fbfe;
    border-bottom: 1px solid #d9e5ef;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 16px 20px;
}

.user-access-summary span {
    background: #ffffff;
    border: 1px solid #d4e4f0;
    border-radius: 8px;
    display: grid;
    gap: 4px;
    padding: 12px 14px;
}

.user-access-summary strong {
    color: #0b3d63;
    font-size: 18px;
}

.user-access-summary small {
    color: #5d7288;
    font-size: 12px;
    font-weight: 800;
}

.user-access-table-wrap {
    max-height: min(58vh, 560px);
    overflow: auto;
}

.user-access-table {
    min-width: 860px;
}

.user-access-table th {
    background: #f3f8fd;
    color: #173f63;
    font-size: 11px;
    text-transform: uppercase;
}

.user-access-table td {
    vertical-align: middle;
}

.access-medium-pill {
    background: #eef7ff;
    border: 1px solid #cce2f3;
    border-radius: 999px;
    color: #174f7d;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    padding: 5px 10px;
}

.user-access-table td small {
    color: #5d7288;
    display: block;
    font-size: 11px;
    font-weight: 700;
    margin-top: 5px;
}

.user-agent-text {
    color: #405b74;
    display: inline-block;
    font-size: 12px;
    max-width: 360px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-audit-filter {
    align-items: end;
    background: #f8fbfe;
    border-bottom: 1px solid #d9e5ef;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(260px, 1fr) minmax(180px, 0.32fr) auto auto;
    padding: 14px 20px;
}

.user-audit-filter label {
    color: #173f63;
    display: grid;
    font-size: 12px;
    font-weight: 800;
    gap: 5px;
}

.user-audit-filter input,
.user-audit-filter select {
    border: 1px solid #c9ddeb;
    border-radius: 7px;
    color: #082743;
    min-height: 38px;
    padding: 0 10px;
}

.user-audit-table {
    min-width: 1040px;
}

.user-audit-detail {
    color: #405b74;
    display: inline-block;
    line-height: 1.45;
    max-width: 640px;
    white-space: normal;
}

.user-audit-table td:nth-child(5) {
    min-width: 420px;
}

.sietdh-board-title {
    align-items: center;
    color: #123b5f;
    display: inline-flex;
    gap: 10px;
    min-width: 0;
}

.sietdh-board-title .switch-icon {
    background: #eaf3fb;
    border-radius: 999px;
    color: var(--blue-800);
    flex: 0 0 32px;
    height: 32px;
    padding: 7px;
    width: 32px;
}

.sietdh-board-title strong,
.sietdh-board-title small {
    display: block;
}

.sietdh-board-title strong {
    font-size: 15px;
    font-weight: 900;
}

.sietdh-board-title small {
    color: #60758b;
    font-size: 12px;
    font-weight: 650;
    margin-top: 2px;
}

.sietdh-board-actions {
    flex: 0 0 auto;
}

.sietdh-modal-dialog {
    max-width: 920px;
    width: min(920px, calc(100vw - 28px));
}

.sietdh-modal-head {
    min-height: 112px;
}

.sietdh-modal-head-actions {
    align-items: center;
    display: inline-flex;
    gap: 12px;
}

.sietdh-user-chip {
    align-items: center;
    background: rgba(255, 255, 255, 0.13);
    border: 1px solid rgba(255, 255, 255, 0.38);
    border-radius: 8px;
    color: #ffffff;
    display: inline-flex;
    gap: 9px;
    min-height: 48px;
    padding: 6px 10px 6px 7px;
}

.sietdh-user-avatar {
    align-items: center;
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 999px;
    display: inline-flex;
    flex: 0 0 34px;
    font-size: 13px;
    font-weight: 900;
    height: 34px;
    justify-content: center;
    overflow: hidden;
    width: 34px;
}

.sietdh-user-avatar img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.sietdh-user-chip strong,
.sietdh-user-chip small {
    display: block;
    line-height: 1.15;
}

.sietdh-user-chip small {
    color: rgba(255, 255, 255, 0.82);
    font-size: 11px;
    font-weight: 700;
    margin-top: 3px;
}

.sietdh-form {
    padding: 14px;
}

.sietdh-form .planilla-form-section {
    border: 1px solid #d6e6f3;
    border-radius: 8px;
    margin-bottom: 12px;
}

.sietdh-import-note {
    background: #f2f8fd;
    border: 1px solid #d4e7f5;
    border-radius: 8px;
    color: #17415f;
    display: grid;
    gap: 4px;
    margin-bottom: 12px;
    padding: 12px;
}

.sietdh-import-note small {
    color: #5d7288;
    font-weight: 650;
}

.sietdh-copy-modal[hidden] {
    display: none;
}

.sietdh-copy-dialog {
    overflow: hidden;
    width: min(720px, calc(100vw - 28px));
}

.sietdh-copy-dialog .floating-modal-head {
    background: #f6fbff;
}

.sietdh-copy-dialog .floating-modal-head p {
    color: #5d7288;
    font-size: 13px;
    font-weight: 650;
    margin: 5px 0 0;
}

.sietdh-copy-body {
    display: grid;
    gap: 12px;
    padding: 16px;
}

.sietdh-copy-body label {
    color: #173f63;
    display: grid;
    font-size: 12px;
    font-weight: 850;
    gap: 6px;
}

.sietdh-copy-body .field-hint {
    color: #648097;
    font-size: 11px;
    font-weight: 650;
    line-height: 1.35;
}

.sietdh-copy-body select,
.sietdh-copy-body textarea {
    border: 1px solid #c9ddeb;
    border-radius: 8px;
    color: #082743;
    font: inherit;
    font-weight: 650;
    padding: 10px 12px;
}

.sietdh-copy-body select[multiple] {
    min-height: 170px;
    padding: 6px;
}

.sietdh-copy-body select[multiple] option {
    border-radius: 6px;
    padding: 7px 8px;
}

.sietdh-copy-body textarea {
    min-height: 130px;
    resize: vertical;
}

.web-mail-tabs {
    background: #ffffff;
    border: 1px solid #d6e7f4;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(23, 63, 99, 0.04);
    display: grid;
    grid-template-columns: repeat(4, minmax(140px, 1fr));
    gap: 8px;
    margin: 14px 0 0;
    padding: 8px;
}

.web-mail-tabs button {
    align-items: center;
    background: #ffffff;
    border: 1px solid #c9ddeb;
    border-radius: 8px;
    color: #17496f;
    cursor: pointer;
    display: flex;
    font: inherit;
    font-size: 13px;
    font-weight: 850;
    gap: 8px;
    justify-content: center;
    min-height: 38px;
    padding: 9px 13px;
    transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.web-mail-tabs button:hover,
.web-mail-tabs button:focus-visible {
    border-color: #2f71a9;
    box-shadow: 0 8px 16px rgba(47, 113, 169, 0.12);
    color: #0b4f82;
    transform: translateY(-1px);
}

.web-mail-tabs button.is-active {
    background: #2f71a9;
    border-color: #2f71a9;
    box-shadow: 0 8px 18px rgba(47, 113, 169, 0.18);
    color: #ffffff;
}

.web-mail-tabs button.is-active .switch-icon {
    color: #ffffff;
}

.web-mail-panel {
    display: none;
    margin: 14px 0 18px;
}

.web-mail-panel.is-active {
    display: block;
}

.proposal-send-panel.web-mail-compose {
    background: transparent;
    border: 0;
    display: block;
    margin: 0;
    padding: 0;
}

.proposal-send-panel.web-mail-compose .web-mail-panel {
    background: linear-gradient(180deg, #f9fcff 0%, #f3f8fc 100%);
    border: 1px solid #d6e7f4;
    border-radius: 8px;
    box-shadow: 0 16px 34px rgba(23, 63, 99, 0.06);
    padding: 18px;
}

.web-search-panel {
    background: #ffffff;
    border: 1px solid #d6e7f4;
    border-radius: 8px;
    overflow: hidden;
}

.web-search-panel > .printer-maintenance-search,
.web-search-panel > .notifications-hero,
.web-search-panel > .table-wrap {
    border-left: 0;
    border-right: 0;
    margin-left: 0;
    margin-right: 0;
}

.web-search-panel > .printer-maintenance-search {
    border-top: 0;
    margin-top: 0;
}

.web-search-panel > .table-wrap {
    border-bottom: 0;
    margin-bottom: 0;
}

.proposal-send-panel {
    background: #f8fbfe;
    border: 1px solid #d6e7f4;
    border-radius: 8px;
    display: grid;
    gap: 14px;
    margin: 14px 0 18px;
    padding: 14px;
}

.proposal-send-head {
    align-items: center;
    background: #ffffff;
    border: 1px solid #dcebf5;
    border-radius: 8px;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin-bottom: 14px;
    padding: 14px;
}

.proposal-send-head h3 {
    color: #082743;
    font-size: 20px;
    font-weight: 900;
    margin: 4px 0;
}

.proposal-send-head p {
    color: #60758b;
    font-size: 13px;
    font-weight: 650;
    margin: 0;
}

.proposal-status-chip {
    border-radius: 999px;
    font-size: 12px;
    font-weight: 850;
    padding: 8px 12px;
    white-space: nowrap;
}

.proposal-status-chip.is-ready {
    background: #e9fbf1;
    color: #168f49;
}

.proposal-status-chip.is-pending {
    background: #fff6dd;
    color: #9a6500;
}

.proposal-config-grid {
    align-items: start;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(280px, .9fr) minmax(340px, 1.1fr);
}

.proposal-fields,
.proposal-preview-column {
    display: grid;
    gap: 10px;
}

.proposal-fields {
    background: #ffffff;
    border: 1px solid #dcebf5;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(23, 63, 99, 0.04);
    padding: 14px;
}

.proposal-preview-column {
    align-content: start;
    align-self: start;
    background: #ffffff;
    border: 1px solid #dcebf5;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(23, 63, 99, 0.04);
    grid-auto-rows: max-content;
    padding: 10px;
}

.proposal-fields label,
.proposal-preview-column label,
.proposal-html-code-field,
.proposal-target-fields label {
    color: #173f63;
    display: grid;
    font-size: 12px;
    font-weight: 850;
    gap: 6px;
}

.proposal-fields input,
.proposal-fields select,
.proposal-preview-column textarea,
.proposal-html-code-field textarea,
.proposal-target-fields select {
    border: 1px solid #c9ddeb;
    border-radius: 8px;
    color: #082743;
    font: inherit;
    font-weight: 650;
    padding: 10px 12px;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.proposal-fields input:focus,
.proposal-fields select:focus,
.proposal-html-code-field textarea:focus,
.proposal-test-actions input:focus,
.proposal-target-fields select:focus,
.web-report-filters input:focus,
.web-report-filters select:focus,
body.section-correos_webcolegios .webcolegios-search-row input:focus,
body.section-correos_webcolegios .webcolegios-search-row select:focus {
    background: #ffffff;
    border-color: #2f71a9;
    box-shadow: 0 0 0 3px rgba(47, 113, 169, 0.12);
    outline: 0;
}

.proposal-field-help {
    color: #60758b;
    font-size: 11px;
    font-weight: 650;
    line-height: 1.35;
}

.proposal-preview-frame {
    background: #ffffff;
    border: 1px solid #cfe2f1;
    border-radius: 7px;
    max-height: 720px;
    min-height: 560px;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 12px;
}

.proposal-preview-frame table {
    max-width: 100% !important;
    width: 100% !important;
}

.proposal-preview-frame td {
    box-sizing: border-box;
    max-width: 100%;
}

.proposal-preview-frame img {
    height: auto !important;
    max-width: 100% !important;
}

.proposal-preview-frame a {
    max-width: 100%;
    overflow-wrap: anywhere;
}

.proposal-html-code-field {
    background: #ffffff;
    border: 1px solid #dcebf5;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(23, 63, 99, 0.04);
    margin-top: 12px;
    padding: 12px;
}

.proposal-html-code-field summary {
    align-items: center;
    color: #173f63;
    cursor: pointer;
    display: flex;
    font-size: 13px;
    font-weight: 900;
    justify-content: space-between;
    list-style: none;
}

.proposal-html-code-field summary::-webkit-details-marker {
    display: none;
}

.proposal-html-code-field summary::after {
    color: #2f71a9;
    content: '+';
    font-size: 18px;
    font-weight: 900;
}

.proposal-html-code-field[open] summary::after {
    content: '-';
}

.proposal-html-code-field summary small {
    color: #60758b;
    font-size: 11px;
    font-weight: 750;
}

.proposal-html-code-field textarea {
    margin-top: 10px;
    min-height: 118px;
    resize: vertical;
    width: 100%;
}

.proposal-save-note {
    align-items: center;
    background: linear-gradient(90deg, #ffffff 0%, #f4fbff 100%);
    border: 1px solid #d6e7f4;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(23, 63, 99, 0.04);
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-top: 14px;
    padding: 14px;
}

.proposal-save-note strong,
.proposal-save-note small {
    display: block;
}

.proposal-save-note strong {
    color: #082743;
    font-size: 14px;
    font-weight: 900;
}

.proposal-save-note small {
    color: #60758b;
    font-size: 12px;
    font-weight: 700;
    margin-top: 3px;
}

.proposal-test-note {
    align-items: center;
    background: linear-gradient(90deg, #ffffff 0%, #f8fbfe 100%);
    border: 1px solid #d6e7f4;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(23, 63, 99, 0.04);
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(220px, 1fr) minmax(360px, .9fr);
    margin-top: 10px;
    padding: 14px;
}

.proposal-test-note strong,
.proposal-test-note small {
    display: block;
}

.proposal-test-note strong {
    color: #082743;
    font-size: 14px;
    font-weight: 900;
}

.proposal-test-note small {
    color: #60758b;
    font-size: 12px;
    font-weight: 700;
    margin-top: 3px;
}

.proposal-test-actions {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(180px, 1fr) auto;
}

.proposal-test-actions input {
    border: 1px solid #c9ddeb;
    border-radius: 8px;
    color: #082743;
    font: inherit;
    font-weight: 650;
    min-height: 40px;
    padding: 9px 12px;
}

.proposal-save-button {
    background: #eef8ff;
    border-color: #b9dcf3;
    color: #0b5f98;
    white-space: nowrap;
}

.proposal-save-button:hover {
    background: #e2f2fd;
    border-color: #7fbde8;
}

.proposal-target-panel {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbfe 100%);
    border: 1px solid #d6e7f4;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(23, 63, 99, 0.05);
    display: grid;
    gap: 14px;
    padding: 16px;
}

.proposal-target-head {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: space-between;
}

.proposal-target-panel small {
    color: #60758b;
    font-weight: 650;
}

.proposal-send-badge {
    align-items: center;
    background: #e9fbf1;
    border: 1px solid #bdeaca;
    border-radius: 999px;
    color: #137a3e;
    display: inline-flex;
    font-size: 12px;
    font-weight: 850;
    gap: 7px;
    min-height: 34px;
    padding: 7px 10px;
    white-space: nowrap;
}

.proposal-send-badge .switch-icon {
    height: 16px;
    width: 16px;
}

.proposal-target-layout {
    align-items: stretch;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(320px, 1fr) minmax(220px, .34fr);
}

.proposal-target-fields {
    background: #ffffff;
    border: 1px solid #dcebf5;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(23, 63, 99, 0.04);
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(220px, .9fr) minmax(280px, 1.1fr);
    padding: 14px;
}

.proposal-target-fields label {
    align-content: start;
}

.proposal-target-fields select {
    background: #ffffff;
    min-height: 42px;
}

.proposal-target-fields select[multiple] {
    min-height: 154px;
    padding: 6px;
}

.proposal-target-fields select[multiple] option {
    border-radius: 6px;
    padding: 7px 8px;
}

.proposal-send-summary {
    align-self: stretch;
    background: linear-gradient(180deg, #eef8ff 0%, #e6f4ff 100%);
    border: 1px solid #c8e3f6;
    border-radius: 8px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
    color: #173f63;
    display: grid;
    gap: 7px;
    place-content: center;
    padding: 18px;
    text-align: center;
}

.proposal-summary-icon {
    align-items: center;
    background: #ffffff;
    border: 1px solid #c8e3f6;
    border-radius: 999px;
    color: #2f71a9;
    display: inline-flex;
    height: 42px;
    justify-content: center;
    justify-self: center;
    width: 42px;
}

.proposal-summary-icon .switch-icon {
    height: 20px;
    width: 20px;
}

.proposal-send-summary strong {
    color: #0b6cad;
    font-size: 34px;
    font-weight: 900;
    line-height: 1;
}

.proposal-summary-divider {
    background: #cfe5f5;
    height: 1px;
    margin: 6px 0;
    width: 100%;
}

.proposal-last-send {
    background: #fff8df;
    border: 1px solid #ffe08a;
    border-radius: 8px;
    color: #6f4b00;
    display: grid;
    gap: 4px;
    padding: 10px 12px;
    text-align: left;
}

.proposal-last-send[hidden] {
    display: none;
}

.proposal-last-send span {
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

.proposal-last-send strong {
    color: #173f63;
    font-size: 14px;
    line-height: 1.2;
}

.proposal-last-send small {
    color: #7a5a12;
    font-weight: 750;
    line-height: 1.35;
}

.proposal-send-limit {
    background: #f7fbff;
    border: 1px solid #cfe5f5;
    border-radius: 8px;
    color: #173f63;
    display: grid;
    gap: 4px;
    padding: 10px 12px;
    text-align: left;
}

.proposal-send-limit span {
    color: #2f71a9;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.proposal-send-limit strong {
    color: #173f63;
    font-size: 16px;
    line-height: 1.15;
}

.proposal-send-limit small {
    color: #60758b;
    font-weight: 750;
    line-height: 1.35;
}

.proposal-confirm-open {
    overflow: hidden;
}

.proposal-confirm-modal {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 18px;
    position: fixed;
    z-index: 120;
}

.proposal-confirm-modal[hidden] {
    display: none;
}

.proposal-confirm-backdrop {
    background: rgba(12, 31, 48, 0.54);
    border: 0;
    cursor: pointer;
    inset: 0;
    padding: 0;
    position: absolute;
    width: 100%;
}

.proposal-confirm-dialog {
    background: #ffffff;
    border: 1px solid #c7dcec;
    border-radius: 14px;
    box-shadow: 0 28px 80px rgba(14, 45, 75, 0.28);
    max-height: calc(100vh - 36px);
    max-width: 560px;
    overflow: hidden;
    position: relative;
    width: min(560px, 100%);
    z-index: 1;
}

.proposal-confirm-head {
    align-items: center;
    background: linear-gradient(135deg, #f6fbff 0%, #eaf5ff 100%);
    border-bottom: 1px solid #d7e6f2;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    padding: 16px 18px;
}

.proposal-confirm-title {
    align-items: center;
    display: flex;
    gap: 12px;
    min-width: 0;
}

.proposal-confirm-title span {
    align-items: center;
    background: #e7f2fb;
    border: 1px solid #c6deef;
    border-radius: 12px;
    color: #22679f;
    display: inline-flex;
    height: 44px;
    justify-content: center;
    width: 44px;
}

.proposal-confirm-title-icon {
    height: 22px;
    width: 22px;
}

.proposal-confirm-title small {
    color: #1d5d9c;
    display: block;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.2;
    text-transform: uppercase;
}

.proposal-confirm-title h2 {
    color: #102743;
    font-size: 20px;
    line-height: 1.2;
    margin: 3px 0 0;
}

.proposal-confirm-close {
    flex: 0 0 auto;
}

.proposal-confirm-body {
    display: grid;
    gap: 14px;
    padding: 18px;
}

.proposal-confirm-body p {
    color: #4b6176;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.45;
    margin: 0;
}

.proposal-confirm-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.proposal-confirm-grid > div {
    background: #f7fbff;
    border: 1px solid #d7e6f2;
    border-radius: 10px;
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 11px 12px;
}

.proposal-confirm-grid span {
    color: #5c7186;
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

.proposal-confirm-grid strong {
    color: #102743;
    font-size: 14px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.proposal-confirm-repeat {
    align-items: start;
    background: #fff8df;
    border: 1px solid #ffe08a;
    border-radius: 12px;
    color: #6f4b00;
    display: grid;
    gap: 10px;
    grid-template-columns: 34px minmax(0, 1fr);
    padding: 12px;
}

.proposal-confirm-repeat[hidden] {
    display: none;
}

.proposal-confirm-repeat > span {
    align-items: center;
    background: #fff2ba;
    border-radius: 10px;
    color: #966800;
    display: inline-flex;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.proposal-confirm-repeat-icon {
    height: 18px;
    width: 18px;
}

.proposal-confirm-repeat strong {
    color: #173f63;
    display: block;
    font-size: 14px;
    line-height: 1.3;
}

.proposal-confirm-repeat small {
    color: #7a5a12;
    display: block;
    font-weight: 750;
    line-height: 1.4;
    margin-top: 3px;
}

.proposal-confirm-limit {
    background: #eef8ff;
    border-color: #bddcf3;
    color: #173f63;
}

.proposal-confirm-limit > span {
    background: #e0f1ff;
    color: #2f71a9;
}

.proposal-confirm-limit strong {
    color: #173f63;
}

.proposal-confirm-limit small {
    color: #49667f;
}

.gmail-confirm-modal .proposal-confirm-title span {
    background: #e8f8ef;
    border-color: #bfe8cf;
    color: #067a46;
}

.gmail-confirm-modal .proposal-confirm-repeat {
    background: #ecfbf4;
    border-color: #bfe8cf;
    color: #075f3a;
}

.gmail-confirm-modal .proposal-confirm-repeat > span {
    background: #d9f7e7;
    color: #067a46;
}

.gmail-confirm-modal .proposal-confirm-repeat strong {
    color: #075f3a;
}

.gmail-confirm-modal .proposal-confirm-repeat small {
    color: #2d6f4d;
}

.proposal-confirm-actions {
    align-items: center;
    background: #f8fbff;
    border-top: 1px solid #d7e6f2;
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    padding: 14px 18px;
}

@media (max-width: 640px) {
    .proposal-confirm-modal {
        align-items: end;
        padding: 10px;
    }

    .proposal-confirm-dialog {
        border-radius: 14px 14px 10px 10px;
        max-height: calc(100vh - 20px);
    }

    .proposal-confirm-head,
    .proposal-confirm-body,
    .proposal-confirm-actions {
        padding-left: 14px;
        padding-right: 14px;
    }

    .proposal-confirm-grid {
        grid-template-columns: 1fr;
    }

    .proposal-confirm-actions {
        flex-direction: column-reverse;
    }

    .proposal-confirm-actions .btn {
        justify-content: center;
        width: 100%;
    }
}

.proposal-send-main {
    justify-self: center;
    min-width: 168px;
}

.proposal-state {
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 850;
    padding: 5px 9px;
}

.proposal-state.is-enviado {
    background: #e9fbf1;
    color: #168f49;
}

.proposal-state.is-pendiente {
    background: #fff6dd;
    color: #9a6500;
}

.proposal-state.is-fallido {
    background: #fdecec;
    color: #b42318;
}

.email-state-chip {
    border-radius: 999px;
    display: inline-flex;
    font-size: 11px;
    font-weight: 850;
    margin-top: 4px;
    padding: 4px 8px;
}

.email-state-chip.is-ok {
    background: #e9fbf1;
    color: #168f49;
}

.email-state-chip.is-pending {
    background: #eef4f8;
    color: #60758b;
}

.email-state-chip.is-error {
    background: #fdecec;
    color: #b42318;
}

body.section-correos_webcolegios .data-table tr.is-email-error td {
    background: #fff6f6;
}

body.section-correos_webcolegios .data-table tr.is-email-error td:first-child {
    box-shadow: inset 4px 0 0 #e5484d;
}

.web-report-panel .proposal-target-panel {
    gap: 14px;
}

.web-report-head-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.gmail-bounce-review-form {
    margin: 0;
}

.gmail-bounce-status {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 850;
    min-height: 34px;
    padding: 7px 10px;
    white-space: nowrap;
}

.gmail-bounce-status.is-connected {
    background: #e9fbf1;
    border: 1px solid #bdeaca;
    color: #137a3e;
}

.gmail-bounce-status.is-pending {
    background: #fff8df;
    border: 1px solid #ffe08a;
    color: #845400;
}

.gmail-bounce-status.is-missing {
    background: #fdecec;
    border: 1px solid #fac6c2;
    color: #b42318;
}

.web-report-filters {
    align-items: end;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border: 1px solid #dcebf5;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(23, 63, 99, 0.04);
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 14px;
}

.web-report-filter-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(150px, .8fr) minmax(150px, .8fr) minmax(150px, .65fr) minmax(300px, 1.7fr);
    min-width: 0;
}

.web-report-field {
    color: #173f63;
    display: grid;
    font-size: 12px;
    font-weight: 850;
    gap: 6px;
    min-width: 0;
}

.web-report-field span {
    align-items: center;
    display: flex;
    min-height: 16px;
}

.web-report-filters input,
.web-report-filters select {
    background: #ffffff;
    border: 1px solid #c9ddeb;
    border-radius: 8px;
    box-sizing: border-box;
    color: #082743;
    font: inherit;
    font-weight: 650;
    min-width: 0;
    min-height: 40px;
    padding: 9px 11px;
    width: 100%;
}

.web-report-filter-actions {
    align-items: end;
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.web-report-filter-actions .btn {
    justify-content: center;
    min-height: 40px;
    padding-left: 16px;
    padding-right: 16px;
    white-space: nowrap;
}

.web-report-summary {
    margin: 0;
    padding: 0;
}

.web-report-summary .notifications-summary {
    gap: 10px;
}

.web-report-summary .notifications-summary span {
    background: #ffffff;
    border-color: #dcebf5;
    box-shadow: 0 10px 22px rgba(23, 63, 99, 0.04);
    min-height: 58px;
}

.web-report-summary .notifications-summary span:nth-child(1) b {
    color: #158452;
}

.web-report-summary .notifications-summary span:nth-child(2) b,
.web-report-summary .notifications-summary span:nth-child(4) b {
    color: #b42318;
}

.web-report-summary .notifications-summary span:nth-child(3) b {
    color: #986a00;
}

body.section-correos_webcolegios .webcolegios-search-row {
    align-items: end;
    background: #ffffff;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(320px, 1fr) minmax(170px, .18fr) minmax(170px, .18fr) auto auto auto;
}

body.section-correos_webcolegios .webcolegios-search-row > label:first-of-type {
    min-width: 280px;
}

@media (max-width: 1180px) {
    .web-report-filters {
        grid-template-columns: 1fr;
    }

    .web-report-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .web-report-field.is-search {
        grid-column: 1 / -1;
    }

    .web-report-filter-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    .sietdh-modal-head-actions,
    .sietdh-board-actions {
        width: 100%;
    }

    body.section-correos_webcolegios .clientes-submenu-row {
        align-items: stretch;
        display: grid;
        gap: 12px;
        grid-template-columns: 1fr;
        padding: 12px;
    }

    body.section-correos_webcolegios .sietdh-board-title {
        align-items: flex-start;
        width: 100%;
    }

    body.section-correos_webcolegios .sietdh-board-title small {
        line-height: 1.35;
    }

    body.section-correos_webcolegios .sietdh-board-actions {
        display: grid;
        gap: 8px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    body.section-correos_webcolegios .sietdh-board-actions .btn {
        justify-content: center;
        min-height: 42px;
        padding: 9px 8px;
        text-align: center;
        white-space: normal;
        width: 100%;
    }

    .proposal-send-head,
    .proposal-config-grid,
    .proposal-target-layout,
    .proposal-target-fields {
        grid-template-columns: 1fr;
    }

    .proposal-send-head,
    .proposal-target-head {
        align-items: flex-start;
        display: grid;
    }

    .proposal-send-badge {
        justify-content: center;
        width: 100%;
    }

    .web-report-head-actions,
    .gmail-bounce-review-form,
    .web-report-head-actions .btn,
    .gmail-bounce-review-form .btn,
    .gmail-bounce-status {
        justify-content: center;
        width: 100%;
    }

    .sietdh-board-actions .btn {
        justify-content: center;
        width: 100%;
    }

    body.section-correos_webcolegios .web-mail-tabs {
        display: grid;
        gap: 6px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 6px;
    }

    body.section-correos_webcolegios .web-mail-tabs button {
        font-size: 12px;
        gap: 5px;
        justify-content: center;
        line-height: 1.15;
        min-height: 42px;
        padding: 8px 6px;
        text-align: center;
        white-space: normal;
        width: 100%;
    }

    .proposal-save-note {
        align-items: stretch;
        display: grid;
    }

    .proposal-test-note,
    .proposal-test-actions {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .web-report-filters,
    body.section-correos_webcolegios .webcolegios-search-row {
        grid-template-columns: 1fr;
    }

    body.section-correos_webcolegios .webcolegios-search-row > .btn,
    .web-report-filter-actions .btn {
        justify-content: center;
        width: 100%;
    }

    .web-report-filter-grid,
    .web-report-filter-actions,
    .web-report-summary .notifications-summary {
        grid-template-columns: 1fr;
    }

    .web-report-filter-actions {
        display: grid;
    }

    .proposal-save-button {
        justify-content: center;
        width: 100%;
    }

    .sietdh-user-chip {
        flex: 1 1 auto;
    }
}

@media (max-width: 380px) {
    body.section-correos_webcolegios .sietdh-board-actions,
    body.section-correos_webcolegios .web-mail-tabs {
        grid-template-columns: 1fr;
    }
}

.rector-history {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

.rector-history .rector-filter-panel.compact-filter-panel {
    border: 1px solid #d5e4f0;
    border-radius: 8px;
    box-shadow: 0 14px 34px rgba(28, 61, 96, 0.05);
    margin-bottom: 14px;
}

.rector-history .rector-filter-panel.compact-filter-panel .rector-history-search {
    grid-template-columns: minmax(280px, 1fr) minmax(128px, 164px) minmax(104px, 124px) minmax(112px, 128px);
}

.rector-history .rector-filter-panel.compact-filter-panel .rector-history-search .btn {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-height: 40px;
    white-space: nowrap;
}

.rector-history .rector-filter-panel.compact-filter-panel .filter-pills {
    grid-template-columns: 1fr 1fr;
}

.rector-list-table-wrap {
    max-height: calc(100vh - 410px);
    min-height: 390px;
}

.import-hero-card {
    grid-column: 1 / -1;
    margin-bottom: 0;
}

.import-dashboard .import-panel {
    border-color: #d1e3f0;
    border-radius: 8px;
    box-shadow: 0 18px 40px rgba(28, 61, 96, 0.07);
}

.import-dashboard .import-panel-head {
    background: linear-gradient(180deg, #f7fbff 0%, #eef7ff 100%);
}

.import-file-card {
    grid-template-columns: 52px minmax(0, 1fr) minmax(230px, 0.7fr);
}

.import-file-card input[type="file"] {
    height: 1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

.file-drop-control {
    align-items: center;
    background: #ffffff;
    border: 1px solid #cfe0ee;
    border-radius: 8px;
    display: grid;
    gap: 10px;
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 46px;
    padding: 5px;
}

.file-drop-button {
    align-items: center;
    background: var(--blue-800);
    border-radius: 7px;
    color: #ffffff;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 7px;
    justify-content: center;
    min-height: 34px;
    padding: 8px 12px;
    white-space: nowrap;
}

.file-drop-name {
    color: #40566d;
    display: block;
    font-size: 12px;
    font-weight: 650;
    min-width: 0;
    overflow: hidden;
    padding-right: 8px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.import-file-card:hover {
    background: #f4faff;
    border-color: var(--blue-800);
}

.import-submit-btn {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-width: 150px;
}

.import-html-summary {
    border-top: 1px solid #d8e7f3;
    display: grid;
    gap: 12px;
    margin-top: 4px;
    padding-top: 14px;
}

.import-html-summary-head {
    align-items: end;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.import-html-summary-head strong {
    color: #102743;
    display: block;
    font-size: 16px;
    margin-top: 3px;
}

.import-html-summary-head > span {
    color: #4c6780;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.import-html-stat-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.import-html-stat {
    background: #f7fbff;
    border: 1px solid #d7e7f3;
    border-radius: 8px;
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 12px;
}

.import-html-stat strong {
    color: var(--blue-900);
    font-size: 20px;
    line-height: 1.08;
    overflow-wrap: anywhere;
}

.import-html-stat small {
    color: #536b83;
    font-size: 12px;
    font-weight: 700;
}

.import-html-history-list {
    display: grid;
    gap: 8px;
}

.import-html-history-item {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d7e7f3;
    border-radius: 8px;
    display: grid;
    gap: 10px;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    min-height: 58px;
    padding: 9px 10px;
}

.import-html-history-main {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.import-html-history-main strong {
    color: #102743;
    font-size: 13px;
    overflow-wrap: anywhere;
}

.import-html-history-main small {
    color: #536b83;
    font-size: 12px;
    font-weight: 700;
}

.import-html-history-item em {
    color: #315e85;
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
    white-space: nowrap;
}

@media (max-width: 1180px) {
    .users-overview-panel,
    .rector-history-summary,
    .import-hero-card {
        grid-template-columns: 1fr;
    }

    .users-overview-metrics,
    .rector-history-metrics,
    .import-hero-metrics {
        width: 100%;
    }

    .rector-history .rector-filter-panel.compact-filter-panel .rector-history-search {
        grid-template-columns: minmax(0, 1fr) repeat(3, minmax(104px, 1fr));
    }
}

@media (max-width: 760px) {
    .users-overview-panel,
    .rector-history-summary,
    .import-hero-card {
        padding: 18px;
    }

    .users-overview-copy h2,
    .rector-history-summary h2,
    .import-hero-card h2 {
        font-size: 22px;
    }

    .users-overview-metrics,
    .rector-history-metrics,
    .import-hero-metrics,
    .rector-history .rector-filter-panel.compact-filter-panel .filter-pills,
    .rector-history .rector-filter-panel.compact-filter-panel .rector-history-search {
        grid-template-columns: 1fr;
    }

    .users-seed-action,
    .users-seed-action .btn,
    .import-submit-btn {
        width: 100%;
    }

    .import-html-stat-grid {
        grid-template-columns: 1fr;
    }

    .import-file-card {
        grid-template-columns: 46px minmax(0, 1fr);
    }

    .file-drop-control {
        grid-column: 1 / -1;
        grid-template-columns: 1fr;
    }

    .file-drop-button,
    .file-drop-name {
        justify-content: center;
        text-align: center;
    }

    .import-html-summary-head {
        align-items: start;
        flex-direction: column;
    }

    .import-html-history-item {
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .import-html-history-item em {
        grid-column: 2;
        justify-self: start;
    }
}

.import-dashboard {
    align-items: start;
    display: grid;
    gap: 18px;
    grid-template-areas:
        "hero hero"
        "upload sync"
        "history sync"
        "rules rules";
    grid-template-columns: minmax(0, 1fr) minmax(390px, 0.92fr);
}

.import-dashboard > .import-hero-card {
    grid-area: hero;
    margin-bottom: 0;
}

.import-sync-panel {
    grid-area: sync;
}

.import-html-panel {
    grid-area: upload;
    margin: 0;
}

.import-history-panel {
    grid-area: history;
}

.import-rules-panel {
    grid-area: rules;
    grid-column: auto;
}

.import-dashboard .import-panel {
    background: #ffffff;
    border: 1px solid #cfe1ef;
    border-radius: 8px;
    box-shadow: 0 18px 40px rgba(28, 61, 96, 0.07);
}

.import-html-panel {
    display: grid;
    gap: 16px;
}

.import-html-panel .import-panel-head {
    border-bottom: 0;
    padding-bottom: 12px;
}

.import-file-card {
    margin: 0 20px;
}

.import-submit-btn {
    margin: 0 20px 20px;
    width: max-content;
}

.import-history-panel {
    overflow: hidden;
    padding: 0;
}

.import-history-panel .import-html-summary {
    background:
        linear-gradient(135deg, rgba(237, 247, 255, 0.9), rgba(255, 255, 255, 0.98)),
        #ffffff;
    border: 0;
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 18px 20px 20px;
}

.import-history-panel .import-html-summary-head {
    align-items: center;
    border-bottom: 1px solid #d9e8f3;
    padding-bottom: 12px;
}

.import-history-panel .import-html-summary-head strong {
    font-size: 18px;
}

.import-history-panel .import-html-summary-head > span {
    background: #edf6ff;
    border: 1px solid #c7ddf0;
    border-radius: 999px;
    color: var(--blue-900);
    padding: 7px 11px;
}

.import-history-panel .import-html-stat-grid {
    gap: 12px;
}

.import-history-panel .import-html-stat {
    background: #ffffff;
    box-shadow: 0 10px 20px rgba(31, 72, 110, 0.04);
    min-height: 72px;
}

.import-history-panel .import-html-history-list {
    gap: 10px;
    max-height: 352px;
    overflow: auto;
    padding-right: 4px;
}

.import-history-panel .import-html-history-item {
    border-color: #cfe2f1;
    box-shadow: 0 10px 18px rgba(27, 65, 101, 0.035);
    min-height: 56px;
    transition: border-color 0.18s ease, transform 0.18s ease;
}

.import-history-panel .import-html-history-item:hover {
    border-color: #9fc5e6;
    transform: translateY(-1px);
}

.import-sync-panel .sync-source-list {
    gap: 10px;
    padding: 16px 18px 12px;
}

.import-sync-panel .sync-source-item {
    grid-template-columns: minmax(0, 1fr);
}

.import-sync-panel .sync-source-item form,
.import-sync-panel .sync-all-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    width: 100%;
}

.import-sync-panel .sync-source-item .btn,
.import-sync-panel .sync-all-form .btn {
    white-space: nowrap;
}

.import-sync-panel .sync-source-main {
    align-items: flex-start;
}

.import-sync-panel .sync-source-main small {
    max-width: 100%;
}

.import-rules-panel {
    align-items: start;
    display: grid;
    gap: 0;
    grid-template-columns: minmax(270px, 0.32fr) minmax(0, 1fr);
    overflow: hidden;
    padding: 0;
}

.import-rules-panel .import-panel-head {
    align-self: stretch;
    border-bottom: 0;
    border-right: 1px solid #dce9f4;
}

.import-rules-panel .clean-list {
    columns: 2;
    gap: 32px;
    padding: 20px 24px 20px 34px;
}

@media (max-width: 1180px) {
    .import-dashboard {
        grid-template-areas:
            "hero"
            "upload"
            "sync"
            "history"
            "rules";
        grid-template-columns: minmax(0, 1fr);
    }

    .import-sync-panel .sync-source-item {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .import-rules-panel {
        grid-template-columns: 1fr;
    }

    .import-rules-panel .import-panel-head {
        border-bottom: 1px solid #dce9f4;
        border-right: 0;
    }
}

@media (max-width: 760px) {
    .import-dashboard {
        gap: 14px;
    }

    .import-submit-btn {
        width: calc(100% - 40px);
    }

    .import-sync-panel .sync-source-item,
    .import-sync-panel .sync-source-item form,
    .import-sync-panel .sync-all-form {
        grid-template-columns: 1fr;
    }

    .import-sync-panel .sync-source-item .btn,
    .import-sync-panel .sync-all-form .btn {
        width: 100%;
    }

    .import-rules-panel .clean-list {
        columns: 1;
    }
}

.rector-history .rector-filter-panel.compact-filter-panel .rector-history-search-clean {
    background: transparent;
    border: 0;
    display: grid !important;
    gap: 10px;
    grid-template-columns: minmax(360px, 1fr) minmax(130px, 160px) minmax(118px, 136px) minmax(126px, 146px);
    overflow: visible;
    padding: 0;
}

.rector-history-search-clean .rector-search-field {
    min-width: 0;
}

.rector-history-search-clean .rector-search-submit,
.rector-history-search-clean .rector-add-action {
    align-items: center !important;
    border-radius: 8px;
    display: inline-flex !important;
    font-size: 13px;
    font-weight: 850;
    height: 40px;
    justify-content: center !important;
    line-height: 1;
    margin: 0;
    max-width: none !important;
    min-width: 0 !important;
    overflow: visible !important;
    padding: 0 16px !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
    width: 100% !important;
}

.rector-history-search-clean .rector-add-action {
    background: #235f93 !important;
    border-color: #235f93 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

.rector-history-search-clean .rector-add-action:hover,
.rector-history-search-clean .rector-search-submit:hover {
    background: #1f537f !important;
    border-color: #1f537f !important;
    color: #ffffff !important;
}

@media (max-width: 1180px) {
    .rector-history .rector-filter-panel.compact-filter-panel .rector-history-search-clean {
        grid-template-columns: minmax(260px, 1fr) repeat(3, minmax(118px, 1fr));
    }
}

@media (max-width: 760px) {
    .rector-history .rector-filter-panel.compact-filter-panel .rector-history-search-clean {
        grid-template-columns: 1fr;
    }
}

.cap-board {
    overflow: visible;
}

.cap-board .cap-table-wrap {
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid #d5e4f0;
    border-radius: 8px;
    box-shadow: 0 16px 38px rgba(28, 61, 96, 0.06);
    overflow: auto;
}

.cap-table.data-table {
    border: 0;
    min-width: 1320px;
    table-layout: fixed;
}

.cap-table.data-table thead th {
    background: linear-gradient(180deg, #f8fbff, #edf5fc);
    color: #173f63;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0;
    position: sticky;
    text-transform: uppercase;
    top: 0;
    z-index: 4;
}

.cap-table.data-table th,
.cap-table.data-table td {
    overflow-wrap: anywhere;
    padding-left: 12px;
    padding-right: 12px;
    vertical-align: top;
}

.cap-table.data-table tbody tr {
    background: #ffffff;
    transition: background 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.cap-table.data-table tbody tr:nth-child(even) {
    background: #fbfdff;
}

.cap-table.data-table tbody tr:hover {
    background: #f4f9ff;
    box-shadow: inset 3px 0 0 #2f86cf;
}

.cap-table.data-table td small {
    color: #58718c;
    display: block;
    line-height: 1.45;
    margin-top: 5px;
}

.cap-table.data-table th:nth-child(1),
.cap-table.data-table td:nth-child(1) {
    width: 126px;
}

.cap-table.data-table th:nth-child(2),
.cap-table.data-table td:nth-child(2) {
    width: 25%;
}

.cap-table.data-table th:nth-child(3),
.cap-table.data-table td:nth-child(3) {
    width: 132px;
}

.cap-table.data-table th:nth-child(4),
.cap-table.data-table td:nth-child(4) {
    width: 132px;
}

.cap-table.data-table th:nth-child(5),
.cap-table.data-table td:nth-child(5) {
    width: 18%;
}

.cap-table.data-table th:nth-child(6),
.cap-table.data-table td:nth-child(6) {
    text-align: center;
    width: 104px;
}

.cap-table.data-table th:nth-child(7),
.cap-table.data-table td:nth-child(7) {
    width: 96px;
}

.cap-table.data-table th:nth-child(8),
.cap-table.data-table td:nth-child(8) {
    width: 218px;
}

.cap-table.data-table th:nth-child(9),
.cap-table.data-table td:nth-child(9) {
    background: rgba(255, 255, 255, 0.98);
    box-shadow: -10px 0 18px rgba(31, 62, 94, 0.04);
    position: sticky;
    right: 0;
    width: 188px;
    z-index: 2;
}

.cap-table.data-table tbody tr:nth-child(even) td:nth-child(9) {
    background: #fbfdff;
}

.cap-table.data-table tbody tr:hover td:nth-child(9) {
    background: #f4f9ff;
}

.cap-table.data-table th:nth-child(9) {
    background: linear-gradient(180deg, #f8fbff, #edf5fc);
    z-index: 5;
}

.cap-missing-list .cap-table.data-table {
    min-width: 1080px;
}

.cap-missing-list .cap-table.data-table th:nth-child(n),
.cap-missing-list .cap-table.data-table td:nth-child(n) {
    width: auto;
}

.cap-missing-list .cap-table.data-table th:last-child,
.cap-missing-list .cap-table.data-table td:last-child {
    position: static;
}

.rut-modal-dialog {
    max-width: 980px;
    overflow: hidden;
    width: min(980px, calc(100vw - 48px));
}

.rut-modal-head {
    background:
        linear-gradient(135deg, rgba(11, 45, 75, 0.98), rgba(48, 126, 190, 0.96)),
        #1f679c;
    border-bottom: 0;
    color: #ffffff;
    gap: 16px;
    min-height: 104px;
    padding: 22px 24px;
    position: relative;
}

.rut-modal-head::after {
    background: rgba(255, 255, 255, 0.16);
    content: "";
    height: 150%;
    position: absolute;
    right: 126px;
    top: -25%;
    transform: rotate(28deg);
    width: 18px;
}

.rut-modal-head > * {
    position: relative;
    z-index: 1;
}

.rut-modal-head .section-kicker {
    color: #ffd800;
}

.rut-modal-head h2 {
    color: #ffffff;
    font-size: 22px;
    line-height: 1.2;
}

.rut-modal-head-actions {
    align-items: center;
    display: inline-flex;
    gap: 12px;
    justify-content: flex-end;
}

.rut-header-registered {
    align-items: center;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.48);
    border-radius: 8px;
    box-shadow: 0 12px 24px rgba(8, 31, 54, 0.14);
    display: inline-flex;
    gap: 9px;
    min-height: 48px;
    min-width: 168px;
    padding: 7px 10px;
}

.rut-header-avatar {
    border-color: #bdd4ea;
    height: 30px;
    width: 30px;
}

.rut-header-registered > span:last-child {
    display: grid;
    gap: 1px;
    min-width: 0;
}

.rut-header-registered strong {
    color: var(--blue-900);
    font-size: 13px;
    font-weight: 900;
    line-height: 1.15;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rut-header-registered small {
    color: #4f6680;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.rut-modal-close {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.38);
    color: #ffffff;
}

.rut-modal-close:hover {
    background: rgba(255, 255, 255, 0.22);
    border-color: rgba(255, 255, 255, 0.62);
    color: #ffffff;
}

.rut-modal-form {
    background:
        linear-gradient(180deg, #f8fbff 0%, #ffffff 46%),
        #ffffff;
    padding: 20px 22px 0;
}

.rut-modal-form .form-grid {
    gap: 14px 16px;
}

.rut-modal-form label {
    color: #40566d;
    font-size: 13px;
    font-weight: 800;
    margin: 0;
}

.rut-modal-form input,
.rut-modal-form textarea {
    background: #fbfdff;
    border-color: #cbdbea;
    border-radius: 8px;
    min-height: 42px;
}

.rut-modal-form textarea {
    min-height: 112px;
    resize: vertical;
}

.rut-modal-form input:focus,
.rut-modal-form textarea:focus {
    border-color: var(--blue-800);
    box-shadow: 0 0 0 3px rgba(47, 103, 154, 0.12);
    outline: none;
}

.rut-modal-form .form-actions {
    background: #ffffff;
    border-top: 1px solid #d9e5ef;
    bottom: 0;
    margin: 18px -22px 0;
    padding: 14px 22px;
    position: sticky;
}

.rut-table-wrap {
    background: #ffffff;
    border: 1px solid #d5e4f0;
    border-radius: 8px;
    box-shadow: 0 16px 38px rgba(28, 61, 96, 0.06);
    max-height: calc(100vh - 308px);
    min-height: 420px;
    overflow: auto;
}

.rut-table.data-table {
    border: 0;
    min-width: 1528px;
    table-layout: fixed;
}

.rut-table.data-table thead th {
    background: linear-gradient(180deg, #f8fbff, #edf5fc);
    border-bottom: 1px solid #c7dcee;
    box-shadow: 0 8px 18px rgba(28, 61, 96, 0.08);
    color: #173f63;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0;
    position: sticky;
    text-transform: uppercase;
    top: 0;
    z-index: 5;
}

.rut-table.data-table th,
.rut-table.data-table td {
    overflow-wrap: normal;
    padding-left: 14px;
    padding-right: 14px;
    vertical-align: middle;
    word-break: normal;
}

.rut-table.data-table thead th {
    white-space: nowrap;
}

.rut-table.data-table tbody tr {
    background: #ffffff;
    transition: background 0.16s ease, box-shadow 0.16s ease;
}

.rut-table.data-table tbody tr:nth-child(even) {
    background: #fbfdff;
}

.rut-table.data-table tbody tr:hover {
    background: #f4f9ff;
    box-shadow: inset 3px 0 0 #2f86cf;
}

.rut-table.data-table td > strong {
    color: #0d2844;
    font-weight: 900;
}

.rut-table.data-table td small {
    color: #5d7288;
    font-size: 12px;
    font-weight: 600;
}

.rut-observation-cell {
    color: #274057;
    line-height: 1.45;
    max-width: 310px;
    white-space: normal;
}

.rut-records-table.data-table th:nth-child(1),
.rut-records-table.data-table td:nth-child(1) {
    white-space: nowrap;
    width: 104px;
}

.rut-records-table.data-table th:nth-child(2),
.rut-records-table.data-table td:nth-child(2) {
    width: 320px;
}

.rut-records-table.data-table th:nth-child(3),
.rut-records-table.data-table td:nth-child(3) {
    white-space: nowrap;
    width: 110px;
}

.rut-records-table.data-table th:nth-child(4),
.rut-records-table.data-table td:nth-child(4) {
    white-space: nowrap;
    width: 104px;
}

.rut-records-table.data-table th:nth-child(5),
.rut-records-table.data-table td:nth-child(5) {
    white-space: nowrap;
    width: 150px;
}

.rut-records-table.data-table th:nth-child(6),
.rut-records-table.data-table td:nth-child(6) {
    white-space: nowrap;
    width: 132px;
}

.rut-records-table.data-table th:nth-child(7),
.rut-records-table.data-table td:nth-child(7) {
    white-space: nowrap;
    width: 140px;
}

.rut-records-table.data-table th:nth-child(8),
.rut-records-table.data-table td:nth-child(8) {
    width: 290px;
}

.rut-records-table.data-table th:nth-child(9),
.rut-records-table.data-table td:nth-child(9) {
    width: 178px;
}

.rut-missing-table.data-table {
    min-width: 1080px;
}

.rut-missing-table.data-table th:nth-child(2),
.rut-missing-table.data-table td:nth-child(2),
.rut-missing-table.data-table th:nth-child(5),
.rut-missing-table.data-table td:nth-child(5),
.rut-missing-table.data-table th:last-child,
.rut-missing-table.data-table td:last-child {
    white-space: nowrap;
}

.rut-records-table.data-table th:nth-child(9),
.rut-records-table.data-table td:nth-child(9),
.rut-missing-table.data-table th:last-child,
.rut-missing-table.data-table td:last-child {
    background: rgba(255, 255, 255, 0.98);
    box-shadow: -10px 0 18px rgba(31, 62, 94, 0.04);
    position: sticky;
    right: 0;
    z-index: 4;
}

.rut-records-table.data-table tbody tr:nth-child(even) td:nth-child(9),
.rut-missing-table.data-table tbody tr:nth-child(even) td:last-child {
    background: #fbfdff;
}

.rut-records-table.data-table tbody tr:hover td:nth-child(9),
.rut-missing-table.data-table tbody tr:hover td:last-child {
    background: #f4f9ff;
}

.rut-records-table.data-table th:nth-child(9),
.rut-missing-table.data-table th:last-child {
    background: linear-gradient(180deg, #f8fbff, #edf5fc);
    z-index: 7;
}

@media (max-width: 780px) {
    .rut-modal-dialog {
        width: 100%;
    }

    .rut-modal-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .rut-modal-head-actions {
        justify-content: space-between;
        width: 100%;
    }

    .rut-header-registered {
        min-width: 0;
        width: calc(100% - 54px);
    }

    .rut-table-wrap {
        max-height: calc(100vh - 260px);
        min-height: 360px;
    }
}

.cap-floating-head {
    border: 1px solid #c7dcee;
    border-radius: 8px 8px 0 0;
    box-shadow: 0 14px 28px rgba(23, 63, 99, 0.16);
    display: none;
    overflow: hidden;
    pointer-events: none;
    position: fixed;
    z-index: 9;
}

.cap-floating-head.is-visible {
    display: block;
}

.cap-floating-table {
    border: 0;
    border-collapse: collapse;
    table-layout: fixed;
}

.cap-floating-table thead th {
    background: linear-gradient(180deg, #f8fbff, #eaf3fb);
    border-bottom: 1px solid #c7dcee;
    color: #173f63;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0;
    padding-left: 12px;
    padding-right: 12px;
    position: static;
    text-transform: uppercase;
    top: auto;
    z-index: auto;
}

.cap-floating-head .cap-floating-table th:nth-child(9) {
    box-shadow: none;
    position: static;
    right: auto;
    z-index: auto;
}

.cap-recording-toast-stack {
    display: grid;
    gap: 10px;
    max-width: min(380px, calc(100vw - 28px));
    position: fixed;
    right: 18px;
    top: 84px;
    z-index: 18;
}

.cap-recording-toast {
    align-items: flex-start;
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid #bfe0fb;
    border-radius: 8px;
    box-shadow: 0 18px 44px rgba(15, 42, 68, 0.18);
    color: #12314b;
    display: grid;
    gap: 11px;
    grid-template-columns: 38px minmax(0, 1fr);
    padding: 13px 42px 13px 13px;
    position: relative;
}

.cap-recording-toast-icon {
    align-items: center;
    background: #e8f4ff;
    border: 1px solid #b9d7f5;
    border-radius: 8px;
    color: #23669d;
    display: inline-flex;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.cap-recording-toast-close {
    align-items: center;
    background: #f4f9ff;
    border: 1px solid #c7dcee;
    border-radius: 8px;
    color: #23669d;
    cursor: pointer;
    display: inline-flex;
    height: 28px;
    justify-content: center;
    padding: 0;
    position: absolute;
    right: 10px;
    top: 10px;
    width: 28px;
}

.cap-recording-toast-body {
    display: grid;
    gap: 5px;
}

.cap-recording-toast-body small {
    color: #23669d;
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

.cap-recording-toast-body strong {
    font-size: 14px;
    line-height: 1.25;
}

.cap-recording-toast-body span {
    color: #526b86;
    font-size: 12px;
    line-height: 1.35;
}

.cap-recording-toast-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 4px;
}

.cap-recording-toast-actions a {
    align-items: center;
    background: #eef6ff;
    border: 1px solid #b9d7f5;
    border-radius: 999px;
    color: #174f7d;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    min-height: 28px;
    padding: 5px 10px;
    text-decoration: none;
}

.cap-recording-toast-actions a:first-child {
    background: #ecfdf5;
    border-color: #a7f3d0;
    color: #047857;
}

.cap-recording-toast-more {
    background: rgba(15, 42, 68, 0.88);
    border-radius: 999px;
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
    justify-self: end;
    padding: 8px 12px;
}

@media (min-width: 901px) {
    .cap-board .cap-table-wrap {
        overflow: visible;
    }

    .cap-table.data-table thead th {
        border-bottom: 1px solid #c7dcee;
        box-shadow: 0 10px 18px rgba(28, 61, 96, 0.08);
        top: 64px;
        z-index: 8;
    }

    .cap-table.data-table thead th:nth-child(9) {
        z-index: 10;
    }
}

@media (max-width: 760px) {
    .cap-recording-toast-stack {
        left: 12px;
        right: 12px;
        top: 76px;
    }
}

.webact-modal-dialog {
    background: #f7fbff;
    max-width: 920px;
    overflow: hidden;
    width: min(920px, 100%);
}

.webact-modal-dialog .floating-modal-head {
    background:
        linear-gradient(135deg, rgba(11, 45, 75, 0.98), rgba(45, 122, 185, 0.95)),
        #1f679c;
    border-bottom: 0;
    color: #ffffff;
    padding: 22px 24px;
    position: relative;
}

.webact-modal-dialog .floating-modal-head::after {
    background: rgba(255, 255, 255, 0.16);
    content: "";
    height: 150%;
    position: absolute;
    right: 128px;
    top: -25%;
    transform: rotate(28deg);
    width: 18px;
}

.webact-modal-dialog .floating-modal-head > * {
    position: relative;
    z-index: 1;
}

.webact-modal-dialog .floating-modal-head .section-kicker {
    color: #ffd800;
}

.webact-modal-dialog .floating-modal-head h2 {
    color: #ffffff;
}

.webact-modal-dialog .floating-modal-head .icon-btn {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.36);
    color: #ffffff;
}

.webact-head-actions {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 10px;
}

.webact-header-registrar {
    align-items: center;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(255, 255, 255, 0.62);
    border-radius: 8px;
    box-shadow: 0 12px 26px rgba(5, 28, 50, 0.16);
    display: inline-grid;
    gap: 9px;
    grid-template-columns: 34px minmax(0, auto);
    min-height: 42px;
    padding: 5px 10px 5px 6px;
}

.webact-header-registrar .task-person-avatar {
    height: 34px;
    width: 34px;
}

.webact-header-registrar strong,
.webact-header-registrar small {
    display: block;
    line-height: 1.15;
}

.webact-header-registrar strong {
    color: var(--blue-900);
    font-size: 14px;
    font-weight: 900;
}

.webact-header-registrar small {
    color: #60758b;
    font-size: 11px;
    font-weight: 750;
    margin-top: 2px;
}

.webact-form {
    background:
        linear-gradient(180deg, #edf6ff 0%, #f8fbff 42%, #ffffff 100%),
        #ffffff;
    gap: 16px;
    padding: 18px 20px 20px;
}

.webact-form-panel {
    background: #ffffff;
    border: 1px solid #cfe1ef;
    border-radius: 8px;
    box-shadow: 0 14px 28px rgba(26, 65, 102, 0.055);
    display: grid;
    gap: 14px;
    padding: 16px;
}

.webact-form-panel-notification {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(244, 250, 255, 0.96)),
        #ffffff;
}

.webact-form-panel-head {
    align-items: center;
    border-bottom: 1px solid #dce9f4;
    display: flex;
    gap: 10px;
    padding-bottom: 12px;
}

.webact-form-panel-head .form-section-title {
    margin: 0;
}

.webact-form-panel-head small {
    color: #5d7288;
    display: block;
    font-size: 12px;
    font-weight: 650;
    margin-top: 3px;
}

.webact-form-step {
    align-items: center;
    background: var(--yellow);
    border: 1px solid #f0bd39;
    border-radius: 8px;
    color: #143455;
    display: inline-flex;
    flex: 0 0 34px;
    font-size: 14px;
    font-weight: 950;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.webact-form label {
    color: #3f5369;
    font-size: 13px;
    font-weight: 850;
    margin: 0;
}

.webact-form input,
.webact-form textarea {
    background: #fbfdff;
    border-color: #c8ddec;
    border-radius: 8px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.webact-form input:focus,
.webact-form textarea:focus {
    background: #ffffff;
    border-color: var(--blue-800);
    box-shadow: 0 0 0 3px rgba(45, 112, 174, 0.12);
}

.webact-form textarea {
    min-height: 84px;
}

.webact-form .field-help {
    color: #667d94;
    display: block;
    font-size: 11px;
    font-weight: 650;
    margin: 8px 0 0;
}

.webact-form .form-actions {
    background: transparent;
    border-top: 0;
    justify-content: flex-start;
    padding-top: 0;
}

.webact-main-grid {
    display: grid;
    grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
}

.webact-notification-type {
    margin: 0;
}

.webact-notification-type > span {
    color: #3f5369;
    display: block;
    font-size: 13px;
    font-weight: 850;
    margin-bottom: 8px;
}

.webact-notification-type .period-options {
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.webact-notification-type .period-option span {
    background: #f8fbff;
    border-color: #c9ddec;
    border-radius: 8px;
    color: #40566d;
    gap: 8px;
    font-weight: 850;
    min-height: 38px;
}

.webact-channel-icon {
    fill: none;
    flex: 0 0 auto;
    height: 17px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 17px;
}

.webact-notification-type .period-option span:hover {
    border-color: #9fc5e6;
}

.webact-notification-type .period-option input:checked + span {
    background: var(--blue-800);
    border-color: var(--blue-800);
    box-shadow: 0 12px 24px rgba(37, 97, 151, 0.16);
    color: #ffffff;
}

.webact-notification-grid {
    align-items: end;
    background: #f7fbff;
    border: 1px solid #dce9f4;
    border-radius: 8px;
    gap: 12px;
    padding: 12px;
}

.webact-notification-grid label[hidden] {
    display: none;
}

.webact-manual-card {
    align-items: center;
    background: linear-gradient(135deg, #eef8f7, #f8fcff);
    border: 1px solid #b8ded8;
    border-left: 5px solid #16806b;
    border-radius: 10px;
    display: grid;
    gap: 12px 18px;
    grid-template-columns: minmax(0, 1fr) auto;
    margin-top: 12px;
    padding: 14px 16px;
}

.webact-manual-card[hidden] {
    display: none;
}

.webact-manual-copy span {
    color: #16806b;
    display: block;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.webact-manual-copy strong {
    color: #12385b;
    display: block;
    font-size: 14px;
    margin-top: 2px;
}

.webact-manual-copy small {
    color: #506b79;
    display: block;
    font-size: 12px;
    margin-top: 3px;
}

.webact-manual-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.webact-manual-actions .btn {
    align-items: center;
    display: inline-flex;
    gap: 6px;
    white-space: nowrap;
}

.webact-manual-url {
    color: #496271;
    font-size: 11px;
    font-weight: 750;
    grid-column: 1 / -1;
}

.webact-manual-url input {
    background: #ffffff;
    font-size: 12px;
    margin-top: 4px;
}

.webact-manual-empty {
    margin: 12px 0 0;
}

@media (max-width: 650px) {
    .webact-manual-card {
        grid-template-columns: 1fr;
    }

    .webact-manual-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 720px) {
    .webact-modal-dialog .floating-modal-head {
        align-items: flex-start;
        gap: 12px;
    }

    .webact-head-actions {
        gap: 8px;
    }

    .webact-header-registrar {
        grid-template-columns: 30px minmax(0, auto);
        padding-right: 8px;
    }

    .webact-header-registrar .task-person-avatar {
        height: 30px;
        width: 30px;
    }

    .webact-header-registrar strong {
        font-size: 13px;
        max-width: 102px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .webact-main-grid,
    .webact-form .field-grid.two,
    .webact-notification-type .period-options {
        grid-template-columns: 1fr;
    }

    .webact-form {
        padding: 14px;
    }

    .webact-form-panel {
        padding: 14px;
    }

    .webact-form-panel-head {
        align-items: flex-start;
    }

    .webact-notification-grid {
        padding: 10px;
    }

    .webact-form .form-actions {
        flex-direction: column;
    }

    .webact-form .form-actions .btn {
        justify-content: center;
        width: 100%;
    }
}

.domain-status-form {
    margin: 0;
}

.domain-status-select {
    appearance: none;
    background-position: right 9px center;
    background-repeat: no-repeat;
    background-size: 12px;
    border-radius: 999px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 750;
    min-height: 30px;
    padding: 5px 28px 5px 22px;
    white-space: nowrap;
}

.domain-status-select.status-activo {
    background-color: #ecf7f0;
    border: 1px solid #bfe4cc;
    color: var(--success);
}

.domain-status-select.status-warning {
    background-color: var(--yellow-soft);
    border: 1px solid var(--yellow-border);
    color: var(--yellow-ink);
}

.domain-status-select.status-inactivo {
    background-color: #fff1f0;
    border: 1px solid #f1c3bf;
    color: var(--danger);
}

.domain-status-form {
    position: relative;
}

.domain-status-form::before {
    border-radius: 50%;
    content: "";
    height: 7px;
    left: 10px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 7px;
    z-index: 1;
}

.domain-status-form.status-activo::before {
    background: #1f9d55;
}

.domain-status-form.status-warning::before {
    background: var(--yellow);
}

.domain-status-form.status-inactivo::before {
    background: var(--danger);
}

.table-actions .icon-btn.success {
    background: #ecfdf5;
    border-color: #a7f3d0;
    color: #047857;
}

/* Colegios: listado mas estable, con menos espacio muerto y mejor uso del viewport. */
.colegios-workspace.single-board-layout {
    gap: 14px;
}

.colegios-workspace.single-board-layout > .colegios-board.panel {
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 118px);
    overflow: hidden;
}

.colegios-board-summary {
    flex: 0 0 auto;
}

.colegios-board > .view-switch,
form.colegio-search-with-inline-filters,
.colegios-status-filter {
    flex: 0 0 auto;
}

body.section-colegios .colegios-board > .view-switch {
    position: sticky;
    top: 64px;
    z-index: 9;
}

body.section-colegios form.colegio-search-with-inline-filters {
    position: sticky;
    top: 116px;
    z-index: 9;
}

body.section-colegios .colegios-status-filter {
    box-shadow: 0 12px 24px rgba(15, 43, 70, 0.08);
    position: sticky;
    top: 190px;
    z-index: 8;
}

.colegio-results-table {
    border-top: 1px solid #d7e5f1;
    flex: 1 1 auto;
    max-height: none;
    min-height: min(640px, calc(100vh - 330px));
    overflow: auto;
}

.colegio-results-table .data-table thead th {
    top: 0;
}

@media (max-height: 760px) {
    .colegios-workspace.single-board-layout > .colegios-board.panel {
        min-height: calc(100vh - 86px);
    }

    .colegio-results-table {
        min-height: min(520px, calc(100vh - 286px));
    }

    .colegios-board-summary {
        padding-bottom: 14px;
        padding-top: 14px;
    }

    body.section-colegios .colegios-board > .view-switch {
        top: 58px;
    }

    body.section-colegios form.colegio-search-with-inline-filters {
        top: 108px;
    }

    body.section-colegios .colegios-status-filter {
        top: 178px;
    }
}

@media (max-width: 980px) {
    body.section-colegios .colegios-board > .view-switch,
    body.section-colegios form.colegio-search-with-inline-filters,
    body.section-colegios .colegios-status-filter {
        position: static;
    }
}

/* Colegios: encabezado fijo real y observaciones rapidas. */
body.section-colegios .colegios-board > .view-switch,
body.section-colegios form.colegio-search-with-inline-filters,
body.section-colegios .colegios-status-filter {
    position: static;
    top: auto;
    z-index: auto;
}

body.section-colegios .colegios-workspace.single-board-layout > .colegios-board.panel {
    overflow: visible;
}

body.section-colegios .colegio-results-table {
    max-height: none;
    min-height: 0;
    overflow: visible;
}

body.section-colegios .colegio-results-table .data-table {
    min-width: 1440px;
}

body.section-colegios .colegio-results-table .data-table thead {
    position: sticky;
    top: 42px;
    z-index: 24;
}

body.section-colegios .colegio-results-table .data-table thead th {
    background: #eef5fc;
    box-shadow: inset 0 -1px 0 #d4e2f0, 0 8px 16px rgba(15, 43, 70, 0.08);
    position: sticky;
    top: 42px;
    z-index: 25;
}

.colegio-observation-cell {
    max-width: 220px;
    min-width: 160px;
}

.colegio-observation-link {
    align-items: center;
    background: #f8fbff;
    border: 1px solid #cfe0ef;
    border-radius: 10px;
    color: #1e5486;
    display: grid;
    gap: 3px;
    min-height: 36px;
    padding: 7px 10px;
    text-decoration: none;
}

.colegio-observation-link strong {
    font-size: 12px;
    font-weight: 900;
}

.colegio-observation-link span {
    color: var(--muted);
    display: -webkit-box;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.colegio-observation-link.is-empty {
    align-items: center;
    border-style: dashed;
    color: #64748b;
    justify-items: center;
    min-height: 34px;
}

.colegio-observation-link:hover,
.colegio-observation-link:focus {
    background: #eef7ff;
    border-color: #87bce8;
    color: var(--primary);
}

.colegio-observation-modal textarea {
    min-height: 180px;
    resize: vertical;
}

.colegio-observation-dialog {
    max-width: 760px;
}

.colegio-observation-modal .floating-modal-head {
    background: linear-gradient(135deg, #164d7a, #2f7fba);
    border-bottom: 0;
    color: #fff;
    padding: 22px 24px;
}

.colegio-observation-modal .floating-modal-head .section-kicker {
    color: #ffe600;
}

.colegio-observation-modal .floating-modal-head h2 {
    color: #fff;
}

.colegio-observation-modal .floating-modal-head .icon-btn {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.34);
    color: #fff;
}

.colegio-observation-modal .modal-form {
    background: #f7fbff;
    padding: 22px 24px 24px;
}

.colegio-observation-school-card {
    background: #fff;
    border: 1px solid #cfe0ef;
    border-left: 4px solid var(--primary);
    border-radius: 12px;
    display: grid;
    gap: 4px;
    padding: 14px 16px;
}

.colegio-observation-school-card span,
.colegio-observation-school-card small {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.colegio-observation-school-card strong {
    color: var(--ink);
    font-size: 16px;
    line-height: 1.3;
}

.colegio-observation-field {
    gap: 8px;
}

.colegio-observation-field > span {
    color: #1f4e7a;
    font-size: 13px;
    font-weight: 900;
}

.colegio-observation-field textarea {
    background: #fff;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.55;
    padding: 14px 16px;
}

.colegio-observation-modal .form-actions {
    background: transparent;
    border-top: 0;
    justify-content: flex-end;
    padding: 0;
}

.colegio-observation-modal .form-actions .btn {
    min-width: 116px;
}

@media (max-height: 760px) {
    body.section-colegios .colegio-results-table {
        max-height: none;
        min-height: 0;
    }

    body.section-colegios .colegio-results-table .data-table thead th {
        top: 42px;
    }
}

@media (max-width: 980px) {
    body.section-colegios .colegio-results-table .data-table thead th {
        position: sticky;
        top: 0;
    }
}

/* Recepcion externa de colegios */
.icon-action-reception {
    position: relative;
}

.reception-action-open {
    background: #eef8ff;
    border-color: #9fd0ee;
    color: #176aa2;
}

.reception-action-open:hover {
    background: #dff2ff;
    border-color: #63add8;
    box-shadow: none;
    color: #125f93;
    transform: none;
}

.reception-action-whatsapp {
    background: #eafaf3;
    border-color: #8bdfbe;
    color: #087a4d;
}

.reception-action-whatsapp:hover {
    background: #d8f6e8;
    border-color: #5fcf9a;
    box-shadow: none;
    color: #05673f;
    transform: none;
}

.reception-action-open:focus-visible,
.reception-action-whatsapp:focus-visible {
    box-shadow: 0 0 0 3px rgba(47, 111, 173, 0.18);
    outline: none;
}

.reception-action-open::after,
.reception-action-whatsapp::after {
    background: #173f63;
    border-radius: 6px;
    bottom: calc(100% + 7px);
    color: #fff;
    content: attr(aria-label);
    font-size: 11px;
    font-weight: 700;
    left: 50%;
    opacity: 0;
    padding: 6px 8px;
    pointer-events: none;
    position: absolute;
    transform: translate(-50%, 4px);
    transition: opacity 0.15s ease, transform 0.15s ease;
    white-space: nowrap;
    z-index: 30;
}

.reception-action-open:hover::after,
.reception-action-open:focus-visible::after,
.reception-action-whatsapp:hover::after,
.reception-action-whatsapp:focus-visible::after {
    opacity: 1;
    transform: translate(-50%, 0);
}

.clientes-reception-generate-form {
    display: inline-flex;
}

.reception-generate-link-btn {
    background: #eef8ff;
    border-color: #9fd0ee;
    box-shadow: none;
    color: #176aa2;
    min-height: 34px;
    padding: 8px 10px;
    white-space: nowrap;
}

.reception-generate-link-btn:hover {
    background: #176aa2;
    border-color: #176aa2;
    color: #fff;
}

.recepcion-board {
    overflow: hidden;
    padding: 22px;
}

.recepcion-head {
    align-items: center;
    background: linear-gradient(115deg, #f7fbff 0%, #ffffff 56%, #eef8ff 100%);
    border: 1px solid #d6e7f3;
    border-radius: 14px;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    margin-bottom: 14px;
    padding: 22px 24px;
}

.recepcion-head h1,
.recepcion-list-head h2 {
    color: #0c3558;
    margin: 4px 0 6px;
}

.recepcion-head p {
    color: #5b7489;
    margin: 0;
}

.recepcion-head-badge {
    align-items: center;
    background: #fff;
    border: 1px solid #b8dfc9;
    border-radius: 12px;
    color: #168050;
    display: grid;
    gap: 2px 9px;
    grid-template-columns: auto auto;
    min-width: 150px;
    padding: 13px 16px;
}

.recepcion-head-badge svg {
    grid-row: span 2;
}

.recepcion-head-badge strong {
    font-size: 24px;
    line-height: 1;
}

.recepcion-head-badge span {
    color: #5c7b6a;
    font-size: 11px;
    font-weight: 700;
}

.recepcion-howto {
    background: #fbfdff;
    border: 1px solid #dceaf4;
    border-radius: 12px;
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 18px;
    padding: 12px 16px;
}

.recepcion-howto div {
    align-items: center;
    color: #48677f;
    display: flex;
    gap: 9px;
    min-width: 0;
}

.recepcion-howto strong {
    align-items: center;
    background: #e8f4fc;
    border-radius: 50%;
    color: #176aa2;
    display: inline-flex;
    flex: 0 0 27px;
    height: 27px;
    justify-content: center;
    width: 27px;
}

.recepcion-metrics {
    margin-bottom: 18px;
}

.recepcion-filter {
    align-items: end;
    grid-template-columns: minmax(260px, 1fr) 190px auto auto;
    margin-bottom: 22px;
}

.recepcion-filter .recepcion-search-field {
    min-width: 0;
}

.recepcion-list-head {
    align-items: center;
    border-bottom: 1px solid #dce8f1;
    display: flex;
    justify-content: space-between;
    margin-bottom: 0;
    padding: 2px 2px 13px;
}

.recepcion-list-head h2 {
    font-size: 19px;
    margin: 3px 0 0;
}

.recepcion-list-count {
    background: #eef8ff;
    border: 1px solid #c9e3f3;
    border-radius: 999px;
    color: #176aa2;
    font-size: 12px;
    font-weight: 800;
    padding: 7px 11px;
}

.recepcion-table-wrap {
    border: 1px solid #d8e6f0;
    border-radius: 0 0 12px 12px;
    overflow-x: auto;
}

.recepcion-table {
    min-width: 950px;
}

.recepcion-table td {
    vertical-align: middle;
}

.recepcion-table td strong,
.recepcion-table td small {
    display: block;
}

.recepcion-table td strong {
    color: #113b5d;
}

.recepcion-table td small {
    color: #6b8498;
    font-size: 11px;
    margin-top: 4px;
}

.recepcion-status-badge {
    border: 1px solid;
    border-radius: 999px;
    display: inline-flex;
    font-size: 11px;
    font-weight: 800;
    padding: 6px 10px;
    white-space: nowrap;
}

.recepcion-status-badge.status-success {
    background: #ecfaf2;
    border-color: #b7e5ca;
    color: #168050;
}

.recepcion-status-badge.status-created {
    background: #edf6ff;
    border-color: #b9d9f2;
    color: #1b679a;
}

.recepcion-status-badge.status-warning {
    background: #fff8df;
    border-color: #efd57a;
    color: #9b7100;
}

.recepcion-status-badge.status-neutral {
    background: #f3f7fa;
    border-color: #d7e2ea;
    color: #6a7e8d;
}

.recepcion-status-badge.status-received {
    background: #eaf6ff;
    border-color: #abd8f3;
    color: #176b9c;
}

.recepcion-row-status-select {
    appearance: none;
    -webkit-appearance: none;
    background-color: #f3f7fa;
    background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
    background-position: calc(100% - 13px) 13px, calc(100% - 9px) 13px;
    background-repeat: no-repeat;
    background-size: 4px 4px, 4px 4px;
    border: 1px solid #d7e2ea;
    border-radius: 999px;
    color: #6a7e8d;
    cursor: pointer;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    min-height: 31px;
    min-width: 144px;
    padding: 0 29px 0 11px;
}

.recepcion-row-status-select:focus-visible {
    outline: 3px solid rgba(47, 120, 173, .22);
    outline-offset: 2px;
}

.recepcion-row-status-select:disabled {
    cursor: wait;
    opacity: .7;
}

.recepcion-row-status-select option {
    background: #fff;
    color: #153d5f;
    font-weight: 700;
}

.recepcion-row-status-select.status-warning {
    background-color: #fff8df;
    border-color: #efd57a;
    color: #9b7100;
}

.recepcion-row-status-select.status-received {
    background-color: #eaf6ff;
    border-color: #abd8f3;
    color: #176b9c;
}

.recepcion-row-status-select.status-created {
    background-color: #edf6ff;
    border-color: #b9d9f2;
    color: #1b679a;
}

.recepcion-row-status-select.status-success {
    background-color: #ecfaf2;
    border-color: #b7e5ca;
    color: #168050;
}

.recepcion-notified {
    color: #168050 !important;
    font-weight: 700;
}

.recepcion-progress-label {
    align-items: center;
    color: #668198;
    display: flex;
    font-size: 11px;
    gap: 8px;
    justify-content: space-between;
    margin-bottom: 7px;
    max-width: 130px;
}

.recepcion-progress-label strong {
    color: #176aa2;
    font-size: 12px;
}

.recepcion-progress-track {
    background: #e7eff5;
    border-radius: 99px;
    height: 7px;
    max-width: 130px;
    overflow: hidden;
}

.recepcion-progress-track i {
    background: linear-gradient(90deg, #2f83ba, #20a779);
    border-radius: inherit;
    display: block;
    height: 100%;
    min-width: 0;
}

.recepcion-date {
    color: #557087;
    font-size: 12px;
    white-space: nowrap;
}

.recepcion-actions {
    flex-wrap: nowrap;
}

.recepcion-actions .btn-small {
    font-size: 11px;
    min-height: 34px;
    padding: 8px 11px;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .recepcion-head {
        align-items: stretch;
        flex-direction: column;
    }

    .recepcion-head-badge {
        align-self: flex-start;
    }

    .recepcion-howto,
    .recepcion-filter {
        grid-template-columns: 1fr;
    }

    .recepcion-filter .btn {
        justify-content: center;
        width: 100%;
    }
}

@media (max-width: 620px) {
    .recepcion-board {
        padding: 14px;
    }

    .recepcion-head {
        padding: 18px;
    }

    .recepcion-howto {
        gap: 9px;
        grid-template-columns: 1fr;
    }

    .recepcion-list-head {
        align-items: flex-start;
        gap: 10px;
        flex-direction: column;
    }
}

/* Compact reception records: dense on desktop, readable as stacked records on mobile. */
.recepcion-records-table-wrap {
    background: #fff;
    border: 1px solid #d7e7ef;
    border-radius: 15px;
    max-height: none;
    min-height: 0;
    overflow: visible;
}

.recepcion-records-table {
    border-collapse: separate;
    border-spacing: 0;
    min-width: 980px;
    width: 100%;
}

.recepcion-records-table th,
.recepcion-records-table td {
    border-bottom: 1px solid #e1edf2;
    padding: 12px 13px;
    text-align: left;
    vertical-align: middle;
}

.recepcion-records-table thead th {
    background: #eef7fb;
    box-shadow: inset 0 -1px 0 #d7e7ef, 0 7px 14px rgba(29, 83, 116, .08);
    color: #2d607d;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .05em;
    position: sticky;
    text-transform: uppercase;
    top: 64px;
    white-space: nowrap;
    z-index: 8;
}

@media (min-width: 851px) and (max-width: 1040px) {
    .recepcion-records-table-wrap {
        overflow-x: auto;
        overflow-y: visible;
    }

    .recepcion-records-table thead th {
        top: 0;
    }
}

.recepcion-records-table tbody tr:last-child td {
    border-bottom: 0;
}

.recepcion-record-row {
    transition: background-color .16s ease;
}

.recepcion-record-row:hover td {
    background: #f7fcfe;
}

.recepcion-record-row td:first-child {
    border-left: 4px solid transparent;
}

.recepcion-record-row.status-card-no_iniciado td:first-child {
    border-left-color: #4ca4ca;
}

.recepcion-record-row.status-card-en_progreso td:first-child {
    border-left-color: #e2b53a;
}

.recepcion-record-row.status-card-completado td:first-child {
    border-left-color: #36b78b;
}

.recepcion-record-row.status-card-sin_verificacion td:first-child {
    border-left-color: #8ca7b8;
}

.recepcion-record-row.status-card-formulario_recibido td:first-child {
    border-left-color: #5aaad6;
}

.recepcion-record-row.status-card-creado td:first-child {
    border-left-color: #2b83bd;
}

.recepcion-record-row.status-card-finalizado td:first-child {
    border-left-color: #36b78b;
}

.recepcion-record-school,
.recepcion-record-contact {
    min-width: 205px;
}

.recepcion-record-workflow {
    min-width: 150px;
}

.recepcion-record-school strong,
.recepcion-record-contact strong {
    color: #153d5f;
    display: block;
    font-size: 12px;
    line-height: 1.35;
}

.recepcion-record-school .recepcion-original-school,
.recepcion-record-workflow small,
.recepcion-record-school small,
.recepcion-record-contact small {
    display: block;
    font-size: 10px;
    line-height: 1.35;
    margin-top: 4px;
}

.recepcion-original-school {
    color: #6b8498;
    font-style: italic;
}

.recepcion-form-received {
    color: #168050;
    font-weight: 800;
}

.recepcion-form-pending {
    color: #a37a00;
}

.recepcion-linked-college {
    color: #2b6792;
    font-weight: 800;
}

.recepcion-record-school strong {
    max-width: 260px;
}

.recepcion-record-school span,
.recepcion-record-contact span,
.recepcion-record-school small,
.recepcion-record-contact small,
.recepcion-record-activity span {
    color: #718a9d;
    display: block;
    font-size: 10px;
    line-height: 1.35;
    margin-top: 3px;
}

.recepcion-record-school span,
.recepcion-record-contact span {
    max-width: 250px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.recepcion-record-progress {
    min-width: 145px;
}

.recepcion-record-progress > div {
    align-items: baseline;
    display: flex;
    gap: 7px;
    white-space: nowrap;
}

.recepcion-record-progress strong {
    color: #205a7d;
    font-size: 12px;
}

.recepcion-record-progress > div span {
    color: #7b93a2;
    font-size: 10px;
}

.recepcion-record-progress i {
    background: #e6eff3;
    border-radius: 99px;
    display: block;
    height: 6px;
    margin-top: 6px;
    overflow: hidden;
    width: 110px;
}

.recepcion-record-progress i b {
    background: linear-gradient(90deg, #2f83ba, #20a779);
    border-radius: inherit;
    display: block;
    height: 100%;
    min-width: 0;
}

.recepcion-record-activity {
    min-width: 135px;
}

.recepcion-record-activity strong {
    color: #315f7c;
    display: block;
    font-size: 11px;
    white-space: nowrap;
}

.recepcion-record-actions {
    min-width: 218px;
    white-space: nowrap;
}

.recepcion-record-actions .btn,
.recepcion-record-actions .icon-btn {
    vertical-align: middle;
}

.recepcion-record-actions .btn-small {
    font-size: 10px;
    min-height: 34px;
    padding: 8px 10px;
}

.recepcion-record-actions .icon-btn {
    height: 34px;
    margin-left: 4px;
    width: 34px;
}

.recepcion-record-actions .empty {
    color: #8195a3;
    font-size: 11px;
}

@media (max-width: 850px) {
    .recepcion-records-table-wrap {
        background: transparent;
        border: 0;
        max-height: none;
        overflow: visible;
    }

    .recepcion-records-table,
    .recepcion-records-table tbody {
        display: block;
        min-width: 0;
        width: 100%;
    }

    .recepcion-records-table thead {
        display: none;
    }

    .recepcion-records-table tbody {
        display: grid;
        gap: 10px;
    }

    .recepcion-record-row {
        background: #fff;
        border: 1px solid #d7e7ef;
        border-left: 4px solid #4ca4ca;
        border-radius: 13px;
        box-shadow: 0 4px 12px rgba(28, 83, 116, .05);
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        overflow: hidden;
    }

    .recepcion-record-row.status-card-en_progreso {
        border-left-color: #e2b53a;
    }

    .recepcion-record-row.status-card-completado {
        border-left-color: #36b78b;
    }

    .recepcion-record-row:hover td {
        background: transparent;
    }

    .recepcion-record-row td,
    .recepcion-record-row td:first-child {
        border: 0;
        min-width: 0;
        padding: 9px 11px;
    }

    .recepcion-record-row td::before {
        color: #7892a3;
        content: attr(data-label);
        display: block;
        font-size: 9px;
        font-weight: 900;
        letter-spacing: .06em;
        margin-bottom: 4px;
        text-transform: uppercase;
    }

    .recepcion-record-school,
    .recepcion-record-contact,
    .recepcion-record-actions {
        grid-column: 1 / -1;
    }

    .recepcion-record-school,
    .recepcion-record-contact {
        border-bottom: 1px solid #edf3f6 !important;
    }

    .recepcion-record-school strong,
    .recepcion-record-school span,
    .recepcion-record-contact strong,
    .recepcion-record-contact span {
        max-width: none;
    }

    .recepcion-record-actions {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        padding-top: 5px !important;
    }

    .recepcion-record-actions::before {
        display: none;
    }
}

@media (max-width: 520px) {
    .recepcion-record-row {
        grid-template-columns: 1fr;
    }

    .recepcion-record-progress,
    .recepcion-record-activity {
        border-top: 1px solid #edf3f6 !important;
    }

    .recepcion-record-actions .btn {
        flex: 1 1 130px;
        justify-content: center;
    }

    .recepcion-record-actions .icon-btn {
        flex: 0 0 34px;
    }
}

/* Reception readability and responsive filter layout. */
.recepcion-reference-toolbar {
    align-items: flex-end;
    gap: 20px;
}

.recepcion-reference-toolbar > div {
    flex: 0 1 280px;
    min-width: 220px;
}

.recepcion-reference-toolbar h3 {
    font-size: 21px;
    line-height: 1.25;
}

.recepcion-reference-toolbar .section-kicker {
    font-size: 11px;
}

.recepcion-reference-filters {
    align-items: stretch;
    display: grid;
    flex: 1 1 720px;
    gap: 10px;
    grid-template-columns: minmax(240px, 1fr) minmax(145px, 170px) 120px 96px;
    min-width: 0;
    width: 100%;
}

.recepcion-reference-filters input,
.recepcion-reference-filters select,
.recepcion-reference-filters .btn {
    min-width: 0;
    width: 100%;
}

.recepcion-reference-filters input,
.recepcion-reference-filters select {
    font-size: 13px;
    height: 44px;
}

.recepcion-reference-filters .btn {
    justify-content: center;
    min-height: 44px;
    padding-inline: 12px;
    white-space: nowrap;
}

.recepcion-records-table th {
    font-size: 11px;
    padding: 14px 15px;
}

.recepcion-records-table td {
    padding: 16px 15px;
}

.recepcion-record-school strong,
.recepcion-record-contact strong {
    font-size: 14px;
}

.recepcion-record-school span,
.recepcion-record-contact span,
.recepcion-record-school small,
.recepcion-record-contact small,
.recepcion-record-activity span {
    font-size: 11px;
}

.recepcion-record-progress strong {
    font-size: 14px;
}

.recepcion-record-progress > div span {
    font-size: 11px;
}

.recepcion-record-activity strong {
    font-size: 12px;
}

.recepcion-record-actions .btn-small {
    font-size: 11px;
    min-height: 38px;
    padding: 9px 12px;
}

.recepcion-record-actions .icon-btn {
    height: 38px;
    width: 38px;
}

@media (max-width: 1200px) {
    .recepcion-reference-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .recepcion-reference-toolbar > div {
        min-width: 0;
    }

    .recepcion-reference-filters {
        grid-template-columns: minmax(220px, 1fr) minmax(135px, 160px) 116px 92px;
    }
}

@media (max-width: 760px) {
    .recepcion-reference-filters {
        grid-template-columns: 1fr 1fr;
    }

    .recepcion-reference-filters input {
        grid-column: 1 / -1;
    }
}

@media (max-width: 520px) {
    .recepcion-reference-filters {
        grid-template-columns: 1fr;
    }

    .recepcion-reference-filters input,
    .recepcion-reference-filters select,
    .recepcion-reference-filters .btn {
        grid-column: auto;
    }
}

/* Recepción: resumen estadístico y filtros legibles en todos los anchos. */
.recepcion-statistics-panel {
    background: #f7fbfd;
    border: 1px solid #d7e7ef;
    border-radius: 18px;
    box-shadow: 0 12px 28px rgba(38, 91, 120, .06);
    margin: 22px 0 28px;
    padding: 22px;
}

.recepcion-statistics-header {
    align-items: center;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 18px;
}

.recepcion-statistics-header h2 {
    color: #153d5f;
    font-size: 22px;
    line-height: 1.2;
    margin: 4px 0 0;
}

.recepcion-statistics-header p {
    color: #60788e;
    font-size: 12px;
    margin: 6px 0 0;
}

.recepcion-statistics-total {
    align-items: center;
    background: #fff;
    border: 1px solid #cfe6dc;
    border-radius: 13px;
    display: flex;
    flex: 0 0 auto;
    gap: 10px;
    min-width: 184px;
    padding: 10px 14px;
}

.recepcion-statistics-total-icon {
    align-items: center;
    background: #eaf8f2;
    border-radius: 10px;
    color: #168050;
    display: inline-flex;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.recepcion-statistics-total strong {
    color: #168050;
    display: block;
    font-size: 22px;
    line-height: 1;
}

.recepcion-statistics-total small {
    color: #60788e;
    display: block;
    font-size: 10px;
    font-weight: 800;
    margin-top: 4px;
}

.recepcion-statistics-layout {
    align-items: stretch;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 1fr) minmax(230px, 270px);
}

.recepcion-statistics-cards {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.recepcion-statistics-card {
    align-items: center;
    background: #fff;
    border: 1px solid #d7e7ef;
    border-radius: 14px;
    display: flex;
    gap: 12px;
    min-height: 92px;
    overflow: hidden;
    padding: 15px;
    position: relative;
}

.recepcion-statistics-card::before {
    background: #5eafd0;
    content: '';
    inset: 0 auto 0 0;
    position: absolute;
    width: 4px;
}

.recepcion-statistics-card.tone-slate::before {
    background: #8ca5b5;
}

.recepcion-statistics-card.tone-yellow::before {
    background: #e2b53a;
}

.recepcion-statistics-card.tone-green::before {
    background: #36b78b;
}

.recepcion-statistics-icon {
    align-items: center;
    background: #eef8fc;
    border-radius: 11px;
    color: #216b9b;
    display: inline-flex;
    flex: 0 0 40px;
    height: 40px;
    justify-content: center;
    width: 40px;
}

.tone-slate .recepcion-statistics-icon {
    background: #f1f5f7;
    color: #60788e;
}

.tone-yellow .recepcion-statistics-icon {
    background: #fff8df;
    color: #aa7900;
}

.tone-green .recepcion-statistics-icon {
    background: #eaf8f2;
    color: #168050;
}

.recepcion-statistics-card-copy strong {
    color: #153d5f;
    display: block;
    font-size: 27px;
    line-height: 1;
}

.recepcion-statistics-card-copy span {
    color: #284e6c;
    display: block;
    font-size: 12px;
    font-weight: 800;
    margin-top: 6px;
}

.recepcion-statistics-card-copy small {
    color: #71899b;
    display: block;
    font-size: 11px;
    margin-top: 4px;
}

.recepcion-statistics-chart {
    align-items: center;
    background: #fff;
    border: 1px solid #d7e7ef;
    border-radius: 14px;
    display: flex;
    gap: 16px;
    justify-content: center;
    padding: 16px;
}

.recepcion-statistics-ring {
    align-items: center;
    background: conic-gradient(#2fb37f var(--ring-value), #e7f0f4 0);
    border-radius: 50%;
    display: flex;
    flex: 0 0 112px;
    height: 112px;
    justify-content: center;
    position: relative;
    width: 112px;
}

.recepcion-statistics-ring::after {
    background: #fff;
    border-radius: 50%;
    content: '';
    inset: 10px;
    position: absolute;
}

.recepcion-statistics-ring > div {
    position: relative;
    text-align: center;
    z-index: 1;
}

.recepcion-statistics-ring strong {
    color: #168050;
    display: block;
    font-size: 24px;
    line-height: 1;
}

.recepcion-statistics-ring span {
    color: #6c8294;
    display: block;
    font-size: 10px;
    font-weight: 800;
    margin-top: 4px;
    text-transform: uppercase;
}

.recepcion-statistics-legend {
    display: grid;
    gap: 11px;
    min-width: 110px;
}

.recepcion-statistics-legend div {
    align-items: center;
    display: grid;
    font-size: 11px;
    gap: 7px;
    grid-template-columns: 9px 1fr auto;
}

.recepcion-statistics-legend i {
    background: #8ca5b5;
    border-radius: 50%;
    height: 8px;
    width: 8px;
}

.recepcion-statistics-legend i.is-progress {
    background: #e2b53a;
}

.recepcion-statistics-legend i.is-complete {
    background: #2fb37f;
}

.recepcion-statistics-legend span {
    color: #60788e;
}

.recepcion-statistics-legend strong {
    color: #153d5f;
}

.recepcion-reference-filters .btn {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 6px;
    justify-content: center;
    min-width: 104px;
    white-space: nowrap;
}

.recepcion-reference-filters .btn .action-icon {
    flex: 0 0 15px;
}

@media (min-width: 761px) {
    .recepcion-reference-filters {
        grid-template-columns: minmax(240px, 1fr) minmax(145px, 170px) minmax(104px, 120px) minmax(104px, 110px);
    }
}

@media (max-width: 980px) {
    .recepcion-statistics-layout {
        grid-template-columns: 1fr;
    }

    .recepcion-statistics-chart {
        justify-content: flex-start;
    }
}

@media (max-width: 620px) {
    .recepcion-statistics-panel {
        padding: 16px;
    }

    .recepcion-statistics-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .recepcion-statistics-total {
        width: 100%;
    }

    .recepcion-statistics-cards {
        grid-template-columns: 1fr;
    }

    .recepcion-statistics-chart {
        flex-direction: column;
    }

    .recepcion-statistics-legend {
        width: 100%;
    }

    .recepcion-reference-filters {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .recepcion-reference-filters input {
        grid-column: 1 / -1;
        min-width: 0;
        width: 100%;
    }

    .recepcion-reference-filters select,
    .recepcion-reference-filters .btn {
        min-width: 0;
        width: 100%;
    }
}

/* Recepción: contador compacto junto al título de seguimiento. */
.recepcion-reference-toolbar-title {
    align-items: center;
    display: flex;
    flex: 0 1 280px !important;
    gap: 12px;
    justify-content: space-between;
    min-width: 220px !important;
}

.recepcion-reference-toolbar-title h3 {
    margin-bottom: 0;
}

.recepcion-reference-count {
    align-items: center;
    background: #effaf4;
    border: 1px solid #c5e6d2;
    border-radius: 11px;
    color: #168050;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 6px;
    padding: 8px 10px;
}

.recepcion-reference-count strong {
    font-size: 18px;
    line-height: 1;
}

.recepcion-reference-count small {
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

@media (max-width: 1200px) {
    .recepcion-reference-toolbar-title {
        min-width: 0 !important;
        width: 100%;
    }
}

@media (max-width: 520px) {
    .recepcion-reference-toolbar-title {
        align-items: flex-start;
    }
}

/* Recepción: acciones de filtro con ancho estable y limpiar como icono. */
.recepcion-reference-filters .btn.primary {
    min-width: 118px;
}

.recepcion-reference-filters .reception-filter-clear {
    align-items: center;
    display: inline-flex;
    flex: 0 0 44px;
    height: 44px;
    justify-content: center;
    max-width: 44px;
    min-width: 44px !important;
    padding: 0;
    width: 44px !important;
}

.recepcion-reference-filters .reception-filter-clear .action-icon {
    flex: 0 0 17px;
    height: 17px;
    width: 17px;
}

@media (min-width: 761px) {
    .recepcion-reference-filters {
        grid-template-columns: minmax(240px, 1fr) minmax(145px, 170px) minmax(118px, 126px) 44px !important;
    }
}

@media (max-width: 1200px) and (min-width: 761px) {
    .recepcion-reference-filters {
        grid-template-columns: minmax(220px, 1fr) minmax(135px, 160px) 118px 44px !important;
    }
}

@media (max-width: 620px) {
    .recepcion-reference-filters .reception-filter-clear {
        max-width: 44px;
        min-width: 44px !important;
        width: 44px !important;
    }
}

.recepcion-expediente-jornada-list {
    display: grid;
    gap: 7px;
    min-width: 220px;
}

.recepcion-expediente-jornada {
    padding: 7px 8px;
    border: 1px solid #dcecf3;
    border-radius: 9px;
    background: #f8fcfd;
}

.recepcion-expediente-jornada > strong {
    display: block;
    margin-bottom: 5px;
    color: #28698d;
    font-size: 11px;
}

.recepcion-expediente-jornada > div {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.recepcion-expediente-grade-chip {
    display: inline-flex;
    align-items: center;
    padding: 4px 7px;
    color: #2b668b;
    border: 1px solid #cfe5ef;
    border-radius: 999px;
    background: #eaf5fb;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
}

/* Decisión del listado estudiantil al generar un enlace de recepción. */
.reception-request-dialog {
    max-width: 620px;
    width: min(620px, 100%);
}

.reception-request-body {
    gap: 18px;
    padding: 22px 24px 24px;
}

.reception-request-intro {
    display: grid;
    gap: 7px;
    padding: 15px 16px;
    border: 1px solid #d6e8f3;
    border-radius: 13px;
    background: linear-gradient(135deg, #f2f9fd, #fbfdff);
}

.reception-request-intro-eyebrow {
    color: #2b729d;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.reception-request-intro p,
.reception-request-intro small {
    margin: 0;
}

.reception-request-intro p {
    color: #173c5c;
    font-size: 15px;
    line-height: 1.5;
}

.reception-request-intro small {
    color: #637d93;
    font-size: 12px;
    line-height: 1.45;
}

.reception-request-form {
    display: grid;
    gap: 16px;
}

.reception-request-options {
    display: grid;
    gap: 10px;
}

.reception-request-option {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) auto;
    align-items: start;
    gap: 12px;
    padding: 14px;
    border: 1px solid #d9e5ee;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.reception-request-option:hover {
    border-color: #9bc9e2;
    background: #f8fcff;
    transform: translateY(-1px);
}

.reception-request-option:focus-within {
    border-color: #3986b5;
    box-shadow: 0 0 0 3px rgba(52, 132, 180, .14);
}

.reception-request-option:has(input:checked) {
    border-color: #4a9bc7;
    background: #edf8fd;
    box-shadow: inset 3px 0 0 #2d82b4;
}

.reception-request-option input {
    width: 16px;
    height: 16px;
    margin: 3px 0 0;
    accent-color: #287eb2;
}

.reception-request-option-copy {
    display: grid;
    gap: 4px;
}

.reception-request-option-copy strong {
    color: #194f77;
    font-size: 13px;
    line-height: 1.35;
}

.reception-request-option-copy small {
    color: #668096;
    font-size: 12px;
    line-height: 1.4;
}

.reception-request-option-tag {
    align-self: center;
    padding: 4px 8px;
    color: #477187;
    border: 1px solid #d4e3ec;
    border-radius: 999px;
    background: #f7fbfd;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .02em;
}

.reception-request-option:has(input:checked) .reception-request-option-tag {
    color: #14654e;
    border-color: #a7dec9;
    background: #e4f7ed;
}

.reception-request-actions {
    margin-top: 0;
    padding-top: 16px;
    border-top: 1px solid #e1ebf1;
}

@media (max-width: 560px) {
    .reception-request-body {
        padding: 18px;
    }

    .reception-request-option {
        grid-template-columns: 18px minmax(0, 1fr);
    }

    .reception-request-option-tag {
        grid-column: 2;
        justify-self: start;
    }
}

/* Cierres académicos: tabla principal más clara, escaneable y consistente. */
.cierres-main-table {
    min-width: 1450px;
}

.cierres-main-table.data-table thead th {
    background: linear-gradient(180deg, #fbfdff 0%, #eef6fc 100%);
    color: #1a496e;
    font-size: 10px;
    letter-spacing: 0.015em;
    padding: 13px 14px;
}

.cierres-main-table.data-table td {
    border-color: #dce8f2;
    padding: 15px 14px;
    vertical-align: middle;
}

.cierres-main-table.data-table tbody tr {
    transition: background-color 0.18s ease, box-shadow 0.18s ease;
}

.cierres-main-table.data-table tbody tr:nth-child(even) {
    background: #fbfdff;
}

.cierres-main-table.data-table tbody tr:hover {
    background: #f1f8fd;
    box-shadow: inset 4px 0 0 #3d88bd;
}

.cierres-main-table .cierre-year-cell {
    min-width: 82px;
}

.cierres-main-table .cierre-school-cell {
    min-width: 265px;
}

.cierres-main-table .cierre-school-cell strong {
    color: #123b60;
    display: block;
    font-size: 13px;
    letter-spacing: 0.005em;
    line-height: 1.38;
}

.cierres-main-table .cierre-school-cell small,
.cierres-main-table .cierre-people-cell small,
.cierres-main-table .cierre-email-cell small,
.cierres-main-table .cierre-promotion-cell small,
.cierres-main-table .cierre-criteria-cell small {
    color: #5f7890;
    display: block;
    font-size: 11px;
    line-height: 1.45;
    margin-top: 4px;
}

.cierres-main-table .cierre-students-cell {
    min-width: 90px;
    text-align: center;
}

.cierres-main-table .cierre-student-total {
    align-items: center;
    background: #eaf4fc;
    border: 1px solid #c7dfef;
    border-radius: 999px;
    color: #1b5d8b;
    display: inline-flex;
    font-size: 13px;
    font-weight: 850;
    justify-content: center;
    min-width: 44px;
    padding: 5px 9px;
}

.cierres-main-table .cierre-people-cell {
    min-width: 142px;
}

.cierres-main-table .cierre-people-cell strong,
.cierres-main-table .cierre-promotion-cell strong,
.cierres-main-table .cierre-email-cell strong {
    color: #234f73;
    font-size: 12px;
    line-height: 1.35;
}

.cierres-main-table .cierre-criteria-cell {
    min-width: 154px;
}

.cierres-main-table .cierre-confirmation-cell,
.cierres-main-table .cierre-status-cell {
    min-width: 108px;
    white-space: nowrap;
}

.cierres-main-table .cierre-promotion-cell {
    min-width: 145px;
}

.cierres-main-table .cierre-email-cell {
    min-width: 190px;
}

.cierres-main-table .cierre-actions-cell,
.cierres-main-table.data-table thead th:last-child {
    box-shadow: -10px 0 18px rgba(31, 62, 94, 0.06);
    min-width: 110px;
    position: sticky;
    right: 0;
    text-align: center;
}

.cierres-main-table .cierre-actions-cell {
    background: rgba(255, 255, 255, 0.98);
    z-index: 3;
}

.cierres-main-table.data-table tbody tr:nth-child(even) .cierre-actions-cell {
    background: #fbfdff;
}

.cierres-main-table.data-table tbody tr:hover .cierre-actions-cell {
    background: #f1f8fd;
}

.cierres-main-table.data-table thead th:last-child {
    background: linear-gradient(180deg, #fbfdff 0%, #eef6fc 100%);
    z-index: 5;
}

.cierres-main-table .cierre-actions-cell .table-actions {
    justify-content: center;
}

@media (max-width: 900px) {
    .cierres-main-table.data-table td {
        padding: 12px 11px;
    }
}

/* Registros de Páginas Web: tablas consistentes, ligeras y fáciles de recorrer. */
.web-records-board {
    background:
        radial-gradient(circle at 96% 0, rgba(86, 181, 220, 0.14), transparent 24%),
        linear-gradient(180deg, #f5f9fc 0%, #eef6fa 100%);
    border: 1px solid #d5e5ef;
    border-radius: 16px;
    box-shadow: 0 12px 28px rgba(22, 71, 103, 0.06);
    overflow: hidden;
}

.web-records-board > .printer-maintenance-search,
.web-records-board > .view-switch {
    background: rgba(255, 255, 255, 0.78);
    border-bottom: 1px solid #d7e6f0;
}

.web-records-board > .printer-maintenance-search {
    padding: 13px 17px;
}

.web-records-board > .view-switch {
    gap: 9px;
    padding: 12px 14px;
}

.web-records-board > .view-switch a {
    border-radius: 10px;
    font-weight: 750;
    transition: background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.web-records-board > .view-switch a:hover {
    box-shadow: 0 6px 14px rgba(20, 78, 116, 0.12);
    transform: translateY(-1px);
}

.web-records-board > .view-switch a.is-active {
    background: linear-gradient(135deg, #1a5f92, #287db3);
    box-shadow: 0 7px 16px rgba(24, 90, 138, 0.2);
}

.web-records-board .cap-calendar-sync-bar {
    background: rgba(255, 255, 255, 0.8);
    border-bottom: 1px solid #d7e6f0;
    padding: 12px 17px;
}

.web-records-table-wrap {
    background: transparent;
    border: 0;
    box-shadow: none;
    overflow-x: auto;
    padding: 8px 13px 17px;
}

.web-records-table {
    border-collapse: separate;
    border-spacing: 0 8px;
    min-width: 1120px;
}

.web-records-table.data-table thead th {
    background: linear-gradient(180deg, #f8fcff 0%, #eaf3f9 100%);
    border: 0;
    box-shadow: inset 0 -1px 0 #c7ddea;
    color: #3e617a;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.025em;
    padding: 11px 13px;
    text-transform: uppercase;
    vertical-align: middle;
}

.web-records-table.data-table thead th:first-child {
    border-radius: 10px 0 0 10px;
}

.web-records-table.data-table thead th:last-child {
    border-radius: 0 10px 10px 0;
    text-align: center;
}

.web-records-table.data-table tbody td {
    background: rgba(255, 255, 255, 0.97);
    border-bottom: 1px solid #dce8f1;
    border-top: 1px solid #dce8f1;
    color: #274a63;
    font-size: 12px;
    line-height: 1.45;
    padding: 12px 13px;
    transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
    vertical-align: middle;
}

.web-records-table.data-table tbody td:first-child {
    border-left: 1px solid #dce8f1;
    border-radius: 11px 0 0 11px;
}

.web-records-table.data-table tbody td:last-child {
    border-right: 1px solid #dce8f1;
    border-radius: 0 11px 11px 0;
}

.web-records-table.data-table tbody tr:hover td {
    background: #f4faff;
    border-color: #b8d8e9;
}

.web-records-table.data-table tbody tr:hover td:first-child {
    box-shadow: -3px 0 0 #35a8a0;
}

.web-records-table.data-table td > strong {
    color: #133f63;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: 0.003em;
}

.web-records-table.data-table td > small,
.web-records-table.data-table .webdoc-notification-cell small {
    color: #69859a;
    font-size: 10px;
}

.web-records-table .status-badge {
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.01em;
    padding: 5px 10px;
}

.web-records-table .table-link {
    color: #17699a;
    font-size: 12px;
    font-weight: 800;
}

.web-records-table .task-observation-cell,
.web-records-table .webdoc-detail-cell {
    color: #31566f;
    line-height: 1.48;
}

.web-records-table .table-actions {
    align-items: center;
    background: #f6fbfe;
    border: 1px solid #d7e6f1;
    border-radius: 10px;
    display: inline-flex;
    gap: 4px;
    justify-content: center;
    padding: 4px;
}

.web-records-table .table-actions .icon-btn {
    height: 32px;
    width: 32px;
}

.web-records-table .empty {
    background: #ffffff !important;
    border: 1px dashed #c8ddea !important;
    border-radius: 11px;
    color: #668197 !important;
    padding: 28px !important;
    text-align: center !important;
}

.web-records-table.web-followups-table td:nth-child(2),
.web-records-table.web-documents-table td:nth-child(2),
.web-records-table.web-inductions-table td:nth-child(2),
.web-records-table.web-domains-table td:nth-child(4),
.web-records-table.web-no-renew-table td:nth-child(2) {
    min-width: 240px;
}

.web-records-table.web-followups-table td:nth-child(7) {
    min-width: 430px;
}

.web-records-table.web-documents-table td:nth-child(5) {
    min-width: 330px;
}

.web-records-table.web-inductions-table td:nth-child(8) {
    min-width: 330px;
}

.web-records-table.web-domains-table td:nth-child(6) {
    min-width: 260px;
}

.web-records-table.web-no-renew-table td:nth-child(4) {
    min-width: 270px;
}

@media (min-width: 901px) {
    body.section-web .web-records-board,
    body.section-web .web-records-table-wrap {
        overflow: visible;
    }

    body.section-web .web-records-table.data-table thead th {
        position: sticky;
        top: 64px;
        z-index: 8;
    }

    body.section-web .web-records-table.data-table thead th:last-child {
        z-index: 9;
    }
}

@media (max-width: 900px) {
    .web-records-table-wrap {
        padding-left: 6px;
        padding-right: 6px;
    }

    .web-records-table {
        border-spacing: 0 6px;
    }

    .web-records-table.data-table tbody td {
        padding: 11px 12px;
    }
}

@media (max-width: 640px) {
    .web-records-board > .printer-maintenance-search,
    .web-records-board > .view-switch,
    .web-records-board .cap-calendar-sync-bar {
        padding-left: 11px;
        padding-right: 11px;
    }
}

/* Estadística comercial: origen y conversión de clientes. */
.clientes-stats-metrics {
    grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
}

.clientes-origin-metric {
    background: #f1f8ff;
    border-top-color: #2377b6;
}

.clientes-origin-metric strong {
    color: #145782;
    font-size: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.clientes-origin-overview-panel,
.clientes-origin-detail-panel {
    gap: 14px;
}

.clientes-origin-note {
    color: #5b7288;
    font-size: 13px;
    line-height: 1.5;
    margin: -3px 0 0;
}

.clientes-origin-overview {
    display: grid;
    gap: 11px;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.clientes-origin-card {
    background: linear-gradient(135deg, #ffffff 0%, #f6fbff 100%);
    border: 1px solid #d9e8f4;
    border-left: 4px solid var(--origin-accent);
    border-radius: 12px;
    box-shadow: 0 5px 14px rgba(24, 74, 113, 0.045);
    display: grid;
    gap: 8px;
    min-width: 0;
    padding: 13px;
    transition: box-shadow .18s ease, transform .18s ease;
}

.clientes-origin-card:hover {
    box-shadow: 0 10px 21px rgba(24, 74, 113, 0.11);
    transform: translateY(-2px);
}

.clientes-origin-card-head {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: space-between;
}

.clientes-origin-card-head strong {
    color: #123a5a;
    font-size: 14px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.clientes-origin-card-head span {
    align-items: center;
    background: color-mix(in srgb, var(--origin-accent) 12%, #ffffff);
    border: 1px solid color-mix(in srgb, var(--origin-accent) 30%, #ffffff);
    border-radius: 999px;
    color: #174f77;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 900;
    justify-content: center;
    min-width: 30px;
    padding: 4px 8px;
}

.clientes-origin-card > small {
    color: #688198;
    font-size: 11px;
    font-weight: 700;
}

.clientes-origin-track {
    background: #e6eff6;
    border-radius: 999px;
    height: 7px;
    overflow: hidden;
}

.clientes-origin-track i {
    background: var(--origin-accent);
    border-radius: inherit;
    display: block;
    height: 100%;
    min-width: 5px;
}

.clientes-origin-card-stats {
    border-top: 1px solid #e4edf5;
    display: grid;
    gap: 6px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding-top: 9px;
}

.clientes-origin-card-stats span {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.clientes-origin-card-stats b {
    color: #648098;
    font-size: 10px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.clientes-origin-card-stats em {
    color: #1b547e;
    font-size: 13px;
    font-style: normal;
    font-weight: 900;
}

.clientes-origin-table {
    border: 1px solid #dce9f3;
    border-radius: 11px;
    overflow: hidden;
}

.clientes-origin-table-row {
    align-items: center;
    background: #ffffff;
    border-top: 1px solid #e4edf5;
    display: grid;
    gap: 9px;
    grid-template-columns: minmax(155px, 1.7fr) repeat(6, minmax(72px, .72fr)) minmax(105px, .9fr);
    min-width: 0;
    padding: 11px 13px;
}

.clientes-origin-table-row:first-child {
    border-top: 0;
}

.clientes-origin-table-row:not(.clientes-origin-table-head):hover {
    background: #f7fbff;
}

.clientes-origin-table-head {
    background: #eef6fc;
    color: #41647e;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.clientes-origin-table-row > strong {
    color: #143f61;
    font-size: 13px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.clientes-origin-table-row > span {
    color: #426278;
    font-size: 13px;
    font-weight: 800;
}

.clientes-origin-rate {
    background: #eaf8ef;
    border: 1px solid #b8e4c8;
    border-radius: 999px;
    color: #087348 !important;
    justify-self: start;
    padding: 4px 8px;
    white-space: nowrap;
}

@media (max-width: 1100px) {
    .clientes-origin-table {
        overflow-x: auto;
    }

    .clientes-origin-table-row {
        min-width: 890px;
    }
}

@media (max-width: 640px) {
    .clientes-origin-overview {
        grid-template-columns: 1fr;
    }

    .clientes-origin-table {
        background: transparent;
        border: 0;
        display: grid;
        gap: 9px;
        overflow: visible;
    }

    .clientes-origin-table-head {
        display: none;
    }

    .clientes-origin-table-row {
        background: #ffffff;
        border: 1px solid #dce9f3;
        border-radius: 10px;
        gap: 9px 12px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        min-width: 0;
        padding: 12px;
    }

    .clientes-origin-table-row > strong {
        grid-column: 1 / -1;
    }

    .clientes-origin-table-row > span {
        align-items: center;
        border-top: 1px solid #edf2f6;
        display: flex;
        justify-content: space-between;
        min-width: 0;
        padding-top: 7px;
    }

    .clientes-origin-table-row > span::before {
        color: #69849a;
        content: attr(data-label);
        font-size: 10px;
        font-weight: 800;
        margin-right: 7px;
        text-transform: uppercase;
    }
}

@media (prefers-reduced-motion: reduce) {
    .clientes-origin-card {
        transition: none;
    }
}

.clientes-origin-year-groups,
.clientes-origin-detail-years {
    display: grid;
    gap: 16px;
}

.clientes-origin-year-section,
.clientes-origin-year-detail {
    background: #f8fbff;
    border: 1px solid #dce9f3;
    border-radius: 12px;
    display: grid;
    gap: 12px;
    padding: 13px;
}

.clientes-origin-year-head {
    align-items: center;
    border-bottom: 1px solid #dce8f2;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 0 1px 10px;
}

.clientes-origin-year-head > div {
    align-items: baseline;
    display: flex;
    gap: 8px;
}

.clientes-origin-year-head span {
    color: #688399;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.clientes-origin-year-head h3 {
    color: #123f62;
    font-size: 18px;
    line-height: 1;
    margin: 0;
}

.clientes-origin-year-head > strong {
    background: #eaf4fc;
    border: 1px solid #c9e0f1;
    border-radius: 999px;
    color: #235d8d;
    font-size: 11px;
    padding: 5px 9px;
    white-space: nowrap;
}

.clientes-origin-year-detail .clientes-origin-table {
    background: #ffffff;
}

@media (max-width: 640px) {
    .clientes-origin-year-section,
    .clientes-origin-year-detail {
        padding: 11px;
    }

    .clientes-origin-year-head {
        align-items: flex-start;
    }

    .clientes-origin-year-head > div {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }

    .clientes-origin-detail-panel .survey-panel-head {
        align-items: flex-start;
    }

    .clientes-origin-detail-panel .survey-panel-head > strong {
        font-size: 10px;
        white-space: normal;
    }
}

/* Barras apiladas: comparativo del origen comercial. */
.clientes-origin-chart-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.clientes-origin-chart-legend span {
    align-items: center;
    background: #f5f9fc;
    border: 1px solid #dce8f2;
    border-radius: 999px;
    color: #547087;
    display: inline-flex;
    font-size: 11px;
    font-weight: 800;
    gap: 6px;
    padding: 5px 8px;
}

.clientes-origin-chart-legend span::before,
.clientes-origin-breakdown span > i {
    background: var(--origin-status-color);
    border-radius: 50%;
    content: "";
    display: inline-block;
    flex: 0 0 auto;
    height: 7px;
    width: 7px;
}

.clientes-origin-chart-legend .is-interesados,
.clientes-origin-breakdown .is-interesados { --origin-status-color: #18aa76; }
.clientes-origin-chart-legend .is-ingresados,
.clientes-origin-breakdown .is-ingresados { --origin-status-color: #2f73ae; }
.clientes-origin-chart-legend .is-proceso,
.clientes-origin-breakdown .is-proceso { --origin-status-color: #f2b234; }
.clientes-origin-chart-legend .is-no-interesados,
.clientes-origin-breakdown .is-no-interesados { --origin-status-color: #e6635b; }
.clientes-origin-chart-legend .is-sin-estado,
.clientes-origin-breakdown .is-sin-estado { --origin-status-color: #94aabb; }

.clientes-origin-chart {
    display: grid;
    gap: 10px;
}

.clientes-origin-chart-row {
    align-items: center;
    animation: clientes-origin-row-in .52s ease both;
    background: linear-gradient(108deg, #ffffff 0%, #f7fbff 100%);
    border: 1px solid #dce8f2;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(18, 67, 103, .035);
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(125px, 180px) minmax(260px, 1fr) minmax(100px, auto);
    padding: 13px;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.clientes-origin-chart-row:nth-child(2) { animation-delay: .06s; }
.clientes-origin-chart-row:nth-child(3) { animation-delay: .12s; }
.clientes-origin-chart-row:nth-child(4) { animation-delay: .18s; }
.clientes-origin-chart-row:nth-child(5) { animation-delay: .24s; }
.clientes-origin-chart-row:nth-child(6) { animation-delay: .3s; }
.clientes-origin-chart-row:nth-child(7) { animation-delay: .36s; }

.clientes-origin-chart-row:hover {
    border-color: #bed8eb;
    box-shadow: 0 11px 22px rgba(18, 67, 103, .11);
    transform: translateY(-2px);
}

.clientes-origin-chart-label {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.clientes-origin-chart-label strong {
    color: #143f61;
    font-size: 14px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.clientes-origin-chart-label span {
    color: #668197;
    font-size: 11px;
    font-weight: 800;
}

.clientes-origin-chart-main {
    display: grid;
    gap: 9px;
    min-width: 0;
}

.clientes-origin-stacked-bar {
    background: #e8f0f6;
    border: 1px solid #dbe7f0;
    border-radius: 999px;
    display: flex;
    height: 16px;
    overflow: hidden;
}

.clientes-origin-stacked-bar i {
    flex: 0 0 var(--segment-size);
    min-width: 0;
    transform: scaleX(0);
    transform-origin: left center;
    animation: clientes-origin-segment-in .85s cubic-bezier(.2, .8, .25, 1) both;
}

.clientes-origin-stacked-bar i:nth-child(2) { animation-delay: .08s; }
.clientes-origin-stacked-bar i:nth-child(3) { animation-delay: .16s; }
.clientes-origin-stacked-bar i:nth-child(4) { animation-delay: .24s; }
.clientes-origin-stacked-bar i:nth-child(5) { animation-delay: .32s; }

.clientes-origin-stacked-bar .is-interesados { background: #18aa76; }
.clientes-origin-stacked-bar .is-ingresados { background: #2f73ae; }
.clientes-origin-stacked-bar .is-proceso { background: #f2b234; }
.clientes-origin-stacked-bar .is-no-interesados { background: #e6635b; }
.clientes-origin-stacked-bar .is-sin-estado { background: #94aabb; }

.clientes-origin-breakdown {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 10px;
}

.clientes-origin-breakdown span {
    align-items: center;
    color: #658096;
    display: inline-flex;
    font-size: 10px;
    gap: 4px;
    min-width: 0;
}

.clientes-origin-breakdown small {
    font-size: inherit;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.clientes-origin-breakdown b {
    color: #214f72;
    font-size: 11px;
}

.clientes-origin-chart-rate {
    background: #eefaf3;
    border: 1px solid #bce4cb;
    border-radius: 10px;
    display: grid;
    gap: 3px;
    justify-items: center;
    padding: 8px 10px;
    text-align: center;
}

.clientes-origin-chart-rate span {
    color: #51806a;
    font-size: 10px;
    font-weight: 800;
}

.clientes-origin-chart-rate strong {
    color: #087349;
    font-size: 18px;
    line-height: 1;
}

@keyframes clientes-origin-row-in {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes clientes-origin-segment-in {
    from { transform: scaleX(0); }
    to { transform: scaleX(1); }
}

@media (max-width: 760px) {
    .clientes-origin-chart-row {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .clientes-origin-chart-rate {
        align-items: center;
        display: flex;
        justify-content: space-between;
        padding: 8px 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .clientes-origin-chart-row,
    .clientes-origin-stacked-bar i {
        animation: none;
        transform: none;
    }
}

/* Gráfico vertical profesional para los canales de captación. */
.clientes-origin-vertical-hint {
    color: #5d788f;
    font-size: 13px;
    line-height: 1.5;
    margin: -3px 0 0;
}

.clientes-origin-vertical-chart {
    align-items: start;
    background:
        linear-gradient(90deg, rgba(222, 237, 247, .58) 1px, transparent 1px),
        repeating-linear-gradient(to bottom, transparent 0, transparent 44px, rgba(197, 218, 232, .72) 44px, rgba(197, 218, 232, .72) 45px),
        linear-gradient(180deg, #fcfeff 0%, #f6fbff 100%);
    background-size: 28px 100%, 100% 45px, 100% 100%;
    border: 1px solid #d9e8f2;
    border-radius: 12px;
    display: grid;
    gap: 16px;
    grid-auto-columns: minmax(116px, 1fr);
    grid-auto-flow: column;
    overflow-x: auto;
    padding: 15px 16px 14px;
    position: relative;
    scrollbar-color: #aac9dd transparent;
    scrollbar-width: thin;
}

.clientes-origin-vertical-chart::-webkit-scrollbar {
    height: 8px;
}

.clientes-origin-vertical-chart::-webkit-scrollbar-thumb {
    background: #b5d0e2;
    border-radius: 999px;
}

.clientes-origin-vertical-column {
    align-items: stretch;
    animation: clientes-origin-vertical-column-in .52s ease both;
    display: grid;
    gap: 8px;
    grid-template-rows: 218px auto auto auto;
    min-width: 0;
    text-align: center;
}

.clientes-origin-vertical-column:nth-child(2) { animation-delay: .06s; }
.clientes-origin-vertical-column:nth-child(3) { animation-delay: .12s; }
.clientes-origin-vertical-column:nth-child(4) { animation-delay: .18s; }
.clientes-origin-vertical-column:nth-child(5) { animation-delay: .24s; }
.clientes-origin-vertical-column:nth-child(6) { animation-delay: .3s; }
.clientes-origin-vertical-column:nth-child(7) { animation-delay: .36s; }

.clientes-origin-vertical-plot {
    align-items: end;
    border-bottom: 2px solid #8caec4;
    display: flex;
    justify-content: center;
    min-width: 0;
    padding: 8px 4px 0;
}

.clientes-origin-vertical-rail {
    align-items: end;
    display: flex;
    height: 100%;
    justify-content: center;
    position: relative;
    width: 100%;
}

.clientes-origin-vertical-rail::after {
    background: linear-gradient(180deg, rgba(63, 170, 214, .2), transparent);
    border-radius: 999px;
    bottom: 0;
    content: "";
    height: 100%;
    max-width: 54px;
    opacity: .34;
    position: absolute;
    width: 46%;
}

.clientes-origin-vertical-rail > i {
    align-items: flex-start;
    animation: clientes-origin-vertical-grow .82s cubic-bezier(.2, .8, .25, 1) both;
    background: linear-gradient(180deg, #58c9e6 0%, #299ccc 53%, #2865a1 100%);
    border: 1px solid rgba(23, 101, 150, .28);
    border-bottom: 0;
    border-radius: 10px 10px 3px 3px;
    box-shadow: 0 8px 15px rgba(24, 100, 156, .2), inset 0 1px 0 rgba(255, 255, 255, .38);
    display: flex;
    flex: 0 0 46%;
    height: var(--bar-size);
    justify-content: center;
    max-width: 54px;
    min-height: 28px;
    padding-top: 7px;
    position: relative;
    transform: scaleY(0);
    transform-origin: bottom center;
    transition: box-shadow .18s ease, filter .18s ease;
    z-index: 1;
}

.clientes-origin-vertical-column:nth-child(5n + 2) .clientes-origin-vertical-rail > i {
    background: linear-gradient(180deg, #75d4e9 0%, #3d9bcd 55%, #3273af 100%);
}

.clientes-origin-vertical-column:nth-child(5n + 3) .clientes-origin-vertical-rail > i {
    background: linear-gradient(180deg, #42b9dd 0%, #2e86bd 55%, #295f9e 100%);
}

.clientes-origin-vertical-column:nth-child(5n + 4) .clientes-origin-vertical-rail > i {
    background: linear-gradient(180deg, #8cdceb 0%, #56b0d7 55%, #3376ad 100%);
}

.clientes-origin-vertical-column:nth-child(5n + 5) .clientes-origin-vertical-rail > i {
    background: linear-gradient(180deg, #37abd6 0%, #287eb4 55%, #245e96 100%);
}

.clientes-origin-vertical-column:hover .clientes-origin-vertical-rail > i {
    box-shadow: 0 12px 20px rgba(24, 100, 156, .3), inset 0 1px 0 rgba(255, 255, 255, .5);
    filter: saturate(1.12) brightness(1.04);
}

.clientes-origin-vertical-rail b {
    color: #ffffff;
    font-size: 12px;
    line-height: 1;
    text-shadow: 0 1px 2px rgba(10, 57, 91, .32);
}

.clientes-origin-vertical-copy {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.clientes-origin-vertical-copy strong {
    color: #123f62;
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.clientes-origin-vertical-copy span {
    color: #6a8499;
    font-size: 10px;
    font-weight: 800;
}

.clientes-origin-vertical-stats {
    display: grid;
    gap: 3px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.clientes-origin-vertical-stats span {
    align-items: center;
    background: rgba(255, 255, 255, .82);
    border: 1px solid #dbe8f2;
    border-radius: 7px;
    color: #668097;
    display: grid;
    gap: 1px;
    justify-items: center;
    min-width: 0;
    padding: 4px 2px;
}

.clientes-origin-vertical-stats span > i {
    background: var(--origin-status-color);
    border-radius: 50%;
    height: 5px;
    width: 5px;
}

.clientes-origin-vertical-stats .is-interesados { --origin-status-color: #18aa76; }
.clientes-origin-vertical-stats .is-ingresados { --origin-status-color: #2f73ae; }
.clientes-origin-vertical-stats .is-proceso { --origin-status-color: #f2b234; }
.clientes-origin-vertical-stats .is-no-interesados { --origin-status-color: #e6635b; }
.clientes-origin-vertical-stats .is-sin-estado { --origin-status-color: #94aabb; }

.clientes-origin-vertical-stats small {
    font-size: 8px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.clientes-origin-vertical-stats b {
    color: #234f70;
    font-size: 11px;
}

.clientes-origin-vertical-rate {
    background: rgba(232, 248, 239, .96);
    border: 1px solid #b8e2c7;
    border-radius: 999px;
    color: #087348;
    font-size: 10px;
    font-weight: 900;
    justify-self: center;
    padding: 5px 8px;
    white-space: nowrap;
}

@keyframes clientes-origin-vertical-column-in {
    from { opacity: 0; transform: translateY(9px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes clientes-origin-vertical-grow {
    from { transform: scaleY(0); }
    to { transform: scaleY(1); }
}

@media (max-width: 640px) {
    .clientes-origin-vertical-chart {
        gap: 13px;
        grid-auto-columns: minmax(108px, 1fr);
        padding: 12px;
    }

    .clientes-origin-vertical-column {
        grid-template-rows: 190px auto auto auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .clientes-origin-vertical-column,
    .clientes-origin-vertical-rail > i {
        animation: none;
        transform: none;
    }
}
