@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-pro-cyrillic-ext-400-normal-BZJRkJ55.woff2)format("woff2"),url(/assets/source-sans-pro-cyrillic-ext-400-normal-DtD_g0fW.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-pro-cyrillic-400-normal-Bo6gnWEs.woff2)format("woff2"),url(/assets/source-sans-pro-cyrillic-400-normal-h6inArLS.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-pro-greek-ext-400-normal-DurV-KM9.woff2)format("woff2"),url(/assets/source-sans-pro-greek-ext-400-normal-BfIWL1p1.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-pro-greek-400-normal-CZJmCPdY.woff2)format("woff2"),url(/assets/source-sans-pro-greek-400-normal-C-qB9CTB.woff)format("woff");unicode-range:U+370-3FF}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-pro-vietnamese-400-normal-DmpbtSrx.woff2)format("woff2"),url(/assets/source-sans-pro-vietnamese-400-normal-C_X2WPHN.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-pro-latin-ext-400-normal-b0izRs8p.woff2)format("woff2"),url(/assets/source-sans-pro-latin-ext-400-normal-B4yavu5O.woff)format("woff");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-pro-latin-400-normal-tpsLXCSJ.woff2)format("woff2"),url(/assets/source-sans-pro-latin-400-normal-R7DZS9ko.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-pro-cyrillic-ext-600-normal-qEDpwGRt.woff2)format("woff2"),url(/assets/source-sans-pro-cyrillic-ext-600-normal-BLUySEgx.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-pro-cyrillic-600-normal-7IW-0rI7.woff2)format("woff2"),url(/assets/source-sans-pro-cyrillic-600-normal-C6gpv_4y.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-pro-greek-ext-600-normal-Bk3oygDb.woff2)format("woff2"),url(/assets/source-sans-pro-greek-ext-600-normal-Bk3wWfL4.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-pro-greek-600-normal-DufzpiO_.woff2)format("woff2"),url(/assets/source-sans-pro-greek-600-normal-CNXbxSoy.woff)format("woff");unicode-range:U+370-3FF}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-pro-vietnamese-600-normal-B_7vbVAt.woff2)format("woff2"),url(/assets/source-sans-pro-vietnamese-600-normal-DJqX7dzL.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-pro-latin-ext-600-normal-XGkkjFz7.woff2)format("woff2"),url(/assets/source-sans-pro-latin-ext-600-normal-BgwKN7TX.woff)format("woff");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-pro-latin-600-normal-BM2CBz6W.woff2)format("woff2"),url(/assets/source-sans-pro-latin-600-normal-CjV2-MXP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-pro-cyrillic-ext-700-normal-CMNOJ5Qm.woff2)format("woff2"),url(/assets/source-sans-pro-cyrillic-ext-700-normal-C6lq_OUW.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-pro-cyrillic-700-normal-CkdS6a5a.woff2)format("woff2"),url(/assets/source-sans-pro-cyrillic-700-normal-DCJL43JV.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-pro-greek-ext-700-normal-sY5KVvyA.woff2)format("woff2"),url(/assets/source-sans-pro-greek-ext-700-normal-BXPp6Eqx.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-pro-greek-700-normal-Bq-mRDqF.woff2)format("woff2"),url(/assets/source-sans-pro-greek-700-normal-BCz9b4qF.woff)format("woff");unicode-range:U+370-3FF}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-pro-vietnamese-700-normal-f-Bm14rw.woff2)format("woff2"),url(/assets/source-sans-pro-vietnamese-700-normal-CwqTh6JM.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-pro-latin-ext-700-normal-Cf8nNWsm.woff2)format("woff2"),url(/assets/source-sans-pro-latin-ext-700-normal-yj0w5CKO.woff)format("woff");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-pro-latin-700-normal-DL7J4422.woff2)format("woff2"),url(/assets/source-sans-pro-latin-700-normal-BNdTgDH_.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/source-sans-pro-cyrillic-ext-900-normal-EVwx8ivJ.woff2)format("woff2"),url(/assets/source-sans-pro-cyrillic-ext-900-normal-Dbp51FtB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/source-sans-pro-cyrillic-900-normal-DwLXw91l.woff2)format("woff2"),url(/assets/source-sans-pro-cyrillic-900-normal-CS-PESon.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/source-sans-pro-greek-ext-900-normal-C68DDdDD.woff2)format("woff2"),url(/assets/source-sans-pro-greek-ext-900-normal-BA6jOxjZ.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/source-sans-pro-greek-900-normal-BDiCieeP.woff2)format("woff2"),url(/assets/source-sans-pro-greek-900-normal-HuQm4l0n.woff)format("woff");unicode-range:U+370-3FF}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/source-sans-pro-vietnamese-900-normal-KLff0KQC.woff2)format("woff2"),url(/assets/source-sans-pro-vietnamese-900-normal-VuaRBq_4.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/source-sans-pro-latin-ext-900-normal-Dw4p1fbJ.woff2)format("woff2"),url(/assets/source-sans-pro-latin-ext-900-normal-DAUQt5sY.woff)format("woff");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Source Sans Pro;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/source-sans-pro-latin-900-normal-BlJGVGIg.woff2)format("woff2"),url(/assets/source-sans-pro-latin-900-normal-C6W5l3D1.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,[data-theme=dark]{--bg-primary:#1e1e2c;--bg-secondary:#272938;--bg-card:#ffffff0a;--bg-card-hover:#ffffff12;--bg-glass:#ffffff0f;--border:#ffffff14;--border-hover:#ffffff26;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#a8b6c8;--accent:#3ecf8e;--accent-hover:#5fe3a8;--accent-glow:color-mix(in srgb, var(--accent) 30%, transparent);--accent-bg:color-mix(in srgb, var(--accent) 12%, transparent);--accent-bg-subtle:color-mix(in srgb, var(--accent) 6%, transparent);--accent-border:color-mix(in srgb, var(--accent) 30%, transparent);--accent-bg-hover:color-mix(in srgb, var(--accent) 15%, transparent);--prioritaria:#fb923c;--prioritaria-melon:#f9731638;--prioritaria-texto:#fed7aa;--prioritaria-tinte:#564d54;--prioritaria-bg:#f9731629;--hoy:#e8edf5;--hoy-texto:#1e1e2c;--hoy-tinte:#e8edf51a;--danger:#f43f5e;--success:#3ecf8e;--warning:#f5a623;--scrollbar-thumb:#ffffff1a;--scrollbar-hover:#fff3;--weekend-bg:#ffffff03;--weekend-text:#f43f5e73;--month-border:#ffffff1f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 2px 8px #0003;--shadow-md:0 4px 16px #0000004d;--shadow-lg:0 8px 32px #0006;--shadow-glow:0 0 20px var(--accent-glow);--transition:.15s ease;--transition-colors:color .15s ease, background-color .15s ease, border-color .15s ease, opacity .15s ease}[data-theme=dark] .day-cell{background:#272938}[data-theme=dark] .badge,[data-theme=dark] .badge.multi-bar{background:#404457!important}[data-theme=dark] .badge.badge-aus,[data-theme=dark] .badge.badge-aus-hoy,[data-theme=dark] .badge.multi-bar.badge-aus,[data-theme=dark] .badge.multi-bar.badge-aus-hoy{background:color-mix(in srgb, var(--aus-color,#0ea5e9) 28%, #404457)!important}[data-theme=dark] .badge.badge-completado,[data-theme=dark] .badge.multi-bar.badge-completado{background:#346262!important}[data-theme=dark] .badge.badge-estado,[data-theme=dark] .badge.multi-bar.badge-estado{background:color-mix(in srgb, var(--estado-tinte) 26%, #404457)!important}[data-theme=dark] .badge.badge-estado-suave,[data-theme=dark] .badge.multi-bar.badge-estado-suave{background:color-mix(in srgb, var(--estado-tinte) 12%, #404457)!important}[data-theme=dark] .badge.badge-prioritaria,[data-theme=dark] .badge.multi-bar.badge-prioritaria{background:var(--prioritaria-tinte)!important}[data-theme=light]{--bg-primary:#f8f9fa;--bg-secondary:#fff;--bg-card:#fff;--bg-card-hover:#f5f5f5;--bg-glass:#00000005;--border:#d4d4d4;--border2:#ecebeb;--border-hover:#bfbfbf;--text-primary:#171717;--text-secondary:#3f4854;--text-muted:#575757;--accent:#24b47e;--accent-hover:#38c793;--accent-glow:color-mix(in srgb, var(--accent) 10%, transparent);--accent-bg:color-mix(in srgb, var(--accent) 10%, transparent);--accent-bg-subtle:color-mix(in srgb, var(--accent) 5%, transparent);--accent-border:color-mix(in srgb, var(--accent) 25%, transparent);--accent-bg-hover:color-mix(in srgb, var(--accent) 12%, transparent);--prioritaria:#ea580c;--prioritaria-melon:#ffede3;--prioritaria-texto:#9a3412;--prioritaria-tinte:#fff4ec;--prioritaria-bg:#f973161a;--hoy:#1f2430;--hoy-texto:#fff;--hoy-tinte:#1f24300f;--danger:#e5484d;--success:#24b47e;--warning:#f5a623;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 2px 8px #0000000f;--shadow-lg:0 8px 24px #00000014;--shadow-glow:none;--scrollbar-thumb:#0000001a;--scrollbar-hover:#0000002e;--weekend-bg:#f43f5e14;--weekend-text:#e5484d;--month-border:#e6e6e6}[data-theme=light] .badge,[data-theme=light] .badge.multi-bar{box-shadow:0 5px 5px #0000001f;background:#fff!important}[data-theme=light] .badge:hover,[data-theme=light] .badge.multi-bar:hover{box-shadow:0 3px 12px #00000014}[data-theme=light] .badge.badge-aus,[data-theme=light] .badge.badge-aus-hoy,[data-theme=light] .badge.multi-bar.badge-aus,[data-theme=light] .badge.multi-bar.badge-aus-hoy{background:color-mix(in srgb, var(--aus-color,#0ea5e9) 15%, #fff)!important}[data-theme=light] .badge.badge-completado,[data-theme=light] .badge.multi-bar.badge-completado{background:#dbf5ec!important}[data-theme=light] .badge.badge-estado,[data-theme=light] .badge.multi-bar.badge-estado{background:color-mix(in srgb, var(--estado-tinte) 15%, #fff)!important}[data-theme=light] .badge.badge-estado-suave,[data-theme=light] .badge.multi-bar.badge-estado-suave{background:color-mix(in srgb, var(--estado-tinte) 6%, #fff)!important}[data-theme=light] .badge.badge-prioritaria,[data-theme=light] .badge.multi-bar.badge-prioritaria{background:var(--prioritaria-tinte)!important}[data-theme=light] .badge-title{color:var(--text-primary)}[data-theme=light] .badge-client-corner{opacity:.8}[data-theme=light] .badge-client-corner.empty{opacity:0}[data-theme=light] .badge:hover .badge-client-corner.empty{opacity:.4}[data-theme=light] .badge-desc{color:var(--text-secondary)}[data-theme=light] .badge-context-menu{border:1px solid var(--border);background:#fff;box-shadow:0 6px 20px #0000001a}[data-theme=light] .bcm-item{color:var(--text-secondary)}[data-theme=light] .bcm-item:hover{background:var(--bg-card-hover);color:var(--text-primary)}[data-theme=light] .badge-menu-btn{border-color:var(--border);background:#fff}[data-theme=light] .badge-close{background:#e5484d14}[data-theme=light] .day-cell{background:#e6eaed;border:none;border-radius:10px}[data-theme=light] .day-cell:hover{background:#ebebeb}[data-theme=light] .day-cell.is-over{background:var(--accent-bg-subtle)}[data-theme=light] .day-number{color:var(--text-secondary)}[data-theme=light] .calendar-title{-webkit-text-fill-color:var(--text-primary)}[data-theme=light] .sidebar{border-right:1px solid var(--border);background:#fafafa}[data-theme=light] .sidebar-header h1{color:var(--text-primary)}[data-theme=light] .drop-zone{border-color:var(--border);background:var(--bg-card-hover)}[data-theme=light] .summary-panel{border-color:var(--border);background:#fff}[data-theme=light] .multi-bar{box-shadow:0 1px 3px #0000000d}[data-theme=light] .multi-bar:hover{box-shadow:0 3px 12px #00000014}[data-theme=light] .tl-cell,[data-theme=light] .tl-cell.inactive-day{background:#e6eaed}:root,[data-scale="3"]{--fs-xs:12px;--fs-sm:14px;--fs-md:15px;--fs-lg:18px;--fs-xl:26px;--fs-badge:14px;--fs-select:11px;--fs-days:11px;--fs-weekday:12px;--fs-daynum:14px;--fs-desc:12px;--fs-client:11px;--fs-icon:22px}[data-scale="1"]{--fs-xs:9px;--fs-sm:11px;--fs-md:12px;--fs-lg:14px;--fs-xl:20px;--fs-badge:11px;--fs-select:9px;--fs-days:9px;--fs-weekday:9px;--fs-daynum:11px;--fs-desc:9px;--fs-client:9px;--fs-icon:17px}[data-scale="2"]{--fs-xs:10px;--fs-sm:12px;--fs-md:13px;--fs-lg:16px;--fs-xl:23px;--fs-badge:12px;--fs-select:12px;--fs-days:10px;--fs-weekday:10px;--fs-daynum:12px;--fs-desc:10px;--fs-client:10px;--fs-icon:19px}[data-scale="4"]{--fs-xs:14px;--fs-sm:16px;--fs-md:17px;--fs-lg:21px;--fs-xl:30px;--fs-badge:16px;--fs-select:13px;--fs-days:13px;--fs-weekday:14px;--fs-daynum:16px;--fs-desc:14px;--fs-client:13px;--fs-icon:25px}[data-scale="5"]{--fs-xs:16px;--fs-sm:18px;--fs-md:20px;--fs-lg:24px;--fs-xl:34px;--fs-badge:18px;--fs-select:14px;--fs-days:14px;--fs-weekday:16px;--fs-daynum:18px;--fs-desc:16px;--fs-client:14px;--fs-icon:29px}[data-scale="6"]{--fs-xs:18px;--fs-sm:21px;--fs-md:23px;--fs-lg:27px;--fs-xl:39px;--fs-badge:21px;--fs-select:17px;--fs-days:17px;--fs-weekday:18px;--fs-daynum:21px;--fs-desc:18px;--fs-client:17px;--fs-icon:34px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Source Sans Pro,monospace}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}.status-tag{font-size:var(--fs-select);white-space:nowrap;text-overflow:ellipsis;transition:var(--transition);border-radius:10px;align-items:center;gap:4px;padding:4px 10px;font-weight:700;display:flex;overflow:hidden}.status-tag:hover{background:color-mix(in srgb, currentColor 25%, transparent)}.status-tag-icon{width:var(--fs-select);height:var(--fs-select);flex-shrink:0}.client-tag{font-size:var(--fs-client);color:var(--text-primary);white-space:nowrap;transition:var(--transition);border-bottom:2px solid #0000;align-items:center;gap:4px;padding-bottom:1px;font-weight:600;display:flex}.client-tag-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.client-tag.empty{color:var(--text-muted);opacity:.5;border-bottom-color:#0000;font-weight:500}.client-tag:hover{color:var(--text-primary)}.designer-tag{font-size:var(--fs-client);color:var(--text-secondary);white-space:nowrap;transition:var(--transition);background:var(--bg-card);border:1px solid var(--border);border-radius:10px;justify-content:center;align-items:center;gap:4px;padding:2px 8px;font-weight:600;display:flex}.designer-tag-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.designer-tag.empty{color:var(--text-muted);font-weight:500}.designer-tag:hover{border-color:var(--accent);color:var(--text-primary)}.days-tag{font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:3px;font-weight:500;display:flex}.dates-tag{font-size:var(--fs-xs);color:var(--text-muted);font-weight:500}.app-layout{height:100vh;display:flex;overflow:hidden}.sidebar{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:330px;transition:width .2s;display:flex;overflow:hidden}.sidebar-collapsed{align-items:center;width:54px;padding-top:12px}.sidebar-collapsed-icons{flex-direction:column;align-items:center;gap:12px;padding:8px 0;display:flex}.sidebar-logo-icono{object-fit:contain;cursor:pointer;opacity:.9;width:30px;height:30px;transition:var(--transition);margin-bottom:2px}.sidebar-logo-icono:hover{opacity:1;transform:scale(1.08)}.sidebar-icon-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--r-control);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;display:flex}.sidebar-icon-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.sidebar-collapse-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--r-inline);background:0 0;border:none;align-items:center;margin-left:auto;padding:4px;display:flex}.sidebar-collapse-btn:hover{color:var(--text-primary)}.sidebar-header{justify-content:center;align-items:center;gap:10px;padding:20px 20px 0;display:flex}.sidebar-logo{object-fit:contain;flex-shrink:0;width:90px}.sidebar-header h1{font-size:var(--fs-sm);letter-spacing:-.3px;font-weight:700}.sidebar-content{flex-direction:column;flex:1;gap:20px;padding:15px;display:flex;overflow-y:auto}.hint{font-size:var(--fs-xs);color:var(--text-muted);background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid var(--border);margin-top:6px;padding:6px 8px;line-height:1.4}.section-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:10px;font-weight:700;display:flex}.section-toggle{cursor:pointer;transition:var(--transition);align-items:center;gap:4px;display:flex}.section-toggle:hover{color:var(--text-secondary)}.input-group{gap:8px;display:flex}.sidebar-create{flex-direction:column;gap:8px;display:flex}.sidebar-input-full{width:100%}.sidebar-create-btns{gap:6px;display:flex}.sidebar-create-btns .btn{font-size:var(--fs-xs);flex:1;justify-content:center;align-items:center;gap:4px;padding:6px 10px;display:flex}.sidebar-create-fila{flex-direction:row;align-items:stretch}.sidebar-create-add{flex-shrink:0;justify-content:center;align-items:center;width:52px;min-height:44px;padding:0;display:flex}.sidebar-create-add svg{stroke-width:2.1px}.sidebar-buscar{align-items:center;display:flex;position:relative}.sidebar-buscar-lupa{color:var(--text-muted);pointer-events:none;position:absolute;left:10px}.sidebar-buscar .sidebar-buscar-input{width:100%;padding-left:32px;padding-right:30px}.sidebar-buscar-x{cursor:pointer;color:var(--text-muted);border-radius:var(--r-inline);background:0 0;border:none;align-items:center;padding:4px;display:flex;position:absolute;right:6px}.sidebar-buscar-x:hover{color:var(--text-primary);background:var(--bg-secondary)}.sidebar-resultados{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;flex:1;gap:1px;min-height:120px;padding:6px;display:flex;overflow-y:auto}.sidebar-resultados-titulo{font-size:var(--fs-xxs,10px);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:8px 8px 4px;font-weight:700}.sidebar-resultados-vacio{font-size:var(--fs-xs);color:var(--text-muted);text-align:center;padding:16px 8px}.sidebar-resultado{cursor:pointer;text-align:left;border-radius:var(--r-control);width:100%;color:var(--text-primary);background:0 0;border:none;flex-direction:column;gap:2px;padding:7px 8px;display:flex}.sidebar-resultado.sel{background:var(--bg-secondary)}.sidebar-resultado-que{font-size:var(--fs-xs);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.sidebar-resultado-clave{color:var(--accent,#6ea8fe);margin-right:5px;font-weight:700}.sidebar-resultado-donde{font-size:var(--fs-xxs,10px);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;line-height:1.3;overflow:hidden}.sidebar-create-add:disabled{opacity:.4;cursor:default}.input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--fs-sm);transition:var(--transition);outline:none;flex:1;padding:10px 14px;font-family:inherit}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.input::placeholder{color:var(--text-muted)}.btn{border-radius:var(--radius-sm);font-size:var(--fs-md);cursor:pointer;transition:var(--transition);border:none;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-family:inherit;font-weight:600;display:inline-flex}.btn-primary{color:var(--text-muted);border:1px solid var(--border);background:0 0}.btn-primary:hover{color:var(--accent);border-color:var(--accent)}.btn-icon{border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:var(--transition);justify-content:center;align-items:center;padding:0;display:flex}.btn-icon:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border-hover)}.status-list{flex-direction:column;gap:4px;display:flex}.status-item{border-radius:var(--radius-sm);font-size:var(--fs-sm);transition:var(--transition);align-items:center;gap:10px;padding:8px 10px;display:flex}.status-item:hover{background:var(--bg-card)}.status-dot{border-radius:50%;flex-shrink:0;width:15px;height:15px}.status-name{flex:1;font-weight:500}.status-delete{opacity:0;color:var(--danger);cursor:pointer;transition:var(--transition);background:0 0;border:none;padding:2px;line-height:1;display:flex}.status-item:hover .status-delete{opacity:1}.status-edit{opacity:0;color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;padding:2px;display:flex}.status-item:hover .status-edit{opacity:1}.status-edit:hover{color:var(--accent)}.status-edit-row{align-items:center;gap:8px;width:100%;display:flex}.status-color-edit{cursor:pointer;border:2px solid var(--border-hover);border-radius:50%;flex-shrink:0;width:24px;height:24px;position:relative;overflow:hidden}.status-color-edit input{cursor:pointer;opacity:0;width:50px;height:50px;position:absolute;inset:-10px}.status-form{gap:6px;margin-bottom:8px;animation:.2s slideDown;display:flex}.color-picker{border:2px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:var(--bg-card);width:38px;height:38px;padding:2px}.drop-zone{background:var(--bg-card);border:2px dashed var(--border);border-radius:var(--radius-md);min-height:120px;transition:var(--transition);flex-direction:column;flex:1;gap:12px;padding:14px;display:flex;overflow:visible}.drop-zone-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);justify-content:center;align-items:center;gap:6px;font-weight:600;display:flex}.drop-zone-projects{flex-direction:column;gap:8px;display:flex}.drop-zone .badge{height:auto;min-height:auto;overflow:hidden}.drop-zone .badge-participants{display:none}.drop-zone .badge-title{-webkit-line-clamp:unset;display:block;overflow:visible}.drop-zone .badge-icon-picker,.drop-zone .badge-status-picker,.drop-zone .badge-client-picker{margin-top:0;margin-bottom:4px;position:absolute;top:auto;bottom:100%}.main-content{background:var(--bg-primary);flex-direction:column;flex:1;padding:0;display:flex;overflow:hidden}.main-content-header{z-index:20;background:var(--bg-primary);flex-shrink:0;padding:20px 15px 0;position:sticky;top:0}.main-content-body{flex-direction:column;flex:1;min-height:0;padding:0 15px 24px;display:flex;overflow-y:auto}.user-tabs{align-items:center;gap:6px;min-width:0;padding:2px 0;display:flex;overflow-x:auto}.user-tab{font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer;border:1px solid color-mix(in srgb, var(--tablero) 55%, transparent);transition:var(--transition);white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-weight:600;display:flex}.user-tab:hover{color:var(--text-primary);border-color:var(--tablero)}.user-tab.active{color:var(--text-primary);border-color:var(--tablero);background:color-mix(in srgb, var(--tablero) 12%, transparent);font-weight:700}.user-tab-delete{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;margin-left:2px;padding:0;display:flex}.user-tab-delete:hover{color:var(--danger)}.user-tab-count{font-size:var(--fs-xs);color:var(--text-muted);padding:0;font-weight:500}.user-tab.active .user-tab-count{color:var(--text-muted)}.user-tab.add{color:var(--text-muted);background:0 0;border:none;padding:4px 8px}.user-tab.add:hover{color:var(--accent)}.user-summary{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:20px;padding:16px}.user-summary-header{font-size:var(--fs-sm);color:var(--text-primary);align-items:center;gap:8px;margin-bottom:12px;font-weight:700;display:flex}.user-summary-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.user-summary-stats{font-weight:500;font-size:var(--fs-xs);color:var(--text-muted);margin-left:auto}.user-summary-list{flex-direction:column;gap:4px;display:flex}.user-summary-item{border-radius:var(--radius-sm);font-size:var(--fs-xs);transition:var(--transition);align-items:center;gap:8px;padding:6px 8px;display:flex}.user-summary-item:hover{background:var(--bg-card-hover)}.user-summary-item-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.user-summary-item-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.user-summary-item-dates{color:var(--text-muted);white-space:nowrap}.user-summary-item-days{color:var(--accent);white-space:nowrap;font-weight:700}.view-toolbar{z-index:8;background:var(--bg-primary);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;margin-bottom:8px;padding:2px 0 12px;display:flex;position:sticky;top:0}.calendar-nav{align-items:center;gap:6px;display:flex}.calendar-title{font-size:var(--fs-xl);letter-spacing:-.5px;background:linear-gradient(135deg, var(--text-primary), var(--text-secondary));-webkit-text-fill-color:transparent;text-align:center;-webkit-background-clip:text;min-width:190px;font-weight:800}.nav-btn{border-radius:var(--r-control);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.nav-btn:hover{color:var(--text-primary);background:var(--bg-card)}.view-actions{align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.calendar-filters{align-items:center;gap:6px;display:flex}.cal-filter{border-radius:var(--r-control);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;max-width:160px;padding:4px 8px;font-size:12px}.cal-filter:focus{outline:2px solid var(--accent);outline-offset:-1px}.cal-filter-clear{color:var(--text-muted);cursor:pointer;border-radius:var(--r-inline);background:0 0;border:none;padding:2px 6px;font-size:13px}.cal-filter-clear:hover{color:var(--danger,#ef4444);background:var(--bg-card)}.app-version{font-size:var(--fs-xs);color:var(--text-muted);opacity:.5;font-weight:500}.theme-btn{border-radius:var(--r-control);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.theme-btn:hover{color:var(--accent);background:var(--bg-card)}:root{--h-barra:32px;--h-densa:28px;--r-control:var(--radius-sm);--r-inline:4px}.today-btn,.mios-select,.mp-filter,.pend-filter-select,.excel-legend-select{height:var(--h-barra);box-sizing:border-box;border-radius:var(--r-control);padding-top:0;padding-bottom:0}.excel-eraser-btn,.excel-save-btn{height:var(--h-densa);box-sizing:border-box;border-radius:var(--r-control)}.an-input,.cat-input{border-radius:var(--r-control)}:root{--h-control:32px}.auth-actions .org-btn,.auth-actions .theme-btn,.auth-actions .view-toggle,.auth-actions .notif-bell{height:var(--h-control);box-sizing:border-box}.auth-actions .view-toggle-btn{height:100%;padding:0 10px}.auth-actions .notif-bell{width:var(--h-control);justify-content:center;align-items:center;padding:0;display:flex}.org-btn{border-radius:var(--r-control);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:var(--fs-xs);white-space:nowrap;transition:var(--transition);background:0 0;align-items:center;gap:6px;padding:0 11px;font-weight:600;display:inline-flex}.org-btn:hover{color:var(--accent);border-color:var(--accent)}.org-btn.active{color:var(--accent);border-color:var(--accent);background:var(--accent-bg,transparent)}.org-sep{background:var(--border);flex-shrink:0;width:1px;height:20px}.prefs-wrap{display:inline-flex;position:relative}.auth-user-btn{border:1px solid var(--border);max-width:220px;color:var(--text-secondary);font-family:inherit;font-size:var(--fs-sm);cursor:pointer;transition:var(--transition);background:0 0;border-radius:999px;align-items:center;gap:7px;padding:3px 8px 3px 4px;font-weight:600;display:inline-flex}.auth-user-btn:hover,.auth-user-btn.active{border-color:var(--accent);color:var(--text-primary)}.auth-user-nombre{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.prefs-item.prefs-salir{color:#ef4444}.prefs-item.prefs-salir:hover{background:#ef44441f}.prefs-menu{z-index:10000;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;width:max-content;min-width:236px;max-width:320px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #00000073}.prefs-titulo{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:6px 10px 8px;font-size:10px;font-weight:700}.prefs-quien{align-items:flex-start;gap:10px;padding:8px 10px 10px;display:flex}.prefs-quien-txt{flex-direction:column;min-width:0;line-height:1.3;display:flex}.prefs-quien-txt strong{font-size:var(--fs-sm);color:var(--text-primary);overflow-wrap:anywhere;font-weight:700}.prefs-quien-txt span{color:var(--text-muted);overflow-wrap:anywhere;font-size:11px}.prefs-item{width:100%;color:var(--text-primary);font-family:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:8px;padding:8px 10px;display:flex}.prefs-item:hover{background:var(--bg-secondary)}.prefs-check{cursor:pointer}.prefs-check input{flex-shrink:0;margin:0}.prefs-escala{cursor:default;justify-content:space-between}.prefs-escala:hover{background:0 0}.prefs-escala select{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);font-family:inherit;font-size:var(--fs-xs);cursor:pointer;border-radius:6px;padding:3px 6px}.prefs-sep{background:var(--border);height:1px;margin:6px 4px}.prefs-version{font-size:var(--fs-xs);color:var(--text-muted);padding:6px 10px 4px}.tb-sep{background:var(--border);flex-shrink:0;width:1px;height:22px;margin:0 2px}.theme-float{z-index:900;background:var(--bg-secondary);width:36px;height:36px;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;opacity:.65;transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:20px;left:14px;box-shadow:0 2px 10px #0000002e}.theme-float:hover{opacity:1;color:var(--accent);border-color:var(--accent);transform:scale(1.06)}.theme-btn:disabled{opacity:.25;cursor:default;pointer-events:none}.notes-btn{border-radius:var(--r-control);border:1px solid var(--border);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;justify-content:center;align-items:center;display:flex}.notes-btn:hover{color:var(--text-primary);background:var(--bg-card);border-color:var(--text-muted)}.notes-btn.active{color:var(--accent);border-color:var(--accent)}.today-btn{border-radius:var(--r-control);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:var(--fs-sm);transition:var(--transition);background:0 0;padding:5px 12px;font-family:inherit;font-weight:600}.today-btn:hover,.mios-select.active{color:var(--accent);border-color:var(--accent)}.view-toggle{border:1px solid var(--border);border-radius:var(--r-control);background:0 0;display:flex}.view-toggle-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;align-items:center;padding:5px 10px;display:flex}.view-toggle-btn.active{color:var(--accent);background:var(--bg-card)}.view-toggle-btn:not(.active):hover{color:var(--text-primary)}.calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px;display:grid}.weekday{text-align:center;font-size:var(--fs-weekday);text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);padding:8px 0;font-weight:700}.calendar-container{position:relative}.calendar-fade{opacity:1;transition:opacity .4s}.cal-hidden{opacity:0;transition:none}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.day-cell{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);min-height:110px;transition:var(--transition);z-index:1;flex-direction:column;gap:8px;padding:8px;display:flex;position:relative}.day-cell.other-month{opacity:.35}.day-number{font-size:var(--fs-daynum);color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;margin-bottom:2px;font-weight:600;display:flex}.day-number.is-today{background:var(--hoy);color:var(--hoy-texto);font-weight:700}.day-cell:has(.is-today){background:var(--hoy-tinte);box-shadow:inset 0 0 0 1px var(--hoy)}@keyframes todayPulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.today-flash{animation:.4s ease-in-out 2 todayPulse}.day-number.is-inactive{color:var(--danger);background:#f43f5e26;font-weight:700}.day-number.is-today.is-inactive{background:var(--hoy);color:var(--hoy-texto);outline:2.5px solid var(--danger);outline-offset:2px}.day-cell.inactive-day{opacity:.3}.day-cell.inactive-day:has(.is-today){opacity:1}.weekday.inactive{color:var(--danger)}.day-projects{flex-direction:column;flex:1;gap:3px;display:flex}.multi-bar{z-index:5;position:absolute}.multi-bar:hover{z-index:10}.multi-bar.picker-open{z-index:100;overflow:visible}.badge-overdue-label{font-size:var(--fs-xs);color:var(--danger);background:#f43f5e26;border-radius:4px;padding:1px 6px;font-weight:700}.multi-bar.no-drag{cursor:default}.multi-bar.fragment-bar{pointer-events:none;z-index:2;cursor:default}.multi-bar.fragment-bar .badge-body,.multi-bar.fragment-bar .badge-menu-area{pointer-events:auto}.fragment-checkbox{cursor:pointer;width:24px;height:24px;accent-color:var(--accent);appearance:none;border:2px solid var(--text-muted);z-index:20;pointer-events:auto;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:absolute;top:8px;right:8px}.fragment-checkbox:checked{background:var(--accent);border-color:var(--accent)}.fragment-checkbox:checked:after{content:"✓";color:#fff;font-size:13px;font-weight:700}.fragment-checkbox-disabled{opacity:.3;cursor:not-allowed}.fragment-checkbox-cancelled:checked{background:#ef4444;border-color:#ef4444}.fragment-checkbox-cancelled:checked:after{content:"✕"}.badge-user-label{font-size:var(--fs-days);white-space:nowrap;opacity:.7;margin-left:auto;font-weight:600}.badge:hover .badge-bottom-tag.empty{opacity:1}.badge{user-select:none;height:150px;transition:var(--transition);background:linear-gradient(135deg, color-mix(in srgb, var(--badge-color,transparent) 18%, transparent), color-mix(in srgb, var(--badge-color,transparent) 8%, transparent)), var(--bg-secondary);border:none;border-radius:10px;align-items:stretch;padding:24px 14px 14px;display:flex;position:relative;overflow:visible;box-shadow:0 2px 8px #00000014,0 1px 2px #0000000a}.badge:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f,0 2px 4px #0000000f}.badge-client-corner{font-size:var(--fs-client);cursor:pointer;white-space:nowrap;transition:var(--transition);border:none;border-radius:20px;flex-shrink:0;align-self:flex-end;padding:2px 10px;font-weight:700}.badge-client-corner:hover{transform:scale(1.05)}.badge-client-corner.empty{border:1.5px dashed var(--text-muted);color:var(--text-muted);background:var(--bg-card);opacity:0;font-weight:500}.badge:hover .badge-client-corner.empty{opacity:1}.badge-bottom-row{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.badge-body{flex-direction:column;flex:1;justify-content:space-between;gap:4px;min-width:0;display:flex;position:relative}.badge-row-top{align-items:flex-start;gap:6px;display:flex}.badge-title-group{flex-direction:column;gap:18px;min-width:0;display:flex}.badge-days-inline{color:var(--text-muted);align-items:center;gap:2px;margin-left:6px;font-size:.75em;font-weight:500;display:inline-flex}.badge-subtask{color:var(--text-secondary)}.badge-sigla{color:var(--text-muted);font-size:.85em;font-weight:600}.badge-cliente{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent);letter-spacing:.02em;vertical-align:middle;border-radius:7px;margin-left:5px;padding:0 5px;font-size:.72em;font-weight:700;display:inline-block}.badge-board-tag{font-size:var(--fs-xs);white-space:nowrap;border-radius:10px;padding:4px 10px;font-weight:600;display:inline-block}.badge-plan-label{color:var(--accent);opacity:.8;margin-left:6px;font-size:.7em;font-weight:600}.badge-client-prefix{cursor:pointer;font-weight:700}.badge-client-label{font-size:var(--fs-xs,.75em);cursor:pointer;margin-bottom:2px;font-weight:700}.badge-client-select{font-size:var(--fs-xs,.75em);cursor:pointer;appearance:none;background:0 0;border:none;outline:none;margin-bottom:2px;padding:0;font-family:inherit;font-weight:700}.cpv-client-inline{font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-weight:700}.cpv-client-inline.empty{opacity:.5;font-weight:500}.cpv-title .badge-client-select{font-size:inherit}.badge-client-solid{font-size:var(--fs-xs,.75em);color:#fff;white-space:nowrap;border-radius:6px;padding:4px 10px;font-weight:600}.badge-client-solid.empty{color:var(--text-muted);padding:2px 6px;font-weight:500;background:0 0!important}.badge-status-solid{font-size:var(--fs-xs,.75em);white-space:nowrap;border-radius:20px;padding:4px 10px;font-weight:600}.badge-status-lectura{cursor:default}.badge-paused{opacity:.6;border:2px dashed #6b7280!important}.badge-marca-proyecto{border:2px dashed var(--marca-color,#6b7280)!important}.badge-prioritaria{box-shadow:inset 0 0 0 3px var(--prioritaria)!important}.badge-prioritaria-original{outline:2px dashed var(--prioritaria);filter:saturate(.45)opacity(.5);box-shadow:none!important}.badge-prio-btn{pointer-events:auto;border:1px solid var(--border);height:20px;color:var(--text-muted);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;opacity:.55;transition:var(--transition);background:0 0;border-radius:10px;flex:none;align-items:center;gap:4px;padding:0 7px;font-family:inherit;font-size:9.5px;font-weight:700;line-height:1;display:inline-flex}.badge:hover .badge-prio-btn{opacity:1}.badge-prio-btn:hover{color:var(--prioritaria);border-color:var(--prioritaria)}.badge-prio-btn.activa{background:var(--prioritaria-melon);color:var(--prioritaria-texto);opacity:1;border-color:#0000}.badge-prio-btn.activa:hover{color:var(--prioritaria-texto);filter:brightness(.96)}.badge-prio-btn.estatica{cursor:default}.badge-prio-punto{background:var(--prioritaria);border-radius:50%;flex:none;width:5px;height:5px}.badge-prio-dias{opacity:.75;letter-spacing:.02em;font-weight:600}.badge-prio-btn.marca{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--prioritaria) 55%, transparent)}.badge-prio-btn.marca .badge-prio-dias{opacity:1;color:var(--prioritaria)}.badge-prio-btn.insiste{box-shadow:inset 0 0 0 1.5px var(--prioritaria)}.badge-prio-btn.insiste .badge-prio-dias{opacity:1;background:var(--prioritaria);color:#3a1a02;letter-spacing:0;border-radius:7px;padding:0 4px;font-weight:800}.badge-tablero-sigla{font-size:calc(var(--fs-xs) * .9);letter-spacing:.04em;color:var(--tablero);border:1px solid var(--tablero);background:color-mix(in srgb, var(--tablero) 12%, transparent);white-space:nowrap;border-radius:5px;flex:none;align-items:center;padding:0 5px;font-weight:800;line-height:1.5;display:inline-flex}.badge-cab-meta{min-width:0}.badge-cab-meta>.badge-board-chip{text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.badge-cab-meta>.badge-medalla,.badge-cab-meta>.badge-medalla-hueco{flex:none}.tl-franja-prio{border:2px dashed var(--prioritaria);border-radius:var(--radius,8px);background:var(--prioritaria-bg);color:var(--prioritaria-texto);cursor:pointer;z-index:3;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-family:inherit;transition:background .15s;display:flex}.tl-franja-prio:hover{background:color-mix(in srgb, var(--prioritaria) 18%, transparent)}.tl-franja-prio-num{font-size:2.2em;font-weight:800;line-height:1}.tl-franja-prio-txt{font-size:var(--fs-sm,.85em);font-weight:600}.tl-franja-prio-accion{font-size:var(--fs-xs,.75em);text-transform:uppercase;letter-spacing:.06em;opacity:.75;margin-top:2px;font-weight:700}.tl-franja-prio.abierta{opacity:.7}.tl-franja-prio.abierta .tl-franja-prio-num{font-size:1.4em}.excel-left-row.excel-row-prioritaria{background:var(--prioritaria-bg);border-left-color:var(--prioritaria)!important}.badge-status-select{font-size:var(--fs-xs,.75em);white-space:nowrap;cursor:pointer;text-align:center;border:none;border-radius:20px;outline:none;padding:2px 8px;font-family:inherit;font-weight:600}.badge-frag-client{font-size:var(--fs-client);color:var(--text-primary);white-space:nowrap;border-bottom:2px solid #0000;margin-left:auto;padding-bottom:1px;font-weight:600}.badge-status-dot{display:none}.badge-icon{cursor:pointer;transition:var(--transition);font-size:var(--fs-icon);color:var(--text-primary);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.badge-icon.complex{cursor:pointer;transition:var(--transition);border-radius:6px;padding:2px}.badge-icon.complex:hover{background:color-mix(in srgb, var(--sc) 15%, transparent);color:var(--sc)}.badge-icon-picker{z-index:50;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);width:210px;box-shadow:var(--shadow-lg);flex-wrap:wrap;gap:4px;margin-top:4px;padding:8px;display:flex;position:absolute;top:100%;left:0}.badge-icon-opt{cursor:pointer;width:38px;height:38px;transition:var(--transition);background:0 0;border:1.5px solid #0000;border-radius:6px;justify-content:center;align-items:center;display:flex}.badge-icon-opt:hover{background:var(--bg-card-hover);border-color:var(--border)}.badge-icon-opt.active{border-color:var(--accent);background:var(--bg-card)}.badge-tag-dot{cursor:pointer;width:10px;height:10px;transition:var(--transition);border-radius:50%;flex-shrink:0}.badge-tag-dot.empty{border:2px dashed var(--text-muted);background:0 0}.badge-tag-dot:hover{transform:scale(1.2)}.badge-title{-webkit-line-clamp:3;font-weight:700;font-size:var(--fs-badge);color:var(--text-primary);overflow-wrap:anywhere;-webkit-box-orient:vertical;flex:1;line-height:1.35;display:-webkit-box;overflow:hidden}.tl-outer .badge-title{-webkit-line-clamp:4}.badge-desliza{flex-direction:column;min-height:0;display:flex}.tl-outer .badge-desliza{overscroll-behavior:contain;scrollbar-width:thin;flex:0 auto;overflow-y:auto}.tl-outer .badge-desliza>.badge-title{-webkit-line-clamp:unset;display:block;overflow:hidden}.tl-outer .badge-desliza>.badge-title,.tl-outer .badge-desliza>.badge-title-input,.tl-outer .badge-desliza>.coment{flex:none}.tl-outer .badge-desliza::-webkit-scrollbar{width:6px}.tl-outer .badge-desliza::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.badge-body{min-height:0}.badge-row-top{min-height:0;overflow:hidden}.badge-participants,.badge-bottom-row{flex-shrink:0}.badge-parent-label{font-size:var(--fs-xs);color:var(--text-muted);opacity:.7;white-space:nowrap;text-overflow:ellipsis;font-weight:600;line-height:1.2;display:block;overflow:hidden}.badge-title-input{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--r-inline);font-size:var(--fs-badge);outline:none;flex:1;min-width:0;padding:2px 6px;font-family:inherit;font-weight:600}.badge-status-name{display:none}.badge-status-picker{z-index:50;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);flex-direction:column;gap:2px;margin-top:4px;padding:6px;display:flex;position:absolute;top:100%;left:0}.badge-status-opt{color:var(--text-secondary);font-size:var(--fs-select);cursor:pointer;text-align:left;transition:var(--transition);background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:3px 6px;font-family:inherit;display:flex}.badge-status-opt:hover{background:var(--bg-card);color:var(--text-primary)}.badge-status-opt.active{color:var(--accent);font-weight:600}.badge-delete{background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:var(--transition);opacity:0;border-radius:6px;flex-shrink:0;padding:4px;line-height:1;display:flex}.badge:hover .badge-delete{opacity:1}.badge-delete:hover{color:var(--danger);border-color:var(--danger);background:#f43f5e1a}.badge-menu-area{z-index:10;position:absolute;top:4px;left:4px}.badge-menu-btn{background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:var(--r-control);transition:var(--transition);opacity:.6;padding:3px;line-height:1;display:flex}.badge:hover .badge-menu-btn{opacity:1}.badge-menu-btn:hover{color:var(--text-primary);border-color:var(--border-hover);background:var(--bg-card-hover)}.badge-menu-select{background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:var(--r-control);appearance:none;opacity:.6;transition:var(--transition);text-align:center;outline:none;width:24px;height:22px;padding:2px 4px;font-family:inherit;font-size:12px}.badge:hover .badge-menu-select{opacity:1}.badge-menu-select:hover{color:var(--text-primary);border-color:var(--border-hover)}.bcm-item{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;transition:var(--transition);background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;padding:7px 10px;font-family:inherit;font-size:12px;display:flex}.bcm-item:hover{background:var(--bg-card-hover);color:var(--text-primary)}.bcm-danger{color:var(--danger)!important}.bcm-danger:hover{background:#ff3b301a;color:var(--danger)!important}.bcm-divider{background:var(--border);height:1px;margin:3px 0}.badge-close{color:var(--danger);cursor:pointer;transition:var(--transition);opacity:0;z-index:3;background:#f43f5e26;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:4px;line-height:1;display:flex;position:absolute;top:4px;right:4px}.badge:hover .badge-close{opacity:1}.badge-close:hover{background:var(--danger);color:#fff}.badge-log{background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:var(--transition);opacity:0;z-index:3;border-radius:4px;padding:3px;line-height:1;display:flex;position:absolute;bottom:4px;right:4px}.badge:hover .badge-log{opacity:.6}.badge-log:hover{color:var(--accent);border-color:var(--accent);opacity:1!important}.badge-desc{font-size:var(--fs-desc);color:var(--text-secondary);cursor:text;white-space:pre-wrap;overflow-wrap:anywhere;max-height:4.5em;padding-left:24px;line-height:1.3;overflow-y:auto}.badge-desc.placeholder{opacity:.35}.badge-progress-badge{background:var(--accent);color:#fff;border-radius:8px;padding:4px 10px;font-size:.65em;font-weight:700;line-height:1.4}.badge.user-dimmed{opacity:.4}.badge.user-next{box-shadow:0 0 0 2px var(--accent), 0 2px 8px #6366f14d}.badge-meta-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.badge-client-picker{z-index:50;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);flex-direction:column;gap:2px;margin-top:4px;padding:6px;display:flex;position:absolute;top:100%;right:0}.badge-client-opt{color:var(--text-secondary);font-size:var(--fs-select);cursor:pointer;text-align:left;transition:var(--transition);background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:3px 6px;font-family:inherit;display:flex}.badge-client-opt:hover{background:var(--bg-card);color:var(--text-primary)}.badge-client-opt.active{color:var(--accent);font-weight:600}.badge-desc-input{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--r-control,8px);font-size:var(--fs-desc);resize:none;width:100%;min-height:4.2em;max-height:4.5em;transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:6px 8px;font-family:inherit;line-height:1.35;overflow-y:auto;box-shadow:0 1px 2px #0000000a}.badge-desc-input::placeholder{color:var(--text-muted);opacity:.8}.badge-desc-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.badge-url-popup{z-index:60;position:absolute;bottom:6px;left:6px;right:6px}.badge-url-input{background:var(--bg-secondary);border:1px solid var(--accent);color:var(--text-primary);border-radius:var(--r-control);width:100%;box-shadow:var(--shadow-lg);outline:none;padding:6px 10px;font-family:inherit;font-size:12px}.badge-url-input:focus{box-shadow:var(--shadow-lg), 0 0 0 2px var(--accent-glow)}.badge-color-btn{cursor:pointer;width:14px;height:14px;transition:var(--transition);border:2px solid #fff6;border-radius:50%;flex-shrink:0;padding:0}.badge-color-btn:hover{border-color:#fff;transform:scale(1.15)}.color-dots{gap:5px;padding:4px 0 2px;display:flex}.color-dot{cursor:pointer;width:16px;height:16px;transition:var(--transition);border:2px solid #0000;border-radius:50%;padding:0}.color-dot:hover{transform:scale(1.2)}.color-dot.active{border-color:#fff;box-shadow:0 0 6px #ffffff80}.tl-gantt-months{z-index:4;display:flex;position:sticky;top:0}.tl-gantt-month{font-size:var(--fs-sm);color:#fff;text-transform:uppercase;letter-spacing:1px;background:var(--bg-secondary);border-bottom:2px solid var(--border);white-space:nowrap;padding:8px 14px;font-weight:800;overflow:hidden}.tl-gantt-month.current{background:var(--accent)}.tl-gantt-body{position:relative}.tl-gantt-days{z-index:3;display:flex;position:sticky;top:0}.tl-day-cell{border-right:1px solid var(--border);background:var(--bg-card);flex-direction:column;flex-shrink:0;align-items:center;gap:2px;min-height:100%;padding:6px 0;display:flex}.tl-day-cell.inactive-day{opacity:.3}.tl-day-cell-dow{font-size:var(--fs-xs);text-transform:uppercase;color:var(--text-muted);font-weight:700}.tl-day-cell-num{font-size:var(--fs-daynum);color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-weight:700;display:flex}.tl-day-cell-num.is-today{background:var(--hoy);color:var(--hoy-texto);font-weight:700}.tl-day-cell-num.is-inactive{color:var(--danger);background:#f43f5e26}.tl-outer{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex;position:relative}.tb-toggle{border-radius:var(--r-control);border:1px solid var(--border);min-width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:var(--transition);font-family:inherit;font-size:var(--fs-xs);letter-spacing:.02em;background:0 0;justify-content:center;align-items:center;padding:0 9px;font-weight:700;display:flex}.tb-toggle:hover{color:var(--text-primary);background:var(--bg-card);border-color:var(--text-muted)}.tb-toggle.active{color:var(--accent);border-color:var(--accent)}#tl-controles .cal-filter{max-width:220px;height:32px}#tl-controles{flex:0 auto;gap:6px;min-width:0}#tl-controles .mp-filter{min-width:0;max-width:180px}#tl-controles .act-persona{max-width:180px}.tl-zoom-bar{align-self:flex-end;align-items:center;gap:6px;display:flex}.tl-zoom-btn{border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;transition:var(--transition);justify-content:center;align-items:center;display:flex}.tl-zoom-btn:hover:not(:disabled){background:var(--bg-card-hover);color:var(--text-primary)}.tl-zoom-btn:disabled{opacity:.3;cursor:default}.tl-zoom-label{font-size:var(--fs-xs);color:var(--text-muted);text-align:center;width:16px;font-weight:700}.tl-scroll{border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);flex:1;overflow:auto}.tl-scroll::-webkit-scrollbar{height:14px}.tl-scroll::-webkit-scrollbar-track{background:var(--bg-card);border-radius:7px}.tl-scroll::-webkit-scrollbar-thumb{background:var(--scrollbar-hover);border:3px solid var(--bg-card);border-radius:7px}.tl-scroll::-webkit-scrollbar-thumb:hover{background:var(--accent)}.tl-table{flex-direction:column;display:flex}.tl-month-row{z-index:4;background:var(--accent);border-bottom:2px solid var(--border);display:grid;position:sticky;top:0}.tl-month-label{font-size:var(--fs-sm);color:var(--text-primary);text-transform:uppercase;letter-spacing:1px;border-right:2px solid var(--border);border-bottom:2px solid var(--border);white-space:nowrap;padding:6px 14px;font-weight:800;overflow:hidden}.tl-month-label.current{border-bottom:2px solid var(--accent);font-weight:900}.tl-day-header{z-index:3;background:var(--bg-secondary);border-bottom:2px solid var(--border);display:grid;position:sticky;top:32px}.tl-day-hcell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:6px 0;display:flex}.tl-day-hcell.month-start{border-left:2px solid var(--month-border)}.tl-day-hcell.weekend{background:var(--weekend-bg)}.tl-day-hcell.inactive{opacity:.5}.tl-day-dow{font-size:var(--fs-xs);text-transform:uppercase;color:var(--text-muted);font-weight:700}.tl-day-hcell.weekend .tl-day-dow{color:var(--weekend-text)}.tl-day-num{font-size:var(--fs-daynum);color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-weight:700;display:flex}.tl-day-num.is-inactive{color:var(--danger);background:#f43f5e26;font-weight:700}.tl-day-hcell.today{background:var(--hoy)}.tl-day-hcell.today .tl-day-dow,.tl-day-hcell.today .tl-day-num{color:var(--hoy-texto)}.tl-day-hcell.today .tl-day-num{background:0 0}.tl-day-hcell.today .tl-day-num.is-inactive{color:var(--hoy-texto);box-shadow:inset 0 0 0 2px var(--danger);background:0 0;border-radius:50%}.tl-day-hcell.weekend.today{background:var(--hoy)}.tl-day-hcell.weekend.today .tl-day-dow{color:var(--hoy-texto)}.tl-row{position:relative}.tl-row-cells{z-index:1;display:grid;position:absolute;inset:0}.tl-row-blocks{z-index:2;pointer-events:none;align-items:stretch;height:100%;display:grid;position:relative}.tl-row-blocks>*{pointer-events:auto}.tl-cell{border-right:1px solid var(--border);cursor:pointer;transition:background .1s}.tl-cell.month-start{border-left:2px solid var(--month-border)}.tl-cell.weekend{background:var(--weekend-bg)}.tl-cell.today{background:var(--hoy-tinte);box-shadow:inset 1px 0 0 var(--hoy), inset -1px 0 0 var(--hoy)}.tl-cell.inactive-day{opacity:.3;background:var(--bg-card)}.tl-block{background:var(--bg-secondary);color:var(--text-primary);cursor:grab;user-select:none;box-shadow:var(--shadow-sm);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:6px;margin:5px 3px;padding:10px 12px;transition:box-shadow .15s,opacity .15s;display:flex;position:relative;overflow:hidden}.tl-block:hover{box-shadow:var(--shadow-md);z-index:5}.tl-block-header{align-items:flex-start;gap:6px;display:flex}.tl-block-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:3px}.tl-block-title{font-size:var(--fs-badge);color:var(--text-primary);-webkit-line-clamp:2;cursor:text;-webkit-box-orient:vertical;flex:1;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.tl-block-title-input{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--r-inline);font-size:var(--fs-badge);outline:none;flex:1;min-width:0;padding:3px 6px;font-family:inherit;font-weight:700}.tl-block-desc{font-size:var(--fs-desc);color:var(--text-secondary);-webkit-line-clamp:3;cursor:text;-webkit-box-orient:vertical;margin:0;line-height:1.35;display:-webkit-box;overflow:hidden}.tl-block-desc-input{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--r-inline);font-size:var(--fs-desc);resize:none;outline:none;width:100%;min-height:36px;padding:4px 6px;font-family:inherit;line-height:1.35}.tl-block-footer{align-items:center;gap:6px;margin-top:auto;display:flex}.tl-block-select{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--r-inline);font-size:var(--fs-select);cursor:pointer;padding:3px 6px;font-family:inherit}.tl-block-days{font-size:var(--fs-days);color:var(--text-muted);white-space:nowrap;align-items:center;gap:3px;font-weight:600;display:flex}.tl-block-remove{color:var(--text-muted);cursor:pointer;opacity:0;transition:var(--transition);background:0 0;border:none;display:flex;position:absolute;top:6px;right:6px}.tl-block:hover .tl-block-remove{opacity:1}.tl-block-remove:hover{color:var(--danger)}.tl-block-resize{cursor:ew-resize;width:14px;color:var(--text-muted);opacity:0;transition:var(--transition);justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;right:0}.tl-block:hover .tl-block-resize{opacity:.5}.tl-block-resize:hover{opacity:1!important}.tl-empty{text-align:center;color:var(--text-muted);font-size:var(--fs-sm);z-index:2;padding:40px;position:relative}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:.3s fadeIn}.summary-panel{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);flex-shrink:0;margin-top:16px;overflow:hidden}.summary-toggle{cursor:pointer;font-size:var(--fs-sm);color:var(--text-secondary);transition:var(--transition);align-items:center;gap:8px;padding:10px 14px;font-weight:600;display:flex}.summary-toggle:hover{background:var(--bg-card-hover);color:var(--text-primary)}.summary-total{font-size:var(--fs-xs);background:var(--accent);color:#fff;border-radius:10px;margin-left:auto;padding:2px 8px;font-weight:700}.summary-body{flex-direction:column;gap:14px;padding:0 14px 14px;animation:.2s slideDown;display:flex}.summary-cols{grid-template-columns:1fr 1fr;gap:16px;display:grid}.summary-group{flex-direction:column;gap:6px;display:flex}.summary-group-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);font-weight:700}.stat-bar{flex-direction:column;gap:3px;display:flex}.stat-bar-header{align-items:center;gap:6px;font-size:12px;display:flex}.stat-bar-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.stat-bar-label{color:var(--text-primary);flex:1;font-weight:500}.stat-bar-count{color:var(--text-muted);font-size:11px;font-weight:700}.stat-bar-track{background:var(--bg-card-hover);border-radius:2px;height:4px;overflow:hidden}.stat-bar-fill{border-radius:2px;height:100%;transition:width .3s}.summary-weeks{flex-direction:column;gap:4px;display:flex}.summary-week{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.summary-week-header{cursor:pointer;color:var(--text-secondary);transition:var(--transition);align-items:center;gap:6px;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.summary-week-header:hover{background:var(--bg-card-hover)}.summary-week-count{color:var(--text-muted);margin-left:auto;font-size:11px;font-weight:600}.summary-week-body{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding:8px 10px;animation:.15s slideDown;display:flex}.summary-user{font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:4px;display:flex}.summary-user-dot{border-radius:50%;width:8px;height:8px}.summary-list-section{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.summary-list-toggle{cursor:pointer;color:var(--text-secondary);transition:var(--transition);align-items:center;gap:6px;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.summary-list-toggle:hover{background:var(--bg-card-hover)}.summary-project-list{border-top:1px solid var(--border);flex-direction:column;max-height:300px;display:flex;overflow-y:auto}.summary-project-item{border-bottom:1px solid var(--border);transition:var(--transition);align-items:center;gap:8px;padding:7px 10px;font-size:12px;display:flex}.summary-project-item:last-child{border-bottom:none}.summary-project-item:hover{background:var(--bg-card-hover)}.summary-project-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.summary-project-client{white-space:nowrap;background:0 0;border:1px solid;border-radius:8px;padding:1px 6px;font-size:10px;font-weight:700}.summary-project-dates{color:var(--text-muted);white-space:nowrap;font-size:11px}.summary-project-days{color:var(--text-muted);white-space:nowrap;align-items:center;gap:2px;font-size:11px;font-weight:600;display:flex}.drag-overlay .badge{pointer-events:none}.modal-overlay{z-index:1000;backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);width:420px;max-width:90vw;max-height:80vh;box-shadow:var(--shadow-lg);flex-direction:column;gap:16px;padding:24px;display:flex}.modal-lg{width:520px}.modal-title{font-size:var(--fs-lg);font-weight:700}.modal-subtitle{font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.5}.modal-input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:80px;color:var(--text-primary);font-size:var(--fs-sm);resize:vertical;outline:none;padding:10px 14px;font-family:inherit}.modal-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.modal-cancel{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary)}.modal-cancel:hover{background:var(--bg-card-hover);color:var(--text-primary)}.modal-help{width:560px;max-height:85vh}.help-content{flex-direction:column;gap:16px;max-height:60vh;display:flex;overflow-y:auto}.help-section h4{font-size:var(--fs-sm);color:var(--accent);margin-bottom:6px;font-weight:700}.help-section ul{flex-direction:column;gap:4px;list-style:none;display:flex}.help-section li{font-size:var(--fs-xs);color:var(--text-secondary);line-height:1.5}.help-section li strong{color:var(--text-primary)}.help-changelog p{font-size:var(--fs-xs);color:var(--text-secondary);padding:2px 0;line-height:1.6}.help-changelog p strong{color:var(--accent)}.user-color-picker{flex-wrap:wrap;gap:8px;display:flex}.user-color-dot{cursor:pointer;width:28px;height:28px;transition:var(--transition);border:3px solid #0000;border-radius:50%;padding:0}.user-color-dot:hover{transform:scale(1.15)}.user-color-dot.active{border-color:#fff;box-shadow:0 0 8px #fff6}.modal-project-name{font-size:var(--fs-sm);color:var(--text-primary);margin-top:-10px;font-weight:600}.log-empty{font-size:var(--fs-sm);color:var(--text-muted);text-align:center;padding:20px 0}.log-timeline{flex-direction:column;max-height:400px;display:flex;overflow-y:auto}.log-entry{gap:12px;display:flex}.log-dot-col{flex-direction:column;flex-shrink:0;align-items:center;width:12px;display:flex}.log-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:4px}.log-line{background:var(--border);flex:1;width:2px;margin:4px 0}.log-content{flex-direction:column;flex:1;gap:4px;padding-bottom:16px;display:flex}.log-time{font-size:var(--fs-xs);color:var(--text-muted);font-weight:500}.log-dates{font-size:var(--fs-sm);align-items:center;gap:6px;display:flex}.log-date-old{color:var(--text-muted);text-decoration:line-through}.log-arrow{color:var(--text-muted)}.log-date-new{color:var(--accent);font-weight:600}.log-note{font-size:var(--fs-sm);color:var(--text-secondary);font-style:italic;line-height:1.4}.log-dot.note{background:var(--warning)}.log-add-note{gap:8px;display:flex}.log-add-note .input{flex:1;padding:8px 12px}.log-add-note .btn{padding:8px 14px}.log-entry-group{flex-direction:column;display:flex}.log-reply-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-family:inherit;font-size:11px;font-weight:500;transition:color .15s}.log-reply-btn:hover{color:var(--accent)}.log-entry.log-reply{padding-left:24px}.log-dot.reply{background:var(--text-muted);width:6px;height:6px;margin-top:6px}.log-note-reply{color:var(--text-primary);background:var(--bg-card);border-left:2px solid var(--accent);border-radius:6px;padding:4px 8px;font-style:normal}.log-reply-input{gap:6px;padding-bottom:12px;padding-left:36px;display:flex}.log-reply-input .input{font-size:var(--fs-xs);flex:1;padding:6px 10px}.log-reply-input .btn{font-size:var(--fs-xs);padding:6px 10px}.modal-import{width:700px;max-height:85vh}.modal-import .modal-title{align-items:center;gap:8px;display:flex}.import-textarea{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:180px;color:var(--text-primary);font-size:var(--fs-sm);resize:vertical;tab-size:4;outline:none;padding:12px 14px;font-family:Courier New,monospace;line-height:1.5}.import-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.import-textarea::placeholder{color:var(--text-muted);font-size:var(--fs-xs)}.import-checkbox{font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;display:flex}.import-checkbox input{accent-color:var(--accent)}.import-table-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:50vh;overflow:auto}.import-table{border-collapse:collapse;width:100%;font-size:var(--fs-xs)}.import-table th{z-index:2;background:var(--bg-secondary);text-align:left;border-bottom:2px solid var(--border);vertical-align:top;padding:8px;position:sticky;top:0}.import-table td{border-bottom:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:200px;padding:6px 8px;overflow:hidden}.import-table td.import-skip{opacity:.3}.import-table tr:hover td{background:var(--bg-card-hover)}.import-col-header{font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-weight:600;overflow:hidden}.import-select{width:100%;font-size:var(--fs-xs);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-inline);color:var(--text-primary);cursor:pointer;padding:4px 6px;font-family:inherit}.import-select:focus{border-color:var(--accent);outline:none}.import-more{font-size:var(--fs-xs);color:var(--text-muted);text-align:center;padding:4px 0}.import-warning{font-size:var(--fs-sm);color:var(--warning);border-radius:var(--radius-sm);background:#f59e0b1a;border:1px solid #f59e0b4d;align-items:center;gap:6px;padding:8px 12px;display:flex}.import-done{flex-direction:column;align-items:center;gap:12px;padding:24px 0;display:flex}.import-done-icon{background:var(--success);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex;box-shadow:0 0 20px #10b9814d}.import-drop-zone{border:2px dashed var(--border);border-radius:var(--radius-md);cursor:pointer;color:var(--text-muted);font-size:var(--fs-sm);transition:var(--transition);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.import-drop-zone:hover,.import-drop-zone.drag-over{border-color:var(--accent);color:var(--accent);background:var(--accent-bg-subtle)}.import-divider{color:var(--text-muted);font-size:var(--fs-xs);align-items:center;gap:12px;display:flex}.import-divider:before,.import-divider:after{content:"";background:var(--border);flex:1;height:1px}.gt-outer{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.gt-wrapper{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);flex:1;min-height:0;display:flex;overflow:hidden}.gt-left{border-right:2px solid var(--border);background:var(--bg-secondary);z-index:5;flex-direction:column;flex-shrink:0;display:flex}.gt-left-header{border-bottom:2px solid var(--border);background:var(--bg-secondary);z-index:3;box-sizing:border-box;display:flex;position:sticky;top:0}.gt-lh-cell{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);border-right:1px solid var(--border);flex-shrink:0;justify-content:center;align-items:center;padding:0 10px;font-weight:700;display:flex;position:relative}.gt-left-body{scrollbar-width:none;flex:1;overflow:hidden auto}.gt-left-body::-webkit-scrollbar{display:none}.gt-group-row{font-size:var(--fs-xs);letter-spacing:.3px;z-index:2;box-sizing:border-box;background:var(--border2);color:var(--text-muted);border-left:6px solid;align-items:center;gap:8px;padding:0 10px;font-weight:700;display:flex;position:sticky;top:0}.gt-group-chevron{opacity:.6;flex-shrink:0;align-items:center;display:flex}.gt-group-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden;color:var(--text-primary)!important}.gt-group-count{opacity:.6;color:var(--text-primary);background:var(--border);border-radius:8px;padding:1px 6px;font-size:12px;font-weight:700}.gt-abrir-plan{font:inherit;color:inherit;text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;align-items:center;gap:5px;min-width:0;margin:0;padding:0;display:inline-flex;overflow:hidden}.gt-abrir-plan svg{opacity:0;transition:opacity var(--transition);flex:none}.gt-abrir-plan:hover{color:var(--accent);text-decoration:underline}.gt-abrir-plan:hover svg{opacity:1}.gt-abrir-plan:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.gt-abrir-plan:focus-visible svg{opacity:1}.gt-row-left{border-bottom:1px solid var(--border);box-sizing:border-box;align-items:center;transition:background .1s;display:flex}.gt-row-left:hover{background:var(--bg-card-hover)}.gt-cell-activity{min-width:0;font-size:var(--fs-xs);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;border-right:1px solid var(--border);flex-shrink:0;align-items:center;gap:6px;padding:0 8px;font-weight:600;display:flex;overflow:hidden}.gt-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.gt-cell-resp{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;border-right:1px solid var(--border);flex-shrink:0;padding:0 6px;font-size:10px;font-weight:500;overflow:hidden}.gt-cell-status{flex-shrink:0;justify-content:center;align-items:center;padding:0 6px;display:flex}.gt-right,.cpv-right{flex-direction:column;flex:1;min-width:0;display:flex}.gt-right-header,.cpv-right-header{border-bottom:2px solid var(--border);flex-shrink:0;overflow:hidden}.cpv-right-header-sticky{z-index:10;background:var(--bg-secondary);border-bottom:2px solid var(--border);position:sticky;top:0}.gt-month-row,.cpv-month-row{display:flex}.gt-month-cell,.cpv-month-cell{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);border-right:2px solid var(--border);border-bottom:2px solid var(--border);white-space:nowrap;flex-shrink:0;padding:4px 8px;font-size:10px;font-weight:800;overflow:hidden}.gt-month-current{border-bottom:2px solid var(--accent);font-weight:900}.gt-day-row,.cpv-day-row{display:flex}.gt-day-cell,.cpv-day-cell{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:0;padding:2px 0;display:flex}.gt-day-dow{color:var(--text-muted);text-transform:uppercase;font-size:8px;font-weight:700;line-height:1}.gt-day-num{color:var(--text-secondary);font-size:10px;font-weight:700;line-height:1.2}.gt-day-today{background:var(--hoy)!important}.gt-day-today .gt-day-num,.gt-day-today .gt-day-dow{font-weight:800;color:var(--hoy-texto)!important}.gt-day-weekend{background:var(--weekend-bg)}.gt-day-weekend .gt-day-dow,.gt-day-weekend .gt-day-num{color:var(--weekend-text)}.gt-day-inactive{opacity:.35;background:#f43f5e14}.gt-right-body,.cpv-right-body{flex:1;overflow:auto}.gt-right-body::-webkit-scrollbar{height:12px}.gt-right-body::-webkit-scrollbar-track{background:var(--bg-card)}.gt-right-body::-webkit-scrollbar-thumb{background:var(--scrollbar-hover);border:2px solid var(--bg-card);border-radius:6px}.gt-right-body::-webkit-scrollbar-thumb:hover{background:var(--accent)}.gt-grid-group{box-sizing:border-box;background:var(--border2);display:flex}.gt-grid-group-cell{border-right:1px solid var(--border);background:var(--bg-card);border-bottom:none;flex-shrink:0}.gt-grid-row,.cpv-grid-row{border-bottom:1px solid var(--border);box-sizing:border-box;display:flex;position:relative}.gt-cell{border-right:1px solid var(--border);cursor:pointer;flex-shrink:0;transition:background .1s}.gt-today,.cpv-cell-today{box-shadow:inset 1px 0 0 var(--hoy), inset -1px 0 0 var(--hoy);background:var(--hoy-tinte)!important}.gt-weekend,.cpv-cell-weekend{background:var(--weekend-bg)}.gt-inactive{opacity:.35;background:#f43f5e0f!important}.cpv-bar{cursor:grab}.gt-bar,.cpv-bar{z-index:3;user-select:none;border-radius:4px;align-items:center;gap:4px;height:calc(100% - 6px);padding:0 6px;transition:opacity .15s;display:flex;position:absolute;top:3px;overflow:hidden}.gt-bar:hover,.cpv-bar:hover{z-index:5}.gt-bar-label,.cpv-bar-label{color:#fff;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 2px #0000004d;flex:1;font-size:9px;font-weight:700;overflow:hidden}.gt-bar-resize,.cpv-bar-resize{cursor:ew-resize;color:#ffffff80;opacity:0;flex-shrink:0;align-items:center;transition:opacity .15s;display:flex}.gt-bar:hover .gt-bar-resize,.cpv-bar:hover .cpv-bar-resize{opacity:1}.cpv-container{flex-direction:column;flex:1;gap:10px;min-height:0;padding:10px 15px;display:flex}.cpv-topbar{--h-cpv:var(--h-barra);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 10px 0 0;display:flex}.cpv-topbar .cpv-back,.cpv-topbar .cpv-plan-select,.cpv-topbar .cpv-plan-btn,.cpv-topbar .cpv-apply-plan-btn,.cpv-topbar .cpv-client-select,.cpv-topbar .cpv-clave-input,.cpv-topbar .cpv-board-select,.cpv-topbar .cpv-icon-btn,.cpv-topbar .cpv-import-btn,.cpv-topbar .cpv-url-input,.cpv-topbar .cpv-url-btn,.cpv-topbar .cpv-col-toggle,.cpv-topbar .cpv-zoom-btn{height:var(--h-cpv);box-sizing:border-box;align-items:center;padding-top:0;padding-bottom:0;display:inline-flex}.cpv-topbar .cpv-zoom-btn{width:var(--h-cpv);justify-content:center;padding-left:0;padding-right:0}.cpv-topbar .cpv-separator{height:calc(var(--h-cpv) - 10px)}.cpv-topbar .cpv-back,.cpv-topbar .cpv-plan-btn,.cpv-topbar .cpv-icon-btn,.cpv-topbar .cpv-import-btn,.cpv-topbar .cpv-col-toggle,.cpv-topbar .cpv-zoom-btn,.cpv-topbar .cpv-plan-select,.cpv-topbar .cpv-board-select,.cpv-topbar .cpv-client-select{border-color:var(--border);background:0 0;border-radius:7px}.cpv-topbar .cpv-back:hover,.cpv-topbar .cpv-plan-btn:hover,.cpv-topbar .cpv-icon-btn:hover,.cpv-topbar .cpv-import-btn:hover,.cpv-topbar .cpv-col-toggle:hover,.cpv-topbar .cpv-zoom-btn:hover,.cpv-topbar .cpv-plan-select:hover,.cpv-topbar .cpv-board-select:hover,.cpv-topbar .cpv-client-select:hover{background:var(--bg-card);color:var(--text-primary)}.cpv-topbar .cpv-title{font-size:calc(var(--fs-lg) * 1.1)}.cpv-topbar .cpv-separator{background:var(--border)}.cpv-topbar .cpv-clave-input,.cpv-topbar .cpv-url-input,.cpv-topbar .cpv-title-input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:none;transition:var(--transition);outline:none}.cpv-topbar .cpv-clave-input:focus,.cpv-topbar .cpv-url-input:focus,.cpv-topbar .cpv-title-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.cpv-topbar .cpv-plan-nueva{gap:5px;padding:0 10px;font-weight:600}.cpv-info{gap:7px}.cpv-cliente-wrap{flex-shrink:0;align-items:center;gap:2px;display:inline-flex}.cpv-topbar .cpv-client-select{appearance:none;font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;background:0 0;border:none;width:auto;height:auto;padding:0;font-weight:700}.cpv-topbar .cpv-client-select:focus{color:var(--text-primary)}.cpv-topbar .cpv-client-select:hover{background:0 0}.cpv-caret{color:var(--text-muted);opacity:0;transition:var(--transition);pointer-events:none;font-size:9px}.cpv-cliente-wrap:hover .cpv-caret{opacity:.7}.cpv-id-sep{color:var(--text-muted);opacity:.35;font-weight:400}.cpv-topbar .cpv-clave{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-xs);letter-spacing:.02em;cursor:pointer;color:var(--text-muted);background:0 0;border-radius:4px;padding:2px 6px;font-weight:700}.cpv-topbar .cpv-clave:hover{background:var(--bg-hover,#8080801f);color:var(--text-primary);filter:none}.cpv-topbar .cpv-clave.empty{color:var(--text-muted);opacity:.6;text-transform:lowercase;background:0 0;font-weight:500}.cpv-client-select{border:1px solid var(--border);border-radius:var(--r-inline);background:var(--bg-primary);appearance:auto;width:auto;padding:2px 6px;font-weight:700}.cpv-back{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-sm);font-size:var(--fs-sm);cursor:pointer;transition:var(--transition);align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-weight:600;display:flex}.cpv-back:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border-hover)}.cpv-info{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.cpv-title{font-size:var(--fs-lg);letter-spacing:-.3px;text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.cpv-client{font-size:var(--fs-client);color:var(--text-secondary);border-bottom:2px solid #0000;flex-shrink:0;padding:0 0 1px;font-weight:600}.cpv-client.empty{opacity:.5;border-bottom:none}.cpv-version{font-size:var(--fs-xs);color:var(--accent);cursor:pointer;background:var(--accent-bg);border:1px solid var(--accent-border);transition:var(--transition);border-radius:4px;flex-shrink:0;padding:2px 8px;font-weight:700}.cpv-version:hover{background:var(--accent-bg-hover)}.cpv-version-input{font-size:var(--fs-xs);border-radius:var(--r-inline);background:var(--bg-card);border:1px solid var(--accent);width:60px;color:var(--text-primary);outline:none;padding:2px 8px;font-family:inherit;font-weight:700}.cpv-meta{flex-shrink:0;align-items:center;gap:8px;display:flex}.cpv-separator{background:var(--border);flex-shrink:0;width:1px;height:20px}.cpv-members{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.cpv-members-label{color:var(--text-muted);font-size:.75em;font-weight:600}.cpv-meta-stack{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.cpv-task-count{font-size:var(--fs-xs);color:var(--text-muted);font-weight:600}.cpv-dates{font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:4px;display:flex}.cpv-add-form{flex-shrink:0;align-items:center;gap:6px;display:flex}.cpv-input-title{min-width:0;font-size:var(--fs-sm);flex:1;padding:8px 12px}.cpv-input-resp{width:130px;font-size:var(--fs-sm);flex-shrink:0;padding:8px 10px}.cpv-input-date{width:140px;font-size:var(--fs-sm);flex-shrink:0;padding:8px 10px}.cpv-add-btn{padding:8px 14px}.cpv-empty{text-align:center;color:var(--text-muted);font-size:var(--fs-sm);flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.cpv-gantt{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);flex:1;min-height:0;display:flex;overflow:hidden}.cpv-left{border-right:2px solid var(--border);background:var(--bg-secondary);z-index:2;flex-direction:column;flex-shrink:0;display:flex}.cpv-left-header{border-bottom:2px solid var(--border);display:flex}.cpv-lh{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);border-right:1px solid var(--border);flex-shrink:0;place-content:center;align-items:center;padding:0 10px;font-weight:700;display:flex;position:relative}.cpv-left-body{scrollbar-width:none;flex:1;overflow-y:auto}.cpv-left-body::-webkit-scrollbar{display:none}.cpv-row-left{border-bottom:1px solid var(--border);box-sizing:border-box;align-items:center;transition:background .1s;display:flex;position:relative}.cpv-row-left:hover{background:var(--bg-card-hover)}.cpv-cell-act{min-width:0;font-size:var(--fs-xs);color:var(--text-primary);border-right:1px solid var(--border);flex-shrink:0;align-items:center;gap:6px;padding:0 8px;font-weight:600;display:flex;overflow:hidden}.cpv-task-del{color:var(--text-muted);cursor:pointer;opacity:0;transition:var(--transition);background:0 0;border:none;border-radius:50%;flex-shrink:0;padding:2px;display:flex}.cpv-row-left:hover .cpv-task-del{opacity:1}.cpv-task-del:hover{color:var(--danger);background:#f43f5e1a}.cpv-days-badge{color:var(--text-muted);background:var(--bg-card);border-radius:3px;flex-shrink:0;padding:0 5px;font-size:9px;font-weight:600}.cpv-cell-resp{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;border-right:1px solid var(--border);flex-shrink:0;padding:0 6px;font-size:11px;overflow:hidden}.cpv-cell-status{text-align:center;flex-shrink:0;padding:0 7px}.cpv-status-select{background:var(--bg-card);border-radius:var(--r-inline);cursor:pointer;border:1px solid;outline:none;width:100%;padding:2px 4px;font-family:inherit;font-size:10px;font-weight:700}.cpv-day-dow{color:var(--text-muted);text-transform:uppercase;font-size:8px;font-weight:700;line-height:1}.cpv-day-num{color:var(--text-secondary);font-size:10px;font-weight:700;line-height:1.2}.cpv-day-today{background:var(--hoy)!important}.cpv-day-today .cpv-day-num{font-weight:800;color:var(--hoy-texto)!important}.cpv-day-today .cpv-day-dow{font-weight:800;color:#fff!important}.cpv-import-btn{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-sm);font-size:var(--fs-xs);cursor:pointer;transition:var(--transition);align-items:center;gap:5px;padding:6px 12px;font-family:inherit;font-weight:600;display:flex}.cpv-import-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.cpv-icon-btn{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-sm);font-size:var(--fs-xs);cursor:pointer;transition:var(--transition);align-items:center;gap:5px;padding:6px 10px;font-family:inherit;font-weight:600;display:flex;position:relative}.cpv-icon-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.cpv-icon-btn[title]:hover:after,.theme-btn[title]:hover:after,.notes-btn[title]:hover:after,.view-toggle-btn[title]:hover:after,.tb-toggle[title]:hover:after,.notif-bell[title]:hover:after,.cpv-zoom-btn[title]:hover:after,.cpv-import-btn[title]:hover:after,.act-plegar-icono[title]:hover:after,.excel-eraser-btn[title]:hover:after,.excel-cat-pill-color[title]:hover:after,.an-hist-borrar[title]:hover:after,.today-fuera[title]:hover:after,.today-btn[title]:hover:after{content:attr(title);background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);z-index:100;pointer-events:none;white-space:nowrap;border-radius:4px;padding:3px 8px;font-size:10px;font-weight:600;position:absolute;bottom:-26px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000026}.theme-btn[title],.notes-btn[title],.view-toggle-btn[title],.tb-toggle[title],.cpv-zoom-btn[title],.cpv-import-btn[title],.today-btn[title],.act-plegar-icono[title],.excel-eraser-btn[title],.excel-cat-pill-color[title],.an-hist-borrar[title],.today-fuera[title]{position:relative}.act-plegar-icono[title]:hover:after,.view-actions>:last-child[title]:hover:after{left:auto;right:0;transform:none}#tl-controles>:last-child[title]:hover:after{left:50%;right:auto;transform:translate(-50%)}.today-fuera[title]:hover:after{white-space:normal;text-align:left;width:max-content;max-width:240px;left:0;transform:none}.cpv-icon-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.cpv-col-badge{background:var(--accent);color:#fff;font-size:inherit;border-radius:10px;margin-left:6px;padding:1px 6px;font-weight:700;transform:scale(1.3)}.cpv-col-dates{font-size:inherit;color:var(--text-muted);text-transform:none;letter-spacing:0;justify-content:center;align-items:center;gap:3px;width:100%;margin-top:2px;font-weight:400;display:flex}.cpv-title-input{font-size:var(--fs-lg);background:var(--bg-card);border:1px solid var(--accent);color:var(--text-primary);border-radius:var(--radius-sm);min-width:400px;box-shadow:0 0 0 3px var(--accent-glow);outline:none;flex:1;padding:4px 10px;font-family:inherit;font-weight:800}.cpv-inline-input{background:var(--bg-card);border:1px solid var(--accent);width:100%;min-width:0;color:var(--text-primary);border-radius:var(--r-inline);font-size:inherit;font-family:inherit;font-weight:inherit;box-shadow:0 0 0 2px var(--accent-glow);outline:none;padding:1px 4px}.cpv-cell-text{text-overflow:ellipsis;white-space:nowrap;cursor:default;flex:1;min-width:0;padding-left:20px;overflow:hidden}.cpv-cell-act .cpv-cell-text:hover,.cpv-cell-resp .cpv-cell-text:hover{color:var(--accent);cursor:text}.import-sheet-picker{font-size:var(--fs-xs);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.import-sheet-btn{border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);font-size:var(--fs-xs);cursor:pointer;transition:var(--transition);padding:4px 10px;font-family:inherit;font-weight:600}.import-sheet-btn:hover{border-color:var(--accent);color:var(--accent)}.import-sheet-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.cpv-row-expanded{min-height:auto}.cpv-row-expanded .cpv-cell-act,.cpv-row-expanded .cpv-cell-resp{white-space:normal;word-break:break-word;align-items:flex-start;padding-top:6px;padding-bottom:6px;line-height:1.4}.cpv-row-expanded .cpv-cell-text{white-space:normal;overflow:visible}.cpv-row-expanded .cpv-cell-status{align-items:flex-start}.cpv-import-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.cpv-col-resize{cursor:col-resize;z-index:5;background:0 0;width:5px;transition:background .15s;position:absolute;top:0;bottom:0;right:-2px}.cpv-col-resize:hover{background:var(--accent)}.cpv-grid-cell{border-right:1px solid var(--border);cursor:pointer;flex-shrink:0;transition:background .1s;position:relative}.cpv-grid-cell:hover{background:var(--accent-bg)!important}.cpv-grid-cell:hover:after{content:"";background:var(--accent-bg);pointer-events:none;z-index:0;position:absolute;inset:-5000px 0}.cpv-grid-row:hover{background:var(--accent-bg)}.cpv-cell-picking{cursor:crosshair;background:var(--accent-bg-subtle)!important}.cpv-cell-picking:hover{background:var(--accent-bg-hover)!important}.cpv-pick-hint{color:var(--accent);background:var(--accent-glow);white-space:nowrap;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:8px;font-weight:700;animation:1s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.cpv-cell-picked{background:var(--accent)!important}.badge-to-complex{background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:var(--transition);opacity:0;z-index:3;border-radius:4px;padding:3px;line-height:1;display:flex;position:absolute;bottom:4px;right:26px}.badge:hover .badge-to-complex{opacity:.6}.badge-to-complex:hover{color:#8b5cf6;background:#8b5cf61a;border-color:#8b5cf6;opacity:1!important}.cpv-color-wrap{flex-shrink:0;align-items:center;display:flex;position:relative}.cpv-color-dot{cursor:pointer;border:2px solid #ffffff26;border-radius:50%;flex-shrink:0;width:14px;min-width:14px;height:14px;min-height:14px;transition:transform .15s;box-shadow:0 0 0 1px #0000004d}.cpv-color-dot:hover{transform:scale(1.3)}.cpv-color-picker{z-index:999;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);width:170px;box-shadow:var(--shadow-lg);flex-wrap:wrap;gap:4px;padding:8px;display:flex;position:fixed}.cpv-color-opt{cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px;padding:0;transition:transform .15s}.cpv-color-opt:hover{border-color:#fff;transform:scale(1.2)}.cpv-color-none{background:var(--bg-card);border:1.5px dashed var(--text-muted);color:var(--text-muted);justify-content:center;align-items:center;font-size:10px;display:flex}.cpv-zoom{align-items:center;gap:4px;display:flex}.cpv-zoom-btn{border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border);width:26px;height:26px;color:var(--text-secondary);cursor:pointer;transition:var(--transition);justify-content:center;align-items:center;display:flex}.cpv-zoom-btn:hover:not(:disabled){background:var(--bg-card-hover);color:var(--text-primary)}.cpv-zoom-btn.active{background:var(--accent);color:#fff}.cpv-zoom-btn:disabled{opacity:.3;cursor:default}.cpv-zoom-label{color:var(--text-muted);text-align:center;width:20px;font-size:10px;font-weight:700}.cpv-container[data-cpv-zoom="0"] .cpv-cell-act{font-size:10px}.cpv-container[data-cpv-zoom="0"] .cpv-cell-resp{font-size:9px}.cpv-container[data-cpv-zoom="0"] .cpv-status-select{font-size:8px}.cpv-container[data-cpv-zoom="0"] .cpv-day-dow{font-size:6px}.cpv-container[data-cpv-zoom="0"] .cpv-day-num{font-size:8px}.cpv-container[data-cpv-zoom="0"] .cpv-bar-label{font-size:7px}.cpv-container[data-cpv-zoom="0"] .cpv-month-cell{padding:2px 4px;font-size:8px}.cpv-container[data-cpv-zoom="0"] .cpv-color-dot{width:7px;height:7px}.cpv-container[data-cpv-zoom="0"] .cpv-days-badge{font-size:7px}.cpv-container[data-cpv-zoom="1"] .cpv-cell-act{font-size:11px}.cpv-container[data-cpv-zoom="1"] .cpv-cell-resp{font-size:10px}.cpv-container[data-cpv-zoom="1"] .cpv-status-select{font-size:9px}.cpv-container[data-cpv-zoom="1"] .cpv-day-dow{font-size:7px}.cpv-container[data-cpv-zoom="1"] .cpv-day-num{font-size:9px}.cpv-container[data-cpv-zoom="1"] .cpv-bar-label{font-size:8px}.cpv-container[data-cpv-zoom="1"] .cpv-month-cell{font-size:9px}.cpv-container[data-cpv-zoom="1"] .cpv-color-dot{width:9px;height:9px}.cpv-container[data-cpv-zoom="2"] .cpv-cell-act{font-size:13px}.cpv-container[data-cpv-zoom="2"] .cpv-cell-resp{font-size:12px}.cpv-container[data-cpv-zoom="2"] .cpv-status-select{font-size:11px}.cpv-container[data-cpv-zoom="2"] .cpv-day-dow{font-size:9px}.cpv-container[data-cpv-zoom="2"] .cpv-day-num{font-size:11px}.cpv-container[data-cpv-zoom="2"] .cpv-bar-label{font-size:10px}.cpv-container[data-cpv-zoom="2"] .cpv-month-cell{padding:5px 10px;font-size:11px}.cpv-container[data-cpv-zoom="2"] .cpv-color-dot{width:12px;height:12px}.cpv-container[data-cpv-zoom="2"] .cpv-days-badge{font-size:10px}.cpv-container[data-cpv-zoom="2"] .cpv-lh{font-size:12px}.cpv-container[data-cpv-zoom="3"] .cpv-cell-act{font-size:15px}.cpv-container[data-cpv-zoom="3"] .cpv-cell-resp{font-size:14px}.cpv-container[data-cpv-zoom="3"] .cpv-status-select{font-size:13px}.cpv-container[data-cpv-zoom="3"] .cpv-day-dow{font-size:10px}.cpv-container[data-cpv-zoom="3"] .cpv-day-num{font-size:13px}.cpv-container[data-cpv-zoom="3"] .cpv-bar-label{font-size:12px}.cpv-container[data-cpv-zoom="3"] .cpv-month-cell{padding:6px 12px;font-size:13px}.cpv-container[data-cpv-zoom="3"] .cpv-color-dot{width:14px;height:14px}.cpv-container[data-cpv-zoom="3"] .cpv-days-badge{font-size:11px}.cpv-container[data-cpv-zoom="3"] .cpv-lh{font-size:13px}.cpv-train-row{border-bottom:2px solid var(--accent);background:var(--bg-card);box-sizing:border-box;display:flex}.cpv-train-cell{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:0;display:flex}.cpv-train-block{min-height:4px}.cpv-train-label{text-transform:uppercase;letter-spacing:.8px;color:var(--accent);border-bottom:2px solid var(--accent);background:var(--bg-card);box-sizing:border-box;align-items:center;padding:0 10px;font-size:10px;font-weight:700;display:flex}.cpv-drag-handle{cursor:grab;color:var(--text-muted);opacity:.4;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;min-width:20px;min-height:20px;padding:4px;transition:background .15s,opacity .15s;display:flex}.cpv-row-left:hover .cpv-drag-handle{opacity:.8;background:var(--bg-card)}.cpv-drag-handle:hover{color:var(--accent);opacity:1!important;background:var(--accent-glow)!important}.cpv-container[data-cpv-zoom="4"] .cpv-cell-act{font-size:17px}.cpv-container[data-cpv-zoom="4"] .cpv-cell-resp{font-size:16px}.cpv-container[data-cpv-zoom="4"] .cpv-status-select{font-size:15px}.cpv-container[data-cpv-zoom="4"] .cpv-day-dow{font-size:12px}.cpv-container[data-cpv-zoom="4"] .cpv-day-num{font-size:15px}.cpv-container[data-cpv-zoom="4"] .cpv-bar-label{font-size:14px}.cpv-container[data-cpv-zoom="4"] .cpv-month-cell{padding:8px 14px;font-size:15px}.cpv-container[data-cpv-zoom="4"] .cpv-color-dot{width:16px;min-width:16px;height:16px;min-height:16px}.cpv-container[data-cpv-zoom="4"] .cpv-days-badge{font-size:13px}.cpv-container[data-cpv-zoom="4"] .cpv-lh{font-size:14px}.gt-outer[data-gt-zoom="0"] .gt-cell-activity{font-size:10px}.gt-outer[data-gt-zoom="0"] .gt-cell-resp{font-size:9px}.gt-outer[data-gt-zoom="0"] .gt-status-badge{font-size:7px}.gt-outer[data-gt-zoom="0"] .gt-day-dow{font-size:6px}.gt-outer[data-gt-zoom="0"] .gt-day-num{font-size:8px}.gt-outer[data-gt-zoom="0"] .gt-bar-label{font-size:7px}.gt-outer[data-gt-zoom="0"] .gt-month-cell{padding:2px 4px;font-size:8px}.gt-outer[data-gt-zoom="0"] .gt-lh-cell,.gt-outer[data-gt-zoom="0"] .gt-group-row{font-size:9px}.gt-outer[data-gt-zoom="1"] .gt-cell-activity{font-size:11px}.gt-outer[data-gt-zoom="1"] .gt-cell-resp{font-size:10px}.gt-outer[data-gt-zoom="1"] .gt-status-badge{font-size:8px}.gt-outer[data-gt-zoom="1"] .gt-day-dow{font-size:7px}.gt-outer[data-gt-zoom="1"] .gt-day-num{font-size:9px}.gt-outer[data-gt-zoom="1"] .gt-bar-label{font-size:8px}.gt-outer[data-gt-zoom="1"] .gt-month-cell{font-size:9px}.gt-outer[data-gt-zoom="1"] .gt-lh-cell,.gt-outer[data-gt-zoom="1"] .gt-group-row{font-size:10px}.gt-outer[data-gt-zoom="2"] .gt-cell-activity{font-size:13px}.gt-outer[data-gt-zoom="2"] .gt-cell-resp{font-size:12px}.gt-outer[data-gt-zoom="2"] .gt-status-badge{font-size:10px}.gt-outer[data-gt-zoom="2"] .gt-day-dow{font-size:9px}.gt-outer[data-gt-zoom="2"] .gt-day-num{font-size:11px}.gt-outer[data-gt-zoom="2"] .gt-bar-label{font-size:10px}.gt-outer[data-gt-zoom="2"] .gt-month-cell{padding:5px 10px;font-size:11px}.gt-outer[data-gt-zoom="2"] .gt-lh-cell,.gt-outer[data-gt-zoom="2"] .gt-group-row{font-size:12px}.gt-outer[data-gt-zoom="3"] .gt-cell-activity{font-size:15px}.gt-outer[data-gt-zoom="3"] .gt-cell-resp{font-size:14px}.gt-outer[data-gt-zoom="3"] .gt-status-badge{font-size:12px}.gt-outer[data-gt-zoom="3"] .gt-day-dow{font-size:10px}.gt-outer[data-gt-zoom="3"] .gt-day-num{font-size:13px}.gt-outer[data-gt-zoom="3"] .gt-bar-label{font-size:12px}.gt-outer[data-gt-zoom="3"] .gt-month-cell{padding:6px 12px;font-size:13px}.gt-outer[data-gt-zoom="3"] .gt-lh-cell,.gt-outer[data-gt-zoom="3"] .gt-group-row{font-size:13px}.gt-outer[data-gt-zoom="4"] .gt-cell-activity{font-size:17px}.gt-outer[data-gt-zoom="4"] .gt-cell-resp{font-size:16px}.gt-outer[data-gt-zoom="4"] .gt-status-badge{font-size:14px}.gt-outer[data-gt-zoom="4"] .gt-day-dow{font-size:12px}.gt-outer[data-gt-zoom="4"] .gt-day-num{font-size:15px}.gt-outer[data-gt-zoom="4"] .gt-bar-label{font-size:14px}.gt-outer[data-gt-zoom="4"] .gt-month-cell{padding:8px 14px;font-size:15px}.gt-outer[data-gt-zoom="4"] .gt-lh-cell,.gt-outer[data-gt-zoom="4"] .gt-group-row{font-size:14px}.cpv-day-inactive{opacity:.5;color:#ef4444;background:#f43f5e1f}.cpv-cell-inactive{background:#f43f5e14!important}.cpv-day-weekend{background:#f43f5e14}.cpv-day-weekend .cpv-day-dow,.cpv-day-weekend .cpv-day-num{color:var(--danger)}.cpv-cell-weekend{background:#f43f5e0d}.gt-cell-resp{cursor:pointer}.gt-cell-resp:hover{background:var(--bg-card-hover)}.gt-row-left:hover .gt-designer-empty{opacity:1}.gt-designer-picker{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);flex-direction:column;gap:2px;min-width:140px;padding:6px;display:flex}.gt-designer-opt{color:var(--text-secondary);cursor:pointer;text-align:left;transition:var(--transition);background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:4px 8px;font-family:inherit;font-size:11px;display:flex}.gt-designer-opt:hover{background:var(--bg-card);color:var(--text-primary)}.gt-row-expanded .gt-cell-activity,.gt-row-expanded .gt-cell-resp{white-space:normal;word-break:break-word;align-items:flex-start;padding-top:6px;padding-bottom:6px;line-height:1.4}.gt-row-expanded .gt-cell-activity{overflow:visible}.gt-row-expanded .gt-cell-status{align-items:flex-start;padding-top:6px}.badge-dates-label{font-size:var(--fs-days);color:var(--text-secondary);white-space:nowrap;font-weight:500}.cpv-shift-group{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:2px;padding:2px;display:flex}.cpv-shift-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--r-inline);transition:var(--transition);background:0 0;border:none;align-items:center;gap:1px;padding:4px 6px;font-family:inherit;font-size:10px;font-weight:700;display:flex}.cpv-shift-btn:hover{background:var(--accent);color:#fff}.cpv-shift-mode,.cpv-shift-mode *{cursor:grab!important}.cpv-shift-mode .cpv-grid-cell:hover{background:var(--accent-bg)!important}.cpv-col-toggle{color:var(--text-muted);cursor:pointer;user-select:none;border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border);transition:var(--transition);align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:600;display:flex}.cpv-col-toggle:hover{color:var(--text-primary);border-color:var(--border-hover)}.cpv-col-toggle input{accent-color:var(--accent);cursor:pointer}.cpv-col-act{width:var(--col-act)}.cpv-lh.cpv-col-act{flex-wrap:wrap;padding:4px 10px}.cpv-col-resp{width:var(--col-resp)}.cpv-col-status{width:var(--col-status)}.cpv-col-notes{width:var(--col-notes)}.cpv-cell-notes{border-left:1px solid var(--border);align-items:stretch;padding:0;display:flex}.cpv-notes-input{width:100%;height:100%;font-size:var(--fs-xs);color:var(--text-secondary);resize:none;background:0 0;border:none;outline:none;padding:5px;font-family:inherit;line-height:1.3;overflow-y:auto}.badge-to-complex.is-complex{color:#a78bfa;opacity:0;background:#8b5cf626;border-color:#a78bfa}.badge:hover .badge-to-complex.is-complex{opacity:.8}.badge-to-complex.is-complex:hover{color:var(--danger);border-color:var(--danger);background:#f43f5e1a;opacity:1!important}.today-view{flex-direction:column;flex-shrink:0;gap:12px;padding-bottom:8px;display:flex}.lista-ctx{border-bottom:2px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:12px;display:flex}.today-date{align-items:baseline;gap:10px;display:flex}.today-title{color:var(--text-primary);margin:0;font-size:1.1em;font-weight:700}.today-dow{font-size:var(--fs-lg);color:var(--accent);letter-spacing:-.5px;font-weight:800}.today-full{font-size:var(--fs-md);color:var(--text-secondary);font-weight:600}.lista-ctx-count{font-size:var(--fs-sm);color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:4px 12px;font-weight:600}.today-empty{text-align:center;color:var(--text-muted);font-size:var(--fs-lg);padding:60px 20px}.lista-proyectos{flex-direction:column;gap:8px;display:flex}.lista-proyecto{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);transition:var(--transition);overflow:hidden}.lista-proyecto:hover{border-color:var(--border-hover)}.lista-proyecto-head{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;transition:background .15s;display:flex}.lista-proyecto-head:hover{background:var(--bg-card-hover)}.lista-proyecto-izq{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.lista-expand{color:var(--text-muted);flex-shrink:0;display:flex}.lista-proyecto-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.lista-proyecto-titulo{font-size:var(--fs-md);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.lista-proyecto-der{flex-shrink:0;align-items:center;gap:8px;display:flex}.lista-restante{color:var(--text-muted);white-space:nowrap;font-size:11px;font-weight:600}.lista-restante-vencido{color:var(--danger)}.lista-tareas{border-top:1px solid var(--border);background:var(--bg-secondary);flex-direction:column;gap:6px;padding:8px 16px 12px;display:flex}.lista-tareas-titulo{color:var(--accent);padding-bottom:4px;font-size:11px;font-weight:600}.lista-tareas-vacio{color:var(--text-muted);padding:8px 0;font-size:12px}.lista-tarea{border-radius:var(--radius-sm);align-items:center;gap:8px;padding:6px 8px;transition:background .1s;display:flex}.lista-tarea:hover{background:var(--bg-card-hover)}.lista-tarea-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.lista-tarea-titulo{font-size:var(--fs-sm);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.lista-tarea-resp{color:var(--text-muted);white-space:nowrap;font-size:.85em}.lista-check{border:2px solid var(--border);color:#0000;cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;padding:0;transition:all .2s;display:flex}.lista-check:hover{background:#10b9811f;border-color:#10b981}.lista-check[data-done="1"]{color:#fff;background:#10b981;border-color:#10b981}.lista-check[data-recien="1"]{animation:.32s cubic-bezier(.34,1.56,.64,1) check-rebote}.lista-check[data-recien="1"] svg{animation:.2s ease-out backwards check-aparece}.lista-check[data-recien="1"] svg path{stroke-dasharray:24;stroke-dashoffset:24px;animation:.3s ease-out 60ms forwards check-trazo}@keyframes check-rebote{0%{transform:scale(1)}45%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes check-aparece{0%{opacity:0}to{opacity:1}}@keyframes check-trazo{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.lista-check[data-recien="1"],.lista-check[data-recien="1"] svg{animation:none}.lista-check[data-recien="1"] svg path{stroke-dashoffset:0;animation:none}}.lista-tarea-done .lista-tarea-titulo{color:var(--text-secondary);text-decoration:line-through}.lista-tarea-resp-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.lista-tarea-estado{white-space:nowrap;font-size:11px;font-weight:600}.lista-tarea-fechas{font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap}.lista-abrir{border:1px solid var(--accent);color:var(--accent);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);background:0 0;align-self:flex-end;margin-top:4px;padding:4px 12px;font-family:inherit;font-size:11px;font-weight:600}.lista-abrir:hover{background:var(--accent);color:#fff}.gt-col-act{width:var(--col-act)}.gt-col-resp{width:var(--col-resp)}.gt-col-status{width:var(--col-status)}.cpv-templates-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:8px;padding:10px;animation:.15s slideDown;display:flex}.cpv-tpl-list{flex-wrap:wrap;gap:6px;display:flex}.cpv-tpl-item{border-radius:var(--radius-sm);background:var(--bg-card-hover);border:1px solid var(--border);transition:var(--transition);align-items:center;gap:6px;padding:4px 8px;font-size:12px;display:flex}.cpv-tpl-item:hover{border-color:var(--border-hover)}.cpv-tpl-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.cpv-tpl-name{color:var(--text-primary);white-space:nowrap;font-weight:600}.cpv-tpl-add{color:var(--accent);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:3px;padding:2px 6px;font-family:inherit;font-size:10px;font-weight:700}.cpv-tpl-add:hover{background:var(--accent);color:#fff}.cpv-tpl-del{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;padding:2px;display:flex}.cpv-tpl-del:hover{color:var(--danger)}.cpv-tpl-empty{color:var(--text-muted);font-size:11px}.cpv-tpl-form{align-items:center;gap:6px;display:flex}.cpv-tpl-input{flex:1;padding:6px 10px;font-size:12px}.cpv-tpl-color{border:2px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:var(--bg-card);width:32px;height:32px;padding:2px}.shared-color-picker{flex-wrap:wrap;gap:4px;padding:6px;display:flex}.shared-color-opt{cursor:pointer;border:2px solid #0000;border-radius:50%;padding:0;transition:transform .12s}.shared-color-opt:hover{border-color:#ffffff80;transform:scale(1.2)}.shared-color-opt.active{border-color:#fff;transform:scale(1.15);box-shadow:0 0 6px #fff6}.shared-color-add{border:1.5px dashed var(--text-muted);cursor:pointer;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex;position:relative;overflow:hidden}.shared-color-add input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.shared-color-add:hover{border-color:var(--accent);color:var(--accent)}.shared-color-none{color:var(--text-muted);justify-content:center;align-items:center;font-size:9px;display:flex;background:var(--bg-card)!important;border:1.5px dashed var(--text-muted)!important}.cpv-tpl-color-btn{cursor:pointer;border:2px solid #fff3;border-radius:50%;flex-shrink:0;width:32px;height:32px;transition:transform .15s}.cpv-tpl-color-btn:hover{border-color:#ffffff80;transform:scale(1.1)}.cpv-tpl-bar{flex-wrap:wrap;flex-shrink:0;gap:6px;display:flex}.cpv-tpl-pill{cursor:grab;background:var(--bg-card);transition:var(--transition);border:1.5px solid;border-radius:20px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;display:flex}.cpv-tpl-pill:hover{background:var(--bg-card-hover)}.cpv-tpl-pill-new{cursor:pointer;border-style:dashed;border-color:#6b7280}.cpv-tpl-separator{background:var(--border);width:1px;height:18px;margin:0 4px}.cpv-tpl-pill-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.cpv-tpl-pill-name{color:var(--text-primary);white-space:nowrap;font-weight:600}.cpv-tpl-pill-add{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;padding:0;font-family:inherit;font-size:10px;font-weight:700}.cpv-tpl-pill-add:hover{color:var(--accent)}.cpv-tpl-add-btn{background:var(--bg-card);border:1.5px dashed var(--border);width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex}.cpv-tpl-add-btn:hover{color:var(--accent);border-color:var(--accent)}.cpv-tpl-list-modal{flex-wrap:wrap;gap:6px;max-height:200px;display:flex;overflow-y:auto}.cpv-right-body,.gt-right-body,.tl-scroll,.cpv-left-body,.gt-left-body{will-change:scroll-position;-webkit-overflow-scrolling:touch}.cpv-grid-row,.gt-grid-row{contain:layout style}.gt-cell{contain:strict}.cpv-grid-cell{contain:layout style}.cpv-bar,.gt-bar{will-change:transform, width;contain:layout style}.cpv-row-left,.gt-row-left{contain:layout style}.badge,.calendar-grid{contain:style}.bl-lane{border-bottom:2px solid var(--accent);background:var(--bg-card)}.bl-creating{cursor:crosshair!important;background:var(--accent-bg-subtle)!important}.bl-bar{cursor:grab;user-select:none;border-radius:4px;align-items:center;gap:2px;padding:0 5px;display:flex;overflow:hidden}.bl-bar:hover{filter:brightness(1.1)}.bl-del{color:#ffffff80;cursor:pointer;opacity:0;background:0 0;border:none;flex-shrink:0;padding:2px;font-size:10px;transition:opacity .1s;display:flex}.bl-bar:hover .bl-del{opacity:1}.bl-del:hover{color:#fff}.bl-resize{color:#ffffff80;cursor:ew-resize;opacity:0;flex-shrink:0;align-items:center;transition:opacity .1s;display:flex}.bl-bar:hover .bl-resize{opacity:1}.bl-title-input{color:#fff;border-radius:var(--r-inline);background:#0003;border:none;outline:none;width:100%;min-width:30px;padding:1px 4px;font-family:inherit;font-size:10px;font-weight:700}.bl-hint{color:var(--accent);font-size:9px;font-weight:600;animation:1s infinite pulse;position:absolute;bottom:2px;left:8px}.bl-color-picker{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:4px}.cpv-grid-cell-bg{transition:none}.cpv-blocks-spacer{border-bottom:2px solid var(--accent);background:var(--bg-card);box-sizing:border-box;flex-shrink:0;align-items:flex-end;padding:0 10px 4px;display:flex}.cpv-blocks-label{text-transform:uppercase;letter-spacing:.8px;color:var(--accent);opacity:.7;font-size:9px;font-weight:700}.today-blocks-row{flex-wrap:wrap;gap:6px;padding:4px 0;display:flex}.today-block{color:#fff;white-space:nowrap;text-shadow:0 1px 2px #0003;border-radius:6px;padding:4px 12px;font-size:11px;font-weight:700}.bl-highlight{background:var(--accent-bg-hover)!important}.bl-name-bar{background:var(--accent);box-shadow:0 0 0 2px var(--accent-glow);border-radius:4px;align-items:center;padding:0 2px;display:flex}.bl-name-input{color:#fff;background:0 0;border:none;outline:none;width:100%;padding:2px 4px;font-family:inherit;font-size:10px;font-weight:700}.bl-tpl-row{z-index:6;align-items:center;gap:4px;display:flex;position:absolute;bottom:3px;left:4px}.bl-tpl-pill{background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:var(--transition);white-space:nowrap;border:1.5px solid;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-family:inherit;font-size:9px;font-weight:600;display:flex}.bl-tpl-pill:hover{background:var(--bg-card-hover);color:var(--text-primary)}.bl-tpl-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.cpv-modal-form{flex-direction:column;gap:12px;display:flex}.cpv-modal-row{gap:12px;display:flex}.cpv-modal-field{flex-direction:column;flex:1;gap:4px;display:flex}.cpv-modal-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.cpv-modal-color-row{align-items:center;gap:8px;display:flex}.cpv-modal-color-dot{cursor:pointer;border:2px solid #fff3;border-radius:50%;width:28px;height:28px;transition:transform .15s}.cpv-modal-color-dot:hover{transform:scale(1.1)}.cpv-modal-color-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:12px;transition:color .15s}.cpv-modal-color-clear:hover{color:var(--danger)}.pp-container{flex-direction:column;flex:1;gap:16px;min-height:0;padding:0 0 16px;display:flex;overflow-y:auto}.pp-summary{border-radius:var(--radius-md);padding:16px 20px}.pp-summary-title{font-size:var(--fs-sm);color:var(--text-primary);margin-bottom:12px;font-weight:700}.pp-stats{flex-wrap:wrap;gap:8px;display:flex}.pp-stat{border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border);flex-direction:column;flex:1;align-items:center;gap:2px;min-width:100px;padding:10px 8px;display:flex}.pp-stat-icon{opacity:.8}.pp-stat-value{font-size:var(--fs-xl);color:var(--text-primary);font-weight:800;line-height:1.1}.pp-stat-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.5px;text-align:center;font-weight:600}.pp-pipeline{border-radius:var(--radius-md);padding:16px 20px}.pp-pipeline-title{font-size:var(--fs-sm);color:var(--text-primary);font-weight:700}.pp-pipeline-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.pp-header-controls{align-items:center;gap:10px;display:flex}.pp-sort-toggle{color:var(--text-muted);align-items:center;gap:4px;display:flex}.pp-sort-select{font-size:var(--fs-xs);background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);padding:4px 8px;font-family:inherit;font-weight:600}.pp-sort-select:hover{border-color:var(--accent);color:var(--text-primary)}.pp-filter-toggle{border-radius:var(--radius-sm);border:1px solid var(--border);display:flex;overflow:hidden}.pp-filter-btn{font-size:var(--fs-xs);background:var(--bg-secondary);color:var(--text-muted);cursor:pointer;transition:var(--transition);border:none;padding:4px 12px;font-family:inherit;font-weight:600}.pp-filter-btn:not(:last-child){border-right:1px solid var(--border)}.pp-filter-btn.active{background:var(--accent);color:#fff}.pp-filter-btn:hover:not(.active){color:var(--text-primary)}.pp-filter-standalone{border-radius:var(--radius-sm);border:1px solid var(--border);align-items:center;gap:4px;display:flex}.pp-rows{flex-direction:column;gap:12px;display:flex}.pp-row{border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border);transition:var(--transition);align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.pp-row-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:5px}.pp-row-body{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.pp-row-header{justify-content:space-between;align-items:center;display:flex}.pp-row-title-area{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.pp-row-chevron{color:var(--text-muted);transition:var(--transition);flex-shrink:0;display:flex}.pp-row-collapsed{padding:10px 16px}.pp-row-collapsed .pp-row-body{gap:0}.pp-row-title{font-size:var(--fs-sm);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.pp-row-title.complex{cursor:pointer}.pp-row-title.complex:hover{color:var(--accent)}.pp-row-client{color:var(--text-muted);font-weight:500}.pp-row-url{color:var(--text-muted);font-size:var(--fs-xs);flex-shrink:0;align-items:center;gap:4px;text-decoration:none;transition:color .15s;display:flex}.pp-row-url:hover{color:var(--accent)}.pp-row-url-text{font-size:var(--fs-xs);opacity:.7}.pp-row-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.pp-row-risk{font-size:var(--fs-xs);align-items:center;gap:4px;font-weight:700;display:flex}.pp-phases{border:none;border-radius:10px;align-items:stretch;display:flex;overflow:hidden}.pp-phase{font-size:var(--fs-xs);color:#ffffffe6;letter-spacing:.3px;border-radius:0;flex:1;justify-content:center;align-items:center;min-height:65px;padding:0 12px;font-weight:400;transition:all .2s;display:flex;position:relative}.pp-phase.future{background:var(--bg-card);color:var(--text-muted);opacity:.7}.pp-phase.cancelled{background:var(--bg-card);color:var(--text-muted);opacity:.3}.pp-phase.done{opacity:.85}.pp-phase.active{outline:2.5px solid var(--accent);outline-offset:-2px;box-shadow:0 0 12px var(--accent-glow);z-index:1;background:var(--accent-bg)!important;color:var(--accent)!important}.pp-phase-label{z-index:1;white-space:nowrap;text-align:center;padding:0 4px;position:relative}.pp-phase-simple-col{flex-direction:column;flex:1;align-items:center;gap:2px;min-width:0;max-width:140px;display:flex}.pp-phase-date-below{font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;text-align:center;padding:0 15px;font-weight:500}.pp-phases-simple-wrap{flex-wrap:wrap;gap:15px 0;margin-top:20px;margin-bottom:20px;display:flex}.pp-phase-col-simple{flex-direction:column;flex:auto;align-items:center;gap:0;min-width:0;display:flex}.pp-phase-col-simple .pp-phase{border-radius:0;width:100%;min-height:65px}.pp-phase-col-simple:first-child .pp-phase{border-radius:10px 0 0 10px}.pp-phase-col-simple:last-child .pp-phase{border-radius:0 10px 10px 0}.pp-phase-col-simple:only-child .pp-phase{border-radius:10px}.pp-phases-simple-dates{display:flex}.pp-phases-simple-dates .pp-phase-date-below{text-align:center;flex:1;max-width:140px}.pp-row-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.pp-row-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pp-row-actions{align-items:center;gap:8px;display:flex}.pp-row-log-btn{background:var(--bg-card);border:1px solid var(--border);width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:var(--transition);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.pp-row-log-btn:hover{border-color:var(--accent);color:var(--accent)}.pp-row-status-btn{font-size:var(--fs-xs);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border);transition:var(--transition);align-items:center;gap:4px;padding:3px 10px;font-family:inherit;font-weight:600;display:flex}.pp-row-status-btn:hover{border-color:var(--accent)}.pp-row-status-select{font-size:var(--fs-xs);color:#fff;cursor:pointer;text-align:center;border:none;border-radius:20px;outline:none;padding:3px 10px;font-family:inherit;font-weight:600}.pp-status-picker{z-index:999;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);flex-direction:column;gap:2px;min-width:140px;margin-bottom:4px;padding:6px;display:flex;position:absolute;bottom:100%;right:0}.pp-status-opt{color:var(--text-secondary);font-size:var(--fs-select);cursor:pointer;text-align:left;transition:var(--transition);background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;width:100%;padding:3px 6px;font-family:inherit;display:flex}.pp-status-opt:hover{background:var(--bg-card);color:var(--text-primary)}.pp-status-opt.active{color:var(--accent);font-weight:600}.pp-risk-overdue{border-left:3px solid #ef4444}.pp-risk-at-risk{border-left:3px solid #f59e0b}.pp-risk-on-track{border-left:3px solid #10b981}.pp-risk-done{background:#10b9810d;border-left:3px solid #10b981}.pp-empty{text-align:center;color:var(--text-muted);font-size:var(--fs-sm);padding:32px}.pp-complex-bar-wrap{flex-direction:column;align-items:flex-start;gap:10px;margin-top:20px;display:flex}.pp-complex-bar-col{flex-direction:column;flex:1;gap:4px;display:flex}.pp-complex-bar-col .pp-phases{width:100%}.pp-complex-progress{font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;flex-shrink:0;margin-top:4px;font-weight:700}.pp-phase-overdue{animation:2s infinite pulse-overdue;color:var(--text-primary)!important}.pp-phase-late{opacity:.85}@keyframes pulse-overdue{0%,to{opacity:1}50%{opacity:.7}}.pp-overdue-alert{font-size:var(--fs-xs);color:#ef4444;text-overflow:ellipsis;white-space:nowrap;flex-direction:column;gap:2px;font-weight:600;display:flex;overflow:hidden}.pp-overdue-alert span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pp-delay-notes{flex-direction:column;gap:8px;margin:8px 0;display:flex}.pp-time-toggles{gap:6px;display:flex}.pp-time-toggle{border:1px solid var(--border);border-radius:var(--r-inline);color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;align-self:flex-start;align-items:center;gap:4px;padding:2px 8px;font-size:.7em;display:inline-flex}.pp-time-toggle:hover{color:var(--text-primary);border-color:var(--accent)}.pp-time-toggle.active{color:var(--accent);border-color:var(--accent)}.pp-delay-item{font-size:var(--fs-xs);align-items:center;gap:6px;display:flex}.pp-delay-branch{color:var(--text-muted);font-family:monospace;font-size:var(--fs-xs);flex-shrink:0}.pp-delay-badge{white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;font-weight:600;display:flex}.pp-delay-badge.overdue{color:#ef4444}.pp-delay-badge.late{color:#f59e0b}.pp-delay-badge.ontime{color:#10b981}.pp-delay-date{opacity:.7;font-weight:400}.pp-delay-note{color:var(--text-primary);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;font-style:normal;font-size:var(--fs-xs);overflow:hidden}.pp-delay-input{min-width:120px;font-size:var(--fs-xs);background:var(--bg-card);border:1px solid var(--accent);border-radius:var(--r-inline);color:var(--text-primary);flex:1;padding:2px 6px;font-family:inherit;font-style:italic}.pp-add-note-btn{color:#10b981;transition:var(--transition);cursor:pointer;justify-content:center;align-items:center;font-size:1.1em;font-style:normal;font-weight:700;line-height:1;display:inline-flex}.pp-add-note-btn:hover{background:#10b9814d}.pp-delay-user-note{color:var(--text-primary);cursor:pointer;font-style:italic;font-weight:400}.pp-delay-user-note:hover{opacity:.6}.pp-delay-old-date{color:var(--text-muted);text-decoration:line-through}.pp-delay-new-date{color:#10b981;font-weight:700}.pp-phases-grid{flex-wrap:wrap;gap:15px 0;width:100%;display:flex}.pp-phases-grid .pp-phase-col{flex-direction:column;flex:auto;align-items:center;gap:0;min-width:0;display:flex}.pp-phases-grid .pp-phase{border-radius:0;justify-content:center;align-items:center;width:100%;min-height:65px;padding:5px 10px;display:flex}.pp-phases-grid .pp-phase-col:first-child .pp-phase{border-radius:10px 0 0 10px}.pp-phases-grid .pp-phase-col:last-child .pp-phase{border-radius:0 10px 10px 0}.pp-phases-grid .pp-phase-col:only-child .pp-phase{border-radius:10px}.pp-phases-grid-dates{display:contents}.pp-phase-col{flex-direction:column;align-items:center;gap:2px;min-width:0;display:flex}.pp-phase-date-top{font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;padding:0 15px;font-weight:500}.pp-phase-date-bottom{font-size:var(--fs-xs);cursor:pointer;color:var(--text-secondary);text-align:center;background:0 0;border:1px solid #0000;border-radius:4px;max-width:100%;padding:1px 4px;font-family:inherit;font-weight:600}.pp-phase-date-bottom:hover{border-color:var(--border)}.pp-phase-date-bottom:focus{border-color:var(--accent);outline:none}.bl-check{color:#0000;cursor:pointer;background:0 0;border:2px solid #ffffff59;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-right:4px;transition:all .2s;display:flex}.bl-check:hover{background:#ffffff1a;border-color:#fffc;transform:scale(1.1)}.bl-check[data-done="1"]{color:#fff;background:#ffffff4d;border-color:#ffffffb3;box-shadow:0 0 6px #fff3}.cpv-task-check{border:2px solid var(--border);color:#0000;cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s;display:flex}.cpv-task-check:hover{background:#10b9811a;border-color:#10b981;transform:scale(1.1)}.cpv-task-check[data-done="1"]{color:#fff;background:#10b981;border-color:#10b981;transform:scale(1.1);box-shadow:0 2px 8px #10b98166}.cpv-task-check[data-cancelled="1"]{color:#fff;background:#ef4444;border-color:#ef4444;transform:scale(1.1);box-shadow:0 2px 8px #ef444466}.cpv-text-done{color:var(--text-secondary)}.cpv-row-done{background:#10b9810d}.cpv-done-badge{color:#fff;white-space:nowrap;background:#10b981;border-radius:10px;align-items:center;gap:3px;margin-left:8px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}.cpv-cancelled-badge{color:#fff;white-space:nowrap;background:#ef4444;border-radius:10px;align-items:center;gap:3px;margin-left:8px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}.cpv-status-label{font-size:var(--fs-xs);font-weight:700}.cpv-completed-at{font-size:var(--fs-sm);background:var(--bg-card);border:1px solid var(--border);cursor:pointer;width:auto;min-width:130px;transition:var(--transition);color:inherit;color-scheme:dark;border-radius:6px;padding:3px 8px;font-family:inherit;font-weight:600}.cpv-completed-at:hover{border-color:var(--accent);background:var(--accent-bg)}.cpv-completed-at:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow);outline:none}[data-theme=light] .cpv-completed-at{color-scheme:light}.cpv-bar-check{color:#0000;cursor:pointer;background:0 0;border:2px solid #ffffff59;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:all .2s;display:flex}.cpv-bar-check:hover{background:#ffffff1a;border-color:#fffc;transform:scale(1.1)}.cpv-bar-check[data-done="1"]{color:#fff;background:#ffffff4d;border-color:#ffffffb3;box-shadow:0 0 6px #fff3}.cpv-bar-check[data-cancelled="1"]{color:#fff;background:#ef4444;border-color:#ef4444;box-shadow:0 0 6px #ef44444d}.cpv-bar-done{opacity:.55}.cpv-bar-done .cpv-bar-label{text-decoration:line-through}.bl-bar[style] .bl-check[data-done="1"]~.cpv-bar-label{opacity:.7;text-decoration:line-through}[data-theme=light] .pp-phase{color:#000000b3}[data-theme=light] .pp-phase.future{color:var(--text-muted);background:#00000012}[data-theme=light] .pp-phase.done,[data-theme=light] .pp-phase.active{color:#fff}[data-theme=light] .bl-del{color:#0006}[data-theme=light] .bl-del:hover{color:#000c}[data-theme=light] .bl-resize{color:#0006}[data-theme=light] .bl-check{border-color:#0000004d}[data-theme=light] .bl-check:hover{background:#0000000d;border-color:#0009}[data-theme=light] .bl-check[data-done="1"]{color:#000;background:#0003;border-color:#00000080}[data-theme=light] .cpv-bar-check{border-color:#0000004d}[data-theme=light] .cpv-bar-check:hover{background:#0000000d;border-color:#0009}[data-theme=light] .cpv-bar-check[data-done="1"]{color:#000;background:#0003;border-color:#00000080}[data-theme=light] .cpv-bar .cpv-bar-label{text-shadow:none;color:#000c}[data-theme=light] .cpv-bar-resize{color:#0006}.login-container{background:var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-form{background:var(--bg-secondary);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:12px;flex-direction:column;gap:12px;width:300px;padding:32px;display:flex}.login-title{text-align:center;color:var(--text-primary);margin:0 0 8px;font-size:1.4em;font-weight:700}.login-input{border-radius:var(--r-control);border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);transition:var(--transition);outline:none;padding:10px 12px;font-size:.9em}.login-input:focus{border-color:var(--accent)}.login-btn{border-radius:var(--r-control);background:var(--accent);color:#fff;cursor:pointer;transition:var(--transition);border:none;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:.9em;font-weight:600;display:flex}.login-btn:hover{opacity:.9}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-error{color:#ef4444;text-align:center;font-size:.8em}.completion-popup-overlay{z-index:9999;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.completion-popup{background:var(--bg-secondary);border:1px solid var(--border);width:340px;box-shadow:var(--shadow-lg);border-radius:12px;flex-direction:column;gap:12px;padding:24px;display:flex}.completion-popup-title{color:var(--text-primary);align-items:flex-start;gap:7px;margin:0;font-size:1em;font-weight:600;display:flex}.completion-popup-icono{flex-shrink:0;margin-top:1px}.completion-popup-input{border-radius:var(--r-control);border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);resize:none;outline:none;padding:10px;font-family:inherit;font-size:.85em}.completion-popup-input:focus{border-color:var(--accent)}.completion-popup-actions{justify-content:flex-end;gap:8px;display:flex}.completion-popup-cancel{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;padding:8px 14px;font-size:.85em}.completion-popup-confirm{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:8px;padding:8px 14px;font-size:.85em;font-weight:600}.completion-popup-confirm:hover{opacity:.9}.auth-users-modal{width:400px;max-height:80vh;overflow-y:auto}.auth-users-list{flex-direction:column;gap:4px;margin:12px 0;display:flex}.users-view{height:100%;padding:24px 32px;overflow-y:auto}.users-view-header{flex-wrap:wrap;align-items:center;gap:12px;min-height:30px;margin-bottom:16px;display:flex}.users-view-header h2{font-size:var(--fs-lg);color:var(--text-primary);margin:0}.users-view-count{font-size:var(--fs-xs);color:var(--text-muted)}.users-view-content{grid-template-columns:1fr 320px;align-items:start;gap:24px;display:grid}.users-view-table-wrap{overflow-x:auto}.users-view-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.users-view-table th{text-align:left;color:var(--text-muted);border-bottom:2px solid var(--border);font-weight:600;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.5px;padding:10px 12px}.users-view-table td{border-bottom:1px solid var(--border);padding:10px 12px}.users-view-table tbody tr:hover{background:var(--bg-secondary)}.users-row-active{background:var(--accent-bg)!important}.users-cell-name{color:var(--text-primary);font-weight:600}.users-cell-actions{gap:6px;display:flex}.users-btn-edit,.users-btn-del{cursor:pointer;font-size:var(--fs-sm);color:var(--text-muted);background:0 0;border:none;border-radius:4px;padding:4px 6px}.users-btn-edit:hover{color:var(--accent);background:var(--accent-bg)}.users-btn-del:hover{color:#ef4444;background:#ef44441a}.users-role-badge{font-size:var(--fs-xs);border-radius:10px;padding:4px 10px;font-weight:600}.users-role-superadmin{color:#8b5cf6;background:#8b5cf626}.users-role-admin{color:#3b82f6;background:#3b82f626}.users-role-user{color:#6b7280;background:#6b728026}.users-view-form{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:20px}.users-view-form h3{font-size:var(--fs-md);color:var(--text-primary);margin:0 0 12px}.users-form-grid{flex-direction:column;gap:8px;display:flex}.users-form-grid .input{font-size:var(--fs-sm)}.users-pos-field{flex-direction:column;gap:6px;display:flex}.users-pos-label{font-size:var(--fs-xs);color:var(--text-secondary);font-weight:600}.users-locked{color:var(--text-secondary);opacity:.6;align-items:center;display:inline-flex}.users-slack-btn{font-size:var(--fs-xs)}.slack-chip{font-size:var(--fs-xs);border-radius:12px;align-items:center;gap:5px;padding:2px 9px;font-weight:600;display:inline-flex}.slack-chip-dot{background:currentColor;border-radius:50%;width:7px;height:7px}.slack-chip.on{color:#10b981;background:#10b98126}.slack-chip.off{color:var(--text-muted);background:#6b728026}.slack-estado{font-size:var(--fs-xs);font-weight:600}.slack-estado.ok{color:#10b981}.slack-estado.ko{color:#f59e0b}.slack-estado.off,.slack-estado.pend{color:var(--text-muted)}.slack-celda{align-items:center;gap:6px;display:inline-flex}.slack-mini{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border-radius:4px;padding:1px 6px;font-size:10px}.slack-mini:hover{color:var(--accent);border-color:var(--accent)}.slack-mini.enviar:hover{color:#10b981;border-color:#10b981}.users-slack-msg{font-size:var(--fs-xs);color:var(--text-secondary)}.sec-icono{color:var(--text-muted);flex-shrink:0;align-self:center;align-items:center;margin-right:10px;display:inline-flex}.seccion{flex-direction:column;height:100%;display:flex;overflow:hidden}.seccion-tabs{flex-shrink:0;margin:0;padding:12px 24px 0}.seccion-cuerpo{flex:1;min-height:0;padding:12px 32px 24px;overflow-y:auto}.seccion-cuerpo>.users-view,.seccion-cuerpo>.pend-view,.seccion-cuerpo>.act-view{height:auto;padding:0;overflow:visible}.admin-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:16px 18px}.admin-panel-angosto{max-width:460px}.admin-nota{font-size:var(--fs-xs);color:var(--text-muted);margin:0 0 10px}.est-tipo{font-size:var(--fs-xs);white-space:nowrap;background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border);cursor:help;border-radius:10px;padding:2px 9px;font-weight:600;display:inline-block}.est-tipo.auto{color:var(--accent);border-color:var(--accent);background:0 0}.est-candado{color:var(--text-muted);opacity:.5;cursor:help;align-items:center;display:inline-flex}.est-nota{font-size:var(--fs-xs);color:var(--text-muted)}.cat-barra{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:14px;display:flex}.cat-form{align-items:center;gap:6px;display:flex}.cat-input{max-width:220px}.cat-add{flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;width:40px;min-height:38px;padding:0;display:flex}.cat-add:disabled{opacity:.4;cursor:default}.cat-filtro{white-space:nowrap}.cli-huerfanos{font-size:var(--fs-xs);color:#f59e0b;background:#f59e0b26;border-radius:12px;margin-left:auto;padding:2px 9px;font-weight:600}.cat-tabla td{vertical-align:middle}.cli-chevron{cursor:pointer;color:var(--text-muted);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:flex}.cli-chevron:hover{color:var(--accent)}.cli-chevron-hueco{flex-shrink:0;width:14px}.cat-nombre{align-items:center;gap:8px;font-weight:600;display:inline-flex}.cat-nombre-texto{cursor:text}.cat-nombre-texto:hover{text-underline-offset:3px;text-decoration:underline dotted}.cat-conteo{white-space:nowrap}.cli-activos{color:var(--text-muted);font-weight:400;font-size:var(--fs-xs)}.cat-vacio{color:var(--text-muted);font-style:italic;font-size:var(--fs-xs)}.cli-claves-wrap{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.cli-mas{font-size:var(--fs-xs);color:var(--text-muted);font-weight:600}.cat-acciones{white-space:nowrap;width:54px;padding-right:0!important}.cat-acciones-wrap{align-items:center;gap:6px;display:flex}.cat-tabla .status-edit,.cat-tabla .status-delete{opacity:0}.cat-tabla tr:hover .status-edit,.cat-tabla tr:hover .status-delete{opacity:1}.cli-fila-abierta{background:var(--bg-secondary)}.cli-detalle-fila>td{padding-top:0!important}.cli-detalle{flex-direction:column;gap:2px;padding:4px 0 10px;display:flex}.cli-proyecto{font-size:var(--fs-xs);border-radius:6px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:5px 8px;display:grid}.cli-proyecto:hover{background:var(--bg-card)}.cli-proyecto-fin{opacity:.5}.cli-proyecto-clave{min-width:0}.cli-proyecto-titulo{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.cli-proyecto-fechas{color:var(--text-muted);white-space:nowrap}.cli-proyecto-estado{white-space:nowrap;font-weight:600}.admin-toggle{cursor:pointer;align-items:flex-start;gap:9px;margin-top:8px;display:flex}.admin-toggle input{flex-shrink:0;margin-top:3px}.admin-toggle span{flex-direction:column;gap:3px;display:flex}.admin-toggle strong{font-size:var(--fs-sm);color:var(--text-primary);font-weight:600}.admin-toggle em{font-size:var(--fs-xs);color:var(--text-muted);font-style:normal;line-height:1.45}.admin-panel .templates-section{max-width:none;height:auto;margin:0;padding:0}.aus-tipo{font-size:var(--fs-xs);white-space:nowrap;border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-weight:600;display:inline-flex}.aus-ahora{color:var(--accent);text-transform:uppercase;letter-spacing:.4px;margin-left:6px;font-size:10px;font-weight:700}.aus-en-curso{background:#3ecf8e0f}.aus-nota{color:var(--text-secondary);font-size:var(--fs-xs);max-width:260px}.aus-hoy-chip{font-size:var(--fs-xs);color:#0ea5e9;background:#0ea5e926;border-radius:12px;align-items:center;gap:5px;padding:2px 9px;font-weight:600;display:inline-flex}.aus-campo{font-size:var(--fs-xs);color:var(--text-secondary);flex-direction:column;gap:3px;display:flex}.today-fuera{font-size:var(--fs-xs);color:#0ea5e9;background:#0ea5e926;border-radius:12px;align-items:center;gap:5px;margin-left:10px;padding:2px 9px;font-weight:600;display:inline-flex}.dia-ausencia{background-image:repeating-linear-gradient(-45deg,#0000,#0000 3px,#0ea5e94d 3px 6px)}.dia-ausencia-incapacidad{background-image:repeating-linear-gradient(-45deg,#0000,#0000 3px,#ef44444d 3px 6px)}.dia-ausencia-permiso{background-image:repeating-linear-gradient(-45deg,#0000,#0000 3px,#a855f74d 3px 6px)}.badge-indicadores{flex-shrink:0;align-self:flex-start;align-items:center;gap:3px;margin-left:auto;display:flex}.badge-nota{color:var(--text-secondary);cursor:help;align-items:center;display:inline-flex}.badge-nota:hover{color:var(--accent)}.badge-desc-nota{color:var(--text-muted);display:block}.badge-desc-autor{color:var(--text-muted);white-space:nowrap;margin-left:6px;font-weight:600}.badge-desc-actividad{border-left:2px solid var(--border);color:var(--text-muted);margin-top:2px;padding-left:6px;display:block}.badge-desc-nota svg{vertical-align:-1px;opacity:.8;margin-right:3px}.badge-aus,.badge-aus-hoy{outline-offset:-2px;outline:2px solid var(--aus-color,#0ea5e9)}.badge-aus-capa{border-radius:inherit;pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.badge-aus-banda{background-image:repeating-linear-gradient(-45deg, transparent, transparent 3px, color-mix(in srgb, var(--aus-color,#0ea5e9) 30%, transparent) 3px, color-mix(in srgb, var(--aus-color,#0ea5e9) 30%, transparent) 6px);box-shadow:inset 1px 0 0 color-mix(in srgb, var(--aus-color,#0ea5e9) 55%, transparent), inset -1px 0 0 color-mix(in srgb, var(--aus-color,#0ea5e9) 55%, transparent);position:absolute;top:0;bottom:0}.cpv-resp-tag.resp-ausente{color:var(--aus-color,#0ea5e9);border:1px dashed var(--aus-color,#0ea5e9);background:color-mix(in srgb, var(--aus-color,#0ea5e9) 12%, transparent);align-items:center;gap:3px;display:inline-flex}.excel-tip{z-index:10000;pointer-events:none;background:var(--bg-primary);max-width:280px;color:var(--text-primary);border:1px solid var(--border);font-size:var(--fs-xs);border-radius:8px;padding:8px 10px;line-height:1.45;position:fixed;box-shadow:0 6px 20px #00000040}.excel-tip-head{align-items:center;gap:6px;margin-bottom:2px;display:flex}.excel-tip-swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px}.excel-tip-meta{color:var(--text-muted)}.excel-tip-desc{color:var(--text-secondary);margin-top:4px;font-style:italic}.excel-tip-nota{white-space:pre-wrap;border-top:1px solid var(--border);margin-top:6px;padding-top:6px}.excel-tip-nota-autor{color:var(--text-muted);margin-top:3px;font-size:.92em}.excel-tip-aus{align-items:center;gap:4px;margin-top:6px;font-weight:600;display:inline-flex}.excel-tip-ok{color:#10b981;margin-top:4px;font-weight:600}.excel-tip-pista{color:var(--text-muted);opacity:.8;margin-top:6px;font-style:italic}.excel-nota-fondo{z-index:10000;position:fixed;inset:0}.excel-nota-pop{z-index:10001;background:var(--bg-secondary);border:1px solid var(--accent);border-radius:8px;width:280px;padding:10px;position:fixed;box-shadow:0 8px 26px #0000004d}.excel-nota-titulo{font-size:var(--fs-xs);color:var(--text-secondary);margin-bottom:6px;font-weight:700}.excel-nota-input{box-sizing:border-box;resize:vertical;background:var(--bg-primary);width:100%;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--r-control);font-size:var(--fs-sm);padding:6px 8px;font-family:inherit;line-height:1.45}.excel-nota-input:focus{border-color:var(--accent);outline:none}.excel-nota-acciones{justify-content:flex-end;gap:6px;margin-top:8px;display:flex}.excel-choques{white-space:nowrap;font-size:var(--fs-xs);color:#f59e0b;cursor:help;background:#f59e0b26;border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-weight:700;display:inline-flex}.an-input{box-sizing:border-box;background:var(--bg-card);width:100%;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--r-control);font-size:var(--fs-sm);margin-bottom:8px;padding:8px 10px;font-family:inherit}.an-input:focus{border-color:var(--accent);outline:none}.an-textarea{resize:vertical;line-height:1.45}.an-destinos{flex-direction:column;gap:5px;margin:10px 0 4px;display:flex}.an-destino{font-size:var(--fs-xs);color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;display:flex}.an-destino-off{opacity:.45;cursor:not-allowed}.an-aviso{font-size:var(--fs-xs);color:var(--text-muted);margin:8px 0 12px;line-height:1.45}.an-enviar{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.an-enviar:disabled{opacity:.5;cursor:not-allowed}.an-confirmar{background:#f59e0b14;border:1px solid #f59e0b;border-radius:6px;padding:10px 12px}.an-confirmar p{font-size:var(--fs-xs);color:var(--text-primary);margin:0 0 10px;line-height:1.45}.an-confirmar-acciones{gap:8px;display:flex}.an-hist-titulo{color:var(--text-primary);font-weight:600}.an-hist-cuerpo{font-size:var(--fs-xs);color:var(--text-secondary);white-space:pre-wrap;margin-top:2px}.an-hist-tit-btn{cursor:pointer;width:100%;font:inherit;text-align:left;color:var(--text-muted);background:0 0;border:none;align-items:center;gap:5px;padding:0;display:flex}.an-hist-tit-btn:hover .an-hist-titulo{color:var(--accent)}.an-hist-sin-chevron{flex-shrink:0;width:13px;display:inline-block}.an-hist-error{font-size:var(--fs-xs);color:var(--danger);word-break:break-word;max-width:320px;margin-top:3px}.an-hist-acciones{text-align:right;white-space:nowrap}.an-hist-borrar{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:4px;padding:4px;line-height:0}.an-hist-borrar:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent)}.an-hist-app{font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:4px;margin-top:3px;display:inline-flex}.an-estado{font-size:var(--fs-xs);white-space:nowrap;font-weight:600}.an-estado-ok{color:#10b981}.an-estado-error{color:#ef4444}.an-estado-parcial{color:#f59e0b}.an-estado-espera{color:var(--text-muted)}.an-estado-nota{color:var(--text-muted);font-weight:400}.an-estado-nota.an-estado-fallo{color:#f59e0b}.users-pos-empty{font-size:var(--fs-xs);color:var(--text-secondary);font-style:italic}.users-pos-checks{border:1px solid var(--border);border-radius:6px;flex-wrap:wrap;gap:4px 10px;max-height:120px;padding:6px 8px;display:flex;overflow-y:auto}.users-pos-check{font-size:var(--fs-xs);color:var(--text-secondary);cursor:pointer;align-items:center;gap:4px;display:flex}.users-pos-manage-btn{font-size:var(--fs-xs);align-items:center;gap:5px;margin-left:auto;display:inline-flex}.positions-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;margin-bottom:14px;padding:14px 16px}.positions-panel-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.positions-panel-head h3{font-size:var(--fs-md);color:var(--text-primary);align-items:center;gap:6px;margin:0;display:flex}.positions-new{gap:6px;display:flex}.positions-new .input{font-size:var(--fs-sm);flex:1}.positions-list{flex-direction:column;gap:4px;margin:10px 0 0;padding:0;list-style:none;display:flex}.positions-item{background:var(--bg-primary);font-size:var(--fs-sm);color:var(--text-primary);border-radius:6px;align-items:center;gap:8px;padding:5px 8px;display:flex}.positions-item .input{font-size:var(--fs-sm);flex:1}.positions-item-name{flex:1}.positions-item-count{font-size:var(--fs-xs);color:var(--text-secondary);white-space:nowrap}.users-pos-tags{flex-wrap:wrap;gap:4px;display:inline-flex}.users-pos-tag{color:#3b82f6;font-size:var(--fs-xs);white-space:nowrap;background:#3b82f626;border-radius:10px;align-items:center;gap:3px;padding:2px 6px;display:inline-flex}.users-pos-tag-x{cursor:pointer;color:inherit;opacity:.7;background:0 0;border:none;align-items:center;padding:0;display:flex}.users-pos-tag-x:hover{opacity:1}.users-checkbox{font-size:var(--fs-xs);color:var(--text-secondary);align-items:center;gap:6px;margin-top:8px;display:flex}.users-boards-section{font-size:var(--fs-xs);margin-top:8px}.users-boards-label{color:var(--text-secondary);font-weight:600}.users-boards-list{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.users-board-check{color:var(--text-secondary);align-items:center;gap:3px;display:flex}.users-form-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.auth-user-row{background:var(--bg-primary);border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.auth-user-name{flex:1;font-size:.85em;font-weight:500}.auth-user-role{color:var(--text-muted);background:var(--bg-secondary);border-radius:4px;padding:2px 6px;font-size:.75em}.auth-user-position{color:var(--accent);font-size:.75em}.auth-user-edit,.auth-user-del{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:2px 4px;font-size:.9em}.auth-user-edit:hover{color:var(--accent)}.auth-user-del:hover{color:#ef4444}.auth-users-form{flex-direction:column;gap:8px;display:flex}.cpv-resp-select{width:100%;color:var(--text-primary);font-size:inherit;cursor:pointer;background:0 0;border:none;outline:none;padding:2px 0;font-family:inherit}.auth-user-label{color:var(--text-muted);font-size:.75em;font-weight:500}.auth-actions{min-height:var(--h-control);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.nav-cuenta{align-items:center;gap:8px;margin-left:auto;display:flex}.cpv-row-disabled{opacity:.5}[data-role=user] .badge:hover{box-shadow:none;transform:none}[data-role=user] .badge-icon:hover{background:0 0;transform:none}[data-role=user] .badge{cursor:default}.auth-boards-section{flex-direction:column;gap:4px;display:flex}.auth-boards-label{color:var(--text-muted);font-size:.75em;font-weight:500}.auth-boards-list{flex-wrap:wrap;gap:6px;display:flex}.auth-board-check{cursor:pointer;align-items:center;gap:4px;font-size:.8em;display:flex}.user-tab-edit-input{border:none;border-bottom:1px solid var(--accent);color:var(--text-primary);font-size:inherit;background:0 0;outline:none;width:80px;font-family:inherit}.cpv-plan-selector{align-items:center;gap:6px;margin-left:8px;display:flex}.cpv-plan-select{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-control);color:var(--text-primary);cursor:pointer;padding:3px 8px;font-family:inherit;font-size:.8em}.cpv-plan-btn{border:1px solid var(--border);border-radius:var(--r-inline);color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;padding:4px 8px;font-size:14px;position:relative}.cpv-plan-btn:hover{color:var(--accent);border-color:var(--accent)}.cpv-plan-btn[title]:hover:after{content:attr(title);background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);z-index:100;pointer-events:none;white-space:nowrap;border-radius:4px;padding:3px 8px;font-size:10px;font-weight:600;position:absolute;bottom:-26px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000026}.cpv-topbar .cpv-apply-plan-btn,.cpv-apply-plan-btn{background:var(--bg-card);color:var(--accent);border-color:var(--border);padding:2px 10px;font-weight:600}.cpv-topbar .cpv-apply-plan-btn:hover,.cpv-apply-plan-btn:hover{background:var(--bg-card);border-color:var(--accent);opacity:1}.cpv-publish-btn{background:#3b82f626;border-color:#3b82f6}.cpv-plan-active-indicator{color:var(--text-muted);background:var(--bg-secondary);white-space:nowrap;border-radius:4px;padding:2px 8px;font-size:.75em}.cpv-toast{background:var(--accent);color:#fff;z-index:9999;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:.85em;font-weight:500;animation:.3s cpv-toast-in;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0003}.cpv-toast-icono{flex-shrink:0}.cpv-toast-warn{background:#f59e0b}@keyframes cpv-toast-in{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.cpv-url-btn{border:1px solid var(--border);border-radius:var(--r-inline);color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;align-items:center;gap:4px;padding:3px 8px;font-size:.8em;display:flex;position:relative}.cpv-url-btn:hover{color:var(--accent);border-color:var(--accent)}.cpv-url-btn[title]:hover:after{content:attr(title);background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);z-index:100;pointer-events:none;white-space:nowrap;border-radius:4px;padding:3px 8px;font-size:10px;font-weight:600;position:absolute;bottom:-26px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000026}.cpv-url-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cpv-url-input{background:var(--bg-primary);border:1px solid var(--accent);border-radius:var(--r-control);color:var(--text-primary);width:220px;padding:3px 8px;font-family:inherit;font-size:.8em}.cpv-tpl-url-spacer{flex:1}.cpv-plan-empty{color:var(--text-muted);font-size:.8em;font-style:italic}.cpv-resp-tags{flex-wrap:nowrap;align-items:center;gap:3px;display:flex;overflow:hidden}.cpv-resp-tag{font-size:var(--fs-xs,.75em);color:var(--text-primary);white-space:nowrap;background:0 0;border:none;border-radius:10px;align-items:center;gap:3px;padding:4px 10px;font-weight:500;display:inline-flex}.cpv-resp-tag-x{color:var(--text-secondary);cursor:pointer;opacity:.6;background:0 0;border:none;padding:0 1px;font-size:1.1em;line-height:1}.cpv-resp-tag-x:hover{opacity:1;color:#ef4444}.cpv-resp-add-wrap{cursor:pointer;display:inline-flex;position:relative}.cpv-resp-add{color:#10b981;cursor:pointer;appearance:none;opacity:0;background:0 0;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.cpv-board-group{border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:0;display:flex}.cpv-board-group .cpv-board-select{border:none;border-right:1px solid var(--border);border-radius:0;padding:6px 8px}.cpv-board-group .cpv-import-btn{border:none;border-radius:0}.cpv-board-select{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-control);color:var(--text-primary);padding:4px 8px;font-family:inherit;font-size:.8em}.badge-participants{flex-wrap:wrap;align-items:center;gap:3px;display:flex}.badge-resp-placeholder{color:var(--text-muted);cursor:pointer;font-size:.7em;font-weight:600}.badge-resp-label{opacity:.6;margin-right:2px;font-size:.7em}.cpv-readonly .cpv-bar,.cpv-readonly .cpv-bar-resize,.cpv-readonly .cpv-cell{pointer-events:none}.cpv-readonly .cpv-bar-check{display:none}.cpv-readonly .cpv-row-left{opacity:.85}.cpv-completed-at-wrap{align-items:center;display:inline-flex}.cpv-completed-at-hidden{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.cpv-list-view{flex:1;padding:8px 16px;overflow-y:auto}.cpv-container[data-cpv-zoom="0"] .cpv-list-view{font-size:14px}.cpv-container[data-cpv-zoom="1"] .cpv-list-view{font-size:17px}.cpv-container[data-cpv-zoom="2"] .cpv-list-view{font-size:20px}.cpv-container[data-cpv-zoom="3"] .cpv-list-view{font-size:22px}.cpv-container[data-cpv-zoom="4"] .cpv-list-view{font-size:25px}.cpv-list-item{border:1px solid var(--border);transition:var(--transition);border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:4px;padding:8px 12px;display:flex}.cpv-list-item:hover{background:var(--bg-secondary)}.cpv-list-done{background:#10b9810a}.cpv-list-blocked{border-left:3px solid #f59e0b}.cpv-list-left{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.cpv-list-title{font-size:.85em}.cpv-list-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.cpv-list-dates{color:var(--text-muted);white-space:nowrap;font-size:.75em}.cpv-list-dep{color:var(--accent);white-space:nowrap;text-overflow:ellipsis;font-size:.8em;overflow:hidden}.cpv-list-pill{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:12px;align-items:center;gap:4px;max-width:120px;padding:2px 8px;font-size:.75em;display:inline-flex;position:relative}.cpv-list-pill span{text-overflow:ellipsis;overflow:hidden}.cpv-list-pill select{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.cpv-list-dep-select{font-size:inherit;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-inline);color:var(--text-muted);cursor:pointer;padding:2px 4px}.cpv-blocked-icon{color:#f59e0b;font-size:.7em}.cpv-group-row{background:var(--bg-secondary);cursor:pointer;gap:6px;padding:0 8px;font-size:.8em;font-weight:600;position:relative}.cpv-group-row:hover{background:var(--bg-primary)}.cpv-group-drop-target{outline:2px solid var(--accent);outline-offset:-2px;background:var(--bg-primary)!important}.cpv-dnd-row{position:relative}.cpv-dnd-dragging{opacity:.4}.cpv-dnd-locked{cursor:default}.cpv-dnd-locked .cpv-drag-handle,.cpv-dnd-locked .cpv-drag-handle-icon{opacity:.2;cursor:not-allowed}.cpv-dnd-row.drop-above:before{content:"";background:var(--accent);z-index:5;height:2px;position:absolute;top:0;left:0;right:0}.cpv-dnd-row.drop-below:after{content:"";background:var(--accent);z-index:5;height:2px;position:absolute;bottom:0;left:0;right:0}.cpv-dnd-row.drop-on>.cpv-row-left{outline:2px solid var(--accent);outline-offset:-2px;background:var(--bg-primary)}.cpv-drag-handle-icon{color:var(--text-muted);cursor:grab;flex-shrink:0}.cpv-group-chevron{color:var(--text-muted);cursor:pointer;width:16px;font-size:1em}.cpv-group-title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:1.3em;font-weight:600;overflow:hidden}.cpv-group-count{color:var(--text-muted);background:var(--bg-primary);border-radius:10px;margin-left:.3em;padding:.1em .5em;font-size:1.5em;font-weight:700}.cpv-list-group-count{color:var(--text-muted);background:var(--bg-primary);border-radius:10px;margin-left:4px;padding:2px 7px;font-size:.75em;font-weight:700}.cpv-list-group-count:before{content:"("}.cpv-list-group-count:after{content:")"}.cpv-group-count:before{content:"("}.cpv-group-count:after{content:")"}.cpv-row-left.cpv-row-child .cpv-cell-act{padding-left:12px}.cpv-dnd-row:has(.cpv-row-child){border-left:3px solid var(--accent);margin-left:4px}.cpv-row-active{background:#10b9810d}.cpv-active-pin{color:#10b981;z-index:2;font-size:1.4em;animation:1.5s ease-in-out infinite cpv-pin-pulse;position:absolute;left:2px}@keyframes cpv-pin-pulse{0%,to{opacity:1;transform:translate(0)}50%{opacity:.5;transform:translate(2px)}}.cpv-overdue-dot{z-index:2;background:#ef4444;border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite cpv-dot-pulse;position:absolute;left:4px}@keyframes cpv-dot-pulse{0%,to{opacity:1}50%{opacity:.4}}.cpv-group-pick{cursor:pointer;align-items:center;margin-left:4px;display:inline-flex;position:relative}.cpv-group-select{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.cpv-list-grouped{padding-left:24px}.cpv-list-group-header{background:var(--bg-secondary);cursor:pointer;justify-content:flex-start;gap:8px;font-weight:600}.cpv-grid-row-group{background:var(--bg-secondary)}.cpv-bar-group{opacity:.4;border-radius:2px;transform:translateY(-50%);background:var(--text-muted)!important;height:6px!important;top:50%!important}.cpv-bar-group .cpv-bar-label{display:none}.templates-section{width:100%;max-width:800px;height:100%;margin:0 auto;padding:24px;overflow-y:auto}.templates-section-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.templates-section-title{align-items:center;gap:8px;margin:0;font-size:1.2em;font-weight:700;display:flex}.templates-tabs{border-bottom:2px solid var(--border);gap:4px;padding-bottom:4px;display:flex}.templates-section .templates-tabs{margin-bottom:16px}.templates-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px 6px 0 0;padding:6px 14px;font-size:.9em;font-weight:500}.templates-tab.active{background:var(--bg-secondary);color:var(--text-primary);border-bottom:2px solid var(--accent);margin-bottom:-6px}.templates-content{flex-direction:column;gap:12px;display:flex}.templates-export{gap:24px}.templates-export-section{border:1px solid var(--border);border-radius:8px;padding:16px}.templates-export-section h4{margin:0 0 6px;font-size:1em}.templates-export-desc{color:var(--text-muted);margin:0 0 12px;font-size:.85em}.templates-message{background:var(--accent);color:#fff;border-radius:6px;margin-bottom:12px;padding:8px 12px;font-size:.85em}.templates-create{gap:8px;margin-bottom:16px;display:flex}.templates-create .input{flex:1}.templates-list{flex-direction:column;gap:6px;display:flex}.template-item{border:1px solid var(--border);border-radius:6px;overflow:hidden}.template-header{cursor:pointer;align-items:center;gap:8px;padding:8px 12px;display:flex}.template-header:hover{background:var(--bg-secondary)}.template-name{flex:1;font-size:.9em;font-weight:500}.template-count{color:var(--text-muted);font-size:.75em}.template-tasks-preview{padding:4px 12px 8px 28px}.template-task-row{align-items:center;gap:6px;padding:2px 0;font-size:.8em;display:flex}.template-task-pos{color:var(--text-muted);min-width:20px}.template-task-title{flex:1}.template-task-days{color:var(--accent);font-size:.85em}.template-task-dep{color:var(--text-muted);align-items:center;gap:4px;font-size:.85em;display:inline-flex}.template-empty{color:var(--text-muted);text-align:center;padding:12px;font-size:.8em}.template-edit{flex-direction:column;gap:8px;padding:8px 12px;display:flex}.template-edit-tasks{flex-direction:column;gap:4px;display:flex}.template-edit-row{align-items:center;gap:4px;display:flex}.template-edit-title{flex:1;font-size:.8em}.template-edit-days{width:50px;font-size:.8em}.template-edit-dep{width:110px;font-size:.75em}.template-edit-actions{gap:6px;display:flex}.mp-panel{width:100%;max-width:100%}.mp-title{font-size:var(--fs-lg,1.1em);color:var(--text-primary);margin:0 0 12px;font-weight:700}.mp-filters{flex-wrap:wrap;align-items:center;gap:6px;padding-bottom:12px;display:flex}.mp-filter{border-radius:var(--r-control);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);padding:4px 8px;font-family:inherit;font-size:.75em}.mp-filter-clear{color:var(--danger);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:1em}.mp-section{margin-bottom:12px}.mp-section-header{font-size:var(--fs-select,.8em);align-items:center;gap:6px;margin-bottom:6px;font-weight:600;display:flex}.mp-count{background:color-mix(in srgb, currentColor 15%, transparent);border-radius:8px;padding:1px 6px;font-size:.9em}.mp-item{font-size:var(--fs-badge,.8em);align-items:center;gap:6px;padding:4px 0;display:flex}.mp-item-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.mp-item-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);flex:1;overflow:hidden}.mp-item-link{cursor:pointer}.mp-item-link:hover{color:var(--accent);text-decoration:underline}.mp-item-dates{color:var(--text-muted);white-space:nowrap}.mp-item-days{color:var(--text-muted);font-weight:500}.mp-item-days.mp-overdue{color:#ef4444}.mp-empty{font-size:var(--fs-select,.8em);color:var(--text-muted);text-align:center;margin-top:20px}.today-upcoming{border-top:1px solid var(--border);margin-top:24px;padding-top:16px}.today-upcoming-title{color:var(--text-muted);margin:0 0 12px;font-size:.9em;font-weight:600}.mp-item-today{background:var(--hoy-tinte);border-left:3px solid var(--hoy);border-radius:6px;padding:6px 8px!important}.mp-item-status{white-space:nowrap;font-size:.85em;font-weight:500}.mp-item-status-select{cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:.8em;font-weight:600}.team-view-wrap{flex-direction:column;flex:1;min-height:0;display:flex}.team-bar-title{font-weight:700;font-size:var(--fs-md)}.team-filter-label{font-size:var(--fs-xs);color:var(--text-muted);font-weight:500}.team-list-view{flex:1;padding:20px;overflow-y:auto}.team-list-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.team-stats{font-size:var(--fs-xs);gap:12px;display:flex}.team-filters{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.team-groups{flex-direction:column;gap:16px;display:flex}.team-group{background:var(--bg-card);border-radius:var(--radius-sm);padding:12px}.team-group-header{border-bottom:1px solid var(--border);align-items:center;gap:8px;margin-bottom:8px;padding-bottom:8px;display:flex}.team-group-name{font-weight:600;font-size:var(--fs-md)}.team-group-count{font-size:var(--fs-xs);color:var(--text-muted);background:var(--bg-primary);border-radius:10px;padding:1px 7px}.team-group-tasks{flex-direction:column;gap:4px;display:flex}.team-task{cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:6px 8px;transition:background .15s;display:flex}.team-task:hover{background:var(--bg-primary)}.team-task-done{opacity:.5}.team-task-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.team-task-title{font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.team-task-status{font-size:var(--fs-xs);flex-shrink:0;font-weight:600}.team-task-dates{font-size:var(--fs-xs);color:var(--text-muted);flex-shrink:0}.cpv-summary-view{flex:1;padding:16px;overflow-y:auto}.cpv-summary-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.cpv-summary-table th{text-align:left;border-bottom:2px solid var(--border);color:var(--text-muted);padding:8px 12px;font-weight:600}.cpv-summary-table td{border-bottom:1px solid var(--border);padding:10px 12px}.cpv-summary-name{font-weight:600}.cpv-summary-done{opacity:.5}.cpv-summary-status{font-size:var(--fs-xs);color:var(--text-muted);font-weight:600}.cpv-summary-status.done{color:#10b981}.cpv-paused-badge{font-size:var(--fs-xs);color:#6b7280;background:#6b728026;border:1px dashed #6b7280;border-radius:12px;align-items:center;gap:5px;padding:3px 10px;font-weight:600;display:inline-flex}.excel-view{flex-direction:column;height:100%;display:flex;overflow:hidden}.excel-palette{border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:4px;padding:6px 12px;display:flex}.excel-palette .cpv-color-dot.active{box-shadow:0 0 0 2px var(--accent);transform:scale(1.3)}.excel-palette .excel-add-btn,.excel-palette .cpv-col-toggle,.excel-palette .excel-eraser-btn,.excel-palette .excel-active-color,.excel-palette .excel-badge,.excel-palette .excel-choques,.excel-palette .excel-readonly-tag,.excel-palette .excel-save-btn{height:var(--h-densa);box-sizing:border-box;align-items:center;padding-top:0;padding-bottom:0;display:inline-flex}.excel-add-btn{border:1px solid var(--border);border-radius:var(--r-control);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;padding:3px 10px;font-size:14px;font-weight:600}.excel-add-btn:hover{background:var(--bg-card-hover);color:var(--text-primary)}.excel-palette-sep{background:var(--border);width:1px;height:16px;margin:0 4px}.excel-color-pick-wrap{position:relative}.excel-active-color{border:2px solid var(--border);cursor:pointer;border-radius:6px;width:28px;height:28px;transition:transform .1s}.excel-active-color:hover{border-color:var(--accent);transform:scale(1.1)}.excel-eraser-btn{border:1px solid var(--border);border-radius:var(--r-control);cursor:pointer;width:28px;height:28px;color:var(--text-muted);background:0 0;justify-content:center;align-items:center;display:flex}.excel-eraser-btn:hover{border-color:var(--accent);color:var(--accent)}.excel-tool-active{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.excel-hover-row{pointer-events:none;z-index:2;background:#8080801a;position:absolute;left:0}.excel-hover-col{pointer-events:none;z-index:2;background:#8080801a;position:absolute;top:0}.excel-color-btn{border-radius:var(--r-inline);cursor:pointer;border:2px solid #0000;width:20px;height:20px;transition:transform .1s}.excel-color-btn.active{border-color:var(--text-primary);transform:scale(1.2)}.excel-color-btn:hover{transform:scale(1.15)}.excel-eraser{background:var(--bg-secondary);border:1px solid var(--border);justify-content:center;align-items:center;display:flex}.excel-badges{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:4px;padding:4px 12px;display:flex}.excel-badge{cursor:pointer;border:2px solid #0000;border-radius:12px;padding:2px 8px;font-size:14px;font-weight:700}.excel-badge:hover{opacity:.8}.excel-badge-active{border-color:var(--text-primary);transform:scale(1.1)}.excel-badge-add{border:1px dashed var(--text-muted);width:20px;height:20px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex}.excel-main-area{flex:1;display:flex;position:relative;overflow:hidden}.excel-grid-wrapper{flex-direction:column;flex:1;display:flex;overflow:hidden}.excel-unified-body{flex:1;overflow:auto}.excel-unified-inner{flex-direction:column;display:flex}.excel-sticky-header{z-index:3;background:var(--bg-secondary);display:flex;position:sticky;top:0}.excel-sticky-header .excel-left-header{z-index:4;background:var(--bg-secondary);position:sticky;left:0}.excel-body-rows{align-items:flex-start;display:flex}.excel-left-col{z-index:2;background:var(--bg-primary);border-right:2px solid var(--border);flex-shrink:0;position:sticky;left:0}.excel-right-col{flex-shrink:0}.excel-right-header-inner{flex-direction:column;display:flex;overflow:hidden}.excel-sidebar{border-left:1px solid var(--border);background:var(--bg-secondary);flex-direction:column;flex:none;gap:8px;width:clamp(360px,27vw,430px);padding:10px;display:flex;overflow-y:auto}.excel-sb-header{align-items:center;gap:4px;display:flex}.excel-sb-header select,.excel-sb-header button{font-size:14px}.excel-sb-toggle{z-index:5;background:var(--bg-secondary);border:1px solid var(--border);cursor:pointer;color:var(--text-muted);border-right:none;border-radius:6px 0 0 6px;align-items:center;gap:5px;padding:10px 6px;font-family:inherit;font-size:13px;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.excel-sb-toggle:hover{color:var(--text-primary);border-color:var(--border-hover)}.excel-sb-toggle em{letter-spacing:.06em;text-transform:uppercase;writing-mode:vertical-rl;font-size:10px;font-style:normal;font-weight:600;transform:rotate(180deg)}.excel-sb-toggle.abierto{border-radius:6px 0 0 6px;padding:12px 4px;right:clamp(360px,27vw,430px)}.excel-left-header{border-bottom:1px solid var(--border);background:var(--bg-secondary);box-sizing:border-box;flex-shrink:0;align-items:center;display:flex}.excel-lh-col{color:var(--text-muted);border-right:1px solid var(--border);justify-content:center;align-items:center;height:100%;font-size:11px;font-weight:600;display:flex;position:relative}.excel-col-resize{cursor:col-resize;z-index:2;width:8px;position:absolute;top:0;bottom:0;right:-4px}.excel-col-resize:hover{background:var(--accent);opacity:.5}.excel-left-row{box-shadow:0 1px 0 var(--border);box-sizing:border-box;align-items:center;gap:4px;padding:0 4px;display:flex}.excel-left-text{white-space:nowrap;text-overflow:ellipsis;color:var(--text-primary);cursor:default;padding:4px;font-size:13px;overflow:hidden}.excel-title-input{width:100%;height:100%;color:var(--text-primary);box-sizing:border-box;outline:2px solid var(--accent);outline-offset:-2px;background:0 0;border:none;padding:4px;font-size:13px}.excel-resp-input{width:100%;height:100%;color:var(--text-primary);text-align:center;box-sizing:border-box;background:0 0;border:none;padding:4px;font-size:13px}.excel-resp-input:focus{outline:2px solid var(--accent);outline-offset:-2px}.excel-resp-text{color:var(--text-secondary);text-overflow:ellipsis;word-wrap:break-word;padding:2px 20px;font-size:11px;line-height:1.2;overflow:hidden}.excel-group-row{font-weight:700;background:#80808026!important}.excel-group-row .excel-left-text{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:10px}.excel-group-chevron{cursor:pointer;color:var(--text-muted);border:1.5px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;display:inline-flex}.excel-group-chevron:hover{border-color:var(--accent);color:var(--accent)}.excel-check{border:1.5px solid var(--border);cursor:pointer;color:#0000;background:0 0;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;margin-right:4px;font-size:9px;display:inline-flex}.excel-check[data-done="1"]{color:#fff;background:#10b981;border-color:#10b981}.excel-check:hover{border-color:var(--accent)}.excel-group-count{color:var(--text-muted);margin-left:4px;font-size:10px;font-weight:400}.excel-consolidated-toggle{cursor:pointer;flex-shrink:0;align-items:center;margin-right:4px;display:inline-flex}.excel-consolidated-toggle input{width:15px;height:15px;margin:0}.excel-consolidated-label{color:var(--accent);margin-left:2px;font-size:11px;font-weight:700}.excel-save-btn{color:#fff;border-radius:var(--r-control);cursor:default;opacity:.5;background:#6b7280;border:none;align-items:center;gap:4px;margin-left:auto;padding:4px 12px;font-size:11px;font-weight:600;display:flex}.excel-save-btn.excel-save-dirty{color:#111827;cursor:pointer;opacity:1;background:#f59e0b;padding:5px 14px;box-shadow:0 0 0 3px #f59e0b47}.excel-save-btn.excel-save-dirty:hover{background:#d97706;box-shadow:0 0 0 4px #f59e0b59}.excel-publicar-borrador{font-style:italic}.excel-spin{border:2px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:11px;height:11px;animation:.7s linear infinite excel-spin-giro}@keyframes excel-spin-giro{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.excel-spin{animation-duration:2.4s}}.excel-save-dot{background:#111827;border-radius:50%;width:6px;height:6px;margin-left:2px}.badge-client-line{align-items:baseline;gap:5px;min-width:0;display:inline-flex}.clave-text{color:inherit;font-weight:inherit;text-decoration:inherit}.badge-clave{letter-spacing:.02em;color:#3844c2;background:#3844c226;border-radius:3px;padding:0 5px;font-size:.85em;font-weight:700;display:inline-block}[data-theme=dark] .badge-clave{color:#a5adf5;background:#3844c259}.cpv-clave{font-size:var(--fs-xs);color:#3844c2;cursor:pointer;background:#3844c226;border-radius:4px;margin:0 2px;padding:1px 7px;font-weight:700;display:inline-block}[data-theme=dark] .cpv-clave{color:#a5adf5;background:#3844c259}.cpv-clave.empty{color:var(--text-muted);opacity:.7;background:0 0;font-weight:500}.cpv-clave.empty:hover{opacity:1}.cpv-clave-input{width:120px;font-size:var(--fs-xs);background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--accent);border-radius:var(--r-inline);margin-left:8px;padding:1px 6px;font-weight:600}.excel-notes-text{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:inherit;padding:0 6px;display:block;overflow:hidden}.excel-notes-text.empty{color:var(--text-muted);opacity:.5}.excel-notes-input{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--accent);border-radius:var(--r-inline);padding:0 5px;font-size:11px}.excel-sb-header-ro{align-items:center;padding:4px 6px;display:flex}.excel-cat-ro{color:var(--text-secondary);padding:0 4px;font-size:11px;display:block}.excel-cat-ro-row td{vertical-align:middle;box-sizing:border-box;height:26px;padding:0 2px}.excel-cat-ro-row .excel-cat-resp-tags{flex-wrap:nowrap;align-items:center;gap:3px;height:18px;display:flex;overflow:hidden}.excel-cat-ro-row .excel-cat-resp-tag{white-space:nowrap;align-items:center;height:18px;margin:0;padding:0 6px;line-height:1;display:inline-flex}.excel-readonly-tag{color:var(--text-secondary);background:#6b72802e;border-radius:4px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.excel-legend{flex-direction:column;gap:4px;margin-left:12px;display:flex}.excel-catalog-controls{align-items:center;gap:4px;display:flex}.excel-catalog-table{border-collapse:collapse;font-size:10px}.excel-catalog-table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);padding:6px;font-size:15px;font-weight:600}.excel-catalog-table td{border:1px solid var(--border);vertical-align:middle;padding:0}.excel-cat-input{width:100%;color:var(--text-primary);text-align:center;text-transform:uppercase;box-sizing:border-box;background:0 0;border:none;padding:6px;font-size:15px}.excel-cat-input:focus{outline:2px solid var(--accent);outline-offset:-2px}.excel-legend-dot{cursor:pointer;vertical-align:middle;border:1px solid #00000026;border-radius:4px;width:16px;height:16px;display:inline-block}.excel-catalog-table td:first-child{width:60px}.excel-catalog-table td:nth-child(2){cursor:pointer;width:40px;min-height:30px}.excel-cat-colors{z-index:20;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;padding:6px;position:absolute;top:100%;left:0;box-shadow:0 4px 12px #0003}.excel-cat-picker-wrap{z-index:20;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;width:180px;padding:4px;position:absolute;top:100%;left:0;box-shadow:0 4px 12px #0003}.excel-cat-select{width:100%;color:var(--text-primary);box-sizing:border-box;background:0 0;border:none;padding:6px;font-size:15px}.excel-cat-select:focus{outline:2px solid var(--accent);outline-offset:-2px}.excel-cat-resp-cell{vertical-align:middle}.excel-cat-resp-tags{flex-wrap:wrap;align-items:center;gap:3px;padding:4px;display:flex}.excel-cat-resp-tag{font-size:var(--fs-xs);background:var(--accent-bg);color:var(--text-primary);white-space:nowrap;border-radius:8px;align-items:center;gap:2px;padding:2px 6px;display:inline-flex}.excel-cat-resp-tag button{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0 2px;font-size:.9em}.excel-cat-resp-tag button:hover{color:#ef4444}.excel-cat-resp-add{font-size:var(--fs-xs);border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;width:28px;padding:2px 4px}.excel-cat-desc{width:100%;color:var(--text-primary);box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word;background:0 0;border:none;padding:6px;font-size:15px}.excel-cat-desc:focus{outline:2px solid var(--accent);outline-offset:-2px}.excel-cat-add{align-items:center;gap:4px;display:flex}.excel-cat-empty{color:var(--text-muted);padding:4px;font-size:10px}.excel-cat-del{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:14px}.excel-cat-del:hover{color:#ef4444}.excel-cat-add-row{opacity:.7}.excel-cat-add-btn{border:1px dashed var(--border);border-radius:var(--r-inline);width:100%;color:var(--text-muted);cursor:pointer;background:0 0;padding:4px;font-size:11px}.excel-cat-add-btn:hover{border-color:var(--accent);color:var(--accent)}.excel-cat-hint{color:var(--text-muted);font-size:9px}.excel-legend-select{border:1px solid var(--border);border-radius:var(--r-inline);background:var(--bg-primary);color:var(--text-muted);cursor:pointer;padding:2px 4px;font-size:10px}.excel-legend-btn{border:1px solid var(--border);border-radius:var(--r-inline);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;padding:2px 8px;font-size:10px}.excel-legend-btn:hover{background:var(--bg-card-hover)}.excel-legend-item{cursor:pointer}.excel-legend-item:hover{opacity:.6}.excel-float-input{z-index:10;border:2px solid var(--accent);background:var(--bg-primary);color:var(--text-primary);text-align:center;box-sizing:border-box;outline:none;padding:0;font-size:10px;font-weight:700;position:absolute}.excel-right-header{border-bottom:1px solid var(--border);background:var(--bg-secondary);box-sizing:border-box;flex-shrink:0;overflow:hidden}.excel-header-months,.excel-header-weeks,.excel-header-days{display:flex}.excel-month-cell{text-align:center;color:var(--text-muted);border-right:1px solid var(--border);border-left:2px solid var(--text-muted);text-transform:uppercase;padding:2px 0;font-size:10px;font-weight:700}.excel-day-cell{text-align:center;color:var(--text-secondary);border-right:1px solid var(--border);padding:2px 0;font-size:10px;line-height:1.2}.excel-day-today{background:var(--hoy);color:var(--hoy-texto);font-weight:700}.excel-day-weekend,.excel-day-inactive{color:#ef4444;background:#ef44441a}.excel-day-today.excel-day-weekend,.excel-day-today.excel-day-inactive{background:var(--hoy);color:var(--hoy-texto)}.excel-row:hover,.excel-left-row:hover{background:var(--bg-card-hover)}.excel-ghost-row{opacity:.5;cursor:pointer;border-top:1px dashed var(--border)}.excel-ghost-row:hover{opacity:.8;background:var(--accent-bg,#3ecf8e14)}.excel-paste-target{box-shadow:inset 0 0 0 1.5px #3b82f680;background:#3b82f626!important}.excel-ghost-text{color:var(--text-muted);font-size:.75em;font-style:italic}.excel-row-del{color:#ef4444;cursor:pointer;opacity:.3;background:0 0;border:1.5px solid #ef4444;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:10px;line-height:1;display:flex}.excel-row-dup{color:#3b82f6;cursor:pointer;opacity:.3;background:0 0;border:1.5px solid #3b82f6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:10px;line-height:1;display:flex}.excel-left-row:hover .excel-row-del,.excel-left-row:hover .excel-row-dup{opacity:1}.excel-row-selected{background:#3ecf8e26!important}.excel-child-row{padding-left:20px!important}.excel-drag-handle{cursor:grab;color:var(--text-muted);opacity:0;flex-shrink:0;align-items:center;display:flex}.excel-left-row:hover .excel-drag-handle{opacity:.6}.excel-view[data-zoom="0"] .excel-left-text{font-size:9px}.excel-view[data-zoom="0"] .excel-cell-text{font-size:7px}.excel-view[data-zoom="0"] .excel-day-cell,.excel-view[data-zoom="0"] .excel-month-cell,.excel-view[data-zoom="0"] .excel-lh-col,.excel-view[data-zoom="0"] .excel-group-count,.excel-view[data-zoom="0"] .excel-resp-text{font-size:8px}.excel-view[data-zoom="1"] .excel-left-text{font-size:11px}.excel-view[data-zoom="1"] .excel-cell-text{font-size:9px}.excel-view[data-zoom="1"] .excel-month-cell,.excel-view[data-zoom="1"] .excel-lh-col,.excel-view[data-zoom="1"] .excel-group-count,.excel-view[data-zoom="1"] .excel-resp-text{font-size:10px}.excel-view[data-zoom="2"] .excel-left-text{font-size:12px}.excel-view[data-zoom="2"] .excel-cell-text{font-size:10px}.excel-view[data-zoom="3"] .excel-left-text{font-size:14px}.excel-view[data-zoom="3"] .excel-cell-text,.excel-view[data-zoom="3"] .excel-day-cell{font-size:12px}.excel-view[data-zoom="3"] .excel-month-cell,.excel-view[data-zoom="3"] .excel-lh-col,.excel-view[data-zoom="3"] .excel-group-count,.excel-view[data-zoom="3"] .excel-resp-text{font-size:13px}.excel-view[data-zoom="4"] .excel-left-text{font-size:16px}.excel-view[data-zoom="4"] .excel-cell-text,.excel-view[data-zoom="4"] .excel-day-cell{font-size:14px}.excel-view[data-zoom="4"] .excel-month-cell,.excel-view[data-zoom="4"] .excel-lh-col,.excel-view[data-zoom="4"] .excel-group-count,.excel-view[data-zoom="4"] .excel-resp-text{font-size:15px}.excel-view[data-zoom="0"] .excel-row-del,.excel-view[data-zoom="0"] .excel-row-dup{width:12px;height:12px;font-size:7px}.excel-view[data-zoom="1"] .excel-row-del,.excel-view[data-zoom="1"] .excel-row-dup{width:14px;height:14px;font-size:9px}.excel-view[data-zoom="3"] .excel-row-del,.excel-view[data-zoom="3"] .excel-row-dup{width:20px;height:20px;font-size:12px}.excel-view[data-zoom="4"] .excel-row-del,.excel-view[data-zoom="4"] .excel-row-dup{width:24px;height:24px;font-size:14px}.cpv-float-views{background:var(--bg-secondary);border:1px solid var(--border);z-index:50;border-radius:24px;gap:6px;padding:6px 10px;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 4px 16px #0003}.cpv-float-btn{width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.cpv-float-btn:hover{background:var(--bg-card-hover);color:var(--text-primary)}.cpv-float-btn.active{background:var(--accent);color:#fff}.cpv-float-btn[title]:hover:after{content:attr(title);background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);z-index:100;pointer-events:none;white-space:nowrap;border-radius:4px;padding:3px 8px;font-size:10px;font-weight:600;position:absolute;bottom:38px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000026}.cpv-list-segment{padding-left:36px!important}.cpv-list-seg-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px;margin-right:6px}.cpv-list-resp{color:var(--text-secondary);vertical-align:middle;align-items:center;gap:6px;margin:0 8px;font-size:.85em;display:inline-flex}.cpv-list-resp-tag{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.lista-tarea-parent{font-weight:600}.lista-tarea-segment{padding-left:20px}.lista-tarea-dias{color:var(--text-muted);font-size:.85em}.act-view{flex-direction:column;gap:18px;display:flex}.act-ctx-izq{white-space:nowrap;flex-shrink:0;align-items:center;gap:10px;display:flex}.act-ctx-der{flex-wrap:wrap;flex:1;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.act-ctx-der .today-fuera{height:var(--h-barra);box-sizing:border-box;border-radius:var(--r-control);margin-left:0;padding:0 10px}.act-view .lista-ctx{z-index:6;background:var(--bg-primary);align-items:center;margin:-18px -32px 0;padding:12px 24px;position:sticky;top:-18px}.act-persona-wrap{display:inline-flex}.act-persona{height:var(--h-barra);box-sizing:border-box;font-size:var(--fs-xs);border-radius:var(--r-control);border:1px solid var(--border);background:var(--bg-secondary);max-width:230px;color:var(--text-primary);cursor:pointer;transition:var(--transition);align-items:center;gap:6px;padding:0 8px;font-family:inherit;font-weight:600;display:inline-flex}.act-persona span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.act-persona:hover{border-color:var(--accent)}.act-persona-on{border-color:var(--accent);color:var(--accent)}.act-persona-wrap-campo{width:100%;display:flex}.act-persona-campo{background:var(--bg-primary);width:100%;max-width:none;height:auto;min-height:34px;font-size:var(--fs-sm);padding:7px 10px;font-weight:500}.act-persona-campo span{text-align:left;flex:1}.act-persona-vacio{color:var(--text-muted)}.act-persona-mas{min-width:22px;height:22px;color:var(--text-muted);border-style:dashed;border-radius:999px;justify-content:center;padding:0}.act-persona-mas:hover{color:var(--accent);border-style:solid}.act-persona-mas-txt{border-radius:var(--r-control);min-width:0;font-size:var(--fs-xs);gap:3px;padding:0 8px;font-weight:600}.act-persona:disabled{opacity:.45;cursor:default}.act-persona-menu{z-index:10000;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--r-panel,8px);min-width:210px;max-height:320px;padding:4px;position:fixed;overflow-y:auto;box-shadow:0 8px 24px #0000002e}.act-persona-op{cursor:pointer;width:100%;font:inherit;color:var(--text-primary);text-align:left;background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;padding:5px 8px;font-size:12px;font-weight:600;display:flex}.act-persona-op:hover{background:var(--bg-card-hover)}.act-persona-op-on{color:var(--accent)}.act-persona-op span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.act-persona-sep{background:var(--border);height:1px;margin:4px 2px}.act-persona-tit{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:6px 8px 4px;font-size:10px;font-weight:700}.act-marcador{white-space:nowrap;border:1px solid var(--border);background:var(--bg-card);cursor:pointer;transition:var(--transition);border-radius:12px;align-items:center;gap:5px;padding:4px 10px;font-family:inherit;font-size:11px;font-weight:700;display:flex}.act-marcador:hover{border-color:currentColor}.act-marcador b{font-weight:800}.act-plegar{height:var(--h-barra);box-sizing:border-box;font-size:var(--fs-xs);border-radius:var(--r-control);white-space:nowrap;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;align-items:center;gap:5px;padding:0 11px;font-family:inherit;font-weight:600;display:flex}.act-plegar:hover{color:var(--text);border-color:var(--text-muted)}.act-plegar-icono{width:var(--h-barra);justify-content:center;padding:0}.act-conteos{height:var(--h-barra);box-sizing:border-box;border:1px solid var(--border);border-radius:var(--r-control);align-items:stretch;display:inline-flex;overflow:hidden}.act-conteo{border:none;border-right:1px solid var(--border);background:var(--bg-card);cursor:pointer;transition:var(--transition);white-space:nowrap;align-items:center;gap:4px;padding:0 11px;font-family:inherit;display:flex}.act-conteo:last-child{border-right:none}.act-conteo:hover{background:var(--bg-secondary)}.act-conteo b{font-size:12px;font-weight:800}.act-conteo em{color:var(--text-muted);font-size:11px;font-style:normal;font-weight:600}.act-conteo.act-m-hoy b{color:var(--accent)}.act-conteo.act-m-vencidas b{color:var(--danger)}.act-conteo.act-m-proximas b,.act-conteo.act-m-resto b{color:var(--text-secondary)}.act-conteo.act-m-completadas b{color:#10b981}.act-m-vencidas{color:var(--danger)}.act-m-hoy{color:var(--accent)}.act-m-proximas{color:var(--text-muted)}.tramo{flex-direction:column;display:flex}.tramo-head{border-left:3px solid var(--tramo-color,var(--border));background:var(--tramo-bg,transparent);cursor:pointer;user-select:none;border-radius:8px;align-items:center;gap:9px;margin-bottom:10px;padding:7px 10px;display:flex}.tramo-nombre{font-size:var(--fs-sm);color:var(--tramo-color);letter-spacing:-.01em;font-weight:800}.tramo-count{font-size:var(--fs-xs);color:#fff;background:var(--tramo-color);border-radius:999px;padding:1px 8px;font-weight:700}.tramo-nota{font-size:var(--fs-xs);color:var(--text-muted);margin-left:auto}.tramo-chev{color:var(--tramo-color);flex-shrink:0;display:flex}.tramo-vacio{font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:7px;padding:0 0 12px 16px;display:flex}.tramo-vacio svg{color:#10b981}.t-prioritarias{--tramo-color:var(--prioritaria);--tramo-bg:var(--prioritaria-bg)}.tramo.t-prioritarias{border:2px solid var(--prioritaria);border-radius:var(--radius,8px)}.t-vencidas{--tramo-color:var(--danger);--tramo-bg:color-mix(in srgb, var(--danger) 8%, transparent)}.t-hoy{--tramo-color:var(--hoy);--tramo-bg:var(--hoy-tinte)}.t-proximas{--tramo-color:var(--text-muted);--tramo-bg:color-mix(in srgb, var(--text-muted) 8%, transparent)}.t-completadas{--tramo-color:#10b981;--tramo-bg:#10b98112}.t-proyecto{--tramo-color:var(--text-secondary);--tramo-bg:color-mix(in srgb, var(--text-muted) 6%, transparent)}.act-conteo.act-m-proyecto b{color:var(--text-secondary)}.act-marcador.act-m-proyecto{cursor:default}.act-modo{height:var(--h-barra);box-sizing:border-box;border:1px solid var(--border);border-radius:var(--r-control);display:inline-flex;overflow:hidden}.act-modo button{font-size:var(--fs-xs);height:100%;color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:var(--transition);background:0 0;border:none;padding:0 10px;font-family:inherit;font-weight:600}.act-modo button:hover{color:var(--text-primary)}.act-modo button.act-modo-on{background:var(--accent);color:#fff}.lista-expand-vacio{flex-shrink:0;width:16px;display:inline-block}.act-filtros{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:flex-start;gap:8px 22px;padding:12px 16px;display:flex}.act-filtro-grupo{flex-direction:column;gap:5px;min-width:0;display:flex}.act-filtro-tit{letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);font-size:9.5px;font-weight:700}.act-chips{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.act-chip{border:1px solid var(--border);color:var(--text-secondary);font-family:inherit;font-size:var(--fs-xs);cursor:pointer;transition:var(--transition);white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-weight:600;display:inline-flex}.act-chip:hover{color:var(--text-primary);border-color:var(--border-hover)}.act-chip[data-on]{color:var(--chip-color,var(--accent));border-color:var(--chip-color,var(--accent));background:color-mix(in srgb, var(--chip-color,var(--accent)) 14%, transparent)}.act-filtro-limpiar{border:1px solid var(--border);color:var(--text-muted);border-radius:var(--r-control);font-family:inherit;font-size:var(--fs-xs);cursor:pointer;transition:var(--transition);background:0 0;align-self:flex-end;margin-left:auto;padding:4px 10px;font-weight:600}.act-filtro-limpiar:hover{color:var(--danger);border-color:var(--danger)}.act-plegar.act-filtro-on{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.pend-view{flex-direction:column;height:100%;padding:4px 0 0;display:flex;overflow:hidden}.pend-view .lista-ctx{align-items:center}.pend-ctx-izq{align-items:center;gap:12px;min-width:0;display:flex}.pend-summary{font-size:var(--fs-xs);color:var(--text-muted);gap:10px;display:flex}.pend-filter-select{font-size:var(--fs-sm);border-radius:var(--r-control);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);padding:4px 10px}.pend-body{flex-direction:column;flex:1;gap:16px;padding-top:14px;display:flex;overflow-y:auto}.pend-user-group{flex-direction:column;display:flex}.pend-user-header{cursor:pointer;user-select:none;border-bottom:1px solid var(--border);align-items:center;gap:8px;margin-bottom:10px;padding-bottom:8px;display:flex}.pend-user-name{font-weight:700;font-size:var(--fs-sm);color:var(--text-primary)}.pend-section-count{background:var(--border);color:var(--text-secondary);font-size:var(--fs-xs);border-radius:10px;padding:1px 7px}.pend-vacio{color:var(--text-muted);font-size:var(--fs-sm);align-items:center;gap:8px;padding:28px 0;display:flex}.pend-vacio svg{color:#10b981}.notif-wrap{position:relative}.notif-bell{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:4px;padding:4px;position:relative}.notif-bell:hover{color:var(--accent)}.notif-badge{color:#fff;border:2px solid var(--bg-secondary);background:#ef4444;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:800;display:flex;position:absolute;top:-4px;right:-4px;box-shadow:0 1px 4px #ef444480}.notif-bell-active{color:#f59e0b;transform-origin:50% 10%;animation:2.4s ease-in-out infinite notif-ring}.notif-bell-active:hover{color:#f59e0b;animation:none}@keyframes notif-ring{0%,70%,to{transform:rotate(0)}75%{transform:rotate(-12deg)}80%{transform:rotate(10deg)}85%{transform:rotate(-7deg)}90%{transform:rotate(5deg)}95%{transform:rotate(-2deg)}}@media (prefers-reduced-motion:reduce){.notif-bell-active{animation:none}}.notif-dropdown{background:var(--bg-secondary);border:1px solid var(--border);z-index:1000;border-radius:8px;flex-direction:column;width:320px;max-height:400px;display:flex;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 8px 24px #0003}.notif-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 14px;font-size:.85em;font-weight:600;display:flex}.notif-mark-all{color:var(--accent);cursor:pointer;background:0 0;border:none;font-size:.75em}.notif-list{flex:1;overflow-y:auto}.notif-empty{text-align:center;color:var(--text-muted);padding:24px;font-size:.8em}.notif-item{border-bottom:1px solid var(--border);cursor:pointer;transition:var(--transition);padding:10px 14px}.notif-item:hover{background:var(--bg-card-hover)}.notif-unread{border-left:3px solid var(--accent);background:#3b82f614}.notif-item-title{color:var(--text-primary);font-size:.8em;font-weight:600}.notif-item-body{color:var(--text-muted);margin-top:2px;font-size:.72em}.notif-item-time{color:var(--text-muted);margin-top:4px;font-size:.65em}.today-preview-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.today-preview-modal{background:var(--bg-secondary);border-radius:12px;flex-direction:column;width:90%;max-width:500px;max-height:70vh;display:flex;box-shadow:0 16px 48px #0000004d}.today-preview-header{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:16px 20px;display:flex}.today-preview-header h3{flex:1;margin:0;font-size:.95em}.today-preview-plan{background:var(--hoy);color:var(--hoy-texto);border-radius:10px;padding:2px 8px;font-size:.72em;font-weight:600}.today-preview-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.2em}.today-preview-list{flex:1;padding:12px 20px;overflow-y:auto}.today-preview-empty{color:var(--text-muted);text-align:center;padding:20px;font-size:.8em}.today-preview-task{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 0;font-size:.8em;display:flex}.today-preview-done{opacity:.5;text-decoration:line-through}.today-preview-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.today-preview-task-title{flex:1;font-weight:500}.today-preview-task-status{color:var(--text-muted);font-size:.85em}.today-preview-task-dates{color:var(--text-muted);white-space:nowrap;font-size:.8em}.excel-ro-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.excel-ro-modal{background:var(--bg-secondary);border-radius:12px;flex-direction:column;width:92vw;max-width:1200px;height:80vh;display:flex;overflow:hidden;box-shadow:0 16px 48px #0006}.excel-ro-modal-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:14px 20px;display:flex}.excel-ro-modal-header h3{flex:1;margin:0;font-size:.95em}.excel-ro-modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.4em}.excel-ro-wrap{flex-direction:column;flex:1;display:flex;overflow:hidden}.excel-ro-plan{color:var(--text-muted);padding:8px 20px;font-size:.75em}.excel-ro-plan strong{color:var(--accent)}.excel-ro-scroll{flex:1;overflow:auto}.excel-ro-left{background:var(--bg-secondary);z-index:2;border-right:1px solid var(--border);position:sticky;left:0}.excel-ro-left-header{color:var(--text-muted);border-bottom:1px solid var(--border);align-items:center;padding:0 8px;font-size:.7em;font-weight:600;display:flex;position:relative}.excel-ro-resize{cursor:col-resize;background:0 0;width:4px;position:absolute;top:0;bottom:0;right:0}.excel-ro-resize:hover{background:var(--accent)}.excel-ro-row{border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;align-items:center;padding:0 8px;font-size:.72em;display:flex;overflow:hidden}.excel-ro-group{background:#80808014;font-weight:700}.excel-ro-month{text-align:center;color:var(--text-muted);border-bottom:1px solid var(--border);justify-content:center;align-items:center;font-size:.65em;font-weight:600;display:flex}.excel-ro-day{text-align:center;color:var(--text-muted);border-bottom:1px solid var(--border);justify-content:center;align-items:center;font-size:.6em;display:flex}.excel-ro-today{color:var(--hoy);font-weight:700}.excel-ro-weekend{color:#ef4444;opacity:.6}.excel-ro-empty{text-align:center;color:var(--text-muted);padding:40px;font-size:.85em}.excel-ro-fullview{flex-direction:column;height:100%;display:flex;overflow:hidden}.excel-ro-fullview-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 16px;display:flex}.excel-ro-fullview-header h3{margin:0;font-size:.95em}.avatar{object-fit:cover;vertical-align:middle;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 0 0 1px #0000001a}.avatar-iniciales{letter-spacing:-.02em;user-select:none;font-weight:700}.cpv-resp-tag .avatar{margin-left:-2px;margin-right:4px}.mk-barra{border:1px solid var(--border,#e4e4e7);background:var(--bg-subtle,#fafafa);border-bottom:none;border-radius:8px 8px 0 0;align-items:center;gap:2px;padding:4px;display:flex}.mk-btn{color:var(--text-muted,#71717a);cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;gap:5px;padding:5px 7px;font-size:12px;display:inline-flex}.mk-btn:hover{background:var(--bg-hover,#f0f0f2);color:var(--text,#18181b)}.mk-btn.active{background:var(--accent,#4f46e5);color:#fff}.mk-btn-previa{margin-left:auto;padding-right:9px}.mk-barra+.an-textarea,.mk-barra+.mk-previa{border-radius:0 0 8px 8px}.mk-previa{white-space:pre-wrap;word-break:break-word;min-height:118px;overflow-y:auto}.mk-vacio{color:var(--text-muted,#a1a1aa);font-style:italic}.mk-previa code,.an-body code{background:var(--bg-subtle,#f4f4f5);border-radius:4px;padding:1px 4px;font-size:.92em}.mk-previa blockquote,.an-body blockquote{border-left:3px solid var(--border,#d4d4d8);color:var(--text-muted,#71717a);margin:2px 0;padding-left:9px}.mk-item{display:block}.lista-clientes{flex-direction:column;display:flex}.lista-cliente{margin-bottom:14px}.lista-cliente-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;margin-bottom:6px;padding:4px 2px 6px;display:flex}.lista-cliente-nombre{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.lista-cliente-count{color:var(--text-muted);background:var(--bg-subtle,#8080801f);border-radius:999px;padding:1px 7px;font-size:10px;font-weight:600}.auth-user-label{align-items:center;gap:6px;display:inline-flex}.cpv-topbar .cpv-clave,[data-theme=dark] .cpv-topbar .cpv-clave{color:var(--text-muted);background:0 0;font-weight:600}.cpv-topbar .cpv-clave:hover,[data-theme=dark] .cpv-topbar .cpv-clave:hover{color:var(--text-primary);background:#80808024}.cpv-topbar .cpv-share-on,[data-theme=dark] .cpv-topbar .cpv-share-on{background:var(--bg-card);color:var(--accent);border-color:var(--border)}.cpv-topbar .cpv-share-on:hover,[data-theme=dark] .cpv-topbar .cpv-share-on:hover{background:var(--bg-card);color:var(--accent);border-color:var(--accent)}.cpv-topbar .cpv-back,.cpv-topbar .cpv-title,.cpv-topbar .cpv-clave,.cpv-topbar .cpv-client-inline,[data-theme=dark] .cpv-topbar .cpv-clave{font-weight:600}.cpv-topbar .cpv-client-select{appearance:auto;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-control);height:var(--h-cpv);box-sizing:border-box;color:var(--text-primary);font-size:var(--fs-sm);letter-spacing:normal;text-transform:none;width:auto;padding:0 8px;font-family:inherit;font-weight:600}.cpv-topbar .cpv-client-select:hover{background:var(--bg-primary);color:var(--text-primary)}.cpv-topbar .cpv-clave,[data-theme=dark] .cpv-topbar .cpv-clave{font-size:var(--fs-lg);letter-spacing:-.3px;padding:0 4px;font-weight:600}.an-editor{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:10px;margin-bottom:22px;padding:16px;display:flex}.an-titulo{font-size:var(--fs-md);font-weight:600}.an-cuerpo{resize:vertical;min-height:190px;margin-top:-10px;line-height:1.55}.an-pie{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;padding-top:4px;display:flex}.an-pie .an-destinos{margin:8px 0 0}.an-acciones{flex-wrap:wrap;flex:1;justify-content:flex-end;align-items:center;gap:16px;margin-top:8px;display:flex}.an-acciones .an-aviso{text-align:right;max-width:380px;margin:0}.an-hist-encabezado{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0 0 10px;font-size:12px;font-weight:600}.pp-cliente{margin-bottom:14px}.pp-cliente-header{border-bottom:1px solid var(--border);align-items:center;gap:8px;margin-bottom:6px;padding:4px 2px 6px;display:flex}.pp-cliente-nombre{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.pp-cliente-count{color:var(--text-muted);background:#8080801f;border-radius:999px;padding:1px 7px;font-size:10px;font-weight:600}.modal.modal-ancho{width:92vw;max-width:560px}.excel-cat-sin-uso td:not(:nth-child(3)){opacity:.62}.excel-cat-sinuso{letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;background:#80808024;border-radius:3px;padding:1px 5px;font-size:11px;font-weight:600}.excel-cat-acciones{justify-content:flex-end;align-items:center;gap:4px;display:flex}.excel-cat-fusion{appearance:none;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);cursor:pointer;border-radius:4px;max-width:84px;padding:2px 5px;font-family:inherit;font-size:10px}.excel-cat-fusion:hover{color:var(--text-primary);border-color:var(--accent)}.cat-barra-doc{gap:8px;margin-top:10px}.cat-barra-doc .btn{align-items:center;gap:6px;display:inline-flex}.cat-muestra{border:1px solid var(--border);cursor:pointer;border-radius:4px;width:46px;height:22px;padding:0}.cat-picker-flotante{z-index:999;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;margin-top:4px;padding:8px;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #00000040}.cat-sigla-input{text-align:center;text-transform:uppercase;width:74px;font-weight:600}.cat-desc-input{width:100%;min-width:180px}.cat-add-fila{width:100%;color:var(--text-muted);justify-content:center}.cat-add-fila:hover{color:var(--accent)}.excel-cat-lista{flex-direction:column;gap:1px;padding:4px 2px;display:flex}.excel-cat-fila{border-radius:6px;align-items:center;gap:8px;min-height:38px;padding:6px;display:flex}.excel-cat-fila:hover{background:var(--bg-card-hover)}.excel-cat-fila.sin-uso>:not(.excel-cat-pill):not(.excel-cat-uso){opacity:.5}.excel-cat-fila.sin-uso .excel-cat-sinuso{color:#f97316;opacity:1;background:#f973162e}.excel-cat-pill{cursor:default;border-radius:6px;flex:none;justify-content:center;align-items:center;width:58px;height:24px;padding:0 2px 0 4px;font-size:13px;font-weight:800;display:inline-flex}.excel-cat-pill-color{width:14px;color:inherit;cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:3px;flex:none;margin:0;padding:0;font-size:10px;line-height:1}.excel-cat-pill-color:hover{opacity:1;background:#ffffff40}.excel-cat-pill-input{width:100%;min-width:0;font:inherit;color:inherit;text-align:center;text-transform:uppercase;cursor:text;background:0 0;border:none;padding:0}.excel-cat-pill-input:focus{outline:none}.excel-cat-pill-input::placeholder{color:currentColor;opacity:.55}.excel-cat-desc-l,.excel-cat-desc-ro{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:70px;padding:2px 0;font-size:15px;overflow:hidden}.excel-cat-desc-l:focus{border-bottom:1px solid var(--accent);outline:none}.excel-cat-desc-l::placeholder{color:var(--text-muted);opacity:.6}.excel-cat-resp-l{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:3px;max-width:66%;display:flex}.excel-cat-resp-l em{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;font-style:normal;overflow:hidden}.excel-cat-resp-mas{appearance:none;border:1px dashed var(--border-hover);width:18px;height:18px;color:var(--text-muted);text-align:center;cursor:pointer;background:0 0;border-radius:50%;flex:none;padding:0;font-size:10px}.excel-cat-resp-mas:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.excel-cat-resp-mas:disabled{opacity:.3;cursor:not-allowed}.excel-resp-menu{z-index:10000;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--r-panel,8px);min-width:190px;max-height:280px;padding:4px;position:fixed;overflow-y:auto;box-shadow:0 8px 24px #0000002e}.excel-resp-op{cursor:pointer;width:100%;font:inherit;color:var(--text-primary);text-align:left;background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;padding:5px 8px;font-size:12px;font-weight:600;display:flex}.excel-resp-op:hover{background:var(--bg-card-hover)}.excel-resp-op span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.excel-resp-vacio{color:var(--text-muted);padding:10px 12px;font-size:12px}.excel-cat-uso{color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;flex:none;width:64px;font-size:12px}.excel-cat-acc{flex:none;justify-content:flex-end;align-items:center;gap:2px;width:24px;display:flex}.excel-cat-mini{border:1px solid var(--border);background:var(--bg-card);width:24px;height:22px;color:var(--text-secondary);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:inline-flex}.excel-cat-mini:hover{background:var(--bg-card-hover);border-color:var(--border-hover);color:var(--text-primary)}.excel-cat-mini-del:hover{color:var(--danger)}.excel-cat-lista .excel-cat-fusion{text-align:center;width:20px;max-width:20px;height:18px;color:var(--text-muted);background:0 0;border:none;border-radius:4px;padding:0;font-size:11px}.excel-cat-lista .excel-cat-fusion:hover{background:var(--bg-card);color:var(--accent)}.excel-cat-add-l{border:1px dashed var(--border);width:100%;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border-radius:6px;margin-top:4px;padding:6px;font-size:12px}.excel-cat-add-l:hover{border-color:var(--accent);color:var(--accent)}.excel-cat-av-wrap{flex:none;display:inline-flex;position:relative}.excel-cat-av-x{background:var(--danger);color:#fff;cursor:pointer;border:none;border-radius:50%;width:13px;height:13px;padding:0;font-size:9px;line-height:1;display:none;position:absolute;top:-3px;right:-3px}.excel-cat-av-wrap:hover .excel-cat-av-x{display:block}.excel-cat-menu{z-index:9999;background:var(--bg-secondary);border:1px solid var(--border);width:190px;max-height:320px;box-shadow:var(--shadow-md);border-radius:8px;padding:4px;font-size:12px;position:fixed;overflow-y:auto}.excel-cat-menu-tit{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:6px 8px 4px;font-size:9.5px;font-weight:700}.excel-cat-menu-lista{max-height:220px;overflow-y:auto}.excel-cat-menu-op{text-align:left;width:100%;color:var(--text-primary);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;gap:7px;padding:5px 8px;font-size:12px;display:flex}.excel-cat-menu-op:hover{background:var(--bg-card-hover)}.excel-cat-menu-pill{border-radius:4px;flex:none;justify-content:center;align-items:center;width:38px;height:17px;font-size:9px;font-weight:800;display:inline-flex}.excel-cat-menu-sep{background:var(--border);height:1px;margin:4px 0}.excel-cat-menu-check{color:#d946ef;flex:none;width:10px;font-size:11px;font-weight:800}.excel-cat-menu-op em{letter-spacing:.04em;text-transform:uppercase;color:#d946ef;margin-left:auto;font-size:9px;font-style:normal;font-weight:700}.excel-cat-menu-del{color:var(--danger);flex-direction:column;align-items:flex-start;gap:1px}.excel-cat-menu-del em{color:var(--text-muted);font-size:10px;font-style:normal}.excel-cat-menu-del:hover{background:color-mix(in srgb, var(--danger) 12%, transparent)}.excel-cat-menu-btn{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);font:inherit;cursor:pointer;border-radius:6px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.excel-cat-menu-btn:hover{color:var(--text-primary);border-color:var(--border-hover)}.excel-cat-menu-btn span{opacity:.7;font-size:10px}.excel-sb-cuenta{color:var(--text-muted);margin-left:auto;font-size:11px}.excel-cat-menu-cat{width:250px}.excel-cat-menu-cat .excel-cat-menu-op{justify-content:space-between}.excel-cat-menu-cat .excel-cat-menu-op em{color:var(--text-muted);flex:none;font-size:10px;font-style:normal}.excel-cat-menu-vacio{color:var(--text-muted);padding:6px 8px;font-size:11.5px;line-height:1.4}.excel-cat-cuerpo{flex-direction:row;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.excel-cat-tag{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;border-radius:10px;flex:none;align-items:center;gap:4px;padding:1px 6px 1px 2px;font-size:12px;font-weight:600;display:inline-flex}.excel-cat-tag-cliente{background:color-mix(in srgb, var(--accent) 12%, var(--bg-card));border-color:color-mix(in srgb, var(--accent) 35%, var(--border));color:var(--accent);padding:1px 8px}.excel-cat-tag-x{color:var(--text-muted);cursor:pointer;opacity:.55;transition:color var(--transition), opacity var(--transition);background:0 0;border:none;padding:0 2px;font-size:11px;line-height:1}.excel-cat-tag:hover .excel-cat-tag-x{opacity:.85}.excel-cat-tag-x:hover{color:var(--danger);opacity:1}.mant-barra{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 4px;display:flex}.mant-chip{font-size:var(--fs-xs);color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);border-radius:999px;align-items:center;gap:5px;padding:4px 10px;display:inline-flex}.mant-titulo{letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);margin:22px 0 8px;font-size:11px;font-weight:700}.mant-hallazgo{border:1px solid var(--border);background:var(--bg-card);border-radius:8px;align-items:center;gap:14px;margin-bottom:8px;padding:12px 14px;display:flex}.mant-hallazgo-txt{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.mant-hallazgo-txt b{font-size:var(--fs-sm);color:var(--warning);align-items:center;gap:6px;display:flex}.mant-hallazgo-txt b em{background:color-mix(in srgb, var(--warning) 18%, transparent);color:var(--warning);border-radius:999px;padding:0 8px;font-size:11px;font-style:normal;font-weight:700}.mant-hallazgo-txt span{font-size:var(--fs-xs);color:var(--text-muted);line-height:1.45}.mant-ok{font-size:var(--fs-sm);color:var(--success);background:color-mix(in srgb, var(--success) 10%, transparent);border:1px solid color-mix(in srgb, var(--success) 30%, transparent);border-radius:8px;align-items:center;gap:8px;padding:12px 14px;display:flex}.mant-limpios{font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:6px;margin-top:8px;display:flex}.mant-tabla code{color:var(--text-secondary);font-size:12px}.mant-nota-restaurar{margin-top:10px}.cpv-share-caja{border:1px solid var(--border);border-radius:10px;margin-bottom:14px;overflow:hidden}.cpv-share-cabecera{background:var(--bg-primary);border-bottom:1px solid var(--border2);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);padding:9px 13px;font-size:11.5px;font-weight:700}.cpv-share-item{border-top:1px solid var(--border2);align-items:center;gap:12px;padding:12px 13px;display:flex}.cpv-share-item:first-of-type{border-top:none}.cpv-share-txt{flex:1;min-width:0}.cpv-share-txt b{color:var(--text-primary);margin-bottom:2px;font-size:13px;display:block}.cpv-share-txt span{color:var(--text-secondary);font-size:11.5px;line-height:1.45;display:block}.cpv-chip{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border-radius:20px;padding:2px 7px;font-size:10.5px;font-weight:700}.cpv-chip-off{background:var(--bg-primary);color:var(--text-muted);border:1px solid var(--border)}.cpv-chip-on{background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent-border)}.cpv-share-url{border-top:1px solid var(--border2);background:var(--bg-glass);align-items:center;gap:7px;padding:10px 13px;display:flex}.cpv-share-url-etq{color:var(--text-muted);white-space:nowrap;font-size:10.5px;font-weight:600}.cpv-share-url .input{color:var(--text-secondary);font-family:ui-monospace,monospace;font-size:11.5px}.cpv-share-baja:hover{color:#ef4444;border-color:#ef4444}.cpv-share-slack{padding:13px}.cpv-share-campo{gap:7px;margin-top:9px;display:flex}.cpv-share-campo .input{flex:1;min-width:0}.cpv-share-pie{color:var(--text-secondary);margin-top:10px;font-size:11.5px;line-height:1.5}.cpv-share-pie code{background:var(--bg-primary);border:1px solid var(--border2);border-radius:3px;padding:0 4px;font-family:ui-monospace,monospace;font-size:.95em}.cpv-share-ok{color:var(--accent);align-items:center;gap:4px;font-weight:600;display:inline-flex}.cpv-share-alerta{color:#b45309;background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:6px;align-items:flex-start;gap:7px;margin-top:10px;padding:8px 10px;font-size:11.5px;line-height:1.45;display:flex}.cpv-share-alerta svg{flex-shrink:0;margin-top:1px}.btn-sm{padding:5px 10px;font-size:.78em}.bit-panel{z-index:9991;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);flex-direction:column;animation:.16s bit-entra;display:flex;position:fixed;overflow:hidden}.bit-flota{resize:both;min-width:340px;min-height:260px}.bit-plegada{resize:horizontal;min-height:0;height:auto!important}.bit-plegada .bit-proyecto,.bit-plegada .bit-chips,.bit-plegada .bit-buscar,.bit-plegada .bit-feed,.bit-plegada .bit-componer{display:none}.bit-plegada .bit-cabeza{border-bottom:none}.bit-completa{border:none;border-radius:0;width:auto;height:auto;inset:0}.bit-tirador{cursor:grab;user-select:none;touch-action:none}.bit-tirador:active{cursor:grabbing}.bit-completa .bit-tirador{cursor:default}.bit-grip{color:var(--text-muted);opacity:.5;flex-shrink:0}@keyframes bit-entra{0%{opacity:0;transform:scale(.99)}}@media (prefers-reduced-motion:reduce){.bit-panel{animation:none}}.bit-cabeza{border-bottom:1px solid var(--border);flex-direction:column;gap:10px;padding:14px 16px 12px;display:flex}.bit-cabeza-fila{align-items:center;gap:8px;display:flex}.bit-cabeza-fila h3{font-size:var(--fs-md);color:var(--text-primary);margin:0;font-weight:700}.bit-total{font-size:var(--fs-xs);color:var(--text-muted);margin-right:auto}.bit-cerrar{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;padding:2px;display:flex}.bit-cerrar:hover{color:var(--text-primary);background:var(--bg-card-hover)}.bit-proyecto{font-size:var(--fs-xs);flex-wrap:wrap;align-items:center;gap:7px;display:flex}.bit-proyecto-nombre{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:600;overflow:hidden}.bit-cliente{color:var(--text-muted)}.bit-chips{flex-wrap:wrap;gap:5px;display:flex}.bit-chip{font-size:var(--fs-xs);cursor:pointer;white-space:nowrap;border:1px solid var(--border);color:var(--text-muted);transition:var(--transition-colors);background:0 0;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-family:inherit;display:inline-flex}.bit-chip:hover{border-color:var(--border-hover);color:var(--text-secondary)}.bit-chip.on{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent);font-weight:600}.bit-chip-n{font-variant-numeric:tabular-nums;opacity:.7}.bit-buscar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-control,8px);color:var(--text-muted);align-items:center;gap:7px;padding:5px 9px;display:flex}.bit-buscar:focus-within{border-color:var(--accent)}.bit-buscar input{min-width:0;color:var(--text-primary);font-size:var(--fs-xs);background:0 0;border:none;outline:none;flex:1;font-family:inherit}.bit-buscar button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:15px;line-height:1}.bit-feed{flex:1;padding-bottom:8px;overflow-y:auto}.bit-vacio{font-size:var(--fs-xs);color:var(--text-muted);padding:18px 16px;line-height:1.5}.bit-dia{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:9px;padding:13px 16px 6px;font-weight:700;display:flex}.bit-dia:after{content:"";background:var(--border);flex:1;height:1px}.bit-entrada{align-items:flex-start;gap:10px;padding:9px 16px;display:flex}.bit-entrada+.bit-entrada{border-top:1px solid var(--border)}.bit-entrada .avatar{flex-shrink:0;margin-top:1px}.bit-col{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.bit-cuerpo{flex-direction:column;gap:3px;min-width:0;display:flex}.bit-meta{font-size:var(--fs-xs);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:7px;display:flex}.bit-quien{color:var(--text-primary);font-weight:650}.bit-meta time{font-variant-numeric:tabular-nums}.bit-asunto{font-size:var(--fs-desc);color:var(--text-secondary);font-weight:600}.bit-dicho{font-size:var(--fs-desc);color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere}.bit-callado{color:var(--text-muted);font-style:italic}.bit-cambio{font-size:var(--fs-xs);align-items:center;gap:6px;display:inline-flex}.bit-antes{color:var(--text-muted);text-decoration:line-through}.bit-despues{color:var(--warning);font-weight:600}.bit-kind{letter-spacing:.03em;white-space:nowrap;border-radius:5px;align-items:center;gap:3px;padding:1px 6px;font-size:.85em;font-weight:700;display:inline-flex}.bit-k-avance{background:color-mix(in srgb, var(--success) 15%, transparent);color:var(--success)}.bit-k-reabrir{background:color-mix(in srgb, var(--text-muted) 18%, transparent);color:var(--text-muted)}.bit-k-fecha{background:color-mix(in srgb, var(--warning) 16%, transparent);color:var(--warning)}.bit-k-estado{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.bit-k-nota{background:var(--accent-bg);color:var(--accent)}.bit-k-enlace{color:#2563eb;background:#3b82f624}.bit-k-bloque{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent)}.bit-k-logro{font-weight:800}.bit-prioritaria{letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;background:var(--prioritaria-melon);color:var(--prioritaria-texto);border-radius:5px;align-items:center;gap:3px;padding:1px 6px;font-size:.8em;font-weight:700;display:inline-flex}.bit-responder{cursor:pointer;font-size:var(--fs-xs);color:var(--text-muted);background:0 0;border:none;align-self:flex-start;padding:1px 0;font-family:inherit}.bit-responder:hover{color:var(--accent)}.bit-hilo{border-left:2px solid var(--border);flex-direction:column;margin-top:2px;display:flex}.bit-hilo .bit-entrada-hija{padding:6px 0 6px 10px}.bit-hilo .bit-entrada-hija+.bit-entrada-hija{border-top:1px solid var(--border)}.bit-responder-caja{flex-direction:column;gap:6px;padding-top:4px;display:flex}.bit-responder-acciones{justify-content:flex-end;align-items:center;gap:8px;display:flex}.bit-componer{border-top:1px solid var(--border);background:var(--bg-card);flex-direction:column;gap:8px;padding:11px 16px 13px;display:flex}.bit-componer textarea,.bit-responder-caja textarea{resize:vertical;width:100%;font-family:inherit;font-size:var(--fs-desc);border-radius:var(--r-control,8px);border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);outline:none;padding:8px 10px}.bit-componer textarea:focus,.bit-responder-caja textarea:focus{border-color:var(--accent)}.bit-componer-acciones{align-items:center;gap:10px;display:flex}.bit-pista{font-size:var(--fs-xs);color:var(--text-muted)}.bit-btn{cursor:pointer;background:var(--accent);color:var(--bg-primary);font-family:inherit;font-weight:700;font-size:var(--fs-xs);border-radius:var(--r-control,8px);border:none;margin-left:auto;padding:6px 14px}.bit-btn:disabled{opacity:.45;cursor:not-allowed}.bit-btn-plano{border:1px solid var(--border);cursor:pointer;color:var(--text-muted);font-family:inherit;font-size:var(--fs-xs);border-radius:var(--r-control,8px);background:0 0;padding:5px 12px}.bg-wrap{grid-template-columns:220px 1fr;align-items:start;gap:16px;display:grid}@media (width<=900px){.bg-wrap{grid-template-columns:1fr}}.bg-rail{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);flex-direction:column;gap:16px;padding:14px;display:flex;position:sticky;top:0}.bg-rail-grupo{flex-direction:column;gap:6px;display:flex}.bg-rail-t{font-size:var(--fs-xs);letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);font-weight:700}.bg-rail-nada{font-size:var(--fs-xs);color:var(--text-muted);font-style:italic}.bg-seg{border:1px solid var(--border);border-radius:var(--r-control,8px);display:flex;overflow:hidden}.bg-seg button{cursor:pointer;font-family:inherit;font-size:var(--fs-xs);color:var(--text-muted);background:0 0;border:none;flex:1;padding:5px 0}.bg-seg button.on{background:var(--accent);color:var(--bg-primary);font-weight:700}.bg-persona{cursor:pointer;width:100%;font-family:inherit;font-size:var(--fs-xs);color:var(--text-secondary);text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:8px;padding:4px 6px;display:flex}.bg-persona:hover{background:var(--bg-card-hover)}.bg-persona.on{background:var(--accent-bg);color:var(--accent);font-weight:650}.bg-persona span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bg-persona-todos{background:var(--bg-glass);width:20px;height:20px;color:var(--text-muted);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.bg-persona-n{font-variant-numeric:tabular-nums;color:var(--text-muted);margin-left:auto}.bg-chips{flex-wrap:wrap;gap:5px;display:flex}.bg-main{flex-direction:column;gap:14px;min-width:0;display:flex}.bg-tiles{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.bg-tile{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);flex-direction:column;gap:2px;padding:13px 15px;display:flex}.bg-tile-k{font-size:var(--fs-xs);letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);font-weight:700}.bg-tile-v{font-size:var(--fs-xl);font-variant-numeric:tabular-nums;color:var(--text-primary);font-weight:700;line-height:1.1}.bg-tile-v.aviso{color:var(--warning)}.bg-tile-s{font-size:var(--fs-xs);color:var(--text-muted)}.bg-medidor{background:var(--border);border-radius:2px;height:4px;margin-top:5px;overflow:hidden}.bg-medidor i{background:var(--accent);height:100%;display:block}.bg-feed{flex-direction:column;gap:12px;display:flex}.bg-grupo{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);overflow:hidden}.bg-grupo-cabeza{border-bottom:1px solid var(--border);background:var(--bg-glass);align-items:center;gap:9px;padding:10px 14px;display:flex}.bg-grupo-nombre{font-size:var(--fs-desc);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:650;overflow:hidden}.bg-grupo-cliente{font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap}.bg-grupo-n{font-size:var(--fs-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:auto}.bg-grupo-abrir{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;padding:3px;display:flex}.bg-grupo-abrir:hover{color:var(--accent);background:var(--bg-card-hover)}.bg-linea{padding:8px 14px}.bit-k-cancel{background:color-mix(in srgb, var(--danger) 15%, transparent);color:var(--danger)}.lista-bitacora{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);opacity:.75;border-radius:var(--r-control,8px);font-family:inherit;font-size:var(--fs-xs);white-space:nowrap;transition:var(--transition-colors), opacity var(--transition);flex-shrink:0;align-items:center;gap:5px;padding:3px 9px;font-weight:600;display:inline-flex}.lista-proyecto-head:hover .lista-bitacora{opacity:1}.lista-bitacora:hover{border-color:var(--accent)}.lista-prio{border:1px solid var(--border);cursor:pointer;width:20px;height:20px;color:var(--text-muted);opacity:.45;transition:var(--transition-colors), opacity var(--transition);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.lista-tarea:hover .lista-prio{opacity:1}.lista-prio:hover{color:var(--prioritaria);border-color:var(--prioritaria)}.lista-prio.activa{background:var(--prioritaria-melon);color:var(--prioritaria-texto);opacity:1;border-color:#0000}.lista-prio.estatica{cursor:default}.lista-prio:focus-visible{opacity:1;outline:2px solid var(--prioritaria);outline-offset:1px}.lista-bitacora:hover{color:var(--accent);background:var(--accent-bg);opacity:1}.lista-bitacora:focus-visible{opacity:1;outline:2px solid var(--accent);outline-offset:1px}.bg-vacio-link{cursor:pointer;font-family:inherit;font-size:inherit;color:var(--accent);text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.bit-enlace{color:var(--accent);text-underline-offset:2px;overflow-wrap:anywhere;text-decoration:underline}.bit-enlace:hover{color:var(--accent-hover)}.bit-acciones{align-items:center;gap:2px;display:flex}.bit-accion{cursor:pointer;color:var(--text-muted);opacity:0;transition:var(--transition-colors), opacity var(--transition);background:0 0;border:none;border-radius:5px;padding:3px;display:flex}.bit-entrada:hover .bit-accion,.bit-fijado:hover .bit-accion{opacity:.6}.bit-accion:hover{color:var(--accent);background:var(--accent-bg);opacity:1!important}.bit-accion:focus-visible{opacity:1;outline:2px solid var(--accent);outline-offset:1px}.bit-accion.on{opacity:1;color:var(--accent)}.bit-fijados{border-bottom:1px solid var(--border);background:var(--accent-bg-subtle);flex-direction:column;flex-shrink:0;gap:2px;max-height:40%;padding:8px 16px 10px;display:flex;overflow-y:auto}.bit-fijados-tit{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);align-items:center;gap:5px;padding-bottom:3px;font-weight:700;display:flex}.bit-fijado{align-items:flex-start;gap:8px;padding:3px 0;display:flex}.bit-fijado+.bit-fijado{border-top:1px solid var(--border)}.completion-popup-fijar{font-size:var(--fs-xs);color:var(--text-secondary);cursor:pointer;align-items:center;gap:7px;display:flex}.completion-popup-fijar input{cursor:pointer;accent-color:var(--accent)}.completion-popup-fijar.apagada{color:var(--text-muted);opacity:.55;cursor:not-allowed}.completion-popup-fijar.apagada input{cursor:not-allowed}.bit-accion:disabled{cursor:wait;opacity:.35!important}.bit-compartir{border-top:1px solid var(--border);background:var(--bg-card);flex-direction:column;flex-shrink:0;gap:5px;max-height:55%;padding:11px 16px 12px;display:flex;overflow-y:auto}.bit-compartir-tit{font-size:var(--fs-desc);color:var(--text-primary);font-weight:700}.bit-compartir-aviso{font-size:var(--fs-xs);color:var(--warning)}.bit-compartir-nota{font-size:var(--fs-xs);color:var(--text-muted);padding:3px 0}.bit-compartir-sep{font-size:var(--fs-xs);letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);padding:6px 0 2px;font-weight:700}.bit-compartir-op{text-align:left;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-control,8px);cursor:pointer;flex-direction:column;gap:2px;width:100%;padding:7px 10px;font-family:inherit;display:flex}.bit-compartir-op:hover{border-color:var(--accent);background:var(--accent-bg-subtle)}.bit-compartir-op b{font-size:var(--fs-desc);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.bit-compartir-op span{font-size:var(--fs-xs);color:var(--text-muted)}.bit-compartir-pie{justify-content:flex-end;padding-top:4px;display:flex}.selector-estado{font-family:inherit;font-size:var(--fs-select);color:var(--estado-texto,#fff);background-color:var(--estado-color);cursor:pointer;appearance:none;transition:var(--transition);white-space:nowrap;text-overflow:ellipsis;background-position:right .55em center;background-repeat:no-repeat;background-size:.72em .72em;border:none;border-radius:8px;outline:none;max-width:13em;padding:.25em 1.75em .25em .8em;font-weight:700;overflow:hidden}.selector-estado:hover:not(:disabled){filter:brightness(.94)}.selector-estado:disabled{opacity:.55;cursor:not-allowed}.selector-estado:focus-visible{box-shadow:0 0 0 2px var(--accent)}.selector-estado-neutro{background-color:var(--bg-card-hover);color:var(--text-muted)}.selector-estado-claro{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}.selector-estado-oscuro{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23171717' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}.selector-estado-neutro.selector-estado-oscuro,.selector-estado-neutro.selector-estado-claro{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23575757' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}.selector-estado option{background:var(--bg-card);color:var(--text-primary)}.selector-estado-compacto{font-size:calc(var(--fs-select) * .9);max-width:11.5em}.fragment-marca{z-index:20;pointer-events:auto;position:absolute;top:6px;right:6px}.tag-externo{font-size:calc(var(--fs-select) * .82);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;color:#d946ef;background:#fff;border:1px solid;border-radius:4px;flex-shrink:0;padding:.1em .5em;font-family:inherit;font-weight:700;line-height:1.4}.tag-externo-mini{font-size:calc(var(--fs-select) * .72);padding:0 .4em}.badge-cinta{height:24px;font-size:min(var(--fs-select), 13px);letter-spacing:.05em;text-transform:uppercase;z-index:6;pointer-events:auto;border-radius:10px 10px 0 0;align-items:center;gap:6px;padding:0 12px;font-weight:700;display:flex;position:absolute;top:0;left:0;right:0;overflow:hidden}.badge-cinta-neutra{border-bottom:1px solid var(--border2)}.badge-cinta-txt{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.badge-cinta-chev{opacity:.8;flex:none}.badge-cinta:hover .badge-cinta-chev{opacity:1}.badge-cinta:focus-within{box-shadow:inset 0 0 0 2px var(--accent)}.selector-estado-overlay{opacity:0;cursor:pointer;border:none;border-radius:10px 10px 0 0;width:100%;max-width:none;height:100%;margin:0;padding:0;position:absolute;inset:0}.badge-board-chip{font-size:calc(var(--fs-xs) * .85);letter-spacing:.03em;color:var(--tablero);border:1px solid var(--tablero);background:color-mix(in srgb, var(--tablero) 12%, transparent);white-space:nowrap;border-radius:999px;flex:none;align-items:center;padding:0 6px;font-weight:700;line-height:1.5;display:inline-flex}.badge-medalla{font-size:calc(var(--fs-select) * .9);white-space:nowrap;pointer-events:auto;border-radius:8px;flex:none;align-items:center;gap:4px;padding:.4em 1em;font-weight:700;display:inline-flex;position:relative}.badge-medalla-neutra{background:var(--bg-card-hover);color:var(--text-muted)}.badge-medalla-hueco{pointer-events:auto;flex:none;display:inline-flex}.badge-medalla-chev{opacity:.85;flex:none}.badge-medalla:hover .badge-medalla-chev{opacity:1}.badge-medalla:focus-within{box-shadow:0 0 0 2px var(--accent)}.badge-cab-linea{align-items:center;gap:8px;min-width:0;margin-bottom:5px;display:flex}.badge-row-top>.badge-title-group{flex:auto}.badge-cab-linea>.badge-client-line{min-width:0;overflow:hidden}.badge-cab-meta{justify-content:space-between;align-items:center;gap:6px;min-width:0;margin-bottom:1px;display:flex}.badge-cab-meta>.badge-medalla,.badge-cab-meta>.badge-medalla-hueco{margin-left:auto}.badge-cab-linea .badge-client-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.badge-cab-linea .badge-clave{flex:none}.badge.badge-medalla-modo{padding-top:14px}.badge-pie{flex-shrink:0;align-items:center;gap:8px;min-width:0;display:flex}.badge-pie-resp{flex-wrap:wrap;align-items:center;gap:3px;min-width:0;margin-left:auto;display:flex}.badge-icon-linea{font-size:16px}.badge-body-columna{justify-content:flex-start;gap:3px}.badge-body-columna>.badge-desc{margin-top:7px}.badge-body-columna>.badge-participants,.badge-body-columna>.badge-pie,.badge-body-columna>.badge-bottom-row{margin-top:auto;padding-top:8px}.badge-desc-columna{padding-left:0}.arch-wrap{flex-direction:column;gap:14px;padding:4px 0 40px;display:flex}.arch-barra{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.arch-titulo{font-size:var(--fs-lg);color:var(--text-primary);align-items:center;gap:7px;font-weight:700;display:inline-flex}.arch-cuenta{font-size:var(--fs-xs);color:var(--text-muted);font-weight:600}.arch-busca{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-control);color:var(--text-muted);align-items:center;gap:6px;min-width:280px;margin-left:auto;padding:5px 10px;display:inline-flex}.arch-busca input{font-family:inherit;font-size:var(--fs-xs);color:var(--text-primary);background:0 0;border:none;outline:none;flex:1}.arch-vacio{background:var(--bg-card);border:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-secondary);text-align:center;border-radius:10px;padding:26px;font-weight:600;line-height:1.6}.arch-vacio span{font-size:var(--fs-xs);color:var(--text-muted);margin-top:8px;max-width:560px;margin-inline:auto;font-weight:400;display:block}.arch-ano{flex-direction:column;gap:6px;display:flex}.arch-ano-head{font-size:var(--fs-xs);letter-spacing:.08em;color:var(--text-muted);align-items:center;gap:8px;padding:6px 2px 2px;font-weight:700;display:flex}.arch-ano-head span{background:var(--bg-card-hover);color:var(--text-muted);letter-spacing:0;border-radius:999px;padding:0 7px;font-size:.9em}.arch-fila{background:var(--bg-card);border:1px solid var(--border2);transition:var(--transition);border-radius:8px;align-items:center;gap:12px;padding:9px 12px;display:flex}.arch-fila:hover{border-color:var(--border)}.arch-fila-id{min-width:0;font-size:var(--fs-sm);flex:1;align-items:center;gap:7px;display:flex}.arch-ico{color:var(--text-muted);flex:none}.arch-fila-id b{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.arch-fila-id em{color:var(--text-muted);white-space:nowrap;font-size:.85em;font-style:normal;font-weight:600}.arch-fila-estado{font-size:var(--fs-xs);white-space:nowrap;flex:none;font-weight:700}.arch-fila-fechas,.arch-fila-meta{font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;flex:none}.arch-fila-meta{text-align:right;min-width:210px}.arch-fila-acc{flex:none;align-items:center;gap:6px;display:flex}.arch-btn{border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--r-control);font-family:inherit;font-size:var(--fs-xs);cursor:pointer;transition:var(--transition);white-space:nowrap;background:0 0;align-items:center;gap:5px;padding:4px 9px;font-weight:600;display:inline-flex}.arch-btn:hover{color:var(--text-primary);border-color:var(--border-hover);background:var(--bg-card-hover)}.arch-btn-volver{color:var(--accent);border-color:var(--accent-border)}.arch-btn-volver:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-bg)}.arch-btn:disabled{opacity:.5;cursor:wait}.user-tabs-wrap{align-items:center;min-width:0;display:flex;position:relative}.user-tab-abrir{font-family:inherit}.user-tab-abrir .user-tab-chev{opacity:.6;transition:var(--transition)}.user-tab-abrir:hover .user-tab-chev{opacity:1}.user-tab-abrir.abierto .user-tab-chev{transform:rotate(180deg)}.user-tabs-wrap .user-tabs{z-index:60;background:var(--bg-secondary);border:1px solid var(--border);max-width:min(70vw,720px);box-shadow:var(--shadow-lg);border-radius:10px;flex-wrap:wrap;padding:8px;position:absolute;top:calc(100% + 6px);left:0;overflow:visible}.bit-est{font-size:calc(var(--fs-xs) * .9);color:var(--est);border:1px solid var(--est);background:color-mix(in srgb, var(--est) 12%, transparent);white-space:nowrap;border-radius:999px;align-items:center;padding:0 7px;font-weight:700;line-height:1.6;display:inline-flex}.bit-est-neutra{color:var(--text-secondary);border-color:var(--border);background:var(--bg-card-hover)}.badge-drive{border:1px solid var(--border);border-radius:var(--r-inline);cursor:pointer;min-width:20px;height:20px;color:var(--text-muted);transition:var(--transition);background:0 0;flex:none;justify-content:center;align-items:center;padding:0 4px;line-height:1;display:inline-flex}.badge-drive:hover{color:var(--accent);border-color:var(--accent);background:var(--bg-card)}.cpv-drive-on{color:var(--accent)}.bit-tipo-btn{border:1px solid var(--border);color:var(--text-muted);font-family:inherit;font-size:var(--fs-xs);cursor:pointer;transition:var(--transition);background:0 0;border-radius:999px;align-items:center;gap:4px;margin-right:auto;padding:2px 9px;font-weight:600;display:inline-flex}.bit-tipo-btn:hover{color:var(--text-primary);border-color:var(--border-hover)}.bit-tipo-btn.on{color:#2563eb;background:#3b82f61f;border-color:#2563eb}.badge-enlace.solo{opacity:.55;gap:1px}.badge:hover .badge-enlace.solo{opacity:1}.badge-enlace.junto{opacity:0;border-width:0;width:0;min-width:0;margin-left:-4px;padding:0;transition:width .12s,opacity .12s,padding .12s,margin .12s;overflow:hidden}.badge:hover .badge-enlace.junto{opacity:1;border-width:1px;border-color:var(--border);width:auto;min-width:20px;margin-left:0;padding:0 4px}.badge-enlace:hover{color:#2563eb;border-color:#2563eb}.badge-enlaces-n{font-size:calc(var(--fs-xs) * .85);color:#2563eb;border-color:#2563eb59;gap:2px;font-weight:700}.badge-enlaces-n:hover{color:#1d4ed8;background:var(--bg-card);border-color:#1d4ed8}.ay-view{align-items:flex-start;gap:28px;display:flex}.ay-indice{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:14px;width:208px;padding:4px 12px 20px 0;display:flex;position:sticky;top:0}.ay-indice-tit{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-weight:800}.ay-indice-grupo{flex-direction:column;gap:2px;display:flex}.ay-indice-grupo-tit{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);opacity:.6;padding:6px 0 2px;font-size:10px;font-weight:700}.ay-indice-item{text-align:left;cursor:pointer;font-family:inherit;font-size:var(--fs-sm);color:var(--text-secondary);border-radius:var(--r-control);transition:var(--transition);background:0 0;border:none;padding:6px 10px;font-weight:600}.ay-indice-item:hover{background:var(--bg-card);color:var(--text-primary)}.ay-indice-item.active{background:var(--bg-card);color:var(--accent)}.ay-indice-pie{font-size:var(--fs-xs);color:var(--text-muted);opacity:.5;padding-top:8px}.ay-cuerpo{flex:1;min-width:0;max-width:760px;padding-bottom:40px}.ay-titulo{font-size:var(--fs-xl);letter-spacing:-.5px;margin-bottom:18px;font-weight:800}.ay-cuerpo h3{font-size:var(--fs-md);color:var(--text-primary);margin:26px 0 8px;font-weight:700}.ay-cuerpo p{font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:12px;line-height:1.65}.ay-cuerpo strong{color:var(--text-primary);font-weight:700}.ay-pasos,.ay-partes{counter-reset:ay;margin:0 0 14px;padding:0;list-style:none}.ay-pasos li,.ay-partes li{counter-increment:ay;font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:9px;padding-left:32px;line-height:1.6;position:relative}.ay-pasos li:before,.ay-partes li:before{content:counter(ay);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:800;display:flex;position:absolute;top:1px;left:0}.ay-pasos li:before{background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border)}.ay-partes li:before{background:var(--accent);color:#fff}.ay-ojo{border-left:3px solid var(--accent);font-size:var(--fs-sm);color:var(--text-secondary);margin:14px 0;padding:2px 0 2px 14px;line-height:1.6}.ay-rol{letter-spacing:.04em;text-transform:uppercase;background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);vertical-align:middle;border-radius:10px;margin-left:4px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-block}.ay-dibujo{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);margin:14px 0 18px;padding:10px}.ay-svg-fondo{fill:var(--bg-card);stroke:var(--border);stroke-width:1px}.ay-svg-linea{fill:none;stroke:var(--border);stroke-width:1px}.ay-svg-celda{fill:var(--bg-card);stroke:var(--border);stroke-width:.5px}.ay-svg-acento{fill:color-mix(in srgb, var(--accent) 14%, transparent);stroke:var(--accent);stroke-width:1px}.ay-svg-clave{fill:#3844c226;stroke:none}.ay-svg-enlace{fill:#2563eb1f;stroke:#2563eb;stroke-width:1px}.ay-svg-estado{fill:#3b82f629;stroke:#3b82f6;stroke-width:1px}.ay-svg-publicar{fill:#f59e0b;stroke:none}.ay-svg-txt{fill:var(--text-primary);font-family:inherit}.ay-svg-icono{color:var(--text-primary);fill:none;stroke:currentColor;stroke-width:2px}.ay-svg-tenue{fill:var(--text-muted);font-family:inherit}.ay-svg-guia{stroke:var(--border);stroke-width:1px}.ay-svg-avatar{fill:var(--border)}.ay-svg-nota{fill:var(--accent)}.ay-svg-nota-txt{fill:#fff;font-family:inherit}.ay-svg-color1{fill:#f59e0b}.ay-svg-color2{fill:#3b82f6}.ay-svg-color3{fill:#a855f7}.ay-svg-color4{fill:#10b981}.ay-svg-sobre-ambar{fill:#111827;font-family:inherit}.ay-estados{flex-direction:column;gap:8px;margin:14px 0 18px;display:flex}.ay-estado{align-items:center;gap:12px;display:flex}.ay-estado-pill{text-align:center;width:122px;font-size:var(--fs-xs);background:color-mix(in srgb, var(--c) 16%, transparent);border:1px solid color-mix(in srgb, var(--c) 55%, transparent);color:var(--c);border-radius:999px;flex-shrink:0;padding:4px 10px;font-weight:700}.ay-estado-ayuda{font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.5}@media (width<=820px){.ay-view{flex-direction:column;gap:14px}.ay-indice{border-right:none;border-bottom:1px solid var(--border);flex-direction:row;align-items:center;gap:6px;width:auto;padding:0 0 10px;position:static;overflow-x:auto}.ay-indice-tit,.ay-indice-grupo-tit,.ay-indice-pie{display:none}.ay-indice-grupo{flex-direction:row;gap:4px}.ay-indice-item{white-space:nowrap}.ay-cuerpo{max-width:none}}.menciones-lista{z-index:10050;background:var(--bg-secondary);border:1px solid var(--border);max-height:220px;box-shadow:var(--shadow-md);border-radius:8px;padding:4px;position:fixed;overflow-y:auto}.menciones-op{text-align:left;width:100%;color:var(--text-primary);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;gap:7px;padding:5px 7px;font-size:12px;display:flex}.menciones-op.sel{background:var(--bg-card-hover)}.menciones-nombre{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.menciones-handle{color:var(--text-muted);flex:none;margin-left:auto;font-size:10.5px}.mencion{vertical-align:baseline;color:#d946ef;border-radius:4px;align-items:center;gap:3px;padding:0 .15em;font-weight:600;display:inline-flex}.mencion-mini{gap:0;padding:0}.carga-wrap{flex-direction:column;gap:14px;padding:4px 2px 24px;display:flex}.carga-barra-sup{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.carga-resumen{color:var(--text-muted);font-size:13px}.carga-ventana{gap:4px;display:inline-flex}.carga-vent-btn{font:inherit;cursor:pointer;background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border);border-radius:7px;padding:3px 10px;font-size:12px;font-weight:600}.carga-vent-btn:hover{border-color:var(--border-hover);color:var(--text-primary)}.carga-vent-btn.activo{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.carga-rejilla{grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:12px;display:grid}.carga-tarjeta{font:inherit;text-align:left;cursor:pointer;background:var(--bg-card);border:1px solid var(--border2);border-radius:12px;flex-direction:column;gap:11px;padding:14px 16px 12px;transition:border-color .12s,background .12s;display:flex}.carga-tarjeta:hover{border-color:var(--accent-border);background:var(--bg-card-hover)}.carga-tarjeta:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.carga-cab{align-items:flex-start;gap:10px;display:flex}.carga-quien{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.carga-nombre{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:600;overflow:hidden}.carga-puesto{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);opacity:.8;white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.carga-estado{flex:none;align-items:center;gap:5px;font-size:12px;font-weight:600;display:inline-flex}.carga-punto{background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.carga-estado-plan{color:var(--accent)}.carga-estado-libre{color:var(--text-muted);opacity:.75}.carga-estado-aviso{color:var(--prioritaria)}.carga-chips{flex-wrap:wrap;gap:5px;display:flex}.carga-chip{background:var(--bg-glass);color:var(--text-muted);border:1px solid var(--border2);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11.5px;display:inline-flex}.carga-chip-aviso{background:var(--prioritaria-melon);color:var(--prioritaria-texto);border-color:color-mix(in srgb, var(--prioritaria) 30%, transparent);font-weight:600}.carga-metrica{flex-direction:column;gap:5px;display:flex}.carga-m-cab{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.carga-m-tit{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);opacity:.75;font-size:10px}.carga-m-val{font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.carga-v-alta{color:var(--prioritaria)}.carga-v-media{color:var(--text-primary)}.carga-v-baja{color:var(--text-muted)}.carga-barras{align-items:flex-end;gap:3px;height:32px;display:flex}.carga-barra{background:var(--accent);opacity:.8;border-radius:2px 2px 1px 1px;flex:1;min-height:2px}.carga-barra.finde{background:var(--border2);opacity:1}.carga-barra.vacio{background:var(--border);opacity:.55}.carga-barra.hoy{background:var(--text-primary);opacity:1}.carga-pie{border-top:1px solid var(--border2);color:var(--text-muted);opacity:.85;font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:10px;padding-top:9px;font-size:11px;display:flex}.carga-vacio{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:14px}.carga-nota{color:var(--text-muted);opacity:.8;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 0;font-size:11.5px;display:flex}.ritmo-wrap{flex-direction:column;gap:20px;padding:4px 2px 24px;display:flex}.ritmo-barra-sup{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ritmo-resumen{color:var(--text-muted);font-size:13px}.ritmo-cuenta-alerta{color:var(--prioritaria)}.ritmo-ventana{gap:4px;display:inline-flex}.ritmo-vent-btn{font:inherit;cursor:pointer;background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border);border-radius:7px;padding:3px 10px;font-size:12px;font-weight:600}.ritmo-vent-btn:hover{border-color:var(--border-hover);color:var(--text-primary)}.ritmo-vent-btn.activo{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.ritmo-tramo{flex-direction:column;gap:8px;display:flex}.ritmo-tramo-tit{color:var(--text-primary);align-items:center;gap:7px;margin:0;font-size:13px;font-weight:700;display:flex}.ritmo-tramo-n{background:var(--bg-glass);color:var(--text-muted);border:1px solid var(--border2);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600}.ritmo-tramo-nota{color:var(--text-muted);opacity:.85;margin:0;font-size:12px}.ritmo-rejilla{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px;margin-top:2px;display:grid}.ritmo-tarjeta{font:inherit;text-align:left;cursor:pointer;background:var(--bg-card);border:1px solid var(--border2);border-radius:12px;flex-direction:column;gap:9px;padding:13px 15px 11px;transition:border-color .12s,background .12s;display:flex}.ritmo-tarjeta:hover{border-color:var(--accent-border);background:var(--bg-card-hover)}.ritmo-tarjeta:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ritmo-tarjeta.ritmo-vencido,.ritmo-tarjeta.ritmo-parado{border-left:3px solid var(--prioritaria)}.ritmo-tarjeta.ritmo-hecho{border-left:3px solid var(--accent)}.ritmo-cab{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.ritmo-titulos{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.ritmo-nombre{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.ritmo-senal{white-space:nowrap;flex:none;align-items:center;gap:4px;font-size:11.5px;font-weight:600;display:inline-flex}.ritmo-senal-vencido,.ritmo-senal-parado{color:var(--prioritaria)}.ritmo-senal-hecho{color:var(--accent)}.ritmo-senal-marcha{color:var(--text-muted);opacity:.8}.ritmo-sub{color:var(--text-muted);flex-wrap:wrap;gap:4px 10px;font-size:11.5px;display:flex}.ritmo-cliente{font-weight:600}.ritmo-dato{opacity:.8}.ritmo-avance{align-items:center;gap:8px;display:flex}.ritmo-avance-riel{background:var(--bg-glass);border:1px solid var(--border2);border-radius:999px;flex:1;height:5px;overflow:hidden}.ritmo-avance-relleno{background:var(--accent);border-radius:999px;height:100%;display:block}.ritmo-avance-num{color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;min-width:32px;font-size:11.5px;font-weight:700}.ritmo-metrica{flex-direction:column;gap:5px;display:flex}.ritmo-m-cab{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.ritmo-m-tit{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);opacity:.75;font-size:10px}.ritmo-m-val{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.ritmo-barras{align-items:flex-end;gap:2px;height:26px;display:flex}.ritmo-barra{background:var(--accent);opacity:.8;border-radius:2px 2px 1px 1px;flex:1;min-height:2px}.ritmo-barra.vacio{background:var(--border2);opacity:1}.ritmo-pie{border-top:1px solid var(--border2);color:var(--text-muted);opacity:.85;font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:10px;padding-top:8px;font-size:11px;display:flex}.ritmo-vacio{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:14px}.ritmo-nota{color:var(--text-muted);opacity:.8;max-width:70ch;margin:0;font-size:11.5px}.badge.tl-resaltada{outline:3px solid var(--accent);outline-offset:2px;z-index:30;animation:1.1s ease-in-out 4 tl-late}@keyframes tl-late{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 65%, transparent)}50%{box-shadow:0 0 0 10px color-mix(in srgb, var(--accent) 0%, transparent)}}@media (prefers-reduced-motion:reduce){.badge.tl-resaltada{animation:none}}.coment{flex-direction:column;gap:6px;width:100%;display:flex}.coment-item{border-radius:var(--r-control,8px);background:color-mix(in srgb, var(--text-primary) 4%, transparent);flex-direction:column;gap:2px;padding:4px 6px;display:flex}.coment-cabeza{align-items:center;gap:5px;display:flex}.coment-autor{font-weight:700;font-size:calc(var(--fs-xs) * .92)}.coment-fecha{color:var(--text-muted);font-size:calc(var(--fs-xs) * .85)}.coment-cabeza .coment-acciones{opacity:0;transition:opacity var(--transition);gap:2px;margin-left:auto;display:flex}.coment-item:hover .coment-cabeza .coment-acciones{opacity:1}.coment-btn{cursor:pointer;color:var(--text-muted);border-radius:var(--r-inline);background:0 0;border:none;align-items:center;padding:2px;display:flex}.coment-btn:hover{color:var(--text-primary);background:var(--bg-secondary)}.coment-texto{font-size:var(--fs-xs);white-space:pre-wrap;word-break:break-word;line-height:1.35}.coment-input{width:100%;font-family:inherit;font-size:var(--fs-xs);background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--r-control,8px);resize:none;outline:none;padding:5px 7px}.coment-input:focus{border-color:var(--accent)}.coment-compacto .coment-nuevo{opacity:.55}.coment-compacto .coment-nuevo:focus{opacity:1}.coment-lista{flex-direction:column;gap:6px;display:flex}.coment-modal-fondo{z-index:4000;background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.coment-modal{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:min(580px,100%);max-height:min(760px,86vh);display:flex;overflow:hidden;box-shadow:0 18px 48px #00000047}.coment-modal-cabeza{border-bottom:1px solid var(--border);color:var(--text-muted);align-items:center;gap:8px;padding:12px 14px;display:flex}.coment-modal-titulo{font-weight:700;font-size:var(--fs-sm);color:var(--text-primary);margin-right:auto;line-height:1.25}.coment-modal-hilo{flex-direction:column;flex:1;gap:10px;min-height:0;padding:14px;display:flex;overflow-y:auto}.coment-modal-pie{border-top:1px solid var(--border);padding:12px 14px}.coment-modal-pie .coment-nuevo{opacity:1}.coment-modal .coment-item{padding:8px 10px}.coment-modal .coment-texto{font-size:var(--fs-sm);line-height:1.45}.coment-modal .coment-cabeza .coment-acciones{opacity:.6}.coment-modal .coment-item:hover .coment-cabeza .coment-acciones{opacity:1}.excel-nota-pop .coment-lista{max-height:260px;padding-right:2px;overflow-y:auto}.coment-resumen{cursor:pointer;width:100%;color:var(--text-muted);font-size:calc(var(--fs-xs) * .85);background:0 0;border:0;align-items:center;gap:5px;padding:1px 0;font-weight:600;display:flex}.coment-resumen:hover{color:var(--text-primary)}.coment-resumen span{margin-right:auto}.coment-edit{flex-direction:column;gap:3px;display:flex}.coment-edit .coment-acciones{justify-content:flex-end;gap:3px;display:flex}.excel-tip-coment{margin-bottom:5px}.excel-tip-coment:last-child{margin-bottom:0}.excel-tip-coment-autor{color:var(--text-muted);margin-top:1px;font-size:.92em;display:block}.badge.badge-denso{padding-left:27px}.badge-caras{z-index:6;pointer-events:auto;flex-direction:column;gap:3px;display:flex;position:absolute;top:12px;left:-15px}.badge-cara,.badge-cara-vacia{background:var(--bg-primary);width:30px;height:30px;box-shadow:0 0 0 2.5px var(--bg-primary);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.badge-cara .avatar{width:30px;height:30px}.badge-cara-fuera .avatar{box-shadow:0 0 0 2.5px var(--aus-color,#0ea5e9)}.badge-cara-aus{z-index:1;background:var(--aus-color,#0ea5e9);color:#fff;width:17px;height:17px;box-shadow:0 0 0 2px var(--bg-primary);border-radius:50%;flex:none;justify-content:center;align-items:center;margin-top:-6px;display:inline-flex}.badge-cara-vacia{border:1.5px dashed color-mix(in srgb, var(--text-muted) 55%, transparent);color:var(--text-muted);cursor:pointer;padding:0;transition:color .15s,border-color .15s}.badge-cara-vacia:hover{color:var(--accent);border-color:var(--accent)}.badge-cara-mas{background:var(--bg-primary);width:30px;height:18px;color:var(--text-muted);box-shadow:0 0 0 2.5px var(--bg-primary);letter-spacing:-.02em;cursor:default;border-radius:9px;flex:none;justify-content:center;align-items:center;font-size:10px;font-weight:800;display:flex}.badge-grupo{font-size:var(--fs-client);color:var(--text-secondary);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;flex:none;margin-bottom:3px;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.badge-acciones{flex:none;align-items:center;gap:4px;margin-left:auto;display:flex}.badge-denso .badge-ctx{min-width:0}.badge-denso .badge-desliza>*{flex:none}.badge-denso .badge-desliza>.badge-title{-webkit-line-clamp:6;-webkit-box-orient:vertical;max-height:none;display:-webkit-box;overflow:hidden}.badge-denso .badge-desliza{overscroll-behavior:auto;overflow:hidden}.badge-cara{height:auto;box-shadow:none;background:0 0;flex-direction:column;gap:1px}.badge-cara .avatar{box-shadow:0 0 0 2.5px var(--bg-primary)}.badge-cara .tag-externo{letter-spacing:.04em;white-space:nowrap;box-shadow:0 0 0 2px var(--bg-primary);border-radius:4px;padding:0 3px;font-size:8.5px;font-weight:800;line-height:1.2}.badge-ultimo{text-align:left;cursor:pointer;background:color-mix(in srgb, var(--text-primary) 5%, transparent);border:0;border-radius:8px;flex:none;width:100%;min-width:0;margin-top:5px;padding:4px 7px;font-family:inherit;display:block}.badge-ultimo:hover{background:color-mix(in srgb, var(--text-primary) 9%, transparent)}.badge-ultimo-quien{font-size:calc(var(--fs-xs) * .92);color:var(--text-primary);margin-right:5px;font-weight:700;display:inline}.badge-ultimo-txt{font-size:var(--fs-xs);color:var(--text-secondary);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.badge-coment-n{font-size:calc(var(--fs-xs) * .85);color:var(--text-secondary);gap:2px;font-weight:700}.badge-coment-n:hover{color:var(--accent);border-color:var(--accent)}.badge-coment-n.vacio{color:var(--text-muted);opacity:.55}.badge:hover .badge-coment-n.vacio{opacity:1}.badge-ctx{cursor:pointer;text-align:left;min-width:0;font-family:inherit;font-size:var(--fs-client);color:var(--text-muted);background:0 0;border:0;flex:1;align-items:center;gap:4px;padding:0;line-height:1.35;display:flex}.badge-ctx svg{opacity:.85;flex:none}.badge-ctx u{white-space:nowrap;text-overflow:ellipsis;border-bottom:1px dashed color-mix(in srgb, var(--text-muted) 45%, transparent);min-width:0;text-decoration:none;overflow:hidden}.badge-ctx:hover{color:var(--accent)}.badge-ctx:hover u{border-bottom-color:var(--accent)}.badge.badge-compacta{align-items:center;padding:0 13px 0 21px}.badge-compacta .badge-body{flex-direction:row;align-items:center;gap:8px;overflow:hidden}.badge-compacta .badge-row-top{flex:none;min-height:0}.badge-compacta .badge-title-group{flex-direction:row;align-items:center;gap:6px}.badge-compacta .badge-cab-meta,.badge-compacta .badge-cab-linea{margin-bottom:0}.badge-compacta .badge-desliza{flex:0 auto;min-width:0}.badge-compacta .badge-grupo,.badge-compacta .badge-ultimo{display:none}.badge-compacta .badge-title{white-space:nowrap;text-overflow:ellipsis;max-height:none;margin:0;display:block;overflow:hidden}.badge-compacta .badge-pie{flex:0 auto;min-width:0;max-width:none;margin-top:0}.badge-compacta .badge-acciones{margin-left:6px}.badge-compacta .badge-ctx{flex:0 auto;min-width:0}.badge-compacta .badge-caras{top:13px}.badge-denso.badge-compacta .badge-grupo,.badge-denso.badge-compacta .badge-ultimo{display:none}.badge-denso.badge-compacta .badge-desliza{flex-direction:row;align-items:baseline;gap:8px;min-width:0}.badge-denso.badge-compacta .badge-ctx{-webkit-line-clamp:unset;white-space:nowrap;text-overflow:ellipsis;flex:0 auto;width:auto;min-width:0;margin-bottom:0;display:inline-block;overflow:hidden}.badge-denso.badge-compacta .badge-title{-webkit-line-clamp:unset;white-space:nowrap;text-overflow:ellipsis;flex:1 1 0;min-width:0;max-height:none;margin:0;display:block;overflow:hidden}.badge-denso.badge-compacta .badge-cab-linea,.badge-denso.badge-compacta .badge-cab-meta{margin-bottom:0}.badge-denso.badge-compacta .badge-cab-meta,.badge-denso.badge-compacta .badge-cab-linea,.badge-denso.badge-compacta .badge-pie{flex:none}.badge-denso.badge-compacta .badge-acciones{flex:none;overflow:visible}.badge-denso.badge-compacta .badge-pie{padding-top:0}.badge-denso .badge-cab-linea{flex-wrap:nowrap;gap:6px;min-width:0;margin-bottom:8px}.badge-denso .badge-tablero-sigla,.badge-denso .badge-clave,.badge-denso .badge-client-label{font-size:calc(var(--fs-sm) - 1.5px);white-space:nowrap;border-radius:8px;flex:none;min-width:0;padding:0 9px;font-weight:600;line-height:1.6}.badge-denso .badge-client-label{color:#fff;background:var(--cliente-color,#64748b);text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.badge-denso .badge-tablero-sigla{color:#3a2c02;background:var(--tablero);border-width:0}.badge-denso .badge-ctx{font-size:calc(var(--fs-lg) * 1.11);color:var(--text-primary);letter-spacing:-.01em;-webkit-line-clamp:3;-webkit-box-orient:vertical;width:100%;margin-bottom:6px;font-weight:800;line-height:1.2;display:-webkit-box;overflow:hidden}.badge-denso .badge-ctx>svg{vertical-align:-.11em;width:.92em;height:.92em;margin-right:5px}.badge-denso .badge-ctx u{border:0;display:inline}.badge-denso .badge-ctx:hover{color:var(--accent)}.badge-denso .badge-grupo{font-size:var(--fs-xs);color:var(--text-secondary);letter-spacing:.01em;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin-bottom:1px;font-weight:400;display:-webkit-box;overflow:hidden}.badge-denso .badge-title{font-size:var(--fs-lg);font-weight:400;line-height:1.3}.badge-denso .badge-sigla{vertical-align:baseline;font-size:calc(var(--fs-lg) * .78);letter-spacing:.02em;background:var(--bg-card-hover);color:var(--text-secondary);white-space:nowrap;border-radius:6px;margin-left:6px;padding:0 7px;font-weight:800;display:inline-block}.badge-denso .badge-pie{gap:4px;padding-top:5px}.badge-denso .badge-acciones{flex-wrap:nowrap;gap:4px;min-width:0;margin-left:0;overflow:hidden}.badge-denso .badge-drive{height:calc(var(--fs-xs) * 1.8);font-size:calc(var(--fs-xs) * .8);text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);border-color:var(--border);opacity:1;background:0 0;border-radius:6px;gap:2px;padding:0 4px;font-weight:700}.badge-denso .badge-drive:hover{color:var(--accent);border-color:var(--accent);background:var(--bg-card)}.badge-denso .badge-enlace.solo,.badge-denso .badge-coment-n.vacio{color:var(--text-muted);opacity:.55}.badge-accion-txt{white-space:nowrap}[data-scale="4"] .badge-accion-txt,[data-scale="5"] .badge-accion-txt,[data-scale="6"] .badge-accion-txt{display:none}[data-scale="4"] .badge-denso .badge-accion-txt,[data-scale="5"] .badge-denso .badge-accion-txt,[data-scale="6"] .badge-denso .badge-accion-txt{display:inline}.badge-denso .selector-estado{text-align:center;text-align-last:center;background-image:none;padding:.4em 1em}.pp-phases-grid-bar .pp-phase:first-child{border-radius:10px 0 0 10px}.pp-phases-grid-bar .pp-phase:last-child{border-radius:0 10px 10px 0}.pp-phases-grid-bar .pp-phase:only-child{border-radius:10px}.pp-phases .pp-phase:first-child{border-radius:10px 0 0 10px}.pp-phases .pp-phase:last-child{border-radius:0 10px 10px 0}.pp-phases .pp-phase:only-child{border-radius:10px}
