/* SIGVE v2.0.1 · Períodos Administrativos */
.periodos-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.periodos-header h3{margin-bottom:.35rem}.periodos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-top:1rem}.periodo-card{background:#fff;border:1px solid #dfe7e3;border-radius:18px;padding:1.15rem;box-shadow:0 8px 24px rgba(20,67,48,.06);position:relative;overflow:hidden}.periodo-card.activo{border:2px solid #2f9d67}.periodo-card.activo:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:#2f9d67}.periodo-card h4{margin:.2rem 0 .4rem;font-size:1.2rem}.periodo-meta{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:1rem 0}.periodo-meta div{background:#f6f9f7;border-radius:12px;padding:.75rem}.periodo-meta span{display:block;font-size:.78rem;color:#66756d;margin-bottom:.2rem}.periodo-meta strong{font-size:.95rem}.periodo-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.3rem .65rem;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.periodo-badge.activo{background:#dff5e8;color:#12653b}.periodo-badge.programado{background:#e8efff;color:#274b9f}.periodo-badge.cerrado{background:#eceff1;color:#4f5b62}.periodos-empty{text-align:center;padding:2.5rem 1rem;color:#64716a}.periodos-note{padding:.8rem 1rem;border-radius:12px;background:#fff7dc;color:#6b5310;margin-top:1rem}.periodos-modal{position:fixed;inset:0;background:rgba(10,25,18,.55);display:grid;place-items:center;padding:1rem;z-index:10000}.periodos-modal-card{width:min(680px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:20px;padding:1.25rem;box-shadow:0 24px 70px rgba(0,0,0,.25)}.periodos-modal-card h3{margin-top:0}.periodos-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.periodos-form-grid label{display:flex;flex-direction:column;gap:.35rem}.periodos-form-grid .full{grid-column:1/-1}.periodos-form-grid input,.periodos-form-grid select,.periodos-form-grid textarea{width:100%}.periodos-actions{display:flex;justify-content:flex-end;gap:.7rem;flex-wrap:wrap;margin-top:1rem}.periodos-error{padding:.75rem 1rem;border-radius:10px;background:#ffe8e8;color:#8b2020;margin-top:.75rem}.periodos-loading{padding:2rem;text-align:center}.periodo-progress{height:8px;background:#e9eeeb;border-radius:999px;overflow:hidden;margin-top:.8rem}.periodo-progress>span{display:block;height:100%;background:#2f9d67}.periodo-subtle{font-size:.86rem;color:#64716a}.periodo-card .actions{margin-top:.9rem}@media(max-width:640px){.periodos-form-grid{grid-template-columns:1fr}.periodos-form-grid .full{grid-column:auto}.periodo-meta{grid-template-columns:1fr}}

.periodo-balance-row{display:flex;gap:.8rem;flex-wrap:wrap;margin:.8rem 0;padding:.7rem .85rem;border-radius:12px;background:#f6f9f7;color:#365b4b}.periodo-balance-row span{flex:1;min-width:220px}.periodo-balance-row.cierre{background:#eef7f1;border:1px solid #cce8d6}.periodos-close-warning{padding:1rem;border:1px solid #f0c36b;background:#fff7dc;border-radius:14px;margin-bottom:1rem}.periodos-close-warning p{margin:.5rem 0 0}.periodos-modal-card form>label{display:flex;flex-direction:column;gap:.4rem;margin:.8rem 0}.periodos-modal-card form>label input,.periodos-modal-card form>label textarea{width:100%;padding:.8rem;border:1px solid #ccd8de;border-radius:10px}


/* SIGVE v5.5.8 · Vista previa segura del cierre administrativo */
.periodos-simulation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.periodos-simulation-head h3{margin:.45rem 0 .25rem}.periodos-simulation-head p{margin:.2rem 0;color:#64716a}.periodos-simulation-badge{display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:999px;background:#e8f2ff;color:#24517f;font-size:.75rem;font-weight:800;letter-spacing:.04em}.periodos-simulation-safe{display:flex;flex-direction:column;gap:.25rem;margin:1rem 0;padding:.9rem 1rem;border:1px solid #b9dfc8;background:#edf9f1;border-radius:14px;color:#1e6040}.periodos-simulation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0}.periodos-simulation-grid>div{padding:.85rem;background:#f6f9f7;border:1px solid #e2ebe6;border-radius:13px}.periodos-simulation-grid span{display:block;font-size:.78rem;color:#66756d;margin-bottom:.25rem}.periodos-simulation-grid strong{font-size:1.05rem}.periodos-simulation-grid .periodos-simulation-total{background:#eef7f1;border-color:#cce8d6}.periodos-simulation-result,.periodos-simulation-limit{margin-top:1rem;padding:1rem;border-radius:14px}.periodos-simulation-result{border:1px solid #dfe7e3;background:#fff}.periodos-simulation-result h4{margin:0 0 .6rem}.periodos-simulation-result ul{margin:.4rem 0 0;padding-left:1.25rem}.periodos-simulation-result li{margin:.45rem 0;line-height:1.45}.periodos-simulation-limit{border:1px solid #f0c36b;background:#fff9e8;color:#6b5310}.periodos-simulation-limit p{margin:.4rem 0 0;line-height:1.45}.periodos-simulation-loading{text-align:center;padding:2rem 1rem}.periodos-simulation-loading p{color:#64716a}@media(max-width:640px){.periodos-simulation-grid{grid-template-columns:1fr}}
