:root,[data-theme=dark]{--magenta: #d946ef;--purple: #8b5cf6;--blue: #3b82f6;--cyan: #06b6d4;--pending-task-red: #ef4444;--pending-task-yellow: #eab308;--bg: #060612;--bg-card: #0c0c24;--bg-elevated: #12123a;--bg-row: #0a0a20;--bg-row-alt: #0e0e2a;--person-band-mix: 44%;--person-band-text: #eef3f9;--person-band-text-dim: #d6dee9;--border: #1e1e4a;--text: #e2e8f0;--text-muted: #94a3b8;--text-dim: #94a3b8;--gradient: linear-gradient( 135deg, var(--magenta), var(--purple), var(--blue), var(--cyan) );--gradient-h: linear-gradient( 90deg, var(--magenta), var(--purple), var(--blue), var(--cyan) );--shadow-glow: 0 0 30px rgba(139, 92, 246, .15);--btn-primary-shadow: 0 4px 15px rgba(139, 92, 246, .3);--btn-primary-shadow-hover: 0 6px 20px rgba(139, 92, 246, .4);--role-active-shadow: 0 6px 16px rgba(139, 92, 246, .35);--table-card-shadow: 0 0 0 1px rgba(139, 92, 246, .06), 0 12px 40px rgba(0, 0, 0, .35);--modal-shadow: 0 24px 48px rgba(0, 0, 0, .5);--tooltip-shadow: 0 8px 24px rgba(0, 0, 0, .5);--header-glow: linear-gradient( 180deg, rgba(139, 92, 246, .06) 0%, transparent 100% );--hover-row: rgba(139, 92, 246, .09);--add-row-border: rgba(30, 30, 74, .5);--add-btn-hover-bg: rgba(139, 92, 246, .05);--overlay-bg: rgba(0, 0, 0, .6);--tooltip-bg: rgba(18, 18, 58, .97);--tooltip-border: rgba(139, 92, 246, .25);--badge-neutral-bg: rgba(100, 116, 139, .2);--badge-neutral-fg: #94a3b8;--badge-owner-bg: rgba(217, 70, 239, .2);--badge-owner-fg: #e879f9;--badge-admin-bg: rgba(139, 92, 246, .2);--badge-admin-fg: #a78bfa;--error-bg: rgba(244, 63, 94, .1);--danger-hover-bg: rgba(244, 63, 94, .1);--border-danger: rgba(244, 63, 94, .3);--border-warning: rgba(245, 158, 11, .3);--color-danger: #f43f5e;--color-danger-hover: #e11d48;--color-warning: #f59e0b;--color-success: #10c64f;--color-scheme: dark;--calendar-icon-invert: 1;--calendar-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23e2e8f0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='18' rx='2'/><line x1='16' y1='2' x2='16' y2='6'/><line x1='8' y1='2' x2='8' y2='6'/><line x1='3' y1='10' x2='21' y2='10'/></svg>");--radius: 10px;--icon-btn-size: 36px}[data-theme=light]{--bg: #f6f6fb;--bg-card: #ffffff;--bg-elevated: #f1f1f8;--bg-row: #fafaff;--bg-row-alt: #ffffff;--person-band-mix: 32%;--person-band-text: #0b1220;--person-band-text-dim: #475569;--border: #e2e2ee;--text: #0f172a;--text-muted: #475569;--text-dim: #475569;--shadow-glow: 0 4px 18px rgba(139, 92, 246, .1);--btn-primary-shadow: 0 4px 14px rgba(139, 92, 246, .25);--btn-primary-shadow-hover: 0 6px 18px rgba(139, 92, 246, .32);--role-active-shadow: 0 6px 16px rgba(139, 92, 246, .28);--table-card-shadow: 0 0 0 1px rgba(139, 92, 246, .1), 0 8px 24px rgba(15, 23, 42, .06);--modal-shadow: 0 24px 48px rgba(15, 23, 42, .18);--tooltip-shadow: 0 8px 24px rgba(15, 23, 42, .12);--header-glow: linear-gradient( 180deg, rgba(139, 92, 246, .1) 0%, transparent 100% );--hover-row: rgba(139, 92, 246, .06);--add-row-border: rgba(226, 226, 238, .8);--add-btn-hover-bg: rgba(139, 92, 246, .06);--overlay-bg: rgba(15, 23, 42, .45);--tooltip-bg: #ffffff;--tooltip-border: #e2e2ee;--badge-neutral-bg: rgba(100, 116, 139, .15);--badge-neutral-fg: #475569;--badge-owner-bg: rgba(217, 70, 239, .15);--badge-owner-fg: #c026d3;--badge-admin-bg: rgba(139, 92, 246, .15);--badge-admin-fg: #7c3aed;--error-bg: rgba(244, 63, 94, .08);--danger-hover-bg: rgba(244, 63, 94, .08);--border-danger: rgba(244, 63, 94, .35);--border-warning: rgba(245, 158, 11, .4);--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-warning: #b45309;--color-success: #15803d;--color-scheme: light;--calendar-icon-invert: 0;--calendar-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230f172a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='18' rx='2'/><line x1='16' y1='2' x2='16' y2='6'/><line x1='8' y1='2' x2='8' y2='6'/><line x1='3' y1='10' x2='21' y2='10'/></svg>")}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{overflow-x:hidden}body{font-family:Outfit,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden;max-width:100%;color-scheme:var(--color-scheme)}*:focus-visible{outline:2px solid var(--purple);outline-offset:2px;border-radius:4px}.btn{padding:10px 20px;border:none;border-radius:var(--radius);font-family:Outfit,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.btn-primary{background:var(--gradient);color:#fff;box-shadow:var(--btn-primary-shadow)}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--btn-primary-shadow-hover)}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover{border-color:var(--purple);color:var(--text)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:var(--color-danger-hover)}.btn-soft-purple{background:#8b5cf624;color:var(--purple);border:1px solid rgba(139,92,246,.38)}.btn-soft-purple:hover{background:#8b5cf63d;border-color:var(--purple);color:var(--purple);transform:translateY(-1px)}.btn-soft-danger{background:var(--error-bg);color:var(--color-danger);border:1px solid var(--border-danger)}.btn-soft-danger:hover{background:#f43f5e2e;border-color:var(--color-danger);color:var(--color-danger);transform:translateY(-1px)}.btn-soft-blue{background:#3b82f624;color:var(--blue);border:1px solid rgba(59,130,246,.38)}.btn-soft-blue:hover{background:#3b82f63d;border-color:var(--blue);color:var(--blue);transform:translateY(-1px)}.btn-soft-green{background:#10c64f24;color:#10c64f;border:1px solid rgba(16,198,79,.38)}.btn-soft-green:hover{background:#10c64f3d;border-color:#10c64f;color:#10c64f;transform:translateY(-1px)}.btn.btn-icon{width:var(--icon-btn-size);height:var(--icon-btn-size);padding:0;display:inline-flex;align-items:center;justify-content:center}.btn-logout{display:inline-flex;align-items:center;gap:6px}.onboarding-modal{max-width:460px;text-align:center}.onboarding-icon{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:34px;margin:4px auto 16px;box-shadow:0 8px 24px #0000002e}.onboarding-title{margin:0 0 8px;font-size:20px}.onboarding-body{color:var(--text-muted);font-size:14px;line-height:1.55;margin:0 0 18px}.onboarding-dots{display:flex;gap:7px;justify-content:center;margin-bottom:18px}.onboarding-dot{width:8px;height:8px;border-radius:50%;background:var(--border);transition:all .2s}.onboarding-dot.active{background:var(--purple);width:22px;border-radius:4px}.onboarding-actions{display:flex;flex-direction:column;gap:12px}.onboarding-actions-row{display:flex;align-items:center;gap:10px}.onboarding-skip-link{align-self:center;background:none;border:none;padding:4px 6px;font-family:Outfit,sans-serif;font-size:13px;color:var(--text-muted);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.onboarding-skip-link:hover{color:var(--text)}.onboarding-list{text-align:left;margin:0 0 18px;padding-left:20px;color:var(--text-muted);font-size:14px;line-height:1.55}.onboarding-list li{margin-bottom:8px}.onboarding-list li:last-child{margin-bottom:0}.onboarding-list strong{color:var(--text)}@media(max-width:480px){.onboarding-modal{padding:24px 20px}.onboarding-icon{width:60px;height:60px;font-size:28px;margin-bottom:12px}.onboarding-title{font-size:18px}}.guided-tour-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2100;background:transparent;cursor:pointer}.guided-tour-backdrop--dim{background:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.guided-tour-spotlight{position:fixed;z-index:2101;border-radius:10px;pointer-events:none;box-shadow:0 0 0 3px var(--purple),0 0 26px 6px #8b5cf670,0 0 0 9999px var(--overlay-bg);transition:top .25s cubic-bezier(.4,0,.2,1),left .25s cubic-bezier(.4,0,.2,1),width .25s cubic-bezier(.4,0,.2,1),height .25s cubic-bezier(.4,0,.2,1);animation:fadeIn .2s ease}.guided-tour-tooltip{position:fixed;z-index:2102;width:320px;max-width:calc(100vw - 52px);background:var(--bg-card);border:1px solid var(--border);border-radius:18px;box-shadow:0 16px 40px #0000004d;padding:29px;cursor:default;animation:datePopoverIn .16s ease-out}.guided-tour-tooltip--centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.guided-tour-tooltip-title{font-size:16.5px;font-weight:700;color:var(--text);margin-bottom:10px}.guided-tour-tooltip-body{font-size:13.5px;color:var(--text-muted);line-height:1.55;margin:0}.user-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}.user-filters-search{flex:1 1 220px;min-width:0}.user-filters-roles{display:flex;flex-wrap:wrap;gap:6px}.user-filters-sort{flex:0 1 200px}@media(max-width:640px){.user-filters{flex-direction:column;align-items:stretch}.user-filters-search,.user-filters-sort{flex:1 1 auto}.user-filters .form-input{font-size:13px;padding:9px 12px}}.staff-dir-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}.staff-dir-search{flex:1 1 220px;min-width:0}.staff-dir-sort{border:1px solid var(--border);border-radius:10px;padding:0 12px 7px;margin:0;min-width:200px}.staff-dir-sort legend{padding:0 5px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted)}.staff-dir-sort-select-wrap{position:relative;display:flex;align-items:center}.staff-dir-sort select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;background:transparent;width:100%;font-size:15px;font-weight:500;color:var(--text);padding:1px 26px 1px 1px;cursor:pointer;font-family:inherit}.staff-dir-sort select:focus{outline:none}.staff-dir-sort-chevron{position:absolute;right:2px;color:var(--text-muted);pointer-events:none}@media(max-width:640px){.staff-dir-toolbar{flex-direction:column;align-items:stretch}.staff-dir-search,.staff-dir-sort{flex:1 1 auto;min-width:0}}.confirm-list{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0;font-size:14px}.confirm-list dt{color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.6px;align-self:center}.confirm-list dd{margin:0;color:var(--text);word-break:break-word}.account-split{display:grid;gap:28px;align-items:stretch}.account-split--2col{grid-template-columns:1fr 1fr}.account-split--3col{grid-template-columns:1fr 1fr 1fr}.account-split-col{min-width:0}.account-split-col:not(:first-child){border-left:1px solid var(--border);padding-left:28px}@media(max-width:860px){.account-split{grid-template-columns:1fr;gap:20px}.account-split-col:not(:first-child){border-left:none;padding-left:0;border-top:1px solid var(--border);padding-top:20px}}.account-hero{display:flex;align-items:center;gap:16px;margin-bottom:24px}.account-hero-avatar{width:64px;height:64px;border-radius:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff;letter-spacing:.5px;box-shadow:0 4px 16px #0000002e}.account-hero-name{font-size:20px;font-weight:700;color:var(--text)}.account-hero-sub{font-size:13px;color:var(--text-muted);display:flex;align-items:center;margin-top:3px}.toast-viewport{position:fixed;right:16px;bottom:16px;z-index:2000;display:flex;flex-direction:column;gap:8px;max-width:360px;pointer-events:none}.toast-item{pointer-events:auto;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:12px 14px;box-shadow:var(--modal-shadow);color:var(--text);display:flex;gap:10px;align-items:flex-start;min-width:260px;animation:slideUp .2s ease}.toast-item--success{box-shadow:0 0 0 1px #22c55e73,0 0 18px #22c55e59,var(--modal-shadow)}.toast-item--warn{box-shadow:0 0 0 1px #f59e0b73,0 0 18px #f59e0b59,var(--modal-shadow)}.toast-item--error{box-shadow:0 0 0 1px #f43f5e73,0 0 18px #f43f5e59,var(--modal-shadow)}.toast-item--info{box-shadow:0 0 0 1px #8b5cf673,0 0 18px #8b5cf659,var(--modal-shadow)}.toast-item-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;flex-shrink:0;margin-top:1px}.toast-item--success .toast-item-icon{background:#22c55e2e;color:#22c55e}.toast-item--warn .toast-item-icon{background:#f59e0b2e;color:var(--color-warning, #f59e0b)}.toast-item--error .toast-item-icon{background:var(--error-bg);color:var(--color-danger)}.toast-item--info .toast-item-icon{background:#8b5cf62e;color:var(--purple)}.toast-item-title{font-weight:600;font-size:13px}.toast-item-body{font-size:12px;color:var(--text-muted);margin-top:2px}.toast-item-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;line-height:1;padding:0;margin-left:4px;flex-shrink:0}.toast-item-close:hover{color:var(--text)}.board-list{display:flex;flex-direction:column;gap:8px}.board-item{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:10px;background:var(--bg-row);transition:border-color .15s,background .15s}.board-item:hover{border-color:var(--purple)}.board-item.current{border-color:var(--purple);background:color-mix(in srgb,var(--purple) 8%,var(--bg-row))}.board-item-main{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 14px;background:none;border:none;cursor:pointer;text-align:left;font:inherit;color:inherit}.board-item-name{font-weight:600;font-size:14px;color:var(--text)}.board-item-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-dim)}.board-item-tag{padding:1px 7px;border-radius:999px;font-family:inherit;font-size:10px;letter-spacing:.3px;background:var(--bg-elevated);color:var(--text-muted)}.board-item-tag.current{background:color-mix(in srgb,var(--purple) 20%,transparent);color:var(--purple)}.board-item-delete{padding:6px 12px;font-size:12px;margin-right:8px;flex-shrink:0}.board-create-form{display:flex;flex-direction:column;gap:10px;margin-top:14px}.board-item--pick{width:100%;text-align:left;background:none;border:1px solid var(--border);padding:0;font:inherit;color:inherit;cursor:pointer}.board-item--pick:hover{border-color:var(--purple)}.markdown-body{word-break:break-word}.markdown-body>*:first-child{margin-top:0}.markdown-body>*:last-child{margin-bottom:0}.markdown-body p{margin:0 0 8px}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin:12px 0 6px;line-height:1.3;color:var(--text)}.markdown-body h1{font-size:1.3em}.markdown-body h2{font-size:1.18em}.markdown-body h3{font-size:1.06em}.markdown-body ul,.markdown-body ol{margin:0 0 8px;padding-left:20px}.markdown-body li{margin:2px 0}.markdown-body a{color:var(--blue);text-decoration:underline}.markdown-body code{background:#7f7f7f29;padding:1px 5px;border-radius:4px;font-size:.92em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.markdown-body pre{background:#7f7f7f1f;padding:10px 12px;border-radius:8px;overflow-x:auto;margin:0 0 8px}.markdown-body pre code{background:none;padding:0}.markdown-body blockquote{margin:0 0 8px;padding-left:10px;border-left:3px solid var(--border);color:var(--text-dim)}.markdown-body table{border-collapse:collapse;margin:0 0 8px;display:block;overflow-x:auto}.markdown-body th,.markdown-body td{border:1px solid var(--border);padding:4px 8px}.markdown-body img{max-width:100%}.markdown-body input[type=checkbox]{margin-right:6px}.btn-soft-cyan{background:#06b6d424;color:var(--cyan);border:1px solid rgba(6,182,212,.4)}.btn-soft-cyan:hover{background:#06b6d43d;border-color:var(--cyan);color:var(--cyan);transform:translateY(-1px)}.header{padding:8px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:var(--bg-card);position:relative;z-index:1501}.header-left{display:flex;align-items:center;gap:16px}.logo-mark{width:42px;height:42px;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--bg-elevated);font-size:20px;font-weight:700;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo-button{background:transparent;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.logo-img{width:120px;height:64px;object-fit:contain;display:block}.header-title{font-size:22px;font-weight:600;letter-spacing:-.5px;background:var(--gradient-h);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-sub{font-size:13px;color:var(--text-muted);margin-top:2px}.header-right,.header-account{display:flex;align-items:center;gap:12px}.calendar-kiosk-header{padding:20px 32px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--border);background:var(--bg-card)}.calendar-kiosk-brand{display:flex;align-items:center;gap:14px;justify-self:start}.calendar-kiosk-title{font-size:26px;font-weight:700;letter-spacing:-.5px;background:var(--gradient-h);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.calendar-kiosk-clock{display:flex;flex-direction:column;align-items:center;line-height:1.2;justify-self:center}.calendar-kiosk-time{font-size:28px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.calendar-kiosk-date{font-size:14px;color:var(--text-muted);text-transform:capitalize}.calendar-kiosk-exit{justify-self:end;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted);border-radius:10px;padding:8px 18px;font-size:13px;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s}.calendar-kiosk-exit:hover{color:var(--text);border-color:var(--purple)}.calendar-kiosk-wrap{padding:32px}.calendar-kiosk-wrap .section-card-title{font-size:20px}.phase-cell{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative}.role-toggle{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--text)}.role-toggle input{width:16px;height:16px}.role-buttons{display:inline-flex;gap:10px}.role-choice{border:1px solid var(--border);background:transparent;color:var(--text-muted);padding:8px 14px;border-radius:10px;font-size:13px;cursor:pointer;transition:all .2s}.role-choice:disabled{opacity:.5;cursor:not-allowed}.role-choice.active{background:var(--gradient);color:#fff;border-color:transparent;box-shadow:var(--role-active-shadow)}.role-hint{font-size:12px;color:var(--text-muted);margin-top:6px}@keyframes tableCardIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.table-card{margin:20px 24px 48px;border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:var(--table-card-shadow);animation:tableCardIn .35s cubic-bezier(.4,0,.2,1)}.table-scroll{overflow-x:auto}table{width:100%;min-width:0;border-collapse:collapse;border-spacing:0;table-layout:auto}.task-table{min-width:580px}thead th{background:var(--bg-elevated);padding:9px 8px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);border-bottom:1px solid var(--border);text-align:center;white-space:nowrap}thead th:first-child{text-align:left;min-width:160px;padding-left:16px}thead th:last-child{min-width:100px;padding-right:16px}.person-table thead th{background:#262b3d;color:#f4f5f9;font-size:10.5px;line-height:1.5;white-space:normal}.person-table thead th strong{display:inline-block;margin-top:2px;color:#ffd166;font-size:10.5px}.person-table td[data-label=Proyecto],.person-table td[data-label=Presupuestado],.person-table td[data-label=Reportado],.person-table td[data-label="Semana en curso"]{text-align:center;font-weight:400;padding-left:8px;padding-right:8px}.person-table td[data-label=Proyecto]{min-width:96px;word-break:normal;overflow-wrap:break-word}.person-table td.weekly-note-cell{max-width:260px;text-align:left}.weekly-note-clamp{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.45;color:var(--person-band-text)}.plan-note-trigger{position:relative;display:inline-block;cursor:pointer;text-decoration:underline;text-decoration-style:dashed;text-decoration-color:currentColor;text-underline-offset:3px}.plan-note-popover{position:absolute;bottom:100%;left:50%;margin-bottom:8px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.4;color:var(--text);box-shadow:var(--modal-shadow);white-space:normal;width:max-content;max-width:min(220px,80vw);z-index:30;text-align:left;text-decoration:none;cursor:default;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,4px) scale(.85);transform-origin:bottom center;transition:opacity .16s ease,transform .16s ease,visibility .16s}.plan-note-trigger:hover .plan-note-popover{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%) scale(1)}@media(prefers-reduced-motion:reduce){.plan-note-popover{transition:opacity .01ms;transform:translate(-50%) scale(1)}}.person-table .person-username{font-size:11px;font-weight:400;color:var(--person-band-text-dim)}.person-table .btn-ghost{background:var(--bg-card);color:var(--text)}.person-table tbody tr:hover{box-shadow:none}.person-table tbody tr.person-row-hover{box-shadow:inset 3px 0 0 var(--purple)}.person-color-dot-wrap{position:relative;display:inline-flex;width:18px;height:18px;flex-shrink:0}.person-color-dot{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border:1.5px solid var(--bg-card);border-radius:50%;padding:0;cursor:pointer;box-shadow:0 0 0 1px var(--border)}.person-color-dot::-webkit-color-swatch-wrapper{padding:0;border-radius:50%}.person-color-dot::-webkit-color-swatch{border:none;border-radius:50%}.person-color-dot::-moz-color-swatch{border:none;border-radius:50%}.weekly-person-color-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:34px;height:34px;border:1px solid var(--border);border-radius:9px;padding:0;cursor:pointer;flex-shrink:0}.weekly-person-color-input::-webkit-color-swatch-wrapper{padding:0;border-radius:9px}.weekly-person-color-input::-webkit-color-swatch{border:none;border-radius:9px}.weekly-person-color-input::-moz-color-swatch{border:none;border-radius:9px}.calendar-list-row.weekly-person-row:hover{background:color-mix(in srgb,var(--text) 7%,transparent)}.modal.weekly-detail-modal{animation:weeklyDetailOpen .32s cubic-bezier(.34,1.2,.4,1)}@keyframes weeklyDetailOpen{0%{transform:translateY(26px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.weekly-person-swap{animation:weeklyPersonSwap .16s ease-out}@keyframes weeklyPersonSwap{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}.person-color-dot-pencil{position:absolute;bottom:-3px;right:-3px;background:var(--bg-card);border-radius:50%;padding:1.5px;color:var(--text-dim);box-shadow:0 0 0 1px var(--border);pointer-events:none}thead th.phase-col{min-width:64px;max-width:90px;overflow:hidden;text-overflow:ellipsis;color:var(--phase-color, var(--text-muted))!important}thead th.phase-col:after{content:"";display:block;height:3px;border-radius:2px;margin-top:5px;background:var(--phase-color, var(--border));opacity:.9}@keyframes rowIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}tbody tr{transition:background .14s ease,box-shadow .14s ease;animation:rowIn .25s cubic-bezier(.4,0,.2,1) both}tbody tr:nth-child(odd){background:var(--bg-row)}tbody tr:nth-child(2n){background:var(--bg-row-alt)}tbody tr:hover{background:var(--hover-row);box-shadow:inset 3px 0 0 var(--purple)}.task-row-highlight{animation:taskRowHighlight 2s ease-out;position:relative}.task-row-highlight:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;box-shadow:0 0 26px 6px #8b5cf670;border-radius:6px;animation:taskRowHighlightFade 2s ease-out forwards}@keyframes taskRowHighlight{0%{background:#8b5cf633}to{background:transparent}}@keyframes taskRowHighlightFade{0%{opacity:1}70%{opacity:1}to{opacity:0}}.chat-message-highlight{animation:chatMessageHighlight 2.2s ease-out forwards}@keyframes chatMessageHighlight{0%{box-shadow:0 0 0 2px var(--purple),0 0 18px #8b5cf673}65%{box-shadow:0 0 0 2px var(--purple),0 0 18px #8b5cf673}to{box-shadow:0 0 #8b5cf600}}tbody td{padding:9px 8px;border-bottom:1px solid var(--border);text-align:center;vertical-align:middle;font-size:13px;word-break:break-word;overflow-wrap:anywhere}tbody td[data-label=Hito]{min-width:160px;text-align:left}tbody td:first-child{text-align:left;font-weight:500;padding-left:16px}tbody td:last-child{padding-right:16px}tbody tr:last-child td{border-bottom:none}.disc{width:30px;height:30px;border-radius:50%;margin:0 auto;position:relative;cursor:pointer;touch-action:manipulation;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.disc.active{box-shadow:0 0 0 3px #ffffff2e,0 0 22px #8b5cf68c;transform:scale(1.18)}.disc.past{opacity:.55;transform:scale(.84);box-shadow:0 1px 4px #0000002e}.disc.past:hover{opacity:.75;transform:scale(.92)}.disc.next{opacity:.75;transform:scale(.92);box-shadow:0 1px 6px #0003}.disc.next:hover{opacity:1;transform:scale(1.08);box-shadow:0 0 0 3px #ffffff26,0 0 18px #8b5cf680}.disc.future{opacity:.28;border:2px dashed var(--text-dim);background:transparent!important}.disc-inner{width:8px;height:8px;border-radius:50%;background:#ffffffe6}.disc-tooltip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);background:var(--tooltip-bg);border:1px solid var(--tooltip-border);border-radius:8px;padding:7px 12px;font-size:11px;line-height:1.5;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s,transform .15s;transform:translate(-50%) translateY(4px);z-index:100;color:var(--text);box-shadow:var(--tooltip-shadow)}.phase-cell:hover .disc-tooltip,.phase-cell:focus-within .disc-tooltip,.disc:active~.disc-tooltip{opacity:1;transform:translate(-50%) translateY(0)}.phase-date{font-family:JetBrains Mono,monospace;font-size:9px;color:var(--text-dim);margin-top:4px}.badge{display:inline-block;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.task-name-readonly{color:var(--text);font-family:Outfit,sans-serif;font-size:13px;font-weight:500;display:block;padding:2px 0;min-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:340px}.resp-readonly{display:inline-block;padding:4px 10px;border-radius:6px;font-family:Outfit,sans-serif;font-size:12px;font-weight:500;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis}.notes-readonly{display:inline-block;color:var(--text);font-family:Outfit,sans-serif;font-size:12px;padding:4px 0;max-width:220px;word-break:break-word;line-height:1.4}.deadline{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--text-muted)}.deadline.overdue{color:var(--color-danger);font-weight:600}.deadline.soon{color:var(--color-warning)}.task-name-cell{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.task-name-row{display:flex;align-items:center;gap:8px;width:100%;min-width:0}.task-name-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.task-name-badges .proposal-btn{padding:3px 9px;font-size:11px;min-width:72px;gap:4px}.task-name-badges .proposal-btn svg{width:11px;height:11px}.rejection-reason-btn{font-size:11px;color:var(--color-danger);font-style:italic;background:var(--error-bg);border:1px solid var(--border-danger);border-radius:4px;padding:2px 7px;cursor:pointer;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Outfit,sans-serif}.proposal-btn-retract{background:#94a3b81f;color:var(--text-muted);border:1px solid var(--border)}.proposal-btn-retract:hover{background:#94a3b838}.task-name-input{background:transparent;border:none;color:var(--text);font-family:Outfit,sans-serif;font-size:13px;font-weight:500;width:100%;outline:none}.task-name-input::placeholder{color:var(--text-dim)}.resp-select{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);font-family:Outfit,sans-serif;font-size:12px;padding:4px 8px;border-radius:6px;outline:none;cursor:pointer;text-align:center}.resp-select option{background:var(--bg-elevated);color:var(--text)}.deadline-input{background:transparent;border:1px solid var(--border);color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:11px;padding:5px 8px;border-radius:6px;outline:none;cursor:pointer;width:120px}.deadline-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7;filter:invert(var(--calendar-icon-invert, 0))}.deadline-input::-webkit-calendar-picker-indicator:hover{opacity:1}.deadline-input{color-scheme:var(--color-scheme)}@supports (-moz-appearance: none){.deadline-input{background-image:var(--calendar-icon);background-position:right 6px center;background-repeat:no-repeat;background-size:14px 14px;padding-right:26px}}.deadline-input.overdue{color:var(--color-danger);border-color:var(--border-danger)}.deadline-input.soon{color:var(--color-warning);border-color:var(--border-warning)}.notes-input{background:transparent;border:1px solid var(--border);color:var(--text-muted);font-family:Outfit,sans-serif;font-size:11px;padding:5px 10px;border-radius:6px;outline:none;width:160px;transition:border-color .2s}.notes-input:focus{border-color:var(--purple);color:var(--text)}.notes-input::placeholder{color:var(--text-dim)}.del-btn{opacity:0;background:transparent;border:none;color:var(--color-danger);cursor:pointer;font-size:14px;transition:opacity .15s;padding:2px 6px;border-radius:4px}tbody tr:hover .del-btn{opacity:.6}.del-btn:hover{opacity:1!important;background:var(--danger-hover-bg)}.add-row td{padding:10px 20px;border-bottom:none;background:var(--bg-row);border-top:1px solid var(--add-row-border)}.add-btn{background:transparent;border:1px dashed var(--border);color:var(--text-dim);padding:8px 16px;border-radius:8px;font-family:Outfit,sans-serif;font-size:13px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:6px}.add-btn:hover{border-color:var(--purple);color:var(--text);background:var(--add-btn-hover-bg)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1600;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.page-loader{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;animation:fadeIn .25s ease}.page-loader--inline{min-height:200px}.page-loader-spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--purple);animation:pageLoaderSpin .8s linear infinite}@keyframes pageLoaderSpin{to{transform:rotate(360deg)}}.page-loader-label{font-size:13px;color:var(--text-muted)}.route-fade{animation:fadeIn .22s ease}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:32px;max-width:440px;width:90%;box-shadow:var(--modal-shadow);animation:slideUp .25s cubic-bezier(.4,0,.2,1);overflow-x:hidden}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes taskHighlight{0%,70%{background-color:#8b5cf638;box-shadow:inset 0 0 18px #8b5cf670}to{background-color:transparent;box-shadow:inset 0 0 18px #8b5cf700}}tr.task-row-highlight{animation:taskHighlight 1.8s ease-out forwards}tr.task-row-highlight:after{content:none}.modal h3{font-size:18px;font-weight:600;margin-bottom:6px;background:var(--gradient-h);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal p{font-size:13px;color:var(--text-muted);margin-bottom:20px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.form-group{margin-bottom:16px}.form-label{display:block;font-size:13px;font-weight:500;color:var(--text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.form-input{width:100%;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);font-family:Outfit,sans-serif;font-size:16px;padding:11px 14px;border-radius:10px;outline:none;transition:border-color .2s}.form-input:focus{border-color:var(--purple)}.form-input::placeholder{color:var(--text-dim)}@keyframes formFieldAlert{0%,to{box-shadow:0 0 #ef444480}50%{box-shadow:0 0 0 5px #ef444400}}.form-input--invalid{border-color:var(--color-danger)!important;animation:formFieldAlert .55s ease-out 2}.form-error{color:var(--color-danger);font-size:13px;margin-top:4px}.alert-error{background:var(--error-bg);border:1px solid var(--border-danger);border-radius:8px;padding:8px 10px;color:var(--color-danger);font-size:13px;line-height:1.4}.auth-wrap{min-height:100vh}.auth-split{display:flex;min-height:100vh}.auth-form-pane{flex:1 1 50%;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:100%;max-width:400px}.auth-brand-panel{flex:1 1 50%;position:relative;display:flex;align-items:center;justify-content:center;background:var(--gradient);background-size:260% 260%;animation:authGradientDrift 12s ease-in-out infinite;overflow:hidden}@keyframes authGradientDrift{0%,to{background-position:0% 30%}50%{background-position:100% 70%}}@media(prefers-reduced-motion:reduce){.auth-brand-panel{animation:authGradientDrift .01ms ease-in-out infinite}}.auth-brand-panel img{position:relative;z-index:1;width:min(40%,260px);height:auto;filter:brightness(0) invert(1)}@media(max-width:860px){.auth-split{flex-direction:column}.auth-form-pane{min-height:100vh}.auth-brand-panel{display:none}}.auth-title{font-size:28px;font-weight:700;margin-bottom:8px;background:var(--gradient-h);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-sub{font-size:14px;color:var(--text-muted);margin-bottom:28px}.auth-footer{margin-top:20px;text-align:center;font-size:13px;color:var(--text-muted)}.auth-footer a{color:var(--purple);text-decoration:none}.auth-footer a:hover{color:var(--magenta)}.page-wrap{padding:40px;max-width:1100px;margin:0 auto}.page-wrap--wide{max-width:1300px}.page-title{font-size:28px;font-weight:700;margin-bottom:8px;background:var(--gradient-h);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-sub{font-size:14px;color:var(--text-muted);margin-bottom:32px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:24px;cursor:pointer;transition:all .2s;text-decoration:none;color:inherit;display:block}.card:hover{border-color:var(--purple);box-shadow:0 0 20px #8b5cf626;transform:translateY(-2px)}.card-title{font-size:17px;font-weight:600;margin-bottom:6px}.card-sub{font-size:13px;color:var(--text-muted)}.card-meta{margin-top:16px;display:flex;gap:16px;font-size:12px;color:var(--text-dim);font-family:JetBrains Mono,monospace}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.header-title-block{display:flex;flex-direction:column;min-width:0}.header-title-icon{display:none;width:26px;height:26px;border-radius:7px;background:var(--gradient);color:#fff;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.header-title-block--fallback{display:none}.tablero-name-input{background:transparent;border:none;font-family:Outfit,sans-serif;font-size:22px;font-weight:600;background-image:var(--gradient-h);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;outline:none;width:min(300px,calc(100vw - 200px));min-width:80px}.tablero-subtitle-input{background:transparent;border:none;font-size:13px;color:var(--text-muted);font-family:Outfit,sans-serif;outline:none;margin-top:2px;width:min(300px,calc(100vw - 200px));min-width:80px}.text-muted{color:var(--text-muted)}.text-dim{color:var(--text-dim)}.mt-auto{margin-top:auto}.flex{display:flex}.flex-1{flex:1}.gap-2{gap:8px}.gap-3{gap:12px}.items-center{align-items:center}.justify-between{justify-content:space-between}.form-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-3col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.weekly-row{display:grid;grid-template-columns:minmax(180px,1fr) 90px minmax(200px,1.4fr) 32px;gap:8px;align-items:start;padding:8px 10px 10px;border-radius:6px;border-bottom:2px solid;background:var(--bg-row)}.weekly-total-badge{font-size:13px;font-weight:700;padding:4px 12px;border:1.5px solid;border-radius:999px}.weekly-bar{display:flex;width:100%;height:14px;border-radius:999px;overflow:hidden;background:var(--bg-elevated);border:1px solid var(--border)}.weekly-bar-seg{height:100%;transition:width .2s}.weekly-bar-seg:not(:last-child){border-right:2px solid var(--bg-card)}.weekly-pie-wrap{display:flex;align-items:center;gap:20px}.weekly-pie-legend{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.weekly-pie-chart{flex-shrink:0;width:108px;height:108px}.weekly-pie-tooltip{display:flex;align-items:center;gap:6px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:12px;color:var(--text);box-shadow:var(--modal-shadow)}.weekly-pie-tooltip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.weekly-summary-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;background:var(--bg-row);font-size:13px}.weekly-pie-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.weekly-summary-pct{font-weight:700;font-size:13px;flex-shrink:0;margin-left:auto;padding-left:10px;color:var(--text)}.weekly-summary-label{color:var(--text);font-weight:600;flex-shrink:0;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weekly-summary-note{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.weekly-summary-row--muted{background:transparent}.weekly-summary-row--muted .weekly-summary-label,.weekly-summary-row--muted .weekly-summary-pct{color:var(--text-muted);font-weight:600}@media(max-width:640px){.weekly-pie-wrap{flex-direction:column-reverse;gap:14px}.weekly-pie-legend{width:100%}}.plan-row{display:grid;grid-template-columns:minmax(180px,1fr) 90px 32px;gap:8px;align-items:center}.admin-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.admin-stats-grid--wide{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.admin-stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:22px 24px;text-align:center;position:relative;overflow:hidden;min-width:0}.admin-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-h);opacity:.6}.admin-stat-value{font-size:40px;font-weight:700;line-height:1;margin-bottom:8px;background:var(--gradient-h);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.admin-stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;font-weight:600}.admin-nav-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:32px}.admin-nav-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:18px 20px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:16px;text-align:left;font-family:Outfit,sans-serif;color:var(--text);width:100%}.admin-nav-card:hover{border-color:var(--purple);box-shadow:0 0 20px #8b5cf624;transform:translateY(-2px)}.admin-nav-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;color:var(--purple);flex-shrink:0;transition:background .2s,border-color .2s}.admin-nav-card:hover .admin-nav-icon{background:#8b5cf61a;border-color:#8b5cf64d}.admin-nav-body{flex:1;min-width:0}.admin-nav-title{font-size:16px;font-weight:600;margin-bottom:3px}.admin-nav-sub{font-size:12px;color:var(--text-muted);line-height:1.4}.admin-nav-arrow{color:var(--text-dim);flex-shrink:0;transition:transform .2s,color .2s}.admin-nav-card:hover .admin-nav-arrow{transform:translate(3px);color:var(--purple)}.admin-section-header{display:flex;align-items:center;gap:8px;margin-bottom:16px}.admin-section-icon{color:var(--text-muted);display:flex;align-items:center}.admin-section-title{font-size:15px;font-weight:600;color:var(--text)}.admin-count-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border);border-radius:20px;padding:1px 9px;font-size:12px;font-weight:600;font-family:JetBrains Mono,monospace}.admin-tenants-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.admin-tenant-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px 18px;display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;cursor:pointer;transition:border-color .2s,transform .15s,box-shadow .15s}.admin-tenant-card:hover{border-color:#8b5cf666;transform:translateY(-2px);box-shadow:0 8px 20px #8b5cf61f}.admin-tenant-card-arrow{color:var(--text-dim);flex-shrink:0;transition:transform .2s,color .2s}.admin-tenant-card:hover .admin-tenant-card-arrow{transform:translate(3px);color:var(--purple)}.admin-tenant-avatar{width:42px;height:42px;border-radius:10px;background:var(--gradient);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:.5px}.admin-tenant-info{flex:1;min-width:0}.admin-tenant-name{font-size:14px;font-weight:600;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-tenant-slug{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-muted);margin-bottom:10px}.admin-tenant-stats{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--text-muted)}.admin-tenant-stat-value{font-weight:600;color:var(--text)}.admin-tenant-sep{color:var(--border)}.proposal-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:600;padding:7px 14px;border-radius:8px;cursor:pointer;transition:background .15s,transform .1s;white-space:nowrap;min-width:96px;font-family:Outfit,sans-serif;letter-spacing:.2px}.proposal-btn:active{transform:scale(.96)}.proposal-btn-approve{background:#10c64f29;color:#1fd863;border:1px solid rgba(16,198,79,.4)}.proposal-btn-approve:hover{background:#10c64f47}.proposal-btn-reject{background:var(--error-bg);color:var(--color-danger);border:1px solid var(--border-danger)}.proposal-btn-reject:hover{background:#f43f5e2e}.proposal-btn-submit{background:#8b5cf61f;color:var(--purple);border:1px solid rgba(139,92,246,.3)}.proposal-btn-submit:hover{background:#8b5cf638}.page-header-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px;gap:16px}.create-form-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:20px 24px}.create-form-row{display:flex;gap:10px;align-items:center}.card-edit-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:7px;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity .15s,background .15s,color .15s;flex-shrink:0}.project-card:hover .card-edit-btn,.tablero-card:hover .card-edit-btn{opacity:1}.card-edit-btn:hover{background:var(--bg-elevated);border-color:var(--purple);color:var(--purple)}.project-card-link{text-decoration:none;color:inherit;display:flex;flex-direction:column;flex:1}.tablero-card-link{text-decoration:none;color:inherit;display:flex;flex-direction:column}.project-card-edit-area,.tablero-card-edit-area{display:flex;flex-direction:column;gap:8px;flex:1}.project-card--editing .project-card-edit-area{transition:opacity .4s ease,transform .4s cubic-bezier(.34,1.4,.4,1);transform-origin:top}@starting-style{.project-card--editing .project-card-edit-area{opacity:0;transform:scaleY(.85) translateY(-14px)}}.card-edit-input{width:100%;background:var(--bg-elevated);border:1px solid var(--purple);color:var(--text);font-family:Outfit,sans-serif;font-size:14px;font-weight:600;padding:8px 10px;border-radius:8px;outline:none;transition:border-color .15s}.card-edit-input--sub{font-size:13px;font-weight:400;color:var(--text-muted)}.card-edit-input:focus{border-color:var(--magenta)}.card-edit-actions{display:flex;gap:6px}.card-edit-save,.card-edit-cancel{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:none;cursor:pointer;transition:background .15s}.card-edit-save{background:#22c55e26;color:#4ade80}.card-edit-save:hover:not(:disabled){background:#22c55e47}.card-edit-save:disabled{opacity:.4;cursor:not-allowed}.card-edit-cancel{background:var(--bg-elevated);color:var(--text-muted)}.card-edit-cancel:hover{background:var(--error-bg);color:var(--color-danger)}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:20px;transition:border-color .35s,box-shadow .35s,transform .2s;display:flex;flex-direction:column;min-height:160px;box-shadow:0 1px 4px #0000001f;position:relative;text-decoration:none;color:inherit}.project-card-website{flex-shrink:0;width:22px;height:22px;padding:0;border-radius:50%;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color .2s,border-color .2s}.project-card-website:hover{color:var(--purple);border-color:var(--purple)}.project-card:not(.project-card--editing):hover{border-color:var(--purple);box-shadow:0 8px 28px #8b5cf629;transform:translateY(-3px)}.project-card--last-ack{animation:projectCardLastAck .4s cubic-bezier(.34,1.4,.4,1)}@keyframes projectCardLastAck{0%{transform:scale(1)}40%{transform:scale(1.015)}to{transform:scale(1)}}.project-card--enter{animation:projectCardEnter .45s cubic-bezier(.34,1.4,.4,1) both}@keyframes projectCardEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.project-card--editing{border-color:var(--purple);box-shadow:0 0 0 2px #8b5cf62e;grid-column:span 2}.project-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.project-avatar{width:46px;height:46px;border-radius:12px;background:var(--gradient);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;letter-spacing:.5px;flex-shrink:0}.project-pending-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border-radius:12px;background:#f97316;color:#fff;font-size:11px;font-weight:700;font-family:JetBrains Mono,monospace;box-shadow:0 2px 8px #f9731666}.project-card-name{font-size:16px;font-weight:700;color:var(--text);margin-bottom:4px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card-slug{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--text-muted);margin-bottom:16px}.project-card-comment{font-size:13px;color:var(--text-muted);line-height:1.4;margin-bottom:16px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.project-card-boards{font-size:11px;color:var(--text-dim);font-weight:600;letter-spacing:.3px}.card-edit-comment{width:100%;font-weight:400;font-size:13px;font-family:Outfit,sans-serif;resize:vertical;min-height:44px}.icon-picker{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.icon-picker-opt{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:7px;background:var(--bg-elevated);color:var(--text-muted);cursor:pointer;font-size:10px;font-weight:700;padding:0;transition:border-color .15s,color .15s,transform .15s,background .15s}.icon-picker-opt:hover{border-color:var(--purple);color:var(--text);transform:translateY(-2px)}.icon-picker-opt:active{transform:scale(.9)}.icon-picker-opt.active{border-color:var(--purple);background:#8b5cf624;color:var(--purple);transform:scale(1.08)}.project-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:14px;border-top:1px solid var(--border);gap:8px}.project-role-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:600;letter-spacing:.3px}.project-role-owner{background:var(--badge-owner-bg);color:var(--badge-owner-fg)}.project-role-admin{background:var(--badge-admin-bg);color:var(--badge-admin-fg)}.project-role-member{background:var(--badge-neutral-bg);color:var(--badge-neutral-fg)}.project-card-arrow{color:var(--text-dim);display:flex;align-items:center;transition:transform .2s,color .2s}.project-card:hover .project-card-arrow{transform:translate(4px);color:var(--purple)}.tablero-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:0;transition:border-color .2s,box-shadow .2s,transform .2s;color:inherit;text-decoration:none;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 1px 4px #0000001f;position:relative}.tablero-card:not(.tablero-card--editing):hover{border-color:var(--purple);box-shadow:0 8px 28px #8b5cf629;transform:translateY(-3px)}.tablero-card--editing{border-color:var(--purple);box-shadow:0 0 0 2px #8b5cf62e}.tablero-card-accent{height:3px;background:var(--gradient-h);flex-shrink:0}.tablero-card-body{padding:18px 20px 16px;flex:1;display:flex;flex-direction:column}.tablero-card-icon{width:38px;height:38px;border-radius:10px;background:var(--bg-elevated);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--purple);margin-bottom:12px;flex-shrink:0;transition:background .2s,border-color .2s}.tablero-card:hover .tablero-card-icon{background:#8b5cf61a;border-color:#8b5cf64d}.tablero-card-name{font-size:16px;font-weight:700;color:var(--text);line-height:1.3;margin-bottom:6px}.tablero-card-sub{font-size:13px;color:var(--text-muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tablero-card-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 20px 14px;border-top:1px solid var(--border);background:var(--bg-elevated);margin-top:auto;gap:8px}.tablero-card-date{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-dim)}.tablero-card-arrow{color:var(--text-dim);display:flex;align-items:center;transition:transform .2s,color .2s}.tablero-card:hover .tablero-card-arrow{transform:translate(4px);color:var(--purple)}.proposals-banner{display:flex;align-items:center;gap:14px;padding:14px 18px;margin-bottom:24px;background:#f9731614;border:1px solid rgba(249,115,22,.35);border-radius:12px;color:var(--text)}.proposals-banner-dot{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;border-radius:16px;background:#f97316;color:#fff;font-size:13px;font-weight:700;font-family:JetBrains Mono,monospace;flex-shrink:0;box-shadow:0 2px 8px #f9731659}.proposals-banner-title{font-size:14px;font-weight:600;margin-bottom:2px}.proposals-banner-sub{font-size:12px;color:var(--text-muted)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 20px;text-align:center}.empty-state-icon{width:56px;height:56px;border-radius:16px;background:var(--bg-elevated);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--text-dim)}.empty-state-title{font-size:17px;font-weight:600;color:var(--text);margin-bottom:8px}.empty-state-sub{font-size:14px;color:var(--text-muted);max-width:300px;line-height:1.5}.status-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px}.status-page-code{font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--text-dim);margin-bottom:2px}.status-page-action{margin-top:20px}.draft-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;padding:24px}.draft-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.draft-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:box-shadow .2s,transform .2s,border-color .2s;box-shadow:0 1px 4px #00000014;position:relative;display:flex;flex-direction:column}.draft-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001a}.draft-card--propuesta{border-color:#f9731659}.draft-card--propuesta:hover{border-color:#f97316;box-shadow:0 6px 20px #f9731626}.draft-card--rejected{border-color:var(--border-danger)}.draft-card--rejected:hover{border-color:var(--color-danger)}.draft-card-strip{height:4px;background:var(--draft-accent, var(--border));flex-shrink:0}.draft-card-inner{padding:16px 18px 18px;display:flex;flex-direction:column;gap:12px;flex:1}.draft-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.draft-card-delete{background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;opacity:0;transition:opacity .15s,color .15s,background .15s}.draft-card:hover .draft-card-delete{opacity:.6}.draft-card-delete:hover{opacity:1!important;color:var(--color-danger);background:var(--error-bg)}.draft-card-title{font-size:16px;font-weight:700;color:var(--text);line-height:1.3;word-break:break-word}.draft-card-title-input{width:100%;background:transparent;border:none;border-bottom:1.5px solid var(--border);color:var(--text);font-family:Outfit,sans-serif;font-size:16px;font-weight:700;outline:none;padding:2px 0 6px;transition:border-color .15s}.draft-card-title-input:focus{border-bottom-color:var(--purple)}.draft-card-title-input::placeholder{color:var(--text-dim);font-weight:400}.draft-card-desc{font-size:13px;color:var(--text-muted);line-height:1.5;margin:0;word-break:break-word}.draft-card-desc--empty{opacity:.45;font-style:italic}.draft-card-desc-input{width:100%;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);font-family:Outfit,sans-serif;font-size:13px;line-height:1.5;padding:8px 10px;border-radius:8px;outline:none;resize:vertical;min-height:72px;transition:border-color .15s}.draft-card-desc-input:focus{border-color:var(--purple)}.draft-card-desc-input::placeholder{color:var(--text-dim)}.draft-card-rejection{display:flex;align-items:flex-start;gap:6px;background:var(--error-bg);border:1px solid var(--border-danger);border-radius:8px;padding:8px 10px;color:var(--color-danger);font-size:12px;font-style:italic;cursor:pointer;text-align:left;font-family:Outfit,sans-serif;line-height:1.4;transition:background .15s}.draft-card-rejection:hover{background:#f43f5e1f}.draft-card-github-warning{display:flex;align-items:flex-start;gap:6px;background:var(--warning-bg, rgba(245, 158, 11, .12));border:1px solid var(--color-warning);border-radius:8px;padding:8px 10px;color:var(--color-warning);font-size:12px;font-style:italic;text-align:left;font-family:Outfit,sans-serif;line-height:1.4}.draft-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:4px;border-top:1px solid var(--border);margin-top:auto}.theme-toggle{width:var(--icon-btn-size);height:var(--icon-btn-size);display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s;padding:0}.theme-toggle--sun{background:#f59e0b1f;border-color:#f59e0b66;color:var(--color-warning)}.theme-toggle--sun:hover{background:#f59e0b38;border-color:var(--color-warning);color:var(--color-warning);transform:translateY(-1px)}.theme-toggle--moon{background:#7c3aed24;border-color:#7c3aed73;color:#7c3aed}.theme-toggle--moon:hover{background:#7c3aed3d;border-color:#7c3aed;color:#6d28d9;transform:translateY(-1px)}.theme-toggle svg{width:18px;height:18px}.theme-toggle--brand{background:#ffffffeb;border-color:#fff9;box-shadow:0 2px 10px #0003}.theme-toggle--brand.theme-toggle--sun,.theme-toggle--brand.theme-toggle--moon{color:#1e1b3a}.theme-toggle--brand:hover{background:#fff;border-color:#fff;transform:translateY(-1px)}.language-toggle{background:var(--gradient);border:none;color:#fff;box-shadow:var(--btn-primary-shadow)}.language-toggle:hover{transform:translateY(-1px);box-shadow:var(--btn-primary-shadow-hover)}.gantt-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.gantt-scroll{overflow-x:auto}.gantt-inner{min-width:760px}.gantt-header-row{display:flex;align-items:stretch}.gantt-label-col{width:170px;flex-shrink:0;padding:6px 12px;border-right:1px solid var(--border);display:flex;flex-direction:column;justify-content:center}.gantt-corner{background:var(--bg-elevated);border-bottom:1px solid var(--border)}.gantt-track{flex:1;position:relative;display:flex}.gantt-years,.gantt-months{background:var(--bg-elevated);border-bottom:1px solid var(--border)}.gantt-year-cell{text-align:center;font-size:12px;font-weight:600;color:var(--text);padding:5px 0;border-right:1px solid var(--border);white-space:nowrap;overflow:hidden}.gantt-month-cell{text-align:center;font-size:10px;font-weight:500;color:var(--text-muted);padding:4px 0;border-right:1px solid var(--border);text-transform:uppercase;letter-spacing:.3px;overflow:hidden}.gantt-row{display:flex;align-items:stretch;border-bottom:1px solid var(--border)}.gantt-row:last-child{border-bottom:none}.gantt-row-label{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-row-sublabel{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-row-track{min-height:40px;position:relative}.gantt-grid-cell{height:100%;border-right:1px solid var(--border);flex-shrink:0}.gantt-bar-hover{position:absolute;height:22px;min-width:14px;transform:translateY(-50%);cursor:default;z-index:1}.gantt-bar-hover--point{height:12px;min-width:0;transform:translate(-50%,-50%)}.gantt-bar-hover:hover{z-index:5}.gantt-bar{width:100%;height:100%;border-radius:var(--gantt-bar-radius, 999px);display:flex;align-items:center;justify-content:center;padding:0 10px;box-shadow:0 1px 3px #0000002e;overflow:hidden;transition:filter .12s}.gantt-bar--clip-left{border-top-left-radius:0;border-bottom-left-radius:0}.gantt-bar--clip-right{border-top-right-radius:0;border-bottom-right-radius:0}.gantt-bar-hover:hover .gantt-bar{filter:brightness(1.12)}.gantt-bar-label{font-size:11px;font-weight:600;color:#0b1220;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.gantt-row-chip{display:inline-block;max-width:100%;background:#3b82f629;border:1px solid rgba(59,130,246,.35);color:var(--text);border-radius:8px;padding:3px 10px;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;align-self:flex-start}button.gantt-row-chip--clickable{cursor:pointer;transition:background .12s;font-family:inherit}button.gantt-row-chip--clickable:hover{background:#3b82f64d}.gantt-row-projects{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px;max-width:100%}.gantt-row-project-chip{font-size:10px;font-weight:500;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;padding:1px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.gantt-milestone{width:12px;height:12px;box-shadow:0 1px 3px #00000040;transition:filter .12s}.gantt-milestone--diamond{transform:rotate(45deg);border-radius:2px}.gantt-milestone--square{border-radius:2px}.gantt-milestone--circle{border-radius:50%}.gantt-milestone--triangle{clip-path:polygon(50% 0%,0% 100%,100% 100%)}.gantt-milestone--star{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.gantt-bar-hover:hover .gantt-milestone{filter:brightness(1.2)}.gantt-bar-tooltip{position:fixed;transform:translate(-50%);background:var(--tooltip-bg);border:1px solid var(--tooltip-border);border-radius:8px;padding:8px 12px;font-size:11px;line-height:1.6;white-space:nowrap;pointer-events:none;z-index:1100;color:var(--text);box-shadow:var(--tooltip-shadow);display:flex;flex-direction:column;animation:fadeIn .12s ease}.gantt-bar-tooltip strong{font-size:12px;margin-bottom:2px}.gantt-bar-tooltip-kind{color:var(--purple);font-weight:600;text-transform:uppercase;font-size:9px;letter-spacing:.4px;margin-bottom:2px}.gantt-bar-tooltip-note{color:var(--text-muted);font-style:italic}.gantt-today{position:absolute;top:0;bottom:0;width:0;border-left:2.5px dashed var(--purple);opacity:.85;z-index:2}.gantt-today-label{position:absolute;top:-1px;transform:translate(-50%);font-size:9px;font-weight:700;color:var(--purple);background:var(--bg-elevated);border:1px solid var(--border);padding:1px 5px;border-radius:5px;white-space:nowrap;z-index:3;pointer-events:none}.gantt-row:nth-child(2n){background:var(--bg-elevated)}.gantt-row:hover{background:var(--hover-row)}.gantt-empty{padding:40px 20px;text-align:center;color:var(--text-muted);font-size:14px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px}.gantt-range-filter{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:12px}.gantt-range-btn{padding:5px 12px;font-size:12px;font-weight:500;border-radius:999px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);cursor:pointer;transition:all .12s;font-family:inherit}.gantt-range-btn:hover{color:var(--text);border-color:var(--text-dim)}.gantt-range-btn.active{background:#3b82f624;border-color:var(--blue);color:var(--blue);font-weight:600}.gantt-range-control{width:auto;padding:4px 10px;font-size:12px}.gantt-range-custom{display:inline-flex;align-items:center;gap:6px}.gantt-range-sep{color:var(--text-muted);font-size:12px}.gantt-legend{display:flex;gap:14px;flex-wrap:wrap;margin:0 2px 10px;font-size:12px;color:var(--text-muted)}.gantt-legend-item{display:inline-flex;align-items:center;gap:6px}.gantt-legend-swatch{width:14px;height:8px;border-radius:999px;display:inline-block}.notif-bell{position:relative;width:var(--icon-btn-size);height:var(--icon-btn-size);display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;transition:all .2s}.notif-bell:hover{border-color:var(--purple);color:var(--text);transform:translateY(-1px)}.notif-bell--unread{color:#f97316;background:#f9731624;border-color:#f9731661}.notif-bell--unread:hover{background:#f973163d;border-color:#f97316;color:#f97316;transform:translateY(-1px)}.notif-bell--settings{color:var(--blue);background:#3b82f624;border-color:#3b82f666}.notif-bell--settings:hover{background:#3b82f642;border-color:var(--blue);color:var(--blue);transform:translateY(-1px)}.notif-badge{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#f97316;color:#fff;font-size:9px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;border:2px solid var(--bg)}.notif-panel{position:absolute;top:calc(100% + 8px);right:0;width:320px;max-width:90vw;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--modal-shadow);z-index:200;overflow:hidden;animation:fadeIn .15s ease}.notif-panel-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text)}.notif-readall{background:transparent;border:none;color:var(--purple);font-size:12px;cursor:pointer;font-family:Outfit,sans-serif}.notif-list{max-height:380px;overflow-y:auto}.notif-empty{padding:24px;text-align:center;color:var(--text-muted);font-size:13px}.notif-item{display:block;width:100%;text-align:left;background:transparent;border:none;border-bottom:1px solid var(--border);padding:10px 14px;cursor:pointer;font-family:Outfit,sans-serif;transition:background .12s}.notif-item:hover{background:var(--hover-row)}.notif-item--unread{background:#8b5cf60f}.notif-item--unread .notif-item-title:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--purple);margin-right:6px;vertical-align:middle}.notif-item-title{font-size:13px;font-weight:600;color:var(--text)}.notif-item-body{font-size:12px;color:var(--text-muted);margin-top:2px;line-height:1.4;word-break:break-word}.notif-item-time{font-size:10px;color:var(--text-dim);margin-top:4px;font-family:JetBrains Mono,monospace}.section-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:18px}.section-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.section-card-title{font-size:15px;font-weight:600;color:var(--text)}.section-card-sub{font-size:12px;color:var(--text-muted);margin-top:2px}.section-card--compact{padding:10px 14px;margin-bottom:0}.section-card--compact .section-card-title{font-size:13px}.section-card--compact .section-card-sub{font-size:11px}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);margin-bottom:20px}.tab-btn{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-family:Outfit,sans-serif;font-size:14px;font-weight:500;padding:10px 4px;cursor:pointer;transition:color .15s,border-color .15s}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--purple);border-bottom-color:var(--purple);font-weight:600}.tenant-group-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;row-gap:6px;margin:22px 0 10px}.tenant-group-head:first-child{margin-top:0}.tenant-group-title{font-size:13px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.tenant-group-badge{background:var(--bg-elevated);color:var(--text-dim);border-radius:20px;padding:1px 8px;font-size:11px;font-family:JetBrains Mono,monospace;white-space:nowrap}.dir-row{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid var(--border);flex-wrap:wrap}.dir-row:last-child{border-bottom:none}.dir-row-name{font-size:13px;font-weight:600;color:var(--text);min-width:140px}.dir-row-meta{font-size:11px;color:var(--text-dim)}.dir-row-suggest{font-size:11px;color:var(--purple);background:#8b5cf61f;border-radius:6px;padding:2px 8px;cursor:pointer;border:1px solid rgba(139,92,246,.3);white-space:nowrap}.dir-row-suggest:hover{background:#8b5cf638}.quick-widget{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.simple-toggle{width:42px;height:24px;border-radius:12px;border:1px solid var(--border);background:var(--bg-elevated);position:relative;cursor:pointer;flex-shrink:0;transition:background .15s,border-color .15s}.simple-toggle.on{background:var(--gradient);border-color:transparent}.simple-toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .15s;box-shadow:0 1px 3px #0000004d}.simple-toggle.on .simple-toggle-knob{left:20px}.mini-calendar{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px;width:100%;max-width:360px;box-sizing:border-box}.mini-calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.mini-calendar-title{font-size:14px;font-weight:600;color:var(--text);text-transform:capitalize}.mini-calendar-nav{width:28px;height:28px;border-radius:8px;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.mini-calendar-nav:hover{color:var(--text);border-color:var(--purple)}.mini-calendar-nav:disabled{opacity:.4;cursor:default}.mini-calendar-nav:disabled:hover{color:var(--text-muted);border-color:var(--border)}.mini-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.mini-calendar-weekday{text-align:center;font-size:10px;font-weight:600;color:var(--text-dim);text-transform:uppercase;padding:4px 0}.mini-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;overflow:hidden}.mini-calendar-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:6px;border:1px solid transparent;font-size:12px;color:var(--text-muted);position:relative;gap:2px}.mini-calendar-cell--empty{visibility:hidden}.mini-calendar-cell--today{border-color:var(--purple);font-weight:700;color:var(--text)}.mini-calendar-cell--marked{color:var(--text);font-weight:600}.mini-calendar-cell--off:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#71717a;opacity:.5;border-radius:6px;pointer-events:none}.generic-task-list{display:flex;flex-direction:column;gap:2px;max-width:640px}.generic-task-row{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px}.generic-task-row:hover{background:var(--bg-elevated)}.generic-task-checkbox{flex-shrink:0;cursor:pointer}.generic-task-title-btn{flex:1;min-width:0;display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--text);font-size:13px;font-family:inherit;text-align:left;cursor:pointer;padding:2px 0}.generic-task-title-btn:hover .generic-task-title-text{text-decoration:underline}.generic-task-title-btn--done .generic-task-title-text{color:var(--text-dim);text-decoration:line-through}.generic-task-title-btn--done:hover .generic-task-title-text{text-decoration:line-through underline}.generic-task-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.generic-task-notes-dot{flex-shrink:0;width:5px;height:5px;border-radius:50%;background:var(--purple)}.generic-task-assignee-avatars{display:flex;align-items:center;flex-shrink:0}.generic-task-assignee-avatar{width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;color:#fff;box-shadow:0 0 0 1.5px var(--bg-card);flex-shrink:0}.generic-task-assignee-avatar+.generic-task-assignee-avatar{margin-left:-5px}.generic-task-assignee-avatar--more{background:var(--text-dim);font-size:7px}.generic-task-delete{background:none;border:none;color:var(--text-dim);font-size:16px;cursor:pointer;padding:0 6px;border-radius:4px}.generic-task-delete:hover{color:var(--color-danger)}.generic-task-assignee-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:2px 4px 2px 8px;border-radius:10px;background:var(--bg-elevated);color:var(--text-muted)}.generic-task-assignee-chip button{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:12px;padding:0 3px;line-height:1}.generic-task-assignee-chip button:hover{color:var(--color-danger)}.generic-task-assignee-add{font-size:11px;padding:2px 6px;width:auto;color:var(--text-dim)}.pending-task-row{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border-radius:6px;background:none;border:none;text-align:left;cursor:pointer;font-family:inherit}.pending-task-row:hover{background:var(--bg-elevated)}.pending-task-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--blue)}.pending-task-dot--hito{background:var(--purple)}@keyframes pendingTaskGlowRed{0%,to{box-shadow:0 0 color-mix(in srgb,var(--pending-task-red) 0%,transparent)}50%{box-shadow:0 0 4px 3px color-mix(in srgb,var(--pending-task-red) 55%,transparent)}}@keyframes pendingTaskGlowYellow{0%,to{box-shadow:0 0 color-mix(in srgb,var(--pending-task-yellow) 0%,transparent)}50%{box-shadow:0 0 4px 3px color-mix(in srgb,var(--pending-task-yellow) 55%,transparent)}}.pending-task-dot--overdue{background:var(--pending-task-red);animation:pendingTaskGlowRed 1.4s ease-in-out infinite}.pending-task-dot--nodate{background:var(--pending-task-yellow);animation:pendingTaskGlowYellow 1.4s ease-in-out infinite}.pending-task-name{flex:1;min-width:0;font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-task-resp{font-size:11px;color:var(--text-muted);flex-shrink:0}.pending-task-date{font-size:11px;color:var(--text-dim);flex-shrink:0}.pending-task-date--overdue{color:var(--color-danger);font-weight:600}.pending-task-legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:11px;color:var(--text-muted);margin-bottom:8px}.pending-task-legend span{display:inline-flex;align-items:center;gap:5px}.pending-task-dot--static{animation:none}.notif-settings{padding:12px 14px;display:flex;flex-direction:column;gap:16px}.notif-settings-section{display:flex;flex-direction:column;gap:6px}.notif-settings-title{font-size:12px;font-weight:600;color:var(--text)}.notif-settings-hint{font-size:11px;color:var(--text-muted);line-height:1.5}.notif-settings-check{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text);cursor:pointer}.notif-feed-url{font-size:11px;padding:6px 8px}.notif-feed-btn{font-size:11px;padding:4px 10px}.team-cal-title{font-size:15px;font-weight:600;color:var(--text);text-transform:capitalize}.calendar-legend{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;margin-bottom:16px}.calendar-legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text)}.calendar-legend-item--muted{color:var(--text-dim);font-style:italic}.calendar-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.calendar-list-row{display:flex;align-items:center;gap:10px;padding:10px 8px;border-bottom:1px solid var(--border);cursor:pointer;border-radius:8px}.calendar-list-row:last-child{border-bottom:none}.calendar-list-row:hover{background:var(--bg-elevated)}.calendar-list-row-arrow{margin-left:auto;color:var(--text-dim);flex-shrink:0}.calendar-table-row-clickable{cursor:pointer}.calendar-table-row-clickable:hover{background:var(--bg-elevated)}.date-popover-catcher{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1601;background:transparent}@keyframes datePopoverIn{0%{opacity:0;transform:scale(.85) translateY(-6px)}to{opacity:1;transform:scale(1) translateY(0)}}.date-popover{z-index:1602;width:340px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px #00000047;padding:12px;display:flex;flex-direction:column;gap:8px;transform-origin:top left;animation:datePopoverIn .16s ease-out}.date-popover-row{display:flex;align-items:center;gap:8px}.date-popover-swatch{width:20px;height:20px;border-radius:6px;flex-shrink:0;border:1px solid var(--border)}.date-popover-actions{display:flex;align-items:center;gap:6px;margin-top:2px}.date-popover-dates{display:flex;flex-direction:column;gap:6px}.date-popover-date-row{display:flex;align-items:center;gap:8px}.date-popover-date-row>span{width:42px;flex-shrink:0;font-size:11px;color:var(--text-dim)}.date-popover-date-row>input{flex:1;min-width:0}.team-cal{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px}.team-cal-head{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:4px}.team-cal-title--clickable{cursor:pointer;border-radius:6px;padding:2px 6px}.team-cal-title--clickable:hover{background:var(--bg-elevated)}.team-cal-hint{text-align:center;font-size:11px;color:var(--text-dim);margin-bottom:12px;position:relative}.team-cal-chunk-nav{display:inline-flex;gap:6px;margin-left:10px;vertical-align:middle}.team-cal-chunk-nav .mini-calendar-nav{width:22px;height:22px;font-size:13px}.team-cal-picker{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:6px;z-index:1602;width:240px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px #00000047;padding:10px;animation:datePopoverIn .16s ease-out;transform-origin:top center}.team-cal-picker-year{display:block;width:100%;text-align:center;background:transparent;border:none;color:var(--text);font-size:13px;font-weight:600;cursor:pointer;border-radius:6px;padding:6px 0;margin-bottom:6px}.team-cal-picker-year:hover{background:var(--bg-elevated)}.team-cal-picker-year-nav{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px}.team-cal-picker-year-nav button{width:24px;height:24px;border-radius:6px;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted);cursor:pointer}.team-cal-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.team-cal-picker-cell{padding:8px 0;text-align:center;font-size:12px;border-radius:6px;background:var(--bg-elevated);border:1px solid transparent;color:var(--text);cursor:pointer;text-transform:capitalize}.team-cal-picker-cell:hover{border-color:var(--purple)}.team-cal-picker-cell--active{background:var(--purple);color:#fff}.team-cal-scroll{overflow-x:auto}.team-cal-grid{display:grid;align-items:stretch;justify-items:stretch;row-gap:4px;column-gap:2px;width:100%}.team-cal-corner{position:sticky;left:0;z-index:2;background:var(--bg-card)}.team-cal-weekday{text-align:center;font-size:9px;font-weight:600;text-transform:uppercase;color:var(--text-dim);letter-spacing:.02em;cursor:pointer;border-radius:6px;padding:4px 0}.team-cal-weekday:hover{background:var(--bg-elevated)}.team-cal-weekday-letter{display:inline-block;min-width:18px;padding:2px 5px;border-radius:6px}.team-cal-weekday--today .team-cal-weekday-letter{background:var(--purple);color:#fff;font-weight:700}.team-cal-weekday--off{opacity:.4}.team-cal-person{position:sticky;left:0;z-index:1;background:var(--bg-card);display:flex;align-items:center;gap:8px;padding:3px 8px 3px 10px;cursor:pointer;border-radius:6px}.team-cal-person:hover{background:var(--bg-elevated)}.team-cal-person--static{cursor:default}.team-cal-person--static:hover{background:none}.team-cal-person-name{font-size:12px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-cal-avatar-wrap{position:relative;flex-shrink:0}.team-cal-badge{position:absolute;top:-6px;left:-6px;background:#10c64f;color:#fff;font-size:9px;font-weight:700;line-height:1;padding:2px 4px;border-radius:6px;border:1.5px solid var(--bg-card);white-space:nowrap}.team-cal-badge--low{background:#f59e0b}.team-cal-badge--over{background:var(--color-danger)}.team-cal-cell{position:relative;min-width:0;height:22px;border-radius:4px;background:var(--bg-elevated);display:flex;align-items:center;justify-content:center}.team-cal-cell-num{font-size:10px;font-weight:600;color:var(--text-dim);line-height:1;pointer-events:none}.team-cal-cell--off:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#71717a;opacity:.5;border-radius:4px;pointer-events:none}.team-cal-cell--own{cursor:pointer}.team-cal-cell--own:hover{box-shadow:inset 0 0 0 1px var(--purple)}.team-cal--mobile{display:flex;flex-direction:column;gap:14px}.day-hero{background:var(--gradient);border-radius:16px;padding:16px;color:#fff}.day-hero .team-cal-head{margin-bottom:10px}.day-hero .team-cal-title{color:#fff}.day-hero .mini-calendar-nav{background:#ffffff29;border-color:#ffffff4d;color:#fff}.day-hero .mini-calendar-nav:hover{border-color:#fff;color:#fff}.day-hero-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:6px}.day-hero-weekdays span{text-align:center;font-size:10px;font-weight:600;color:#ffffffa6;text-transform:uppercase}.day-hero-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;overflow:hidden}.day-hero-grid>span{visibility:hidden}.day-hero-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:50%;border:none;background:transparent;color:#ffffffe6;font-size:12px;cursor:pointer;font-family:inherit}.day-hero-cell--today{box-shadow:inset 0 0 0 1.5px #fffc;font-weight:700}.day-hero-cell--selected{background:#fff;color:var(--purple);font-weight:700;box-shadow:none}.day-hero-dots{display:flex;align-items:center;gap:2px;height:4px}.day-hero-dots i{width:4px;height:4px;border-radius:50%;display:block;background:#fff}.day-hero-cell--selected .day-hero-dots i{box-shadow:0 0 0 1px #fff}.day-agenda{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:14px}.day-agenda-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.day-agenda-date{font-size:14px;font-weight:600;color:var(--text);text-transform:capitalize}.day-agenda-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-left:3px solid transparent;border-radius:8px;background:var(--bg-elevated);margin-bottom:6px}.day-agenda-item--clickable{cursor:pointer}.day-agenda-item--clickable:hover{filter:brightness(1.05)}.day-agenda-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.day-agenda-item-body{min-width:0}.day-agenda-item-title{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-agenda-item-sub{font-size:11px;color:var(--text-muted)}.day-agenda-empty{font-size:13px;color:var(--text-dim);padding:6px 2px}.calendar-tabs{display:flex;gap:16px;margin-bottom:4px}.calendar-tab{background:transparent;border:none;color:var(--text-dim);font-family:Outfit,sans-serif;font-size:15px;font-weight:600;cursor:pointer;padding:2px 0;border-bottom:2px solid transparent}.calendar-tab:hover{color:var(--text)}.calendar-tab--active{color:var(--text);border-bottom-color:var(--purple)}.festivos-panel{display:flex;flex-direction:column;gap:14px}.festivos-year-nav{display:flex;align-items:center;justify-content:center;gap:10px}.festivos-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:20px;align-items:start}@media(max-width:900px){.festivos-layout{grid-template-columns:1fr}}.festivos-year-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.festivos-mini-month{background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;padding:10px}.festivos-mini-title{font-size:12px;font-weight:600;color:var(--text);text-align:center;margin-bottom:6px;text-transform:capitalize}.festivos-mini-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;overflow:hidden}.festivos-mini-weekday{text-align:center;font-size:8px;font-weight:600;color:var(--text-dim);text-transform:uppercase;padding-bottom:2px}.festivos-mini-cell{text-align:center;font-size:10px;color:var(--text-muted);border-radius:4px;padding:3px 0;cursor:pointer}.festivos-mini-cell--empty{cursor:default}.festivos-mini-cell--weekend{background:var(--bg-card)}.festivos-mini-cell:not(.festivos-mini-cell--empty):hover{box-shadow:inset 0 0 0 1px var(--purple)}.festivos-mini-cell--holiday{color:#fff;font-weight:700}.festivos-mini-cell--holiday:hover{box-shadow:inset 0 0 0 1.5px #fff}.calendar-view-toggle{display:inline-flex;border:1px solid var(--border);border-radius:10px;padding:2px;gap:2px}.calendar-view-toggle button{border:none;background:transparent;color:var(--text-muted);padding:6px 12px;border-radius:8px;font-size:13px;cursor:pointer;transition:all .15s}.calendar-view-toggle button.active{background:var(--gradient);color:#fff}.team-year-grid.festivos-year-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.team-year-grid .festivos-mini-cell{position:relative;padding:5px 0;min-height:22px;border:1px solid transparent}.team-year-cell{display:flex;flex-direction:column;align-items:center;gap:2px}.team-year-cell--today{box-shadow:inset 0 0 0 1.5px var(--purple);font-weight:700}.team-year-cell--off:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#71717a;opacity:.5;border-radius:4px;pointer-events:none}.team-year-dots{height:5px;gap:3px}.team-year-dots i{width:4px;height:4px;border-radius:50%;display:block}.festivos-list-panel{display:flex;flex-direction:column;gap:10px}.festivos-list-actions{display:flex;gap:8px;flex-wrap:wrap}.festivos-empty{color:var(--text-dim);font-size:13px}.festivos-list{display:flex;flex-direction:column;gap:2px;max-height:520px;overflow-y:auto}.festivos-list-row{display:flex;align-items:center;gap:10px;padding:8px 6px;border-bottom:1px solid var(--border);cursor:pointer;border-radius:8px}.festivos-list-row:hover{background:var(--bg-elevated)}.festivos-list-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.festivos-list-title{font-size:13px;font-weight:600;color:var(--text)}.festivos-list-date{font-size:11px;color:var(--text-dim)}.account-calendar-icon{width:24px;height:24px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:#8b5cf626;color:var(--purple);flex-shrink:0}.calendar-event-list{flex:1;min-width:220px;max-height:340px;overflow-y:auto}.calendar-event-list-title{font-size:11px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px}.calendar-event-list-empty{font-size:13px;color:var(--text-muted)}.calendar-event-item{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px}.calendar-event-item:last-child{border-bottom:none}.calendar-event-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.calendar-event-label{flex:1;min-width:0;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-date{font-size:11px;color:var(--text-muted);font-family:JetBrains Mono,monospace;white-space:nowrap;flex-shrink:0}.calendar-with-list{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start}.contact-banner{display:flex;align-items:center;gap:10px;padding:9px 24px;background:#3b82f614;border-bottom:1px solid var(--border);color:var(--text);font-size:13px}.contact-banner svg{flex-shrink:0;color:var(--blue)}.contact-banner-link{margin-left:auto;background:transparent;border:none;color:var(--blue);cursor:pointer;font-size:12px;font-weight:600;white-space:nowrap;font-family:Outfit,sans-serif}.contact-banner-link:hover{text-decoration:underline}.gh-compact-toggle{margin-left:auto;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:transparent;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;padding:0}.gh-compact-toggle:hover{border-color:var(--blue);color:var(--blue)}.gh-compact-detail{border-radius:0;border-top:none;margin-bottom:0}.staff-dir-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.staff-dir-card{display:flex;flex-direction:column;gap:10px;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:16px;min-width:0}.dir-row-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dir-row-avatar{width:36px;height:36px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff}.dir-row-avatar-wrap{position:relative;flex-shrink:0}.dir-row-avatar-wrap .person-color-dot-wrap{position:absolute;bottom:-3px;right:-3px}.dir-row-fields{display:flex;flex-direction:column;gap:8px}.dir-row-fields-pair{display:flex;gap:8px}.dir-row-fields-pair select{flex:1 1 0;min-width:0}.dir-link-hint{font-size:11px;color:var(--text-dim)}.staff-dir-projects{border-top:1px solid var(--border);padding-top:10px}.staff-dir-projects-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.staff-dir-projects-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.staff-dir-add-btn{font-size:12px;padding:5px 12px}.staff-dir-project-grid{display:flex;flex-direction:column;gap:6px}.staff-dir-project-card{display:flex;align-items:center;gap:10px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;padding:7px 8px}.staff-dir-project-icon{width:28px;height:28px;border-radius:8px;flex-shrink:0;color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.staff-dir-project-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.staff-dir-project-name{font-size:12.5px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-dir-project-role{font-size:10.5px;color:var(--text-dim)}.staff-dir-project-remove{background:transparent;border:none;color:var(--text-dim);cursor:pointer;font-size:15px;line-height:1;padding:3px 6px;border-radius:50%;flex-shrink:0}.staff-dir-project-remove:hover{background:#ef444426;color:var(--color-danger)}@media(max-width:768px){.staff-dir-grid{grid-template-columns:1fr}}.staff-dir-catalogs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.staff-dir-catalog-buttons{display:flex;gap:10px;margin-bottom:20px}.tag-add-form{display:flex;gap:8px;align-items:center;flex-shrink:0}.tag-add-form .form-input{width:200px}.tag-catalog-empty{color:var(--text-dim);font-size:13px}.tag-chip-row{display:flex;flex-wrap:wrap;gap:10px}.tag-chip{display:flex;align-items:center;gap:8px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:20px;padding:7px 8px 7px 14px;font-size:13px;font-weight:500;color:var(--text);transition:border-color .15s}.tag-chip:hover{border-color:var(--purple)}.tag-chip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tag-chip-remove{background:transparent;border:none;color:var(--text-dim);cursor:pointer;font-size:15px;line-height:1;padding:3px 5px;border-radius:50%}.tag-chip-remove:hover{background:#ef444426;color:var(--color-danger)}@media(max-width:640px){.tag-catalog-card .section-card-head{flex-direction:column;align-items:stretch}.tag-add-form{width:100%}.tag-add-form .form-input{flex:1;width:auto}}.staff-detail-role-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;padding:2px 7px;border-radius:20px;white-space:nowrap;display:inline-block}.staff-detail-role-badge--lead{background:var(--badge-owner-bg);color:var(--badge-owner-fg)}.staff-detail-role-badge--gestion{background:var(--badge-admin-bg);color:var(--badge-admin-fg)}.staff-detail-role-badge--member{background:var(--badge-neutral-bg);color:var(--badge-neutral-fg)}.staff-detail-role-badge--client{background:#06b6d42e;color:var(--cyan)}.staff-detail-role-badge--none{background:#f59e0b29;color:var(--color-warning)}.gh-repo-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}.gh-repo-row:last-child{border-bottom:none}.gh-linked-dot{display:block;width:10px;height:10px;border-radius:50%;background:#10c64f;box-shadow:0 0 0 3px #10c64f40,0 0 8px #10c64fe6}.gh-tab-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:14px}.gh-stat-card{background:var(--bg-elevated);border-radius:8px;padding:12px;width:100%;font-family:Outfit,sans-serif;border:none;max-height:220px;overflow-y:auto}.gh-stat-card-title{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px}.gh-stat-card--clickable{transition:filter .12s,border-color .12s;cursor:pointer}.gh-stat-card--clickable:hover{filter:brightness(1.08);border-color:var(--purple)!important}.chat-fab{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom) + 16px);width:56px;height:56px;border-radius:28px;background:var(--gradient);border:none;color:#fff;cursor:pointer;box-shadow:0 6px 20px #8b5cf666;display:flex;align-items:center;justify-content:center;z-index:50}.chat-fab-badge{position:absolute;top:-2px;right:-2px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#f97316;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;border:2px solid var(--bg)}.fab-page-spacer{height:0}@media(max-width:1024px){.table-card{margin:16px 16px 36px}.page-wrap{padding:28px 20px}thead th:first-child{min-width:160px}.admin-tenants-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.admin-stat-value{font-size:34px}}.hamburger-menu{position:fixed;top:var(--header-h, 56px);left:0;bottom:0;width:min(320px,88vw);background:var(--bg-card);border-right:1px solid var(--border);box-shadow:8px 0 24px #0000002e;transform:translate(-100%);opacity:0;z-index:1500;transition:transform .22s cubic-bezier(.34,1.4,.4,1),opacity .18s ease;pointer-events:none;overflow-y:auto;padding:12px 0;display:flex;flex-direction:column;will-change:transform,opacity}.hamburger-menu--open{transform:translate(0);opacity:1;pointer-events:auto}.hamburger-overlay{position:fixed;top:var(--header-h, 56px);right:0;bottom:0;left:0;background:#0000;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);z-index:1498;pointer-events:none;transition:background .22s ease,backdrop-filter .22s ease,-webkit-backdrop-filter .22s ease}.hamburger-overlay--open{background:#00000073;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);pointer-events:auto}.hamburger-menu-list{display:flex;flex-direction:column;gap:4px}.hamburger-menu-item{display:flex;align-items:center;gap:14px;padding:12px 18px;color:var(--text);background:transparent;border:none;font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;text-decoration:none;transition:background .15s;text-align:left;width:100%}.hamburger-menu-item:hover,.hamburger-menu-item:focus-visible{background:var(--bg-elevated);outline:none}.hamburger-menu-item[aria-disabled=true]{pointer-events:none}.hamburger-menu-item-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;color:var(--text-muted)}.hamburger-menu-item-icon{filter:saturate(1.2)}.hamburger-menu-item--purple .hamburger-menu-item-icon{color:var(--purple)}.hamburger-menu-item--cyan .hamburger-menu-item-icon{color:var(--cyan)}.hamburger-menu-item--amber .hamburger-menu-item-icon{color:var(--color-warning)}.hamburger-menu-item--blue .hamburger-menu-item-icon{color:var(--blue)}.hamburger-menu-item--green .hamburger-menu-item-icon{color:#10c64f}.hamburger-menu-item--muted .hamburger-menu-item-icon{color:#a78bfa}.hamburger-menu-item-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hamburger-menu-separator{height:1px;background:var(--border);margin:8px 14px}.hamburger-btn{display:none;width:var(--icon-btn-size);height:var(--icon-btn-size);padding:0;background:transparent;border:none;color:var(--text);cursor:pointer;align-items:center;justify-content:center;transition:color .2s}.hamburger-btn:hover{color:var(--purple)}.hamburger-btn--open{color:var(--purple);background:var(--bg-elevated);box-shadow:inset 0 0 0 1px var(--border);border-radius:8px}.hamburger-cluster{display:flex;align-items:center}.hamburger-cluster-logo{display:flex;align-items:center;margin-left:10px}@media(max-width:768px){.header{position:sticky;top:0;z-index:1501}.header-left .header-title,.header-left .header-sub{display:none}.header-title-block--push{display:block;overflow:hidden;margin-left:10px;opacity:1;transform:translate(0);transition:transform .32s cubic-bezier(.34,1.4,.4,1),opacity .12s ease-out}.header-title-block--push .header-title,.header-title-block--push .header-sub{display:block;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-title-block--icon-swap.header-title-block--push .header-title,.header-title-block--icon-swap.header-title-block--push .tablero-name-input{display:none}.header-title-block--icon-swap .header-title-icon{display:flex}.header-title-block--push.header-title-block--collapsed{transform:translate(28px);opacity:0;pointer-events:none}.hide-on-mobile{display:none!important}.hamburger-btn{display:inline-flex}.hamburger-cluster-logo{overflow:hidden;max-width:40px;transition:max-width .32s cubic-bezier(.34,1.4,.4,1)}.hamburger-cluster-logo--open{max-width:160px}.hamburger-cluster-logo .logo-img{height:32px;width:auto}}@media(max-width:768px){.account-calendar-row{justify-content:center}.header-right .btn.request-timeoff-fab{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));width:52px;height:52px;padding:0;border-radius:50%;justify-content:center;box-shadow:0 6px 20px #00000040;z-index:1502}.request-timeoff-fab-icon{font-size:26px;line-height:1}.request-timeoff-fab-label{display:none}.draft-grid{grid-template-columns:1fr;padding:14px;gap:12px}.draft-card-inner{padding:13px 14px 14px}.draft-card-delete{opacity:.5}.section-card{padding:14px}.dir-row{gap:6px}.dir-row-name{min-width:0;width:100%}.tabs{gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent);-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent)}.tab-btn{padding:8px 10px;white-space:nowrap}.chat-mentions-panel{position:absolute;top:0;right:0;bottom:0;left:0;width:100%!important;z-index:5;border-left:none!important;background:var(--bg-card)!important;animation:fadeIn .18s ease}.header{padding:8px 14px;gap:8px;flex-wrap:wrap;row-gap:8px;align-items:center}.header-left{gap:8px;min-width:55%;flex:1;overflow:hidden}.header-left:has(.header-title-block--icon-swap){min-width:0;flex:0 1 auto}.logo-img{width:32px;height:32px}.header-title{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-sub{font-size:11px}.tablero-name-input{font-size:17px}.tablero-subtitle-input{font-size:11px}.header-right{margin-left:auto;flex-wrap:wrap;justify-content:flex-end;gap:6px;row-gap:6px;align-items:center}.header-right .btn{padding:7px 10px;font-size:12px}.btn-logout .btn-logout-label{display:none}.header-right .btn.btn-logout{padding:7px 9px}.table-card{margin:10px 10px 28px;border-radius:12px}.task-table,.card-table{min-width:0;width:100%;display:block;border:none;box-shadow:none}.table-scroll{overflow-x:visible}.task-table thead,.card-table thead{display:none}.task-table tbody,.card-table tbody{display:block}.task-table tbody tr,.card-table tbody tr{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0;padding:12px 14px 8px;margin-bottom:10px;border:1px solid var(--border);border-radius:10px;background:var(--bg-card)}.card-table tbody tr.staff-detail-more{margin-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;padding-bottom:4px}.card-table tbody tr.staff-detail-cont{margin-top:-1px;padding-top:10px;border-top:1px dashed var(--border);border-top-left-radius:0;border-top-right-radius:0}.task-table tbody td[data-label=Hito],.card-table tbody td[data-label=Hito]{width:100%;flex-basis:100%;text-align:left;padding:0 0 10px;border-bottom:1px solid var(--border);margin-bottom:8px}.task-table tbody td[data-label=Hito]:before,.card-table tbody td[data-label=Hito]:before{content:none}.task-table tbody td.phase-td,.card-table tbody td.phase-td{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;min-width:0;flex:1 1 0;max-width:none;border-bottom:none;text-align:center;overflow:hidden}.task-table tbody td.phase-td:before,.card-table tbody td.phase-td:before{content:attr(data-label);font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:.1px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;line-height:1.2}.task-table tbody td:not([data-label=Hito]):not(.phase-td),.card-table tbody td:not([data-label=Hito]):not(.phase-td){display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;flex-basis:100%;padding:6px 0;border-bottom:none;text-align:right}.task-table tbody td:not([data-label=Hito]):not(.phase-td):before,.card-table tbody td:not([data-label=Hito]):not(.phase-td):before{content:attr(data-label);color:var(--text-dim);font-size:11px;text-transform:uppercase;letter-spacing:.5px;text-align:left;flex-shrink:0}.task-table tbody td.phase-td:last-of-type,.card-table tbody td.phase-td:last-of-type{border-right:none;margin-right:auto;padding-right:0}.del-btn{opacity:.5}.task-name-input{flex:1;min-width:0;width:auto!important}.task-name-readonly{flex:1;min-width:0;max-width:none;white-space:normal;overflow:visible;text-overflow:clip}.card-table tbody td.weekly-note-cell{max-width:none;white-space:normal;overflow:visible;text-overflow:clip;text-align:right}.notes-input{width:100%;max-width:none}.resp-select{max-width:140px}.task-table .add-row td{justify-content:center}.task-table .add-row td:before{content:none}.task-table .add-btn{width:100%;justify-content:center}.page-wrap{padding:16px}.tablero-proposals-header{gap:8px;padding:20px 16px 0}.form-2col,.form-3col{grid-template-columns:1fr}.weekly-row{grid-template-columns:84px 1fr 32px;grid-template-areas:"proj proj proj" "pct note del";gap:8px 6px}.weekly-proj{grid-area:proj}.weekly-pct{grid-area:pct}.weekly-note{grid-area:note;min-width:0}.weekly-del{grid-area:del}.page-header-row{flex-direction:column;margin-bottom:20px}.page-header-row .btn{align-self:flex-start}.page-header-row .page-sub{margin-bottom:0}.create-form-card{padding:16px}.create-form-row{flex-wrap:wrap}.create-form-row .form-input{min-width:0;width:100%;flex:unset}.create-form-row .btn{flex:1;min-width:0;justify-content:center}.card-edit-btn{opacity:.7}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-card{padding:14px;min-height:140px}.project-avatar{width:40px;height:40px;font-size:14px}.project-card-name{font-size:15px}.project-card-comment{font-size:12px;margin-bottom:12px}.project-card-boards{font-size:10px}.tablero-card-body{padding:14px 16px 12px}.tablero-card-icon{width:34px;height:34px;margin-bottom:10px}.tablero-card-footer{padding:9px 16px 12px}.tablero-card-name{font-size:15px}.proposals-banner{padding:12px 14px;gap:10px}.admin-stats-grid{gap:8px}.admin-stat-card{padding:14px 8px}.admin-stat-value{font-size:26px}.admin-stat-label{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-section-header{flex-wrap:wrap}.admin-nav-grid{grid-template-columns:1fr;gap:10px;margin-bottom:24px}.admin-nav-card{padding:14px 16px}.admin-nav-icon{width:42px;height:42px;border-radius:10px}.admin-nav-title{font-size:15px}.admin-tenants-grid{grid-template-columns:1fr;gap:10px}.admin-tenant-card{padding:13px 14px}.admin-tenant-avatar{width:38px;height:38px;font-size:13px}.fab-page-spacer{height:84px}.gantt-label-col{width:88px;padding:6px 8px}.gantt-inner{min-width:0}.gantt-row-label{font-size:12.5px}}@media(max-width:480px){.chat-fab{width:50px;height:50px;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom) + 12px)}.draft-grid{padding:10px;gap:10px}.gantt-label-col{width:72px;padding:5px 6px}.gantt-row-chip{padding:3px 6px;font-size:11px}.header{padding:6px 10px}.logo-img{width:28px;height:28px}.header-right{gap:5px;row-gap:6px}.header-account{gap:5px}.header-right .btn{padding:5px 7px;font-size:11px;gap:4px}.header-right{--icon-btn-size: 30px}.table-card{margin:8px 6px 20px;border-radius:10px}.task-table tbody tr{padding:10px 10px 6px}.task-table tbody td.phase-td{min-width:0;padding:4px 1px}.modal{padding:22px 16px;width:95%}.page-wrap{padding:12px 10px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-stat-value{font-size:26px}.admin-nav-sub{display:none}.project-card{padding:12px;min-height:130px}.tablero-card-body{padding:12px 14px 10px}.tablero-card-footer{padding:8px 14px 10px}.proposal-btn{min-width:80px;padding:6px 10px;font-size:11px}}.eb-modal{max-width:940px;width:94%;padding:0;max-height:92vh;display:flex;flex-direction:column;overflow:hidden}.eb-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 24px 14px;border-bottom:1px solid var(--border)}.eb-when{font-size:12.5px;color:var(--text-muted);margin-top:4px}.eb-x{background:transparent;border:none;color:var(--text-muted);font-size:26px;line-height:1;cursor:pointer;padding:0 4px}.eb-x:hover{color:var(--text)}.eb-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:0;overflow:hidden;flex:1;min-height:0}.eb-editor{padding:18px 24px;overflow-y:auto}.eb-section{margin-bottom:22px}.eb-section-title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:8px}.eb-hint{font-size:12px;color:var(--text-muted);margin-bottom:12px}.eb-check{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text);margin-top:10px;cursor:pointer}.eb-blocks{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.eb-empty{border:2px dashed var(--border);border-radius:10px;padding:20px;text-align:center;color:var(--text-dim);font-size:12.5px}.eb-block{display:flex;align-items:center;gap:10px;background:var(--bg-elevated);border:1px solid var(--border);border-left:4px solid var(--eb-color, var(--border));border-radius:10px;padding:9px 10px;transition:box-shadow .15s,transform .05s,border-color .15s}.eb-block--over{border-color:var(--eb-color);box-shadow:0 0 0 2px var(--eb-color) inset}.eb-block--dragging{opacity:.45}.eb-grip{color:var(--text-dim);cursor:grab;font-size:13px;letter-spacing:-2px;-webkit-user-select:none;user-select:none}.eb-block:active .eb-grip{cursor:grabbing}.eb-block-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;color:#fff;flex-shrink:0}.eb-block-main{flex:1;min-width:0}.eb-block-label{font-size:12.5px;font-weight:600;color:var(--text)}.eb-block-sub{font-size:11px;color:var(--text-dim);margin-top:1px}.eb-block-input{width:100%;margin-top:4px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:5px 8px;font-size:12.5px;color:var(--text);font-family:inherit}.eb-block-input:focus{outline:none;border-color:var(--eb-color, var(--purple))}.eb-block-btnrow{display:flex;align-items:center;gap:8px}.eb-alert-editor{margin-top:4px}.eb-alert-tones{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.eb-alert-tone{border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600;cursor:pointer}.eb-alert-tone--active{background:var(--eb-alert-bg);border-color:var(--eb-alert-color);color:var(--eb-alert-color)}.eb-block-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.eb-block-actions button{background:transparent;border:none;color:var(--text-dim);cursor:pointer;font-size:10px;padding:3px 5px;border-radius:5px;line-height:1}.eb-block-actions button:hover{background:var(--bg-card);color:var(--text)}.eb-block-actions .eb-del{font-size:15px;color:var(--color-danger)}.eb-palette{display:flex;flex-wrap:wrap;gap:7px}.eb-add{display:inline-flex;align-items:center;gap:6px;background:var(--bg-card);border:1.5px solid var(--eb-color, var(--border));color:var(--text);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .12s}.eb-add:hover{background:color-mix(in srgb,var(--eb-color) 14%,transparent)}.eb-add-icon{display:inline-flex}.eb-preview-wrap{background:var(--bg-elevated);border-left:1px solid var(--border);padding:18px 20px;overflow-y:auto}.eb-preview-title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:12px}.eb-email{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 6px 20px #0000002e}.eb-email-bar{display:flex;gap:6px;align-items:center;padding:9px 12px;background:var(--bg-elevated);border-bottom:1px solid var(--border)}.eb-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.eb-email-body{padding:16px 18px}.eb-email-subject{font-size:14px;font-weight:700;color:var(--text);margin-bottom:12px}.eb-email-content{font-size:13px;color:var(--text);line-height:1.55}.eb-email-content p{margin:0 0 10px;white-space:pre-wrap}.eb-email-content p:last-child{margin-bottom:0}.eb-email-footer{color:var(--text-muted);font-size:12px;border-top:1px solid var(--border);padding-top:10px;margin-top:12px}.eb-preview-note{font-size:11px;color:var(--text-dim);margin-top:10px;line-height:1.5}.eb-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 24px;border-top:1px solid var(--border)}@media(max-width:780px){.eb-grid{grid-template-columns:1fr}.eb-preview-wrap{border-left:none;border-top:1px solid var(--border)}}.autocomplete-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:40;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:var(--modal-shadow);max-height:240px;overflow-y:auto;padding:4px}.autocomplete-option{padding:9px 10px;border-radius:6px;font-size:13px;color:var(--text);cursor:pointer}.autocomplete-option:hover,.autocomplete-option--active{background:var(--bg-elevated)}@media(max-width:640px){.autocomplete-option{padding:11px 12px;font-size:14px}}
