*{box-sizing:border-box}
:root{--red:#e53935;--red-dark:#c62828;--black:#1d1d1f;--text:#242424;--muted:#666;--border:#dedede;--soft:#f7f7f7}
html{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f3f3f3;color:var(--text)}
body{margin:0}
.wrap{max-width:1120px;margin:0 auto;padding:14px}
.top{background:#fff;border-top:4px solid var(--red);border-radius:0 0 12px 12px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}
.brand{display:flex;align-items:center;gap:12px}.brand img{width:130px;height:auto}.brand strong{display:block}.brand span{font-size:12px;color:var(--muted)}
.nav{display:flex;gap:8px;align-items:center}.nav a{color:var(--text);text-decoration:none;padding:9px 12px;border-radius:8px}.nav a:hover{background:#eee}.nav .logout{color:var(--red-dark)}
h1{margin:8px 0 4px;font-size:28px}.subtitle{color:var(--muted);margin:0 0 18px}
.card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 3px 16px rgba(0,0,0,.06);margin-bottom:14px}
table{width:100%;border-collapse:collapse}th,td{padding:12px 10px;border-bottom:1px solid #eee;text-align:left;vertical-align:top}th{font-size:13px;color:#555;background:#fafafa}
.badge{display:inline-block;padding:5px 9px;border-radius:20px;background:#ffe5e4;color:var(--red-dark);font-size:12px;font-weight:750}
.button{display:inline-block;border:0;border-radius:8px;padding:10px 15px;background:var(--red);color:#fff;font-weight:700;text-decoration:none;cursor:pointer}.button:hover{background:var(--red-dark)}
.button.secondary{background:#eee;color:#333}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.filters label{font-weight:650;font-size:13px}.filters input,.filters select{display:block;margin-top:5px;padding:10px;border:1px solid #ccc;border-radius:8px;font:inherit}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail{border:1px solid #e1e1e1;border-radius:10px;padding:15px}.detail h2{font-size:17px;margin:0 0 10px}.detail p{margin:5px 0}.important{background:#fff4f3;border-left:5px solid var(--red);padding:14px;border-radius:8px;margin:14px 0}
.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
.login{max-width:430px;margin:70px auto}.login h1{text-align:center}.login-logo{display:block;width:160px;margin:0 auto 15px}
.login label{display:block;font-weight:650;margin:14px 0}.login input{width:100%;padding:13px;border:1px solid #ccc;border-radius:8px;font:inherit;margin-top:6px}
.error{background:#fff0ef;color:#a51f1b;border-left:4px solid var(--red);padding:11px;border-radius:7px;margin-bottom:12px}
@media(max-width:700px){.top{align-items:flex-start}.brand img{width:100px}.brand strong{font-size:14px}.brand span{font-size:11px}.nav{font-size:12px}.detail-grid{grid-template-columns:1fr}table{font-size:13px}th:nth-child(4),td:nth-child(4){display:none}}

.badge.status-recibida{background:#fff0d8;color:#9a5a00}
.badge.status-en_estudio{background:#e7f0ff;color:#245aa5}
.badge.status-propuesta{background:#f0e7ff;color:#6940a5}
.badge.status-aceptada{background:#e5f7e9;color:#24713b}
.badge.status-rechazada{background:#ffe5e4;color:#a51f1b}

/* Navegación reorganizada por áreas */
.nav{display:flex;gap:7px;align-items:stretch;flex-wrap:wrap;justify-content:flex-end}
.nav-group{display:flex;align-items:center;gap:2px;border:1px solid #e4e4e4;border-radius:10px;padding:3px;background:#fafafa}
.nav-title{font-size:10px;font-weight:800;color:#777;padding:0 5px;letter-spacing:.04em}
.nav-group a{padding:7px 9px;font-size:12px}
.nav-group a.active{background:#ffe9e8;color:#b51f1b;font-weight:800}
.nav .logout{padding:8px 10px;font-size:12px;align-self:center}
@media(max-width:1050px){.top{align-items:flex-start}.nav{justify-content:flex-start}.nav-group{flex-wrap:wrap}.nav-title{width:100%;padding:2px 6px 0}}
@media(max-width:700px){.nav{gap:5px}.nav-group{width:100%}.nav-group a{font-size:12px;padding:7px 9px}.nav .logout{margin-left:auto}}

/* Inicio de administración y navegación por áreas */
.admin-home-wrap{max-width:1050px}
.admin-home-top{align-items:center}
.admin-home-top .logout{margin-left:auto}
.admin-home{max-width:940px;margin:32px auto 0}
.admin-home h1{font-size:32px;margin-bottom:4px}
.admin-areas{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}
.admin-area{position:relative;display:flex;align-items:center;gap:18px;min-height:190px;padding:28px;background:#fff;border:1px solid #e2e2e2;border-radius:16px;text-decoration:none;color:var(--text);box-shadow:0 4px 18px rgba(0,0,0,.05);transition:.15s ease}
.admin-area:hover{transform:translateY(-2px);box-shadow:0 7px 22px rgba(0,0,0,.09);border-color:#d4d4d4}
.admin-area-students{border-top:5px solid #2f6fa3}
.admin-area-payments{border-top:5px solid #2f8a50}
.admin-area-icon{font-size:42px;line-height:1;flex:0 0 auto}
.admin-area h2{margin:0 0 8px;font-size:23px}
.admin-area p{margin:0;color:#666;line-height:1.5;font-size:14px;max-width:330px}
.admin-area-arrow{position:absolute;right:20px;bottom:18px;font-size:24px;color:#888}
.admin-tools{margin-top:28px;padding-top:20px;border-top:1px solid #ddd}
.admin-tools h2{font-size:15px;color:#777;margin:0 0 10px}
.admin-tools-links{display:flex;gap:10px;flex-wrap:wrap}
.admin-tools-links a{background:#fff;border:1px solid #ddd;border-radius:9px;padding:9px 13px;text-decoration:none;color:#333;font-size:13px}

.admin-nav{display:flex;flex-direction:column;gap:7px;min-width:0}
.admin-nav-main{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.admin-nav-main a{font-size:13px;padding:8px 11px;border-radius:8px;text-decoration:none;color:var(--text);white-space:nowrap}
.admin-nav-main a:hover{background:#eee}
.admin-nav-main .nav-section{font-weight:750;border:1px solid #ddd;background:#fafafa}
.admin-nav-main .nav-section.active{background:#ffe9e8;color:#b51f1b;border-color:#f2c2bf}
.admin-nav-main .nav-home{color:#666}
.admin-nav-main .nav-home.active{background:#f0f0f0;font-weight:700;color:#222}
.admin-nav-main .nav-exit{color:var(--red-dark);margin-left:3px}
.admin-subnav{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end;padding-top:2px;border-top:1px solid #eee}
.admin-subnav a,.admin-subnav .nav-soon{font-size:11px;padding:5px 7px;border-radius:7px;color:#555;text-decoration:none;white-space:nowrap}
.admin-subnav a:hover{background:#eee}
.admin-subnav a.active{background:#ffe9e8;color:#b51f1b;font-weight:750}
.admin-subnav .nav-soon{color:#999;background:#f6f6f6}
.section-home{max-width:950px;margin:25px auto}
.section-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.section-card{display:grid;text-decoration:none;color:var(--text);grid-template-columns:auto 1fr auto;align-items:center;gap:13px;background:#fff;border:1px solid #e1e1e1;border-radius:12px;padding:18px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.section-card>span{font-size:27px}.section-card:hover{transform:translateY(-1px);border-color:#d2d2d2}.section-card h2{font-size:17px;margin:0 0 4px}.section-card p{font-size:13px;color:#666;margin:0;line-height:1.4}.section-card b{font-size:10px;color:#999;white-space:nowrap}
@media(max-width:850px){.top{align-items:flex-start}.admin-nav-main{justify-content:flex-start}.admin-subnav{justify-content:flex-start}.admin-areas,.section-cards{grid-template-columns:1fr}}
@media(max-width:700px){.admin-home{margin-top:20px}.admin-area{min-height:150px;padding:22px}.admin-area-icon{font-size:34px}.admin-area h2{font-size:20px}.admin-nav-main{width:100%}.admin-nav-main a{font-size:12px}.admin-subnav{justify-content:flex-start}.section-card{grid-template-columns:auto 1fr}.section-card b{grid-column:2}}
.admin-nav-main .nav-family{font-weight:800;border:1px solid #ddd;background:#fff}.admin-nav-main .nav-family.active{background:#ffe9e8;color:#b51f1b;border-color:#f2c2bf}

/* ===================== 2.13 · Cabecera, menú y componentes comunes ===================== */
:root{--ok-bg:#e6f5eb;--ok-tx:#1f6b3c;--warn-bg:#fff2d9;--warn-tx:#8a5600;--info-bg:#e8f0fb;--info-tx:#2a5590;--bad-bg:#fde8e7;--bad-tx:#a51f1b;--muted-bg:#f0f0f0;--muted-tx:#666}
.top2{position:sticky;top:0;z-index:50;flex-wrap:wrap;align-items:center;padding:10px 16px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.top2 .brand{text-decoration:none;color:inherit}.top2 .brand img{width:110px}
.nav2{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}
.nav2-main{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.nav2-sec{font-size:13.5px;font-weight:700;padding:8px 11px;border-radius:8px;text-decoration:none;color:#333;white-space:nowrap}
.nav2-sec:hover{background:#f1f1f1}.nav2-sec.is-active{background:#ffe9e8;color:#b51f1b}
.nav2-search{margin:0 4px}.nav2-search input{width:240px;padding:8px 11px;border:1px solid #d5d5d5;border-radius:9px;font:inherit;font-size:13px;background:#fafafa}
.nav2-search input:focus{outline:2px solid #f2c2bf;background:#fff}
.nav2-exit{font-size:13px;color:var(--red-dark);text-decoration:none;padding:8px 6px}
.nav2-user{font-size:13px;color:#555;text-decoration:none;padding:8px 4px;white-space:nowrap}.nav2-user:before{content:"👤 "}.nav2-user:hover{color:#111}
.nav2-sub{display:flex;gap:2px;flex-wrap:wrap;justify-content:flex-end;border-top:1px solid #eee;padding-top:5px}
.nav2-sub a{font-size:12.5px;padding:5px 9px;border-radius:7px;color:#555;text-decoration:none;white-space:nowrap}
.nav2-sub a:hover{background:#f1f1f1}.nav2-sub a.is-active{background:#ffe9e8;color:#b51f1b;font-weight:700}
@media(max-width:1100px){.nav2-main,.nav2-sub{justify-content:flex-start}.nav2-search input{width:200px}}
@media(max-width:700px){.top2{position:static}.nav2-search{order:-1;width:100%;margin:4px 0}.nav2-search input{width:100%;font-size:16px}.nav2-sec{font-size:13px;padding:7px 8px}}

.tag{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.tag-ok{background:var(--ok-bg);color:var(--ok-tx)}.tag-warn{background:var(--warn-bg);color:var(--warn-tx)}.tag-info{background:var(--info-bg);color:var(--info-tx)}.tag-bad{background:var(--bad-bg);color:var(--bad-tx)}.tag-muted{background:var(--muted-bg);color:var(--muted-tx)}
.flash{max-width:1120px;margin:0 auto 12px;padding:11px 14px;border-radius:8px;font-weight:600}
.flash-ok{background:var(--ok-bg);color:var(--ok-tx);border-left:4px solid #2e8b57}.flash-error{background:var(--bad-bg);color:var(--bad-tx);border-left:4px solid #d33}.flash-info{background:var(--info-bg);color:var(--info-tx);border-left:4px solid #4b8ac7}
.muted{color:#777;font-size:13px}.num{text-align:right;white-space:nowrap}
.btn-sm{padding:6px 10px;font-size:13px}
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;flex-wrap:wrap;margin:6px 0 14px}.page-head h1{margin:0}.page-head .subtitle{margin:4px 0 0}
.head-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.box{background:#fff;border:1px solid #e2e2e2;border-radius:12px;padding:16px 18px;margin-bottom:14px}.box h2{font-size:18px;margin:0 0 12px}.box h3{font-size:15px;margin:14px 0 8px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:850px){.grid2,.grid3{grid-template-columns:1fr}}
.kv{display:grid;grid-template-columns:150px 1fr;gap:6px 12px;font-size:14px}.kv dt{color:#777}.kv dd{margin:0;font-weight:600}
.tbl{width:100%;border-collapse:collapse}.tbl th,.tbl td{padding:9px 8px;border-bottom:1px solid #eee;text-align:left;vertical-align:top;font-size:14px}.tbl th{font-size:12px;color:#666;text-transform:uppercase;background:#fafafa}
.tbl-wrap{overflow-x:auto}

/* Pestañas de la ficha */
.tabs{display:flex;gap:2px;border-bottom:2px solid #e6e6e6;margin:4px 0 16px;overflow-x:auto}
.tabs a{padding:10px 14px;font-weight:700;font-size:14px;color:#555;text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap}
.tabs a.is-active{color:#b51f1b;border-bottom-color:#e53935}
.tab-panel{display:none}.tab-panel.is-active{display:block}

/* Menú «Más» para acciones delicadas */
details.more{position:relative;display:inline-block}details.more>summary{list-style:none;cursor:pointer}details.more>summary::-webkit-details-marker{display:none}
details.more .more-menu{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1px solid #ddd;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:6px;min-width:240px;z-index:40}
details.more .more-menu a,details.more .more-menu button{display:block;width:100%;text-align:left;padding:9px 10px;border:0;background:none;font:inherit;font-size:14px;color:#333;text-decoration:none;border-radius:7px;cursor:pointer}
details.more .more-menu a:hover,details.more .more-menu button:hover{background:#f4f4f4}details.more .more-menu .danger{color:#b71c1c}

/* Panel de inicio */
.pend-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pend{display:block;background:#fff;border:1px solid #e2e2e2;border-left:5px solid #ccc;border-radius:12px;padding:14px 16px;text-decoration:none;color:inherit}
.pend:hover{border-color:#cfcfcf;box-shadow:0 3px 12px rgba(0,0,0,.06)}
.pend strong{display:block;font-size:28px;line-height:1.1}.pend span{display:block;font-weight:700;margin-top:4px}.pend small{display:block;color:#777;margin-top:4px;font-size:12.5px}
.pend.p-warn{border-left-color:#e28a00}.pend.p-bad{border-left-color:#d33}.pend.p-info{border-left-color:#4b8ac7}.pend.p-ok{border-left-color:#2e8b57}
@media(max-width:900px){.pend-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.pend-grid{grid-template-columns:1fr}}

/* Asistente de remesas */
.steps4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:6px 0 16px;padding:0;list-style:none;counter-reset:paso}
.steps4 li{background:#f3f3f3;color:#777;border-radius:10px;padding:10px 12px;font-size:13px;font-weight:700;counter-increment:paso}
.steps4 li::before{content:counter(paso) ". "}.steps4 li small{display:block;font-weight:400;margin-top:2px}
.steps4 li.done{background:var(--ok-bg);color:var(--ok-tx)}.steps4 li.now{background:#111;color:#fff}
@media(max-width:700px){.steps4{grid-template-columns:1fr 1fr}}
button.button{font:inherit;font-weight:700}
.tbl a:not(.button),.kv a,.subtitle a,.box p a,.rem-table a,.ctrl-table a,.matrix-table a{color:#1f4f8f}
.top2 .brand,.top2 .brand *{color:inherit!important}
@media(max-width:700px){.home-search{display:none!important}}
