@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Poppins:wght@500;600;700&display=swap";:root{font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#e2e8f0;background-color:#05030e;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(ellipse at 20% 0%,rgba(107,33,168,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(147,51,234,.06) 0%,transparent 50%),#05030e}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#6b21a880;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#6b21a8}.header{display:flex;justify-content:space-between;align-items:center;padding:1.75rem 2.5rem;background:linear-gradient(145deg,#281946fa,#140a28f2,#1e0f37fa);border-radius:20px;margin-bottom:1.5rem;border:1px solid rgba(192,132,252,.15);box-shadow:0 8px 50px #6b21a833,0 0 0 1px #c084fc14,inset 0 1px #ffffff14;position:relative;overflow:hidden}.header:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(216,180,254,.6) 20%,rgba(192,132,252,.8) 50%,rgba(216,180,254,.6) 80%,transparent 100%)}.header:after{content:"";position:absolute;top:-100%;left:-100%;width:300%;height:300%;background:radial-gradient(circle at 30% 50%,rgba(107,33,168,.08) 0%,transparent 25%);pointer-events:none}.header-left{display:flex;flex-direction:column;gap:.25rem;position:relative;z-index:1}.header-brand{display:flex;align-items:center;gap:1.25rem}.header-logo{width:160px;height:50px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.header-logo:hover{transform:scale(1.05)}.header-logo img{width:100%;height:100%;object-fit:contain}.header-titles{display:flex;flex-direction:column;gap:.35rem}.header-title{font-size:1.4rem;font-weight:700;margin:0;display:flex;align-items:center;gap:.5rem;letter-spacing:-.02em}.title-main{background:linear-gradient(135deg,#fff,#f3e8ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 40px rgba(255,255,255,.2)}.title-divider{color:#c084fc66;font-weight:300;font-size:1.2rem}.title-accent{font-size:1.15rem;font-weight:600;background:linear-gradient(135deg,#d8b4fe,#c084fc,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.02em}.header-subtitle{color:#94a3b8;font-size:.7rem;margin:0;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.subtitle-icon{font-size:.5rem;color:#c084fc99}.header-nav{display:flex;gap:.4rem;margin-top:.5rem}.header-nav-item{background:transparent;border:1px solid rgba(192,132,252,.15);color:#94a3b8;font-size:.8rem;font-weight:600;padding:.4rem .9rem;border-radius:999px;cursor:pointer;transition:all .2s ease}.header-nav-item:hover{color:#f3e8ff;border-color:#c084fc59}.header-nav-item.active{background:linear-gradient(135deg,#6b21a8,#9333ea);color:#fff;border-color:transparent}.header-right{display:flex;gap:1.5rem;position:relative;z-index:1}.header-indicators-container{display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;background:#05030e99;border-radius:14px;border:1px solid rgba(192,132,252,.15);box-shadow:inset 0 2px 4px #0000001a}.header-indicator{display:flex;align-items:center;gap:.6rem}.indicator-icon{font-size:1.1rem;opacity:.9}.indicator-content{display:flex;flex-direction:column;gap:.15rem}.indicator-label{font-size:.65rem;color:#c084fc;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.indicator-value{font-size:.9rem;color:#f3e8ff;font-weight:600;letter-spacing:-.01em}.indicator-divider{width:1px;height:32px;background:linear-gradient(180deg,transparent 0%,rgba(192,132,252,.4) 50%,transparent 100%)}.logout-button{background:transparent;border:none;cursor:pointer;padding:.5rem;border-radius:8px;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.logout-button:hover{background-color:#6b21a840}.refresh-button{background:transparent;border:none;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center;color:#94a3b8}.refresh-button:hover:not(:disabled){background-color:#6b21a840;color:#c084fc}.refresh-button:disabled{cursor:wait;opacity:.7}.refresh-icon{width:18px;height:18px;transition:color .2s ease}.refresh-button.refreshing .refresh-icon{animation:spin 1s linear infinite;color:#c084fc}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:1024px){.header{flex-direction:column;gap:1.5rem;text-align:center;padding:1.5rem}.header-brand{flex-direction:column;gap:1rem}.header-title{flex-direction:column;gap:.25rem;font-size:1.5rem}.title-divider{display:none}.header-right{justify-content:center}.header-indicators-container{flex-wrap:wrap;justify-content:center;gap:.75rem}.indicator-divider{display:none}.header-indicator{padding:.5rem .75rem;background:#6b21a826;border-radius:8px}}@media(max-width:480px){.header-logo{width:140px;height:45px}.header-title{font-size:1.25rem}.title-accent{font-size:1.1rem}.header-subtitle{font-size:.7rem}}.filters-bar{background:linear-gradient(145deg,#281946fa,#140a28f2,#1e0f37fa);border-radius:16px;padding:1.25rem;margin-bottom:1.5rem;border:1px solid rgba(192,132,252,.15);box-shadow:0 8px 40px #6b21a81f,inset 0 1px #ffffff0f}.filters-bar--collapsed{padding:.5rem 1.25rem}.filters-header{display:flex;align-items:center;gap:.75rem;width:100%;padding:.25rem 0;background:none;border:none;cursor:pointer;text-align:left}.filters-header-title{font-size:.8rem;color:#d8b4fe;text-transform:uppercase;letter-spacing:.5px;font-weight:600;white-space:nowrap}.filters-summary{flex:1;min-width:0;font-size:.8rem;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filters-chevron{margin-left:auto;color:#d8b4fe;font-size:.9rem;transition:transform .2s ease}.filters-chevron--open{transform:rotate(180deg)}.filters-content{margin-top:.75rem}.filters-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;margin-bottom:1rem}.filter-group{display:flex;flex-direction:column;gap:.5rem;flex:1 1 130px;min-width:120px;max-width:200px}.filter-group--search{flex:2 1 200px;max-width:280px}.filter-label{font-size:.75rem;color:#d8b4fe;text-transform:uppercase;letter-spacing:.5px;font-weight:600;text-shadow:0 0 15px rgba(216,180,254,.3)}.filter-select,.filter-input{height:38px;box-sizing:border-box;padding:0 .875rem;background:#05030eb3;border:1px solid rgba(107,33,168,.3);border-radius:8px;color:#f1f5f9;font-size:.875rem;transition:all .2s ease;width:100%}.filter-select:disabled{opacity:.4;cursor:not-allowed}.filter-select:focus,.filter-input:focus{outline:none;border-color:#c084fc;box-shadow:0 0 0 3px #c084fc33,0 0 20px #c084fc26}.filter-select option{background:#11081f;color:#e2e8f0}.filter-clear{align-self:flex-end;padding:.625rem 1.25rem;height:38px;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#f87171;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.filter-clear:hover{background:#ef444440;box-shadow:0 0 20px #ef444433}.filters-categories{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.category-chips{display:flex;flex-wrap:wrap;gap:.5rem}.category-chip{padding:.375rem .75rem;background:#6b21a826;border:1px solid rgba(192,132,252,.2);border-radius:20px;color:#c4b5fd;font-size:.8rem;cursor:pointer;transition:all .2s ease}.category-chip:hover{background:#6b21a840;border-color:#c084fc66;color:#d8b4fe;box-shadow:0 0 15px #c084fc33}.category-chip--active{background:#9333ea59;border-color:#c084fc;color:#f3e8ff;box-shadow:0 0 20px #c084fc4d}@media(max-width:768px){.filters-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;align-items:stretch}.filter-group,.filter-group--search{max-width:100%;min-width:0}.filter-group--fecha,.filter-group--tipo,.filter-group--search,.filter-clear{grid-column:1 / -1}.filter-input[type=date]{-webkit-appearance:none;appearance:none;min-width:0;width:100%;display:flex;align-items:center}.filter-input[type=date]::-webkit-date-and-time-value{text-align:left}.filter-clear{width:100%}.filter-select,.filter-input{font-size:16px;height:44px}.filter-clear{height:44px}.category-chip{padding:.5rem .875rem;font-size:.875rem}}.kpi-card{display:flex;flex-direction:column;padding:1rem 1.25rem;background:linear-gradient(145deg,#281946fa,#140a28f2,#1e0f37fa);border-radius:16px;border:1px solid rgba(192,132,252,.15);transition:all .3s ease;box-shadow:0 8px 40px #6b21a826,0 0 0 1px #c084fc14,inset 0 1px #ffffff14,inset 0 -1px #00000026;min-width:0;overflow:hidden}.kpi-card:hover{transform:translateY(-3px);border-color:#c084fc59;box-shadow:0 15px 50px #6b21a84d,0 0 0 1px #c084fc33,inset 0 1px #ffffff1f}.kpi-header{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-bottom:.5rem}.kpi-icon{font-size:1.25rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:linear-gradient(135deg,#6b21a84d,#9333ea33);box-shadow:inset 0 1px #ffffff1a;flex-shrink:0}.kpi-card--success .kpi-icon{background:linear-gradient(135deg,#22c55e40,#16a34a26)}.kpi-card--danger .kpi-icon{background:linear-gradient(135deg,#ef444440,#dc262626)}.kpi-card--info .kpi-icon{background:linear-gradient(135deg,#c084fc40,#9333ea26)}.kpi-title{font-size:.8rem;color:#c084fc;font-weight:600;letter-spacing:.02em;text-shadow:0 0 20px rgba(192,132,252,.3);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.kpi-content{display:flex;flex-direction:column;align-items:center;gap:.25rem;width:100%;min-width:0}.kpi-value{font-size:1.6rem;font-weight:700;color:#f8fafc;text-shadow:0 0 30px rgba(255,255,255,.15);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.kpi-card--success .kpi-value{color:#4ade80;text-shadow:0 0 20px rgba(74,222,128,.3)}.kpi-card--danger .kpi-value{color:#f87171;text-shadow:0 0 20px rgba(248,113,113,.3)}.kpi-card--info .kpi-value{color:#d8b4fe;text-shadow:0 0 20px rgba(216,180,254,.3)}.kpi-subtitle{font-size:.7rem;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}@media(max-width:768px){.kpi-card{padding:.875rem 1rem}.kpi-icon{width:32px;height:32px;font-size:1.1rem}.kpi-value{font-size:1.35rem}}.kpi-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem}@media(max-width:640px){.kpi-section{grid-template-columns:1fr}}.chart-container{background:linear-gradient(145deg,#281946fa,#140a28f2,#1e0f37fa);border-radius:16px;padding:1.25rem;border:1px solid rgba(192,132,252,.15);box-shadow:0 8px 40px #6b21a81f,inset 0 1px #ffffff0f;height:100%;display:flex;flex-direction:column}.chart-title{font-size:1rem;font-weight:600;color:#d8b4fe;margin:0 0 1rem;text-shadow:0 0 20px rgba(216,180,254,.3)}.chart-wrapper{width:100%;height:350px;position:relative}.chart-wrapper--donut{min-height:280px}@media(max-width:768px){.chart-wrapper{min-height:200px}.chart-wrapper--donut{min-height:220px}}.table-container{background:linear-gradient(145deg,#281946fa,#140a28f2,#1e0f37fa);border-radius:16px;padding:1.25rem;border:1px solid rgba(192,132,252,.15);box-shadow:0 8px 40px #6b21a81f,inset 0 1px #ffffff0f}.table-title{font-size:1rem;font-weight:600;color:#d8b4fe;margin:0 0 1rem;text-shadow:0 0 20px rgba(216,180,254,.3)}.table-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:.85rem;color:#c4b5fd}.search-highlight{color:#e9d5ff;font-style:italic;text-shadow:0 0 10px rgba(233,213,255,.3)}.table-wrapper{overflow-x:auto;margin-bottom:1rem}.transactions-table{width:100%;border-collapse:collapse;font-size:.875rem}.transactions-table th{text-align:left;padding:.875rem 1rem;background:#05030eb3;color:#c084fc;font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.5px;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-bottom:1px solid rgba(192,132,252,.2)}.transactions-table th:hover{color:#e9d5ff;text-shadow:0 0 15px rgba(233,213,255,.4)}.sort-indicator{margin-left:.5rem;opacity:.4}.sort-indicator.active{opacity:1;color:#d8b4fe}.transactions-table td{padding:.875rem 1rem;border-bottom:1px solid rgba(107,33,168,.15);color:#f1f5f9}.transactions-table tbody tr{transition:background-color .2s ease}.transactions-table tbody tr:hover{background:#6b21a826}.description-cell{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{display:inline-block;padding:.25rem .625rem;border-radius:12px;font-size:.75rem;font-weight:600}.badge-ingreso{background:#22c55e33;color:#4ade80;border:1px solid rgba(74,222,128,.3);text-shadow:0 0 10px rgba(74,222,128,.3)}.badge-gasto{background:#ef444433;color:#f87171;border:1px solid rgba(248,113,113,.3);text-shadow:0 0 10px rgba(248,113,113,.3)}.amount{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.amount-positive{color:#4ade80;text-shadow:0 0 15px rgba(74,222,128,.3)}.amount-negative{color:#f87171;text-shadow:0 0 15px rgba(248,113,113,.3)}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem}.pagination-btn{padding:.5rem .875rem;background:#6b21a833;border:1px solid rgba(192,132,252,.3);border-radius:8px;color:#d8b4fe;font-size:.875rem;cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:#6b21a859;box-shadow:0 0 20px #c084fc33}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-info{padding:0 1rem;color:#c4b5fd;font-size:.875rem}@media(max-width:768px){.table-info{flex-direction:column;gap:.5rem;align-items:flex-start}.transactions-table th,.transactions-table td{padding:.625rem .5rem}.description-cell{max-width:150px}}.projects-list{display:flex;flex-direction:column;gap:1.25rem}.projects-list-header{display:flex;align-items:center;justify-content:space-between}.projects-list-header h2{font-size:1.4rem;color:#f1f5f9}.projects-header-acciones{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.projects-loading,.projects-empty{color:#94a3b8;text-align:center;padding:3rem 1rem}.projects-error{color:#ef4444;background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:8px;padding:.75rem 1rem}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}.project-card{background:#ffffff08;border:1px solid rgba(148,163,184,.15);border-top:3px solid;border-radius:12px;padding:1.25rem;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;display:flex;flex-direction:column;gap:.6rem}.project-card:hover{transform:translateY(-2px);border-color:#9333ea66;box-shadow:0 8px 24px #0000004d}.project-card-header{display:flex;align-items:center;gap:.6rem}.project-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.project-card-header h3{font-size:1.05rem;color:#f1f5f9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.project-card-description{color:#94a3b8;font-size:.85rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-estado{font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid;border-radius:999px;padding:.08rem .4rem;white-space:nowrap;flex-shrink:0}.project-metricas{display:flex;flex-direction:column;gap:.5rem}.project-avance{display:flex;align-items:center;gap:.6rem}.project-avance-pct{font-size:.95rem;font-weight:700;color:#e2e8f0;font-variant-numeric:tabular-nums;min-width:42px}.project-barra{flex:1;height:6px;border-radius:999px;background:#94a3b826;overflow:hidden}.project-barra-fill{height:100%;border-radius:999px;transition:width .35s ease}.project-conteos{display:flex;gap:.75rem;font-size:.75rem;color:#94a3b8;font-variant-numeric:tabular-nums}.project-alertas{display:flex;gap:.35rem;flex-wrap:wrap}.project-alerta{font-size:.68rem;font-weight:600;border-radius:6px;padding:.08rem .4rem}.project-alerta--vencida{color:#fca5a5;background:#ef444424}.project-alerta--proxima{color:#fcd34d;background:#f59e0b24}.project-card-actions{display:flex;justify-content:flex-end;gap:.4rem;margin-top:auto}.icon-button{background:transparent;border:none;cursor:pointer;font-size:.95rem;padding:.3rem .5rem;border-radius:6px;opacity:.75;transition:opacity .15s ease,background .15s ease}.icon-button:hover{opacity:1;background:#ffffff14}.modal-overlay{position:fixed;inset:0;background:#05030ebf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal{width:100%;max-width:460px;max-height:90vh;overflow-y:auto;background:#0f0a24;border:1px solid rgba(147,51,234,.25);border-radius:14px;padding:1.75rem;box-shadow:0 20px 60px #00000080}.modal h2{margin:0 0 1.25rem;font-size:1.15rem;color:#f1f5f9}.modal form{display:flex;flex-direction:column;gap:1rem}.modal label{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;color:#94a3b8}.modal input[type=text],.modal input[type=date],.modal textarea,.modal select{background:#ffffff0a;border:1px solid rgba(148,163,184,.2);border-radius:8px;padding:.6rem .75rem;color:#e2e8f0;font-size:.9rem;font-family:inherit;resize:vertical}.modal input:focus,.modal textarea:focus,.modal select:focus{outline:none;border-color:#9333ea}.modal-group{border:1px solid rgba(148,163,184,.18);border-radius:10px;padding:.85rem;display:flex;flex-direction:column;gap:.7rem;margin:0}.modal-group legend{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#a78bfa;padding:0 .4rem}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:420px){.field-row{grid-template-columns:1fr}}.color-picker{display:flex;flex-direction:column;gap:.5rem;font-size:.85rem;color:#94a3b8}.color-swatches{display:flex;gap:.5rem;flex-wrap:wrap}.color-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer}.color-swatch.selected{border-color:#f1f5f9;transform:scale(1.1)}.modal-error{color:#ef4444;font-size:.85rem;margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.btn-primary,.btn-secondary{padding:.6rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;border:none;transition:transform .15s ease,box-shadow .15s ease}.btn-primary{background:linear-gradient(135deg,#6b21a8,#9333ea);color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 0 20px #9333ea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#ffffff0f;color:#cbd5e1;border:1px solid rgba(148,163,184,.2)}.btn-secondary:hover:not(:disabled){background:#ffffff1a}.projects-table{border:1px solid rgba(148,163,184,.14);border-radius:12px;overflow:hidden;background:#ffffff05}.pt-encabezado,.pt-fila{display:grid;grid-template-columns:minmax(0,2.2fr) 118px 130px 70px 78px 92px 78px 62px;align-items:center;gap:.6rem;padding:.6rem .85rem}.pt-encabezado{font-size:.67rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;border-bottom:1px solid rgba(148,163,184,.12)}.pt-fila{border-bottom:1px solid rgba(148,163,184,.07);cursor:pointer;color:#e2e8f0;font-size:.82rem;transition:background .15s ease}.pt-fila:last-child{border-bottom:none}.pt-fila:hover{background:#9333ea14}.pt-nombre{display:flex;align-items:center;gap:.55rem;min-width:0}.pt-nombre-texto{display:flex;flex-direction:column;min-width:0;font-weight:600}.pt-nombre-texto small{font-weight:400;font-size:.72rem;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pt-avance{display:flex;align-items:center;gap:.45rem}.pt-avance-pct{font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums;min-width:34px}.pt-barra{flex:1;height:5px;border-radius:999px;background:#94a3b826;overflow:hidden}.pt-barra-fill{display:block;height:100%;border-radius:999px;transition:width .35s ease}.pt-num{font-size:.78rem;color:#94a3b8;font-variant-numeric:tabular-nums}.pt-alertas{display:flex;gap:.25rem}.pt-sin-alertas{color:#475569}.pt-acciones{display:flex;gap:.1rem;justify-content:flex-end}@media(max-width:1180px){.pt-encabezado,.pt-fila{grid-template-columns:minmax(0,2fr) 118px 130px 92px 78px 62px}.pt-col-epicas,.pt-col-historias{display:none}}@media(max-width:820px){.pt-encabezado,.pt-fila{grid-template-columns:minmax(0,1fr) 118px 130px 62px}.pt-col-actividades,.pt-col-alertas{display:none}}@media(max-width:620px){.pt-encabezado,.pt-fila{grid-template-columns:minmax(0,1fr) 110px 62px}.pt-col-estado{display:none}}.projects-summary{background:#ffffff06;border:1px solid rgba(148,163,184,.14);border-radius:14px;padding:1.1rem 1.25rem;display:flex;flex-direction:column;gap:1rem}.res-selector{display:flex;align-items:center;gap:.55rem;font-size:.78rem;color:#94a3b8}.res-selector select{background:#ffffff0a;border:1px solid rgba(148,163,184,.22);border-radius:8px;padding:.35rem .65rem;color:#e2e8f0;font-size:.82rem;font-family:inherit;max-width:260px}.res-selector select:focus{outline:none;border-color:#9333ea}.res-cabecera{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:1.5rem;align-items:center}.res-avance-global{display:flex;align-items:center;gap:.9rem}.res-avance-num{font-size:2.2rem;font-weight:700;line-height:1;letter-spacing:-.03em;background:linear-gradient(135deg,#d8b4fe,#9333ea);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-variant-numeric:tabular-nums}.res-avance-texto{display:flex;flex-direction:column;gap:.15rem;font-size:.78rem;color:#94a3b8;min-width:0}.res-avance-texto strong{color:#f1f5f9;font-size:.88rem}.res-vencidas{color:#fca5a5;font-weight:600}.res-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.res-kpi{display:flex;flex-direction:column;gap:.3rem;min-width:0}.res-kpi-etiqueta{font-size:.67rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.res-kpi-valor{display:flex;align-items:baseline;gap:.2rem;font-size:1.05rem;font-weight:700;color:#e2e8f0;font-variant-numeric:tabular-nums}.res-kpi-total{font-size:.8rem;font-weight:500;color:#64748b}.res-kpi-pct{margin-left:auto;font-size:.82rem;font-weight:700}.res-barra{height:5px;border-radius:999px;background:#94a3b826;overflow:hidden}.res-barra-fill{height:100%;border-radius:999px;transition:width .35s ease}.res-controles{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid rgba(148,163,184,.1);padding-top:.9rem}.res-filtros{display:flex;gap:.4rem;flex-wrap:wrap}.res-filtro{display:inline-flex;align-items:center;gap:.35rem;background:transparent;border:1px solid rgba(148,163,184,.2);border-radius:999px;padding:.28rem .7rem;font-size:.76rem;color:#94a3b8;cursor:pointer;transition:all .15s ease}.res-filtro:hover{color:#e2e8f0;border-color:#94a3b866}.res-filtro.active{background:#9333ea2e;border-color:#9333ea8c;color:#f1f5f9}.res-filtro-dot{width:7px;height:7px;border-radius:50%}.res-filtro-count{font-variant-numeric:tabular-nums;opacity:.7}.res-busqueda-orden{display:flex;gap:.5rem;align-items:center}.res-busqueda,.res-busqueda-orden select{background:#ffffff0a;border:1px solid rgba(148,163,184,.2);border-radius:8px;padding:.4rem .7rem;color:#e2e8f0;font-size:.8rem;font-family:inherit}.res-busqueda:focus,.res-busqueda-orden select:focus{outline:none;border-color:#9333ea}.res-busqueda{width:190px}.res-resultado{display:flex;align-items:center;gap:.7rem;font-size:.78rem;color:#64748b;margin:0}.res-limpiar{background:transparent;border:none;color:#c084fc;font-size:inherit;font-family:inherit;cursor:pointer;padding:0}.res-limpiar:hover{text-decoration:underline}@media(max-width:900px){.res-cabecera{grid-template-columns:1fr;gap:1rem}.res-busqueda,.res-busqueda-orden{width:100%}}@media(max-width:560px){.res-kpis{grid-template-columns:1fr;gap:.7rem}}.project-board{display:flex;flex-direction:column;gap:1.25rem}.board-breadcrumb{display:flex;align-items:center;gap:.45rem;font-size:.78rem;margin-bottom:.35rem}.breadcrumb-link{background:transparent;border:none;padding:0;color:#94a3b8;font-size:inherit;font-family:inherit;cursor:pointer;border-radius:4px}.breadcrumb-link:hover{color:#c084fc;text-decoration:underline}.breadcrumb-sep{color:#475569}.breadcrumb-actual{color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-toolbar{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap}.board-toolbar-title{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:.55rem;flex:1 1 280px;min-width:0}.board-toolbar-title h2{font-size:1.45rem;color:#f1f5f9;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-toolbar-desc{grid-column:2;margin:.15rem 0 0;font-size:.8rem;color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-toolbar-actions{display:flex;align-items:center;gap:.6rem;padding-top:.15rem}.board-vista-barra{display:flex;align-items:center;justify-content:flex-end;gap:.7rem;flex-wrap:wrap;margin-top:-.35rem}.board-vista-controles{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.view-switch{display:inline-flex;background:#ffffff0a;border:1px solid rgba(148,163,184,.2);border-radius:10px;padding:2px;gap:2px}.view-switch-item{background:transparent;border:none;border-radius:8px;padding:.38rem .7rem;font-size:.78rem;font-weight:600;color:#94a3b8;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}.view-switch-item:hover{color:#e2e8f0}.view-switch-item.active{background:linear-gradient(135deg,#6b21a8,#9333ea);color:#fff}.board-vista-controles select{background:#ffffff0a;border:1px solid rgba(148,163,184,.2);border-radius:8px;padding:.5rem .75rem;color:#e2e8f0;font-size:.85rem}.board-columns{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.85rem;align-items:start}.board-column{background:#ffffff05;border:1px solid rgba(148,163,184,.12);border-radius:12px;padding:.85rem;display:flex;flex-direction:column;gap:.75rem;min-height:200px}.board-column-header{display:flex;align-items:center;gap:.5rem}.board-column-header h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;flex:1}.board-column-count{background:#ffffff14;border-radius:999px;padding:.1rem .55rem;font-size:.75rem;color:#cbd5e1}.board-column-add{font-size:1rem;line-height:1}.board-column-body{display:flex;flex-direction:column;gap:.6rem;min-height:60px}.board-column-empty{color:#475569;font-size:.8rem;text-align:center;padding:1.5rem .5rem;border:1px dashed rgba(148,163,184,.15);border-radius:8px}.task-card{background:#0f0a24;border:1px solid rgba(148,163,184,.15);border-radius:10px;padding:.75rem;cursor:grab;display:flex;flex-direction:column;gap:.5rem;touch-action:none}.task-card:active{cursor:grabbing}.task-card--vencida{border-color:#ef444480;box-shadow:inset 3px 0 #ef4444}.task-card-top{display:flex;align-items:center;gap:.4rem}.task-number{font-size:.72rem;font-weight:700;color:#94a3b8;font-variant-numeric:tabular-nums}.task-card-top .task-card-actions{margin-left:auto}.task-assignee{font-size:.72rem;color:#cbd5e1;background:#ffffff0f;border-radius:6px;padding:.12rem .45rem;align-self:flex-start;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-dates{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.task-date-range{font-size:.7rem;color:#94a3b8;font-variant-numeric:tabular-nums}.task-due-chip{display:inline-flex;align-items:center;gap:.3rem;font-size:.68rem;font-weight:600;border:1px solid;border-radius:999px;padding:.08rem .45rem}.task-due-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.task-priority-badge{font-size:.7rem;font-weight:600;color:#fff;padding:.15rem .5rem;border-radius:999px}.task-card-actions{display:flex;gap:.2rem}.task-card-title{font-size:.88rem;color:#e2e8f0;line-height:1.4}.task-sprint-tag{align-self:flex-start;font-size:.7rem;color:#a78bfa;background:#9333ea1f;border-radius:6px;padding:.1rem .45rem}@media(max-width:1400px){.board-columns{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1024px){.board-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.board-columns{grid-template-columns:1fr}.board-toolbar{flex-direction:column;align-items:stretch}.board-toolbar-actions{flex-wrap:wrap}.board-vista-barra{justify-content:flex-start;margin-top:0}}.accordion-view{display:flex;flex-direction:column;gap:.6rem}.acc-vacio{color:#64748b;text-align:center;padding:3rem 1rem}.acc-epica{border:1px solid rgba(148,163,184,.14);border-radius:12px;overflow:hidden;background:#ffffff05}.acc-head{width:100%;display:flex;align-items:center;gap:.6rem;padding:.7rem .9rem;background:transparent;border:none;cursor:pointer;color:#e2e8f0;text-align:left;font-size:.88rem}.acc-head:hover{background:#ffffff09}.acc-head--historia{padding-left:2rem;font-size:.83rem;border-top:1px solid rgba(148,163,184,.08)}.acc-caret{display:inline-block;transition:transform .15s ease;color:#94a3b8;font-size:.7rem}.acc-caret.abierto{transform:rotate(90deg)}.acc-tipo{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff;padding:.1rem .45rem;border-radius:999px;white-space:nowrap}.acc-tipo--historia{background:#94a3b840;color:#cbd5e1}.acc-nombre{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.acc-conteo{background:#ffffff14;border-radius:999px;padding:.05rem .5rem;font-size:.72rem;color:#cbd5e1;font-variant-numeric:tabular-nums}.acc-semaforo{display:inline-flex;gap:.35rem}.acc-chip{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums}.acc-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.acc-tareas{list-style:none;margin:0;padding:0 .6rem .6rem 3rem;display:flex;flex-direction:column;gap:.25rem}.acc-tarea{display:flex;align-items:center;gap:.6rem;padding:.45rem .6rem;background:#05030e73;border:1px solid rgba(148,163,184,.1);border-radius:8px;font-size:.8rem}.acc-tarea-num{color:#94a3b8;font-weight:700;font-size:.72rem;font-variant-numeric:tabular-nums}.acc-tarea-titulo{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acc-tarea-estado{font-size:.7rem;color:#a78bfa;background:#9333ea24;border-radius:6px;padding:.05rem .4rem;white-space:nowrap}.acc-tarea-resp,.acc-tarea-due{font-size:.72rem;color:#94a3b8;white-space:nowrap}.acc-tarea-acciones{display:flex;gap:.15rem}@media(max-width:768px){.acc-tareas{padding-left:1.2rem}.acc-tarea-resp,.acc-tarea-estado{display:none}}.task-detail{background:#ffffff08;border:1px solid rgba(148,163,184,.16);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.7rem}.task-detail--fijo{border-color:#9333ea66;background:#9333ea0f}.detalle-cabecera{display:flex;align-items:center;justify-content:space-between}.detalle-num{font-size:.72rem;font-weight:700;color:#94a3b8;font-variant-numeric:tabular-nums}.detalle-cerrar{font-size:.8rem}.detalle-titulo{font-size:1.02rem;line-height:1.35;color:#f1f5f9;margin:0}.detalle-semaforo{align-self:flex-start;display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:600;border:1px solid;border-radius:999px;padding:.1rem .5rem}.detalle-semaforo-dot{width:6px;height:6px;border-radius:50%}.detalle-descripcion{font-size:.82rem;color:#cbd5e1;line-height:1.5;margin:0;white-space:pre-wrap}.detalle-datos{display:flex;flex-direction:column;gap:.45rem;border-top:1px solid rgba(148,163,184,.12);padding-top:.7rem}.detalle-dato{display:grid;grid-template-columns:118px minmax(0,1fr);gap:.5rem;align-items:baseline}.detalle-etiqueta{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.detalle-valor{font-size:.8rem;color:#e2e8f0;display:flex;align-items:center;gap:.4rem;min-width:0;overflow:hidden;text-overflow:ellipsis}.detalle-punto{width:8px;height:8px;border-radius:50%;flex-shrink:0}.detalle-rol{font-size:.68rem;color:#a78bfa;background:#9333ea24;border-radius:5px;padding:.05rem .35rem;margin-left:.35rem}.detalle-vacio{color:#475569;font-style:italic}.detalle-acciones{display:flex;gap:.5rem;border-top:1px solid rgba(148,163,184,.12);padding-top:.7rem}.detalle-acciones .btn-secondary{flex:1;font-size:.8rem;padding:.45rem .6rem}.detalle-borrar:hover{color:#fca5a5;border-color:#ef444466}.detalle-hint{font-size:.7rem;color:#475569;text-align:center;margin:0}.list-view{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1rem;align-items:start}.lista-vacia{color:#64748b;text-align:center;padding:3rem 1rem}.lista-tabla{border:1px solid rgba(148,163,184,.14);border-radius:12px;overflow:hidden;background:#ffffff05}.lista-encabezado,.lista-fila{display:grid;grid-template-columns:56px minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) 110px 130px 140px;align-items:center;gap:.5rem;padding:.55rem .8rem;text-align:left}.lista-encabezado{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;border-bottom:1px solid rgba(148,163,184,.12)}.lista-fila{width:100%;background:transparent;border:none;border-bottom:1px solid rgba(148,163,184,.07);color:#e2e8f0;font-size:.82rem;cursor:pointer}.lista-fila:hover{background:#9333ea14}.lista-fila.activa{background:#9333ea29;box-shadow:inset 3px 0 #9333ea}.lista-num{color:#94a3b8;font-weight:700;font-size:.72rem;font-variant-numeric:tabular-nums}.lista-titulo{display:flex;align-items:center;gap:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lista-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.lista-estado{font-size:.7rem;color:#a78bfa;background:#9333ea24;border-radius:6px;padding:.08rem .4rem;justify-self:start;white-space:nowrap}.lista-resp,.lista-due{font-size:.75rem;color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lista-panel{position:sticky;top:1rem}.lista-panel-vacio{border:1px dashed rgba(148,163,184,.2);border-radius:12px;padding:2rem 1.2rem;text-align:center;color:#64748b;font-size:.85rem}.lista-panel-hint{font-size:.75rem;color:#475569;margin-top:.5rem}@media(max-width:1100px){.list-view{grid-template-columns:1fr}.lista-panel{position:static}}.lista-clasif{font-size:.75rem;color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1280px){.lista-encabezado,.lista-fila{grid-template-columns:56px minmax(0,1.6fr) minmax(0,1fr) 110px 130px 140px}.lista-col-historia{display:none}}@media(max-width:1050px){.lista-encabezado,.lista-fila{grid-template-columns:56px minmax(0,1fr) 110px 130px 140px}.lista-col-epica{display:none}}@media(max-width:768px){.lista-encabezado,.lista-fila{grid-template-columns:46px minmax(0,1fr) 120px}.lista-encabezado span:nth-child(5),.lista-fila .lista-estado,.lista-encabezado span:nth-child(6),.lista-fila .lista-resp{display:none}}.bell-wrap{position:relative}.bell-button{position:relative;background:#ffffff0a;border:1px solid rgba(148,163,184,.2);border-radius:10px;padding:.45rem .6rem;cursor:pointer;line-height:1;transition:border-color .15s ease,background .15s ease}.bell-button:hover{background:#ffffff14;border-color:#9333ea66}.bell-button--critica{border-color:#ef444466}.bell-icon{font-size:1rem}.bell-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#f59e0b;color:#1a1005;font-size:.68rem;font-weight:700;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}.bell-badge--critica{background:#ef4444;color:#fff}.bell-panel{position:absolute;top:calc(100% + .5rem);right:0;width:min(420px,calc(100vw - 2rem));background:#0f0a24;border:1px solid rgba(147,51,234,.28);border-radius:12px;box-shadow:0 20px 50px #0000008c;z-index:60;overflow:hidden}.bell-panel-head{display:flex;align-items:baseline;gap:.4rem;padding:.8rem .9rem .5rem;font-size:.9rem;color:#f1f5f9}.bell-panel-sub{font-size:.72rem;color:#64748b}.bell-tabs{display:flex;gap:.35rem;padding:0 .6rem .6rem;border-bottom:1px solid rgba(148,163,184,.12)}.bell-tab{display:inline-flex;align-items:center;gap:.35rem;background:transparent;border:1px solid rgba(148,163,184,.18);border-radius:999px;padding:.25rem .6rem;font-size:.75rem;color:#94a3b8;cursor:pointer}.bell-tab:hover{color:#e2e8f0}.bell-tab.active{background:#9333ea2e;border-color:#9333ea80;color:#f1f5f9}.bell-tab-dot{width:6px;height:6px;border-radius:50%}.bell-tab-count{font-variant-numeric:tabular-nums;opacity:.75}.bell-empty{padding:1.4rem 1rem;text-align:center;color:#64748b;font-size:.85rem;margin:0}.bell-list{list-style:none;margin:0;padding:.4rem;display:flex;flex-direction:column;gap:.25rem;max-height:320px;overflow-y:auto}.bell-item{width:100%;display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;text-align:left;color:#e2e8f0}.bell-item:hover{background:#ffffff0a;border-color:#9333ea4d}.bell-item-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.bell-item-body{flex:1;display:flex;flex-direction:column;gap:.1rem;min-width:0}.bell-item-title{font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bell-item-ctx{font-size:.7rem;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bell-item-due{font-size:.72rem;font-weight:600;white-space:nowrap}.modal--ancho{max-width:620px}.clas-ayuda{font-size:.78rem;color:#64748b;margin:-.6rem 0 0}.clas-lista{display:flex;flex-direction:column;gap:.6rem;max-height:46vh;overflow-y:auto;margin:1rem 0}.clas-vacio{color:#64748b;font-size:.85rem;text-align:center;padding:1.5rem 0}.clas-grupo{border:1px solid rgba(148,163,184,.14);border-radius:10px;overflow:hidden}.clas-fila{display:flex;align-items:center;gap:.55rem;padding:.5rem .7rem;font-size:.83rem}.clas-fila--epica{background:#ffffff08}.clas-fila--historia{padding-left:1.8rem;border-top:1px solid rgba(148,163,184,.08)}.clas-tipo{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff;padding:.08rem .4rem;border-radius:999px;white-space:nowrap}.clas-tipo--historia{background:#94a3b840;color:#cbd5e1}.clas-nombre{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e2e8f0}.clas-nombre--suelto{color:#64748b;font-style:italic}.clas-input{flex:1;background:#ffffff0d;border:1px solid rgba(147,51,234,.4);border-radius:6px;padding:.3rem .5rem;color:#e2e8f0;font-size:.83rem;font-family:inherit;min-width:0}.clas-input:focus{outline:none;border-color:#9333ea}.clas-conteo{font-size:.7rem;color:#64748b;white-space:nowrap;font-variant-numeric:tabular-nums}.clas-acciones{display:flex;gap:.1rem;flex-shrink:0}.clas-agregar{width:100%;background:transparent;border:none;border-top:1px dashed rgba(148,163,184,.14);color:#64748b;font-size:.76rem;padding:.4rem .7rem .4rem 1.8rem;text-align:left;cursor:pointer}.clas-agregar:hover{color:#c084fc;background:#9333ea0f}.equipo-avatar{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#6b21a8,#9333ea);color:#fff;font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.equipo-rol{font-size:.7rem;color:#a78bfa;background:#9333ea24;border-radius:6px;padding:.08rem .45rem;white-space:nowrap}.equipo-rol-input{max-width:150px}.equipo-nuevo{display:flex;gap:.5rem;align-items:center;border-top:1px solid rgba(148,163,184,.12);padding-top:.85rem}.equipo-nuevo .clas-input{border-color:#94a3b833}@media(max-width:520px){.equipo-nuevo{flex-wrap:wrap}.equipo-rol-input{max-width:none}}.clas-nueva-epica{display:flex;gap:.5rem;align-items:center;border-top:1px solid rgba(148,163,184,.12);padding-top:.85rem}.clas-nueva-epica .clas-input{border-color:#94a3b833}.records-view{display:flex;flex-direction:column;gap:.6rem}.rec-scroll{overflow-x:auto;border:1px solid rgba(148,163,184,.14);border-radius:12px;background:#ffffff05}.rec-tabla{min-width:1180px}.rec-encabezado,.rec-fila{display:grid;grid-template-columns:52px minmax(220px,1.6fr) 150px 170px 140px 120px 105px 130px 130px 46px;align-items:center;gap:.4rem;padding:.35rem .6rem}.rec-encabezado{font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;border-bottom:1px solid rgba(148,163,184,.14);padding-top:.55rem;padding-bottom:.55rem}.rec-fila{border-bottom:1px solid rgba(148,163,184,.06)}.rec-fila:hover{background:#9333ea0d}.rec-fila--nueva{background:#9333ea12;border-bottom:none}.rec-num{font-size:.72rem;font-weight:700;color:#94a3b8;font-variant-numeric:tabular-nums}.rec-input,.rec-select{width:100%;background:transparent;border:1px solid transparent;border-radius:6px;padding:.32rem .4rem;color:#e2e8f0;font-size:.8rem;font-family:inherit;min-width:0}.rec-input:hover,.rec-select:hover{border-color:#94a3b838;background:#ffffff08}.rec-input:focus,.rec-select:focus{outline:none;border-color:#9333ea;background:#9333ea1a}.rec-input.guardando{border-color:#10b98199}.rec-fecha{font-variant-numeric:tabular-nums;font-size:.75rem}.rec-select option{background:#0f0a24}.rec-acciones{display:flex;justify-content:center}.rec-agregar{background:linear-gradient(135deg,#6b21a8,#9333ea);border:none;border-radius:6px;color:#fff;width:26px;height:26px;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center}.rec-agregar:disabled{opacity:.4;cursor:not-allowed}.rec-ayuda{font-size:.73rem;color:#64748b;margin:0}.rec-acciones-barra{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.rec-acciones-barra .btn-secondary{font-size:.8rem;padding:.42rem .8rem}.rec-archivo{display:none}.rec-ayuda-import{font-size:.72rem;color:#64748b;flex:1;min-width:200px}.rec-aviso{margin:0;padding:.55rem .85rem;border-radius:8px;font-size:.82rem;color:#6ee7b7;background:#10b9811a;border:1px solid rgba(16,185,129,.28)}.hover-preview{position:fixed;z-index:200;pointer-events:none;animation:hover-preview-in .12s ease-out}.hover-preview .task-detail{max-height:400px;overflow-y:auto;background:#0f0a24;border-color:#9333ea73;box-shadow:0 18px 45px #0009}.hover-preview .detalle-hint{display:none}@keyframes hover-preview-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.hover-preview{animation:none}}.team-view{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:1rem;align-items:start}.eq-vacio{text-align:center;padding:3rem 1rem;color:#64748b;display:flex;flex-direction:column;align-items:center;gap:1rem}.eq-lista{border:1px solid rgba(148,163,184,.14);border-radius:12px;overflow:hidden;background:#ffffff05}.eq-lista-cabecera{display:flex;align-items:center;justify-content:space-between;padding:.7rem .85rem;border-bottom:1px solid rgba(148,163,184,.12)}.eq-lista-cabecera h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.eq-gestionar{font-size:.72rem;padding:.25rem .6rem}.eq-fila{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) 86px;align-items:center;gap:.6rem;padding:.65rem .85rem;background:transparent;border:none;border-bottom:1px solid rgba(148,163,184,.07);cursor:pointer;text-align:left;color:#e2e8f0}.eq-fila:last-child{border-bottom:none}.eq-fila:hover{background:#9333ea12}.eq-fila.activa{background:#9333ea26;box-shadow:inset 3px 0 #9333ea}.eq-fila--vacante .eq-fila-nombre{color:#94a3b8;font-style:italic}.eq-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#6b21a8,#9333ea);color:#fff;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eq-avatar--vacante{background:#94a3b840;color:#cbd5e1}.eq-fila-datos{display:flex;flex-direction:column;gap:.15rem;min-width:0}.eq-fila-nombre{display:flex;align-items:center;gap:.4rem;font-size:.88rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eq-rol{font-size:.66rem;font-weight:500;color:#a78bfa;background:#9333ea24;border-radius:5px;padding:.05rem .35rem;white-space:nowrap}.eq-fila-meta{font-size:.72rem;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eq-alerta{font-weight:600}.eq-fila-avance{display:flex;flex-direction:column;gap:.25rem;align-items:flex-end}.eq-pct{font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums;color:#cbd5e1}.eq-barra{width:100%;height:5px;border-radius:999px;background:#94a3b826;overflow:hidden}.eq-barra-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#6b21a8,#9333ea);transition:width .35s ease}.eq-detalle{border:1px solid rgba(148,163,184,.16);border-radius:12px;background:#ffffff05;padding:1.1rem;display:flex;flex-direction:column;gap:.8rem}.eq-detalle-cabecera{display:flex;align-items:center;gap:.75rem}.eq-detalle-cabecera .eq-avatar{width:42px;height:42px;font-size:1.1rem}.eq-detalle-titulo h3{font-size:1.15rem;color:#f1f5f9}.eq-detalle-titulo span{font-size:.78rem;color:#94a3b8}.eq-indicadores{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}.eq-indicador{background:#05030e66;border:1px solid rgba(148,163,184,.12);border-radius:10px;padding:.6rem;display:flex;flex-direction:column;gap:.15rem;align-items:center}.eq-indicador-num{font-size:1.35rem;font-weight:700;line-height:1;color:#e2e8f0;font-variant-numeric:tabular-nums}.eq-indicador-etq{font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;text-align:center}.eq-avance-total{display:flex;align-items:baseline;justify-content:space-between;font-size:.8rem;color:#94a3b8}.eq-avance-total strong{font-size:1rem;color:#f1f5f9;font-variant-numeric:tabular-nums}.eq-subtitulo{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;border-top:1px solid rgba(148,163,184,.12);padding-top:.8rem;margin:.2rem 0 0}.eq-sin-tareas{color:#475569;font-size:.85rem;text-align:center;padding:1.5rem 0;margin:0}.eq-tareas{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem;max-height:360px;overflow-y:auto}.eq-tarea{width:100%;display:flex;align-items:center;gap:.6rem;padding:.5rem .65rem;background:#05030e59;border:1px solid rgba(148,163,184,.1);border-radius:8px;cursor:pointer;text-align:left;color:#e2e8f0;font-size:.82rem}.eq-tarea:hover{border-color:#9333ea66;background:#9333ea14}.eq-tarea-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.eq-tarea-cuerpo{flex:1;display:flex;flex-direction:column;gap:.1rem;min-width:0}.eq-tarea-titulo{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eq-tarea-ctx{font-size:.7rem;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eq-tarea-estado{font-size:.7rem;color:#a78bfa;background:#9333ea24;border-radius:6px;padding:.05rem .4rem;white-space:nowrap}.eq-tarea-due{font-size:.72rem;font-weight:600;white-space:nowrap}@media(max-width:1000px){.team-view{grid-template-columns:1fr}}@media(max-width:620px){.eq-indicadores{grid-template-columns:repeat(2,minmax(0,1fr))}.eq-tarea-estado{display:none}}.gantt-view{display:flex;flex-direction:column;gap:.7rem}.gantt-vacio{color:#64748b;text-align:center;padding:3rem 1rem}.gantt-barra{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.gantt-hoy-btn{font-size:.78rem;padding:.38rem .75rem}.gantt-leyenda{font-size:.75rem;color:#64748b;margin-left:auto}.gantt-marco{display:grid;grid-template-columns:260px minmax(0,1fr);border:1px solid rgba(148,163,184,.14);border-radius:12px;overflow:hidden;background:#ffffff05}.gantt-nombres{border-right:1px solid rgba(148,163,184,.16);background:#05030e59}.gantt-nombres-cabecera,.gantt-cabecera{height:42px}.gantt-nombres-cabecera{display:flex;align-items:center;padding:0 .8rem;font-size:.67rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;border-bottom:1px solid rgba(148,163,184,.16)}.gantt-nombre{height:38px;width:100%;display:flex;align-items:center;gap:.5rem;padding:0 .8rem;background:transparent;border:none;border-bottom:1px solid rgba(148,163,184,.07);cursor:pointer;text-align:left;color:#e2e8f0;font-size:.8rem}.gantt-nombre:hover{background:#9333ea14}.gantt-nombre-num{font-size:.7rem;font-weight:700;color:#94a3b8;font-variant-numeric:tabular-nums;flex-shrink:0}.gantt-nombre-texto{display:flex;flex-direction:column;min-width:0;line-height:1.2}.gantt-nombre-texto small{font-size:.68rem;color:#64748b}.gantt-nombre-texto,.gantt-nombre-texto small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-scroll{overflow-x:auto;overflow-y:hidden}.gantt-lienzo{position:relative;min-width:100%}.gantt-cabecera{position:relative;border-bottom:1px solid rgba(148,163,184,.16)}.gantt-col{position:absolute;top:0;height:100%;display:flex;align-items:center;justify-content:center;font-size:.68rem;color:#94a3b8;border-left:1px solid rgba(148,163,184,.08);font-variant-numeric:tabular-nums;overflow:hidden;white-space:nowrap}.gantt-col--finde{background:#94a3b80d;color:#64748b}.gantt-filas{position:relative}.gantt-guia{position:absolute;top:0;height:100%;border-left:1px solid rgba(148,163,184,.06);pointer-events:none}.gantt-guia--finde{background:#94a3b80a}.gantt-hoy{position:absolute;top:0;height:100%;width:2px;background:#c084fc;z-index:2;pointer-events:none}.gantt-hoy-etq{position:absolute;top:2px;left:50%;transform:translate(-50%);background:#9333ea;color:#fff;font-size:.6rem;font-weight:700;padding:.05rem .3rem;border-radius:4px;white-space:nowrap}.gantt-fila{position:relative;height:38px;border-bottom:1px solid rgba(148,163,184,.07)}.gantt-barra-tarea{position:absolute;top:7px;height:24px;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;padding:0 .45rem;overflow:hidden;z-index:1;transition:filter .15s ease,transform .15s ease}.gantt-barra-tarea:hover{filter:brightness(1.15);transform:translateY(-1px)}.gantt-barra-tarea.completada{opacity:.45}.gantt-barra-tarea.hito{border-radius:50%;padding:0}.gantt-barra-tarea.hito .gantt-barra-texto{display:none}.gantt-barra-texto{font-size:.7rem;font-weight:600;color:#05030ee6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-sin-fechas{margin:0;font-size:.76rem;color:#94a3b8;background:#f59e0b14;border:1px solid rgba(245,158,11,.22);border-radius:8px;padding:.5rem .8rem}@media(max-width:768px){.gantt-marco{grid-template-columns:150px minmax(0,1fr)}.gantt-nombre-texto small{display:none}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:radial-gradient(ellipse at 20% 0%,rgba(107,33,168,.15) 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(147,51,234,.12) 0%,transparent 50%),linear-gradient(180deg,#05030e,#11081f,#05030e);padding:2rem;position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(192,132,252,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(192,132,252,.03) 1px,transparent 1px);background-size:60px 60px;pointer-events:none}.login-container:after{content:"";position:absolute;width:400px;height:400px;background:radial-gradient(circle,rgba(107,33,168,.12) 0%,transparent 70%);top:-100px;right:-100px;border-radius:50%;animation:float 8s ease-in-out infinite;pointer-events:none}@keyframes float{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(-30px,30px) rotate(180deg)}}.login-card{background:linear-gradient(145deg,#281946fa,#140a28f2,#1e0f37fa);padding:3rem;border-radius:24px;box-shadow:0 25px 60px #6b21a840,0 0 0 1px #c084fc26,inset 0 1px #ffffff1a,inset 0 -1px #0003;border:1px solid rgba(192,132,252,.2);width:100%;max-width:420px;color:#fff;position:relative;z-index:1;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.login-card:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:60%;height:3px;background:linear-gradient(90deg,transparent 0%,rgba(192,132,252,.8) 20%,rgba(147,51,234,.8) 50%,rgba(192,132,252,.8) 80%,transparent 100%);border-radius:0 0 4px 4px}.login-header{text-align:center;margin-bottom:2.5rem}.login-logo{width:220px;height:70px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center}.login-logo img{width:100%;height:100%;object-fit:contain}.login-card h2{margin:0 0 .5rem;font-size:1.75rem;font-weight:700;background:linear-gradient(135deg,#fff,#e2e8f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em;text-shadow:0 0 40px rgba(255,255,255,.1)}.login-subtitle{color:#94a3b8;font-size:.875rem;margin:0;letter-spacing:.02em}.form-group{margin-bottom:1.5rem;position:relative}.form-group label{display:block;margin-bottom:.5rem;color:#c084fc;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.input-wrapper{position:relative}.input-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#64748b;font-size:1.1rem;pointer-events:none;transition:color .2s}.form-group input{width:100%;padding:1rem 1rem 1rem 3rem;border-radius:12px;border:1px solid rgba(107,33,168,.3);background:linear-gradient(135deg,#05030ecc,#11081f99);color:#f1f5f9;font-size:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-sizing:border-box}.form-group input.has-toggle{padding-right:3rem}.form-group input::placeholder{color:#475569}.password-toggle{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:.5rem;font-size:1.1rem;line-height:1;border-radius:8px;transition:background .2s,color .2s,transform .1s;display:flex;align-items:center;justify-content:center}.password-toggle:hover:not(:disabled){background:#c084fc1f;color:#c084fc}.password-toggle:active:not(:disabled){transform:translateY(-50%) scale(.92)}.password-toggle:focus-visible{outline:2px solid rgba(192,132,252,.6);outline-offset:2px}.password-toggle:disabled{opacity:.4;cursor:not-allowed}.form-group input:focus{outline:none;border-color:#9333ea99;box-shadow:0 0 0 3px #6b21a826,0 4px 12px #0003;background:linear-gradient(135deg,#05030ef2,#11081fcc)}.form-group input:focus+.input-icon,.form-group input:not(:placeholder-shown)+.input-icon{color:#c084fc}.error-message{color:#f87171;text-align:center;margin-bottom:1.25rem;font-size:.875rem;padding:.75rem 1rem;background:#ef44441a;border-radius:8px;border:1px solid rgba(239,68,68,.2)}.login-notice{color:#fbbf24;text-align:center;margin-bottom:1.25rem;font-size:.875rem;padding:.75rem 1rem;background:#fbbf241a;border-radius:8px;border:1px solid rgba(251,191,36,.2)}.login-button{width:100%;padding:1rem 1.5rem;border-radius:12px;border:none;background:linear-gradient(135deg,#6b21a8,#9333ea);color:#fff;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;letter-spacing:.02em}.login-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%);transition:left .5s ease}.login-button:hover{transform:translateY(-2px);box-shadow:0 0 30px #6b21a880,0 0 60px #6b21a84d}.login-button:hover:before{left:100%}.login-button:active{transform:translateY(0)}.login-footer{margin-top:2rem;text-align:center;padding-top:1.5rem;border-top:1px solid rgba(107,33,168,.2)}.login-footer p{color:#64748b;font-size:.75rem;margin:0;display:flex;align-items:center;justify-content:center;gap:.5rem}.login-footer .secure-icon{color:#22c55e}@media(max-width:480px){.login-card{padding:2rem;border-radius:20px}.login-logo{width:120px;height:40px}.login-card h2{font-size:1.5rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;background:radial-gradient(ellipse at 20% 0%,rgba(107,33,168,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(147,51,234,.06) 0%,transparent 50%),#05030e;min-height:100vh;color:#e2e8f0;line-height:1.6}#root{min-height:100vh}.dashboard{max-width:1400px;margin:0 auto;padding:1.5rem}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1.5rem;color:#94a3b8}.loading-spinner{width:48px;height:48px;border:3px solid rgba(107,33,168,.2);border-top-color:#9333ea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.refresh-error-banner{margin:0 0 1rem;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;color:#fbbf24;background:#fbbf241a;border:1px solid rgba(251,191,36,.25);text-align:center}.error-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem;text-align:center;padding:2rem}.error-icon{font-size:4rem}.error-screen h2{color:#ef4444;font-size:1.5rem}.error-screen p{color:#94a3b8;max-width:400px}.error-screen button{margin-top:1rem;padding:.75rem 2rem;background:linear-gradient(135deg,#6b21a8,#9333ea);border:none;border-radius:8px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.error-screen button:hover{transform:translateY(-2px);box-shadow:0 0 30px #6b21a880}.charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:1.5rem}.chart-item--wide{grid-column:span 2}.table-section{margin-bottom:2rem}@media(max-width:1024px){.charts-grid{grid-template-columns:1fr}.chart-item--wide{grid-column:span 1}}@media(max-width:640px){.dashboard{padding:1rem}}:focus-visible{outline:2px solid #9333EA;outline-offset:2px}
