.popover:has(.menu-cuenta),.popover:has(.menu-ws){max-height:calc(100vh - 56px);max-height:calc(100dvh - 56px)}.ws-flecha{color:var(--text-3);flex:none;margin-left:-3px}.gtoolbar-ws:hover .ws-flecha{color:var(--text-1)}.avatar-boton{position:relative}.avatar-wrap{position:relative;display:inline-flex}.avatar-estado{position:absolute;right:-4px;bottom:-4px;width:12px;height:12px;font-size:8px;line-height:1;display:flex;align-items:center;justify-content:center;border-radius:var(--r-full);background:var(--sidebar-bg);box-shadow:0 0 0 1.5px var(--sidebar-bg);pointer-events:none}.menu-cuenta-head{display:flex;align-items:center;gap:10px;padding:8px 8px 10px;min-width:0}.menu-cuenta-nombre{font-size:var(--fs-lg);font-weight:650;letter-spacing:-.2px}.menu-cuenta-online{display:flex;align-items:center;gap:5px;font-size:var(--fs-sm);color:var(--text-3)}.punto-online{width:7px;height:7px;border-radius:50%;background:#2ecd6f;flex:none}.estado-campo{display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:0 9px;margin-bottom:4px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-1);color:var(--text-2);font-size:var(--fs-md);text-align:left}.estado-campo:hover{border-color:var(--text-3);color:var(--text-1)}.estado-emoji{display:inline-flex;align-items:center;justify-content:center;width:18px;flex:none;font-size:14px;line-height:1;color:var(--text-3)}.estado-emoji.grande{width:24px;height:24px;font-size:17px}.estado-emoji.chico{width:16px;font-size:13px}.menu-hint{font-size:var(--fs-xs);color:var(--text-3);max-width:96px}.menu-nota{padding:4px 8px 8px;font-size:var(--fs-sm);color:var(--text-3);line-height:1.4}.menu-volver{display:flex;align-items:center;gap:7px;width:100%;height:30px;padding:0 6px;margin-bottom:2px;border-radius:var(--r-md);color:var(--text-1);font-size:var(--fs-md);font-weight:600;text-align:left}.menu-volver:hover{background:var(--bg-hover)}.menu-form{display:flex;align-items:center;gap:6px;padding:4px}.menu-form .input{flex:1;min-width:0;height:30px}.emoji-btn.on{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-border)}.menu-ws-head{display:flex;align-items:center;gap:10px;padding:8px 8px 10px;min-width:0}.menu-ws-logo{width:38px;height:38px;border-radius:var(--r-lg)}.menu-ws-nombre{font-size:var(--fs-lg);font-weight:650;letter-spacing:-.2px}.menu-ws-sub{font-size:var(--fs-sm);color:var(--text-3)}.menu-boton-ancho{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:34px;margin-bottom:4px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-1);color:var(--text-1);font-size:var(--fs-md);font-weight:600}.menu-boton-ancho:hover{background:var(--bg-hover);border-color:var(--text-3)}.atajos-grupo{display:flex;flex-direction:column;gap:2px}.atajos-titulo{font-size:var(--fs-xs);font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-3);margin-bottom:4px}.atajos-fila{display:flex;align-items:center;gap:10px;padding:5px 0;border-top:1px solid var(--border-soft);font-size:var(--fs-md)}.atajos-que{flex:1;min-width:0}.atajos-teclas{display:flex;align-items:center;gap:4px;flex:none}.atajos-mas{font-size:var(--fs-xs);color:var(--text-3)}.ayuda-lista{display:flex;flex-direction:column;gap:2px}.ayuda-item{display:flex;align-items:center;gap:10px;width:100%;min-height:34px;padding:6px 8px;border-radius:var(--r-md);color:var(--text-1);font-size:var(--fs-md)}.ayuda-item:hover{background:var(--bg-hover)}.ayuda-item svg{color:var(--text-2);flex:none}.bloc{display:flex;gap:12px;min-height:280px}.bloc-lista{width:190px;flex:none;display:flex;flex-direction:column;gap:2px;padding-right:10px;border-right:1px solid var(--border);overflow-y:auto;max-height:340px}.bloc-nueva{justify-content:center;margin-bottom:4px;flex:none}.bloc-item{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:var(--r-md);cursor:pointer;font-size:var(--fs-md);flex:none}.bloc-item:hover{background:var(--bg-hover)}.bloc-item.on{background:var(--accent-soft);color:var(--accent)}.bloc-borrar{opacity:0;flex:none}.bloc-item:hover .bloc-borrar{opacity:1}.bloc-editor{flex:1;min-width:0;display:flex}.bloc-texto{width:100%;min-height:280px;resize:vertical;padding:10px 12px;line-height:1.55;font-size:var(--fs-lg)}.campo-fecha{display:flex;align-items:center;gap:7px;text-align:left;color:var(--text-1)}.campo-fecha svg{color:var(--text-3);flex:none}.recordatorios{display:flex;flex-direction:column;gap:2px;max-height:210px;overflow-y:auto}.recordatorio{display:flex;align-items:center;gap:9px;padding:6px 4px;border-top:1px solid var(--border-soft);font-size:var(--fs-md)}.recordatorio.hecho .truncate{text-decoration:line-through;color:var(--text-3)}.recordatorio-check{width:16px;height:16px;flex:none;border-radius:var(--r-sm);border:1.5px solid var(--border);background:var(--bg-1);color:#fff;display:flex;align-items:center;justify-content:center}.recordatorio-check:hover{border-color:var(--accent)}.recordatorio-check.on{background:var(--accent);border-color:var(--accent)}.tiempo-corriendo{display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent);font-size:var(--fs-md);font-weight:600}.tiempo-corriendo .dot{width:7px;height:7px;border-radius:50%;background:currentColor}.tiempo-tarea{display:flex;align-items:center;gap:8px;height:34px;padding:0 6px 0 10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-2);font-size:var(--fs-md)}.tiempo-resultados{margin-top:4px;border:1px solid var(--border);border-radius:var(--r-md);padding:3px;max-height:168px;overflow-y:auto;background:var(--bg-2)}@media (max-width: 700px){.popover{max-width:calc(100vw - 16px)}.menu-cuenta .menu-item,.menu-ws .menu-item,.estado-campo{height:36px}.menu-boton-ancho{height:38px}.menu-cuenta .emoji-btn{height:30px;font-size:17px}.bloc{flex-direction:column;min-height:0}.bloc-lista{width:100%;max-height:132px;padding:0 0 8px;border-right:none;border-bottom:1px solid var(--border)}.bloc-borrar{opacity:1}.bloc-texto{min-height:190px}.atajos-fila{align-items:flex-start;gap:8px}.tiempo-tarea{height:auto;padding:6px 6px 6px 10px;flex-wrap:wrap}}.tablero{display:flex;align-items:stretch;gap:10px;height:100%;padding:12px 12px 10px;overflow-x:auto;overflow-y:hidden}.tablero-col{width:282px;flex:none;height:100%;min-height:0;display:flex;flex-direction:column;background:var(--bg-2);border:1px solid var(--border-soft);border-radius:var(--r-lg);transition:background .12s var(--ease),border-color .12s var(--ease)}.tablero-col.encima{border-color:var(--accent-border);background:var(--accent-soft)}.tablero-col.excedida{border-color:var(--danger-bg, #e5484d)}.tablero-cab{display:flex;align-items:center;gap:7px;padding:9px 8px 8px 10px;flex:none}.tablero-cab .group-name{max-width:148px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tablero-cab-nombre{display:inline-flex;align-items:center;gap:6px;min-width:0;font-size:var(--fs-md);font-weight:700;color:var(--text-1)}.tablero-cab-nombre b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tablero-conteo{font-size:var(--fs-sm);font-weight:600;color:var(--text-3);font-variant-numeric:tabular-nums;flex:none}.tablero-conteo.excedido{color:var(--danger, #c62a2f)}.tablero-cab .btn-icon{opacity:0;color:var(--text-2);flex:none}.tablero-col:hover .tablero-cab .btn-icon,.tablero-cab .btn-icon:focus-visible{opacity:1}.tablero-cuerpo{flex:1;min-height:0;overflow-y:auto;padding:0 8px 4px;display:flex;flex-direction:column;gap:7px}.tarjeta{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-md);padding:8px 10px 9px;display:flex;flex-direction:column;gap:6px;cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color .12s var(--ease),box-shadow .12s var(--ease)}.tarjeta:hover{border-color:var(--text-3)}.tarjeta.arrastrando{opacity:.35}.tarjeta.superpuesta{box-shadow:var(--shadow-lg);cursor:grabbing;transform:rotate(1.5deg)}.tarjeta-etiquetas{display:flex;flex-wrap:wrap;gap:4px}.tarjeta-id{font-size:10px;color:var(--text-3);font-weight:600;letter-spacing:.3px;margin-bottom:-3px}.tarjeta-nombre{font-size:var(--fs-lg);line-height:1.35;overflow-wrap:anywhere}.tarjeta.hecha .tarjeta-nombre{color:var(--text-3);text-decoration:line-through}.tarjeta-progreso{height:4px;border-radius:var(--r-full);background:var(--bg-3);overflow:hidden}.tarjeta-progreso i{display:block;height:100%;background:var(--ok-bg, #22C55E);border-radius:var(--r-full)}.tarjeta-pie{display:flex;align-items:center;gap:6px;min-height:18px}.tarjeta-fecha{display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-xs);color:var(--text-2);white-space:nowrap}.tarjeta-conts{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);color:var(--text-3)}[data-theme=dark] .tarjeta,[data-theme=dark] .tablero-nueva{background:var(--bg-3)}.tablero-pie{flex:none;padding:4px 8px 8px}.tablero-agregar{display:flex;align-items:center;gap:7px;width:100%;height:30px;padding:0 8px;border-radius:var(--r-md);font-size:var(--fs-md);color:var(--text-3)}.tablero-agregar:hover{background:var(--bg-hover);color:var(--text-1)}.tablero-nueva{background:var(--bg-1);border:1px solid var(--accent-border);border-radius:var(--r-md);padding:7px 9px;box-shadow:var(--shadow-sm)}.tablero-nueva textarea{width:100%;border:none;background:none;resize:none;font-family:inherit;font-size:var(--fs-lg);line-height:1.35;color:var(--text-1)}.tablero-nueva-ayuda{font-size:10px;color:var(--text-3)}.tablero-calc{display:flex;align-items:center;gap:4px;margin-top:2px;padding-top:4px;border-top:1px solid var(--border-soft);min-height:24px}.tablero-calc .calc-cell{flex:1 1 0;min-width:0}.tablero-calc .calc-placeholder{opacity:.75}.tablero-col:hover .tablero-calc .calc-placeholder{opacity:1}.tablero-calc-mas{flex:none;display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 6px;border-radius:var(--r-sm);font-size:var(--fs-xs);color:var(--text-3)}.tablero-calc-mas:hover{background:var(--bg-hover);color:var(--text-1)}.tablero-col.plegada{width:44px;cursor:pointer;align-items:center;padding:8px 0 10px}.tablero-col.plegada:hover{background:var(--bg-3)}.tablero-plegada-color{width:22px;height:4px;border-radius:var(--r-full);flex:none}.tablero-plegada-nombre{writing-mode:vertical-rl;transform:rotate(180deg);margin-top:10px;font-size:var(--fs-sm);font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;max-height:100%}.tablero-col.plegada .tablero-conteo{margin-top:8px}.tablero-wip{padding:2px 4px 4px}.tablero-wip .input{width:100%}.tablero-wip-acciones{display:flex;gap:6px;margin-top:8px}@media (max-width: 900px){.tablero{padding:10px;gap:10px;scroll-snap-type:x mandatory}.tablero-col{width:min(84vw,300px);scroll-snap-align:start}.tablero-cab .btn-icon{opacity:1}}@media (max-width: 420px){.tablero{padding:8px}.tablero-col{width:calc(100vw - 46px)}.tarjeta{padding:9px 11px 10px}}:root{--accent: #7B68EE;--accent-hover: #8c7bf0;--accent-soft: rgba(123, 104, 238, .14);--accent-border: rgba(123, 104, 238, .38);--accent-text: #ffffff;--p-urgent: #f50000;--p-high: #ffcc00;--p-normal: #6fddff;--p-low: #d8d8d8;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-lg: 14px;--fs-xl: 16px;--fs-2xl: 20px;--fs-3xl: 26px;--r-sm: 4px;--r-md: 6px;--r-lg: 8px;--r-xl: 12px;--r-full: 999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.14);--shadow-md: 0 4px 14px rgba(0,0,0,.22);--shadow-lg: 0 12px 40px rgba(0,0,0,.34);--sidebar-w: 244px;--topbar-h: 48px;--toolbar-h: 44px;--row-h: 36px;--ease: cubic-bezier(.2,.8,.3,1)}:root,[data-theme=light]{--bg-0: #ffffff;--bg-1: #ffffff;--bg-2: #f9f9f9;--bg-3: #f0f0f0;--bg-4: #e0e0e0;--bg-hover: rgba(0,0,0,.05);--bg-active: rgba(0,0,0,.085);--sidebar-bg: #f9f9f9;--border: #dcdcdc;--border-soft: #e8e8e8;--border-strong: #c4c4c4;--text-1: #1c1c1c;--text-2: #5a5a5a;--text-3: #717171;--text-inverse: #ffffff;--overlay: rgba(0,0,0,.45);--skeleton: linear-gradient(90deg, #f0f0f0, #f9f9f9, #f0f0f0);--ok: #18794e;--ok-bg: #30a46c;--ok-soft: rgba(24, 121, 78, .12);--warn: #8a5300;--warn-bg: #f5a623;--warn-soft: rgba(138, 83, 0, .12);--danger: #c62a2f;--danger-bg: #e5484d;--danger-soft: rgba(198, 42, 47, .11);--accent-ink: #6a55e0;color-scheme:light}[data-theme=dark]{--bg-0: #0a0a0a;--bg-1: #111111;--bg-2: #191919;--bg-3: #222222;--bg-4: #313131;--bg-hover: rgba(255,255,255,.07);--bg-active: rgba(255,255,255,.11);--sidebar-bg: #0d0d0d;--border: #3a3a3a;--border-soft: #292929;--border-strong: #4d4d4d;--text-1: #f0f0f0;--text-2: #b4b4b4;--text-3: #8f8f8f;--text-inverse: #111111;--overlay: rgba(0,0,0,.62);--skeleton: linear-gradient(90deg, #191919, #222222, #191919);--ok: #3dd68c;--ok-bg: #30a46c;--ok-soft: rgba(61, 214, 140, .14);--warn: #ffcc4d;--warn-bg: #f5a623;--warn-soft: rgba(255, 204, 77, .14);--danger: #ff8589;--danger-bg: #e5484d;--danger-soft: rgba(255, 133, 137, .13);--accent-ink: #a795ff;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font);font-size:var(--fs-md);line-height:1.45;color:var(--text-1);background:var(--bg-0);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer}a{color:inherit;text-decoration:none}ul,ol{list-style:none}input,textarea{outline:none}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-4);border-radius:var(--r-full);border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--text-3);background-clip:padding-box}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:var(--r-sm)}.btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:var(--r-md);font-size:var(--fs-md);font-weight:500;color:var(--text-2);transition:background .12s var(--ease),color .12s var(--ease),border-color .12s var(--ease);white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:hover{background:var(--bg-hover);color:var(--text-1)}.btn.active{background:var(--bg-active);color:var(--text-1)}.btn-primary{background:var(--accent);color:var(--accent-text);font-weight:600}.btn-primary:hover{background:var(--accent-hover);color:var(--accent-text)}.btn-outline{border:1px solid var(--border)}.btn-outline:hover{border-color:var(--text-3)}.btn-ghost{color:var(--text-2)}.btn-sm{height:26px;padding:0 8px;font-size:var(--fs-sm)}.btn-lg{height:38px;padding:0 16px;font-size:var(--fs-lg)}.btn-icon{width:30px;padding:0;justify-content:center}.btn-icon.btn-sm{width:26px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-danger{color:var(--danger)}.btn-danger:hover{background:var(--danger-soft);color:var(--danger)}.input{width:100%;height:32px;padding:0 10px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-1);font-size:var(--fs-md);transition:border-color .12s var(--ease),background .12s var(--ease)}.input::placeholder{color:var(--text-3)}.input:focus{border-color:var(--accent);background:var(--bg-1)}.input-lg{height:38px;font-size:var(--fs-lg)}textarea.input{height:auto;padding:8px 10px;resize:vertical;line-height:1.5}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:var(--fs-sm);font-weight:600;color:var(--text-2)}.chip{display:inline-flex;align-items:center;gap:5px;height:21px;padding:0 8px;border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:600;letter-spacing:.2px;white-space:nowrap}.chip-dot{width:7px;height:7px;border-radius:50%;flex:none}.avatar{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:9px;font-weight:700;letter-spacing:.3px;color:#fff;flex:none;-webkit-user-select:none;user-select:none;border:1.5px solid var(--bg-1);background-size:cover;background-position:center}.avatar-sm{width:18px;height:18px;font-size:8px}.avatar-lg{width:28px;height:28px;font-size:11px}.avatar-xl{width:42px;height:42px;font-size:15px}.avatar-stack{display:inline-flex}.avatar-stack .avatar+.avatar{margin-left:-6px}.avatar-empty{background:transparent;border:1.5px dashed var(--text-3);color:var(--text-3)}.divider{height:1px;background:var(--border);margin:6px 0}.spacer{flex:1}.muted{color:var(--text-2)}.dim{color:var(--text-3)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row{display:flex;align-items:center;gap:8px}.col{display:flex;flex-direction:column}.popover{position:fixed;z-index:400;min-width:190px;max-height:60vh;overflow-y:auto;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:5px;animation:pop .12s var(--ease)}@keyframes pop{0%{opacity:0;transform:translateY(-4px) scale(.98)}}.menu-item{display:flex;align-items:center;gap:9px;width:100%;height:30px;padding:0 8px;border-radius:var(--r-md);font-size:var(--fs-md);color:var(--text-1);text-align:left}.menu-item:hover{background:var(--bg-hover)}.menu-item.selected{background:var(--accent-soft);color:var(--accent-ink)}.menu-item .icon{color:var(--text-2);flex:none}.menu-item:hover .icon{color:var(--text-1)}.menu-label{padding:6px 8px 4px;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-3)}.menu-search{padding:4px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;animation:fade .14s var(--ease)}@keyframes fade{0%{opacity:0}}.modal{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 64px);display:flex;flex-direction:column;overflow:hidden;animation:rise .16s var(--ease)}@keyframes rise{0%{opacity:0;transform:translateY(10px) scale(.985)}}.modal-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.modal-head h3{font-size:var(--fs-xl);font-weight:600}.modal-body{padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}.app{display:flex;height:100vh;overflow:hidden;background:var(--bg-0)}.main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-1)}.content{flex:1;overflow:auto;min-height:0}.sidebar{width:var(--sidebar-w);flex:none;background:var(--sidebar-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;transition:width .18s var(--ease)}.sidebar.collapsed{width:56px}.sidebar.collapsed .sb-label,.sidebar.collapsed .sb-count,.sidebar.collapsed .sb-actions,.sidebar.collapsed .sb-section-title{display:none}.sidebar.collapsed .sb-item{justify-content:center;padding:0}.sb-head{display:flex;align-items:center;gap:8px;height:var(--topbar-h);padding:0 10px;flex:none;border-bottom:1px solid var(--border-soft)}.sb-brand{display:flex;align-items:center;gap:8px;min-width:0;flex:1;padding:4px;border-radius:var(--r-md)}.sb-brand:hover{background:var(--bg-hover)}.sb-logo{width:26px;height:26px;border-radius:var(--r-md);flex:none;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-weight:800;font-size:11px;letter-spacing:-.3px;background-size:cover;background-position:center}.sb-brand-name{font-size:var(--fs-md);font-weight:650;letter-spacing:-.1px}.sb-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:6px}.sb-item{display:flex;align-items:center;gap:9px;height:30px;padding:0 8px;border-radius:var(--r-md);color:var(--text-2);font-size:var(--fs-md);font-weight:500;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.sb-item:hover{background:var(--bg-hover);color:var(--text-1)}.sb-item.active{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.sb-item.active .sb-ico{color:var(--accent-ink)}.sb-ico{flex:none;color:var(--text-3);display:flex}.sb-item:hover .sb-ico{color:var(--text-2)}.sb-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-count{font-size:var(--fs-xs);color:var(--text-3);font-variant-numeric:tabular-nums}.sb-actions{display:none;align-items:center;gap:1px}.sb-item:hover .sb-actions{display:flex}.sb-item:hover .sb-count{display:none}.sb-act{width:20px;height:20px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;color:var(--text-3)}.sb-act:hover{background:var(--bg-3);color:var(--text-1)}.sb-section{margin-top:10px}.sb-section-title{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-3)}.sb-section-title button{color:var(--text-3);display:flex;padding:2px;border-radius:var(--r-sm)}.sb-section-title button:hover{background:var(--bg-3);color:var(--text-1)}.sb-caret{display:flex;color:var(--text-3);transition:transform .12s var(--ease);flex:none}.sb-caret.open{transform:rotate(90deg)}.sb-dot{width:8px;height:8px;border-radius:2.5px;flex:none}.sb-avatar{width:18px;height:18px;border-radius:var(--r-sm);flex:none;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:800;color:#fff}.sb-children{margin-left:10px;border-left:1px solid var(--border-soft);padding-left:4px}.sb-foot{flex:none;border-top:1px solid var(--border-soft);padding:6px}.topbar{height:var(--topbar-h);flex:none;display:flex;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid var(--border);background:var(--bg-1)}.crumbs{display:flex;align-items:center;gap:4px;min-width:0;font-size:var(--fs-md)}.crumb{color:var(--text-2);padding:3px 6px;border-radius:var(--r-sm);white-space:nowrap}.crumb:hover{background:var(--bg-hover);color:var(--text-1)}.crumb.current{color:var(--text-1);font-weight:600}.crumb-sep{color:var(--text-3)}.search-trigger{display:flex;align-items:center;gap:7px;height:30px;width:220px;padding:0 10px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-3);font-size:var(--fs-md)}.search-trigger:hover{border-color:var(--text-3)}.kbd{font-size:10px;font-weight:600;padding:1px 5px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-3);color:var(--text-3)}.page-head{padding:14px 20px 0}.page-title-row{display:flex;align-items:center;gap:10px}.page-icon{width:30px;height:30px;border-radius:var(--r-md);flex:none;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:12px}.page-title{font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.3px}.page-sub{font-size:var(--fs-md);color:var(--text-2);margin-top:2px}.viewtabs{display:flex;align-items:center;gap:2px;padding:0 12px;height:38px;flex:none;border-bottom:1px solid var(--border);background:var(--bg-1);overflow-x:auto;scrollbar-width:none}.viewtabs::-webkit-scrollbar{display:none}.viewtab{display:flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:var(--r-md);font-size:var(--fs-md);font-weight:500;color:var(--text-2);white-space:nowrap}.viewtab:hover{background:var(--bg-hover);color:var(--text-1)}.viewtab.active{background:var(--bg-3);color:var(--text-1);font-weight:600}.toolbar{display:flex;align-items:center;gap:6px;height:var(--toolbar-h);flex:none;padding:0 12px;border-bottom:1px solid var(--border);background:var(--bg-1)}.toolbar-search{display:flex;align-items:center;gap:6px;height:28px;padding:0 9px;border-radius:var(--r-md);background:var(--bg-2);border:1px solid transparent;width:190px;transition:border-color .12s var(--ease)}.toolbar-search:focus-within{border-color:var(--accent)}.toolbar-search input{background:none;border:none;width:100%;font-size:var(--fs-md)}.filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:2px;background:var(--accent);color:#fff;border-radius:var(--r-full);font-size:10px;font-weight:700}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--bg-0)}.app-body{flex:1;display:flex;min-height:0}.gtoolbar{height:40px;flex:none;display:flex;align-items:center;gap:8px;padding:0 10px;background:var(--sidebar-bg);border-bottom:1px solid var(--border);z-index:60}.gtoolbar-ws{display:flex;align-items:center;gap:8px;padding:3px 6px 3px 3px;border-radius:var(--r-md);min-width:0}.gtoolbar-ws:hover{background:var(--bg-hover)}.gtoolbar-search{flex:1;max-width:620px;margin:0 auto;display:flex;align-items:center;gap:8px;height:28px;padding:0 10px;border-radius:var(--r-md);background:var(--bg-2);border:1px solid var(--border);color:var(--text-3);font-size:var(--fs-md)}.gtoolbar-search:hover{border-color:var(--text-3);background:var(--bg-1)}.gtoolbar-right{display:flex;align-items:center;gap:2px}.globalnav{width:62px;flex:none;background:var(--sidebar-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;padding:6px 0;gap:1px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.globalnav::-webkit-scrollbar{display:none}.gn-item{width:54px;padding:6px 2px 5px;border-radius:var(--r-md);display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--text-2);position:relative;-webkit-user-select:none;user-select:none}.gn-item:hover{background:var(--bg-hover);color:var(--text-1)}.gn-item.active{background:var(--accent-soft);color:var(--accent-ink)}.gn-label{font-size:9.5px;font-weight:600;letter-spacing:-.1px;line-height:1.1;text-align:center}.gn-badge{position:absolute;top:2px;right:8px;min-width:15px;height:15px;padding:0 4px;background:var(--p-urgent);color:#fff;border-radius:var(--r-full);font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center}.locheader{min-height:46px;flex:none;display:flex;align-items:center;gap:8px;padding:6px 14px;border-bottom:1px solid var(--border);background:var(--bg-1)}.loc-title{display:flex;align-items:center;gap:8px;min-width:0}.loc-name{font-size:var(--fs-xl);font-weight:650;letter-spacing:-.2px}.loc-icon{width:22px;height:22px;border-radius:var(--r-sm);flex:none;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;color:#fff}.loc-crumbs{display:flex;align-items:center;gap:3px;font-size:var(--fs-sm);color:var(--text-3)}.loc-crumbs a,.loc-crumbs span{white-space:nowrap}.loc-crumb{padding:1px 4px;border-radius:var(--r-sm)}.loc-crumb:hover{background:var(--bg-hover);color:var(--text-1)}.viewbar{display:flex;align-items:center;gap:2px;padding:0 12px;height:36px;flex:none;border-bottom:1px solid var(--border);background:var(--bg-1);overflow-x:auto;scrollbar-width:none}.viewbar::-webkit-scrollbar{display:none}.viewtab-pin{color:var(--text-3);display:flex}.sb-title{display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;flex:none;font-size:var(--fs-lg);font-weight:650;letter-spacing:-.2px;border-bottom:1px solid var(--border-soft)}.sb-title .spacer{flex:1}.brand-logo{height:34px;width:auto;display:block}.brand-logo-dark,[data-theme=dark] .brand-logo-light{display:none}[data-theme=dark] .brand-logo-dark{display:block}.brand-mark{width:26px;height:26px;border-radius:var(--r-md);flex:none;background-size:cover;background-position:center;background-image:url(/cfa-mark.png)}[data-theme=dark] .brand-mark{background-image:url(/cfa-mark-dark.png)}.avatar-edit{position:relative;display:inline-flex;border-radius:50%}.avatar-edit .avatar{width:56px;height:56px;font-size:19px}.avatar-edit-badge{position:absolute;right:-2px;bottom:-2px;width:21px;height:21px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-2)}.avatar-edit:hover .avatar-edit-badge{background:var(--accent-hover)}.avatar-edit:disabled{opacity:.6;cursor:wait}.cropper{position:relative;overflow:hidden;border-radius:var(--r-md);background:#1b1b1f;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;max-width:100%}.cropper:active{cursor:grabbing}.cropper canvas{pointer-events:none}.cropper-mask{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:50%;box-shadow:0 0 0 9999px #0000008c,inset 0 0 0 2px #ffffffe6}.cropper-mask.cuadrado{border-radius:14px}.cropper-zoom{flex:1;accent-color:var(--accent);height:4px;cursor:pointer}.logo-edit{position:relative;display:inline-flex;flex:none;border-radius:var(--r-lg)}.logo-edit .brand-mark{width:56px;height:56px;border-radius:var(--r-lg)}.logo-edit:hover:not(:disabled) .avatar-edit-badge{background:var(--accent-hover)}.logo-edit:disabled{cursor:default}.split-btn{display:inline-flex;align-items:stretch;flex:none}.split-btn-main{border-radius:var(--r-md) 0 0 var(--r-md);padding-right:8px}.split-btn-flecha{border-radius:0 var(--r-md) var(--r-md) 0;width:24px;padding:0;justify-content:center;box-shadow:inset 1px 0 #ffffff47}.list-view{padding:6px 0 90px}.group{margin:0 0 4px}.group-head{display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;position:sticky;top:0;z-index:6;background:var(--bg-1);cursor:pointer;-webkit-user-select:none;user-select:none}.group-head:hover .group-add{opacity:1}.group-caret{display:flex;color:var(--text-3);transition:transform .12s var(--ease)}.group-caret.open{transform:rotate(90deg)}.group-name{height:20px;padding:0 8px}.group-count{font-size:var(--fs-sm);color:var(--text-3);font-weight:600;font-variant-numeric:tabular-nums}.group-add,.group-mas{opacity:0;transition:opacity .12s var(--ease);color:var(--text-3)}.group-head:hover .group-mas{opacity:1}.group-add:hover,.group-mas:hover{color:var(--text-1)}.status-pill{display:inline-flex;align-items:center;flex:none;height:20px;padding:0 8px;border-radius:var(--r-md);font-size:var(--fs-sm);font-weight:600;text-transform:uppercase;letter-spacing:.2px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.status-pill-sm{height:18px;padding:0 7px;font-size:var(--fs-xs);letter-spacing:.3px}.status-pill-vacio{background:var(--bg-3);color:var(--text-2);text-transform:none}.tbl-head{display:flex;align-items:center;gap:8px;height:30px;padding:0 12px;background:var(--bg-1);border-bottom:1px solid var(--border-soft);font-size:var(--fs-sm);font-weight:500;color:var(--text-3)}.head-add{display:inline-flex;align-items:center;gap:5px;flex:none;margin-left:6px;padding:2px 6px;border-radius:var(--r-sm);color:var(--text-3);font-size:var(--fs-sm);white-space:nowrap}.head-add:hover{background:var(--bg-hover);color:var(--text-1)}.tbl-head .cell{display:flex;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:inherit;font-size:inherit}.tbl-head .cell span{overflow:hidden;text-overflow:ellipsis}.task-row{display:flex;align-items:center;gap:8px;min-height:var(--row-h);padding:0 12px;border-bottom:1px solid var(--border-soft);cursor:pointer;position:relative;transition:background .1s var(--ease)}.task-row:hover{background:var(--bg-hover)}.task-row.selected{background:var(--accent-soft)}.task-row.dragging{opacity:.4}.task-row .drag-handle{opacity:0;color:var(--text-3);cursor:grab;display:flex;margin-left:-6px}.task-row:hover .drag-handle{opacity:1}.task-check{width:16px;height:16px;border-radius:50%;flex:none;border:1.5px solid var(--text-3);display:flex;align-items:center;justify-content:center;transition:all .12s var(--ease)}.task-check:hover{border-color:var(--accent)}.task-check.done{background:var(--ok-bg);border-color:var(--ok-bg);color:#fff}.task-name{flex:1;min-width:0;font-size:var(--fs-lg);display:flex;align-items:center;gap:7px}.task-name .txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-row.done-row .task-name .txt{color:var(--text-3);text-decoration:line-through}.task-meta{display:flex;align-items:center;gap:5px;font-size:var(--fs-xs);color:var(--text-3)}.task-meta .pill{display:inline-flex;align-items:center;gap:3px;padding:1px 5px;border-radius:var(--r-sm);background:var(--bg-3)}.cell{display:flex;align-items:center;flex:none;gap:5px;justify-content:flex-start}.cell-status{width:132px}.cell-assignee{width:74px}.cell-due{width:104px;font-size:var(--fs-sm);color:var(--text-2)}.cell-priority{width:34px;justify-content:center}.cell-tags{width:150px;overflow:hidden}.cell-cf{width:120px;font-size:var(--fs-sm);color:var(--text-2)}.due-overdue{color:var(--danger)!important;font-weight:600}.due-today{color:var(--warn)!important;font-weight:600}.due-hecha{color:var(--ok)!important;font-weight:500}.add-task-row{display:flex;align-items:center;gap:8px;height:32px;padding:0 12px;color:var(--text-3);font-size:var(--fs-md);cursor:pointer}.add-task-row:hover{color:var(--accent-ink);background:var(--bg-hover)}.add-task-input{flex:1;background:none;border:none;font-size:var(--fs-lg);color:var(--text-1)}.table-wrap{overflow:auto;padding-bottom:80px}table.grid{width:100%;border-collapse:collapse;font-size:var(--fs-md)}table.grid th{position:sticky;top:0;z-index:4;background:var(--bg-2);text-align:left;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-3);padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}table.grid td{padding:7px 10px;border-bottom:1px solid var(--border-soft);vertical-align:middle}table.grid tr:hover td{background:var(--bg-hover);cursor:pointer}.gantt{display:flex;height:100%;overflow:hidden}.gantt-side{width:260px;flex:none;border-right:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column}.gantt-side-head,.gantt-main-head{height:46px;flex:none;border-bottom:1px solid var(--border);background:var(--bg-2)}.gantt-side-head{display:flex;align-items:center;padding:0 12px;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-3)}.gantt-side-body{overflow:hidden}.gantt-row-label{height:32px;display:flex;align-items:center;gap:7px;padding:0 12px;border-bottom:1px solid var(--border-soft);font-size:var(--fs-md);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}.gantt-row-label:hover{background:var(--bg-hover)}.gantt-main{flex:1;overflow:auto;position:relative}.gantt-scale{display:flex;height:46px;position:sticky;top:0;z-index:5;background:var(--bg-2);border-bottom:1px solid var(--border)}.gantt-month{flex:none;border-right:1px solid var(--border);font-size:var(--fs-xs);font-weight:700;color:var(--text-2);padding:4px 6px;text-transform:uppercase;letter-spacing:.5px}.gantt-days{display:flex}.gantt-day{flex:none;text-align:center;font-size:10px;color:var(--text-3);border-right:1px solid var(--border-soft);padding-top:2px}.gantt-day.weekend{background:var(--bg-2)}.gantt-body{position:relative}.gantt-row{height:32px;border-bottom:1px solid var(--border-soft);position:relative}.gantt-row:hover{background:var(--bg-hover)}.gantt-bar{position:absolute;top:6px;height:20px;border-radius:var(--r-sm);display:flex;align-items:center;padding:0 7px;gap:5px;font-size:var(--fs-xs);font-weight:600;color:#fff;cursor:grab;overflow:hidden;white-space:nowrap;box-shadow:var(--shadow-sm)}.gantt-bar:active{cursor:grabbing}.gantt-handle{position:absolute;top:0;width:6px;height:100%;cursor:ew-resize}.gantt-handle.l{left:0}.gantt-handle.r{right:0}.gantt-today{position:absolute;top:0;bottom:0;width:2px;background:var(--p-urgent);z-index:3;opacity:.7}.gantt-dep{position:absolute;pointer-events:none;z-index:2}.task-modal{width:min(1080px,calc(100vw - 40px));height:calc(100vh - 56px);background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:rise .16s var(--ease)}.tm-head{display:flex;align-items:center;gap:8px;padding:9px 14px;border-bottom:1px solid var(--border);flex:none}.tm-body{flex:1;display:flex;min-height:0}.tm-left{flex:1;overflow-y:auto;padding:18px 24px 40px;min-width:0}.tm-right{width:320px;flex:none;border-left:1px solid var(--border);overflow-y:auto;background:var(--bg-2)}.tm-title{font-size:22px;font-weight:700;letter-spacing:-.4px;line-height:1.3;width:100%;background:none;border:none;resize:none;overflow:hidden;font-family:inherit;color:var(--text-1);margin-bottom:12px}.tm-props{display:flex;flex-direction:column;gap:1px;margin-bottom:20px}.tm-prop{display:flex;align-items:center;gap:10px;min-height:30px}.tm-prop-label{width:132px;flex:none;font-size:var(--fs-md);color:var(--text-3);display:flex;align-items:center;gap:7px;font-weight:500}.tm-prop-value{flex:1;min-width:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tm-set{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 7px;border-radius:var(--r-md);color:var(--text-3);font-size:var(--fs-md)}.tm-set:hover{background:var(--bg-hover);color:var(--text-1)}.tm-section{margin-bottom:22px}.tm-section-head{display:flex;align-items:center;gap:7px;margin-bottom:9px;font-size:var(--fs-md);font-weight:650;color:var(--text-2)}.tm-section-head .count{color:var(--text-3);font-weight:500}.subtask-row{display:flex;align-items:center;gap:9px;height:32px;padding:0 8px;border-radius:var(--r-md);font-size:var(--fs-md)}.subtask-row:hover{background:var(--bg-hover)}.check-item{display:flex;align-items:center;gap:9px;height:30px;padding:0 8px;border-radius:var(--r-md)}.check-item:hover{background:var(--bg-hover)}.check-box{width:15px;height:15px;border-radius:var(--r-sm);flex:none;border:1.5px solid var(--text-3);display:flex;align-items:center;justify-content:center}.check-box.on{background:var(--accent);border-color:var(--accent);color:#fff}.check-item.on span{color:var(--text-3);text-decoration:line-through}.progress-track{height:5px;background:var(--bg-3);border-radius:var(--r-full);overflow:hidden;flex:1}.progress-fill{height:100%;background:var(--accent);border-radius:var(--r-full);transition:width .2s var(--ease)}.tm-tabs{display:flex;gap:2px;padding:10px 14px 0;border-bottom:1px solid var(--border)}.tm-tab{height:30px;padding:0 10px;border-radius:var(--r-md) var(--r-md) 0 0;font-size:var(--fs-md);color:var(--text-2);font-weight:500}.tm-tab.active{color:var(--text-1);font-weight:650;box-shadow:inset 0 -2px 0 var(--accent)}.comment{display:flex;gap:9px;padding:10px 14px}.comment-body{flex:1;min-width:0}.comment-head{display:flex;align-items:baseline;gap:7px;margin-bottom:2px}.comment-author{font-size:var(--fs-md);font-weight:650}.comment-time{font-size:var(--fs-xs);color:var(--text-3)}.comment-text{font-size:var(--fs-md);line-height:1.5;word-break:break-word;white-space:pre-wrap}.comment-actions{display:flex;gap:4px;margin-top:5px;opacity:0;transition:opacity .12s}.comment:hover .comment-actions{opacity:1}.reaction{display:inline-flex;align-items:center;gap:3px;height:20px;padding:0 6px;border-radius:var(--r-full);background:var(--bg-3);font-size:var(--fs-xs)}.reaction.mine{background:var(--accent-soft);color:var(--accent-ink)}.composer{padding:10px 14px;border-top:1px solid var(--border);background:var(--bg-2)}.composer-box{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:8px 10px;min-height:60px}.composer-box:focus-within{border-color:var(--accent)}.activity-row{display:flex;gap:9px;padding:7px 14px;font-size:var(--fs-sm);color:var(--text-2)}.activity-row b{color:var(--text-1);font-weight:600}.rte{min-height:90px;padding:10px 12px;border-radius:var(--r-lg);border:1px solid transparent;font-size:var(--fs-lg);line-height:1.65;color:var(--text-1);outline:none}.rte:hover{background:var(--bg-2)}.rte:focus{background:var(--bg-2);border-color:var(--border)}.rte:empty:before{content:attr(data-placeholder);color:var(--text-3)}.rte h1{font-size:24px;font-weight:700;margin:14px 0 8px;letter-spacing:-.4px}.rte h2{font-size:19px;font-weight:700;margin:12px 0 6px}.rte h3{font-size:16px;font-weight:650;margin:10px 0 5px}.rte p{margin:6px 0}.rte ul,.rte ol{margin:6px 0 6px 22px}.rte ul{list-style:disc}.rte ol{list-style:decimal}.rte li{margin:2px 0}.rte a{color:var(--accent-ink);text-decoration:underline}.rte code{background:var(--bg-3);padding:1px 5px;border-radius:var(--r-sm);font-family:ui-monospace,Menlo,monospace;font-size:.9em}.rte pre{background:var(--bg-3);padding:10px 12px;border-radius:var(--r-md);overflow-x:auto;margin:8px 0}.rte blockquote{border-left:3px solid var(--accent);padding-left:12px;color:var(--text-2);margin:8px 0}.rte hr{border:none;border-top:1px solid var(--border);margin:14px 0}.rte img{max-width:100%;border-radius:var(--r-md)}.rte table{border-collapse:collapse;width:100%;margin:8px 0}.rte td,.rte th{border:1px solid var(--border);padding:6px 9px}.rte-toolbar{display:flex;align-items:center;gap:1px;flex-wrap:wrap;padding:5px;border-bottom:1px solid var(--border);background:var(--bg-2);border-radius:var(--r-lg) var(--r-lg) 0 0;position:sticky;top:0;z-index:5}.rte-btn{width:27px;height:27px;border-radius:var(--r-sm);color:var(--text-2);display:flex;align-items:center;justify-content:center}.rte-btn:hover{background:var(--bg-hover);color:var(--text-1)}.tm-nav{display:flex;align-items:center;gap:2px;flex:none}.tm-crumbs{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-created{font-size:var(--fs-sm);color:var(--text-3);white-space:nowrap;margin-right:2px}.tm-star.on,.tm-star.on:hover{color:var(--warn-bg)}.tm-idrow{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:10px}.tm-type,.tm-id,.tm-clip{display:inline-flex;align-items:center;gap:5px;flex:none;height:24px;padding:0 8px;border-radius:var(--r-full);background:var(--bg-3);color:var(--text-2);font-size:var(--fs-sm);font-weight:600}.tm-type:hover,.tm-id:hover,.tm-clip:hover{background:var(--bg-4);color:var(--text-1)}.tm-id{font-weight:500;letter-spacing:.2px}.tm-clip:hover{color:var(--accent)}.tm-props{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:26px;row-gap:2px}.tm-done-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--r-md);flex:none}.tm-done-btn:hover{background:var(--bg-hover)}.tm-files{display:flex;flex-wrap:wrap;gap:10px}.tm-file{width:136px;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;background:var(--bg-1);color:var(--text-1);display:flex;flex-direction:column}.tm-file:hover{border-color:var(--accent-border);box-shadow:var(--shadow-sm)}.tm-file-thumb{height:78px;background:var(--bg-3);display:grid;place-items:center;overflow:hidden}.tm-file-thumb img{width:100%;height:100%;object-fit:cover;display:block}.tm-file-meta{display:flex;flex-direction:column;gap:1px;padding:6px 8px;min-width:0;font-size:var(--fs-xs)}.tm-flash{animation:tmFlash 1.5s var(--ease)}@keyframes tmFlash{0%,45%{background:var(--accent-soft);box-shadow:0 0 0 6px var(--accent-soft);border-radius:var(--r-md)}to{background:transparent;box-shadow:none}}.tm-right{display:flex;flex-direction:column}.tm-tabs{flex:none}.tm-panel-tools{display:flex;align-items:center;gap:6px;padding:8px 12px 4px;flex:none}.tm-panel-tools .toolbar-search{flex:1;min-width:0;background:var(--bg-3)}.tm-comments{display:flex;flex-direction:column;flex:1;min-height:0}.tm-comments-list{flex:1;min-height:0;overflow-y:auto;padding-top:2px}.tm-activity{flex:1;min-height:0;overflow-y:auto;padding:6px 0 14px}.comment-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.comment-file{display:inline-flex;max-width:100%;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--border)}.comment-file img{max-width:132px;max-height:96px;object-fit:cover;display:block}.comment-file-doc{display:inline-flex;align-items:center;gap:5px;max-width:190px;padding:5px 8px;font-size:var(--fs-xs);color:var(--text-2);background:var(--bg-3)}.comment-assigned{display:inline-flex;align-items:center;gap:5px;margin-top:6px;padding:2px 4px 2px 8px;border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-ink);font-size:var(--fs-xs);font-weight:600}.composer{position:relative;flex:none}.composer-input{width:100%;background:none;border:none;resize:none;min-height:44px;font-size:var(--fs-md);font-family:inherit;color:var(--text-1)}.composer-input:focus{outline:none}.composer-files{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.composer-file{display:inline-flex;align-items:center;gap:5px;max-width:100%;height:24px;padding:0 3px 0 8px;border-radius:var(--r-full);background:var(--bg-3);color:var(--text-2);font-size:var(--fs-xs)}.composer-bar{display:flex;align-items:center;gap:1px;margin-top:7px}.composer-bar .btn-icon{color:var(--text-3)}.composer-bar .btn-icon:hover{color:var(--text-1)}.composer-hint{font-size:var(--fs-xs);margin-right:6px;white-space:nowrap}.mention-menu{position:absolute;left:12px;right:12px;bottom:calc(100% - 4px);z-index:30;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:4px;max-height:240px;overflow-y:auto}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:1px;padding:2px}.emoji-btn{height:26px;border-radius:var(--r-sm);font-size:15px;line-height:1}.emoji-btn:hover{background:var(--bg-hover)}@media (max-width: 900px){.tm-solo-escritorio{display:none!important}.tm-props{grid-template-columns:1fr}.task-modal .tm-head{flex-wrap:nowrap;gap:3px;padding:6px 8px}.task-modal .tm-head .loc-crumbs{flex:1 1 auto;min-width:0}.tm-idrow{margin-bottom:8px}.tm-file{width:calc(50% - 5px)}.composer-bar{flex-wrap:wrap;row-gap:6px}.composer-hint{display:none}}.comment-text .mention{color:var(--accent-ink);background:var(--accent-soft);border-radius:var(--r-sm);padding:0 3px;font-weight:600}.sel-box{width:14px;height:14px;flex:none;margin-right:2px;border:1.5px solid var(--border-strong, var(--border));border-radius:3px;cursor:pointer;display:none;align-items:center;justify-content:center;color:#fff;background:var(--bg-1)}.task-row:hover .sel-box,.task-row.marcada .sel-box,.task-row.hay-seleccion .sel-box,.group-head:hover .sel-grupo,.sel-grupo.on{display:inline-flex}.sel-box.on{background:var(--accent);border-color:var(--accent)}.sel-box:hover{border-color:var(--accent)}.sel-grupo{margin-right:6px}.task-row.marcada{background:var(--accent-soft)}.task-row.hay-seleccion{cursor:pointer}.calc-row{display:flex;align-items:center;gap:8px;padding:0 12px;height:26px;color:var(--text-3);font-size:var(--fs-sm)}.calc-cell{box-sizing:border-box;cursor:pointer;border-radius:4px;padding:2px 4px;display:flex;align-items:center;justify-content:flex-end;gap:5px;white-space:nowrap;overflow:hidden;min-width:0}.calc-cell:hover{background:var(--bg-hover);color:var(--text-2)}.calc-cell>span{overflow:hidden;text-overflow:ellipsis}.calc-placeholder{opacity:0;transition:opacity .12s}.calc-row:hover .calc-placeholder{opacity:1}.calc-op{font-size:var(--fs-xs);color:var(--text-3)}.calc-val{font-weight:650;color:var(--text-1)}.calc-cell.cell-priority{justify-content:center}.calc-cell.cell-priority .calc-op,.calc-cell.cell-assignee .calc-op{display:none}.calc-cell.cell-priority .calc-placeholder{font-size:var(--fs-xs)}.calc-cell.cell-priority .calc-placeholder:after{content:"∑"}.calc-cell.cell-priority .calc-placeholder{font-size:12px;color:var(--text-3)}.bulk-bar{position:fixed;left:50%;bottom:20px;transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:10px;padding:8px 10px;max-width:calc(100vw - 24px);background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);animation:rise .16s var(--ease)}.bulk-count{min-width:22px;height:22px;padding:0 6px;flex:none;border-radius:11px;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-sm);font-weight:700}.bulk-label{font-size:var(--fs-md);color:var(--text-2);flex:none}.bulk-actions{display:flex;align-items:center;gap:2px;overflow-x:auto}.bulk-btn{display:inline-flex;align-items:center;gap:6px;flex:none;padding:5px 9px;border-radius:var(--r-md);background:none;border:none;cursor:pointer;font-size:var(--fs-md);color:var(--text-1);white-space:nowrap}.bulk-btn:hover{background:var(--bg-hover)}.bulk-btn[aria-disabled=true],.bulk-btn:disabled{opacity:.5;cursor:wait}.bulk-danger{color:var(--danger)}.bulk-danger:hover{background:var(--danger-soft)}.bulk-close{flex:none;background:none;border:none;cursor:pointer;color:var(--text-3);display:flex;padding:4px;border-radius:var(--r-md)}.bulk-close:hover{background:var(--bg-hover);color:var(--text-1)}@media (max-width: 700px){.bulk-bar{left:8px;right:8px;bottom:8px;transform:none;max-width:none;gap:6px}.bulk-label{display:none}.bulk-btn span:not(.spacer){display:none}.bulk-btn{padding:7px 9px}.bulk-actions{flex:1;justify-content:space-around;overflow-x:visible}.calc-row{display:none}.sel-box{display:inline-flex;width:16px;height:16px}}.task-ico{color:var(--text-3);flex:none}.task-row:hover .task-ico{color:var(--text-2)}.fila-acciones{display:flex;align-items:center;gap:4px;margin-left:auto;flex:none}.fila-accion{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg-1);color:var(--text-2);opacity:0;transition:opacity .12s var(--ease)}.fila-accion:hover{background:var(--bg-3);color:var(--text-1);border-color:var(--border-strong)}.task-row:hover .fila-accion,.fila-accion:focus-visible{opacity:1}.fila-mas{width:26px;height:26px;margin-left:2px;border:none;background:none}.task-row:hover .fila-mas{opacity:1}.task-rename{flex:1;min-width:0;height:24px;padding:0 6px;background:var(--bg-1);border:1px solid var(--accent);border-radius:var(--r-sm);color:var(--text-1);font-size:var(--fs-lg)}.nueva-fila{display:flex;align-items:center;gap:8px;min-height:38px;padding:4px 12px;border-bottom:1px solid var(--border-soft);background:var(--bg-2)}.nueva-punto{width:15px;height:15px;border-radius:50%;flex:none;border:2px solid var(--text-3)}.nueva-input{flex:1;min-width:90px;background:none;border:none;font-size:var(--fs-lg);color:var(--text-1)}.nueva-input::placeholder{color:var(--text-3)}.nueva-chips{display:flex;align-items:center;gap:4px;flex:none;flex-wrap:wrap}.nueva-chip{display:inline-flex;align-items:center;gap:5px;flex:none;height:24px;padding:0 8px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg-1);color:var(--text-2);font-size:var(--fs-sm);white-space:nowrap}.nueva-chip:hover{border-color:var(--border-strong);color:var(--text-1)}.nueva-chip.on{border-color:var(--accent-border);color:var(--text-1)}.nueva-acciones{display:flex;align-items:center;gap:6px;flex:none}.menu-fila-rapida{display:flex;align-items:center;gap:2px;padding:2px}.menu-rapido{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 8px;border-radius:var(--r-md);color:var(--text-2);font-size:var(--fs-sm);white-space:nowrap}.menu-rapido:hover{background:var(--bg-hover);color:var(--text-1)}@media (max-width: 700px){.fila-acciones{display:none}.fila-mas,.group-mas{opacity:1}.nueva-fila{flex-wrap:wrap;row-gap:6px}.nueva-punto{display:none}.nueva-input{flex:1 1 100%;order:-1}.nueva-chips{flex:1}.nueva-acciones{margin-left:auto}}.cal{display:flex;flex-direction:column;height:100%;min-height:0}.cal-bar{display:flex;align-items:center;gap:8px;flex:none;min-height:var(--toolbar-h);padding:0 12px;border-bottom:1px solid var(--border);background:var(--bg-1)}.cal-bar-nav{display:flex;align-items:center;gap:4px;min-width:0}.cal-titulo{font-size:var(--fs-xl);font-weight:650;letter-spacing:-.2px;margin-left:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-escalas{display:flex;align-items:center;gap:2px;flex:none;padding:2px;border-radius:var(--r-md);background:var(--bg-2)}.cal-escala{height:24px;padding:0 10px;border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:600;color:var(--text-2);white-space:nowrap}.cal-escala:hover{color:var(--text-1)}.cal-escala.activa{background:var(--bg-1);color:var(--text-1);box-shadow:var(--shadow-sm)}.cal-toggle{flex:none}.cal-toggle-n{font-style:normal;font-weight:700;font-size:var(--fs-xs);min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--bg-3);color:var(--text-2);display:inline-flex;align-items:center;justify-content:center}.cal-toggle.active .cal-toggle-n{background:var(--accent);color:#fff}.cal-cuerpo{flex:1;display:flex;min-height:0;position:relative}.cal-grilla{flex:1;min-width:0;display:flex;flex-direction:column}body.cal-arrastrando{cursor:grabbing;-webkit-user-select:none;user-select:none}body.cal-arrastrando *{cursor:grabbing!important}.cal-barra{position:absolute;height:19px;box-sizing:border-box;display:flex;align-items:center;gap:4px;padding:0 6px;border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:550;line-height:1;cursor:pointer;overflow:hidden;white-space:nowrap;pointer-events:auto;touch-action:none}.cal-barra:hover{filter:brightness(1.07)}.cal-barra.sigue-antes{border-top-left-radius:0;border-bottom-left-radius:0}.cal-barra.sigue-despues{border-top-right-radius:0;border-bottom-right-radius:0}.cal-barra.hecha{opacity:.55}.cal-barra.hecha .cal-barra-txt{text-decoration:line-through}.cal-barra.arrastrando{opacity:.8;box-shadow:var(--shadow-md)}.cal-barra-txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.cal-barra .avatar{flex:none}.cal-manija{position:absolute;top:0;width:7px;height:100%;cursor:ew-resize;z-index:2}.cal-manija.izq{left:0}.cal-manija.der{right:0}.cal-manija:after{content:"";position:absolute;top:4px;bottom:4px;width:2px;border-radius:2px;background:#ffffffb3;opacity:0;transition:opacity .12s var(--ease)}.cal-manija.izq:after{left:2px}.cal-manija.der:after{right:2px}.cal-barra:hover .cal-manija:after{opacity:.9}.cal-mas{position:absolute;height:14px;padding:0 4px;border-radius:var(--r-sm);font-size:10px;font-weight:650;color:var(--text-2);display:flex;align-items:center;pointer-events:auto}.cal-mas:hover{background:var(--bg-3);color:var(--text-1)}.cal-punto{width:6px;height:6px;border-radius:50%;flex:none;display:inline-block}.cal-vacio{padding:14px 12px;color:var(--text-3);font-size:var(--fs-sm);text-align:center}.cal-dia-pop-cab{padding:6px 8px 4px;font-size:var(--fs-sm);font-weight:700;color:var(--text-2)}.cal-dia-lista{display:flex;flex-direction:column}.cal-dia-item{display:flex;align-items:center;gap:7px;width:100%;padding:6px 8px;border-radius:var(--r-sm);text-align:left;font-size:var(--fs-md);color:var(--text-1)}.cal-dia-item:hover{background:var(--bg-hover)}.cal-dia-nombre{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-dia-nombre.hecha{text-decoration:line-through;color:var(--text-3)}.cal-dia-hora{font-size:var(--fs-xs);color:var(--text-3);font-variant-numeric:tabular-nums}.calm{display:flex;flex-direction:column;flex:1;min-height:0}.calm-cabecera{display:grid;grid-template-columns:repeat(7,1fr);flex:none;border-bottom:1px solid var(--border)}.calm-cabecera div{padding:6px 4px;text-align:center;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-3)}.calm-cuerpo{flex:1;display:flex;flex-direction:column;min-height:0}.calm-semana{flex:1;position:relative;min-height:0;overflow:hidden}.calm-celdas{display:grid;grid-template-columns:repeat(7,1fr);height:100%}.calm-celda{border-right:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);padding:3px 4px;min-width:0;overflow:hidden}.calm-celda:last-child{border-right:none}.calm-celda.fuera{background:var(--bg-2)}.calm-celda.activa{background:var(--accent-soft)}.calm-num{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-full);font-size:var(--fs-sm);font-weight:600;color:var(--text-2)}.calm-celda.fuera .calm-num{color:var(--text-3)}.calm-celda.hoy .calm-num{background:var(--accent);color:#fff}.calm-barras{position:absolute;left:0;right:0;bottom:0;pointer-events:none}.calt{display:flex;flex-direction:column;flex:1;min-height:0}.calt-canal{width:56px;flex:none;padding:4px 6px;font-size:10px;color:var(--text-3);text-align:right}.calt-cabecera{display:flex;flex:none;border-bottom:1px solid var(--border)}.calt-cabdias{flex:1;display:flex;min-width:0}.calt-cabdia{flex:1 1 0;min-width:0;padding:5px 2px;text-align:center;border-left:1px solid var(--border-soft);display:flex;align-items:baseline;justify-content:center;gap:5px}.calt-cabdia-nom{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calt-cabdia-num{font-size:var(--fs-lg);font-weight:650;color:var(--text-2)}.calt-cabdia.hoy .calt-cabdia-num{background:var(--accent);color:#fff;border-radius:var(--r-full);min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}.calt-cabdia.hoy .calt-cabdia-nom{color:var(--accent)}.calt-todo{display:flex;flex:none;border-bottom:1px solid var(--border);background:var(--bg-1)}.calt-todo-area{flex:1;position:relative;min-width:0;min-height:30px}.calt-todo-celdas{position:absolute;top:0;right:0;bottom:0;left:0;display:flex}.calt-celda{flex:1 1 0;border-left:1px solid var(--border-soft)}.calt-celda.hoy{background:var(--accent-soft);opacity:.45}.calt-celda.activa{background:var(--accent-soft)}.calt-mas{left:6px;bottom:1px}.calt-menos{right:6px;bottom:1px}.calt-scroll{flex:1;display:flex;overflow-y:auto;min-height:0}.calt-horas{width:56px;flex:none}.calt-hora{position:relative}.calt-hora span{position:absolute;top:-7px;right:6px;font-size:10px;color:var(--text-3);background:var(--bg-1);padding:0 2px}.calt-cols{flex:1;display:flex;position:relative;min-width:0}.calt-col{flex:1 1 0;position:relative;border-left:1px solid var(--border-soft);min-width:0}.calt-col.activa{background:var(--accent-soft)}.calt-linea{position:absolute;left:0;right:0;border-top:1px solid var(--border-soft)}.calt-evento{position:absolute;left:3px;right:3px;border-radius:var(--r-sm);padding:3px 6px;font-size:var(--fs-xs);overflow:hidden;cursor:pointer;touch-action:none;display:flex;flex-direction:column;gap:1px}.calt-evento.hecha{opacity:.55;text-decoration:line-through}.calt-evento-hora{font-size:10px;opacity:.85;font-variant-numeric:tabular-nums}.calt-ahora{position:absolute;height:0;border-top:2px solid var(--p-urgent);z-index:3;pointer-events:none}.calt-ahora i{position:absolute;left:-4px;top:-5px;width:8px;height:8px;border-radius:50%;background:var(--p-urgent)}.calp{width:264px;flex:none;display:flex;flex-direction:column;border-left:1px solid var(--border);background:var(--bg-2);min-height:0}.calp-cab{display:flex;align-items:center;gap:7px;flex:none;padding:8px 8px 8px 12px;border-bottom:1px solid var(--border);font-size:var(--fs-md)}.calp-conteo{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--bg-4);color:var(--text-2);font-size:var(--fs-xs);font-weight:700;display:inline-flex;align-items:center;justify-content:center}.calp-lista{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px}.calp-pie{flex:none;padding:8px 12px;border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-3)}.cal-ficha{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-md);padding:8px 9px;cursor:grab;box-shadow:var(--shadow-sm)}.cal-ficha:hover{border-color:var(--text-3)}.cal-ficha.arrastrando{opacity:.45}.cal-ficha-top{display:flex;align-items:center;gap:6px}.cal-ficha-nombre{flex:1;min-width:0;font-size:var(--fs-md);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-ficha-nombre.hecha{text-decoration:line-through;color:var(--text-3)}.cal-ficha-pie{display:flex;align-items:center;gap:6px;margin-top:7px}@media (max-width: 700px){.cal-bar{flex-wrap:wrap;padding:6px 8px;gap:6px;row-gap:6px}.cal-bar-nav{flex:1 1 100%}.cal-titulo{font-size:var(--fs-lg)}.cal-bar .spacer{display:none}.cal-escalas{flex:1 1 auto}.cal-escala{flex:1;justify-content:center;text-align:center;padding:0 6px}.cal-toggle{flex:none}.cal-toggle span{display:none}.calm.compacto .calm-cuerpo{flex:none}.calm.compacto .calm-semana{flex:none;height:46px}.calm.compacto .calm-celda{display:flex;flex-direction:column;align-items:center;gap:2px;padding:3px 0;background:none;border-right:none}.calm.compacto .calm-celda.fuera .calm-num{color:var(--text-3);opacity:.55}.calm.compacto .calm-celda.elegido{background:var(--accent-soft);border-radius:var(--r-md)}.calm.compacto .calm-num{min-width:22px;height:22px;padding:0;font-size:var(--fs-md)}.calm-puntos{display:flex;gap:2px;height:6px;align-items:center}.calm-detalle{flex:1;min-height:0;overflow-y:auto;border-top:1px solid var(--border);padding:4px 6px 60px}.calm-detalle-cab{display:flex;align-items:center;justify-content:space-between;padding:8px 6px 6px;font-size:var(--fs-md);font-weight:700}.calm-detalle-cab .dim{font-size:var(--fs-xs);font-weight:500;color:var(--text-3)}.cal-dia-item{padding:9px 6px}.calt-canal,.calt-horas{width:38px}.calt-cabdia{flex-direction:column;gap:0;padding:4px 0}.calt-cabdia-nom{font-size:9px;letter-spacing:0}.calp{position:absolute;left:0;right:0;bottom:0;width:auto;height:min(58%,340px);z-index:20;border-left:none;border-top:1px solid var(--border);border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--shadow-lg)}.calp-pie{display:none}}.login-wrap{height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(900px 480px at 12% -10%,rgba(123,104,238,.18),transparent 60%),radial-gradient(700px 420px at 90% 110%,rgba(2,188,212,.12),transparent 60%),var(--bg-0);padding:20px}.login-card{width:min(390px,100%);background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-xl);padding:30px;box-shadow:var(--shadow-lg)}.login-logo{width:46px;height:46px;border-radius:var(--r-lg);background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;letter-spacing:-.5px;margin-bottom:18px;background-size:cover;background-position:center}.login-title{font-size:var(--fs-3xl);font-weight:700;letter-spacing:-.6px}.login-sub{color:var(--text-2);margin:5px 0 22px;font-size:var(--fs-lg)}.login-error{background:#ef44441c;border:1px solid rgba(239,68,68,.3);color:#f87171;padding:8px 11px;border-radius:var(--r-md);font-size:var(--fs-md)}.home{padding:22px 26px 80px;max-width:1220px;margin:0 auto}.home-greet{font-size:var(--fs-3xl);font-weight:700;letter-spacing:-.6px}.home-date{color:var(--text-2);font-size:var(--fs-lg);margin-top:2px}.cards-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:22px}.panel{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column}.panel-head{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--border);font-size:var(--fs-lg);font-weight:650}.panel-body{padding:6px;overflow-y:auto}.panel-body.pad{padding:14px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 16px}.stat-label{font-size:var(--fs-sm);color:var(--text-3);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:28px;font-weight:700;letter-spacing:-.8px;margin-top:4px;font-variant-numeric:tabular-nums}.stat-sub{font-size:var(--fs-sm);color:var(--text-2);margin-top:2px}.mini-task{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:var(--r-md);cursor:pointer;font-size:var(--fs-md)}.mini-task:hover{background:var(--bg-hover)}.mini-task .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:48px 20px;color:var(--text-3);text-align:center}.empty svg{opacity:.45}.empty h4{font-size:var(--fs-lg);font-weight:600;color:var(--text-2)}.dash-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;padding:18px 22px 80px}.widget{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 16px;min-height:90px}.widget-title{font-size:var(--fs-sm);font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.bar-row{display:flex;align-items:center;gap:9px;margin-bottom:8px;font-size:var(--fs-md)}.bar-label{width:118px;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2)}.bar-track{flex:1;height:18px;background:var(--bg-3);border-radius:var(--r-sm);overflow:hidden}.bar-fill{height:100%;border-radius:var(--r-sm);transition:width .3s var(--ease)}.bar-value{width:34px;text-align:right;font-variant-numeric:tabular-nums;color:var(--text-2);font-weight:600}.spark{display:flex;align-items:flex-end;gap:2px;height:76px}.spark-bar{flex:1;background:var(--accent);border-radius:2px 2px 0 0;min-height:2px;opacity:.85}.spark-bar:hover{opacity:1}.donut-wrap{display:flex;align-items:center;gap:18px}.donut-legend{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-md)}.donut-legend div{display:flex;align-items:center;gap:7px}.docs-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));padding:18px 22px 80px}.doc-card{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;cursor:pointer;transition:border-color .12s var(--ease),transform .1s var(--ease)}.doc-card:hover{border-color:var(--accent-border);transform:translateY(-1px)}.doc-icon{font-size:26px;margin-bottom:9px}.doc-name{font-size:var(--fs-lg);font-weight:650;margin-bottom:3px}.doc-meta{font-size:var(--fs-sm);color:var(--text-3)}.doc-layout{display:flex;height:100%;overflow:hidden}.doc-side{width:232px;flex:none;border-right:1px solid var(--border);padding:10px;overflow-y:auto;background:var(--bg-2)}.doc-main{flex:1;overflow-y:auto}.doc-page{max-width:780px;margin:0 auto;padding:40px 40px 120px}.doc-page-title{font-size:34px;font-weight:700;letter-spacing:-1px;width:100%;background:none;border:none;margin-bottom:14px;color:var(--text-1)}.goals-wrap{padding:18px 22px 80px;max-width:940px}.goal-card{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 18px;margin-bottom:12px}.goal-title{font-size:var(--fs-xl);font-weight:650}.target-row{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:var(--fs-md);border-top:1px solid var(--border-soft)}.timer-pill{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 10px;border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent);font-size:var(--fs-md);font-weight:650;font-variant-numeric:tabular-nums}.timer-pill .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:pulse 1.6s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.chat-layout{display:flex;height:100%;overflow:hidden}.chat-side{width:220px;flex:none;border-right:1px solid var(--border);padding:10px;overflow-y:auto;background:var(--bg-2)}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0}.chat-msgs{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:14px}.chat-msg{display:flex;gap:10px}.chat-input-wrap{padding:12px 20px 18px}.member-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--border-soft)}.swatches{display:flex;flex-wrap:wrap;gap:7px}.swatch{width:24px;height:24px;border-radius:var(--r-md);border:2px solid transparent}.swatch.on{border-color:var(--text-1)}.cmdk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:var(--overlay);display:flex;justify-content:center;padding-top:12vh;animation:fade .12s var(--ease)}.cmdk{width:min(620px,calc(100vw - 32px));max-height:60vh;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:rise .14s var(--ease)}.cmdk-input{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.cmdk-input input{flex:1;background:none;border:none;font-size:var(--fs-xl)}.cmdk-results{overflow-y:auto;padding:6px}.cmdk-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-md);cursor:pointer;font-size:var(--fs-lg)}.cmdk-item.on{background:var(--accent-soft)}.cmdk-hint{margin-left:auto;font-size:var(--fs-xs);color:var(--text-3)}.toasts{position:fixed;bottom:18px;right:18px;z-index:600;display:flex;flex-direction:column;gap:8px}.toast{display:flex;align-items:center;gap:9px;background:var(--bg-3);border:1px solid var(--border);border-radius:var(--r-lg);padding:10px 14px;box-shadow:var(--shadow-md);font-size:var(--fs-md);min-width:220px;animation:slideIn .18s var(--ease)}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}}.toast.error{border-color:#ef444466}.skel{background:var(--skeleton);background-size:200% 100%;animation:shimmer 1.3s infinite;border-radius:var(--r-sm)}@keyframes shimmer{to{background-position:-200% 0}}.spinner{width:15px;height:15px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.mobile-only{display:none!important}@media (max-width: 900px){.mobile-only{display:inline-flex!important}.globalnav{position:fixed;left:0;top:var(--topbar-h);bottom:0;z-index:212;transform:translate(-100%);transition:transform .2s var(--ease);box-shadow:none}.sidebar{position:fixed;left:62px;top:var(--topbar-h);bottom:0;z-index:210;width:min(268px,calc(100vw - 62px));transform:translate(calc(-100% - 62px));transition:transform .2s var(--ease)}.globalnav.mobile-open{transform:none}.sidebar.mobile-open{transform:none;box-shadow:var(--shadow-lg)}.sidebar.collapsed{width:min(268px,calc(100vw - 62px))}.sidebar.collapsed .sb-label,.sidebar.collapsed .sb-count,.sidebar.collapsed .sb-section-title{display:initial}.sidebar .sb-title .sb-act{display:none}.main{width:100%}.gtoolbar{padding:0 8px;gap:6px}.gtoolbar-ws span:not(.brand-mark){display:none}.gtoolbar-search{max-width:none;margin:0}.gtoolbar-search .kbd{display:none}.locheader{padding:6px 10px;gap:6px;min-height:44px}.loc-name{font-size:var(--fs-lg)}.loc-crumbs{font-size:var(--fs-xs)}.viewbar,.toolbar{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}.viewbar::-webkit-scrollbar,.toolbar::-webkit-scrollbar{display:none}.toolbar{padding:0 10px;gap:5px}.toolbar .spacer{flex:0 0 4px}.toolbar .btn{flex:none}.toolbar-search{width:130px;flex:none}.overlay{padding:0}.task-modal{width:100vw;height:100dvh;max-height:none;border-radius:0;border:none}.tm-body{flex-direction:column;overflow-y:auto}.tm-left{overflow:visible;padding:14px 16px 24px}.tm-right{width:100%;border-left:none;border-top:1px solid var(--border)}.tm-head{padding:8px 10px;gap:5px;flex-wrap:wrap}.tm-head .loc-crumbs{flex:1 1 100%}.tm-title{font-size:19px}.tm-prop-label{width:108px;font-size:var(--fs-sm)}.doc-layout{flex-direction:column}.doc-side{width:100%;max-height:190px;border-right:none;border-bottom:1px solid var(--border)}.doc-page{padding:22px 18px 90px}.doc-page-title{font-size:26px}.dash-grid{grid-template-columns:1fr;padding:14px;gap:12px}.dash-grid>.widget{grid-column:span 1!important}.home{padding:16px 14px 70px}.cards-grid{grid-template-columns:1fr}.cards-grid .panel{grid-column:span 1!important}.docs-grid,.goals-wrap{padding:14px;grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.gantt-side{width:132px}.chat-msgs{padding:12px 14px}.chat-input-wrap{padding:10px 14px 14px}.modal,.cmdk{width:calc(100vw - 20px)}}@media (max-width: 700px){.tbl-head{display:none}.task-row{flex-wrap:wrap;align-items:center;min-height:46px;padding:8px 12px;row-gap:4px}.task-row .drag-handle{display:none}.task-name{flex:1 1 calc(100% - 30px);font-size:var(--fs-lg)}.task-row .cell{margin-left:0}.task-row .cell-status{margin-left:24px}.cell-tags,.cell-cf{display:none}.cell-status,.cell-assignee,.cell-due,.cell-priority{width:auto}.task-row .cell-due{margin-left:auto}.group-head,.add-task-row{padding:0 12px}.stat-grid{grid-template-columns:1fr 1fr;gap:9px}.stat{padding:11px 12px}.stat-value{font-size:21px;margin-top:2px}.stat-label{font-size:10px}.stat-sub{font-size:11px}.tm-left .rte{min-height:72px!important}.tm-section{margin-bottom:16px}.gantt-side{width:108px}.member-row{flex-wrap:wrap}.member-row select{width:100%!important}:root{--fs-md: 13.5px;--fs-lg: 14.5px}}@media (max-width: 420px){.sidebar{width:calc(100vw - 62px)}.loc-name{font-size:var(--fs-md)}.locheader .btn span{display:none}}@supports (padding: max(0px)){@media (max-width: 900px){.chat-input-wrap,.content{padding-bottom:max(14px,env(safe-area-inset-bottom))}.gtoolbar{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}}}.settings-page{flex:1;display:flex;min-height:0;min-width:0}.settings-nav{width:236px;flex:none;min-height:0;display:flex;flex-direction:column;overflow-y:auto;background:var(--sidebar-bg);border-right:1px solid var(--border);padding:12px 8px 16px}.settings-nav-title{display:flex;align-items:center;gap:6px;padding:3px 6px 12px;font-size:var(--fs-lg);font-weight:650;color:var(--text-1)}.settings-nav-title:hover{color:var(--accent)}.settings-nav-group+.settings-nav-group{margin-top:13px}.settings-nav-head{padding:4px 8px;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-nav-item{display:flex;align-items:center;gap:9px;width:100%;min-height:32px;padding:5px 8px;border-radius:var(--r-md);color:var(--text-2);font-size:var(--fs-md);font-weight:500;text-align:left}.settings-nav-item:hover{background:var(--bg-hover);color:var(--text-1)}.settings-nav-item.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.settings-nav-item svg{flex:none}.settings-nav-foot{margin-top:14px;padding-top:10px;border-top:1px solid var(--border)}.settings-body{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--bg-1)}.settings-scroll{flex:1;min-height:0;overflow-y:auto}.settings-panel{padding:24px 30px 44px;max-width:940px}.settings-panel h1{font-size:var(--fs-3xl);font-weight:650;letter-spacing:-.4px}.settings-panel .lead{margin-top:4px;color:var(--text-2);font-size:var(--fs-lg)}.set-sec{display:grid;grid-template-columns:232px minmax(0,1fr);gap:30px;padding:22px 0;border-top:1px solid var(--border)}.set-sec:first-of-type{margin-top:8px}.set-sec-name{font-size:var(--fs-lg);font-weight:650}.set-sec-hint{margin-top:5px;color:var(--text-2);font-size:var(--fs-md);line-height:1.5}.set-sec-body{min-width:0;display:flex;flex-direction:column;gap:14px;align-items:stretch}.set-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.set-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.set-max{max-width:360px}.settings-savebar{flex:none;display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:10px 30px;border-top:1px solid var(--border);background:var(--bg-1)}.settings-savebar .dim{margin-right:auto;font-size:var(--fs-sm)}.int-card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-2);padding:14px 16px;display:flex;flex-direction:column;gap:12px}.int-head{display:flex;align-items:center;gap:11px}.int-logo{width:34px;height:34px;flex:none;border-radius:var(--r-md);display:grid;place-items:center;background:var(--bg-3);color:var(--text-2)}.int-name{font-size:var(--fs-lg);font-weight:650}.int-state{font-size:var(--fs-sm);color:var(--text-3);overflow-wrap:anywhere}.int-note{display:flex;gap:9px;padding:10px 12px;border-radius:var(--r-md);background:var(--bg-3);color:var(--text-2);font-size:var(--fs-md);line-height:1.5}.int-note svg{flex:none;margin-top:2px}.int-note.warn{background:#ffcc0021;border:1px solid rgba(255,204,0,.42);color:var(--text-1)}.int-note.err{background:#f5000017;border:1px solid rgba(245,0,0,.32);color:var(--text-1)}.int-note.ok{background:#2ecd6f1f;border:1px solid rgba(46,205,111,.34);color:var(--text-1)}.int-note b{color:var(--text-1)}.set-list{border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.set-list-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid var(--border-soft)}.set-list-row:first-child{border-top:none}.set-list-main{flex:1;min-width:0}.set-list-main .t{font-weight:600;overflow-wrap:anywhere}.set-list-main .s{font-size:var(--fs-sm);color:var(--text-3);overflow-wrap:anywhere}.set-empty{padding:16px;text-align:center;color:var(--text-3);font-size:var(--fs-md)}.input.readonly{background:var(--bg-3);color:var(--text-2);cursor:default}.input.readonly:focus{border-color:var(--border);background:var(--bg-3)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--fs-sm)}.set-events{display:flex;flex-wrap:wrap;gap:6px 14px}.set-ev{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:var(--fs-md)}.settings-navbtn{display:none}@media (max-width: 900px){.settings-page{flex-direction:column}.settings-navbtn{display:inline-flex;align-items:center;gap:6px;flex:none;height:30px;padding:0 9px;max-width:62vw;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-2);color:var(--text-1);font-size:var(--fs-md);font-weight:600}.settings-navbtn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-nav{width:100%;flex:none;display:none;max-height:min(58vh,420px);border-right:none;border-bottom:1px solid var(--border)}.settings-nav.open{display:flex}.settings-nav-title{display:none}.settings-panel{padding:16px 14px 34px}.set-sec{grid-template-columns:minmax(0,1fr);gap:12px;padding:18px 0}.set-sec:first-of-type{margin-top:4px}.settings-savebar{padding:10px 14px}.set-grid2{grid-template-columns:minmax(0,1fr)}.set-max{max-width:none}}@media (max-width: 700px){.settings-panel h1{font-size:var(--fs-2xl)}.set-list-row{flex-wrap:wrap}.set-list-row .int-logo{display:none}.set-list-row .set-list-main{flex:1 0 100%}}@supports (padding: max(0px)){@media (max-width: 900px){.settings-panel{padding-bottom:max(34px,env(safe-area-inset-bottom))}.settings-savebar{padding-bottom:max(10px,env(safe-area-inset-bottom))}}}.st-move{display:flex;align-items:center;justify-content:center;width:20px;height:15px;border-radius:var(--r-sm);color:var(--text-3)}.st-move:hover:not(:disabled){background:var(--bg-3);color:var(--text-1)}.st-move:disabled{opacity:.3;cursor:not-allowed}@media (max-width: 700px){.status-row{flex-wrap:wrap;row-gap:6px}.status-row select{width:100%!important;order:3}}
