@import url("assets/fonts.css?v=20261010-1");

:root { --ink:#18191e; --muted:#656771; --line:#dfdedc; --paper:#fffdfa; --orange:#ed6c20; --violet:#584569; --soft:#f4f1ec; }
* { box-sizing:border-box; }
body { margin:0; min-width:320px; color:var(--ink); background:var(--paper); font-family:"Roboto Condensed",Arial,sans-serif; }
a { color:inherit; }
.portal-shell { min-height:100vh; display:grid; grid-template-columns:minmax(320px,1.05fr) minmax(420px,.95fr); }
.brand-panel { position:relative; overflow:hidden; min-height:600px; padding:clamp(30px,5vw,72px); display:flex; flex-direction:column; color:#fff; background:linear-gradient(140deg,#25262c 0%,#17181d 62%,#3c3146 100%); }
.brand-panel::before { content:""; position:absolute; width:680px; height:680px; top:-280px; right:-290px; border-radius:50%; border:1px solid rgba(255,255,255,.15); box-shadow:0 0 0 84px rgba(255,255,255,.035),0 0 0 168px rgba(255,255,255,.025); }
.brand-panel::after { content:""; position:absolute; width:400px; height:400px; bottom:-210px; left:-120px; border-radius:50%; background:radial-gradient(circle,rgba(237,108,32,.8),rgba(237,108,32,0) 69%); }
.brand { position:relative; z-index:1; text-decoration:none; font:800 32px/1 Montserrat,Arial,sans-serif; letter-spacing:-.08em; }
.brand span { color:var(--orange); }
.brand-copy { position:relative; z-index:1; max-width:590px; margin:auto 0; padding:80px 0; }
.eyebrow { margin:0 0 18px; color:var(--orange); font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
h1,h2 { margin:0; font-family:"Roboto Condensed",Arial,sans-serif; letter-spacing:-.035em; }
h1 { max-width:560px; font-size:clamp(42px,5vw,72px); line-height:1.02; }
.brand-copy > p:last-child { max-width:470px; margin:27px 0 0; color:#d6d4d9; font-size:16px; line-height:1.8; }
.status-card { position:relative; z-index:1; display:flex; align-items:center; gap:10px; color:#d8d5da; font-size:12px; font-weight:700; }
.status-dot { width:9px; height:9px; border-radius:50%; background:#33cc66; box-shadow:0 0 0 5px rgba(51,204,102,.12); }
.login-panel { min-height:600px; padding:clamp(28px,7vw,105px); display:flex; flex-direction:column; justify-content:center; background:var(--paper); }
.login-card { width:min(100%,410px); margin:auto; }
.login-card .eyebrow { margin-bottom:14px; }
h2 { font-size:clamp(34px,4vw,48px); line-height:1.08; }
.intro { margin:17px 0 34px; color:var(--muted); font-size:14px; line-height:1.7; }
form { display:grid; gap:10px; }
label { margin-top:6px; color:#3d3e45; font-size:12px; font-weight:800; }
input { width:100%; height:52px; padding:0 15px; border:1px solid var(--line); border-radius:3px; outline:0; background:#fff; color:var(--ink); font:500 14px "Roboto Condensed",Arial,sans-serif; transition:border-color .18s,box-shadow .18s; }
input:focus { border-color:var(--violet); box-shadow:0 0 0 3px rgba(88,69,105,.12); }
.primary-button { display:flex; justify-content:space-between; align-items:center; width:100%; margin-top:17px; padding:16px 18px; border:0; border-radius:3px; color:#fff; background:var(--orange); cursor:pointer; font:800 13px "Roboto Condensed",Arial,sans-serif; }
.primary-button:hover { background:#d85d17; }
.primary-button span { font-size:18px; }
.form-message { min-height:20px; margin:16px 0 0; color:var(--violet); font-size:12px; font-weight:700; }
.help-text { margin:16px 0 0; color:var(--muted); font-size:12px; line-height:1.75; }
.help-text a { color:var(--violet); font-weight:800; }
.legal { margin:50px auto 0; color:#898991; font-size:10px; text-align:center; }
@media (max-width:800px) { .portal-shell { grid-template-columns:1fr; } .brand-panel { min-height:430px; } .brand-copy { margin:auto 0; padding:65px 0 40px; } .login-panel { min-height:auto; padding:58px 28px 34px; } .legal { margin-top:55px; } }

/* Tipografía común del portal. La marca mantiene su tratamiento propio. */
.portal-shell,.portal-shell button,.portal-shell input,.portal-shell textarea,.portal-shell select,.app-global-nav,.app-global-nav *,.app-user,.app-user *,.app-sidebar,.app-sidebar *,.app-main,.app-main *{font-family:"Roboto Condensed",Arial,sans-serif}.app-brand,.app-brand *{font-family:Montserrat,Arial,sans-serif}

/* Consola posterior al inicio de sesión. */
.app-body{min-height:100vh;background:#f5f6f8}.app-topbar{position:sticky;top:0;z-index:10;min-height:64px;padding:0 28px;display:flex;align-items:center;gap:28px;color:#fff;background:#222329}.app-brand{display:flex;align-items:baseline;gap:8px;color:#fff;text-decoration:none;font:800 25px/1 Montserrat,Arial,sans-serif;letter-spacing:-.08em}.app-brand span{color:var(--orange)}.app-brand small{color:#c7c8cd;font:700 10px/1 "Roboto Condensed",Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase}.app-global-nav{display:flex;align-self:stretch;gap:3px}.app-global-nav a{display:flex;align-items:center;padding:0 14px;border-bottom:3px solid transparent;color:#e4e4e7;text-decoration:none;font-size:13px;font-weight:800}.app-global-nav a:hover,.app-global-nav .is-active{color:#fff;background:#303137}.app-global-nav .is-active{border-bottom-color:var(--orange)}.app-user{margin-left:auto;display:flex;align-items:center;gap:9px;font-size:12px;font-weight:800}.app-user-mark{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--violet);font-size:11px}.app-logout{padding:7px 9px;border:1px solid #55565b;border-radius:4px;color:#e6e6e8;background:transparent;cursor:pointer;font:800 11px "Roboto Condensed",Arial,sans-serif}.app-layout{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:calc(100vh - 64px)}.app-sidebar{display:flex;flex-direction:column;gap:2px;padding:28px 14px 18px;border-right:1px solid #e1e2e5;background:#fff}.sidebar-label{margin:0 8px 8px;color:#85868e;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.side-link{display:flex;align-items:center;gap:10px;min-height:39px;padding:0 10px;border-left:3px solid transparent;color:#3e4048;text-decoration:none;font-size:12px;font-weight:800}.side-link:hover{background:#f7f7f8}.side-link.is-active{border-left-color:var(--orange);background:#fff4ed}.side-link.is-active span{color:var(--orange)}.sidebar-footnote{margin-top:auto;padding:15px 12px;border:1px solid #e7e2dc;border-radius:8px;color:var(--muted);background:#fcfaf7;font-size:11px;line-height:1.5}.sidebar-footnote strong{color:var(--ink)}.sidebar-footnote p{margin:5px 0 0}.app-main{width:min(100%,1480px);padding:36px clamp(24px,4vw,58px) 60px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:29px}.page-heading .eyebrow{margin-bottom:8px}.page-heading h1{color:#24252b;font-size:clamp(31px,4vw,44px)}.page-heading p:last-child{margin:9px 0 0;color:var(--muted);font-size:14px}.action-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:42px;padding:0 16px;border:0;border-radius:5px;color:#fff;background:var(--orange);text-decoration:none;cursor:pointer;font:800 12px "Roboto Condensed",Arial,sans-serif}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric-card,.content-card{border:1px solid #e2e2e5;border-radius:10px;background:#fff;box-shadow:0 3px 12px rgba(20,22,27,.035)}.metric-card{min-height:162px;padding:22px}.metric-card p{margin:18px 0 6px;color:#777982;font-size:11px;font-weight:800}.metric-card strong{display:block;color:#2b2c33;font:800 26px/1 Montserrat,Arial,sans-serif;letter-spacing:-.05em}.metric-card small{display:block;margin-top:11px;color:#96979d;font-size:10px}.metric-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:6px;color:var(--orange);background:#fff1e8}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:16px;margin-top:16px}.content-card{padding:25px}.content-card h2{color:#292a31;font-size:22px}.quick-list{margin-top:16px}.quick-list>a{display:flex;align-items:center;gap:13px;padding:14px 0;border-top:1px solid #eeeeef;color:inherit;text-decoration:none}.quick-list strong,.quick-list small{display:block}.quick-list strong{font-size:13px}.quick-list small{margin-top:3px;color:var(--muted);font-size:11px}.quick-list b{margin-left:auto;color:var(--orange)}.quick-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:6px;color:var(--violet);background:#f1edf4}.activity-card{color:var(--muted);line-height:1.7;font-size:13px}.activity-card h2{margin-bottom:14px;color:#2c2d34}.activity-card p:not(.eyebrow){margin:0 0 17px}.text-link{color:var(--violet);font-size:12px;font-weight:800;text-decoration:none}@media(max-width:980px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}@media(max-width:700px){.app-topbar{min-height:58px;padding:0 17px;gap:13px;flex-wrap:wrap}.app-brand{font-size:22px}.app-brand small{display:none}.app-global-nav{order:3;width:100%;min-height:42px;overflow:auto}.app-global-nav a{padding:0 9px}.app-user{font-size:0}.app-layout{grid-template-columns:1fr}.app-sidebar{display:none}.app-main{padding:27px 17px 44px}.page-heading{align-items:start;flex-direction:column;margin-bottom:22px}.metric-grid{gap:10px}.metric-card{min-height:145px;padding:17px}.metric-card strong{font-size:22px}.dashboard-grid{gap:10px}.content-card{padding:20px}}

/* Menú de reportes en la navegación superior. */
.nav-menu{position:relative;display:flex;align-self:stretch}.nav-menu summary{display:flex;align-items:center;padding:0 14px;border-bottom:3px solid transparent;color:#e4e4e7;font-size:13px;font-weight:800;cursor:pointer;list-style:none}.nav-menu summary::-webkit-details-marker{display:none}.nav-menu summary span{margin-left:7px;font-size:14px;transition:transform .18s}.nav-menu[open] summary{color:#fff;background:#303137;border-bottom-color:var(--orange)}.nav-menu[open] summary span{transform:rotate(180deg)}.nav-dropdown{position:absolute;top:61px;left:0;width:246px;padding:7px;border:1px solid #dddfe3;border-radius:0 0 7px 7px;background:#fff;box-shadow:0 14px 25px rgba(20,22,27,.15)}.app-global-nav .nav-dropdown a{min-height:58px;padding:9px 11px;border:0;border-radius:4px;gap:10px;color:#2e3037}.app-global-nav .nav-dropdown a:hover{background:#fff3eb;color:#2e3037}.nav-dropdown a>span:first-child{display:grid;place-items:center;width:29px;height:29px;border-radius:5px;color:var(--orange);background:#fff0e5}.nav-dropdown strong,.nav-dropdown small{display:block}.nav-dropdown strong{font-size:12px}.nav-dropdown small{margin-top:3px;color:#777982;font-size:10px;font-weight:600}@media(max-width:700px){.nav-menu summary{padding:0 9px}.nav-dropdown{top:39px}}
