/* Executive Tech — Estándar visual compartido · Base para futuros módulos. */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
:root{
  --std-sidebar:#0b1426;--std-hover:#172941;--std-active:#23354c;--std-active-indicator:#3d8bfd;
  --std-ink:#10162b;--std-muted:#66708a;--std-primary:#3862d8;--std-border:#e4e8f0;
  --std-font:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
}
body,button,input,select,textarea{font-family:var(--std-font)}
h1,h2,h3,.page-head h1{font-family:var(--std-font);letter-spacing:-.035em}
.sidebar{background:var(--std-sidebar)!important}
.sidebar .brand-copy strong{font-family:var(--std-font);font-size:13px;font-weight:800;letter-spacing:-.035em;line-height:1.24}
.sidebar .brand-copy small{font-weight:600;letter-spacing:.015em;font-size:10px;color:#8ea2b9;text-transform:none}
.sidebar-section-label{font-family:var(--std-font);font-size:10px;font-weight:800;letter-spacing:.12em;margin-top:19px;color:#8195b2}
.sidebar .nav-link{font-family:var(--std-font);font-weight:700;font-size:12.7px;letter-spacing:-.02em;min-height:42px;gap:12px;padding:10px 11px;border-radius:5px}
.sidebar .nav-link svg{width:19px;height:19px;stroke-width:1.9;color:#91a6c2}
.sidebar .nav-link:hover{background:var(--std-hover);color:#fff}
.sidebar .nav-link.active{background:var(--std-active);border:0;box-shadow:inset 3px 0 var(--std-active-indicator);color:#fff}
.sidebar .nav-link.active svg{color:#b3d5ff}
.sidebar .portal-back-link{font-size:11.3px;font-weight:750;letter-spacing:-.01em;min-height:38px;margin:0 4px 11px}
.sidebar .brand{min-height:61px;padding:8px 7px 20px;margin-bottom:11px}
.sidebar .brand-icon{border-radius:8px;background:#6158d5}
.sidebar-admin>summary{font-family:var(--std-font);font-size:11.5px;font-weight:800;min-height:43px;color:#a7b8cf;letter-spacing:.065em;text-transform:uppercase}
.sidebar-admin>summary svg{width:19px;height:19px;stroke-width:1.9}
.sidebar-admin-items .nav-link{font-size:12px;min-height:38px;font-weight:650;padding:9px 10px}
.sidebar-admin-items{gap:2px!important}
.sidebar-project{font-family:var(--std-font);font-size:11px;font-weight:650}
.sidebar-bottom{background:var(--std-sidebar);margin-top:auto;padding:12px 4px 4px;gap:6px}
.account-identity strong{font-family:var(--std-font);font-weight:750;letter-spacing:-.015em}
.account-identity small{font-family:var(--std-font);font-size:10px}
.sidebar .session-logout{min-height:42px!important;margin-top:0;font-family:var(--std-font);font-size:12px;color:#d5dfea!important;border:1px solid transparent!important;border-radius:5px!important;padding:9px 11px!important}
.sidebar .session-logout:hover{background:var(--std-hover)}
.sidebar .session-logout svg{color:#aabbd1!important}
.topbar,.main-content,.panel,.page-head,.btn,.history-table{font-family:var(--std-font)}
.page-head h1{font-weight:800;font-size:clamp(27px,2.35vw,34px)}
.page-head p{font-size:12.5px;line-height:1.65}
.eyebrow{font-size:10px}
.settings-card,.migration-card,.migration-backup,.migration-restore,.migration-guide{border-radius:10px}
.btn,.icon-btn{border-radius:7px}
.btn{font-size:11.6px;font-weight:750;letter-spacing:-.012em}
.btn.primary{background:var(--accent);border-color:var(--accent)}
.settings-head h2,.migration-card-head h2{font-size:15px;font-weight:760}
.settings-form label{font-size:11.5px}
.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.security-tips{display:grid;gap:11px;color:var(--muted);font-size:12px;line-height:1.7}
.security-tips p{margin:0}
/* Instalación e inicio de sesión · plantilla Executive Tech equivalente al Cotizador */
body[data-mode="install"],body[data-mode="login"]{background:#f4f6fb;color:#10162b}
.setup-layout.auth-wrap{min-height:100dvh;background:linear-gradient(145deg,#f5f7fc 0%,#edf1f8 100%);padding:35px 18px;color:#10162b}
.setup-layout .auth-glow{display:none}
.standard-auth.auth-card{width:min(100%,780px);background:#fff;color:#10162b;border-radius:17px;border:1px solid #e1e7f2;padding:clamp(22px,4vw,40px);box-shadow:0 20px 65px -29px rgba(20,35,60,.24)}
body[data-mode="login"] .standard-auth.auth-card{max-width:460px}
.standard-auth .auth-brand strong{font-size:14px;color:#10162b}
.standard-auth .auth-brand small{color:#64748b;letter-spacing:.08em}
.standard-auth .brand-icon{border-radius:11px;background:linear-gradient(135deg,#6560e3,#4f46e5)}
.standard-auth .auth-rule{border-color:#e6eaf1;margin:22px 0}
.standard-auth h1{font-size:clamp(23px,2.9vw,30px);color:#10162b;letter-spacing:-.04em}
.standard-auth .eyebrow{color:#4f46e5}
.standard-auth .muted{color:#66708a;font-size:12.5px;margin:9px 0 24px}
.standard-auth label{color:#415269;font-size:11.7px;font-weight:740}
.standard-auth input{background:#fff;color:#142136;border:1px solid #cad4e3;border-radius:8px;height:45px;font-size:13px}
.standard-auth input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px rgba(79,70,229,.12)}
.standard-auth .btn.primary{background:#4f46e5;border-color:#4f46e5;color:#fff;font-size:12px}
.standard-auth .btn.outlined{background:#fff;border-color:#d6deeb;color:#334155}
.standard-auth .auth-passkey small,.standard-auth .auth-passkey>span{color:#73839a}
.standard-auth .auth-footer{border-color:#e1e7ef;color:#7b899e;margin-top:23px}
.standard-auth .form-error{background:#fff3f4;border-color:#eea6b0;color:#a43243}
.setup-two{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.setup-section-title{font-weight:800;font-size:12px;letter-spacing:.025em;border-bottom:1px solid #e8ecf3;padding:9px 0 12px;color:#1c2d4c}
.setup-section-title small{font-size:10px;font-weight:600;color:#738198}
.setup-checks{display:flex;flex-wrap:wrap;gap:8px;margin:3px 0 23px}
.setup-checks span{border:1px solid #c9eadb;background:#effaf4;color:#107957;border-radius:6px;padding:8px 10px;font-size:10.7px;font-weight:750}
.setup-help{font-size:11px;color:#66708a;line-height:1.7;margin:-8px 0 3px}
/* Responsive */
@media(max-width:1100px){.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.sidebar{width:268px}.sidebar .nav-link{min-height:43px}}
@media(max-width:620px){.settings-grid,.setup-two{grid-template-columns:1fr}.standard-auth.auth-card{padding:24px 19px}.setup-layout.auth-wrap{align-items:flex-start;padding:15px 10px 26px}.standard-auth .auth-rule{margin:18px 0}.standard-auth .stack-gap{gap:14px}.setup-checks span{font-size:9px}.sidebar .nav-link{font-size:12.4px}}
.admin-intro p strong{display:inline;font-size:inherit;margin:0;color:var(--text);font-weight:760}

.setup-checks .setup-fail{border-color:#f1c1c7;background:#fef1f2;color:#b3263c}
