:root{--navy:#0b1930;--navy-2:#132744;--primary:#1769e0;--bg:#f4f7fb;--muted:#66758a;--border:#e3e9f1}*{box-sizing:border-box}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#142136;background:var(--bg)}.auth-hero{background:linear-gradient(135deg,rgba(6,24,48,.97),rgba(14,60,107,.93)),radial-gradient(circle at 70% 30%,#1c75d9,transparent 45%);position:relative;align-items:flex-end;padding:8vw;color:#fff;overflow:hidden}.auth-hero:after{content:"";position:absolute;width:540px;height:540px;border:1px solid rgba(255,255,255,.09);border-radius:50%;right:-150px;top:-100px;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.02)}.hero-copy{max-width:640px;position:relative;z-index:1}.hero-copy h1{font-size:clamp(3rem,5vw,5rem);line-height:1.02;font-weight:750;letter-spacing:-.04em}.hero-copy .lead{max-width:550px;color:#c4d5e9}.brand-mark{width:56px;height:56px;display:grid;place-items:center;background:linear-gradient(145deg,#2683ee,#0755bf);color:#fff;border-radius:16px;font-size:1.35rem;box-shadow:0 12px 28px rgba(14,91,190,.3)}.brand-mark.small{width:42px;height:42px;border-radius:12px}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.18em}.login-panel{max-width:520px;margin:auto;padding:3rem 4rem}.form-label{font-weight:650;font-size:.88rem}.input-group-text{background:#f8fafc;border-color:var(--border);color:#718096}.form-control,.form-select{border-color:var(--border);padding:.72rem .9rem}.input-group-lg .form-control,.input-group-lg .input-group-text{font-size:1rem}.btn{border-radius:10px;font-weight:650}.btn-primary{background:#1769e0;border-color:#1769e0;padding:.75rem 1.1rem}.security-note{text-align:center;color:#8490a2;font-size:.78rem;margin-top:2rem}.profile-bg{background:radial-gradient(circle at 50% 0,#fff 0,#f4f7fb 55%)}.profile-card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:2rem;box-shadow:0 12px 40px rgba(18,42,73,.07);cursor:pointer;transition:.2s;height:100%}.profile-card:hover{transform:translateY(-5px);border-color:#6aa6ef;box-shadow:0 18px 50px rgba(18,73,145,.14)}.profile-icon{width:60px;height:60px;display:grid;place-items:center;border-radius:17px;background:#eaf3ff;color:var(--primary);font-size:1.5rem}.sidebar{width:260px;height:100vh;position:fixed;background:var(--navy);color:#fff;padding:1.25rem;display:flex;flex-direction:column;z-index:20}.sidebar-brand{display:flex;align-items:center;gap:.8rem;padding:.25rem .25rem 2rem}.sidebar-brand span:last-child{display:flex;flex-direction:column}.sidebar-brand small{color:#9babc1}.sidebar .nav-link{color:#9facc0;border-radius:10px;margin-bottom:.35rem;padding:.8rem}.sidebar .nav-link:hover,.sidebar .nav-link.active{background:#1c3456;color:#fff}.sidebar .nav-link i{width:25px}.sidebar-footer{margin-top:auto}.content{margin-left:260px;min-height:100vh}.topbar{height:82px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 2rem}.user-chip{display:flex;align-items:center;gap:.7rem}.user-chip>div:last-child{display:flex;flex-direction:column;font-size:.85rem}.user-chip small{color:var(--muted)}.avatar{width:42px;height:42px;border-radius:50%;background:#dbeafe;color:#1559b6;display:grid;place-items:center;font-weight:800}.stat-card,.project-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:1.35rem;height:100%;box-shadow:0 5px 18px rgba(23,42,70,.035)}.stat-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:#eaf3ff;color:var(--primary)}.project-card{transition:.2s}.project-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(23,42,70,.09)}.project-code{color:var(--muted);font-size:.76rem;font-weight:750;letter-spacing:.07em}.status{font-size:.7rem;font-weight:800;padding:.42rem .65rem;border-radius:20px}.status-EN_CURSO{color:#087a55;background:#ddf8ee}.status-PLANIFICACION{color:#7a5a08;background:#fff3cd}.status-PAUSADO{color:#994321;background:#ffe5d8}.status-FINALIZADO{color:#2558a5;background:#e2edff}.progress{height:7px;background:#edf1f6}.modal-content{border:0;border-radius:18px}.modal-header,.modal-footer{padding:1.3rem 1.5rem}.modal-body{padding:1.5rem}@media(max-width:991.98px){.login-panel{padding:2rem}.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.content{margin-left:0}.topbar{padding:0 1rem}}
