/* IA en Acción · Corporativo PGM — Make Data Solutions */
:root{--navy:#032E59;--deep:#001F46;--blue:#0467C1;--teal:#0299A7;--mint:#9FE1CB;--gray:#555C68;--muted:#6B7480;--line:#E3E9F0;--bg:#F4F7FB;--ink:#1F2A37;--r:16px;--sh:0 1px 2px rgba(3,46,89,.05),0 8px 24px rgba(3,46,89,.06)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%}
body{font-family:Inter,"Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:14px;-webkit-font-smoothing:antialiased}
button{font:inherit;cursor:pointer;color:inherit}input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}
[hidden]{display:none!important}.muted{color:var(--muted)}.tiny{font-size:12px}
.ic{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--mint)}
.boot{height:100vh;display:grid;place-items:center}.boot-mark{width:56px;height:56px;animation:pulse 1.4s ease-in-out infinite}
@keyframes pulse{50%{opacity:.4;transform:scale(.94)}}
@keyframes grow{from{width:0}}
@keyframes enter{from{opacity:0;transform:translateY(8px)}}

/* botones y formularios */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;padding:10px 16px;background:var(--navy);color:#fff;font-weight:600;font-size:13.5px;white-space:nowrap;transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(3,46,89,.18)}
.btn.teal{background:var(--teal)}.btn.ghost{background:#fff;color:var(--navy);border:1px solid var(--line)}.btn.ghost:hover{box-shadow:none;background:#F7FAFC}
.btn.danger{color:#B42318}.btn.sm{padding:8px 12px;font-size:13px}.btn.xs{padding:6px 10px;font-size:12px;border-radius:8px}.btn.block{width:100%;padding:12px}
.btn:disabled{opacity:.6;cursor:wait;transform:none}
.ib{border:0;background:transparent;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:var(--gray)}.ib:hover{background:#EEF3F8}
.fld{display:flex;flex-direction:column;gap:6px;margin:0 0 14px}.fld>span{font-size:12px;font-weight:600;color:var(--gray)}.fld em{font-style:normal;font-size:11.5px;color:var(--muted)}
.fld input,.fld select,.fld textarea{border:1px solid #D7E0EA;border-radius:10px;padding:10px 12px;background:#fff;outline:none;width:100%;transition:border .15s,box-shadow .15s}
.fld textarea{resize:vertical;min-height:76px;line-height:1.45}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(2,153,167,.15)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.err{background:#FEF3F2;color:#B42318;border-radius:10px;padding:10px 12px;font-size:13px;margin:0 0 12px}

/* inicio de sesión */
.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}
.lg-art{position:relative;overflow:hidden;color:#fff;padding:48px 56px;display:flex;flex-direction:column;justify-content:space-between;gap:40px;
 background:radial-gradient(1100px 600px at -10% -20%,rgba(2,153,167,.45),transparent 60%),radial-gradient(900px 500px at 110% 120%,rgba(4,103,193,.55),transparent 60%),linear-gradient(160deg,#032E59,#001F46)}
.lg-logo{width:170px;height:50px;position:relative}
.lg-copy{position:relative}.lg-copy h1{font-size:56px;letter-spacing:-1.6px;margin:12px 0 6px;line-height:1}
.lg-copy p{font-size:18px;color:#D6E4F2;margin:0 0 30px}
.lg-copy ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}.lg-copy li{display:flex;align-items:center;gap:12px;color:#E6EEF7;font-size:15px}
.lg-copy li .ic{color:var(--mint);width:20px;height:20px}
.lg-art small{position:relative;color:#9DB3CC;font-size:12px}
.lg-glow{position:absolute;right:-140px;bottom:-180px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(159,225,203,.25),transparent 65%);animation:drift 12s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate(-70px,-50px)}}
.lg-form{display:grid;place-items:center;padding:40px 24px;background:#fff}.lg-form form{width:100%;max-width:380px}
.lg-mark{width:44px;height:44px;margin-bottom:14px}
.lg-form h2,.force h2{font-size:26px;color:var(--navy);margin:0 0 6px;letter-spacing:-.4px}
.lg-form p.muted,.force p.muted{margin:0 0 22px;line-height:1.5}
.force{min-height:100vh;display:grid;place-items:center;padding:24px}.force .card{max-width:420px;width:100%}

/* estructura */
.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}
.side{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#032E59 0%,#001F46 100%);color:#fff;display:flex;flex-direction:column;padding:22px 16px}
.brand{display:block;padding:0 8px}.brand .logo-w{width:150px;height:44px;display:block}
.prog{margin:18px 8px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.prog span{display:block;font-size:10.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--mint);font-weight:700}.prog b{font-size:14px}
.side nav{display:grid;gap:4px}
.side nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:#C9D7E6;font-weight:500;position:relative;transition:background .15s,color .15s}
.side nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.side nav a.on{background:rgba(2,153,167,.22);color:#fff}.side nav a.on::before{content:"";position:absolute;left:-16px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--mint)}
.me{margin-top:auto;position:relative}
.me-btn{width:100%;display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;border:0;background:rgba(255,255,255,.06);color:#fff;text-align:left}
.me-btn>span:not(.av){flex:1;min-width:0}.me-btn b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.me-btn small{color:#9DB3CC;font-size:11.5px}
.me-menu{position:absolute;bottom:60px;left:0;right:0;background:#fff;color:var(--ink);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.25);padding:6px;display:grid;z-index:30}
.me-menu a,.me-menu button{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;border:0;background:none;text-align:left;font-size:13.5px}
.me-menu a:hover,.me-menu button:hover{background:#F1F5F9}
.main{padding:28px 36px 56px;min-width:0}.main.enter{animation:enter .35s ease both}
.vh{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px}
.vh h1{font-size:26px;color:var(--navy);margin:0;letter-spacing:-.5px}.vh p{margin:6px 0 0;color:var(--muted);max-width:640px;line-height:1.45}.vh-act{display:flex;gap:10px;flex-wrap:wrap}

/* piezas comunes */
.av{--c:#032E59;width:34px;height:34px;border-radius:50%;display:inline-grid;place-items:center;background:var(--c);color:#fff;font-size:12px;font-weight:700;flex:none;letter-spacing:.3px}
.av.sm{width:28px;height:28px;font-size:11px}.av.xs{width:22px;height:22px;font-size:9.5px}
.chip{--c:#555C68;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:600;color:var(--navy);background:color-mix(in srgb,var(--c) 12%,#fff);white-space:nowrap}
.chip i{width:7px;height:7px;border-radius:50%;background:var(--c)}.chip.all{--c:#94A3B8}
.dot{--c:#555C68;width:10px;height:10px;border-radius:50%;background:var(--c);flex:none;display:inline-block}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh)}.pad{padding:20px 22px}
.ch{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.ch h3{margin:0;font-size:15px;color:var(--navy)}
.lnk{display:inline-flex;align-items:center;gap:6px;color:var(--blue);font-weight:600;font-size:12.5px}.lnk .ic{width:15px;height:15px}
.empty{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;padding:18px;border:1px dashed #D7E0EA;border-radius:12px;background:#FAFCFE}.empty .ic{color:var(--teal)}
.pill{font-size:11.5px;font-weight:600;padding:4px 9px;border-radius:999px;background:#EEF3F8;color:var(--navy);white-space:nowrap}.pill.teal{background:rgba(2,153,167,.12);color:#037A86}
.bar{height:6px;border-radius:99px;background:#EEF3F8;overflow:hidden;position:relative}.bar i{display:block;height:100%;background:var(--c,var(--teal));border-radius:99px;animation:grow 1s both}

/* inicio */
.hero{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 310px;gap:24px;align-items:center;padding:28px 30px;border-radius:20px;color:#fff;margin-bottom:18px;box-shadow:0 18px 40px rgba(3,46,89,.25);
 background:radial-gradient(700px 300px at 0% 0%,rgba(2,153,167,.45),transparent 60%),radial-gradient(600px 300px at 100% 100%,rgba(4,103,193,.55),transparent 60%),linear-gradient(135deg,#032E59,#012447)}
.hero h1{font-size:30px;margin:8px 0 4px;letter-spacing:-.6px}.hero p{margin:0;color:#D6E4F2}
.hero-bar{margin-top:20px;max-width:560px}
.hb-track{height:8px;border-radius:99px;background:rgba(255,255,255,.14);overflow:hidden;position:relative}
.hb-track::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:rgba(255,255,255,.4)}
.hb-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--mint),#fff);animation:grow 1.2s cubic-bezier(.2,.8,.2,1) both;min-width:8px}
.hb-lbl{display:flex;justify-content:space-between;font-size:11.5px;color:#B9CDE1;margin-top:8px}
.hero-next{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:16px 18px;display:grid;gap:6px}
.hero-next b{font-size:15px;line-height:1.3}.hero-next .sub{color:#D6E4F2;font-size:12.5px}.hero-next .chip{justify-self:start;color:#fff;background:rgba(255,255,255,.14)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:18px 20px;display:grid;gap:4px;align-content:start}
.kpi .ic{color:var(--teal);width:22px;height:22px;margin-bottom:6px}
.kl{font-size:12.5px;color:var(--muted);font-weight:500}.kv{font-size:32px;color:var(--navy);letter-spacing:-1px;line-height:1.1}.ks{font-size:12px;color:var(--muted)}
.kbar{height:6px;border-radius:99px;background:#EEF3F8;margin-top:8px;overflow:hidden}.kbar i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--blue));border-radius:99px;animation:grow 1.2s both}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.next{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.next li{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;padding:10px;border-radius:12px;background:#F7FAFC}
.next .d{background:#fff;border:1px solid var(--line);border-radius:10px;text-align:center;padding:6px 0}.next .d b{display:block;font-size:17px;color:var(--navy);line-height:1}
.next .d span{font-size:10.5px;text-transform:uppercase;color:var(--teal);font-weight:700;letter-spacing:.8px}
.next .t{min-width:0}.next .t b{display:block;font-size:13.5px;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.next .t span{font-size:12px;color:var(--muted)}
.areas{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.areas li{display:grid;grid-template-columns:12px 1fr 110px 92px 62px;gap:12px;align-items:center;padding:9px 8px;border-radius:10px;cursor:pointer}.areas li:hover{background:#F7FAFC}
.areas b{font-size:13px;color:var(--navy);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.areas .n{font-size:12px;color:var(--muted);white-space:nowrap;text-align:right}
.champs,.feed{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.champs li{display:grid;grid-template-columns:18px 34px 1fr auto;gap:10px;align-items:center}
.rk{font-weight:800;color:var(--teal);text-align:center}.champs b{display:block;font-size:13px;color:var(--navy)}.champs div span{font-size:12px;color:var(--muted)}.champs .pills{display:flex;gap:6px}
.feed li{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start}.feed span{font-size:13px;line-height:1.4}.feed small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}

/* barra de herramientas */
.toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:0 12px;min-width:260px}
.search input{border:0;outline:none;padding:10px 0;background:transparent;width:100%}.search .ic{color:var(--muted)}
.fchips{display:flex;gap:6px;flex-wrap:wrap}
.fchips button{--c:#555C68;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:600;color:var(--gray)}
.fchips button i{width:7px;height:7px;border-radius:50%;background:var(--c)}.fchips button.on{background:var(--navy);border-color:var(--navy);color:#fff}

/* tablero de casos */
.board{display:grid;grid-template-columns:repeat(4,minmax(250px,1fr));gap:14px;align-items:start;overflow-x:auto;padding-bottom:8px}
.col{min-width:0;background:#EAF0F6;border-radius:16px;padding:12px;min-height:260px;transition:background .15s,box-shadow .15s}
.col.over{background:#DDEAF5;box-shadow:inset 0 0 0 2px var(--teal)}
.col header{display:flex;align-items:center;gap:8px;padding:4px 4px 0}.col header b{font-size:13.5px;color:var(--navy)}
.cnt{margin-left:auto;font-size:12px;font-weight:700;color:var(--gray);background:#fff;border-radius:999px;padding:2px 9px}
.cdot{width:9px;height:9px;border-radius:50%}.cdot.propuesto{background:#94A3B8}.cdot.analisis{background:#E08A1E}.cdot.trabajando{background:var(--blue)}.cdot.en_uso{background:var(--teal)}
.cdesc{font-size:11.5px;color:var(--muted);margin:4px 4px 10px}
.cards{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.kc{--c:#94A3B8;min-width:0;background:#fff;border-radius:12px;padding:12px 14px 12px 16px;border:1px solid var(--line);box-shadow:0 1px 2px rgba(3,46,89,.05);cursor:pointer;position:relative;transition:transform .15s,box-shadow .15s}
.kc::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:var(--c)}
.kc:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(3,46,89,.10)}.kc.drag{opacity:.45}
.kc-top{display:flex;align-items:center;gap:6px;margin-bottom:6px}.kc-area{font-size:10.5px;font-weight:700;color:var(--c);text-transform:uppercase;letter-spacing:.8px}
.kc-pri{font-size:10.5px;font-weight:700;color:#B42318;background:#FEF3F2;border-radius:6px;padding:1px 6px}
.kc h4{margin:0 0 10px;font-size:13.5px;line-height:1.35;color:var(--navy);font-weight:600}
.kc-foot{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.kc-who{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.sp{flex:1}
.kc-time,.kc-com{display:inline-flex;align-items:center;gap:4px;font-weight:600;white-space:nowrap}.kc-time{color:#037A86}.kc-time .ic,.kc-com .ic{width:14px;height:14px}
.cempty{font-size:12px;color:var(--muted);text-align:center;padding:18px;border:1px dashed #C9D5E2;border-radius:12px}

/* panel lateral del caso */
.dback{position:fixed;inset:0;background:rgba(1,20,40,.35);z-index:50;opacity:0;transition:opacity .2s}.dback.in{opacity:1}
.drawer{position:absolute;right:0;top:0;bottom:0;width:min(540px,100%);background:#fff;box-shadow:-20px 0 40px rgba(1,20,40,.2);padding:22px 26px 30px;overflow-y:auto;transform:translateX(30px);transition:transform .25s}
.dback.in .drawer{transform:none}
.dh{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.dh-l{display:flex;gap:6px;flex-wrap:wrap}.chip.src{--c:#0467C1}
.drawer h2{font-size:21px;color:var(--navy);margin:6px 0 10px;letter-spacing:-.3px;line-height:1.25}
.dmeta{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:16px;flex-wrap:wrap}
.dstat{display:flex;gap:22px;margin-bottom:14px;align-items:flex-end}.fld.inline{margin:0}.fld.inline select{padding:8px 10px;min-width:170px}
.pri{font-size:13.5px;padding:8px 0}.pri.alta{color:#B42318}.pri.media{color:#B54708}.pri.baja{color:var(--gray)}
.dtimes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.dtimes div{background:#F7FAFC;border:1px solid var(--line);border-radius:12px;padding:12px}.dtimes span{display:block;font-size:11.5px;color:var(--muted);font-weight:600}
.dtimes b{display:block;font-size:20px;color:var(--navy);margin-top:2px}.dtimes small{font-size:11px;color:var(--muted)}
.dtimes .hi{background:var(--navy);border-color:var(--navy)}.dtimes .hi span,.dtimes .hi small{color:#B9CDE1}.dtimes .hi b{color:var(--mint)}
.dsec{margin-bottom:16px}.dsec h4{font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--teal);margin:0 0 6px}.dsec p{margin:0;line-height:1.55;font-size:13.5px}
.dact{display:flex;gap:10px;margin:6px 0 22px}
.coms{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:12px}.coms li{display:grid;grid-template-columns:28px 1fr;gap:10px}
.coms .cm-h{display:flex;gap:8px;align-items:baseline;font-size:13px}.coms small{color:var(--muted);font-size:11.5px}.coms p{margin:3px 0 0;font-size:13.5px;line-height:1.5}.coms .none{display:block;font-size:13px}
.dcom{display:grid;gap:8px}.dcom textarea{border:1px solid #D7E0EA;border-radius:10px;padding:10px 12px;resize:vertical;outline:none;min-height:64px}
.dcom textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(2,153,167,.15)}.dcom .btn{justify-self:end}

/* modales y avisos */
.mback{position:fixed;inset:0;background:rgba(1,20,40,.4);z-index:60;display:grid;place-items:center;padding:20px;opacity:0;transition:opacity .2s}.mback.in{opacity:1}
.modal{background:#fff;border-radius:18px;width:min(520px,100%);max-height:calc(100vh - 40px);overflow-y:auto;padding:22px 24px;box-shadow:0 30px 60px rgba(1,20,40,.3);transform:translateY(10px) scale(.98);transition:transform .2s}
.mback.in .modal{transform:none}.modal.wide{width:min(680px,100%)}
.mh{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.mh h3{margin:0;font-size:18px;color:var(--navy)}
.modal>form>p,.modal>p{margin:0 0 16px;line-height:1.5;color:var(--muted)}
.mf{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.mf .left{margin-right:auto}
.cred{display:grid;gap:10px;background:#F7FAFC;border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:12px 0}
.cred span{display:block;font-size:11.5px;color:var(--muted);font-weight:600}.cred b{font-size:14px;color:var(--navy);word-break:break-all}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:18px!important;letter-spacing:1px}
.idet{display:grid;gap:10px;margin:6px 0 4px}.idet div{display:grid;grid-template-columns:110px 1fr;gap:10px;font-size:13.5px}.idet span{color:var(--muted)}
#toasts{position:fixed;right:20px;bottom:20px;display:grid;gap:8px;z-index:80}
.toast{background:var(--navy);color:#fff;padding:12px 16px;border-radius:12px;box-shadow:0 12px 30px rgba(1,20,40,.25);font-size:13.5px;animation:enter .25s both;max-width:360px}
.toast.err{background:#B42318}.toast.warn{background:#B54708}.toast.out{opacity:0;transform:translateY(6px);transition:all .4s}

/* hoja de ruta */
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--gray);align-items:center}.legend span{display:inline-flex;align-items:center;gap:6px}
.sw{width:18px;height:11px;border-radius:4px;display:inline-block}.sw.t{background:var(--navy)}.sw.s{box-shadow:inset 0 0 0 1.5px var(--blue)}.sw.a{background:#E4EAF1}.sw.h{width:10px;height:10px;background:var(--teal);transform:rotate(45deg);border-radius:2px}
.gantt{overflow-x:auto;margin-bottom:18px;padding:0}
.g-inner{--lbl:200px;position:relative;min-width:calc(var(--lbl) + var(--n) * 86px)}
.g-head,.g-cycles,.g-row{display:grid;grid-template-columns:var(--lbl) repeat(var(--n),minmax(86px,1fr))}
.g-head>div{padding:12px 4px 10px;text-align:center;border-bottom:1px solid var(--line)}.g-head b{display:block;font-size:12px;color:var(--navy);text-transform:capitalize}
.g-head span{font-size:10.5px;color:var(--muted)}.g-head .cur{background:rgba(2,153,167,.08)}.g-head .cur b{color:var(--teal)}
.g-cycles{padding:10px 0 6px}.g-cyc{margin:0 3px;padding:6px 10px;border-radius:8px;font-size:11.5px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.g-cyc.c1{background:linear-gradient(90deg,var(--teal),#2CB9C6)}.g-cyc.c2{background:linear-gradient(90deg,var(--blue),#3B8FDD)}.g-cyc.c0{background:#94A3B8}
.g-row{border-top:1px solid #EEF2F6;min-height:50px}.g-row:hover{background:#FAFCFE}
.g-lbl{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 16px;font-size:12.5px;font-weight:600;color:var(--navy);position:sticky;left:0;background:#fff;z-index:2;border-right:1px solid #EEF2F6}
.g-row:hover .g-lbl{background:#FAFCFE}
.g-c{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:6px 4px;border-left:1px dashed #EEF2F6;min-width:0}
.gp{--c:#555C68;display:flex;align-items:center;gap:5px;border:0;border-radius:8px;padding:5px 7px;font-size:11px;font-weight:600;text-align:left;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:transform .12s}
.gp:hover{transform:translateY(-1px)}
.gp.taller{background:var(--c);color:#fff;box-shadow:0 4px 10px color-mix(in srgb,var(--c) 30%,transparent)}
.gp.seguimiento{background:#fff;color:var(--c);box-shadow:inset 0 0 0 1.5px var(--c)}
.gp.asesoria{background:#E4EAF1;color:var(--gray)}
.gp.hito{background:transparent;color:var(--navy);padding-left:2px;white-space:normal}.gp.hito::before{content:"";width:9px;height:9px;transform:rotate(45deg);background:var(--teal);border-radius:2px;flex:none}
.gp.done{opacity:.6}.gp.done::after{content:"✓";margin-left:auto;padding-left:4px}
.g-today{position:absolute;top:54px;bottom:0;width:2px;background:#E5484D;opacity:.75;z-index:3;pointer-events:none;border-radius:2px}
.g-head .hoy{color:#E5484D;font-weight:800}
.hrs{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.hrs li{display:grid;grid-template-columns:190px 1fr 120px;gap:14px;align-items:center;font-size:13px}.hrs b{color:var(--navy);font-weight:600;display:flex;align-items:center;gap:8px}
.hrs .hb{position:relative;height:10px;border-radius:99px;background:#EEF3F8;overflow:hidden}
.hrs .hb .pl{position:absolute;left:0;top:0;bottom:0;border-radius:99px;background:color-mix(in srgb,var(--c) 30%,#fff);animation:grow 1s both}
.hrs .hb .dn{position:absolute;left:0;top:0;bottom:0;border-radius:99px;background:var(--c)}.hrs .v{text-align:right;color:var(--muted);font-size:12px}
.ses{display:grid;gap:18px}.sm-h{font-size:13px;font-weight:700;color:var(--navy);margin:0 0 8px;display:flex;gap:10px;align-items:center;text-transform:capitalize}
.srow{display:grid;grid-template-columns:78px 160px minmax(0,1fr) 170px 44px 106px;gap:12px;align-items:center;padding:10px 14px;border-radius:12px;background:#fff;border:1px solid var(--line);cursor:pointer;font-size:13px;margin-bottom:6px;transition:box-shadow .15s}
.srow:hover{box-shadow:var(--sh)}.srow .dt{font-weight:600;color:var(--navy)}.srow .ttl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.srow .h{color:var(--muted);text-align:right}
.kd{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--gray);white-space:nowrap}.kd i{width:9px;height:9px;border-radius:2px;flex:none}
.kd.taller i{background:var(--navy)}.kd.asesoria i{background:#B8C4D2;border-radius:50%}.kd.seguimiento i{box-shadow:inset 0 0 0 1.5px var(--blue)}.kd.hito i{background:var(--teal);transform:rotate(45deg)}
.st{font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:999px;text-align:center;white-space:nowrap}
.st.planeada{background:#F1F5F9;color:var(--gray)}.st.confirmada{background:#EAF3FC;color:var(--blue)}.st.realizada{background:rgba(2,153,167,.12);color:#037A86}.st.cancelada{background:#FEF3F2;color:#B42318}

/* forma de trabajo */
.wow{display:grid;gap:22px}
.wobj{display:flex;gap:16px;align-items:center;background:linear-gradient(135deg,#032E59,#012447);color:#fff;border-radius:18px;padding:22px 26px;box-shadow:0 18px 40px rgba(3,46,89,.2)}
.wobj .ic{width:30px;height:30px;color:var(--mint)}.wobj b{display:block;font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:var(--mint);margin-bottom:4px}.wobj span{font-size:17px;font-weight:500;line-height:1.4}
.wsec h3{font-size:15px;color:var(--navy);margin:0 0 12px}
.wroles,.wtimes,.wsteps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.wtimes,.wsteps{grid-template-columns:repeat(4,1fr)}
.wrole{padding:18px 20px}.wrole .t{display:flex;align-items:center;gap:10px;margin-bottom:10px}.wrole .t .ic{color:var(--blue);width:22px;height:22px}.wrole b{font-size:14.5px;color:var(--navy)}
.wrole ul{margin:0;padding-left:18px;color:var(--gray);line-height:1.75;font-size:13.5px}
.wtl{display:grid;grid-template-columns:repeat(4,1fr);position:relative;padding:20px 8px 18px}
.wtl::before{content:"";position:absolute;left:12.5%;right:12.5%;top:39px;height:2px;background:linear-gradient(90deg,var(--teal),var(--blue))}
.wtl div{text-align:center;position:relative;padding:0 10px}
.wtl i{display:grid;place-items:center;width:40px;height:40px;margin:0 auto 10px;border-radius:50%;background:#fff;border:2px solid var(--teal);font-style:normal;font-weight:800;color:var(--navy);font-size:12.5px}
.wtl b{display:block;color:var(--navy);font-size:13.5px}.wtl span{font-size:12.5px;color:var(--muted)}
.wtm{padding:18px 18px 16px}.wtm b{display:block;font-size:30px;color:var(--navy);letter-spacing:-.8px;line-height:1;white-space:nowrap}.wtm span{display:block;margin-top:10px;font-size:13px;color:var(--gray);line-height:1.45}
.wtm.hi{background:var(--navy);border-color:var(--navy)}.wtm.hi b{color:var(--mint)}.wtm.hi span{color:#D6E4F2}
.wsteps{counter-reset:s}.wstep{padding:16px 18px;counter-increment:s}
.wstep::before{content:counter(s);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;margin-bottom:10px}
.wstep p{margin:0;font-size:13.5px;line-height:1.5;color:var(--gray)}
.wgold{display:flex;gap:12px;align-items:center;background:#EAF3FC;border-radius:14px;padding:14px 18px;color:var(--navy);font-size:13.5px}.wgold .ic{color:var(--teal)}

/* personas */
.pgroups{display:grid;gap:16px}
.pg header{display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--line)}.pg h3{margin:0;font-size:14.5px;color:var(--navy)}
.pg ul{list-style:none;margin:0;padding:6px 10px}
.pg li{display:grid;grid-template-columns:34px minmax(0,1fr) 230px 120px 220px;gap:14px;align-items:center;padding:10px;border-radius:10px}.pg li:hover{background:#F7FAFC}
.pg li.simple{grid-template-columns:34px minmax(0,1fr) auto}
.pn{min-width:0}.pn b{font-size:13.5px;color:var(--navy)}.pn span{display:block;font-size:12px;color:var(--muted)}
.pn .badge{display:inline-block;margin-left:8px;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:6px;vertical-align:1px}.badge.warn{background:#FFFAEB;color:#B54708}
.pe{font-size:12.5px;color:var(--gray);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acc{font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:999px;white-space:nowrap;justify-self:start}
.acc.on{background:rgba(2,153,167,.12);color:#037A86}.acc.pend{background:#EAF3FC;color:var(--blue)}.acc.off{background:#F1F5F9;color:var(--gray)}
.pa{display:flex;gap:6px;justify-content:flex-end}.role{font-size:12px;color:var(--muted)}
.acct{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}

/* adaptable */
@media (max-width:1180px){.kpis{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.hero{grid-template-columns:1fr}.pg li{grid-template-columns:34px minmax(0,1fr) 120px 220px}.pg li .pe{display:none}}
@media (max-width:860px){
 .shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}
 .next li{grid-template-columns:48px minmax(0,1fr)}.next li .chip{grid-column:2;justify-self:start;margin-top:-4px}
 .g-inner{--lbl:128px}.g-lbl{font-size:11.5px;padding-left:10px}
 .side{position:sticky;top:0;height:auto;flex-direction:row;align-items:center;gap:6px;padding:10px 12px;z-index:20}
 .brand{padding:0}.brand .logo-w{width:104px;height:30px}.prog{display:none}.side nav{display:flex;gap:2px;overflow-x:auto}.side nav a{padding:9px}.side nav a span{display:none}.side nav a.on::before{display:none}
 .me{margin:0 0 0 auto}.me-btn{padding:2px;background:transparent}.me-btn>span:not(.av),.me-btn>.ic{display:none}.me-menu{bottom:auto;top:46px;left:auto;right:0;width:200px}
 .main{padding:18px 16px 40px}.vh{flex-direction:column;align-items:flex-start}.vh h1{font-size:22px}
 .login{grid-template-columns:1fr}.lg-art{padding:30px 24px;gap:24px}.lg-copy h1{font-size:40px}.lg-copy ul{display:none}
 .kpis{grid-template-columns:1fr 1fr}.kv{font-size:26px}.row2,.acct{grid-template-columns:1fr}
 .areas li{grid-template-columns:12px 1fr 70px 62px}.areas li .n.ses{display:none}
 .search{min-width:0;flex:1}
 .srow{grid-template-columns:64px minmax(0,1fr) 92px}.srow .kd,.srow .chip,.srow .h{display:none}
 .hrs li{grid-template-columns:110px 1fr 76px}
 .wroles,.wtimes,.wsteps{grid-template-columns:1fr 1fr}.wroles{grid-template-columns:1fr}.wtl{grid-template-columns:1fr 1fr;row-gap:18px}.wtl::before{display:none}
 .pg li,.pg li.simple{grid-template-columns:34px minmax(0,1fr)}.pg li .acc,.pg li .pa,.pg li .role{grid-column:2}.pa{justify-content:flex-start}
 .drawer{padding:18px 18px 28px}.dtimes b{font-size:17px}
}
