:root{--bg: #0d0f14;--bg-elevated: #111318;--bg-card: #1a1d27;--bg-hover: #242836;--text: #e4e6eb;--text-muted: #b0b8c8;--text-dim: #8b92a8;--text-faint: #5b6078;--accent: #6366f1;--accent-hover: #818cf8;--accent-glow: rgba(99, 102, 241, .15);--success: #34d399;--warning: #fbbf24;--error: #ef4444;--border: #2a2d3a;--border-subtle: #1e2130;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius: 8px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.2);--shadow-md: 0 4px 16px rgba(0,0,0,.25);--shadow-lg: 0 8px 32px rgba(0,0,0,.35);--shadow-xl: 0 16px 60px rgba(0,0,0,.4);--shadow-glow: 0 0 20px rgba(99,102,241,.15);--transition-fast: .12s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--sidebar-width: 220px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.container{max-width:1200px;margin:0 auto;padding:0 24px}button{background:var(--accent);color:#fff;border:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;font-size:14px;font-weight:500;transition:all var(--transition-base)}button:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}button:active{transform:translateY(0) scale(.98)}button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}input,textarea,select{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:14px;width:100%;transition:border-color var(--transition-base),box-shadow var(--transition-base)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);transition:all var(--transition-base)}.card:hover{border-color:var(--border);box-shadow:var(--shadow-md)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-sm);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.badge.success{background:#34d3991a;color:var(--success);border:1px solid rgba(52,211,153,.15)}.badge.warning{background:#fbbf241a;color:var(--warning);border:1px solid rgba(251,191,36,.15)}.badge.error{background:#ef44441a;color:var(--error);border:1px solid rgba(239,68,68,.15)}.badge.info{background:#6366f11a;color:var(--accent);border:1px solid rgba(99,102,241,.15)}.app-layout{display:flex;min-height:100vh}.mobile-header{display:none}.sidebar{width:var(--sidebar-width);background:var(--bg-card);border-right:1px solid var(--border);padding:20px 0;flex-shrink:0;height:100vh;position:sticky;top:0;overflow-y:auto}.main-content{flex:1;padding:32px;overflow:auto;min-width:0}.sidebar-backdrop{display:none}@media(max-width:768px){.app-layout{flex-direction:column}.mobile-header{display:flex;align-items:center;gap:12px;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));background:var(--bg-card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.menu-toggle{background:transparent;color:var(--text);font-size:22px;padding:8px 12px;min-width:44px;min-height:44px;border-radius:8px;display:flex;align-items:center;justify-content:center}.mobile-title{font-size:16px;font-weight:700;color:var(--accent)}.sidebar{position:fixed;top:0;left:-280px;width:260px;height:100vh;height:100dvh;z-index:200;transition:left .25s ease;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:env(safe-area-inset-bottom)}.sidebar-open{left:0}.sidebar-backdrop{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:150}.main-content{padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.card{padding:14px}textarea{font-size:16px}.mobile-sheet{position:fixed!important;inset:auto 0 0 0!important;top:auto!important;max-width:100%!important;width:100%!important;max-height:92vh!important;border-radius:var(--radius-xl) var(--radius-xl) 0 0!important;animation:sheetUp .25s cubic-bezier(.16,1,.3,1)!important;padding-bottom:max(20px,env(safe-area-inset-bottom))!important}}@media(max-width:390px){.mobile-header{padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top))}.main-content{padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}}@media(max-width:360px){.sidebar{width:240px}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}div[role=button]:hover .conv-delete,div[role=button]:focus-within .conv-delete{opacity:1!important}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.db-focus:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@keyframes messageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-enter{animation:messageIn .25s cubic-bezier(.16,1,.3,1) forwards}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes sheetUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes taskEventIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@keyframes modalContent{0%{opacity:0;transform:scale(.97) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes shimmer{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}.shimmer{animation:shimmer 1.5s ease-in-out infinite}@keyframes expandIn{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:1000px;transform:translateY(0)}}.expand-animation{animation:expandIn .25s ease-out forwards;overflow:hidden}@keyframes progressFill{0%{width:0%}}.progress-animate{animation:progressFill .3s ease-out forwards}.phase-step{transition:all .2s ease-in-out}.phase-step:hover{transform:translateY(-2px)}.phase-step.active{transform:scale(1.05)}.details-expand{transition:all .25s ease-in-out;max-height:0;opacity:0;overflow:hidden}.details-expand.open{max-height:600px;opacity:1}:root{--db-bg: #0d0f14;--db-bg-elevated: #111318;--db-bg-card: #1a1d27;--db-border: #2a2d3a;--db-border-subtle: #1e2130;--db-text: #e4e6eb;--db-text-muted: #9ca3af;--db-text-dim: #6b7280;--db-text-faint: #4b4f63;--db-accent: #6366f1;--db-accent-light: #818cf8;--db-accent-glow: rgba(99, 102, 241, .15);--db-green: #34d399;--db-red: #ef4444;--db-yellow: #fbbf24;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.2);--shadow-md: 0 4px 16px rgba(0,0,0,.25);--shadow-lg: 0 8px 32px rgba(0,0,0,.35);--shadow-xl: 0 16px 60px rgba(0,0,0,.4);--shadow-glow: 0 0 20px rgba(99,102,241,.15);--transition-fast: .12s ease;--transition-base: .2s ease;--transition-slow: .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse-dot{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes toastIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(30px)}}@keyframes modalBackdrop{0%{opacity:0}to{opacity:1}}@keyframes modalContent{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes messageIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes typing-dot{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.db-skeleton{background:linear-gradient(90deg,var(--db-bg-card) 25%,#242836 50%,var(--db-bg-card) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}.db-focus:focus-visible{outline:none;box-shadow:0 0 0 2px var(--db-accent-glow),0 0 0 4px var(--db-accent)}.db-btn{transition:all var(--transition-base);cursor:pointer;-webkit-user-select:none;user-select:none}.db-btn:hover{transform:translateY(-1px)}.db-btn:active{transform:translateY(0) scale(.98)}.db-card-hover{transition:all var(--transition-base)}.db-card-hover:hover{border-color:var(--db-border);box-shadow:var(--shadow-md);transform:translateY(-1px)}.db-input{transition:border-color var(--transition-base),box-shadow var(--transition-base)}.db-input:focus{outline:none;border-color:var(--db-accent);box-shadow:0 0 0 3px var(--db-accent-glow)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--db-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--db-text-faint)}::selection{background:#6366f14d;color:var(--db-text)}
