/* Identidad SigeEducar + estructura visual de Minimarket. */
:root{--primary:#5b5ce2;--navy:#18213d;--muted:#737d91;--line:#e7e9f2;--surface:#fff;--soft:#f7f8fc;--mint:#d2fac9;--mint-ink:#245d38;--radius:20px;--shadow:0 12px 35px rgba(36,43,65,.06)}
*{box-sizing:border-box}
body{margin:0;color:var(--navy);font-family:Inter,"Segoe UI",system-ui,sans-serif;background:var(--soft)}
a{color:inherit}button{font:inherit}a,button{touch-action:manipulation}
:focus-visible{outline:3px solid #8586ec;outline-offset:4px}
.sige-brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:21px;letter-spacing:-.6px}
.brand-symbol{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--primary);color:#fff;font-size:22px}
.sige-brand small{display:block;margin-top:4px;font-size:9px;letter-spacing:1.7px;color:var(--muted)}
.sidebar{position:fixed;inset:0 auto 0 0;width:254px;background:white;border-right:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column;gap:30px}
.sidebar nav{display:grid;gap:6px}.nav-label{font-size:10px;letter-spacing:1.5px;color:var(--muted);margin:0 12px 10px}
.side-link{display:flex;align-items:center;gap:12px;padding:13px;border-radius:12px;text-decoration:none;font-size:13px;font-weight:600}
.side-link.active{background:var(--mint);color:var(--mint-ink)}.side-link:hover{background:#f0f1fb}
.sidebar-note{margin-top:auto;padding:18px;border:1px solid #dce8d9;border-radius:15px;background:#f1f7ef;font-size:12px;line-height:1.7;color:#4e6955}.sidebar-note strong{display:block;color:#245d38}
.main-area{margin-left:254px;min-height:100vh}
.topbar{min-height:78px;padding:16px 34px;background:#ffffffed;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}
.institution{font-size:13px;font-weight:600}.institution small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-bottom:4px}
.account{display:flex;align-items:center;gap:12px}.avatar{display:grid;place-items:center;width:38px;height:38px;background:#ededff;color:var(--primary);border-radius:12px;font-weight:800}
.account-copy{font-size:12px}.account-copy small{display:block;color:var(--muted);margin-top:3px}.account form{margin:0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:white;color:var(--navy);padding:11px 15px;border-radius:12px;font-size:12px;font-weight:700;text-decoration:none;cursor:pointer}.button:hover{background:#f0f1fb}
.content{max-width:1440px;margin:auto;padding:36px 34px 50px}
.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;color:var(--primary)}
h1{font-size:30px;letter-spacing:-1px;margin:10px 0}.intro{color:var(--muted);font-size:14px;line-height:1.7;margin:0}
.welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px;margin:28px 0;background:linear-gradient(115deg,#18213d,#353e6a);border-radius:var(--radius);color:white;box-shadow:var(--shadow)}
.welcome h2{margin:0 0 10px;font-size:23px;letter-spacing:-.5px}.welcome p{max-width:580px;margin:0;color:#d0d5e7;font-size:13px;line-height:1.7}
.levels{display:flex;gap:8px;flex-wrap:wrap}.levels span{padding:9px 14px;border-radius:30px;background:#ffffff12;border:1px solid #ffffff24;font-size:12px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:32px 0 18px}.section-heading h2{font-size:18px;margin:0}.section-heading p{font-size:12px;color:var(--muted);margin:6px 0 0}
.modules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.module{scroll-margin-top:24px;padding:24px;border:1px solid var(--line);background:white;border-radius:var(--radius);box-shadow:var(--shadow)}
.module-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#ededff;color:var(--primary);font-size:22px}
.module:nth-child(3n+2) .module-icon{background:#dff4e1;color:#4c855b}.module:nth-child(3n) .module-icon{background:#e1f0f7;color:#4d8199}
.module h3{font-size:16px;margin:19px 0 9px}.module p{font-size:13px;line-height:1.7;color:var(--muted);min-height:44px;margin:0 0 20px}
.tag{display:inline-block;background:#f3f4f8;color:#69738b;padding:6px 10px;border-radius:20px;font-size:10px;font-weight:600}
.panel-footer{margin-top:28px;font-size:11px;color:var(--muted)}
/* El login conserva sus dos columnas, contenido y formulario original. */
body.login-page{background:radial-gradient(circle at 92% 88%,#eaf7e7,transparent 35%),var(--soft)}
.login-page .left{background:linear-gradient(145deg,#18213d,#353e6a)}
.login-page .login-card{border-radius:28px;box-shadow:0 25px 70px rgba(32,38,60,.1)}
.login-page .chips span:first-child{background:var(--mint);border-color:var(--mint);color:var(--mint-ink)}
.login-page .btn-main{border-radius:13px}.login-page .form-control{background:#fcfcfe}
@media(max-width:1100px){.modules{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome{align-items:flex-start;flex-direction:column}.account-copy{display:none}}
@media(max-width:820px){.sidebar{position:static;width:auto;padding:20px;gap:20px;border-right:0;border-bottom:1px solid var(--line)}.sidebar nav{display:flex;overflow-x:auto;gap:8px}.nav-label,.sidebar-note{display:none}.side-link{white-space:nowrap;background:#f7f8fc}.main-area{margin-left:0}.topbar{padding:15px 20px}.content{padding:28px 20px}.sige-brand small{font-size:9px}.welcome{padding:24px}}
@media(max-width:520px){.modules{grid-template-columns:1fr}.institution{font-size:11px}.avatar{display:none}.topbar{gap:10px}.button{padding:10px}h1{font-size:26px}.welcome h2{font-size:21px}.module p{min-height:0}.section-heading{align-items:flex-start;flex-direction:column}}
/* Navegación superior y tarjetas según la referencia de Minimarket. */
.dashboard-page{background:#f7f8f5}
.dashboard-page .topbar{position:sticky;top:0;z-index:30;padding:16px 24px;min-height:78px;backdrop-filter:blur(12px)}
.dashboard-page .institution{border-left:1px solid var(--line);padding-left:24px;margin-right:auto}
.dashboard-page .account{margin-left:auto}.dashboard-page .avatar{background:#e3f4df;color:#39734a}
.dashboard-page .content{max-width:1600px;padding:24px}
.dashboard-title{font-size:23px;margin:0 0 6px}
.menu-dropdown{position:relative}.menu-trigger{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#202b25;color:white;border-radius:14px;font-weight:700;cursor:pointer;list-style:none}.menu-trigger::-webkit-details-marker{display:none}
.menu-dropdown nav{position:absolute;right:0;top:calc(100% + 12px);width:290px;max-height:70vh;overflow:auto;padding:10px;background:white;border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 55px #18213d26}
.menu-dropdown nav a{display:flex;gap:12px;padding:13px;border-radius:10px;font-size:13px;text-decoration:none}.menu-dropdown nav a:hover{background:#edf7e9}
.summary-grid,.quick-grid,.module-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.summary-grid{margin-top:24px}.summary-card,.quick-card,.compact-module{background:white;border:1px solid #e3e8e2;border-radius:20px;box-shadow:0 12px 35px #24372b0d}
.summary-card{padding:20px}.summary-card>div{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted)}.summary-card i{padding:12px;border-radius:12px;background:#d2fac9;color:#39734a}.summary-card>strong{display:block;font-size:28px;margin:14px 0 9px}.summary-card small{color:var(--muted);font-size:11px;line-height:1.6;display:block}
.summary-card:nth-child(2) i,.quick-card:nth-child(2) .module-icon{background:#eee8fb;color:#71619d}.summary-card:nth-child(3) i,.quick-card:nth-child(3) .module-icon{background:#e2f1f8;color:#517c91}.summary-card:nth-child(4) i,.quick-card:nth-child(4) .module-icon{background:#fce9dd;color:#a97050}
.level-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding:12px 15px;border:1px solid #dce8d9;border-radius:14px;background:#f3f9ef;color:#39734a;font-size:11px}.level-strip span{padding:8px 12px;background:white;border:1px solid #cce2c7;border-radius:30px}
.quick-card{display:flex;flex-direction:column;padding:22px;min-height:240px;text-decoration:none;transition:box-shadow .15s,border-color .15s}.quick-card:hover{border-color:#9dc49b;box-shadow:0 16px 36px #24372b18}.quick-card .module-icon{width:51px;height:51px;background:#d2fac9;color:#39734a}
.quick-card h3{font-size:16px;margin:20px 0 8px}.quick-card p{font-size:12px;color:var(--muted);line-height:1.65;margin:0 0 24px}.quick-action{margin-top:auto;color:#39734a;font-size:12px;font-weight:600;display:flex;gap:8px;align-items:center}
.compact-module{display:flex;align-items:center;gap:14px;padding:16px;scroll-margin-top:110px}.compact-module .module-icon{flex-shrink:0;background:#edf6ea;color:#4c855b}.compact-module h3{font-size:13px;margin:0 0 6px}.compact-module p{font-size:11px;line-height:1.5;color:var(--muted);margin:0 0 8px}.compact-module:target{outline:2px solid #8586ec;outline-offset:3px}
@media(max-width:1100px){.summary-grid,.quick-grid,.module-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.dashboard-page .institution{display:none}.dashboard-page .topbar{padding:12px 16px;gap:10px}.dashboard-page .content{padding:20px 16px}.dashboard-page .sige-brand{font-size:17px;gap:8px}.dashboard-page .brand-symbol{width:34px;height:34px}.dashboard-page .sige-brand small{font-size:8px}.dashboard-page .account{gap:8px}.menu-trigger{font-size:13px;padding:11px}.dashboard-page .avatar{display:none}.menu-dropdown nav{position:fixed;top:76px;right:16px;width:min(290px,calc(100vw - 32px))}}
@media(max-width:450px){.quick-grid,.module-list{grid-template-columns:1fr}.summary-card{padding:15px}.summary-card>div{font-size:11px}.summary-card i{padding:9px}.quick-card{min-height:220px}}
@media(prefers-reduced-motion:reduce){.quick-card{transition:none}}
/* Logo institucional original. */
.sige-brand .brand-logo{display:block;width:64px;height:64px;object-fit:contain;flex-shrink:0;background:white;border-radius:10px}
@media(max-width:680px){.sige-brand .brand-logo{width:48px;height:48px}}
.summary-card .quota-total{font-size:clamp(18px,1.8vw,26px);overflow-wrap:anywhere}
.summary-card .quota-debt{font-size:14px;color:#a65b46;font-weight:700;margin-bottom:7px}
.account .header-icon{width:42px;height:42px;padding:0;border-radius:12px;font-size:17px;flex-shrink:0}
.menu-logout{border-top:1px solid var(--line);padding-top:6px;margin-top:6px!important}
.menu-logout button{display:flex;align-items:center;gap:12px;width:100%;padding:13px;border:0;border-radius:10px;background:white;color:var(--navy);font:inherit;font-size:13px;text-align:left;cursor:pointer}
.menu-logout button:hover{background:#fff0f1;color:#9b2431}
@media(max-width:520px){.dashboard-page .topbar{flex-wrap:wrap}.dashboard-page .account{margin-left:auto}.account .header-icon{width:36px;height:38px}.dashboard-page .account .avatar{display:inline-grid;width:34px;height:34px}.dashboard-page .topbar .sige-brand{margin-right:8px}}