.card,.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:var(--space-5)}.login-header{text-align:center;margin-bottom:var(--space-5)}.login-header h1{margin:0;color:var(--color-primary)}.login-header p{color:var(--color-muted)}.form-stack{display:grid;gap:var(--space-4)}label{display:grid;gap:var(--space-2);font-weight:600}input,select,textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.85rem 1rem;min-width:0}.button,.icon-button,.notification-button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:0;border-radius:var(--radius-md);padding:.48rem .68rem;cursor:pointer;text-decoration:none;min-height:38px;line-height:1.15;font-size:.78rem}.button-primary{background:var(--color-primary);color:#fff}.button-secondary{background:#e8eef6;color:var(--color-primary-dark)}.button-danger{background:var(--color-danger);color:#fff}.button-danger:hover{background:var(--color-danger-dark);color:#fff}.full-width{width:100%}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.alert-danger{background:#fee4e2;color:var(--color-danger)}.grid{display:grid;gap:var(--space-5)}.cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pill-group{display:flex;flex-wrap:wrap;gap:var(--space-2)}.pill,.status,.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .6rem;font-size:.85rem;background:#edf4ff;color:var(--color-primary);font-weight:700}.notification-button{position:relative;background:#edf4ff}.badge{position:absolute;top:-8px;right:-8px;background:var(--color-danger);color:#fff;min-width:22px;height:22px;justify-content:center;padding:0 .35rem}.compact-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-3)}.compact-list li{display:grid;gap:.2rem}.compact-list small,.muted{color:var(--color-muted)}.responsive-table{width:100%;overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:.85rem 1rem;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}th{background:#f8fafc}

/* SIS-JETC v5.7 - Manuales y ayuda */
.metric-card{display:grid;gap:.35rem}.metric-card strong{font-size:1.8rem;color:var(--color-primary)}.metric-card span{color:var(--color-muted);font-weight:700}.manual-card h2{color:var(--color-primary)}.manual-section{padding:1rem 0;border-bottom:1px solid var(--color-border)}.manual-section:last-child{border-bottom:0}.manual-section h2{color:var(--color-primary);margin:.25rem 0 .75rem}.manual-content{line-height:1.65;color:var(--color-text)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.form-full{grid-column:1/-1}.form-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.table-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.manual-editor-section{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4);background:#fbfdff;display:grid;gap:var(--space-3)}
@media (max-width:767px){.form-grid{grid-template-columns:1fr}.table-actions{display:grid}.form-actions{display:grid}.manual-editor-section{padding:var(--space-3)}}


/* SIS-JETC v6.20.0 · acción global Exportar */
:root{--color-export:#347A32;--color-export-hover:#2E6B2C;--color-export-focus:rgba(61,139,59,.22)}
.button-export{background:var(--color-export)!important;color:#fff!important;min-height:var(--sis-action-height);padding:var(--sis-action-compact-padding);border:0;border-radius:8px;font-size:var(--sis-action-compact-font-size);font-weight:850;line-height:1;white-space:normal;box-shadow:none;text-decoration:none;transition:background-color .15s ease,box-shadow .15s ease}
.button-export:hover{background:var(--color-export-hover)!important;color:#fff!important}
.button-export:focus-visible{outline:3px solid var(--color-export-focus);outline-offset:2px}
.button-export svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-reduced-motion:reduce){.button-export{transition:none}}

/* B-01 + CISJET v1.0 · Semántica conservada; altura visual desktop 38 px. */
:root{
    --sis-action-height:38px;
    --sis-action-compact-height:38px;
    --sis-action-padding:var(--sis-action-compact-padding);
    --sis-action-compact-padding:.48rem .68rem;
    --sis-action-font-size:var(--sis-action-compact-font-size);
    --sis-action-compact-font-size:.76rem;
    --sis-action-radius:9px;
    --sis-action-compact-radius:8px;
    --button-action-cancel-bg:#F3F4F6;
    --button-action-cancel-hover:#E5E7EB;
    --button-action-create-hover:#11766E;
    --button-action-focus:#2563EB;
    --button-manage-members-bg:#EAF6E9;
    --button-manage-members-hover:#D8EDD6;
    --button-manage-members-text:#1F4F1D;
    --button-manage-members-border:#6A9F66;
}
.button.button-action{
    min-width:0;
    max-width:100%;
    min-height:var(--sis-action-height);
    padding:var(--sis-action-padding);
    gap:.5rem;
    border:1px solid transparent;
    border-radius:var(--sis-action-radius);
    font-size:var(--sis-action-font-size);
    font-weight:850;
    line-height:1.1;
    text-align:center;
    white-space:normal;
    box-shadow:none;
    transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.button.button-action:hover{text-decoration:none}
.button.button-action svg{
    width:18px;
    height:18px;
    flex:0 0 auto;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.button.button-action.button-action-edit{background:var(--color-warning);color:var(--color-primary-dark);border-color:var(--color-warning-dark)}
.button.button-action.button-action-edit:hover{background:var(--color-warning-dark);color:var(--color-primary-dark)}
.button.button-action.button-action-save{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
.button.button-action.button-action-save:hover{background:var(--color-primary-dark);color:#fff;border-color:var(--color-primary-dark)}
.button.button-action.button-action-cancel{background:var(--button-action-cancel-bg);color:var(--color-text);border-color:var(--color-border-strong)}
.button.button-action.button-action-cancel:hover{background:var(--button-action-cancel-hover);color:var(--color-text);border-color:#94A3B8}
.button.button-action.button-action-create{background:var(--color-accent);color:var(--color-primary-dark);border-color:var(--color-accent-dark)}
.button.button-action.button-action-create:hover{background:var(--button-action-create-hover);color:#fff;border-color:var(--button-action-create-hover)}
.button.button-action.button-action-delete{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}
.button.button-action.button-action-delete:hover{background:var(--color-danger-dark);color:#fff;border-color:var(--color-danger-dark)}
.button.button-action.button-context-manage-members{background:var(--button-manage-members-bg);color:var(--button-manage-members-text);border-color:var(--button-manage-members-border)}
.button.button-action.button-context-manage-members:hover{background:var(--button-manage-members-hover);color:var(--button-manage-members-text);border-color:#4F854B}
.button.button-action:focus-visible{
    outline:2px solid #fff;
    outline-offset:2px;
    box-shadow:0 0 0 5px var(--button-action-focus);
}
.button.button-action[disabled],
.button.button-action[aria-disabled="true"]{
    cursor:not-allowed;
    filter:saturate(.55);
    opacity:.58;
    box-shadow:none;
}
.button.button-action[aria-busy="true"]{cursor:progress}
.button.button-action[aria-busy="true"] .button-action-icon{display:none}
.button.button-action[aria-busy="true"]::before{
    content:"";
    width:15px;
    height:15px;
    flex:0 0 15px;
    border:2px solid currentColor;
    border-right-color:transparent;
    border-radius:50%;
    animation:sis-button-action-spin .7s linear infinite;
}
.button.button-action.button-action-compact{
    height:auto;
    min-height:var(--sis-action-compact-height);
    padding:var(--sis-action-compact-padding);
    border-radius:var(--sis-action-compact-radius);
    font-size:var(--sis-action-compact-font-size);
}
.button.button-action.button-action-compact svg{width:16px;height:16px}
.button.button-compact{
    height:auto;
    min-height:var(--sis-action-compact-height);
    padding:var(--sis-action-compact-padding);
    border-radius:var(--sis-action-compact-radius);
    font-size:var(--sis-action-compact-font-size);
    line-height:1.1;
}
@keyframes sis-button-action-spin{to{transform:rotate(360deg)}}
@media (max-width:480px){
    .button.button-action{white-space:normal}
    .button.button-action.button-action-compact,
    .button.button-compact{height:auto}
}
@media (prefers-reduced-motion:reduce){
    .button.button-action{transition:none}
    .button.button-action[aria-busy="true"]::before{animation:none}
}

/* SIS-JETC v6.21.1 · componente global de confirmación */
.sis-confirm-modal[hidden]{display:none}
.sis-confirm-modal{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:1rem}
.sis-confirm-modal-backdrop{position:absolute;inset:0;background:rgba(7,22,38,.48)}
.sis-confirm-dialog{position:relative;z-index:1;width:min(420px,calc(100vw - 2rem));background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;box-shadow:0 20px 58px rgba(0,0,0,.24);overflow:hidden;outline:0}
.sis-confirm-dialog-head{display:flex;align-items:center;gap:.55rem;padding:.62rem .78rem;border-bottom:1px solid var(--color-border)}
.sis-confirm-dialog-head h2{margin:0;color:var(--color-text);font-size:.92rem;line-height:1.2}
.sis-confirm-dialog-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 22px;color:#7a5b00}
.sis-confirm-dialog-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.sis-confirm-dialog-body{padding:.9rem .85rem .82rem}
.sis-confirm-dialog-body p{margin:0;color:var(--color-primary-dark);font-size:1.02rem;font-weight:800;line-height:1.35}
.sis-confirm-dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.62rem .78rem .72rem;border-top:1px solid var(--color-border);background:var(--color-surface-soft)}
.sis-confirm-dialog-actions .button{height:var(--sis-action-compact-height);min-height:var(--sis-action-compact-height);min-width:92px;padding:var(--sis-action-compact-padding);border-radius:var(--sis-action-compact-radius);font-size:var(--sis-action-compact-font-size);font-weight:850;line-height:1.1}
.sis-confirm-modal-open{overflow:hidden}
@media (max-width:620px){.sis-confirm-dialog{width:min(100%,360px)}.sis-confirm-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.sis-confirm-dialog-actions .button{width:100%}}
@media (prefers-reduced-motion:reduce){.sis-confirm-modal *{scroll-behavior:auto!important;transition:none!important}}

/* SIS-JETC v6.21.2 · componente global informativo */
.sis-info-modal[hidden]{display:none}
.sis-info-modal{position:fixed;inset:0;z-index:12010;display:grid;place-items:center;padding:1rem}
.sis-info-modal-backdrop{position:absolute;inset:0;background:rgba(7,22,38,.48)}
.sis-info-dialog{position:relative;z-index:1;width:min(420px,calc(100vw - 2rem));background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;box-shadow:0 20px 58px rgba(0,0,0,.24);overflow:hidden;outline:0}
.sis-info-dialog-head{display:flex;align-items:center;gap:.55rem;padding:.62rem .78rem;border-bottom:1px solid var(--color-border)}
.sis-info-dialog-head h2{margin:0;color:var(--color-text);font-size:.92rem;line-height:1.2}
.sis-info-dialog-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 22px;color:var(--color-primary)}
.sis-info-dialog-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.sis-info-dialog-body{padding:.9rem .85rem .82rem}
.sis-info-dialog-body p{margin:0;color:var(--color-primary-dark);font-size:.88rem;font-weight:700;line-height:1.45;white-space:pre-line}
.sis-info-dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.62rem .78rem .72rem;border-top:1px solid var(--color-border);background:var(--color-surface-soft)}
.sis-info-dialog-actions .button{min-height:var(--sis-action-height);min-width:92px;padding:.42rem .72rem;border-radius:9px;font-size:.72rem;font-weight:850}
.sis-info-modal-open{overflow:hidden}
@media (max-width:620px){.sis-info-dialog{width:min(100%,360px)}.sis-info-dialog-actions .button{width:100%}}
@media (prefers-reduced-motion:reduce){.sis-info-modal *{scroll-behavior:auto!important;transition:none!important}}
