/* OIRS Ñiquén — identidad institucional azul y dorado */
:root{--bg1:#edf3ff;--bg2:#d9e5ff;--glass:rgba(255,255,255,.88);--glass2:rgba(255,255,255,.73);--stroke:rgba(8,35,169,.17);--text:#102568;--muted:#50628b;--primary1:#1638d0;--primary2:#0924ad;--info1:#3972e8;--info2:#1643bf;--warn1:#ffda35;--warn2:#e8b900;--danger1:#ef4444;--danger2:#c62828;--shadow:0 16px 38px rgba(12,35,136,.13);--shadow2:0 10px 22px rgba(12,35,136,.13);--radius:16px;--radius-xl:20px;--mica:rgba(255,255,255,.94);--mica2:rgba(242,246,255,.86)}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;font-family:'Segoe UI',system-ui,-apple-system,Roboto,Arial,sans-serif;color:var(--text);background:radial-gradient(950px 550px at 5% 7%,rgba(16,46,194,.20),transparent 68%),radial-gradient(750px 450px at 95% 15%,rgba(240,193,0,.19),transparent 67%),radial-gradient(800px 520px at 60% 100%,rgba(16,46,194,.13),transparent 65%),linear-gradient(160deg,var(--bg1),var(--bg2));background-attachment:fixed;overflow-x:hidden}
.bg-noise{position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(rgba(10,38,162,.10) .8px,transparent .8px);background-size:28px 28px;opacity:.19}
.container{width:min(1240px,calc(100% - 28px));margin:18px auto 56px}
.header{position:relative;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 22px;border-radius:var(--radius-xl);background:linear-gradient(130deg,var(--mica),var(--mica2));border:1px solid var(--stroke);border-top:4px solid #e5b900;box-shadow:var(--shadow);backdrop-filter:blur(14px)}
.brand{display:flex;gap:16px;align-items:center;min-width:0}.brand-badge{width:78px;height:78px;flex:0 0 78px;border-radius:15px;background:#fff;border:1px solid rgba(14,42,178,.13);box-shadow:var(--shadow2);display:grid;place-items:center;overflow:hidden}.brand-badge img{width:100%;height:100%;object-fit:contain;padding:5px}.brand h1{margin:0;font-size:clamp(17px,2vw,23px);letter-spacing:.1px;font-weight:900;color:#0b25ad}.brand p{margin:5px 0 0;font-size:13px;color:var(--muted);font-weight:600}
/* El logo original completo se muestra en su propia franja sin recortes */
.institutional-banner{background:#fff;border:1px solid var(--stroke);border-radius:var(--radius-xl);box-shadow:var(--shadow);padding:16px 22px;margin-bottom:14px;text-align:center}.institutional-banner img{display:block;max-width:min(850px,100%);width:100%;height:auto;max-height:220px;object-fit:contain;margin:auto}
.nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:8px;padding:11px 15px;border-radius:14px;border:1px solid rgba(14,40,169,.17);background:linear-gradient(180deg,#fff,#e8eeff);color:#102da9;text-decoration:none;font-weight:800;font-size:13px;box-shadow:var(--shadow2);transition:transform .15s,filter .15s}.pill:hover{transform:translateY(-2px);filter:brightness(1.02)}
.grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:16px}@media(min-width:980px){.grid{grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);align-items:start}}
.card{border-radius:var(--radius-xl);background:linear-gradient(180deg,rgba(255,255,255,.93),rgba(238,244,255,.86));border:1px solid var(--stroke);box-shadow:var(--shadow);backdrop-filter:blur(14px);overflow:hidden}.card-h{padding:17px 17px 0}.card-h .title,.title{color:#0c2aa8;font-weight:900}.card-h .title{margin:0;font-size:17px}.card-h .subtitle,.subtitle{color:var(--muted);font-size:13px}.card-h .subtitle{margin:6px 0 12px}.card-b{padding:15px 17px 17px}
.form-grid{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:720px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:1/-1}}
.label{display:block;font-size:12px;color:#253e85;font-weight:800;letter-spacing:.2px;margin-bottom:7px}.input,.select,.textarea{width:100%;border-radius:13px;border:1px solid rgba(18,50,171,.24);background:rgba(255,255,255,.94);color:var(--text);padding:12px;outline:none;box-shadow:inset 0 1px 0 #fff,0 7px 18px rgba(12,35,136,.06);transition:border-color .12s,box-shadow .12s}.input:focus,.select:focus,.textarea:focus{border-color:#1235c6;box-shadow:0 0 0 4px rgba(19,55,206,.13),0 10px 20px rgba(12,35,136,.09)}.textarea{min-height:160px;resize:vertical}.hint{margin-top:6px;font-size:12px;color:var(--muted)}.req{color:#bc9000;font-weight:900}
.radio-row,.check-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.option{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:14px;border:1px solid var(--stroke);background:rgba(255,255,255,.90);box-shadow:0 7px 17px rgba(12,35,136,.07);user-select:none;cursor:pointer}.option:has(input:checked){border-color:#1838c8;background:#e9efff;box-shadow:0 0 0 2px rgba(19,55,206,.08)}.option input{accent-color:#1235c6}.option strong{font-size:13px}.option small{color:var(--muted);font-weight:700}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end;margin-top:16px}.btn{border:0;cursor:pointer;border-radius:14px;padding:12px 16px;font-weight:900;letter-spacing:.2px;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;box-shadow:0 11px 23px rgba(12,35,136,.18),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -3px 0 rgba(0,0,0,.12);transition:transform .14s,filter .14s}.btn:hover{transform:translateY(-2px);filter:brightness(1.04)}.btn:active{transform:translateY(0)}.btn.primary{background:linear-gradient(180deg,var(--primary1),var(--primary2))}.btn.info{background:linear-gradient(180deg,var(--info1),var(--info2))}.btn.warn{background:linear-gradient(180deg,var(--warn1),var(--warn2));color:#26315e}.btn.danger{background:linear-gradient(180deg,var(--danger1),var(--danger2))}.btn.ghost{color:#0b2aab;background:linear-gradient(180deg,#fff,#e9efff);border:1px solid var(--stroke)}
.badges{display:flex;gap:10px;flex-wrap:wrap}.badge{padding:11px 14px;border-radius:14px;border:1px solid var(--stroke);border-left:4px solid #e5b900;background:linear-gradient(180deg,#fff,#edf2ff);box-shadow:0 8px 18px rgba(12,35,136,.07)}.badge .k{font-size:11px;color:var(--muted);font-weight:900;letter-spacing:.2px}.badge .v{font-size:18px;font-weight:900;margin-top:4px;color:#0b2aab}
.table{width:100%;border-collapse:separate;border-spacing:0 10px;margin-top:10px}.table th{text-align:left;font-size:12px;color:#263e83;letter-spacing:.2px;padding:0 12px}.table td{padding:12px;background:rgba(255,255,255,.9);border:1px solid var(--stroke);box-shadow:0 8px 18px rgba(12,35,136,.06)}.table tr td:first-child{border-radius:14px 0 0 14px}.table tr td:last-child{border-radius:0 14px 14px 0}
.toast{padding:13px 15px;border-radius:14px;border:1px solid var(--stroke);border-left:4px solid #e5b900;background:rgba(255,255,255,.88);box-shadow:var(--shadow2);margin-top:14px}.toast.ok{border-left-color:#15985b}.toast.bad{border-left-color:#d92d39}.small{font-size:12px;color:var(--muted)}.footer{margin-top:18px;color:var(--muted);font-size:12px;text-align:center}
/* Modales del index.php: sobreescribe los colores antiguos del style interno */
.oirs-preview-modal,.login-modal{background:linear-gradient(180deg,#fff,#eef3ff)!important;border:1px solid rgba(16,43,180,.18)!important;color:var(--text)!important}.oirs-preview-head,.login-head{background:linear-gradient(120deg,rgba(19,52,192,.14),rgba(235,191,0,.13))!important;border-bottom:2px solid rgba(229,185,0,.38)!important}.oirs-preview-title,.login-title,.oirs-section-title{color:#0b2aa9!important}.oirs-preview-sub,.login-sub,.oirs-data-label{color:var(--muted)!important}.oirs-summary-badge,.oirs-section-card{background:linear-gradient(180deg,#fff,#edf2ff)!important;border-color:var(--stroke)!important}.oirs-summary-badge .v,.oirs-data-value{color:var(--text)!important}.oirs-description-box{background:linear-gradient(180deg,#fff,#e8efff)!important;color:var(--text)!important}.btn-3d.primary{background:linear-gradient(180deg,#2145d6,#0926ae)!important}.btn-3d.success{background:linear-gradient(180deg,#f8d33c,#e3b500)!important;color:#13265f!important}.btn-3d.dark{background:linear-gradient(180deg,#2347c9,#102a9f)!important}.btn-3d.light{background:linear-gradient(180deg,#fff,#e6edff)!important;color:#102da9!important}
@media(max-width:680px){.container{width:calc(100% - 18px);margin:9px auto 32px}.header{padding:12px;flex-direction:column;align-items:stretch}.brand{gap:10px}.brand-badge{width:54px;height:54px;flex-basis:54px}.brand h1{font-size:16px}.brand p{font-size:11px}.nav{justify-content:stretch}.nav .pill{flex:1;justify-content:center}.institutional-banner{padding:10px}.institutional-banner img{max-height:145px}.card-b{padding:12px}.option{flex:1 1 180px}}
.logo-institucional {
    width: 300px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}