:root{--color-warm-bg: #F3F0EB;--color-content-bg: #F3F0EB;--color-surface: #FFFFFF;--color-border: #E2E8F0;--color-text-primary: #1a1a2e;--color-text-secondary: #64748b;--color-text-muted: #94a3b8;--color-navy-deep: #1A2332;--color-navy-deep-hover: #232E40;--color-sidebar-text: #E2E8F0;--color-sidebar-text-muted: rgba(255, 255, 255, .55);--color-blue-dark: #1e3a5f;--color-blue-accent: #4A9BC4;--color-coral: #D95A45;--color-coral-hover: #C24A37;--color-green: #16A34A;--color-in-progress: #4A9BC4;--color-todo: #D97706;--color-blocked: #D95A45;--color-theme-row-open: rgba(255, 255, 255, .78);--color-theme-row-closed: rgba(30, 58, 95, .08);--color-subtheme-row: rgba(217, 90, 69, .18);--color-todo-bg: #FEF3C7;--color-in-progress-bg: #E0F2FE;--color-completed-bg: #DCFCE7;--color-backlog-bg: #F1F5F9;--color-blocked-bg: #FEE2E2;--color-cancelled-bg: #E2E8F0;--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 4px 12px rgba(15, 23, 42, .08);--header-height: 72px;--sidebar-width: 260px}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px;line-height:1.5;color:var(--color-text-primary);background:var(--color-warm-bg)}#root{min-height:100vh}a{color:var(--color-blue-dark);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;font-size:inherit}:focus-visible{outline:2px solid var(--color-blue-accent);outline-offset:2px;border-radius:var(--radius-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;line-height:1;border:none;border-radius:var(--radius);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease,box-shadow .12s ease;text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--color-coral);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-coral-hover)}.btn-secondary{background:#fff;color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-warm-bg);border-color:#cbd5e1}.btn-danger{background:var(--color-coral);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-coral-hover)}.btn-ghost{background:transparent;color:var(--color-text-primary)}.btn-ghost:hover:not(:disabled){background:#1a23320f}.btn-sm{padding:6px 12px;font-size:13px;border-radius:var(--radius-sm)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-padded{padding:24px}.input,.select,.textarea{display:block;width:100%;padding:10px 12px;font-size:14px;color:var(--color-text-primary);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);transition:border-color .12s ease,box-shadow .12s ease}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--color-blue-accent);box-shadow:0 0 0 3px #4a9bc42e}.input:disabled,.select:disabled,.textarea:disabled{background:var(--color-warm-bg);color:var(--color-text-muted);cursor:not-allowed}.textarea{min-height:96px;resize:vertical}.filter-bar{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;padding:16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:16px}.filter-field{display:flex;flex-direction:column;gap:6px;min-width:140px}.filter-field-label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.avatar{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;color:#fff;flex-shrink:0;overflow:hidden;background:var(--color-blue-accent)}.avatar-sm{width:24px;height:24px;font-size:11px}.avatar-lg{width:40px;height:40px;font-size:16px}.avatar img{width:100%;height:100%;object-fit:cover}.page-title{margin:0 0 24px;font-size:28px;font-weight:700;color:var(--color-text-primary);letter-spacing:-.01em}.page-subtitle{margin:-16px 0 24px;font-size:15px;color:var(--color-text-secondary)}.table{width:100%;border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.table thead th{text-align:left;padding:12px 16px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);background:var(--color-warm-bg);border-bottom:1px solid var(--color-border)}.table tbody td{padding:12px 16px;border-bottom:1px solid var(--color-border);font-size:14px;color:var(--color-text-primary)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background .1s ease}.table tbody tr:hover{background:var(--color-warm-bg)}.subtheme-delete{opacity:.55;transition:opacity .12s ease,color .12s ease}.subtheme-delete:hover{opacity:.95;color:var(--color-coral)}.theme-tree-row{transition:box-shadow .12s ease,transform .12s ease}.theme-tree-row:hover{box-shadow:inset 0 0 0 9999px #ffffff1a}.task-card .task-card-chevron{opacity:0;transition:opacity .12s ease}.task-card:hover{box-shadow:0 2px 6px #0000001a}.task-card:hover .task-card-chevron{opacity:1}@keyframes fadeInScale{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.login-hero-logo{width:180px;height:auto;display:block;animation:fadeInScale 1s ease-out both}.login-card-enter{animation:fadeInUp .5s ease-out both}.login-card-logo{width:48px;height:auto;display:block;margin:0 auto 16px}
