@font-face{font-family:"BG";src:local("Brandon Grotesque"),local("BrandonGrotesque");}
:root{
  --or:#F39200;--re:#E30F13;--gr:#878787;
  --gh:linear-gradient(90deg,#F39200,#E30F13);
  --gd:linear-gradient(135deg,#F39200,#E30F13);
  --wh:#fff;--of:#F8F7F6;--li:#EBEBEB;--l2:#D8D8D8;
  --k:#1C1C1C;--k2:#3A3A3A;--k3:#878787;--k4:#AFAFAF;
  --sg:#16A34A;--sa:#F59E0B;--sr:#E30F13;--sf:#64748B;
  --sw:240px;--th:58px;--r:10px;
  --f:"BG","Brandon Grotesque","Helvetica Neue","Segoe UI",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{font-family:var(--f);font-size:14px;color:var(--k);background:var(--of);display:flex;min-height:100vh;-webkit-font-smoothing:antialiased;}

/* SIDEBAR */
.sb{width:var(--sw);background:var(--k);position:fixed;top:0;left:0;bottom:0;display:flex;flex-direction:column;z-index:200;}
.sb::before{content:'';display:block;height:3px;background:var(--gh);flex-shrink:0;}
.sb-logo{padding:16px 18px;border-bottom:1px solid rgba(255,255,255,0.08);flex-shrink:0;}
.sb-logo-n{font-size:14px;font-weight:700;color:#fff;letter-spacing:0.04em;text-transform:uppercase;}
.sb-logo-c{font-size:11px;font-weight:700;color:var(--or);letter-spacing:0.06em;text-transform:uppercase;margin-top:2px;}
.sb-logo-s{font-size:9px;color:rgba(255,255,255,0.22);letter-spacing:0.06em;margin-top:1px;}
.sb-nav{padding:10px 8px;flex:1;display:flex;flex-direction:column;gap:1px;overflow-y:auto;}
.sb-lbl{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:rgba(255,255,255,0.2);padding:10px 10px 4px;}
.nb{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:7px;cursor:pointer;font-size:12.5px;font-weight:500;color:rgba(255,255,255,0.42);border:none;background:transparent;width:100%;text-align:left;font-family:var(--f);transition:all 0.15s;}
.nb:hover{background:rgba(255,255,255,0.07);color:rgba(255,255,255,0.75);}
.nb.active{background:var(--gh);color:#fff;font-weight:700;}
.ni{font-size:13px;width:16px;text-align:center;flex-shrink:0;}
.nbadge{margin-left:auto;background:var(--re);color:#fff;font-size:9px;font-weight:700;padding:2px 5px;border-radius:8px;}
.sb-foot{padding:10px 18px;border-top:1px solid rgba(255,255,255,0.06);font-size:9px;color:rgba(255,255,255,0.15);flex-shrink:0;}

/* MAIN */
.mn{margin-left:var(--sw);flex:1;display:flex;flex-direction:column;min-height:100vh;}
.tb{background:var(--wh);border-bottom:1px solid var(--li);height:var(--th);padding:0 26px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;}
.tb-l{display:flex;align-items:center;gap:10px;}
.tb-t{font-size:15px;font-weight:700;color:var(--k);}
.tb-p{background:linear-gradient(135deg,rgba(243,146,0,0.1),rgba(227,15,19,0.1));border:1px solid rgba(243,146,0,0.28);color:var(--re);font-size:10px;font-weight:700;padding:3px 9px;border-radius:20px;}
.tb-r{display:flex;gap:7px;align-items:center;}
.btn{padding:6px 14px;border-radius:7px;font-family:var(--f);font-size:12.5px;font-weight:700;cursor:pointer;transition:all 0.15s;border:none;letter-spacing:0.02em;}
.btn-g{background:var(--gh);color:#fff;}
.btn-g:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(227,15,19,0.28);}
.btn-o{background:transparent;border:1.5px solid var(--l2);color:var(--k3);font-family:var(--f);cursor:pointer;}
.btn-o:hover{border-color:var(--k3);color:var(--k);}
.btn-s{padding:5px 10px;font-size:11px;}

/* PAGES */
.pg{padding:22px 26px 60px;display:none;}
.pg.active{display:block;animation:pi 0.2s ease;}
@keyframes pi{from{opacity:0;transform:translateY(5px);}to{opacity:1;transform:translateY(0);}}
.pg-h{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px;gap:12px;flex-wrap:wrap;}
.pg-t{font-size:21px;font-weight:700;color:var(--k);text-transform:uppercase;}
.pg-t em{font-style:normal;background:var(--gh);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.pg-s{font-size:12px;color:var(--k3);margin-top:3px;}

/* TAB SELECTOR */
.tab-bar{display:flex;border-bottom:1px solid var(--li);margin-bottom:18px;}
.tab-item{padding:9px 16px;font-size:12px;font-weight:600;color:var(--k3);cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:all 0.15s;font-family:var(--f);}
.tab-item.active{color:var(--or);border-bottom-color:var(--or);}
.tab-item:hover{color:var(--k);}
.tc{display:none;}
.tc.active{display:block;}

/* FOTO ESTRATÉGICA */
.fe-hero{background:var(--k);border-radius:var(--r);padding:26px 30px;margin-bottom:18px;position:relative;overflow:hidden;}
.fe-hero::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gh);}
.fe-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.fe-cn{font-size:26px;font-weight:700;color:#fff;text-transform:uppercase;}
.fe-cs{font-size:11px;color:rgba(255,255,255,0.3);margin-top:4px;}
.fe-pl{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.28);margin-top:12px;margin-bottom:3px;}
.fe-pt{font-size:13px;color:rgba(255,255,255,0.8);font-style:italic;line-height:1.5;}
.fe-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px;}
.fe-c{background:var(--wh);border:1px solid var(--li);border-radius:var(--r);overflow:hidden;}
.fe-ct{height:3px;background:var(--gh);}
.fe-cb{padding:14px 16px;}
.fe-cl{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--k4);margin-bottom:5px;}
.fe-cv{font-size:12.5px;color:var(--k);line-height:1.5;font-weight:500;}
.fe-cy{font-size:10px;color:var(--k4);margin-top:3px;}
.fe-c.hl .fe-cb{background:linear-gradient(135deg,rgba(243,146,0,0.04),rgba(227,15,19,0.04));}
.fe-c.hl .fe-cl{color:var(--or);}
.fe-c.hl .fe-cv{font-size:13.5px;font-weight:700;}
.fe-pilares{background:var(--wh);border:1px solid var(--li);border-radius:var(--r);overflow:hidden;margin-bottom:10px;}
.fe-ph{padding:12px 16px;border-bottom:1px solid var(--li);display:flex;align-items:center;justify-content:space-between;}
.fe-pt2{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--k3);}
.fe-pg{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:12px 16px;}
.fe-p{background:var(--of);border-radius:8px;padding:10px 12px;border-left:3px solid var(--or);}
.fe-pn{font-size:9px;font-weight:700;color:var(--k4);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:2px;}
.fe-pt3{font-size:12px;font-weight:700;color:var(--k);line-height:1.3;}
.fe-pd{font-size:11px;color:var(--k3);margin-top:2px;line-height:1.4;}
.fe-q{background:var(--k);border-radius:var(--r);padding:18px 22px;display:flex;align-items:center;gap:18px;cursor:pointer;transition:all 0.2s;border:2px solid transparent;}
.fe-q:hover{border-color:var(--or);transform:translateY(-1px);}
.fe-qn{font-size:34px;font-weight:700;background:var(--gh);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;}
.fe-qi{flex:1;}
.fe-qt{font-size:15px;font-weight:700;color:#fff;margin-bottom:2px;}
.fe-qs{font-size:11px;color:rgba(255,255,255,0.38);}
.fe-qd{text-align:right;}
.fe-qdl{font-size:9px;color:rgba(255,255,255,0.28);text-transform:uppercase;letter-spacing:.1em;margin-bottom:2px;}
.fe-qdv{font-size:20px;font-weight:700;color:var(--or);}

/* OKR LIST */
.okr-list{display:flex;flex-direction:column;gap:10px;}
.okr-obj{background:var(--wh);border:1px solid var(--li);border-radius:var(--r);overflow:hidden;}
.okr-oh{padding:13px 16px;display:flex;align-items:center;gap:11px;cursor:pointer;transition:background 0.15s;}
.okr-oh:hover{background:var(--of);}
.obj-n{width:26px;height:26px;border-radius:50%;background:var(--gh);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;}
.obj-t{font-size:13.5px;font-weight:700;color:var(--k);flex:1;}
.obj-pw{display:flex;align-items:center;gap:8px;}
.obj-pp{font-size:12.5px;font-weight:700;color:var(--or);min-width:34px;text-align:right;}
.obj-pb{width:70px;height:5px;border-radius:3px;background:var(--li);}
.obj-pf{height:5px;border-radius:3px;background:var(--gh);transition:width 0.8s;}
.obj-ch{color:var(--k4);font-size:10px;transition:transform 0.25s;flex-shrink:0;}
.okr-obj.open .obj-ch{transform:rotate(180deg);}
.kr-cont{border-top:1px solid var(--li);}
.kr-row{display:flex;align-items:center;gap:10px;padding:11px 16px 11px 54px;border-bottom:1px solid var(--li);cursor:pointer;transition:background 0.15s;}
.kr-row:last-child{border-bottom:none;}
.kr-row:hover{background:rgba(243,146,0,0.03);}
.kr-b{padding:2px 6px;border-radius:4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;flex-shrink:0;}
.kr-b.comp{background:rgba(22,163,74,0.1);color:#16A34A;}
.kr-b.asp{background:rgba(243,146,0,0.1);color:var(--or);}
.kr-b.trans{background:rgba(139,92,246,0.1);color:#7C3AED;}
.kr-t{font-size:12px;color:var(--k2);flex:1;line-height:1.4;}
.kr-ow{font-size:10px;color:var(--k3);background:var(--of);padding:2px 7px;border-radius:10px;border:1px solid var(--l2);white-space:nowrap;}
.kr-sw{display:flex;align-items:center;gap:7px;flex-shrink:0;}
.kr-sc{font-size:15px;font-weight:700;min-width:26px;text-align:right;}
.kr-bb{width:80px;height:4px;border-radius:2px;background:var(--li);}
.kr-bf{height:4px;border-radius:2px;transition:width 0.8s;}
.kr-mv{font-size:10px;color:var(--k4);min-width:54px;text-align:right;}
/* KR estado semaforo en row */
.kr-sem{width:8px;height:8px;border-radius:50%;flex-shrink:0;}

/* MODAL */
.ov{position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:500;display:none;align-items:center;justify-content:center;padding:16px;}
.ov.open{display:flex;}
.modal{background:var(--wh);border-radius:var(--r);width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,0.22);}
.mh{padding:16px 20px 12px;border-bottom:1px solid var(--li);display:flex;align-items:flex-start;gap:10px;position:sticky;top:0;background:var(--wh);z-index:10;}
.mb2{flex:1;}
.mb-t{font-size:14px;font-weight:700;color:var(--k);line-height:1.4;}
.mb-s{font-size:11px;color:var(--k3);margin-top:2px;}
.mc{background:transparent;border:none;font-size:20px;color:var(--k3);cursor:pointer;line-height:1;flex-shrink:0;}
.mbody{padding:18px 20px;}

/* SCORE ROW */
.sc-row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:var(--of);border-radius:8px;padding:12px 16px;margin-bottom:16px;}
.sc-num{font-size:36px;font-weight:700;line-height:1;background:var(--gh);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.sc-lbl{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--k4);}
.sc-pw{flex:1;}
.sc-pl{font-size:10px;color:var(--k4);margin-bottom:4px;display:flex;justify-content:space-between;}
.sc-pb{height:9px;background:var(--li);border-radius:5px;overflow:hidden;}
.sc-pf{height:9px;border-radius:5px;background:var(--gh);transition:width 0.8s;}
.sc-pi{display:flex;align-items:center;gap:7px;margin-top:6px;}
.sc-pi input{width:65px;padding:4px 8px;border:1.5px solid var(--l2);border-radius:6px;font-family:var(--f);font-size:13px;font-weight:700;text-align:center;outline:none;}
.sc-pi input:focus{border-color:var(--or);}
.sc-pi span{font-size:11px;color:var(--k3);}
.sc-st{font-size:12px;font-weight:700;}

/* META GRID */
.meta-g{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px;}
.meta-c{background:var(--of);border-radius:8px;padding:9px 12px;}
.meta-l{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--k4);margin-bottom:2px;}
.meta-v{font-size:12.5px;font-weight:600;color:var(--k);}

/* MODAL SECTIONS */
.ms{margin-bottom:16px;}
.ms-t{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--k4);margin-bottom:9px;display:flex;align-items:center;gap:7px;}
.ms-t::after{content:'';flex:1;height:1px;background:var(--li);}

/* HITOS */
.hito-l{display:flex;flex-direction:column;gap:5px;}
.hito-i{display:flex;align-items:center;gap:9px;padding:7px 11px;background:var(--of);border-radius:7px;border:1px solid var(--li);}
.hito-ck{width:15px;height:15px;border-radius:4px;border:2px solid var(--l2);cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all 0.15s;}
.hito-ck.done{background:var(--sg);border-color:var(--sg);}
.hito-ck.done::after{content:'✓';color:#fff;font-size:9px;font-weight:700;}
.hito-tx{font-size:12px;color:var(--k2);flex:1;}
.hito-tx.done{text-decoration:line-through;color:var(--k4);}

/* REPORTE KR — 4 campos */
.rkr-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;}
.rkr-card{background:var(--of);border-radius:9px;padding:12px 14px;border:1px solid var(--li);}
.rkr-icon{font-size:18px;margin-bottom:5px;}
.rkr-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.09em;color:var(--k3);margin-bottom:3px;}
.rkr-question{font-size:11px;color:var(--k3);margin-bottom:8px;font-style:italic;line-height:1.4;}
.rkr-input{width:100%;background:var(--wh);border:1.5px solid var(--l2);border-radius:7px;padding:7px 10px;font-family:var(--f);font-size:12.5px;color:var(--k);outline:none;resize:none;transition:border-color 0.15s;}
.rkr-input:focus{border-color:var(--or);}
.confianza-wrap{display:flex;gap:5px;flex-wrap:wrap;}
.conf-opt{width:32px;height:32px;border-radius:6px;border:2px solid var(--l2);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--k4);cursor:pointer;transition:all 0.15s;background:var(--wh);}
.conf-opt:hover{border-color:var(--or);color:var(--or);}
.conf-opt.sel{background:var(--gh);border-color:transparent;color:#fff;}
.estado-wrap{display:flex;gap:6px;}
.estado-opt{flex:1;padding:6px 4px;border-radius:7px;border:2px solid var(--l2);text-align:center;font-size:10px;font-weight:700;cursor:pointer;transition:all 0.15s;}
.estado-opt[data-v="green"].sel{border-color:var(--sg);background:rgba(22,163,74,0.1);color:var(--sg);}
.estado-opt[data-v="amber"].sel{border-color:var(--sa);background:rgba(245,158,11,0.1);color:var(--sa);}
.estado-opt[data-v="red"].sel{border-color:var(--sr);background:rgba(227,15,19,0.1);color:var(--sr);}
.estado-opt[data-v="frozen"].sel{border-color:var(--sf);background:rgba(100,116,139,0.12);color:var(--sf);}

/* MSG BOARD */
.msg-board{border:1.5px solid var(--l2);border-radius:8px;overflow:hidden;}
.msg-list{max-height:140px;overflow-y:auto;padding:9px 12px;display:flex;flex-direction:column;gap:7px;}
.msg-i{display:flex;gap:7px;align-items:flex-start;}
.msg-av{width:22px;height:22px;border-radius:50%;background:var(--gh);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff;flex-shrink:0;}
.msg-bb{background:var(--of);border-radius:7px;padding:6px 9px;flex:1;}
.msg-nm{font-size:9px;font-weight:700;color:var(--k3);text-transform:uppercase;}
.msg-tx{font-size:11.5px;color:var(--k2);line-height:1.4;}
.msg-tm{font-size:9px;color:var(--k4);}
.msg-ir{display:flex;gap:7px;padding:8px 12px;border-top:1px solid var(--li);}
.msg-ir input{flex:1;background:var(--of);border:1.5px solid var(--l2);border-radius:7px;padding:6px 10px;font-family:var(--f);font-size:12px;outline:none;}
.msg-ir input:focus{border-color:var(--or);}
.msg-snd{padding:6px 12px;background:var(--gh);color:#fff;border:none;border-radius:7px;font-family:var(--f);font-size:11px;font-weight:700;cursor:pointer;}

/* REUNIÓN FORM */
.form-c{background:var(--wh);border:1px solid var(--li);border-radius:var(--r);overflow:hidden;margin-bottom:14px;}
.form-ch{padding:12px 16px;border-bottom:1px solid var(--li);background:var(--k);position:relative;}
.form-ch::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gh);}
.form-ch-n{font-size:13px;font-weight:700;color:#fff;}
.form-ch-s{font-size:11px;color:rgba(255,255,255,0.4);margin-top:1px;}
.form-cb{padding:16px 18px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:13px;}
.form-row.full{grid-template-columns:1fr;}
.form-g{display:flex;flex-direction:column;gap:4px;}
.form-l{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.09em;color:var(--k3);}
.form-in,.form-ta,.form-sel{background:var(--of);border:1.5px solid var(--l2);border-radius:7px;padding:7px 11px;font-family:var(--f);font-size:13px;color:var(--k);outline:none;width:100%;transition:all 0.15s;}
.form-in:focus,.form-ta:focus,.form-sel:focus{border-color:var(--or);box-shadow:0 0 0 3px rgba(243,146,0,0.09);}
.form-ta{resize:vertical;min-height:65px;}
.sp{display:flex;gap:5px;}
.sp-o{flex:1;border:2px solid var(--l2);border-radius:7px;padding:8px 3px;text-align:center;cursor:pointer;transition:all 0.15s;background:var(--of);}
.sp-n{font-size:19px;font-weight:700;color:var(--k4);display:block;line-height:1;}
.sp-l{font-size:9px;font-weight:700;text-transform:uppercase;color:var(--k4);margin-top:2px;display:block;}
.sp-o[data-v="1"].sel{border-color:var(--sr);background:#FFF0F0;}.sp-o[data-v="1"].sel .sp-n,.sp-o[data-v="1"].sel .sp-l{color:var(--sr);}
.sp-o[data-v="2"].sel{border-color:var(--sa);background:#FFFBEB;}.sp-o[data-v="2"].sel .sp-n,.sp-o[data-v="2"].sel .sp-l{color:var(--sa);}
.sp-o[data-v="3"].sel{border-color:#65A30D;background:#F7FEE7;}.sp-o[data-v="3"].sel .sp-n,.sp-o[data-v="3"].sel .sp-l{color:#65A30D;}
.sp-o[data-v="4"].sel{border-color:var(--sg);background:#F0FDF4;}.sp-o[data-v="4"].sel .sp-n,.sp-o[data-v="4"].sel .sp-l{color:var(--sg);}
.comp-fl{display:flex;flex-direction:column;gap:4px;}
.comp-fr{display:flex;gap:6px;align-items:center;}
.comp-fr .form-in{flex:1;}
.p-inp{width:110px;flex-shrink:0;background:var(--of);border:1.5px solid var(--l2);border-radius:7px;padding:7px 9px;font-family:var(--f);font-size:12px;font-weight:600;color:var(--k3);outline:none;transition:border-color 0.15s;}
.p-inp:focus{border-color:var(--or);}
.rm{background:transparent;border:none;color:var(--k4);cursor:pointer;font-size:16px;padding:3px 5px;border-radius:5px;transition:all 0.15s;line-height:1;}
.rm:hover{background:#FFF0F0;color:var(--re);}
.add-r{background:transparent;border:1.5px dashed var(--l2);border-radius:7px;padding:6px;font-size:11px;font-weight:700;color:var(--k3);cursor:pointer;font-family:var(--f);width:100%;margin-top:4px;}
.add-r:hover{border-color:var(--or);color:var(--or);}
.dvd{height:1px;background:var(--li);margin:14px 0;}
.sub{width:100%;padding:11px;background:var(--gh);color:#fff;border:none;border-radius:7px;font-family:var(--f);font-size:13px;font-weight:700;cursor:pointer;letter-spacing:0.04em;text-transform:uppercase;transition:all 0.2s;}
.sub:hover{transform:translateY(-1px);box-shadow:0 5px 18px rgba(227,15,19,0.28);}

/* REPASO KRs en reunión */
.repaso-section{margin-top:6px;}
.repaso-kr{background:var(--wh);border:1px solid var(--li);border-radius:var(--r);overflow:hidden;margin-bottom:10px;}
.repaso-h{padding:12px 16px;display:flex;align-items:center;gap:10px;cursor:pointer;border-bottom:1px solid var(--li);background:var(--of);}
.repaso-h:hover{background:#F0EEE8;}
.repaso-title{font-size:12.5px;font-weight:700;color:var(--k);flex:1;}
.repaso-body{padding:14px 16px;display:none;}
.repaso-kr.open .repaso-body{display:block;}
.repaso-ch{color:var(--k4);font-size:10px;transition:transform 0.25s;}
.repaso-kr.open .repaso-ch{transform:rotate(180deg);}

/* HISTORIAL */
.hist-c{background:var(--wh);border:1px solid var(--li);border-radius:var(--r);margin-bottom:9px;overflow:hidden;}
.hist-r{display:flex;align-items:center;gap:11px;padding:10px 16px;cursor:pointer;}
.hist-db{background:var(--k);color:#fff;border-radius:6px;padding:4px 7px;font-size:11px;font-weight:700;flex-shrink:0;}
.hist-sc{flex:1;display:flex;gap:11px;flex-wrap:wrap;}
.hs-ch{display:flex;align-items:center;gap:4px;font-size:11.5px;color:var(--k3);}
.hs-d{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.hs-n{font-size:13px;font-weight:700;}
.hs-l{font-size:10px;color:var(--k4);}
.hist-cv{color:var(--k4);font-size:10px;transition:transform 0.25s;}
.hist-c.open .hist-cv{transform:rotate(180deg);}
.hist-b{display:none;padding:0 16px 13px;border-top:1px solid var(--li);}
.hist-c.open .hist-b{display:block;}
.hist-st{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--k4);margin:11px 0 5px;}

/* NOVEDADES */
.nov-c{background:var(--wh);border:1px solid var(--li);border-radius:var(--r);padding:12px 16px;display:flex;gap:11px;align-items:flex-start;margin-bottom:9px;}
.nov-av{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;flex-shrink:0;}
.nov-av.jc{background:var(--gh);}
.nov-av.sc{background:linear-gradient(135deg,#6366F1,#8B5CF6);}
.nov-nm{font-size:12px;font-weight:700;color:var(--k);}
.nov-tg{font-size:9px;padding:2px 6px;border-radius:8px;background:var(--of);border:1px solid var(--l2);color:var(--k3);}
.nov-tm{font-size:10px;color:var(--k4);margin-left:auto;}
.nov-tx{font-size:12.5px;color:var(--k2);line-height:1.6;margin-top:3px;}
.nov-ia{background:var(--wh);border:1px solid var(--li);border-radius:var(--r);padding:14px 16px;margin-bottom:14px;}
.nov-ia textarea{width:100%;background:var(--of);border:1.5px solid var(--l2);border-radius:7px;padding:9px 12px;font-family:var(--f);font-size:13px;color:var(--k);outline:none;resize:none;min-height:56px;}
.nov-ia textarea:focus{border-color:var(--or);}
.nov-if{display:flex;justify-content:space-between;align-items:center;margin-top:7px;}

/* RETRO */
.retro-c{background:var(--wh);border:1px solid var(--li);border-radius:var(--r);overflow:hidden;margin-bottom:10px;}
.retro-h{padding:13px 16px;display:flex;align-items:center;gap:11px;cursor:pointer;}
.retro-h:hover{background:var(--of);}
.retro-tn{font-size:13.5px;font-weight:700;color:var(--k);flex:1;}
.retro-sp{font-size:10px;font-weight:700;padding:3px 9px;border-radius:10px;}
.retro-sp.done{background:rgba(22,163,74,0.1);color:#16A34A;}
.retro-sp.pend{background:rgba(245,158,11,0.1);color:#F59E0B;}
.retro-b{display:none;padding:14px 16px;border-top:1px solid var(--li);}
.retro-c.open .retro-b{display:block;}
.retro-s{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.retro-sec{background:var(--of);border-radius:8px;padding:11px 13px;}
.retro-sl{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:7px;}
.retro-sl.p{color:var(--sg);}
.retro-sl.d{color:var(--or);}
.retro-sl.n{color:#6366F1;}
.retro-it{font-size:12px;color:var(--k2);padding:4px 0;border-bottom:1px solid var(--li);line-height:1.4;}
.retro-it:last-child{border:none;}

/* NEW OKR FORM */
.nokr-form{background:var(--wh);border:1px solid var(--li);border-radius:var(--r);padding:18px 20px;margin-bottom:14px;display:none;}
.nokr-form.open{display:block;}
.nokr-title{font-size:14px;font-weight:700;color:var(--k);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--li);}
.nokr-kr-list{display:flex;flex-direction:column;gap:10px;margin-bottom:12px;}
.nokr-kr-item{background:var(--of);border-radius:8px;padding:12px 14px;border:1px solid var(--li);position:relative;}
.nokr-kr-num{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--k4);margin-bottom:8px;}
.nokr-kr-remove{position:absolute;top:10px;right:10px;background:transparent;border:none;color:var(--k4);cursor:pointer;font-size:15px;}
.nokr-kr-remove:hover{color:var(--re);}

/* TOAST */
.toast{position:fixed;bottom:18px;right:18px;background:var(--k);color:#fff;border-radius:8px;padding:10px 15px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:7px;box-shadow:0 8px 28px rgba(0,0,0,0.18);z-index:999;transform:translateY(60px);opacity:0;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);}
.ts{width:3px;height:15px;background:var(--gd);border-radius:2px;flex-shrink:0;}
.toast.show{transform:translateY(0);opacity:1;}
.empty{text-align:center;padding:22px;color:var(--k4);font-size:13px;}
.pn{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,rgba(243,146,0,0.08),rgba(227,15,19,0.08));border:1px solid rgba(227,15,19,0.18);border-radius:7px;padding:8px 12px;margin-bottom:11px;font-size:11.5px;color:var(--re);font-weight:600;display:none;}

/* ═══════════ ADDITIONS FOR THE PRODUCTION APP (same design tokens) ═══════════ */
a{color:inherit;}
a.nb{text-decoration:none;}
.btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none;}
.btn-danger{background:var(--re);color:#fff;}
.btn-danger:hover{box-shadow:0 4px 14px rgba(227,15,19,0.28);}

/* LOGIN */
body.login-body{display:block;background:var(--k);}
.lg-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;}
.lg-card{width:100%;max-width:400px;background:var(--wh);border-radius:var(--r);overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,0.35);}
.lg-top{background:var(--k);padding:20px 26px;border-bottom:1px solid rgba(255,255,255,0.08);position:relative;}
.lg-top::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gh);}
.lg-s{font-size:10px;color:rgba(255,255,255,0.3);letter-spacing:0.06em;margin-top:3px;}
.lg-form{padding:24px 26px 26px;}
.lg-err{background:#FFF0F0;border:1px solid rgba(227,15,19,0.25);color:var(--re);font-size:12px;font-weight:600;border-radius:7px;padding:8px 12px;margin-bottom:14px;}
.lg-foot{font-size:10px;color:rgba(255,255,255,0.2);letter-spacing:0.1em;margin-top:16px;text-transform:uppercase;}

/* SIDEBAR: quarter selector + extras */
.sb-q{padding:10px 14px 12px;border-bottom:1px solid rgba(255,255,255,0.08);flex-shrink:0;}
.sb-q-l{display:block;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:rgba(255,255,255,0.25);margin-bottom:5px;}
.sb-q-sel{width:100%;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);color:#fff;border-radius:7px;padding:6px 8px;font-family:var(--f);font-size:12px;font-weight:600;outline:none;cursor:pointer;}
.sb-q-sel option,.sb-q-sel optgroup{background:var(--k);color:#fff;}
.sb-q-sel:focus{border-color:var(--or);}
.nb-add{border:1px dashed rgba(255,255,255,0.14);margin-top:4px;}
.sb-empty{font-size:11px;color:rgba(255,255,255,0.25);padding:4px 10px;}
.sb-back{display:block;margin-top:5px;color:var(--or);text-decoration:none;font-size:10px;font-weight:700;}
.sb-foot{color:rgba(255,255,255,0.3);}

/* TOPBAR user */
.tb-user{font-size:12px;font-weight:600;color:var(--k2);}
.role-pill{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;padding:3px 8px;border-radius:20px;white-space:nowrap;}
.role-pill.tw{background:linear-gradient(135deg,rgba(243,146,0,0.12),rgba(227,15,19,0.12));color:var(--re);border:1px solid rgba(243,146,0,0.28);}
.role-pill.cl{background:var(--of);color:var(--k3);border:1px solid var(--l2);}

/* GENERIC MODAL */
.modal-sm{max-width:560px;}
.fm-msg{font-size:12.5px;color:var(--k2);line-height:1.6;margin-bottom:12px;}
.fm-check{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--k2);cursor:pointer;}
.m-qpill{padding:3px 9px;border-radius:20px;font-size:10px;font-weight:700;background:rgba(243,146,0,0.1);border:1px solid rgba(243,146,0,0.28);color:var(--or);white-space:nowrap;flex-shrink:0;}
.m-notes{background:var(--of);border-radius:8px;padding:12px;font-size:12px;color:var(--k2);line-height:1.7;border:1px solid var(--li);}

/* FOTO ESTRATÉGICA edit */
.fe-dark-in{background:rgba(255,255,255,0.08)!important;border-color:rgba(255,255,255,0.2)!important;color:#fff!important;}
.pil-ed-l{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:10px;}
.pil-ed{background:var(--of);border-radius:8px;padding:10px 12px;border-left:3px solid var(--or);}
.pil-ed .form-in{background:var(--wh);}
.pil-ed-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px;}
.fe-q-head{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--k4);margin-bottom:9px;}

/* TEAM HEADER */
.team-hd{background:var(--k);border-radius:var(--r);padding:16px 20px;margin-bottom:16px;position:relative;overflow:hidden;}
.team-hd-bar{position:absolute;top:0;left:0;right:0;height:3px;background:var(--gh);}
.hd-l{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.28);margin-bottom:4px;}
.hd-a{color:var(--or);cursor:pointer;text-transform:none;letter-spacing:0;}
.hd-a:hover{text-decoration:underline;}
.pil-chip{padding:2px 9px;border-radius:10px;font-size:10px;border:1px solid rgba(255,255,255,0.12);color:rgba(255,255,255,0.42);}
.pil-chip.on{border-color:rgba(243,146,0,0.4);color:var(--or);background:rgba(243,146,0,0.08);}

/* OKR extras */
.ib{background:transparent;border:none;cursor:pointer;font-size:12px;padding:3px 5px;border-radius:5px;opacity:.45;transition:all .15s;}
.ib:hover{opacity:1;background:var(--li);}
.kr-hint{font-weight:500;text-transform:none;letter-spacing:0;color:var(--k4);}
.kr-foot{padding:10px 16px 12px 54px;}
.kr-warn{font-size:11px;color:var(--sa);font-weight:600;margin-bottom:6px;}
.kr-conf{font-size:10px;font-weight:700;color:var(--or);white-space:nowrap;}

/* KR check-in */
.req{color:var(--re);}
.req-note{font-size:11px;color:var(--k3);margin:-3px 0 9px;}
.rkr-card.missing{border-color:var(--re);box-shadow:0 0 0 3px rgba(227,15,19,0.08);}
.sin-roca{margin-top:6px;background:transparent;border:1.5px dashed var(--l2);border-radius:6px;padding:3px 9px;font-family:var(--f);font-size:10px;font-weight:700;color:var(--k3);cursor:pointer;}
.sin-roca:hover{border-color:var(--sg);color:var(--sg);}
.evo-l{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow-y:auto;}
.evo-i{display:flex;gap:10px;align-items:flex-start;background:var(--of);border:1px solid var(--li);border-radius:8px;padding:8px 10px;}
.evo-d{background:var(--k);color:#fff;border-radius:6px;padding:4px 7px;font-size:10.5px;font-weight:700;flex-shrink:0;}
.evo-b{flex:1;min-width:0;}
.evo-top{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--k3);margin-bottom:3px;}
.evo-by{margin-left:auto;color:var(--k4);}
.evo-tx{font-size:11.5px;color:var(--k2);line-height:1.5;white-space:pre-line;}
.evo-empty{font-size:12px;color:var(--k4);}

/* MEETING extras */
.missing-4 .form-l{color:var(--re);}
.rp-num{width:80px;padding:4px 8px;border:1.5px solid var(--l2);border-radius:6px;font-family:var(--f);font-size:13px;font-weight:700;text-align:center;outline:none;}
.rp-num:focus{border-color:var(--or);}
.rp-touched{display:none;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--sg);background:rgba(22,163,74,0.1);padding:2px 7px;border-radius:8px;}
.rp-touched.on{display:inline-block;}

/* HISTORY extras */
.hist-tx{font-size:12px;color:var(--k2);line-height:1.6;white-space:pre-line;}
.hist-it{font-size:11.5px;color:var(--k2);padding:3px 0;border-bottom:1px solid var(--li);}
.hist-kr{background:var(--of);border-radius:7px;padding:8px 10px;margin-bottom:6px;border:1px solid var(--li);}

/* RETRO extras */
.retro-sum{background:var(--of);border-radius:8px;padding:11px 13px;margin-top:12px;}
.retro-link{display:inline-block;margin-top:10px;font-size:12px;font-weight:700;color:var(--or);text-decoration:none;}
.retro-link:hover{text-decoration:underline;}

/* NEWS extras */
.nov-c.imp{border-left:3px solid var(--or);}
.nov-tg.imp{background:rgba(243,146,0,0.1);border-color:rgba(243,146,0,0.3);color:var(--or);}
.nov-act{font-size:10.5px;color:var(--k4);margin-top:6px;}
.nov-act a{cursor:pointer;}
.nov-act a:hover{color:var(--or);}

/* ADMIN */
.cl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;}
.cl-card{background:var(--wh);border:1px solid var(--li);border-radius:var(--r);overflow:hidden;transition:all .2s;}
.cl-card:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,0,0,0.06);}
.cl-card.off{opacity:.55;}
.cl-b{padding:14px 16px;}
.cl-n{font-size:16px;font-weight:700;text-transform:uppercase;color:var(--k);}
.cl-s{font-size:11px;color:var(--k3);margin-top:2px;min-height:15px;}
.cl-meta{display:flex;gap:10px;font-size:11px;color:var(--k3);margin-top:10px;font-weight:600;}
.cl-f{display:flex;align-items:center;gap:8px;margin-top:12px;}
.cl-url{font-size:10px;color:var(--k4);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cl-tg{font-size:10px;color:var(--k4);cursor:pointer;}
.cl-tg:hover{color:var(--re);}
.usr-l{display:flex;flex-direction:column;gap:7px;}
.usr-r{background:var(--wh);border:1px solid var(--li);border-radius:var(--r);padding:10px 14px;display:flex;align-items:center;gap:11px;flex-wrap:wrap;}
.usr-r.off{opacity:.55;}
.usr-e{font-size:11px;color:var(--k3);}

/* ═══ ACCESSIBILITY TOKENS (text-only; originals stay for dots, bars, borders, gradients) ═══ */
:root{--k4t:#8A8A8A;--k3t:#6B6B6B;--amber-t:#B45309;--orange-t:#C2410C;--sb-lbl:rgba(255,255,255,0.45);}
.fe-cl,.meta-l,.sc-lbl,.hist-st,.hs-l,.kr-mv,.evo-by,.cl-url,.fe-pn,.ms-t,.fe-q-head,.rkr-label{color:var(--k4t);}
.form-l,.rkr-question,.usr-e,.cl-s,.cl-meta,.pg-s,.kr-hint,.req-note,.fe-pd{color:var(--k3t);}
.fe-c.hl .fe-cl,.obj-pp,.tab-item.active,.kr-conf,.m-qpill{color:var(--orange-t);}
.tab-item.active{border-bottom-color:var(--or);}
.kr-warn,.estado-opt[data-v="amber"].sel{color:var(--amber-t);}
.sb-lbl,.sb-q-l{color:var(--sb-lbl);}
.sb-logo-s,.sb-foot,.lg-foot{color:rgba(255,255,255,0.5);}
.nb{color:rgba(255,255,255,0.62);}
.obj-pp.none{color:var(--k4t);font-weight:600;font-size:11px;min-width:auto;}
.fe-count{font-size:10px;color:var(--k4t);}
.fe-mini-l{font-size:9px;color:rgba(255,255,255,0.45);text-transform:uppercase;letter-spacing:.1em;margin-bottom:3px;}
.fe-qdv.none{color:rgba(255,255,255,0.35);}
:focus-visible{outline:2px solid var(--or);outline-offset:2px;border-radius:4px;}
[role="dialog"]:focus{outline:none;}
[role="button"][tabindex="0"]{cursor:pointer;}
.ib{opacity:.7;}
body.modal-open{overflow:hidden;}

/* Toast kinds */
.toast--success .ts{background:var(--sg);}
.toast--error .ts{background:var(--sr);}
.toast--warning .ts{background:var(--sa);}
.toast{max-width:calc(100vw - 36px);}

/* Validation */
.form-g.missing .form-in,.form-g.missing .form-ta,.form-g.missing .form-sel{border-color:var(--re);}
.sp.missing,.rkr-card.missing,.meta-c.missing,.rp-estado.missing,.form-g.missing{box-shadow:0 0 0 3px rgba(227,15,19,0.12);outline:1.5px solid var(--re);border-radius:8px;}
.field-err{font-size:11px;color:var(--re);font-weight:600;margin-top:4px;}
.field-err:empty{display:none;}
.fm-help{font-size:11px;color:var(--k3t);margin-top:4px;line-height:1.4;}
.link-btn{background:none;border:none;color:var(--orange-t);font-family:var(--f);font-size:11.5px;font-weight:700;cursor:pointer;padding:6px 0;}
.link-btn:hover{text-decoration:underline;}
.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important;}
.btn-xs{padding:3px 8px;font-size:10px;}
.btn-dark{border-color:rgba(255,255,255,0.3);color:#fff;}
.btn-dark:hover{border-color:#fff;color:#fff;}

/* Banners */
.closed-banner,.draft-banner{display:block;line-height:1.6;border-radius:8px;padding:9px 14px;margin-bottom:14px;font-size:12px;font-weight:600;}
.closed-banner{background:#FFFBEB;border:1px solid rgba(245,158,11,0.45);color:var(--amber-t);}
.draft-banner{background:#EFF6FF;border:1px solid rgba(59,130,246,0.35);color:#1D4ED8;}
.closed-banner a,.draft-banner a{text-decoration:underline;cursor:pointer;font-weight:700;}
.tb-p.closed{background:#FFFBEB;border-color:rgba(245,158,11,0.45);color:var(--amber-t);}

/* Team header */
.hd-sub{font-size:11px;color:rgba(255,255,255,0.5);margin-top:2px;}
.hd-wk{color:#FCD34D;font-weight:700;}
.hd-wk.ok{color:#86EFAC;}
.hd-dl{text-align:right;flex-shrink:0;}
.hd-dl-v{font-size:26px;font-weight:700;color:var(--or);}
.hd-dl-none{font-size:12px;color:rgba(255,255,255,0.5);margin-top:4px;}
.hd-motto{font-size:10px;color:rgba(255,255,255,0.45);margin-top:2px;font-style:italic;max-width:260px;}
.hd-l{color:rgba(255,255,255,0.45);}

/* KR rows: last report */
.kr-last{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--k3t);white-space:nowrap;}
.kr-last i{width:6px;height:6px;border-radius:50%;background:var(--sg);display:inline-block;}
.kr-last.stale{color:var(--re);}
.kr-last.stale i{background:var(--re);}

/* KR modal */
.rock-svg{width:14px;height:14px;vertical-align:-2px;display:inline-block;}
.rock-icon{width:20px;height:20px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.5 19.5 3 13.8l2.6-5.4L11 5.2l5.6 1.4 4.4 4.6-1.6 5.6-4 2.7z' fill='%23B9B9B9' stroke='%238A8A8A' stroke-width='1.2' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;}
.sc-upd{font-size:9px;color:var(--k4t);margin-top:2px;}
.sc-hint{font-size:10px;color:var(--k4t);flex-basis:100%;}
.sc-hint:empty{display:none;}
.sc-pi{flex-wrap:wrap;}
.evo-l{max-height:none;overflow:visible;}
.conf-last{font-size:10px;color:var(--k4t);margin-top:6px;}
.msg-ir input:disabled{opacity:.6;}

/* Meeting */
.rp-count{font-size:11px;font-weight:700;color:#fff;background:rgba(255,255,255,0.12);padding:3px 9px;border-radius:10px;}
.rp-touched{color:var(--amber-t);background:rgba(245,158,11,0.12);}
.rp-touched.done{color:var(--sg);background:rgba(22,163,74,0.1);}
.rp-owner{font-size:11px;color:var(--k3t);margin-right:6px;}
.rp-prog{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;background:var(--of);border-radius:8px;padding:10px 14px;margin-bottom:12px;}
.rp-estado{margin-top:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px;}
.rp-estado-l{font-size:10px;font-weight:700;color:var(--k4t);text-transform:uppercase;letter-spacing:.08em;}
.outcome{display:flex;gap:3px;flex-shrink:0;}
.oc{width:28px;height:30px;border-radius:6px;border:1.5px solid var(--l2);background:var(--wh);font-weight:700;cursor:pointer;color:var(--k4t);font-family:var(--f);}
.oc-done.sel{background:var(--sg);border-color:var(--sg);color:#fff;}
.oc-pend.sel{background:var(--re);border-color:var(--re);color:#fff;}
.comp-fr.carried .form-in{border-left:3px solid var(--re);}
.oc-mini{display:inline-block;width:15px;text-align:center;border-radius:4px;font-size:10px;font-weight:700;color:#fff;}
.oc-mini.done{background:var(--sg);}
.oc-mini.pend{background:var(--re);}
.hist-kr-l{font-size:11px;color:var(--k2);margin-top:3px;}

/* KR form: collapsible blocks */
.nokr-kr-item.collapsed .kr-details{display:none;}
.kr-fold{background:none;border:none;color:var(--orange-t);font-family:var(--f);font-size:10px;font-weight:700;cursor:pointer;margin-left:8px;text-transform:none;letter-spacing:0;}
.rm-lg{font-size:20px;padding:2px 8px;}
.fe-in-l{display:block;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--k3t);margin:8px 0 3px;}
.fe-in-l.dark{color:rgba(255,255,255,0.5);}

/* Login */
.pw-wrap{position:relative;}
.pw-wrap .form-in{padding-right:74px;}
.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;font-family:var(--f);font-size:11px;font-weight:700;color:var(--orange-t);cursor:pointer;padding:4px 6px;}
.lg-help{font-size:11.5px;color:var(--k3t);text-align:center;margin-top:14px;}

/* Admin users */
.usr-id{flex:1;min-width:180px;}
.usr-id .role-pill{margin-left:6px;vertical-align:1px;}
.usr-act{display:flex;gap:6px;flex-wrap:wrap;}

/* Sidebar toggle (mobile) */
.sb-toggle{display:none;background:none;border:1.5px solid var(--l2);border-radius:7px;font-size:16px;line-height:1;padding:5px 9px;cursor:pointer;color:var(--k);}
.sb-ov{display:none;}
.nb-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ═══ RESPONSIVE ═══
   ≤1024px         tablets and landscape phones: off-canvas sidebar, compact top bar.
   ≤640px          phones: single-column layouts, full-screen KR sheet, stacked rows.
   pointer:coarse  any touch screen: ≥40px tap targets and 16px inputs (iOS does not zoom on focus). */
.lg-wrap{min-height:100dvh;}
.hd-chips{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap;}
.sub-sticky{position:sticky;bottom:12px;z-index:60;box-shadow:0 8px 24px rgba(227,15,19,0.28);}

@media (max-width:1024px){
  .sb{transform:translateX(-100%);visibility:hidden;width:280px;max-width:86vw;z-index:400;transition:transform .2s ease,visibility 0s linear .2s;}
  .sb.open{transform:none;visibility:visible;box-shadow:0 0 40px rgba(0,0,0,0.35);transition:transform .2s ease;}
  body.sb-open{overflow:hidden;}
  body.sb-open .sb-ov{display:block;position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:350;}
  .sb-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
  .mn{margin-left:0;min-width:0;width:100%;}
  .tb{padding:0 16px;gap:10px;}
  .tb-l{min-width:0;flex:1;}
  .tb-t{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
  .tb-r{flex-shrink:0;}
  .tb-user{display:none;}
  .pg{padding:18px 16px 60px;}
  .tab-bar{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
  .tab-bar::-webkit-scrollbar{display:none;}
  .tab-item{flex-shrink:0;}
  .modal{max-height:92vh;max-height:92dvh;}
  .kr-row{padding-left:24px;}
  .kr-foot{padding-left:24px;}
  /* 1–10 confidence as a 5×2 grid of big buttons instead of a ragged 7+3 wrap */
  .confianza-wrap,[id^="rp-conf-"]:not([id^="rp-conf-card"]){display:grid!important;grid-template-columns:repeat(5,1fr);gap:6px;}
  .conf-opt{width:auto;height:42px;}
  .rp-estado .estado-wrap{flex:1;min-width:0;}
  .estado-opt{white-space:nowrap;}
}

@media (max-width:640px){
  .tb{padding:0 12px;gap:8px;}
  #tb-pill,.tb .role-pill{display:none!important;}
  .pg{padding:14px 12px 56px;}
  .pg-t{font-size:19px;}
  .pg-h{margin-bottom:14px;}
  .fe-cards,.retro-s,.rkr-grid,.form-row,.fe-pg,.pil-ed-l{grid-template-columns:1fr;}
  .meta-g{grid-template-columns:1fr 1fr;}
  #m-estado-card{grid-column:1/-1;}

  /* Foto Estratégica + team header: compact, strategy still first */
  .fe-hero,.team-hd{padding:14px;}
  .fe-row{flex-direction:column;gap:12px;}
  .fe-row > div{text-align:left!important;width:100%;}
  .nov-if{flex-wrap:wrap;gap:8px;}
  .fe-cn{font-size:22px;}
  .fe-q{flex-wrap:wrap;padding:14px 16px;gap:12px;}
  .hd-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-14px;padding-right:14px;}
  .hd-chips::-webkit-scrollbar{display:none;}
  .pil-chip{white-space:nowrap;flex-shrink:0;}
  .hd-dl{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;text-align:left;width:100%;border-top:1px solid rgba(255,255,255,0.08);padding-top:10px;}
  .hd-dl .hd-l{margin:0;}
  .hd-dl-v{font-size:20px;}
  .hd-motto{max-width:none;margin:0;flex-basis:100%;}

  /* OKR list: objective title gets the full first line; KR rows reflow into 2–3 lines */
  .okr-oh{flex-wrap:wrap;padding:12px;gap:8px 10px;}
  .obj-t{flex:1 1 calc(100% - 40px);min-width:0;}
  .obj-pw{margin-left:auto;}
  .kr-row{padding:11px 12px;flex-wrap:wrap;row-gap:6px;}
  .kr-t{flex:1 1 180px;min-width:0;}
  .kr-sw{flex:1 1 100%;}
  .kr-bb{flex:1;}
  .kr-foot{padding:10px 12px 12px;}
  .nokr-form{padding:14px;}

  /* KR modal: full-screen sheet with the close button top-right */
  .ov{padding:0;align-items:stretch;}
  #kr-modal .modal{max-width:none;max-height:none;height:100vh;height:100dvh;border-radius:0;}
  .ov .modal-sm{align-self:flex-end;max-height:92dvh;border-radius:14px 14px 0 0;}
  .mh{display:grid;grid-template-columns:auto auto 1fr auto;gap:6px 10px;align-items:start;padding:12px 12px 10px;}
  .mh .kr-b{grid-column:1;grid-row:1;}
  .mh .mb2{grid-column:2/4;grid-row:1;min-width:0;}
  .mh .mc{grid-column:4;grid-row:1;}
  .mh .m-qpill{grid-column:1/3;grid-row:2;justify-self:start;align-self:center;}
  .mh #m-edit-btn{grid-column:3;grid-row:2;justify-self:start;}
  .mbody{padding:14px 12px 28px;}
  .sc-row{grid-template-columns:1fr;padding:12px;}
  .rkr-card{padding:12px;}

  /* Weekly meeting */
  .form-cb{padding:14px 12px;}
  .form-ch{padding:12px 14px;}
  .repaso-h{flex-wrap:wrap;padding:10px 12px;gap:6px 8px;}
  .repaso-title{flex:1 1 calc(100% - 90px);min-width:0;}
  .rp-owner{margin-left:auto;}
  .repaso-body{padding:12px;}
  .rp-prog{grid-template-columns:1fr;}
  .comp-fr{flex-wrap:wrap;row-gap:6px;padding-bottom:6px;border-bottom:1px dashed var(--li);}
  .comp-fr .form-in{flex:1 1 100%;order:0;}
  .comp-fr .outcome{order:1;}
  .comp-fr .p-inp{order:2;flex:1;width:auto;min-width:0;}
  .comp-fr .rm{order:3;}
  .hist-r{flex-wrap:wrap;padding:10px 12px;}
  .hist-b{padding:0 12px 12px;}

  /* Toast at the top so it never hides the Guardar button */
  .toast{left:12px;right:12px;bottom:auto;top:calc(var(--th) + 8px);max-width:none;transform:translateY(-16px);}
  .toast.show{transform:none;}

  /* Admin */
  .cl-grid{grid-template-columns:1fr;}
  .usr-act{width:100%;}
  .usr-act .btn{flex:1;}
  .nov-c{padding:12px;}
}

@media (max-height:500px) and (max-width:1024px){
  /* Landscape phones: every pixel of height counts, so modals take the whole screen. */
  .ov{padding:0;align-items:stretch;}
  .modal{max-width:none;max-height:none;height:100vh;height:100dvh;border-radius:0;}
  .mh{padding:10px 16px 8px;}
}

@media (pointer:coarse){
  .btn-s{min-height:38px;padding:8px 14px;}
  .btn-xs{min-height:32px;}
  .ib{min-width:40px;min-height:40px;font-size:15px;}
  .mc{min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;font-size:24px;}
  .rm{min-width:40px;min-height:40px;}
  .oc{width:40px;height:40px;}
  .conf-opt{min-width:40px;min-height:40px;}
  .sb-toggle{min-width:40px;min-height:40px;}
  .nb{padding:11px 12px;}
  .tab-item{padding:12px 16px;}
  .add-r{min-height:40px;}
  .estado-opt{padding:11px 4px;font-size:11px;}
  .sp-o{padding:10px 3px;}
  .hd-a{display:inline-block;padding:6px 2px;}
  .pw-toggle{padding:10px 8px;}
  .sin-roca{padding:9px 12px;font-size:11px;}
  .kr-fold,.link-btn{padding:10px 4px;}
  .hito-i{padding:10px 12px;}
  .hito-ck{width:22px;height:22px;position:relative;}
  .hito-ck::before{content:'';position:absolute;inset:-10px;}
  .hito-ck.done::after{font-size:12px;}
  .nov-act a,.cl-tg{display:inline-block;padding:8px 4px;}
  .msg-snd{min-height:40px;padding:8px 14px;}
  .obj-ch,.repaso-ch,.hist-cv{padding:8px;}
  .btn-xs{min-height:36px;padding:6px 10px;}
  .hd-a{padding:9px 4px;}
  .sin-roca{min-height:38px;}
  .sb-back{padding:10px 0 4px;}
  .closed-banner a,.draft-banner a{display:inline-block;padding:8px 2px;}
  .nokr-kr-remove{min-width:40px;min-height:40px;top:2px;right:2px;font-size:20px;}
  .kr-fold{min-height:38px;}
  #m-cur,#m-tgt,.rp-num{min-height:40px;}
  input[type=checkbox]{width:20px;height:20px;flex-shrink:0;}
  .fm-check{min-height:40px;}
}
@media (pointer:coarse),(max-width:640px){
  .form-in,.form-ta,.form-sel,.rkr-input,.p-inp,.rp-num,.sc-pi input,.msg-ir input,.sb-q-sel,.nov-ia textarea{font-size:16px;}
  .form-in,.form-sel,.p-inp{min-height:42px;}
}

/* ═══ ACCESS LOG (admin) ═══ */
.acc-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;background:var(--wh);border:1px solid var(--li);border-radius:var(--r);padding:12px 14px;margin-bottom:14px;}
.acc-block{margin-bottom:18px;}
.acc-sum{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;}
.acc-s{background:var(--wh);border:1px solid var(--li);border-left:3px solid var(--or);border-radius:8px;padding:10px 12px;min-width:0;}
.acc-s.warn{border-left-color:var(--re);}
.acc-s-n{font-size:12.5px;font-weight:700;color:var(--k);overflow-wrap:anywhere;}
.acc-s .usr-e{overflow-wrap:anywhere;}
.acc-s-k{display:flex;gap:12px;font-size:11.5px;color:var(--k2);margin:6px 0 3px;}
.acc-s-k .bad{color:var(--re);}
.acc-r{background:var(--wh);border:1px solid var(--li);border-radius:8px;padding:8px 12px;display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap;}
.acc-tag{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:10px;white-space:nowrap;flex-shrink:0;min-width:104px;text-align:center;}
.acc-tag.ok{background:rgba(22,163,74,0.1);color:#15803D;}
.acc-tag.bad{background:rgba(227,15,19,0.1);color:#B91C1C;}
.acc-tag.out{background:var(--of);color:var(--k3t);border:1px solid var(--l2);}
.acc-tag.nav{background:rgba(99,102,241,0.1);color:#4F46E5;}
.acc-who{flex:1;min-width:200px;font-size:12.5px;font-weight:600;color:var(--k);overflow-wrap:anywhere;}
.acc-who .usr-e{font-weight:400;margin-left:4px;}
.acc-who .role-pill{margin-left:6px;vertical-align:1px;}
.acc-path{font-size:10.5px;color:var(--k3t);font-weight:400;font-family:Consolas,monospace;margin-top:2px;}
.acc-meta{display:flex;gap:12px;font-size:11px;color:var(--k3t);white-space:nowrap;}
@media (max-width:1024px){.acc-filters{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){
  .acc-filters{grid-template-columns:1fr;}
  .acc-r{align-items:flex-start;}
  .acc-who{min-width:0;flex-basis:100%;order:2;}
  .acc-meta{order:1;margin-left:auto;white-space:normal;}
}


/* ═══ v2 ═══ */
.pbar{flex:1;min-width:60px;height:6px;border-radius:3px;background:var(--li);overflow:hidden;}
.pbar-f{height:6px;border-radius:3px;background:var(--gh);transition:width .8s;}

/* Foto Estratégica: one stacked column */
.fe-stack{display:flex;flex-direction:column;gap:12px;}
.fe-stack .fe-hero{margin-bottom:0;}
.fe-id-main{display:flex;align-items:center;gap:18px;flex:1;min-width:260px;}
.fe-logo{width:92px;height:92px;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,0.25);}
.fe-logo-img{max-width:100%;max-height:100%;object-fit:contain;padding:8px;}
.fe-logo-ph{font-size:30px;font-weight:700;background:var(--gh);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.fe-id-txt{min-width:0;flex:1;}
.fe-id .fe-cs{font-size:13px;color:rgba(255,255,255,0.6);margin-top:4px;}
.fe-logo-act{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:12px;}
.fe-logo-hint{font-size:10px;color:rgba(255,255,255,0.4);}
.fe-id-side{text-align:right;flex-shrink:0;}
.fe-id-q{font-size:13px;font-weight:700;color:rgba(255,255,255,0.7);}
.fe-id-start{font-size:10px;color:rgba(255,255,255,0.45);margin-top:2px;}
.fe-blk{background:var(--wh);border:1px solid var(--li);border-radius:var(--r);overflow:hidden;}
.fe-blk .fe-cb{padding:14px 18px;}
.fe-blk .fe-cl{font-size:10px;margin-bottom:6px;}
.fe-blk .fe-cv{font-size:14px;line-height:1.55;white-space:pre-line;}
.fe-purpose{font-style:italic;}
.fe-empty{color:var(--k4t);font-style:normal;font-weight:400;}
.fe-empty.dark{color:rgba(255,255,255,0.35);}
.fe-annual{background:var(--gd);border-radius:18px;padding:30px 28px;text-align:center;color:#fff;box-shadow:0 8px 24px rgba(227,15,19,0.18);}
.fe-annual-l{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,0.8);margin-bottom:8px;}
.fe-annual-t{font-size:26px;font-weight:700;text-transform:uppercase;line-height:1.25;letter-spacing:.02em;white-space:pre-line;}
.fe-annual .fe-dark-in{background:rgba(0,0,0,0.12)!important;text-align:left;}
.fe-annual .fe-in-l{text-align:left;}
.fe-pils{background:var(--wh);border:1px solid var(--li);border-radius:var(--r);padding:14px 16px 16px;}
.fe-ph2{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.fe-pil-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.fe-pil{background:#D7E5F5;border:1px solid #BCD2EC;border-radius:18px;padding:16px 16px 18px;min-width:0;}
.fe-pil-t{font-size:14px;font-weight:700;color:#2B4C93;text-transform:uppercase;letter-spacing:.04em;line-height:1.3;margin-bottom:10px;overflow-wrap:anywhere;}
.fe-pil-ul{list-style:none;display:flex;flex-direction:column;gap:8px;}
.fe-pil-ul li{font-size:12.5px;color:#1F2A44;line-height:1.45;padding-left:12px;position:relative;overflow-wrap:anywhere;}
.fe-pil-ul li::before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;border-radius:50%;background:#2B4C93;}
.fe-pil-none{font-size:11.5px;color:#56698F;}
.fe-save{display:flex;gap:7px;padding-top:4px;}
.hd-range{font-size:11px;color:rgba(255,255,255,0.55);margin-top:2px;}

/* KR detail screen */
.kd-back{margin-bottom:6px;}
.kd-obj{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--k3t);margin-bottom:10px;}
.kd-obj .obj-n{width:22px;height:22px;font-size:10px;}
.kd-card{background:var(--wh);border:1px solid var(--li);border-radius:var(--r);padding:18px 20px;margin-bottom:14px;position:relative;overflow:hidden;}
.kd-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gh);}
.kd-top{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;}
.kd-top .kr-b{margin-top:4px;}
.kd-t{font-size:17px;font-weight:700;color:var(--k);line-height:1.35;flex:1;min-width:0;}
.kd-prog{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;background:var(--of);border-radius:8px;padding:12px 16px;margin-bottom:12px;}
.kd-pw{min-width:0;}
.kd-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px;}
.kd-meta .meta-v{overflow-wrap:anywhere;}
.kd-small{font-size:11.5px;font-weight:500;}
.kd-dot{display:inline-block;margin-right:6px;vertical-align:1px;}
.kd-cta{max-width:360px;}
.kd-closed{font-size:12px;color:var(--amber-t);font-weight:600;}
.kd-sec{background:var(--wh);border:1px solid var(--li);border-radius:var(--r);padding:14px 16px;margin-bottom:12px;}
.kd-msgs{max-height:220px;padding:0;}
.evo-chart{margin-bottom:10px;}
.evo-chart svg{width:100%;max-width:760px;height:auto;display:block;}
.evo-tg{stroke:var(--or);stroke-width:1.5;stroke-dasharray:5 4;}
.evo-tg-t{font-size:11px;fill:var(--orange-t);font-weight:700;}
.evo-ax{stroke:var(--l2);stroke-width:1;}
.evo-ax-t{font-size:10.5px;fill:var(--k3t);}
.evo-ln{fill:none;stroke:var(--k2);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;}
.evo-edit{padding:0 0 0 4px;}
.evo-ed{font-size:10px;color:var(--k4t);margin-top:3px;font-style:italic;}
.modal-md{max-width:680px;}
.rp-estado-card{margin-bottom:12px;}
.rp-foot{display:flex;gap:7px;justify-content:flex-end;}

/* Mis KRs */
.mine-team{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--k4t);margin:16px 0 8px;}
.mine-obj{background:var(--wh);border:1px solid var(--li);border-radius:var(--r);overflow:hidden;margin-bottom:10px;}
.mine-obj-h{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--li);}
.mine-kr{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--li);}
.mine-kr:last-child{border-bottom:none;}
.mine-kr-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0;cursor:pointer;border-radius:6px;}
.mine-kr-main:hover .mine-kr-t{color:var(--orange-t);}
.mine-kr-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;}
.mine-kr-t{font-size:13px;font-weight:600;color:var(--k);line-height:1.4;}
.mine-kr-m{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.mine-pct{font-size:15px;font-weight:700;min-width:44px;text-align:right;}
.mine-rep{flex-shrink:0;min-width:96px;}
.mine-empty{background:var(--wh);border:1px dashed var(--l2);border-radius:var(--r);line-height:1.7;}

/* Configuración y usuarios */
.cf-act{display:flex;gap:7px;flex-wrap:wrap;}
.cf-h{margin-top:22px;margin-bottom:10px;}
.cf-sub{font-size:17px;}
.cf-team{background:var(--wh);border:1px solid var(--li);border-radius:var(--r);margin-bottom:12px;overflow:hidden;}
.cf-team-h{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--li);flex-wrap:wrap;}
.cf-team-n{font-size:13.5px;font-weight:700;color:var(--k);}
.cf-team-h .btn{margin-left:auto;}
.cf-empty{padding:14px;}
.cf-m{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--li);flex-wrap:wrap;}
.cf-m:last-child{border-bottom:none;}
.cf-m-b{flex:1;min-width:200px;}
.cf-m-n{font-size:12.5px;font-weight:700;color:var(--k);overflow-wrap:anywhere;}
.cf-m .usr-e{overflow-wrap:anywhere;}
.cf-m-a{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.cf-team-sel{width:auto;min-width:150px;}
.cf-tag{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:10px;margin-left:6px;white-space:nowrap;vertical-align:1px;}
.cf-tag.ok{background:rgba(22,163,74,0.1);color:#15803D;}
.cf-tag.pend{background:rgba(245,158,11,0.14);color:var(--amber-t);}
.cf-tag.bad{background:rgba(227,15,19,0.1);color:#B91C1C;}
.cf-tag.out{background:var(--of);color:var(--k3t);border:1px solid var(--l2);}
.inv-row{display:grid;grid-template-columns:1fr 1.2fr auto;gap:6px;margin-bottom:6px;align-items:center;}
.inv-link{padding:10px 0;border-bottom:1px solid var(--li);}
.inv-link:last-child{border-bottom:none;}
.inv-link-r{display:flex;gap:6px;margin-top:6px;}
.inv-link-r .form-in{flex:1;min-width:0;font-family:Consolas,monospace;font-size:12px;}

/* Weekly meeting (read-only OKRs) + history groups */
.mt-tip{display:flex;line-height:1.5;}
.mt-okr-h{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.rp-count.ok{background:rgba(22,163,74,0.35);}
.mt-obj{margin-bottom:8px;}
.mt-obj .mt-krs{display:none;}
.mt-obj.open .mt-krs{display:block;}
.mt-obj.open .obj-ch{transform:rotate(180deg);}
.mt-kr{padding:10px 16px;border-bottom:1px solid var(--li);}
.mt-kr:last-child{border-bottom:none;}
.mt-kr-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px;}
.mt-kr-h .kr-t{min-width:0;}
.mt-kr-p{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px;}
.mt-kr-p .pbar{max-width:220px;}
.mt-kr-v{font-size:11px;color:var(--k3t);white-space:nowrap;}
.mt-kr-e{font-size:11px;font-weight:700;}
.hist-obj .okr-oh{padding:10px 12px;}
.hs-prog{min-width:170px;flex:1;max-width:260px;}
.hs-pct{font-size:12px;color:var(--orange-t);}

@media (max-width:1024px){
  .fe-pil-g{grid-template-columns:repeat(2,minmax(0,1fr));}
  .kd-meta{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px){
  .fe-id-main{min-width:0;flex-direction:column;align-items:flex-start;gap:12px;}
  .fe-logo{width:72px;height:72px;}
  .fe-id-side{text-align:left;}
  .fe-annual{padding:20px 16px;border-radius:14px;}
  .fe-annual-t{font-size:20px;}
  .fe-pil-g{grid-template-columns:1fr;}
  .kd-card{padding:14px 12px;}
  .kd-top{flex-wrap:wrap;}
  .kd-prog{grid-template-columns:1fr;gap:8px;padding:12px;}
  .kd-meta{grid-template-columns:1fr 1fr;}
  .kd-cta{max-width:none;}
  .kd-sec{padding:12px;}
  .mine-kr{flex-wrap:wrap;padding:10px 12px;}
  .mine-kr-main{flex-basis:100%;}
  .mine-rep{flex:1;}
  .mine-obj-h{padding:10px 12px;}
  .cf-m{padding:10px 12px;}
  .cf-m-a{width:100%;}
  .cf-m-a .btn,.cf-team-sel{flex:1;}
  .cf-team-h .btn{margin-left:0;width:100%;}
  .inv-row{grid-template-columns:1fr auto;}
  .inv-row .inv-email{grid-column:1;}
  .inv-row .rm{grid-column:2;grid-row:1/3;}
  .mt-kr{padding:10px 12px;}
  .mt-kr-p .pbar{max-width:none;flex-basis:100%;}
  .hs-prog{max-width:none;flex-basis:100%;}
  .rp-foot .btn{flex:1;}
}
@media (pointer:coarse){
  .kd-back{padding:10px 0;}
  .mine-rep{min-height:40px;}
  .evo-edit{padding:8px 6px;}
}

/* ═══ v3: consolidated progress (Foto Estratégica = organization, team header = team) ═══ */
.cp{background:var(--wh);border:1px solid var(--li);border-radius:var(--r);padding:14px 18px;margin-bottom:14px;}
.cp-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px;}
.cp-l{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--k4t);}
.cp-pct{font-size:22px;font-weight:700;color:var(--k);line-height:1;}
.cp-none{font-size:12px;font-weight:700;color:var(--k4t);}
.cp .pbar{height:10px;border-radius:5px;}
.cp .pbar-f{height:10px;border-radius:5px;}
.cp-s{font-size:11px;color:var(--k3t);margin-top:6px;}
.cp.dark{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.12);padding:10px 14px;margin:12px 0 0;max-width:460px;}
.cp.dark .cp-l{color:rgba(255,255,255,0.45);}
.cp.dark .cp-pct{color:#fff;font-size:18px;}
.cp.dark .cp-none{color:rgba(255,255,255,0.6);}
.cp.dark .pbar{background:rgba(255,255,255,0.15);}
.cp.dark .cp-s{color:rgba(255,255,255,0.55);}

/* ═══ v3: notification bell ═══ */
.bell{position:relative;}
.bell-b{position:relative;width:34px;height:34px;border-radius:50%;border:1px solid var(--li);background:var(--wh);color:var(--k2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;}
.bell-b:hover,.bell-b[aria-expanded="true"]{border-color:var(--or);color:var(--re);}
.bell-b svg{width:18px;height:18px;}
.bell-n{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--re);color:#fff;font-size:9.5px;font-weight:700;line-height:17px;text-align:center;box-shadow:0 0 0 2px var(--wh);}
.bell-n[hidden]{display:none;}
.bell-dd{position:absolute;right:0;top:calc(100% + 8px);width:360px;max-width:calc(100vw - 24px);background:var(--wh);border:1px solid var(--li);border-radius:var(--r);box-shadow:0 12px 32px rgba(0,0,0,0.14);z-index:300;overflow:hidden;}
.bell-dd[hidden]{display:none;}
.bell-h{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 14px;border-bottom:1px solid var(--li);}
.bell-t{font-size:12px;font-weight:700;color:var(--k);}
.bell-all{border:0;background:none;color:var(--re);font-size:11px;font-weight:600;cursor:pointer;padding:2px 0;font-family:var(--f);}
.bell-all:disabled{color:var(--k4t);cursor:default;}
.bell-l{max-height:min(420px,70vh);overflow-y:auto;}
.bell-it{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-bottom:1px solid var(--li);cursor:pointer;}
.bell-it:last-child{border-bottom:0;}
.bell-it:hover,.bell-it:focus-visible{background:var(--of);}
.bell-it.unread{background:rgba(243,146,0,0.06);}
.bell-it.unread .bell-m{font-weight:600;color:var(--k);}
.bell-ic{font-size:15px;line-height:1.2;flex-shrink:0;}
.bell-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.bell-m{font-size:12px;color:var(--k2);line-height:1.35;overflow-wrap:anywhere;}
.bell-s{font-size:10.5px;color:var(--k4t);}
.bell-dot{width:8px;height:8px;border-radius:50%;background:var(--re);flex-shrink:0;margin-top:5px;}
.bell-empty{padding:22px 14px;text-align:center;font-size:12px;color:var(--k4t);}
@media (max-width:640px){
  .bell-dd{position:fixed;left:12px;right:12px;top:calc(var(--th) + 4px);width:auto;max-width:none;}
}

/* ═══ Reconocimientos (choque los 5): recipient selector + team ranking ═══ */
.p-sel{width:160px;flex-shrink:0;background:var(--of);border:1.5px solid var(--l2);border-radius:7px;padding:7px 9px;font-family:var(--f);font-size:12px;font-weight:600;color:var(--k3);outline:none;transition:border-color 0.15s;}
.p-sel:focus{border-color:var(--or);}
.p-sel.missing,.comp-fr .form-in.missing{border-color:var(--re);box-shadow:0 0 0 3px rgba(227,15,19,0.12);}
.rec-list{display:flex;flex-direction:column;gap:8px;max-width:720px;}
.rec-row{background:var(--wh);border:1px solid var(--li);border-radius:var(--r);padding:10px 14px;display:flex;align-items:center;gap:12px;min-width:0;}
.rec-row.top{border-left:4px solid var(--or);}
.rec-row.top-1{background:linear-gradient(90deg,rgba(243,146,0,0.10),var(--wh) 60%);padding:14px 16px;}
.rec-pos{width:30px;text-align:center;font-size:15px;font-weight:700;color:var(--k4t);flex-shrink:0;}
.rec-row.top .rec-pos{font-size:22px;}
.rec-av{width:36px;height:36px;border-radius:50%;background:var(--of);border:1.5px solid var(--l2);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--k3);flex-shrink:0;}
.rec-row.top-1 .rec-av{width:44px;height:44px;border-color:var(--or);color:var(--orange-t);}
.rec-main{flex:1;min-width:0;}
.rec-name{font-size:13.5px;font-weight:700;color:var(--k);}
.rec-row.top-1 .rec-name{font-size:15px;}
.rec-last{font-size:11.5px;color:var(--k4t);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rec-count{display:flex;align-items:center;gap:4px;flex-shrink:0;}
.rec-count strong{font-size:18px;color:var(--orange-t);}
@media (max-width:640px){
  .comp-fr .p-sel{order:-1;flex:1 1 100%;width:auto;}
  .rec-row{padding:10px 12px;gap:9px;}
  .rec-last{white-space:normal;}
}
@media (pointer:coarse),(max-width:640px){
  .p-sel{font-size:16px;min-height:42px;}
}
