:root{--bg:#f5f6f9;--panel:#fff;--ink:#1b2634;--sub:#647487;--line:#e6e9f0;--primary:#dc743b;--primary2:#f08340;--nav:#192433;--nav2:#27384b;--good:#278a73;--bad:#c84a52;--warn:#d8a045;--blue:#417db6;--radius:17px;--shadow:0 5px 24px #142a4610}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font:14px/1.45 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}button,select,input,textarea{font:inherit}button{cursor:pointer}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.hidden{display:none!important}.muted{color:var(--sub)}.eyebrow{color:var(--primary);font-size:10px;letter-spacing:1.5px;font-weight:850}.mark{display:grid;place-items:center;background:linear-gradient(140deg,#efaa64,#d96a35);color:white;font-size:21px;width:40px;height:40px;border-radius:12px;box-shadow:0 6px 18px #d66c3540}.auth-screen{min-height:100vh;display:grid;grid-template-columns:minmax(360px,0.98fr) minmax(400px,1.02fr)}.auth-brand{background:radial-gradient(circle at 80% 70%,#3a516b,#202f41 55%,#15202e);color:white;padding:44px clamp(35px,6vw,105px);display:flex;flex-direction:column;align-items:flex-start;gap:14px}.auth-brand strong{font-size:26px;margin-top:-52px;margin-left:55px}.auth-brand strong span,.logo b span{color:#f2a065}.auth-brand>small{margin-left:55px;color:#bfcedd}.auth-hero{margin:auto 0}.auth-hero h1{font-size:clamp(35px,4.2vw,59px);line-height:1.06;letter-spacing:-2.4px;max-width:460px}.auth-hero p{color:#b9cadc;font-size:16px;max-width:480px}.mini-quad{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-width:470px;transform:rotate(-2deg)}.mini-quad>div{border:1px solid #ffffff27;background:#ffffff11;border-radius:13px;min-height:95px;padding:17px;font-size:13px;color:#f5f7fa}.mini-quad b{display:block;color:#ffa970;font-size:22px}.auth-box{display:grid;place-items:center;padding:26px}.auth-card{max-width:410px;width:100%;background:#fff;padding:38px;border-radius:23px;box-shadow:var(--shadow)}.auth-card h2{font-size:27px;letter-spacing:-.7px;margin:8px 0 3px}.form-stack{display:flex;flex-direction:column;gap:15px;margin-top:25px}.form-stack label,.field label{display:block;font-size:12px;font-weight:700;color:#506073}.form-stack input,.form-stack textarea,.field input,.field select,.field textarea,select,input[type="text"],input[type="date"],input[type="number"],input[type="email"]{width:100%;min-height:39px;background:#fff;border:1px solid #dce2eb;border-radius:10px;padding:9px 11px;color:var(--ink);outline:none}.form-stack label>input,.form-stack label>textarea{margin-top:6px}.form-stack input:focus,.field input:focus,.field textarea:focus,.field select:focus{border-color:#f0a06e;box-shadow:0 0 0 3px #efa07025}.btn{border:1px solid var(--line);border-radius:10px;padding:9px 13px;background:#fff;color:#39495c;font-weight:700;transition:.17s}.btn:hover{filter:brightness(.97);transform:translateY(-1px)}.btn.primary{border-color:#dc7841;background:linear-gradient(110deg,#ea8848,#d86c35);color:#fff}.btn.big{padding:13px 14px;display:flex;justify-content:space-between}.btn.light{background:#f7f9fc}.btn.danger{color:#ab363d;border-color:#e2b3b6}.btn.small{font-size:11px;padding:5px 8px}.auth-footer{display:flex;gap:10px;justify-content:center}.small-note{font-size:11px;line-height:1.6;color:#8a97a6;text-align:center}.notice{border-radius:10px;background:#f5f9fb;color:#43617c;padding:12px;font-size:12px;margin-top:18px}.app{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--nav);padding:23px 14px;color:#ccd5e0;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}.logo{display:flex;align-items:center;gap:10px;color:#fff;font-size:22px;margin:0 6px 27px;flex-wrap:wrap}.logo .mark{width:34px;height:34px;font-size:17px}.logo .version{width:100%;font-size:9px;color:#91a5b8;margin-left:44px;letter-spacing:1px}.sidetitle,.sidebar-heading,.nav-heading{font-size:10px;letter-spacing:1.4px;color:#8fa1b4;font-weight:800}.sidetitle{margin:0 9px 8px}.sel-dark{background:#26374a;color:#fff;border:1px solid #415066;border-radius:10px;padding:10px;max-width:100%;min-height:40px}.sidebar-section{margin:24px 0 8px}.sidebar-heading{display:flex;justify-content:space-between;align-items:center;margin:0 8px 10px}.icon-btn{border:0;background:transparent;font-weight:700;font-size:19px}.icon-btn.dark{color:#cad8e7}.projects-nav{max-height:230px;overflow:auto}.projects-nav button,.sidebar nav button{display:flex;align-items:center;text-align:left;width:100%;border:0;background:transparent;border-radius:10px;color:#b8c8d9;padding:10px 12px;gap:10px;font-size:12px}.projects-nav button.active,.sidebar nav button.active,.projects-nav button:hover,.sidebar nav button:hover{background:#304258;color:white}.projects-nav button .project-dot{width:9px;height:9px;border-radius:3px;flex-shrink:0}.nav-heading{margin:22px 10px 9px}.sidebar nav{display:flex;flex-direction:column;gap:3px}.sidebar nav button span{font-size:17px;width:19px;text-align:center}.sidebar-bottom{margin-top:auto;border-top:1px solid #ffffff1f;padding:17px 9px 5px;display:flex;flex-direction:column;gap:7px;font-size:11px;color:#aebdca}.sidebar-bottom button{background:transparent;border:0;color:#ffa870;text-align:left;padding:3px 0}.status-dot{display:inline-block;background:#54cfab;width:7px;height:7px;border-radius:50%;margin-right:6px}.main{min-width:0}.topbar{min-height:105px;padding:24px 31px;background:#fff;border-bottom:1px solid #e8edf3;display:flex;justify-content:space-between;align-items:center;gap:14px}.topbar h1{font-size:23px;margin:3px 0 2px;letter-spacing:-.7px}.topbar p{font-size:12px;margin:0}.top-actions{display:flex;align-items:center;gap:8px}.top-actions select{max-width:220px;padding:9px;border:1px solid var(--line);border-radius:9px}.avatar{background:#e8e2db;border:0;border-radius:50%;width:37px;height:37px;font-weight:800;color:#735a40}.content{padding:24px clamp(16px,2.5vw,36px) 40px}.content-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.content-head h2{font-size:19px;margin:0 0 3px}.content-head p{margin:0;color:var(--sub);font-size:12px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{border:1px solid var(--line);background:#fff;color:#607186;padding:7px 10px;border-radius:99px;font-size:11px}.chip.active{background:#233448;color:#fff;border-color:#233448}.overview-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.stat-pill{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);padding:9px 13px;border-radius:11px;color:var(--sub);font-size:11px}.stat-pill strong{font-size:16px;color:var(--ink)}.matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.quad{background:#fff;border-radius:17px;border:1px solid var(--line);overflow:hidden;box-shadow:var(--shadow);min-height:255px;display:flex;flex-direction:column}.quad-head{display:flex;align-items:center;justify-content:space-between;padding:15px 17px 12px;border-bottom:1px solid var(--line)}.quad-head-title{display:flex;align-items:center;gap:10px}.quad-number{width:33px;height:33px;border-radius:9px;display:grid;place-items:center;font-size:12px;font-weight:900}.quad[data-q="1"] .quad-number{background:#fbe3e1;color:#b94a4e}.quad[data-q="2"] .quad-number{background:#dbf2eb;color:#23886a}.quad[data-q="3"] .quad-number{background:#fff0d8;color:#b97a15}.quad[data-q="4"] .quad-number{background:#e9edf5;color:#60748e}.quad h3{font-size:13px;margin:0}.quad-head p{font-size:10px;color:var(--sub);margin:1px 0 0}.quad-body{padding:9px 12px;overflow-y:auto;max-height:clamp(210px,35vh,540px);flex:1}.quad-footer{border-top:1px solid var(--line);padding:8px 14px}.quiet-action{background:transparent;border:0;color:#d87742;font-size:12px;font-weight:800;padding:4px}.task-list{list-style:none;margin:0;padding:0}.task-line{display:flex;align-items:center;gap:8px;padding:9px 5px;border-bottom:1px solid #f0f2f5;min-height:43px}.task-line:hover{background:#fcfaf7}.task-title{background:none;border:0;text-align:left;color:#334154;font-size:12px;min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis}.task-title:hover{color:#c3612f}.task-meta{display:inline-flex;align-items:center;gap:5px;color:#8b98a6;font-size:10px;white-space:nowrap}.task-meta.late{color:#c45858}.expand{border:0;background:none;font-size:12px;color:#8998aa;width:22px;flex-shrink:0}.expand:disabled{opacity:.15;cursor:default}.task-line input[type=checkbox]{accent-color:#4f9d82;width:15px;height:15px;cursor:pointer}.task-line.complete .task-title{text-decoration:line-through;color:#99a4af}.subtasks{margin:0 0 0 26px;padding:0 0 0 9px;border-left:1px solid #e4e9ed}.task-progress{width:46px;height:5px;border-radius:99px;background:#e7eaef;overflow:hidden}.task-progress i{display:block;background:#65a88d;height:100%}.empty{padding:35px 16px;text-align:center;color:#8492a1}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:var(--shadow)}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:15px}.toolbar select,.toolbar input{max-width:220px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.task-table{width:100%;border-collapse:collapse}.task-table th,.task-table td{border-bottom:1px solid #edf0f4;padding:11px 8px;text-align:left;font-size:12px}.task-table th{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#8390a0}.badge{display:inline-block;padding:5px 9px;border-radius:99px;font-weight:800;font-size:10px;background:#f1f5f9;color:#596e82}.badge.good{background:#dff3e9;color:#258366}.badge.warning{background:#fff0dd;color:#a57427}.badge.bad{background:#fae4e5;color:#b84b51}.progress-track{background:#e9eef3;border-radius:100px;height:8px;overflow:hidden;min-width:50px}.progress-track div{height:100%;background:linear-gradient(90deg,#5ba6a0,#368c74)}.kanban{display:grid;grid-template-columns:repeat(5,minmax(190px,1fr));gap:13px;overflow:auto;padding-bottom:12px}.kan-col{background:#eef1f5;border-radius:15px;padding:10px;min-height:360px}.kan-head{padding:8px 8px 12px;font-size:12px;font-weight:800;display:flex;justify-content:space-between}.kan-task{border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:9px;padding:13px;box-shadow:0 3px 12px #142a4610;cursor:grab}.kan-task strong{display:block;font-size:12px;margin-bottom:7px}.kan-task small{color:var(--sub)}.kan-task:hover{border-color:#edb58d}.gantt-viewport{overflow:auto;border:1px solid var(--line);border-radius:12px;background:white}.gantt-grid{display:grid;min-width:900px;grid-template-columns:270px repeat(var(--n),minmax(58px,1fr))}.gantt-cell{border-right:1px solid #edf0f5;border-bottom:1px solid #edf0f5;min-height:46px;position:relative;padding:12px 8px}.gantt-header{min-height:44px;background:#f4f7fa;font-size:11px;font-weight:800;text-align:center;color:#536275;position:sticky;top:0;z-index:5}.gantt-name{background:#fff;position:sticky;left:0;z-index:4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.gantt-bar{position:absolute;top:13px;bottom:13px;left:0;right:0;background:#e9ba8e;border-radius:5px;overflow:hidden}.gantt-bar .actual{position:absolute;inset:0 auto 0 0;background:#3c987c}.gantt-bar .expected{position:absolute;top:0;bottom:0;left:0;border-right:2px dashed #273f58;width:0}.gantt-bar .base{position:absolute;bottom:0;height:2px;background:#aa733e;width:100%}.legend{display:flex;gap:17px;flex-wrap:wrap;margin:0 0 12px;color:var(--sub);font-size:11px}.legend b{display:inline-block;width:12px;height:9px;border-radius:2px;margin-right:5px}.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.kpi{background:#fff;border-radius:15px;padding:18px;border:1px solid var(--line)}.kpi span{font-size:11px;color:#63758a}.kpi strong{display:block;font-size:28px;margin-top:9px}.muted-text{color:#8290a0;font-size:12px}.metric-row{display:grid;grid-template-columns:180px 1fr 50px;gap:10px;align-items:center;margin-bottom:12px;font-size:12px}.chat{display:flex;flex-direction:column;gap:8px;max-height:520px;overflow:auto;min-height:150px;margin:18px 0}.bubble{background:#f4f6f9;border:1px solid var(--line);border-radius:12px;padding:10px 14px;max-width:75%;align-self:start}.bubble.mine{align-self:end;background:#fff0e6;border-color:#f8d8be}.bubble small{display:block;color:#8a94a0;margin-top:4px}.chat-compose{display:flex;gap:8px}.chat-compose input{flex:1}.backdrop{position:fixed;inset:0;background:#172d4380;z-index:10}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(540px,100vw);background:#fff;box-shadow:-13px 0 60px #142a4630;z-index:11;overflow:auto;padding:25px 28px}.drawer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.drawer h2{font-size:20px;line-height:1.2;margin:7px 0 2px}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:14px}.field{min-width:0}.field label{margin-bottom:6px}.field.wide{grid-column:1 / -1}.field textarea{resize:vertical}.drawer-actions{display:flex;gap:8px;margin:25px 0;flex-wrap:wrap}.modal{border:0;border-radius:17px;max-width:min(560px,94vw);width:100%;padding:27px;box-shadow:0 18px 75px #22344850}.modal::backdrop{background:#172d4380}.modal h2{font-size:21px;margin:0 0 8px}.modal .form-stack{margin-top:15px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.toast{position:fixed;z-index:30;right:30px;top:20px;background:#223349;color:white;padding:12px 19px;border-radius:11px;box-shadow:var(--shadow)}.file-input{border:1px dashed #b5c6d6;border-radius:13px;background:#fbfcfe;padding:20px;display:block}.file-input input{border:0;width:100%;margin-top:12px}.info-line{border-left:3px solid #e9a168;background:#fffbf5;padding:11px 13px;color:#82664d;font-size:12px;border-radius:7px}.mini-table{width:100%;border-collapse:collapse}.mini-table td,.mini-table th{padding:10px;border-bottom:1px solid #edf0f4;text-align:left;font-size:12px}.mini-table th{color:#768597}.request-card{border:1px solid var(--line);padding:13px;border-radius:9px;margin-top:9px}.small{font-size:11px}.inline-actions{display:flex;gap:8px;flex-wrap:wrap}.filter-input{padding:8px 12px;min-width:150px}.caption{font-size:11px;color:#778899;margin-top:8px}.mobile-nav{display:none}
@media(max-width:1150px){.sidebar{width:220px}.app{grid-template-columns:220px 1fr}.topbar{padding:21px}.matrix{gap:11px}.task-meta{font-size:9px}.cards4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.app{display:block}.sidebar{height:auto;width:100%;position:static;padding:12px;display:block}.logo{margin:0 0 12px}.logo .version,.sidebar .sidetitle,.sidebar .sel-dark,.sidebar-section,.nav-heading,.sidebar-bottom{display:none}.sidebar nav{flex-direction:row;overflow:auto}.sidebar nav button{width:auto;white-space:nowrap}.topbar{flex-direction:column;align-items:stretch;padding:15px}.top-actions{flex-wrap:wrap}.content{padding:14px}.matrix{grid-template-columns:1fr}.two-col{grid-template-columns:1fr}.auth-screen{grid-template-columns:1fr}.auth-brand{min-height:260px;padding:24px}.auth-hero{display:none}.auth-box{padding:25px 14px}.auth-card{padding:24px}.field-grid{grid-template-columns:1fr}.cards4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:450px){.cards4{grid-template-columns:1fr 1fr}.kpi{padding:12px}.kpi strong{font-size:22px}.quad-head{padding:12px}.task-meta{max-width:76px;overflow:hidden;text-overflow:ellipsis}.top-actions .btn{font-size:11px}.auth-brand{min-height:125px}}

/* Ajustes de legibilidad para formularios y filtros */
.filter-input,.chat-compose input,.toolbar input{width:auto;min-width:170px;min-height:37px;padding:9px 12px;border:1px solid #dce2eb;border-radius:10px;background:#fff;color:var(--ink);outline:none}
.chat-compose input{flex:1}.filter-input:focus,.chat-compose input:focus{border-color:#ed975f;box-shadow:0 0 0 3px #e7906125}
@media(max-width:850px){.filter-input{flex:1;min-width:180px}.top-actions select{flex:1}}

/* Focus 360 v0.2 — cuadrantes premium personalizables y plegables. */
.quad.colorful{border:1px solid color-mix(in srgb,var(--quad-color),#fff 65%);background:linear-gradient(145deg,color-mix(in srgb,var(--quad-color),#fff 94%),white 58%);box-shadow:0 10px 30px #142a4612;transition:box-shadow .18s ease,transform .18s ease}
.quad.colorful:hover{box-shadow:0 13px 38px #142a4620}
.quad.colorful .quad-head{background:color-mix(in srgb,var(--quad-color),white 83%);border-top:5px solid var(--quad-color);border-bottom-color:color-mix(in srgb,var(--quad-color),white 63%)}
.quad.colorful .quad-number{background:var(--quad-color);color:white;box-shadow:0 4px 12px #142a4615}
.quad.colorful .quad-head h3{font-size:15px;color:#243247}
.quad.colorful .quad-head p{font-size:11px;color:#596879}
.quad.colorful .quad-footer{background:color-mix(in srgb,var(--quad-color),white 94%)}
.quad.colorful .quiet-action{color:color-mix(in srgb,var(--quad-color),#171f29 30%)}
.quad-controls{display:flex;align-items:center;gap:8px}
.quad-collapse{border:1px solid color-mix(in srgb,var(--quad-color),white 65%);background:white;border-radius:9px;min-width:31px;height:31px;font-size:20px;line-height:1;color:#36475a}
.quad-collapse:hover{background:color-mix(in srgb,var(--quad-color),white 89%)}
.quad.quad-collapsed{min-height:0}
.quad.quad-collapsed .quad-head{border-bottom:0;padding-bottom:15px}
.quadrant-settings{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.qset{border:1px solid #e3e9ef;border-radius:12px;padding:13px;min-width:0}
.qset legend{font-size:12px;font-weight:800;padding:0 6px}
.qset label{font-size:11px;margin:6px 0}
.qset input[type=color]{width:100%;height:36px;padding:3px;border-radius:8px;cursor:pointer}
@media(max-width:600px){.quadrant-settings{grid-template-columns:1fr}}

/* v0.3 — sesión visible y avisos privados */
.greeting{font-size:14px;font-weight:850;color:#273e52;letter-spacing:-.2px}
.role-org{color:#687b8d;font-size:11px;margin:2px 0 8px}
.notification-wrap{position:relative;flex-shrink:0}
.bell-btn{width:39px;height:39px;position:relative;border-radius:11px;border:1px solid #e0e7f0;background:#f7f9fc;color:#344960;font-size:23px;display:grid;place-items:center}
.notification-badge{position:absolute;right:-4px;top:-7px;background:#dc6446;color:#fff;border-radius:20px;min-width:19px;height:19px;display:grid;place-items:center;font-size:10px;font-weight:900;border:2px solid #fff}
.notification-panel{position:absolute;z-index:100;right:0;top:46px;width:min(360px,calc(100vw - 28px));max-height:420px;overflow:auto;background:#fff;box-shadow:0 16px 45px #1d304040;border:1px solid #e1e8ee;border-radius:14px;padding:15px}
.notification-panel h3{margin:0 0 9px;font-size:15px}
.notification-item{width:100%;text-align:left;display:flex;flex-direction:column;gap:3px;border:0;border-bottom:1px solid #e9edf1;padding:11px 7px;background:#fff;color:#344960}
.notification-item.unread{background:#fff5eb;border-radius:8px}
.notification-item b{font-size:12px}.notification-item span{font-size:12px}.notification-item small{font-size:10px;color:#8293a3}
@media(max-width:850px){.greeting{font-size:13px}.role-org{margin-bottom:4px}.notification-panel{right:-110px}}


/* Foco360 0.5: una prioridad personal, no otra bandeja de trabajo. */
.focus-banner{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:20px;padding:22px 26px;border-radius:17px;background:linear-gradient(112deg,#24384d,#344e60 72%,#516979);color:#fff;box-shadow:0 8px 25px #192e4824}
.focus-banner-copy{min-width:0;flex:1}.focus-eyebrow{font-size:10px;font-weight:850;letter-spacing:1.2px;color:#f6b78a}
.focus-banner h2{font-size:20px;line-height:1.3;letter-spacing:-.45px;margin:8px 0 5px;font-weight:750}.focus-banner p{font-size:12px;line-height:1.55;color:#dae4ee;margin:0}
.focus-banner .btn{flex-shrink:0}.focus-banner .btn.light{background:#ffffff16;color:#fff;border-color:#ffffff50}
.focus-page{display:flex;flex-direction:column;gap:17px;max-width:1220px;margin:auto}
.focus-page .panel{padding:22px}.focus-page h3{margin:0 0 10px;font-size:16px}.focus-page p{font-size:13px;line-height:1.65}
.focus-intro{background:linear-gradient(110deg,#fff,#fdf6f0);border-color:#efdccd}
.focus-intro h2{font-size:clamp(19px,2.4vw,28px);letter-spacing:-.75px;margin:10px 0;max-width:850px;line-height:1.24}
.focus-intro p{margin-bottom:0;color:#677487}
.focus-current{border:1px solid #d8eae1;background:#f9fffb}
.focus-current-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.focus-current h3{font-size:18px;margin:10px 0}
.focus-current p{margin-top:0}.focus-current small{display:block;color:#6b7f8a;margin-top:12px}
.focus-actions{display:flex;flex-wrap:wrap;gap:9px}
.focus-main-grid{display:grid;grid-template-columns:minmax(310px,1fr) minmax(300px,1fr);gap:17px}
.focus-editor .form-stack{gap:14px;margin-top:16px}.focus-editor select,.focus-editor input,.focus-editor textarea{display:block;width:100%;margin-top:6px;min-height:40px;border:1px solid #dce2eb;border-radius:10px;padding:10px 12px;background:#fff;color:#223349}
.focus-editor textarea{min-height:95px;resize:vertical}.focus-editor .form-stack label{font-weight:750;font-size:12px;color:#405265}
.focus-editor .form-stack button{align-self:flex-start}.focus-editor .muted,.focus-suggest .muted{margin:0;font-size:12px}
.focus-suggestion{display:flex;align-items:center;gap:10px;width:100%;text-align:left;margin-top:10px;padding:13px;border:1px solid #e9edf2;background:#fbfcff;border-radius:13px;color:#26384c}
.focus-suggestion:hover,.focus-suggestion:focus-visible{border-color:#e7a77c;background:#fff8f1}
.focus-suggestion-num{display:grid;place-items:center;min-width:29px;height:29px;border-radius:9px;background:#fff0e2;color:#aa6134;font-weight:850}
.focus-suggestion>span:nth-child(2){flex:1;min-width:0}.focus-suggestion b{display:block;font-size:12px}.focus-suggestion small{display:block;font-size:11px;color:#718095;line-height:1.5;margin-top:5px}
.focus-reflect{background:#f3f6fa;padding:14px;border-radius:12px;margin-top:18px;font-size:12px}.focus-reflect p{margin:6px 0 0;color:#647487;font-size:12px}
.focus-history-list{display:flex;flex-direction:column;gap:0}.focus-history-item{display:grid;grid-template-columns:110px minmax(0,1fr) 98px;align-items:center;gap:14px;padding:12px 2px;border-bottom:1px solid #edf0f4;font-size:12px}.focus-history-item span:first-child{color:#647487}
.focus-history-item strong{font-size:12px;font-weight:650}.focus-history-item .badge{justify-self:end}
.focus-changes{margin-top:15px;color:#6d7b8b;font-size:12px}.focus-changes summary{cursor:pointer;font-weight:700}.focus-changes p{margin:8px 0;font-size:12px}
@media(max-width:980px){.focus-main-grid{grid-template-columns:1fr}.focus-banner{align-items:flex-start}}
@media(max-width:600px){.focus-banner{flex-direction:column;padding:19px;align-items:stretch}.focus-banner .btn{align-self:flex-start}.focus-page .panel{padding:17px}.focus-history-item{grid-template-columns:75px minmax(0,1fr);gap:9px}.focus-history-item .badge{grid-column:2;justify-self:start}.focus-editor .form-stack button{align-self:stretch}}


/* Foco360 v0.6: calendario con navegación diaria/semanal/mensual. */
.calendar-page{display:flex;flex-direction:column;gap:14px}
.calendar-toolbar.panel{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;padding:19px 23px}
.calendar-toolbar-title{min-width:220px;flex:1}
.calendar-toolbar-title h2{font-size:23px;line-height:1.2;margin:6px 0 7px;text-transform:capitalize;letter-spacing:-.5px}
.calendar-toolbar-title p{font-size:12px;color:var(--sub);margin:0;max-width:640px}
.calendar-toolbar-controls{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px}
.calendar-view-switch{display:flex;gap:3px;background:#f0f3f6;border-radius:12px;padding:4px}
.calendar-view-switch button{border:0;border-radius:9px;background:transparent;color:#627184;font-size:12px;font-weight:750;padding:9px 13px}
.calendar-view-switch button.active{color:#fff;background:#26394d;box-shadow:0 2px 8px #182c3c22}
.calendar-navigator{display:flex;align-items:center;gap:5px}
.calendar-navigator .btn{min-height:37px;padding:7px 11px}
.calendar-navigator input[type="date"]{min-height:37px;border:1px solid #dce2eb;border-radius:9px;padding:7px 8px;color:var(--ink);background:#fff;max-width:155px}
.calendar-summary{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.calendar-summary>span{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid #e4eaf0;border-radius:10px;background:#fff;font-size:11px;color:#687789}
.calendar-summary>span b{font-size:16px;color:#273a4f}
.calendar-summary>span.late b{color:#bf4c50}
.calendar-filter-label{margin-left:auto;display:flex;align-items:center;gap:8px;color:#637387;font-size:11px;font-weight:700}
.calendar-filter-label select{background:#fff;border:1px solid #e1e7ef;border-radius:9px;padding:7px 10px;font-size:12px;color:#384b60}
.calendar-legend{display:flex;align-items:center;gap:15px;flex-wrap:wrap;font-size:11px;color:#6a788b;padding:0 3px}
.cal-key{display:inline-block;vertical-align:middle;width:10px;height:10px;border-radius:3px;margin-right:4px;background:#e6eaef}
.cal-key.start{background:#6997c0}.cal-key.due{background:#e8a05f}.cal-key.ongoing{background:#9eacbc}.cal-key.done{background:#68a894}
.calendar-board{border:1px solid var(--line);border-radius:14px;overflow:auto;background:#fff;box-shadow:var(--shadow)}
.calendar-weekdays,.calendar-cells{display:grid;grid-template-columns:repeat(7,minmax(133px,1fr));min-width:931px}
.calendar-weekdays>div{text-align:center;padding:11px 6px;font-size:11px;font-weight:800;color:#738397;background:#f4f7fa;border-right:1px solid #edf0f4}
.calendar-cell{min-height:158px;border-right:1px solid #ebeff5;border-top:1px solid #ebeff5;padding:9px 7px 11px;min-width:0;background:#fff;display:flex;flex-direction:column;gap:6px}
.calendar-cell.outside{background:#f8fafc}
.calendar-cell.current{background:#fffcf8}
.calendar-cell.current .calendar-cell-date strong{color:#d66e34}
.calendar-cell-date{display:flex;gap:7px;align-items:center;text-align:left;background:transparent;border:0;color:#54667a;padding:1px 4px 6px;width:100%}
.calendar-cell-date strong{font-size:14px}.calendar-cell-date:hover strong{text-decoration:underline}
.calendar-cell-weekname{display:none;font-size:10px;text-transform:capitalize}
.calendar-today-label{background:#fce3d1;border-radius:9px;padding:2px 6px;color:#aa602f;font-weight:750;font-size:10px}
.calendar-cell-events{display:flex;flex-direction:column;gap:5px}
.calendar-week .calendar-cell{min-height:340px}
.calendar-week .calendar-cell-weekname{display:inline;color:#6b7888}
.calendar-task{display:flex;flex-direction:column;gap:3px;text-align:left;min-width:0;width:100%;border:1px solid #e2e8f0;border-left:3px solid #94a3b8;border-radius:9px;background:#f7f9fb;padding:11px 12px;color:#33465b}
.calendar-task:hover{background:#eff6fc;border-color:#bed0e2}
.calendar-task-name{font-size:12px;font-weight:750;line-height:1.4;overflow-wrap:anywhere}
.calendar-task-details{font-size:11px;color:#6e7c8e}
.calendar-task.compact{padding:6px 7px;gap:3px;border-radius:7px}
.calendar-task.compact .calendar-task-name{font-size:10px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.calendar-task.compact small{font-size:9px;color:#66788b;line-height:1.3}
.calendar-kind-start{border-left-color:#6997c0;background:#f4f8fd}
.calendar-kind-due,.calendar-kind-same{border-left-color:#e8a05f;background:#fff8ef}
.calendar-kind-ongoing{border-left-color:#9eacbc}
.calendar-task.calendar-done{border-left-color:#68a894;background:#f0faf5}
.calendar-task.calendar-done .calendar-task-name{text-decoration:line-through;color:#678077}
.calendar-task.calendar-overdue{border-left-color:#c7525d;background:#fff4f4}
.calendar-more{border:0;background:transparent;text-align:left;color:#be6c33;font-size:10px;font-weight:750;padding:5px 3px}
.calendar-more:hover{text-decoration:underline}
.calendar-day-panel{padding:23px;max-width:1000px}
.calendar-day-panel .content-head h2{text-transform:capitalize}
.calendar-day-list{display:flex;flex-direction:column;gap:8px}
.calendar-day-list .calendar-task{padding:14px 16px}
.calendar-empty{background:#f7f9fb;border:1px dashed #dae2eb;border-radius:12px;padding:32px 20px;text-align:center;color:#6b7b8d;font-size:13px}
.calendar-undated{margin-top:19px;border-top:1px solid #e9eef2;padding-top:14px}
.calendar-undated summary{cursor:pointer;font-size:12px;font-weight:700;color:#647389}
.calendar-undated .calendar-day-list{margin-top:13px}
@media(max-width:1040px){.calendar-toolbar-controls{width:100%;justify-content:space-between}.calendar-filter-label{margin-left:0}}
@media(max-width:600px){.calendar-toolbar.panel{padding:16px}.calendar-toolbar-title h2{font-size:19px}.calendar-toolbar-controls{align-items:flex-start}.calendar-navigator{flex-wrap:wrap}.calendar-summary{gap:6px}.calendar-summary>span{padding:7px 9px}.calendar-filter-label{width:100%}.calendar-board{border-radius:10px}.calendar-day-panel{padding:16px}}


/* Foco360 0.7: siete escalas Gantt y barras ajustadas a fechas exactas. */
.gantt-v07-page{display:flex;flex-direction:column;gap:14px}
.gantt-v07-toolbar.panel{padding:20px 22px;display:flex;flex-direction:column;gap:16px}
.gantt-v07-heading h2{font-size:21px;letter-spacing:-.5px;margin:7px 0 4px}
.gantt-v07-heading p{color:var(--sub);font-size:12px;margin:0}
.gantt-v07-switch{display:flex;flex-wrap:wrap;gap:5px;background:#f1f4f7;padding:5px;border-radius:13px;width:fit-content}
.gantt-v07-switch button{border:0;border-radius:9px;padding:9px 13px;background:transparent;color:#62748a;font-size:12px;font-weight:750}
.gantt-v07-switch button.active{background:#283e54;color:#fff;box-shadow:0 2px 7px #1e344229}
.gantt-v07-navigation{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.gantt-v07-navigation .btn{min-height:38px;padding:8px 12px}
.gantt-v07-date-label,.gantt-v07-filter-label{display:flex;align-items:center;gap:7px;color:#6c7a89;font-size:11px;font-weight:750;margin-left:6px}
.gantt-v07-date-label input,.gantt-v07-filter-label select{min-height:37px;border:1px solid #dbe3eb;border-radius:9px;background:#fff;color:#384a5e;padding:7px 9px;max-width:153px}
.gantt-v07-summary{display:flex;gap:9px;flex-wrap:wrap}
.gantt-v07-summary>span{display:flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid var(--line);background:#fff;color:#6c7a88;font-size:11px;border-radius:10px}
.gantt-v07-summary b{font-size:16px;color:#29394c}
.gantt-v07-legend{margin:0}.gantt-v07-scroll{overflow-x:auto;overflow-y:visible;background:#fff;border:1px solid #e2e9f0;border-radius:13px;box-shadow:var(--shadow)}
.gantt-v07-grid{display:grid;grid-template-columns:270px repeat(var(--n),minmax(0,1fr));width:100%;position:relative}
.gantt-v07-cell{border-right:1px solid #edf1f5;border-bottom:1px solid #edf1f5;height:57px;min-width:0;box-sizing:border-box}
.gantt-v07-corner,.gantt-v07-head{height:55px;display:flex;align-items:center;justify-content:center;background:#f2f6fa;font-size:11px;font-weight:750;color:#5b6b7d;padding:8px;white-space:nowrap}
.gantt-v07-corner{position:sticky;left:0;z-index:6;justify-content:flex-start;border-right:1px solid #dbe2e9;padding-left:16px}
.gantt-v07-head.current{background:#fff1e4;color:#9b602e}
.gantt-v07-name{position:sticky;left:0;z-index:5;background:#fff;display:flex;justify-content:center;flex-direction:column;align-items:flex-start;text-align:left;border-top:0;cursor:pointer;border-left:0;color:#32465a;gap:3px;overflow:hidden}
.gantt-v07-name:hover{background:#f7fafc}.gantt-v07-name-title{font-size:11px;font-weight:730;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%}
.gantt-v07-name small{font-size:10px;color:#8998a7}
.gantt-v07-name.is-done .gantt-v07-name-title{text-decoration:line-through;color:#72857b}
.gantt-v07-name.is-late small{color:#bb5059}.gantt-v07-bg{background:#fff}
.gantt-v07-track{position:relative;z-index:2;min-height:57px;pointer-events:none}
.gantt-v07-todayline{position:absolute;z-index:2;top:0;bottom:0;border-left:2px solid #d46b35;pointer-events:none}
.gantt-v07-bar{position:absolute;z-index:3;min-width:7px;top:17px;height:23px;border:1px solid #e3ad81;border-radius:6px;background:#e9ba8e;overflow:hidden;padding:0;cursor:pointer;pointer-events:auto}
.gantt-v07-bar:hover,.gantt-v07-bar:focus-visible{outline:2px solid #516c88;outline-offset:2px}
.gantt-v07-actual{position:absolute;top:0;bottom:0;left:0;background:#3c987c}
.gantt-v07-expected{position:absolute;z-index:3;top:0;bottom:0;border-left:2px dashed #2c4157}
.gantt-v07-baseline{position:absolute;bottom:0;left:0;right:0;height:2px;background:#b37b4d}
.gantt-v07-bar.is-late{border-color:#cb7477;background:#f0b3b3}
.gantt-v07-bar.is-done{border-color:#79aa92;background:#c0e1ce}
.gantt-v07-bar.is-blocked{border-color:#ce6b6b;background:#e9abab}
.gantt-v07-bar.clipped-start{border-top-left-radius:0;border-bottom-left-radius:0}
.gantt-v07-bar.clipped-end{border-top-right-radius:0;border-bottom-right-radius:0}
.gantt-v07-no-tasks{border:1px dashed #e2e9f0;border-radius:12px;padding:28px;text-align:center;color:#8592a0;background:#fff}
@media(max-width:680px){.gantt-v07-toolbar.panel{padding:16px}.gantt-v07-switch{width:100%}.gantt-v07-switch button{flex:1 1 auto;padding:8px 10px;font-size:11px}.gantt-v07-navigation{gap:5px}.gantt-v07-date-label,.gantt-v07-filter-label{margin-left:0}.gantt-v07-heading h2{font-size:19px}}


/* Foco360 v0.8 · Identidad personal, avatar y fotografía de perfil */
#profileBtn.avatar{background:transparent;width:42px;height:42px;padding:0;border:0;border-radius:50%;flex:none}
#profileBtn.avatar:focus-visible{outline:3px solid #dc743b;outline-offset:3px}
.profile-avatar{--avatar-color:#E6A16C;display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;flex-shrink:0;width:38px;height:38px;overflow:hidden;border:2px solid #ffffffb8;background:var(--avatar-color);border-radius:50%;color:#fff;font-size:17px;font-weight:850;line-height:1;box-shadow:0 1px 6px #23374b1f}
.profile-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.profile-avatar-tiny{width:22px;height:22px;font-size:10px;border-width:1px;box-shadow:none}
.profile-avatar-large{width:93px;height:93px;font-size:40px;border-width:4px;box-shadow:0 6px 18px #1b2a4020}
.profile-person{display:inline-flex;align-items:center;gap:7px}
.task-meta .profile-avatar{margin-right:3px}
.profile-intro{display:flex;align-items:center;gap:18px;padding:15px;border-radius:13px;background:linear-gradient(110deg,#fff4e9,#f5f8fc);border:1px solid #f0e6dd}
.profile-intro strong{font-size:16px;color:#2a3c50}.profile-intro p{font-size:12px;color:#6c7a89;line-height:1.5;margin:5px 0 0}
.profile-readonly{display:flex;flex-direction:column;gap:4px;background:#f6f8fa;border:1px solid #e5eaf0;padding:12px;border-radius:11px}
.profile-readonly span{color:#596d81;font-size:11px;font-weight:750}.profile-readonly strong{font-size:13px;overflow-wrap:anywhere}.profile-readonly small{font-size:10px;color:#8a98a7}
.profile-fieldset{border:1px solid #e1e8ef;border-radius:13px;margin:0;padding:16px 15px;display:flex;flex-direction:column;gap:13px}
.profile-fieldset legend{font-size:12px;color:#526780;font-weight:800;padding:0 6px}
.profile-mode-row{display:flex;gap:6px;flex-wrap:wrap}
.profile-choice{flex:1;border:1px solid #dce3eb;border-radius:9px;background:#fff;color:#586b80;min-height:38px;font-size:12px;font-weight:750;padding:7px 8px}
.profile-choice.selected{border-color:#dc743b;background:#fff1e6;color:#a65722;box-shadow:0 0 0 2px #eaa97924}
.profile-emoji-grid{display:flex;flex-wrap:wrap;gap:7px}
.profile-emoji-btn{width:42px;height:42px;background:#fff;border:1px solid #e1e7ee;border-radius:12px;font-size:24px;display:grid;place-items:center}
.profile-emoji-btn.selected{background:#fff1e6;border-color:#dc743b;box-shadow:0 0 0 2px #eaa97924}
.profile-color-row{display:flex;flex-wrap:wrap;gap:9px}
.profile-color-btn{width:31px;height:31px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #d8e0e7}
.profile-color-btn.selected{box-shadow:0 0 0 3px #2b3e53}
.profile-upload{background:#f4f8fc;border:1px dashed #bac9d8;padding:13px 14px;border-radius:11px;display:flex;flex-direction:column;gap:7px;color:#41576b;font-size:12px;font-weight:750;cursor:pointer}
.profile-upload input[type="file"]{width:100%;max-width:100%;font-size:11px;color:#607186}
.profile-fieldset p{font-weight:400;font-size:11px;line-height:1.5;margin:0}
@media(max-width:600px){.profile-intro{gap:12px;padding:11px}.profile-avatar-large{width:75px;height:75px;font-size:32px}.profile-emoji-btn{width:39px;height:39px}.profile-fieldset{padding:12px}.profile-choice{min-width:80px}}


/* Foco360 v0.9 · tablero personal y vista directiva */
.dashboard-page{max-width:1320px;margin:auto;display:flex;flex-direction:column;gap:16px}
.dashboard-intro{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;background:linear-gradient(112deg,#fff,#f8fafc);padding:22px}
.dashboard-intro h2{font-size:24px;letter-spacing:-.65px;margin:7px 0}
.dashboard-intro p{font-size:12px;color:var(--sub);margin:0}
.dashboard-scope{display:flex;gap:4px;background:#eff3f6;border-radius:11px;padding:4px}
.dashboard-scope button{border:0;background:transparent;padding:9px 14px;border-radius:9px;font-size:12px;font-weight:800;color:#52657a}
.dashboard-scope button.active{background:#283a4d;color:white;box-shadow:0 2px 10px #20354620}
.dashboard-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px}
.dashboard-kpi{border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow);text-align:left;min-height:92px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;color:#6b7b8c;gap:7px}
.dashboard-kpi span{font-size:11px;font-weight:750}
.dashboard-kpi strong{font-size:28px;color:#263b51;line-height:1.1}
.dashboard-kpi.active{border-color:#e89961;background:#fff9f3;box-shadow:0 0 0 2px #e68b4e29}
.dashboard-kpi.critical strong{color:#bb4e59}
.dashboard-list{padding:20px}
.dashboard-list .content-head{flex-wrap:wrap}
.dashboard-list-filter{display:flex;align-items:center;gap:9px;color:#69798b;font-size:11px;font-weight:750}
.dashboard-list-filter select{border:1px solid #dce4ed;border-radius:9px;padding:9px;background:white;max-width:200px}
.dashboard-items{display:flex;flex-direction:column;gap:0;border-top:1px solid #edf1f5}
.dashboard-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(128px,190px) 90px 14px;gap:14px;align-items:center;width:100%;min-height:73px;border:0;border-bottom:1px solid #edf1f5;padding:13px 10px;background:white;text-align:left;color:#3b4d61}
.dashboard-item:hover,.dashboard-item:focus-visible{background:#f7fafc;outline:0}
.dashboard-item:focus-visible{box-shadow:inset 0 0 0 2px #a3c3dc}
.dashboard-item-main{display:flex;flex-direction:column;gap:5px;min-width:0}
.dashboard-item-main strong{font-size:12px;font-weight:750;line-height:1.4;overflow-wrap:anywhere}
.dashboard-item-main small{font-size:11px;color:#728298}
.dashboard-item-due{font-size:11px;color:#7b8998}
.dashboard-item-status{font-size:10px;border-radius:8px;background:#ecf0f4;color:#62768c;padding:6px 8px;justify-self:start;font-weight:800;white-space:nowrap}
.dashboard-item-status.overdue{background:#ffe7e8;color:#a5454b}
.dashboard-item-status.blocked{background:#fff0d8;color:#986c20}
.dashboard-item-status.upcoming{background:#e8f2fc;color:#477aa5}
.dashboard-item-status.done{background:#e5f4ec;color:#367d60}
.dashboard-item-arrow{font-size:23px;color:#98a5b3;text-align:right}
.dashboard-empty{text-align:center;padding:40px 15px;color:#718195}
.dashboard-empty strong{color:#3b4e61;font-size:14px}
.dashboard-empty p{font-size:12px}
@media(max-width:770px){
 .dashboard-item{grid-template-columns:minmax(0,1fr) 100px;row-gap:6px}
 .dashboard-item-due{grid-column:1;grid-row:2}
 .dashboard-item-status{grid-column:2;grid-row:1}
 .dashboard-item-arrow{display:none}
 .dashboard-intro{padding:17px}
 .dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:430px){
 .dashboard-list{padding:13px}
 .dashboard-kpi{padding:12px;min-height:79px}
 .dashboard-kpi strong{font-size:24px}
 .dashboard-item{padding:12px 5px;gap:8px}
 .dashboard-item-status{font-size:9px}
}


/* Foco360 v0.10: configuración y modo oscuro real, sin invertir fotografías. */
.settings-page{max-width:1220px;margin:auto;display:flex;flex-direction:column;gap:16px}
.settings-intro{padding:24px;background:linear-gradient(115deg,#fff,#f8fafc)}
.settings-intro h2{font-size:25px;letter-spacing:-.7px;margin:8px 0}
.settings-intro p{color:var(--sub);font-size:12px;margin:0;max-width:720px}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.settings-panel{display:flex;flex-direction:column;gap:12px;padding:23px}
.settings-panel h3{font-size:16px;margin:0;color:var(--ink)}
.settings-panel p{font-size:12px;color:var(--sub);line-height:1.6;margin:0}
.settings-panel>.btn{align-self:flex-start;margin-top:auto}
.settings-profile{display:flex;align-items:center;gap:16px}
.settings-profile div{display:flex;flex-direction:column;gap:4px;min-width:0}
.settings-profile strong{font-size:16px;overflow-wrap:anywhere}
.settings-profile small{font-size:11px;color:var(--sub);overflow-wrap:anywhere}
.settings-theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:4px}
.settings-theme-options button{border:1px solid var(--line);border-radius:12px;padding:18px 8px;min-height:90px;background:var(--panel);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-size:12px}
.settings-theme-options button.selected{border:2px solid #dd8549;background:color-mix(in srgb,var(--panel),#e58a4a 9%);box-shadow:0 0 0 2px #e58a4a25}
.settings-theme-options button:focus-visible{outline:2px solid #e38e50;outline-offset:2px}
.settings-theme-icon{font-size:25px}
.settings-home-label{font-size:12px;font-weight:750;color:var(--ink);display:flex;flex-direction:column;gap:8px}
.settings-home-label select{max-width:440px}
.settings-note{font-size:11px!important;margin-top:0!important}
@media(max-width:750px){
 .settings-grid{grid-template-columns:1fr}
 .settings-intro,.settings-panel{padding:17px}
 .settings-intro h2{font-size:21px}
}
@media(max-width:850px){
 /* La organización debe seguir siendo seleccionable en teléfonos. */
 .sidebar .sel-dark{display:block;width:100%;margin-bottom:8px}
 .sidebar .sidetitle{display:block;margin:3px 0 5px}
 .sidebar nav{margin-top:10px}
}
@media(max-width:430px){
 .settings-theme-options button{padding:12px 5px;min-height:80px}
 .settings-profile .profile-avatar-large{width:66px;height:66px}
}

/* Paleta oscura aplicada únicamente a superficies de interfaz. */
:root[data-theme="dark"]{
 --bg:#101a28;--panel:#1b2939;--ink:#eaf2f9;--sub:#aabed0;
 --line:#3a4c61;--nav:#0c1725;--nav2:#1d3046;
 --shadow:0 7px 25px #0004;
 color-scheme:dark;
}
:root[data-theme="dark"] .main,
:root[data-theme="dark"] .content{color:var(--ink)}
:root[data-theme="dark"] .topbar,
:root[data-theme="dark"] .panel,
:root[data-theme="dark"] .quad,
:root[data-theme="dark"] .stat-pill,
:root[data-theme="dark"] .kpi,
:root[data-theme="dark"] .kan-task,
:root[data-theme="dark"] .auth-card,
:root[data-theme="dark"] .drawer,
:root[data-theme="dark"] .modal,
:root[data-theme="dark"] .notification-panel,
:root[data-theme="dark"] .notification-item,
:root[data-theme="dark"] .calendar-board,
:root[data-theme="dark"] .calendar-cell,
:root[data-theme="dark"] .calendar-day-panel,
:root[data-theme="dark"] .calendar-summary>span,
:root[data-theme="dark"] .gantt-v07-scroll,
:root[data-theme="dark"] .gantt-v07-name,
:root[data-theme="dark"] .gantt-v07-bg,
:root[data-theme="dark"] .dashboard-kpi,
:root[data-theme="dark"] .dashboard-item,
:root[data-theme="dark"] .dashboard-intro,
:root[data-theme="dark"] .dashboard-empty,
:root[data-theme="dark"] .settings-intro,
:root[data-theme="dark"] .settings-panel,
:root[data-theme="dark"] .profile-emoji-btn,
:root[data-theme="dark"] .profile-choice,
:root[data-theme="dark"] .profile-readonly,
:root[data-theme="dark"] .profile-upload,
:root[data-theme="dark"] .profile-intro{
 background:var(--panel);border-color:var(--line);color:var(--ink)
}
:root[data-theme="dark"] .quad.colorful{
 background:linear-gradient(140deg,color-mix(in srgb,var(--quad-color),#1b2939 94%),var(--panel));
 border-color:color-mix(in srgb,var(--quad-color),var(--line) 75%);
}
:root[data-theme="dark"] .quad.colorful .quad-head{
 background:color-mix(in srgb,var(--quad-color),#1d2d3e 82%);border-bottom-color:var(--line)
}
:root[data-theme="dark"] .quad.colorful .quad-head h3,
:root[data-theme="dark"] .quad.colorful .quad-head p,
:root[data-theme="dark"] .greeting{color:var(--ink)}
:root[data-theme="dark"] .quad.colorful .quad-footer{background:color-mix(in srgb,var(--quad-color),var(--panel) 92%)}
:root[data-theme="dark"] .quad-collapse,
:root[data-theme="dark"] .chip,
:root[data-theme="dark"] .btn:not(.primary),
:root[data-theme="dark"] .calendar-view-switch,
:root[data-theme="dark"] .calendar-navigator button,
:root[data-theme="dark"] .gantt-v07-switch,
:root[data-theme="dark"] .dashboard-scope,
:root[data-theme="dark"] .bubble,
:root[data-theme="dark"] .calendar-weekdays>div,
:root[data-theme="dark"] .gantt-v07-head,
:root[data-theme="dark"] .gantt-v07-corner{
 background:#26394c;border-color:var(--line);color:var(--ink)
}
:root[data-theme="dark"] .btn.light{background:#26394c;color:var(--ink)}
:root[data-theme="dark"] .calendar-view-switch button.active,
:root[data-theme="dark"] .gantt-v07-switch button.active,
:root[data-theme="dark"] .dashboard-scope button.active,
:root[data-theme="dark"] .chip.active{background:#dc8447;color:#172437}
:root[data-theme="dark"] input,
:root[data-theme="dark"] textarea,
:root[data-theme="dark"] select,
:root[data-theme="dark"] .form-stack input,
:root[data-theme="dark"] .form-stack textarea,
:root[data-theme="dark"] .calendar-navigator input[type="date"],
:root[data-theme="dark"] .gantt-v07-date-label input,
:root[data-theme="dark"] .gantt-v07-filter-label select,
:root[data-theme="dark"] .settings-home-label select,
:root[data-theme="dark"] .dashboard-list-filter select,
:root[data-theme="dark"] .calendar-filter-label select{
 color:var(--ink);background:#233549;border-color:#4b5e71
}
:root[data-theme="dark"] input::placeholder,
:root[data-theme="dark"] textarea::placeholder{color:#94a9ba}
:root[data-theme="dark"] .form-stack label,
:root[data-theme="dark"] .field label,
:root[data-theme="dark"] .settings-home-label,
:root[data-theme="dark"] .settings-list-filter{color:var(--ink)}
:root[data-theme="dark"] .task-title,
:root[data-theme="dark"] .dashboard-item,
:root[data-theme="dark"] .dashboard-item-main strong,
:root[data-theme="dark"] .dashboard-kpi strong,
:root[data-theme="dark"] .stat-pill strong,
:root[data-theme="dark"] .calendar-task-name,
:root[data-theme="dark"] .gantt-v07-name-title,
:root[data-theme="dark"] .settings-panel h3{color:var(--ink)}
:root[data-theme="dark"] .task-line:hover,
:root[data-theme="dark"] .dashboard-item:hover,
:root[data-theme="dark"] .notification-item.unread{background:#304358}
:root[data-theme="dark"] .task-line,
:root[data-theme="dark"] .task-table th,
:root[data-theme="dark"] .task-table td,
:root[data-theme="dark"] .dashboard-item,
:root[data-theme="dark"] .gantt-v07-cell,
:root[data-theme="dark"] .calendar-cell,
:root[data-theme="dark"] .calendar-weekdays>div{border-color:var(--line)}
:root[data-theme="dark"] .calendar-cell.outside{background:#172536}
:root[data-theme="dark"] .calendar-cell.current{background:#332d2a}
:root[data-theme="dark"] .calendar-task{background:#26394b;border-color:#476079;color:var(--ink)}
:root[data-theme="dark"] .calendar-task.calendar-kind-due,
:root[data-theme="dark"] .calendar-task.calendar-kind-same{background:#3d352e;border-left-color:#e8a05f}
:root[data-theme="dark"] .calendar-task.calendar-done{background:#203d39}
:root[data-theme="dark"] .calendar-task.calendar-overdue{background:#422d35}
:root[data-theme="dark"] .gantt-v07-bar{background:#e9ba8e}
:root[data-theme="dark"] .kan-col{background:#213245}
:root[data-theme="dark"] .bubble.mine{background:#423529}
:root[data-theme="dark"] .profile-emoji-btn.selected,
:root[data-theme="dark"] .profile-choice.selected{background:#46372c;border-color:#e48d52}
:root[data-theme="dark"] .dashboard-kpi.active{background:#3a302b;border-color:#db864e}
:root[data-theme="dark"] .dashboard-item-status{background:#2c4354;color:#dae9f5}
:root[data-theme="dark"] .dashboard-item-status.overdue{background:#542f3a;color:#ffc3c9}
:root[data-theme="dark"] .dashboard-item-status.upcoming{background:#284863;color:#c4e1fa}
:root[data-theme="dark"] .dashboard-item-status.blocked{background:#4c422d;color:#f5d293}
:root[data-theme="dark"] .focus-intro{background:linear-gradient(110deg,#27374b,#2e3340)}
:root[data-theme="dark"] .focus-editor,
:root[data-theme="dark"] .calendar-empty,
:root[data-theme="dark"] .dashboard-empty{background:#1e2e40;color:var(--sub);border-color:var(--line)}
:root[data-theme="dark"] .info-line,
:root[data-theme="dark"] .notice{background:#294054;color:#d0e0ee;border-color:var(--line)}
:root[data-theme="dark"] .badge{background:#2b4358;color:#dceaf7}
:root[data-theme="dark"] .badge.good{background:#234b40;color:#b5ead4}
:root[data-theme="dark"] .badge.bad{background:#56353a;color:#ffccd0}
:root[data-theme="dark"] .settings-theme-options button.selected{background:#42372f}


/* Foco360 v0.11 — Informes ejecutivos verificables, impresión A4 y móviles */
.reports-page{display:flex;flex-direction:column;gap:19px;max-width:1380px;margin:auto}
.reports-toolbar.panel{padding:24px;display:flex;flex-direction:column;gap:16px}
.reports-toolbar h2{font-size:23px;letter-spacing:-.7px;margin:7px 0}
.reports-toolbar p{font-size:12px;color:var(--sub);max-width:900px;line-height:1.65;margin:0}
.reports-form{display:grid;grid-template-columns:repeat(5,minmax(125px,1fr));align-items:end;gap:11px}
.reports-form label{font-size:11px;font-weight:770;display:flex;flex-direction:column;gap:7px;color:var(--sub);min-width:0}
.reports-form select,.reports-form input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--panel);padding:8px 9px}
.reports-form .btn{min-height:42px;grid-column:1/-1;justify-self:start;min-width:190px}
.reports-toolbar .reports-notice{font-size:11px;color:var(--sub);border-top:1px solid var(--line);padding-top:12px}
.reports-welcome.panel{text-align:center;padding:43px 20px;color:var(--sub)}
.reports-welcome-symbol{display:grid;place-items:center;width:65px;height:65px;border-radius:18px;background:#fff0e7;color:#ce733b;font-size:38px;margin:0 auto 14px}
.reports-welcome h3{color:var(--ink);font-size:17px;margin:0 0 5px}
.reports-welcome p{max-width:540px;margin:0 auto;font-size:12px;line-height:1.6}
.reports-actionbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.reports-actionbar strong{font-size:12px;color:var(--sub)}
.reports-document{background:#fff;color:#253447;border:1px solid #e0e6ee;box-shadow:0 12px 38px #1c34411b;border-radius:13px;padding:clamp(20px,3.5vw,52px);line-height:1.55;max-width:1100px;margin:auto;width:100%}
.report-document-head{display:flex;justify-content:space-between;gap:26px;align-items:flex-start;border-bottom:3px solid #e68145;padding-bottom:27px}
.report-brand{font-size:16px;color:#c87038;font-weight:800;letter-spacing:.5px}
.report-brand strong{color:#2d3e51}.report-brand strong span{color:#e68145}
.report-eyebrow{font-weight:850;color:#d3814c;letter-spacing:1.4px;font-size:9px;margin:28px 0 7px}
.report-document-head h2{font-size:clamp(22px,2.5vw,30px);line-height:1.2;letter-spacing:-.7px;max-width:630px;color:#253447;margin:0 0 15px}
.report-document-head p{font-size:11px;color:#698093;margin:4px 0}
.report-cover-mark{flex-shrink:0;font-size:10px;font-weight:800;letter-spacing:1.2px;color:#db8b4e;border:1px solid #f0d9c6;background:#fff6ee;padding:18px 15px;border-radius:12px;text-align:right}
.report-cover-mark span{display:block;margin-top:15px;color:#2c4055;font-size:16px;letter-spacing:0}
.report-executive{border-radius:12px;background:#f4f8fc;padding:22px;margin:26px 0 19px}
.report-executive h3,.report-section h3,.report-methodology h3{font-size:15px;margin:0 0 11px;color:#253d50}
.report-executive p{font-size:12px;color:#435c70;line-height:1.72;margin:8px 0}
.report-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:19px 0 28px}
.report-kpi{border:1px solid #e2e8ef;border-radius:11px;padding:15px 12px;display:flex;flex-direction:column;gap:7px;background:#fff}
.report-kpi span{font-size:10px;font-weight:730;color:#6c7e90}.report-kpi strong{font-size:26px;font-weight:840;color:#2a4054}
.report-section{margin:27px 0;break-inside:auto}
.report-section h3{border-bottom:1px solid #e2e7ec;padding-bottom:9px}
.report-section-caption{color:#65788c;font-size:11px;margin:0 0 13px}
.report-table-scroll{overflow-x:auto}
.report-table{border-collapse:collapse;min-width:580px;width:100%;font-size:11px;color:#30465b}
.report-table th{background:#eef3f7;color:#51677c;font-weight:800;font-size:10px;text-align:left}
.report-table th,.report-table td{border-bottom:1px solid #e5ecf1;padding:9px 10px;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.report-table tr{break-inside:avoid}
.report-status{padding:4px 7px;border-radius:8px;font-size:9px;font-weight:800;color:#577089;background:#edf3f7;white-space:nowrap}
.report-status.good{background:#e2f4eb;color:#3b8669}.report-status.warn{background:#fff1db;color:#aa761d}
.report-empty{font-size:12px;color:#7c8a98;font-style:italic;padding:12px 0}
.report-methodology{background:#f8f9fb;border-radius:11px;padding:18px 19px;margin-top:32px}
.report-methodology p{font-size:10px;color:#697b89;margin:8px 0;line-height:1.6}
.report-footer{margin-top:30px;padding-top:12px;border-top:1px solid #e0e7ec;color:#83909d;font-size:9px}
.report-limited{background:#fff0db;color:#925b19;font-size:11px;padding:13px;border:1px solid #e7d0a9;border-radius:9px;margin:17px 0}
@media(max-width:920px){.reports-form{grid-template-columns:repeat(3,minmax(0,1fr))}.report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.reports-toolbar.panel{padding:16px}.reports-form{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-form label:first-child,.reports-form label:nth-child(3){grid-column:1/-1}.reports-form .btn{width:100%}.report-document-head{flex-direction:column}.report-cover-mark{display:none}.reports-document{padding:18px}.report-kpis{gap:6px}.report-kpi{padding:11px 9px}.report-kpi strong{font-size:21px}}
:root[data-theme="dark"] .reports-toolbar,
:root[data-theme="dark"] .reports-welcome.panel{background:var(--panel);border-color:var(--line)}
:root[data-theme="dark"] .reports-form select,
:root[data-theme="dark"] .reports-form input{background:#233549;color:var(--ink);border-color:#4b5e71}
:root[data-theme="dark"] .reports-document{background:#fff;color:#253447}
@page{size:A4; margin:13mm}
@media print{
 html,body{background:#fff!important;color:#253447!important;font-size:10pt!important}
 .app{display:block!important;min-height:0!important}
 .sidebar,.topbar,.reports-toolbar,.reports-actionbar,.reports-welcome,#alert,#taskDrawer,#drawerBackdrop,#modal,.notification-panel{display:none!important}
 .main,.content,.reports-page{display:block!important;padding:0!important;margin:0!important;max-width:none!important}
 .reports-document{display:block!important;max-width:none!important;width:100%!important;padding:0!important;margin:0!important;background:#fff!important;color:#253447!important;border:0!important;box-shadow:none!important;border-radius:0!important}
 .report-document-head{break-after:avoid}
 .report-executive,.report-kpis,.report-kpi,.report-methodology{break-inside:avoid}
 .report-section{break-before:auto}
 .report-table-scroll{overflow:visible!important}
 .report-table{min-width:0!important;width:100%!important;font-size:8pt!important}
 .report-table th,.report-table td{padding:6px 7px!important}
 .report-executive,.report-methodology{print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .report-kpi{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}


.report-recommendations{margin:26px 0 22px;padding:20px;border:1px solid #e4eaf0;border-left:4px solid #df8e52;border-radius:10px;background:#fffaf4;break-inside:avoid}
.report-recommendations h3{font-size:15px;color:#253d50;margin:0 0 10px}
.report-recommendations ol{padding-left:19px;font-size:11px;color:#445b6d;line-height:1.65;margin:0}
.report-recommendations li{margin:6px 0}
.report-recommendations p{font-size:10px;color:#8b785e;margin:10px 0 0}
@media print{.report-recommendations{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
