:root{--bg-base: #09091a;--bg-surface: #0e0e22;--bg-card: rgba(255, 255, 255, .035);--bg-card-hover: rgba(255, 255, 255, .058);--bg-modal: rgba(12, 12, 28, .96);--bg-overlay: rgba(0, 0, 0, .7);--border: rgba(255, 255, 255, .07);--border-hover: rgba(255, 255, 255, .15);--border-focus: rgba(167, 139, 250, .5);--text-primary: #eeeeff;--text-secondary: rgba(238, 238, 255, .55);--text-muted: rgba(238, 238, 255, .28);--text-inverse: #09091a;--cat-gerencial: #fd7b5b;--cat-proyecto: #5b9ffd;--cat-sistema: #a78bfa;--cat-equipo: #34d399;--cat-inversion: #fbbf24;--cat-personal: #f472b6;--status-complete: #34d399;--status-skip: rgba(238, 238, 255, .3);--status-pending: var(--text-primary);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-card: 0 2px 20px rgba(0, 0, 0, .4);--shadow-modal: 0 24px 64px rgba(0, 0, 0, .7);--shadow-ai: 0 8px 40px rgba(167, 139, 250, .2);--transition: .22s cubic-bezier(.4, 0, .2, 1);--transition-fast: .12s ease;--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-base);color:var(--text-primary);line-height:1.5;min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 40% at 20% 10%,rgba(167,139,250,.06) 0%,transparent 60%),radial-gradient(ellipse 50% 30% at 80% 80%,rgba(91,159,253,.05) 0%,transparent 60%),radial-gradient(ellipse 40% 25% at 50% 50%,rgba(253,123,91,.03) 0%,transparent 70%);pointer-events:none;z-index:0}#root{position:relative;z-index:1;min-height:100dvh}h1,h2,h3,h4{font-weight:700;line-height:1.25;letter-spacing:-.02em}p{line-height:1.6}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}.mono{font-family:JetBrains Mono,monospace}.truncate{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:10px 18px;border-radius:var(--radius-md);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all var(--transition);white-space:nowrap;-webkit-user-select:none;user-select:none;outline:none;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.96)}.btn-primary{background:linear-gradient(135deg,#a78bfa,#818cf8);color:#fff;box-shadow:0 4px 16px #a78bfa59}.btn-primary:hover{box-shadow:0 6px 24px #a78bfa80;transform:translateY(-1px)}.btn-ghost{background:var(--bg-card);color:var(--text-secondary);border-color:var(--border)}.btn-ghost:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border-hover)}.btn-danger{background:#ef44441f;color:#f87171;border-color:#ef444433}.btn-danger:hover{background:#ef444433}.btn-success{background:#34d3991f;color:#34d399;border-color:#34d39940}.btn-success:hover{background:#34d39938}.btn-icon{width:36px;height:36px;padding:0;font-size:16px;border-radius:var(--radius-sm)}.btn-sm{padding:7px 14px;font-size:12px;border-radius:var(--radius-sm)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.chip:hover{border-color:var(--border-hover);color:var(--text-primary)}.chip.active{color:var(--text-primary);border-color:currentColor}.glass{background:var(--bg-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius-lg)}.input,.textarea{width:100%;background:#ffffff0a;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:14px;padding:10px 14px;outline:none;transition:border-color var(--transition-fast);resize:vertical}.input:focus,.textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #a78bfa1a}.input::placeholder,.textarea::placeholder{color:var(--text-muted)}select.input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}label{font-size:12px;font-weight:600;color:var(--text-secondary);display:block;margin-bottom:6px;letter-spacing:.04em;text-transform:uppercase}.progress-bar-wrap{width:100%;height:6px;background:#ffffff14;border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;border-radius:var(--radius-full);background:linear-gradient(90deg,#a78bfa,#818cf8,#5b9ffd);transition:width .6s cubic-bezier(.4,0,.2,1);position:relative}.progress-bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes completedSlide{0%{opacity:1;transform:translate(0) scale(1)}50%{opacity:.8;transform:translate(4px) scale(.99)}to{opacity:0;transform:translate(-20px) scale(.97);max-height:0;margin-bottom:0}}.animate-in{animation:fadeIn .3s ease both}.animate-scale{animation:fadeInScale .25s ease both}.app-layout{display:flex;flex-direction:column;min-height:100dvh;max-width:640px;margin:0 auto;padding:0 var(--space-md)}@media (min-width: 768px){.app-layout{padding:0 var(--space-xl)}}.header{padding:var(--space-lg) 0 var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}.header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md)}.header-brand{display:flex;flex-direction:column;gap:2px}.header-logo{font-size:18px;font-weight:800;letter-spacing:-.04em;background:linear-gradient(135deg,#a78bfa,#818cf8,#5b9ffd);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1}.header-date{font-size:13px;color:var(--text-secondary);font-weight:400}.header-actions{display:flex;gap:var(--space-sm);align-items:center;flex-shrink:0}.header-progress{display:flex;flex-direction:column;gap:6px}.progress-label{display:flex;justify-content:space-between;align-items:center}.progress-text{font-size:12px;color:var(--text-secondary);font-weight:500}.progress-pct{font-size:20px;font-weight:800;letter-spacing:-.04em;color:var(--text-primary)}.filters{display:flex;flex-direction:column;gap:var(--space-sm);padding-bottom:var(--space-md)}.filter-row{display:flex;gap:var(--space-xs);overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.filter-row::-webkit-scrollbar{display:none}.task-list{flex:1;display:flex;flex-direction:column;gap:10px;padding-bottom:var(--space-2xl)}.task-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:var(--space-sm) 0 var(--space-xs);display:flex;align-items:center;gap:var(--space-sm)}.task-section-label:after{content:"";flex:1;height:1px;background:var(--border)}.task-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition);position:relative;animation:fadeIn .3s ease both}.task-card:hover{background:var(--bg-card-hover);border-color:var(--border-hover);transform:translateY(-1px);box-shadow:var(--shadow-card)}.task-card.completed{opacity:.5;transform:scale(.99)}.task-card.completed:hover{opacity:.7;transform:scale(.99)}.task-card.skipped{opacity:.35}.task-card-accent{position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:3px 0 0 3px}.task-card-inner{padding:var(--space-md);padding-left:calc(var(--space-md) + 3px);display:flex;flex-direction:column;gap:10px}.task-card-meta{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.task-category-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.task-recurrence-badge{font-size:10px;color:var(--text-muted);background:#ffffff0d;border:1px solid var(--border);border-radius:var(--radius-full);padding:2px 8px;font-weight:500}.task-priority-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.task-card-title{font-size:15px;font-weight:600;color:var(--text-primary);line-height:1.35;letter-spacing:-.01em}.task-card.completed .task-card-title,.task-card.skipped .task-card-title{text-decoration:line-through;color:var(--text-secondary)}.task-card-controls{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.task-timer{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#ffffff0a;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);min-width:90px}.task-timer:hover{background:#ffffff12;border-color:var(--border-hover)}.task-timer.active{border-color:#a78bfa66;background:#a78bfa14}.task-timer-dot{width:7px;height:7px;border-radius:50%;background:var(--text-muted);flex-shrink:0}.task-timer.active .task-timer-dot{background:#a78bfa;animation:pulse-dot 1.2s ease-in-out infinite}.task-timer-display{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500;color:var(--text-secondary);letter-spacing:.02em}.task-timer.active .task-timer-display{color:#c4b5fd}.task-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.task-link-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;background:#ffffff0a;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;font-weight:500;color:var(--text-secondary);text-decoration:none;transition:all var(--transition-fast);cursor:pointer}.task-link-btn:hover{background:#ffffff12;color:var(--text-primary);border-color:var(--border-hover)}.task-complete-btn,.task-skip-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-sm);font-size:15px;cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--border);background:transparent;font-family:inherit}.task-complete-btn{color:var(--status-complete);border-color:#34d39940}.task-complete-btn:hover{background:#34d3991f;border-color:#34d39966;transform:scale(1.1)}.task-skip-btn{color:var(--text-muted)}.task-skip-btn:hover{background:#ffffff0f;color:var(--text-secondary);border-color:var(--border-hover)}.task-note-area{display:flex;flex-direction:column;gap:8px;padding-top:4px;border-top:1px solid var(--border);animation:fadeIn .2s ease}.task-note-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:0}.task-note-submitted{font-size:13px;color:var(--text-secondary);font-style:italic;padding:8px 10px;background:#ffffff08;border-radius:var(--radius-sm);border:1px solid var(--border)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-xl);text-align:center;gap:var(--space-md)}.empty-state-icon{font-size:48px;opacity:.4}.empty-state-title{font-size:16px;font-weight:600;color:var(--text-secondary)}.empty-state-desc{font-size:13px;color:var(--text-muted);max-width:260px}.ai-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;animation:fadeIn .2s ease}.ai-panel{position:fixed;right:0;top:0;bottom:0;width:100%;max-width:420px;background:var(--bg-modal);border-left:1px solid var(--border);display:flex;flex-direction:column;z-index:101;animation:slideInRight .35s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-al)}@media (max-width: 600px){.ai-panel{right:0;left:0;top:auto;max-width:100%;height:80dvh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-left:none;border-top:1px solid var(--border);animation:slideInUp .35s cubic-bezier(.4,0,.2,1)}}.ai-panel-header{padding:var(--space-lg);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-shrink:0}.ai-panel-title{display:flex;align-items:center;gap:10px}.ai-panel-icon{width:36px;height:36px;border-radius:var(--radius-md);background:linear-gradient(135deg,#a78bfa33,#818cf833);border:1px solid rgba(167,139,250,.3);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.ai-panel-name{font-size:15px;font-weight:700;color:var(--text-primary)}.ai-panel-sub{font-size:11px;color:var(--text-muted);margin-top:1px}.ai-panel-body{flex:1;overflow-y:auto;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.ai-message{background:linear-gradient(135deg,#a78bfa14,#818cf80d);border:1px solid rgba(167,139,250,.2);border-radius:var(--radius-md);padding:var(--space-md);font-size:14px;line-height:1.65;color:var(--text-primary);animation:fadeIn .3s ease;white-space:pre-wrap}.ai-loading{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);color:var(--text-muted);font-size:14px}.ai-loading-dots{display:inline-flex;gap:4px}.ai-loading-dots span{width:6px;height:6px;border-radius:50%;background:#a78bfa;animation:pulse-dot 1.2s ease-in-out infinite}.ai-loading-dots span:nth-child(2){animation-delay:.2s}.ai-loading-dots span:nth-child(3){animation-delay:.4s}.ai-panel-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--border);display:flex;gap:var(--space-sm);flex-shrink:0}.ai-error{color:#f87171;font-size:13px;padding:var(--space-md);background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:200;display:flex;align-items:flex-end;justify-content:center;padding:var(--space-md);animation:fadeIn .2s ease}@media (min-width: 600px){.modal-overlay{align-items:center}}.modal{background:var(--bg-modal);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:480px;max-height:90dvh;overflow-y:auto;box-shadow:var(--shadow-modal);animation:fadeInScale .25s cubic-bezier(.4,0,.2,1)}.modal-header{padding:var(--space-lg) var(--space-lg) 0;display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.modal-title{font-size:18px;font-weight:700;color:var(--text-primary)}.modal-body{padding:0 var(--space-lg) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.modal-footer{padding:var(--space-md) var(--space-lg) var(--space-lg);border-top:1px solid var(--border);display:flex;gap:var(--space-sm);justify-content:flex-end}.form-group{display:flex;flex-direction:column;gap:6px}.fab-area{position:fixed;bottom:var(--space-xl);right:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm);align-items:flex-end;z-index:50}@media (min-width: 640px){.fab-area{right:calc((100vw - 640px) / 2 + var(--space-xl))}}.fab{display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:var(--radius-full);font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;border:none;outline:none;transition:all var(--transition);box-shadow:0 4px 24px #00000080;-webkit-tap-highlight-color:transparent}.fab:active{transform:scale(.95)}.fab-primary{background:linear-gradient(135deg,#a78bfa,#818cf8);color:#fff;box-shadow:0 4px 20px #a78bfa66}.fab-primary:hover{box-shadow:0 6px 28px #a78bfa8c;transform:translateY(-2px)}.fab-ai{background:linear-gradient(135deg,#1e1b4b,#312e81);color:#c4b5fd;border:1px solid rgba(167,139,250,.3)}.fab-ai:hover{background:linear-gradient(135deg,#2e2a63,#3730a3);box-shadow:0 6px 28px #a78bfa4d;transform:translateY(-2px)}.toast-container{position:fixed;top:var(--space-lg);right:var(--space-lg);z-index:300;display:flex;flex-direction:column;gap:var(--space-sm)}.toast{padding:12px 16px;border-radius:var(--radius-md);font-size:13px;font-weight:500;color:#fff;background:#1e1e32f2;border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #0006;animation:fadeIn .2s ease;max-width:280px}.toast.success{border-left:3px solid var(--status-complete)}.toast.info{border-left:3px solid #5b9ffd}
