@charset "UTF-8";:root{color-scheme:light;--bg: #f4f6fa;--bg-raised: #f8f9fc;--bg-glow: radial-gradient(1200px 600px at 12% -10%, rgba(37, 99, 235, .07), transparent 55%), radial-gradient(900px 500px at 88% 0%, rgba(14, 143, 168, .05), transparent 50%);--surface: #ffffff;--surface-alt: #f5f7fb;--surface-glass: rgba(255, 255, 255, .78);--border: #e4e7ef;--border-strong: #c9d0de;--text: #0f172a;--text-muted: #64748b;--text-faint: #94a3b8;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-soft: #eff4ff;--accent-contrast: #ffffff;--success: #059669;--success-soft: #ecfdf5;--warning: #b45309;--warning-soft: #fffbeb;--danger: #dc2626;--danger-soft: #fef2f2;--info: #0891b2;--info-soft: #ecfeff;--neutral-soft: #f1f5f9;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04), 0 1px 1px rgba(15, 23, 42, .03);--shadow-md: 0 4px 16px rgba(15, 23, 42, .06), 0 1px 3px rgba(15, 23, 42, .04);--shadow-lg: 0 16px 40px rgba(15, 23, 42, .1), 0 4px 12px rgba(15, 23, 42, .05);--shadow-lift: 0 10px 28px rgba(37, 99, 235, .12), 0 2px 8px rgba(15, 23, 42, .06);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--sidebar-w: 260px;--topbar-h: 64px;--nav-bottom-h: 64px;--font: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ease-out: cubic-bezier(.22, 1, .36, 1);--duration-fast: .16s;--duration: .22s;--blur-glass: 14px}:root[data-theme=dark]{color-scheme:dark;--bg: #0b0f19;--bg-raised: #101623;--bg-glow: radial-gradient(1000px 500px at 10% -8%, rgba(123, 147, 255, .12), transparent 55%), radial-gradient(800px 420px at 90% 0%, rgba(79, 200, 222, .06), transparent 50%);--surface: #141b2a;--surface-alt: #1a2233;--surface-glass: rgba(20, 27, 42, .82);--border: #243044;--border-strong: #354259;--text: #e8edf7;--text-muted: #9aa6c0;--text-faint: #6b7793;--accent: #7b93ff;--accent-hover: #93a6ff;--accent-soft: #1c2744;--accent-contrast: #0b0f19;--success: #34d399;--success-soft: #0f291f;--warning: #fbbf24;--warning-soft: #2e2410;--danger: #f87171;--danger-soft: #3a1717;--info: #22d3ee;--info-soft: #0f2a32;--neutral-soft: #1e2738;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 6px 24px rgba(0, 0, 0, .4);--shadow-lg: 0 20px 48px rgba(0, 0, 0, .5);--shadow-lift: 0 12px 32px rgba(123, 147, 255, .18), 0 4px 12px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);background-image:var(--bg-glow);background-attachment:fixed;color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.011em}h1,h2,h3,h4{text-wrap:balance;letter-spacing:-.025em}a{color:var(--accent)}::selection{background:var(--accent-soft);color:var(--accent)}.btn,.btn-primary,.btn-secondary,.btn-ghost,.btn-danger{font:inherit;font-size:13px;font-weight:600;padding:9px 16px;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.btn-primary{background:var(--accent);color:var(--accent-contrast);box-shadow:0 1px 2px #2563eb40}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-lift);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--surface-alt);border-color:var(--text-faint)}.btn-ghost{background:transparent;color:var(--accent)}.btn-ghost:hover:not(:disabled){background:var(--accent-soft)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-danger:hover:not(:disabled){filter:brightness(.97)}.btn-ic{width:14px;height:14px;display:inline-block;vertical-align:middle;flex-shrink:0;margin-top:-1px}.btn-realizada{font:inherit;font-size:13px;font-weight:700;padding:9px 16px;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:.3em;background:#d1fae5;color:#065f46;transition:filter var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out)}.btn-realizada:hover:not(:disabled){filter:brightness(.96)}.btn-realizada:disabled{opacity:.55;cursor:not-allowed}:root[data-theme=dark] .btn-realizada{background:#064e3b;color:#6ee7b7}.btn:disabled,.btn-primary:disabled,.btn-secondary:disabled,.btn-ghost:disabled,.btn-danger:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,button:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 22px;box-shadow:var(--shadow-sm);transition:box-shadow var(--duration) var(--ease-out),border-color var(--duration) var(--ease-out),transform var(--duration) var(--ease-out)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.card>h2,.card>h3{margin:0 0 14px;font-size:15px;font-weight:700;letter-spacing:-.02em}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;flex-wrap:wrap}.page-head h1{font-size:26px;font-weight:800;letter-spacing:-.035em;margin:0;line-height:1.2}.page-head .subtitulo{margin:6px 0 0;font-size:13.5px;color:var(--text-muted);font-weight:500;max-width:42rem;line-height:1.45}.page-eyebrow{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:6px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}@media(max-width:900px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.stat-grid{grid-template-columns:1fr}}.stat-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 22px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:6px;overflow:hidden;transition:box-shadow var(--duration) var(--ease-out),transform var(--duration) var(--ease-out),border-color var(--duration) var(--ease-out)}.stat-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--accent);opacity:.35;border-radius:3px 0 0 3px}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--border-strong)}.stat-card .stat-numero,.stat-card .stat-value{font-size:32px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:var(--text);line-height:1.1}.stat-card .stat-label{font-size:12.5px;font-weight:600;color:var(--text-muted);letter-spacing:-.01em}.stat-card.stat-alerta.activo .stat-numero{color:var(--danger)}.stat-card.stat-alerta.activo:before{background:var(--danger);opacity:1}.badge{font-size:11px;font-weight:700;letter-spacing:.02em;padding:4px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:5px;width:fit-content}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-status{font-size:11px;font-weight:700;letter-spacing:.02em;padding:4px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:5px;width:fit-content;background:var(--neutral-soft);color:var(--text-muted)}.badge-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-status.draft,.badge.draft{background:var(--neutral-soft);color:var(--text-muted)}.badge-status.low_conf,.badge.low_conf,.badge-status.paused,.badge.paused{background:var(--warning-soft);color:var(--warning)}.badge-status.confirmed,.badge.confirmed,.badge-status.pending,.badge.pending{background:var(--info-soft);color:var(--info)}.badge-status.in_progress,.badge.in_progress{background:var(--accent-soft);color:var(--accent)}.badge-status.done,.badge.done{background:var(--success-soft);color:var(--success)}.badge-status.overdue,.badge.overdue,.badge-status.cancelled,.badge.cancelled,.badge-status.superseded,.badge.superseded{background:var(--danger-soft);color:var(--danger)}.badge-prioridad{display:inline-block;font-size:10.5px;font-weight:700;padding:3px 10px;border-radius:999px;color:#fff;width:fit-content;letter-spacing:.02em}.seg-control{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;background:var(--surface-alt);border:1px solid var(--border);border-radius:999px}.seg-control button{font:inherit;font-size:12.5px;font-weight:600;padding:7px 14px;border:none;border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.seg-control button:hover:not(.activo){color:var(--text);background:var(--surface)}.seg-control button.activo{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:600;color:var(--text-muted)}.field input,.field select,.field textarea{font:inherit;font-size:13px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm)}table{width:100%;border-collapse:collapse;font-size:13px}table thead th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);font-weight:700;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface-alt)}table tbody td{padding:13px 16px;border-bottom:1px solid var(--border);color:var(--text)}table tbody tr:last-child td{border-bottom:none}table tbody tr{transition:background-color var(--duration-fast) var(--ease-out)}table tbody tr:hover{background:var(--surface-alt)}.vacio{color:var(--text-faint);font-size:13.5px;font-weight:500;padding:28px 20px;text-align:center;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-alt)}.aviso{background:var(--warning-soft);color:var(--warning);padding:.7rem .9rem;border-radius:var(--radius-sm);font-size:.85rem;border:1px solid color-mix(in srgb,var(--warning) 18%,transparent)}.skeleton{display:flex;flex-direction:column;gap:12px}.skeleton-line,.skeleton-card{background:linear-gradient(90deg,var(--surface-alt) 0%,var(--neutral-soft) 45%,var(--surface-alt) 90%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite;border-radius:var(--radius-md)}.skeleton-line{height:14px;width:100%}.skeleton-line.corto{width:40%}.skeleton-card{height:88px}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--bg);background-image:var(--bg-glow)}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:2.1rem;display:flex;flex-direction:column;gap:1rem}.auth-card h1{margin:0 0 .5rem;font-size:1.5rem;font-weight:800;letter-spacing:-.03em;color:var(--text)}.auth-card label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--text-muted)}.auth-card input{padding:.65rem .8rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:1rem;background:var(--surface);color:var(--text)}.auth-card button[type=submit]{padding:.75rem;border:none;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-contrast);font-weight:600;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.auth-card button[type=submit]:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-lift)}.auth-card button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.auth-error{background:var(--danger-soft);color:var(--danger);padding:.6rem .8rem;border-radius:var(--radius-sm);font-size:.9rem;margin:0}.auth-divider{text-align:center;font-size:.8rem;color:var(--text-faint);position:relative}.auth-social{display:block;text-align:center;padding:.65rem;border-radius:var(--radius-sm);text-decoration:none;font-size:.9rem;font-weight:600;border:1px solid var(--border-strong);color:var(--text);transition:border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.auth-social:hover{background:var(--surface-alt)}.auth-social--google:hover{border-color:#db4437}.auth-social--facebook:hover{border-color:#1877f2}.auth-footer{text-align:center;font-size:.85rem;color:var(--text-muted);margin:0}.password-field{position:relative;display:flex;align-items:stretch}.password-field input{flex:1;min-width:0;padding-right:2.75rem}.password-toggle{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-faint);cursor:pointer}.password-toggle:hover{color:var(--text);background:var(--surface-alt)}.password-toggle svg{width:1.25rem;height:1.25rem}.tarjeta-actividad{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:.95rem 1rem;display:flex;flex-direction:column;gap:.45rem;font-size:.85rem;box-shadow:var(--shadow-sm);transition:box-shadow var(--duration) var(--ease-out),border-color var(--duration) var(--ease-out),transform var(--duration) var(--ease-out)}.tarjeta-actividad:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-1px)}.tarjeta-actividad h4{margin:0;font-size:.92rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.actividad-meta{color:var(--text-muted);font-size:.78rem;font-weight:500}.actividad-acciones{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.35rem}.actividad-acciones button{min-height:44px;padding:.45rem .85rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;font-size:.75rem;font-weight:600;color:var(--text);transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.actividad-acciones button:hover{background:var(--surface-alt);border-color:var(--text-faint)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
