:root{--primary: #6366f1;--primary-dark: #4f46e5;--primary-light: #818cf8;--sidebar-bg: #1e1b4b;--sidebar-hover: #312e81;--sidebar-active: #3730a3;--sidebar-text: rgba(255, 255, 255, .65);--sidebar-text-active: #ffffff;--bg: #f8fafc;--bg-secondary: #f1f5f9;--card: #ffffff;--card-hover: #fafbff;--text: #1e293b;--text-secondary: #475569;--text-muted: #94a3b8;--border: #e2e8f0;--border-light: #f1f5f9;--danger: #ef4444;--danger-bg: #fef2f2;--success: #22c55e;--success-bg: #f0fdf4;--warning: #f59e0b;--warning-bg: #fffbeb;--urgent: #ef4444;--high: #f59e0b;--medium: #6366f1;--low: #94a3b8;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--radius: 8px;--radius-lg: 12px;--radius-xl: 16px;--sidebar-width: 240px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--transition: .15s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{color-scheme:light}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:inherit}button{font-family:inherit;cursor:pointer}select,input,textarea{font-family:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary)!important;box-shadow:0 0 0 3px #6366f11f}.app-layout{display:flex;min-height:100vh}.main-content{flex:1;margin-left:var(--sidebar-width);min-height:100vh;background:var(--bg);transition:margin-left .2s ease}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);background:var(--sidebar-bg);display:flex;flex-direction:column;z-index:100;overflow-y:auto;transition:width .2s ease}.sidebar-logo{display:flex;align-items:center;gap:12px;padding:24px 20px 20px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:8px;position:relative}.sidebar-toggle{background:none;border:none;color:#fff6;cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center;margin-left:auto;transition:all var(--transition)}.sidebar-toggle:hover{color:#fff;background:#ffffff1a}.sidebar.collapsed{width:68px}.sidebar.collapsed .sidebar-logo{justify-content:center;padding:20px 8px 16px;gap:0}.sidebar.collapsed .sidebar-toggle{position:absolute;right:8px;top:8px;margin-left:0}.sidebar.collapsed .sidebar-link{justify-content:center;padding:10px}.sidebar.collapsed .sidebar-nav{padding:8px}.sidebar.collapsed .sidebar-user-row{flex-direction:column;gap:2px}.sidebar.collapsed .sidebar-user-info{justify-content:center;padding:10px 8px}.sidebar.collapsed .sidebar-footer{padding:8px}.sidebar-logo-icon{width:36px;height:36px;background:var(--primary);border-radius:var(--radius);display:flex;align-items:center;justify-content:center}.sidebar-logo-text{font-size:18px;font-weight:800;color:#fff;letter-spacing:.02em}.sidebar-nav{flex:1;padding:8px 12px;display:flex;flex-direction:column;gap:2px}.sidebar-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius);color:var(--sidebar-text);font-size:14px;font-weight:500;transition:all var(--transition);text-decoration:none;border:none;background:none;width:100%;text-align:left;cursor:pointer}.sidebar-link:hover{background:var(--sidebar-hover);color:var(--sidebar-text-active)}.sidebar-link.active{background:var(--sidebar-active);color:var(--sidebar-text-active);font-weight:600}.sidebar-link svg{width:20px;height:20px;flex-shrink:0;opacity:.7}.sidebar-link.active svg,.sidebar-link:hover svg{opacity:1}.sidebar-footer{padding:12px;border-top:1px solid rgba(255,255,255,.08);margin-top:auto}.sidebar-user-row{display:flex;align-items:center;gap:4px}.sidebar-user-info{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius);color:#fffc;font-size:13px;font-weight:500;flex:1;min-width:0;cursor:pointer;transition:background var(--transition)}.sidebar-user-info:hover{background:#ffffff14}.sidebar-user-info span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-logout-btn{background:none;border:none;color:#ffffff59;cursor:pointer;padding:8px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition)}.sidebar-logout-btn:hover{color:#fca5a5;background:#ef444426}.sidebar-logout-btn.collapsed{width:100%;margin-top:4px}.sidebar-confirm{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;margin-bottom:6px;background:#ef44441f;border-radius:var(--radius);color:#fca5a5;font-size:13px;font-weight:600;animation:fadeIn .15s ease}.sidebar-confirm-btns{display:flex;gap:6px}.sidebar-confirm-yes,.sidebar-confirm-no{border:none;border-radius:6px;padding:3px 10px;font-size:12px;font-weight:700;cursor:pointer;transition:all var(--transition)}.sidebar-confirm-yes{background:#ef4444;color:#fff}.sidebar-confirm-yes:hover{background:#dc2626}.sidebar-confirm-no{background:#ffffff1a;color:#ffffffb3}.sidebar-confirm-no:hover{background:#fff3}.sidebar-settings-panel{position:absolute;bottom:70px;left:12px;right:12px;background:#252149;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);box-shadow:0 -4px 20px #0000004d;z-index:110;animation:slideUp .2s ease;overflow:hidden}.sidebar-settings-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;color:#fff;font-size:14px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-settings-close{background:none;border:none;color:#fff6;font-size:20px;cursor:pointer;padding:0 4px;line-height:1;transition:color var(--transition)}.sidebar-settings-close:hover{color:#fff}.sidebar-settings-body{padding:12px}.sidebar-settings-hint{font-size:11px;color:#ffffff59;margin-bottom:8px}.sidebar-settings-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius);color:#fffc;font-size:13px;font-weight:500;cursor:grab;transition:background var(--transition);margin-bottom:2px}.sidebar-settings-item:hover{background:#ffffff14}.sidebar-settings-item.dragging{opacity:.5;background:#6366f133}.sidebar-settings-item svg{flex-shrink:0}.sidebar-settings-arrows{display:flex;gap:2px;margin-left:auto}.sidebar-settings-arrows button{background:none;border:none;color:#ffffff4d;cursor:pointer;padding:2px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.sidebar-settings-arrows button:hover:not(:disabled){color:#fff;background:#ffffff1a}.sidebar-settings-arrows button:disabled{opacity:.2;cursor:default}.sidebar-settings-footer{padding:8px 12px 12px}.sidebar-user-avatar{width:32px;height:32px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff}.page{padding:32px;max-width:1400px}.page-dashboard{max-width:none}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:16px;flex-wrap:wrap}.page-title{font-size:26px;font-weight:800;color:var(--text);letter-spacing:-.02em}.page-subtitle{font-size:14px;color:var(--text-muted);margin-top:4px}.card{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition),transform var(--transition)}.card:hover{box-shadow:var(--shadow-md)}.card-clickable:hover{transform:translateY(-1px);cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border-radius:var(--radius);font-size:14px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:all var(--transition);white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark)}.btn-secondary{background:var(--bg-secondary);color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--border)}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent;padding:6px 10px}.btn-ghost:hover:not(:disabled){background:var(--bg-secondary);color:var(--text)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-sm{padding:5px 10px;font-size:12px;border-radius:6px}.btn-icon{padding:6px;border-radius:6px;width:32px;height:32px}.input{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;color:var(--text);background:var(--card);transition:border-color var(--transition),box-shadow var(--transition)}.input::placeholder{color:var(--text-muted)}.input-label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:5px}.textarea{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;color:var(--text);background:var(--card);resize:vertical;min-height:80px;transition:border-color var(--transition),box-shadow var(--transition)}.select{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;color:var(--text);background:var(--card);cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition)}.priority-badge{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:600;letter-spacing:.02em}.priority-badge:before{content:"";width:5px;height:5px;border-radius:50%;flex-shrink:0}.priority-urgent{background:#ef44440f;color:#f87171}.priority-urgent:before{background:#f87171}.priority-high{background:#f59e0b0f;color:#fbbf24}.priority-high:before{background:#fbbf24}.priority-medium{background:#6366f10f;color:#818cf8}.priority-medium:before{background:#818cf8}.priority-low{background:#94a3b80f;color:#cbd5e1}.priority-low:before{background:#cbd5e1}.kanban-board{display:flex;gap:16px;overflow-x:auto;padding-bottom:16px;min-height:calc(100vh - 200px);align-items:flex-start}.kanban-column{flex-shrink:0;width:340px;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-light);display:flex;flex-direction:column}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;gap:8px;border-bottom:1px solid var(--border-light)}.kanban-column-title{font-size:14px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}.kanban-column-count{background:var(--border);color:var(--text-secondary);font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;min-width:20px;text-align:center}.kanban-column-actions{display:flex;gap:2px;opacity:0;transition:opacity var(--transition)}.kanban-column-header:hover .kanban-column-actions{opacity:1}.kanban-column-body{flex:1;overflow-y:auto;padding:10px;min-height:60px}.kanban-column-body.kanban-split{padding:10px;display:flex;flex-direction:column;gap:10px}.kanban-column-footer{padding:8px}.kanban-add-task-btn{display:flex;align-items:center;gap:6px;width:100%;padding:8px 12px;border:1px dashed var(--border);border-radius:var(--radius);background:transparent;color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition)}.kanban-add-task-btn:hover{border-color:var(--primary);color:var(--primary);background:#6366f10a}.kanban-add-column{flex-shrink:0;width:300px;min-height:120px;display:flex;align-items:center;justify-content:center;border:2px dashed var(--border);border-radius:var(--radius-lg);color:var(--text-muted);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition);gap:8px}.kanban-add-column:hover{border-color:var(--primary);color:var(--primary);background:#6366f10a}.task-card{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);padding:12px;margin-bottom:8px;cursor:grab;transition:box-shadow var(--transition),border-color var(--transition);-webkit-user-select:none;user-select:none}.task-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-light)}.task-card-dragging{box-shadow:var(--shadow-lg);border-color:var(--primary);transform:rotate(2deg)}.task-card-row{display:flex;align-items:flex-start;gap:10px}.task-card-body{flex:1;min-width:0}.task-card-checkbox{flex-shrink:0;width:20px;height:20px;border:2px solid var(--border);border-radius:6px;background:var(--card);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;margin-top:1px;transition:all .15s}.task-card-checkbox:hover{border-color:var(--primary)}.task-card-checkbox.checked{background:var(--success);border-color:var(--success)}.task-card-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:6px;line-height:1.4}.task-card-done .task-card-title{text-decoration:line-through;color:var(--text-muted)}.task-card-done .task-card-meta{opacity:.55}.task-card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}.task-card-due{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-muted);padding:1px 6px;border-radius:4px;background:var(--bg-secondary)}.task-card-due.overdue{color:var(--danger);background:var(--danger-bg)}.task-card-project{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--text-secondary);background:#6366f10f;padding:1px 7px;border-radius:4px}.task-card-project-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.notes-header-icon{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--border);background:var(--card);color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all var(--transition)}.notes-header-icon:hover{background:#6366f10f;color:var(--primary);border-color:var(--primary)}.notes-archive-modal{max-width:620px}.notes-archive-grid{display:flex;flex-direction:column;gap:10px}.notes-archive-item{display:flex;align-items:stretch;gap:12px;padding:12px 14px;background:var(--card);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:10px;transition:border-color .15s ease,box-shadow .15s ease}.notes-archive-item:hover{box-shadow:0 2px 8px #0f172a0f}.notes-archive-content{flex:1;min-width:0}.notes-archive-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px}.notes-archive-body{font-size:13px;color:var(--text-secondary);line-height:1.45;white-space:pre-wrap;word-break:break-word;max-height:60px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.notes-archive-date{font-size:11px;color:var(--text-muted);margin-top:6px}.notes-archive-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end;flex-shrink:0}.note-card-v2{--accent: var(--border);position:relative;background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border);padding:14px 16px;box-shadow:0 1px 2px #0f172a0a;transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease}.note-card-v2.has-color{background:color-mix(in srgb,var(--accent) 5%,var(--card));border-color:color-mix(in srgb,var(--accent) 22%,var(--border));box-shadow:0 1px 2px #0f172a0a,inset 0 3px 0 0 var(--accent)}.note-card-v2:hover{box-shadow:0 4px 14px #0f172a14;border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.note-card-v2.has-color:hover{box-shadow:0 4px 14px #0f172a14,inset 0 3px 0 0 var(--accent)}.note-card-v2.pinned{border-color:color-mix(in srgb,var(--accent, var(--primary)) 40%,var(--border))}.note-v2-pin{position:absolute;top:8px;right:10px;background:transparent;border:none;padding:4px;cursor:pointer;color:var(--text-muted);opacity:0;transition:opacity .15s ease,color .15s ease,transform .15s ease;z-index:2}.note-card-v2:hover .note-v2-pin,.note-card-v2.pinned .note-v2-pin{opacity:1}.note-card-v2.pinned .note-v2-pin{color:var(--accent, var(--primary));transform:rotate(-20deg)}.note-v2-content{padding-right:22px;font-size:13px;line-height:1.55;color:var(--text-secondary);cursor:text;min-height:22px;word-break:break-word}.note-v2-footer{position:absolute;bottom:6px;right:8px;display:flex;align-items:center;gap:2px;padding:3px 5px;background:var(--card);border:1px solid var(--border);border-radius:10px;box-shadow:0 4px 12px #0f172a14;opacity:0;pointer-events:none;transition:opacity .15s ease}.note-card-v2:hover .note-v2-footer,.note-card-v2:focus-within .note-v2-footer{opacity:1;pointer-events:auto}.note-card-v2.has-color .note-v2-footer{background:color-mix(in srgb,var(--accent) 5%,var(--card));border-color:color-mix(in srgb,var(--accent) 22%,var(--border))}.note-v2-action{background:transparent;border:none;cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:background .15s ease,color .15s ease}.note-v2-action:hover{background:var(--bg-secondary);color:var(--text)}.note-v2-action-danger:hover{color:var(--danger);background:#ef444414}.note-v2-color-wrap{position:relative;display:flex}.note-v2-color-dot{width:14px;height:14px;border-radius:50%;border:1px solid rgba(15,23,42,.12)}.note-v2-color-picker{position:absolute;bottom:calc(100% + 6px);left:0;display:grid;grid-template-columns:repeat(5,20px);gap:6px;padding:10px;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #0f172a1f;z-index:20}.note-v2-swatch{width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .12s ease,box-shadow .12s ease}.note-v2-swatch:hover{transform:scale(1.18)}.note-v2-swatch.active{box-shadow:0 0 0 2px var(--primary),0 0 0 4px #6366f133}.note-card{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border);padding:12px 16px 8px;box-shadow:var(--shadow-sm);position:relative;transition:box-shadow var(--transition)}.note-card:hover{box-shadow:var(--shadow)}.note-card-pinned{border-color:var(--border)}.note-card-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:6px}.note-card-content{font-size:13px;color:var(--text-secondary);line-height:1.5;margin-bottom:0}.note-card-content br:last-child{display:none}.note-card-actions{position:absolute;bottom:6px;left:12px;display:flex;align-items:center;gap:4px;opacity:0;transition:opacity var(--transition)}.note-card:hover .note-card-actions{opacity:1}.note-card-top-actions{position:absolute;top:8px;right:8px;display:flex;gap:2px;opacity:0;transition:opacity var(--transition)}.note-card:hover .note-card-top-actions,.note-card-pinned .note-card-top-actions{opacity:1}.note-card-color-btn{background:none;border:none;cursor:pointer;padding:2px;border-radius:4px;display:flex;align-items:center;transition:background var(--transition)}.note-card-color-btn:hover{background:var(--bg-secondary)}.note-card-color-dot{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.1)}.note-color-picker{position:absolute;top:100%;right:0;background:var(--card);border:1px solid var(--border);border-radius:8px;padding:6px;box-shadow:var(--shadow-md);z-index:50;display:flex;gap:4px;margin-top:4px}.note-color-swatch{width:22px;height:22px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:all var(--transition);display:flex;align-items:center;justify-content:center}.note-color-swatch:hover{transform:scale(1.15)}.note-color-swatch.active{border-color:var(--text);box-shadow:0 0 0 1px var(--card),0 0 0 3px var(--text)}.note-card-pin{cursor:pointer;background:none;border:none;color:var(--text-muted);transition:color var(--transition);padding:2px;display:flex;align-items:center;border-radius:4px}.note-card-pin:hover{background:var(--bg-secondary)}.note-card-pin:hover,.note-card-pin.pinned{color:var(--primary)}.projects-layout{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:flex-start}.projects-main{min-width:0}.projects-notes{position:sticky;top:20px}@media (max-width: 1100px){.projects-layout{grid-template-columns:1fr}.projects-notes{position:static}}.page.page-projects{max-width:none}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;align-items:stretch}.projects-groups{display:flex;flex-direction:column;gap:28px}.project-group{--group-color: #6366f1}.project-group-header{display:flex;align-items:center;gap:10px;padding:8px 12px;margin-bottom:14px;border-left:3px solid var(--group-color);background:color-mix(in srgb,var(--group-color) 6%,var(--card));border-radius:10px}.project-group-toggle{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:6px;padding:0;flex-shrink:0}.project-group-toggle:hover{background:#0000000d;color:var(--text)}.project-group-icon{font-size:20px;line-height:1;flex-shrink:0}.project-group-name{font-size:16px;font-weight:700;color:var(--text);margin:0;cursor:pointer;flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-group-name:hover{color:var(--group-color)}.project-group-count{background:color-mix(in srgb,var(--group-color) 18%,var(--card));color:var(--group-color);font-size:12px;font-weight:600;padding:2px 10px;border-radius:999px;flex-shrink:0}.project-group-actions{margin-left:auto;display:flex;gap:4px;opacity:0;transition:opacity .15s}.project-group-header:hover .project-group-actions{opacity:1}.project-group-action{width:26px;height:26px;border:1px solid var(--border);background:var(--card);border-radius:6px;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.project-group-action:hover{color:var(--group-color);border-color:var(--group-color)}.project-group-empty{grid-column:1 / -1;padding:24px 16px;text-align:center;color:var(--text-muted);font-size:13px;font-style:italic;border:1px dashed var(--border);border-radius:10px;background:var(--bg);transition:all .15s}.projects-grid{transition:background .15s,border-color .15s;border-radius:12px}.projects-grid.projects-grid-empty{display:block;min-height:80px}.projects-grid.drop-over{background:color-mix(in srgb,var(--group-color, var(--primary)) 8%,transparent);outline:2px dashed color-mix(in srgb,var(--group-color, var(--primary)) 50%,transparent);outline-offset:4px}.project-card{cursor:pointer}.project-group-orphan .project-group-header{border-left-color:var(--border);background:transparent}.project-group-orphan .project-group-count{background:var(--bg-secondary);color:var(--text-muted)}.group-icon-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;margin-top:4px}.group-icon-btn{width:36px;height:36px;border:1px solid var(--border);background:var(--card);border-radius:8px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.group-icon-btn:hover{border-color:var(--primary);background:#6366f10f}.group-icon-btn.active{border-color:var(--primary);background:#6366f126;box-shadow:0 0 0 2px #6366f133}@media (max-width: 680px){.group-icon-grid{grid-template-columns:repeat(6,1fr)}}.project-card{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden;cursor:pointer;transition:all var(--transition);display:flex;flex-direction:column;height:100%}.project-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.project-card-color{height:6px;width:100%;flex-shrink:0}.project-card-image{width:100%;height:130px;flex-shrink:0;object-fit:contain;object-position:center;background:var(--bg);padding:10px;box-sizing:border-box;image-rendering:auto}.project-status-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap;flex-shrink:0}.project-card-body{padding:20px;flex:1 1 auto;display:flex;flex-direction:column}.project-card-name{font-size:17px;font-weight:700;color:var(--text);margin-bottom:6px}.project-card-desc{font-size:13px;color:var(--text-secondary);line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:16px}.project-card-stats{display:flex;gap:0;padding-top:12px;border-top:1px solid var(--border)}.project-card-status{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border);flex:1;display:flex;flex-direction:column;min-height:var(--status-min-height, 0)}.project-card-status-label{flex-shrink:0}.project-card-status-text{flex:1}.project-card-status-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:4px}.project-card-status-text{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;width:100%;background:transparent;border:none;padding:4px 6px;margin:-4px -6px;border-radius:6px;font-family:inherit;font-size:12px;color:var(--text-secondary);text-align:left;cursor:text;line-height:1.4;white-space:pre-wrap;word-break:break-word;transition:background .15s}.project-card-status-text:hover{background:var(--bg-secondary)}.project-card-status-placeholder{color:var(--text-muted);font-style:italic;opacity:.7}.project-card-stats>.project-stat-box+.project-stat-box{border-left:1px solid var(--border)}.project-card-stat{display:flex;align-items:center;gap:4px}.project-stat-box{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:12px 14px 4px;background:transparent;border:none;border-radius:0;cursor:pointer;font-family:inherit;text-align:left;transition:opacity .15s ease}.project-stat-box:hover{opacity:.8}.project-stat-box-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);display:flex;align-items:baseline;gap:5px}.project-stat-box-count{font-weight:500;letter-spacing:0;text-transform:none;font-size:11px;color:var(--text-muted);opacity:.9}.project-stat-box-value{font-size:22px;font-weight:700;letter-spacing:-.3px;line-height:1}.project-stat-tasks .project-stat-box-value{color:#16a34a}.project-stat-artifacts .project-stat-box-value{color:#7c3aed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .15s ease}.modal{background:var(--card);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .2s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border-light)}.modal-title{font-size:18px;font-weight:700;color:var(--text)}.modal-close{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:6px;transition:all var(--transition);display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--bg-secondary);color:var(--text)}.modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px 20px;border-top:1px solid var(--border-light)}.auth-page{min-height:100vh;background:var(--bg);display:flex;align-items:center;justify-content:center}.auth-card{background:var(--card);border-radius:var(--radius-xl);padding:40px 36px;width:100%;max-width:400px;box-shadow:var(--shadow-lg);border:1px solid var(--border)}.auth-header{text-align:center;margin-bottom:28px}.auth-logo{width:48px;height:48px;background:var(--primary);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.auth-title{font-size:22px;font-weight:800;color:var(--text)}.auth-subtitle{color:var(--text-muted);font-size:14px;margin-top:4px}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-error{font-size:13px;color:var(--danger);background:var(--danger-bg);padding:8px 12px;border-radius:6px}.auth-footer{text-align:center;margin-top:18px;font-size:14px;color:var(--text-muted)}.auth-footer a{color:var(--primary);font-weight:600}.auth-footer a:hover{text-decoration:underline}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-left:28px}.dashboard-flex{position:relative;display:flex;align-items:flex-start;gap:20px;padding-left:28px}.dashboard-flex .dash-col{flex:1 1 0;min-width:0}.dash-col{display:flex;flex-direction:column;gap:16px;min-height:100px;border-radius:var(--radius-lg);transition:background .2s}.dash-col-over{background:#6366f108}.dash-block{position:relative}.dash-new-col{flex:0 0 0;align-self:stretch;min-height:200px;border:0 dashed transparent;border-radius:var(--radius-lg);background:transparent;display:flex;align-items:center;justify-content:center;color:transparent;font-size:12px;font-weight:500;text-align:center;padding:0;line-height:1.4;overflow:hidden;pointer-events:none;transition:background .15s ease,border-color .15s ease,color .15s ease}body.dragging-block .dashboard-flex:not(.cols-max) .dash-new-col{flex:0 0 100px;padding:12px 6px;border-width:2px;border-color:var(--border);background:#6366f108;color:var(--text-muted);pointer-events:auto}body.dragging-block .dashboard-flex:not(.cols-max) .dash-new-col.over{border-color:var(--primary);border-style:solid;background:#6366f126;color:var(--primary)}@media (max-width: 768px){.dashboard-grid{grid-template-columns:1fr;padding-left:0}.dashboard-flex{flex-direction:column;padding-left:0}.dash-new-col{display:none}}.dash-handle{position:absolute;left:-28px;top:10px;width:22px;height:30px;display:flex;align-items:center;justify-content:center;cursor:grab;color:transparent;border-radius:6px;transition:all .15s ease;z-index:10}.dash-block:hover .dash-handle{color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border-light)}.dash-handle:hover{background:var(--border-light)!important;color:var(--text)!important}.dash-handle:active{cursor:grabbing}.dash-dragging{opacity:.5;box-shadow:var(--shadow-lg);z-index:100}.dashboard-section{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.dashboard-section-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border-light)}.dashboard-section-title{font-size:16px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}.dashboard-section-body{padding:16px 20px}.today-add-btn{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--border);background:var(--card);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.today-add-btn:hover{border-color:var(--primary);color:var(--primary);background:#6366f10f}.today-task{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-light)}.today-task:last-child{border-bottom:none}.today-task-checkbox{width:20px;height:20px;border:2px solid var(--border);border-radius:6px;cursor:pointer;flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;background:var(--card);transition:all var(--transition)}.today-task-checkbox:hover{border-color:var(--primary)}.today-task-checkbox.checked{background:var(--success);border-color:var(--success)}.today-task-info{flex:1;min-width:0}.today-task-title{font-size:15px;font-weight:600;color:var(--text)}.today-task-title.completed{text-decoration:line-through;color:var(--text-muted)}.today-task-meta{display:flex;align-items:center;gap:8px;margin-top:4px}.today-empty{text-align:center;padding:32px 0;color:var(--text-muted);font-size:14px}.today-settings{display:flex;flex-direction:column;gap:10px;padding:12px 14px;margin-bottom:12px;background:var(--bg);border:1px solid var(--border);border-radius:10px;font-size:13px}.kanban-settings-fields{display:flex;flex-direction:column;gap:8px}.kanban-settings-body{display:flex;flex-direction:column;gap:10px;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:10px;font-size:13px}.kanban-settings-row{display:flex;align-items:center;gap:8px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.kanban-settings-row>span:first-child,.kanban-settings-row>span:only-child{flex:1}.kanban-settings-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.kanban-settings-indent{padding-left:24px;cursor:default;justify-content:flex-start}.kanban-settings-number{width:60px;padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text);font-size:13px}.kanban-settings-select{padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text);font-size:13px;cursor:pointer;max-width:160px}.today-settings-row{display:flex;align-items:center;gap:8px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.today-settings-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.today-settings-indent{padding-left:24px;cursor:default}.today-settings-number{width:56px;padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text);font-size:13px}.today-settings-select{padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text);font-size:13px;cursor:pointer}.quote-card{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:18px 20px;position:relative}.quote-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.quote-channel{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text);text-decoration:none;transition:opacity var(--transition)}.quote-channel-avatar{width:26px;height:26px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--bg-secondary)}.quote-channel-avatar-fallback{padding:3px}.quote-channel-name{font-size:14px;font-weight:700;color:var(--text)}.quote-channel:hover{opacity:.8}.quote-refresh{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;opacity:0;transition:all var(--transition)}.quote-card:hover .quote-refresh{opacity:1}.quote-refresh:hover{color:var(--primary);background:#6366f114}.quote-refresh:disabled{cursor:default}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.quote-text{font-size:inherit;font-family:inherit;font-style:inherit;line-height:1.55;color:var(--text-secondary);white-space:pre-line}.quote-text a{color:var(--primary);text-decoration:underline;font-style:normal}.quote-text a:hover{opacity:.8}.quote-text b,.quote-text strong{font-weight:700;color:var(--text);font-style:normal}.quote-text i,.quote-text em{font-style:italic}.quote-text u{text-decoration:underline}.quote-text s,.quote-text del{text-decoration:line-through;opacity:.7}.quote-text code{background:#6366f114;padding:1px 5px;border-radius:4px;font-family:SF Mono,Consolas,monospace;font-size:.92em;font-style:normal}.quote-text pre{background:var(--bg-secondary);padding:8px 10px;border-radius:6px;font-family:SF Mono,Consolas,monospace;font-size:.9em;white-space:pre-wrap;font-style:normal;margin:6px 0}.quote-text .tg-spoiler{background:currentColor;color:transparent;border-radius:3px;padding:0 2px;cursor:pointer;transition:all .15s}.quote-text .tg-spoiler:hover{background:transparent;color:inherit}.quote-settings{display:flex;flex-direction:column;gap:8px;padding:12px 14px;margin-bottom:14px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.quote-settings-row{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--text);font-style:normal}.quote-settings-row>span{font-weight:500;color:var(--text-secondary);flex-shrink:0}.quote-settings-input,.quote-settings-select{flex:1;max-width:180px;padding:5px 10px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text);font-size:13px;font-family:inherit}.quote-settings-input:focus,.quote-settings-select:focus{outline:none;border-color:var(--primary)}.quote-channel-add{display:flex;align-items:center;gap:6px;max-width:180px;flex:1}.quote-channel-add .quote-settings-input{max-width:none}.quote-settings-btn{width:26px;height:26px;border-radius:6px;border:1px solid var(--border);background:var(--primary);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s ease}.quote-settings-btn:hover{background:var(--primary-hover, #4f46e5)}.quote-settings-list{align-items:flex-start}.quote-channel-chips{display:flex;flex-wrap:wrap;gap:6px;flex:1;max-width:200px;justify-content:flex-end}.quote-channel-chip{display:inline-flex;align-items:center;background:var(--card);border:1px solid var(--border);border-radius:999px;padding:2px 2px 2px 10px;font-size:12px;font-family:inherit;font-style:normal}.quote-channel-chip.active{background:color-mix(in srgb,var(--primary) 10%,var(--card));border-color:color-mix(in srgb,var(--primary) 40%,var(--border));color:var(--primary)}.quote-channel-chip-name{background:none;border:none;padding:0 4px 0 0;font-size:12px;color:inherit;cursor:pointer;font-family:inherit}.quote-channel-chip-x{width:18px;height:18px;border-radius:50%;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1;padding:0;transition:background .15s,color .15s}.quote-channel-chip-x:hover{background:#ef44441f;color:var(--danger)}.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;grid-auto-rows:1fr;transition:background .15s ease,outline-color .15s ease;border-radius:10px;min-height:80px}.services-grid-over{background:#6366f10d;outline:2px dashed rgba(99,102,241,.35);outline-offset:4px}.service-card-dragging{box-shadow:0 8px 20px #0f172a26;opacity:.9}.service-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px;border-radius:var(--radius-lg);border:.5px solid color-mix(in srgb,var(--border) 50%,transparent);background:color-mix(in srgb,var(--bg-secondary) 45%,var(--card));text-decoration:none;color:var(--text);transition:all var(--transition);position:relative;cursor:pointer}.service-card:hover{background:var(--bg-secondary);border-color:color-mix(in srgb,var(--border) 80%,transparent);transform:translateY(-1px)}.service-icon{font-size:26px;line-height:1;height:32px;display:flex;align-items:center;justify-content:center}.service-image{width:32px;height:32px;border-radius:8px;object-fit:cover}.service-name{font-size:13px;font-weight:600;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.service-actions{position:absolute;top:4px;right:4px;display:flex;gap:2px;opacity:0;transition:opacity var(--transition)}.service-card:hover .service-actions{opacity:1}.service-action-btn{background:var(--card);border:1px solid var(--border);border-radius:4px;cursor:pointer;padding:3px;color:var(--text-muted);display:flex;align-items:center;transition:all var(--transition)}.service-action-btn:hover{color:var(--text);background:var(--bg-secondary)}.service-form{margin-bottom:12px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary)}.service-group{margin-bottom:6px}.service-group:last-child{margin-bottom:0}.service-group-header{display:flex;align-items:center;gap:8px;padding:4px 0 6px}.service-group-toggle{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;display:flex;align-items:center;border-radius:4px}.service-group-toggle:hover{color:var(--text)}.service-group-name{font-size:14px;font-weight:700;color:var(--text)}.service-group-actions{display:flex;gap:2px;margin-left:auto;opacity:0;transition:opacity var(--transition)}.service-group-header:hover .service-group-actions{opacity:1}.service-group-body{padding-left:4px}.note-md{word-break:break-word}.note-md h2.note-h,.note-md h3.note-h,.note-md h4.note-h{font-weight:700;color:var(--text);margin:6px 0 4px;line-height:1.3}.note-md h2.note-h{font-size:16px}.note-md h3.note-h{font-size:14px}.note-md h4.note-h{font-size:13px}.note-md strong{font-weight:700;color:var(--text)}.note-md em{font-style:italic}.note-md del{text-decoration:line-through;opacity:.6}.note-md .note-code{background:var(--bg-secondary);padding:1px 5px;border-radius:4px;font-size:12px;font-family:monospace;color:#e11d48}.note-md .note-li{padding-left:14px;position:relative;margin:1px 0}.note-md .note-li:before{content:"•";position:absolute;left:2px;color:var(--text-muted)}.note-md .note-ol:before{content:counter(note-ol) ".";counter-increment:note-ol}.note-md .note-check{padding-left:2px;margin:2px 0;color:var(--text-secondary)}.note-md .note-check.done{text-decoration:line-through;color:var(--success);opacity:.7}.note-md .note-hr{border:none;border-top:1px solid var(--border-light);margin:8px 0}.note-md a{color:var(--primary);text-decoration:none}.note-md a:hover{text-decoration:underline}.notes-grid{display:grid;grid-template-columns:1fr;gap:12px}.color-picker{display:flex;gap:6px;flex-wrap:wrap}.color-swatch{width:28px;height:28px;border-radius:50%;cursor:pointer;border:3px solid transparent;transition:all var(--transition)}.color-swatch:hover{transform:scale(1.15)}.color-swatch.selected{border-color:var(--text);box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--text)}.tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:24px}.tab{padding:10px 20px;font-size:14px;font-weight:600;color:var(--text-muted);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all var(--transition)}.tab:hover{color:var(--text)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.artifacts-list{display:flex;flex-direction:column;gap:8px}.artifact-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-secondary);border-radius:var(--radius);transition:background var(--transition)}.artifact-item:hover{background:var(--border-light)}.artifact-icon{width:40px;height:40px;border-radius:var(--radius);background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;font-weight:700}.artifact-info{flex:1;min-width:0}.artifact-name{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.artifact-meta{font-size:12px;color:var(--text-muted);margin-top:2px}.artifact-actions{display:flex;gap:4px}.upload-area{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:32px;text-align:center;color:var(--text-muted);cursor:pointer;transition:all var(--transition);margin-bottom:20px}.art-group{margin-bottom:16px;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.art-group-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:linear-gradient(135deg,var(--bg-secondary) 0%,#f0f0ff 100%);border-bottom:1px solid var(--border)}.art-group-name{font-size:15px;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.03em}.art-group-actions{display:flex;gap:2px;margin-left:auto;opacity:0;transition:opacity var(--transition)}.art-group-header:hover .art-group-actions{opacity:1}.art-group-move{display:flex;flex-direction:column;gap:1px;opacity:0;transition:opacity var(--transition)}.art-group-header:hover .art-group-move{opacity:1}.art-move-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:1px;border-radius:3px;display:flex;align-items:center;transition:color var(--transition)}.art-move-btn:hover{color:var(--primary)}.art-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border-light);transition:background var(--transition)}.art-row:last-child{border-bottom:none}.art-row:hover{background:#6366f105}.art-row-drag{display:flex;flex-direction:column;gap:1px;opacity:0;transition:opacity var(--transition)}.art-row:hover .art-row-drag{opacity:1}.art-link{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:var(--primary);text-decoration:none;padding:3px 8px;border-radius:6px;transition:background var(--transition)}.art-link:hover{background:#6366f114}.art-row-actions{display:flex;gap:2px;opacity:0;transition:opacity var(--transition)}.art-row:hover .art-row-actions{opacity:1}.art-action-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;transition:all var(--transition)}.art-action-btn:hover{color:var(--text);background:var(--bg-secondary)}.art-action-btn.art-delete:hover{color:var(--danger)}.artifacts-table{width:100%;border-collapse:collapse;font-size:14px}.artifacts-table th{text-align:left;padding:10px 12px;font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--border)}.artifacts-table td{padding:10px 12px;border-bottom:1px solid var(--border-light);vertical-align:middle}.artifacts-table tr:hover td{background:var(--bg-secondary)}.artifact-type-badge{display:inline-block;padding:1px 6px;border-radius:4px;font-size:11px;font-weight:600;background:var(--bg-secondary);color:var(--text-muted);text-transform:uppercase}.upload-area:hover,.upload-area.dragover{border-color:var(--primary);color:var(--primary);background:#6366f10a}.quick-add-input{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;background:var(--card);color:var(--text)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.kanban-column-body::-webkit-scrollbar,.kanban-board::-webkit-scrollbar{width:6px;height:6px}.kanban-column-body::-webkit-scrollbar-track,.kanban-board::-webkit-scrollbar-track{background:transparent}.kanban-column-body::-webkit-scrollbar-thumb,.kanban-board::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.kanban-column-body::-webkit-scrollbar-thumb:hover,.kanban-board::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.cal-fullpage{display:flex;gap:0}.cal-cell-event{cursor:pointer}.cal-main{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}.cal-controls{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-light)}.cal-nav{display:flex;align-items:center;gap:12px}.cal-month-title{font-size:18px;font-weight:700;min-width:180px;text-align:center;white-space:nowrap}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));table-layout:fixed}.cal-day-header{padding:10px;text-align:center;font-size:12px;font-weight:700;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-light)}.cal-cell{min-height:100px;padding:6px;border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light);cursor:pointer;transition:background var(--transition);position:relative}.cal-cell:nth-child(7n){border-right:none}.cal-cell:hover{background:var(--bg-secondary)}.cal-cell.weekend{background:#f8f9fb}.cal-cell.other-month{background:var(--bg);opacity:.5}.cal-cell.past{background:#fafafa}.cal-cell.past .cal-day-number{color:var(--text-muted);opacity:.6}.cal-cell.past .cal-cell-event{opacity:.5}.cal-day-header.weekend{color:var(--text-muted);opacity:.7}.cal-cell.today{background:#6366f10a}.cal-cell.selected{background:#6366f114;box-shadow:inset 0 0 0 2px var(--primary)}.cal-day-number{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;font-size:13px;font-weight:600;color:var(--text-secondary);border-radius:50%;margin-bottom:4px}.cal-day-number.today{background:var(--primary);color:#fff}.cal-cell-events{display:flex;flex-direction:column;gap:2px}.cal-cell-event{font-size:11px;font-weight:500;color:#fff;padding:1px 6px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5}.cal-cell-event.event-pending{background:#93c5fd!important;color:#fff}.cal-cell-event.event-declined{text-decoration:line-through;opacity:.5}.cal-cell-more{font-size:11px;color:var(--text-muted);font-weight:600;padding:1px 6px}.cal-sidebar{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}.cal-sidebar-header{padding:18px 20px;border-bottom:1px solid var(--border-light)}.cal-sidebar-title{font-size:15px;font-weight:700;text-transform:capitalize}.cal-sidebar-count{font-size:12px;color:var(--text-muted);margin-top:2px;display:block}.cal-sidebar-events{padding:12px}.cal-sidebar-empty{text-align:center;padding:24px 12px;color:var(--text-muted);font-size:14px}.cal-sidebar-empty p{margin-bottom:12px}.cal-event{padding:10px 12px;border-left:3px solid var(--primary);border-radius:0 var(--radius) var(--radius) 0;background:var(--bg-secondary);margin-bottom:8px;cursor:pointer;transition:all var(--transition)}.cal-event:hover{background:var(--border-light);transform:translate(2px)}.cal-event-title{font-size:14px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px}.cal-event-time{font-size:12px;color:var(--text-muted);margin-top:2px}.cal-event-location{font-size:12px;color:var(--text-muted);margin-top:2px;display:flex;align-items:center;gap:4px}.cal-view-switch{display:flex;background:var(--bg-secondary);border-radius:var(--radius);padding:2px;border:1px solid var(--border-light)}.cal-view-btn{padding:5px 12px;font-size:13px;font-weight:600;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:6px;transition:all var(--transition)}.cal-view-btn:hover{color:var(--text)}.cal-view-btn.active{background:var(--card);color:var(--text);box-shadow:var(--shadow-sm)}.cal-week{overflow:hidden}.cal-week-header{display:grid;grid-template-columns:60px repeat(7,1fr);border-bottom:1px solid var(--border)}.cal-week-day-header{display:flex;flex-direction:column;align-items:center;padding:10px 4px;cursor:pointer;transition:background var(--transition)}.cal-week-day-header:hover{background:var(--bg-secondary)}.cal-week-day-header.weekend{background:#f8f9fb}.cal-week-day-header.today{background:#6366f10f}.cal-week-day-name{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-muted)}.cal-week-day-num{font-size:20px;font-weight:700;color:var(--text);margin-top:2px}.cal-week-day-num.today{background:var(--primary);color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px}.cal-week-body{max-height:calc(100vh - 280px);overflow-y:auto}.cal-week-grid{display:grid;grid-template-columns:90px repeat(7,1fr);position:relative}.cal-week-gutter-col{border-right:1px solid var(--border-light)}.cal-week-tz-header{display:flex;justify-content:space-around;padding:4px 0;border-bottom:1px solid var(--border-light)}.cal-tz-label{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.cal-week-gutter-cell{font-size:11px;color:var(--text-muted);padding:0 4px;display:flex;align-items:flex-start;justify-content:space-between;gap:4px}.cal-tz-msk{color:var(--text-muted)}.cal-tz-uzb{color:var(--text-muted);opacity:.6}.cal-week-day-col{position:relative;border-right:1px solid var(--border-light);min-height:1344px}.cal-week-day-col:last-child{border-right:none}.cal-week-day-col.weekend{background:#f8f9fb}.cal-week-hour-line{position:absolute;left:0;right:0;height:56px;border-bottom:1px solid var(--border-light);cursor:pointer}.cal-week-hour-line:hover{background:#6366f105}.cal-week-ev{position:absolute;left:2px;right:2px;border-radius:4px;padding:2px 6px;color:#fff;font-size:11px;overflow:hidden;cursor:pointer;z-index:1;display:flex;flex-direction:column;line-height:1.3}.cal-week-ev:hover{opacity:.9;z-index:2;box-shadow:0 2px 8px #00000026}.cal-week-ev.event-declined{text-decoration:line-through;opacity:.5}.cal-week-ev-title{font-weight:600;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-week-ev-time{font-weight:400;font-size:10px;opacity:.8}.cal-week-ev-compact{flex-direction:row;align-items:center;padding:1px 6px}.cal-week-ev-compact .cal-week-ev-title{font-size:10px}.cal-week-time-gutter{font-size:11px;color:var(--text-muted);padding:4px 6px 0 0;text-align:right;border-right:1px solid var(--border-light)}.cal-week-event-time{font-weight:700;margin-right:4px}.cal-day-view-body{max-height:calc(100vh - 280px);overflow-y:auto}.cal-day-view-row{display:grid;grid-template-columns:60px 1fr;min-height:56px;border-bottom:1px solid var(--border-light);cursor:pointer}.cal-day-view-row:hover{background:#6366f105}.cal-day-view-cell{padding:4px 8px}.event-detail-modal{background:var(--card);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:480px;padding:24px;animation:slideUp .2s ease}.event-detail-top{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}.event-detail-color{width:14px;height:14px;border-radius:4px;margin-top:6px;flex-shrink:0}.event-detail-title{font-size:20px;font-weight:700;color:var(--text);line-height:1.3}.event-detail-datetime{font-size:14px;color:var(--text-secondary);margin-top:4px}.event-detail-actions{display:flex;gap:4px;margin-left:auto;flex-shrink:0}.event-detail-meet{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#1a73e8;color:#fff;border-radius:var(--radius);font-size:14px;font-weight:600;text-decoration:none;margin-bottom:16px;transition:background var(--transition)}.event-detail-meet:hover{background:#1565c0}.event-detail-row{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:14px;color:var(--text-secondary);border-top:1px solid var(--border-light)}.event-detail-row svg{flex-shrink:0;margin-top:2px}.event-detail-section{border-top:1px solid var(--border-light);padding-top:12px;margin-top:8px}.event-detail-section-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-muted);margin-bottom:8px}.event-detail-attendees{display:flex;flex-direction:column;gap:4px}.event-detail-attendee{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text);padding:4px 0}.event-detail-attendee-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.event-detail-attendee-name{flex:1}.event-detail-rsvp{display:flex;align-items:center;justify-content:space-between;padding:14px 0 0;margin-top:12px;border-top:1px solid var(--border-light);font-size:14px;color:var(--text-secondary)}.event-detail-rsvp-btns{display:flex;gap:6px}.event-rsvp-btn{padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:var(--card);font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all var(--transition)}.event-rsvp-btn:hover{border-color:var(--primary);color:var(--primary)}.event-rsvp-btn.active.accept{background:#f0fdf4;border-color:#22c55e;color:#16a34a}.event-rsvp-btn.active.maybe{background:#fffbeb;border-color:#f59e0b;color:#d97706}.event-rsvp-btn.active.decline{background:#fef2f2;border-color:#ef4444;color:#dc2626}.attendees-input-wrap{display:flex;flex-wrap:wrap;gap:6px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);min-height:40px;align-items:center;cursor:text;transition:border-color var(--transition),box-shadow var(--transition)}.attendees-input-wrap:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11f}.attendee-chip{display:inline-flex;align-items:center;gap:4px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:999px;padding:2px 8px 2px 10px;font-size:13px;color:var(--text);white-space:nowrap}.attendee-chip-remove{background:none;border:none;cursor:pointer;font-size:16px;line-height:1;color:var(--text-muted);padding:0 2px;border-radius:50%;transition:color var(--transition)}.attendee-chip-remove:hover{color:var(--danger)}.attendee-input{border:none;outline:none;font-size:14px;background:transparent;color:var(--text);min-width:150px;flex:1;padding:2px 0}.attendee-input::placeholder{color:var(--text-muted)}.attendee-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:60;margin-top:4px;overflow:hidden}.attendee-suggestion{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;cursor:pointer;transition:background var(--transition)}.attendee-suggestion:hover{background:var(--bg-secondary)}.attendee-suggestion-name{font-size:13px;font-weight:600;color:var(--text)}.attendee-suggestion-email{font-size:12px;color:var(--text-muted)}.cal-event-meet{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--primary);font-weight:600;margin-top:4px;text-decoration:none}.cal-event-meet:hover{text-decoration:underline}.cal-attendees{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-light)}.cal-attendees-list{display:flex;flex-direction:column;gap:3px}.cal-attendee{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.cal-attendee-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.cal-attendee-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-attendee-you{font-size:11px;color:var(--text-muted);font-style:italic}.cal-rsvp{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-light)}.cal-rsvp-status{font-size:12px;font-weight:700}.cal-rsvp-buttons{display:flex;gap:4px}.cal-rsvp-btn{width:28px;height:28px;border-radius:6px;border:1px solid var(--border);background:var(--card);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all var(--transition)}.cal-rsvp-btn:hover{border-color:var(--text-secondary);color:var(--text)}.cal-rsvp-btn.active.accept{background:#f0fdf4;border-color:#22c55e;color:#22c55e}.cal-rsvp-btn.active.maybe{background:#fffbeb;border-color:#f59e0b;color:#f59e0b}.cal-rsvp-btn.active.decline{background:#fef2f2;border-color:#ef4444;color:#ef4444}@media (max-width: 768px){.page{padding:20px 16px}.kanban-column{width:260px}}.inline-edit-input{background:transparent;border:none;font-size:inherit;font-weight:inherit;color:inherit;font-family:inherit;padding:0;width:100%;outline:none;border-bottom:2px solid var(--primary)}.empty-state{text-align:center;padding:48px 20px;color:var(--text-muted)}.empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state-text{font-size:15px;margin-bottom:20px}.sidebar-badge{position:absolute;top:-6px;right:-8px;background:#ef4444;color:#fff;font-size:9px;font-weight:700;min-width:16px;height:16px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1}.notif-filters{display:flex;gap:6px;margin-bottom:20px;flex-wrap:wrap}.notif-filter-btn{padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:var(--card);font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);display:flex;align-items:center;gap:6px}.notif-filter-btn:hover{border-color:var(--primary-light)}.notif-filter-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.notif-filter-badge{background:#ef4444;color:#fff;font-size:10px;font-weight:700;padding:0 5px;border-radius:999px;min-width:16px;text-align:center;line-height:16px}.notif-filter-btn.active .notif-filter-badge{background:#ffffff4d}.notif-list{display:flex;flex-direction:column;gap:10px}.notif-item{display:flex;align-items:flex-start;gap:14px;padding:14px 18px;border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition);position:relative;background:var(--card);border:1px solid var(--border);box-shadow:0 1px 2px #0f172a0a}.notif-item:hover{background:var(--bg-secondary);border-color:var(--border-strong, var(--border));box-shadow:0 2px 6px #0f172a0f}.notif-item.unread{background:#fafbff;border-color:#e0e4ff;border-left:3px solid var(--primary);padding-left:16px}.notif-item-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.notif-item-body{flex:1;min-width:0}.notif-item-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:2px}.notif-item.unread .notif-item-title{font-weight:700}.notif-item-text{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-item-meta{display:flex;align-items:center;gap:10px;margin-top:4px}.notif-item-type{font-size:11px;font-weight:600}.notif-item-time{font-size:11px;color:var(--text-muted)}.notif-item-actions{display:flex;gap:4px;opacity:0;transition:opacity var(--transition)}.notif-item:hover .notif-item-actions{opacity:1}.notif-action-btn{background:var(--card);border:1px solid var(--border);border-radius:6px;cursor:pointer;padding:4px;color:var(--text-muted);display:flex;align-items:center;transition:all var(--transition)}.notif-action-btn:hover{color:var(--text);background:var(--bg-secondary)}.notif-item.expanded{background:var(--bg-secondary);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom-color:transparent;box-shadow:none}.notif-row-meeting .notif-item.expanded{background:var(--card);border-radius:var(--radius-lg);border-bottom-color:var(--border);box-shadow:0 1px 2px #0f172a0a}.notif-row-meeting .notif-item.unread.expanded{background:#fafbff;border-color:#e0e4ff}.notif-detail{padding:12px 18px 14px 68px;background:var(--bg-secondary);border:1px solid var(--border);border-top:1px dashed var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);animation:fadeIn .15s ease;box-shadow:0 1px 2px #0f172a0a}.notif-detail-meeting{padding:12px 0 4px;background:transparent;border:none;border-radius:0;box-shadow:none;animation:fadeIn .15s ease}.notif-meeting-banner{background:#e9f7ef;color:#1f7a3c;padding:14px 20px;border-radius:var(--radius-lg);margin-bottom:10px;font-size:14px;line-height:1.5}.notif-meeting-banner strong{font-weight:700}.notif-meeting-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px 26px;box-shadow:0 1px 2px #0f172a0a}.notif-meeting-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.notif-meeting-col{min-width:0;font-size:14px;color:var(--text);line-height:1.5}.notif-meeting-label{font-size:14px;font-weight:700;color:var(--text);margin-bottom:4px;display:flex;align-items:center;gap:10px}.notif-meeting-badge-changed{display:inline-block;background:#1f7a3c;color:#fff;font-size:10px;font-weight:700;letter-spacing:.5px;padding:3px 10px;border-radius:999px}.notif-meeting-time-new{font-size:14px;color:var(--text)}.notif-meeting-time-old{font-size:14px;color:var(--text-muted);text-decoration:line-through;margin-top:2px}.notif-meeting-attendees{display:flex;flex-direction:column;gap:3px;margin-top:2px}.notif-meeting-attendee{font-size:14px;color:var(--text)}.notif-meeting-attendee-name{color:var(--primary);font-weight:500}.notif-meeting-attendee-role{color:var(--text-muted);margin-left:4px;font-weight:400}.notif-meeting-link{display:inline-block;color:var(--primary);font-size:14px;text-decoration:none;margin-top:8px}.notif-meeting-link:hover{text-decoration:underline}.notif-meeting-rsvp{margin-top:20px;padding-top:14px;border-top:1px solid var(--border-light, var(--border))}.notif-meeting-rsvp-hint{font-size:13px;color:var(--text-muted);margin-bottom:8px}.notif-meeting-rsvp-buttons{display:flex;flex-wrap:wrap;gap:8px}.notif-meeting-rsvp-btn{padding:7px 16px;border:1px solid #dadce0;border-radius:999px;background:#fff;color:#3c4043;font-size:13px;font-weight:500;text-decoration:none;transition:background var(--transition),border-color var(--transition)}.notif-meeting-rsvp-btn:hover{background:#f8f9fa;border-color:#c6cbd1}.notif-meeting-rsvp-btn-wide{padding:7px 18px}.notif-meeting-join-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;background:var(--primary);color:#fff;font-weight:600;font-size:14px;border-radius:8px;text-decoration:none;border:none;cursor:pointer;transition:background var(--transition),box-shadow var(--transition),transform var(--transition);box-shadow:0 1px 2px #6366f140}.notif-meeting-join-btn:hover{background:var(--primary-hover, #4f46e5);box-shadow:0 4px 12px #6366f14d;transform:translateY(-1px)}.notif-meeting-zoom-url{display:inline-block;color:var(--primary);font-size:13px;text-decoration:none;word-break:break-all}.notif-meeting-zoom-url:hover{text-decoration:underline}.notif-meeting-phone{font-size:14px;color:var(--text)}.notif-meeting-phone-region{color:var(--text-muted)}.notif-meeting-phone-link{color:var(--primary);text-decoration:none}.notif-meeting-phone-link:hover{text-decoration:underline}.notif-meeting-pin{font-size:13px;color:var(--text-secondary);margin-top:2px}.notif-meeting-desc{font-size:13px;color:var(--text);line-height:1.55;word-break:break-word;max-height:300px;overflow-y:auto}.notif-meeting-desc a{color:var(--primary)}.notif-meeting-desc p{margin:4px 0}.notif-meeting-desc br+br{display:none}@media (max-width: 720px){.notif-meeting-grid{grid-template-columns:1fr;gap:20px}.notif-meeting-card{padding:18px}}.notif-detail-badge{background:#dcfce7;color:#16a34a;font-size:12px;font-weight:600;padding:6px 12px;border-radius:var(--radius);margin-bottom:10px}.notif-detail-row{display:flex;align-items:flex-start;gap:8px;padding:5px 0;font-size:14px;color:var(--text)}.notif-detail-row svg{flex-shrink:0;margin-top:2px}.notif-detail-row strong{font-weight:600;white-space:nowrap}.notif-email-iframe{width:100%;min-height:100px;max-height:400px;border:none;margin-top:8px;border-radius:var(--radius);background:var(--card)}.notif-detail-snippet{font-size:13px;color:var(--text-secondary);line-height:1.5;padding:8px 0;border-top:1px solid var(--border-light);margin-top:4px}.notif-detail-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:6px}.notif-detail-body{font-size:14px;color:var(--text-secondary);line-height:1.5;white-space:pre-line}.mail-layout{display:grid;grid-template-columns:180px 360px 4px 1fr;gap:0;background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden;min-height:calc(100vh - 160px)}@media (max-width: 1100px){.mail-layout{grid-template-columns:60px 250px 4px 1fr!important}.mail-label-btn span{display:none}}.mail-sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);padding:12px 8px;display:flex;flex-direction:column;gap:2px}.mail-account-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius);cursor:pointer;transition:background var(--transition);position:relative}.mail-account-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:4px;display:flex;opacity:0;transition:all var(--transition)}.mail-label-btn{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius);border:none;background:none;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition);text-align:left;width:100%}.mail-label-btn:hover{background:var(--border-light)}.mail-label-btn.active{background:var(--card);color:var(--primary);font-weight:600;box-shadow:var(--shadow-sm)}.mail-label-btn svg{flex-shrink:0;opacity:.6}.mail-label-btn.active svg{opacity:1}.mail-label-count{margin-left:auto;background:var(--bg-secondary);color:var(--text-muted);font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;min-width:20px;text-align:center}.mail-label-btn.active .mail-label-count{background:#6366f126;color:var(--primary)}.mail-accounts{display:flex;flex-direction:column;gap:4px}.mail-account-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius);cursor:pointer;transition:all var(--transition);position:relative}.mail-account-item:hover{background:var(--border-light)}.mail-account-item.active{background:var(--card);box-shadow:var(--shadow-sm)}.mail-account-avatar{width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mail-account-info{flex:1;min-width:0}.mail-account-email{font-size:12px;color:var(--text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.mail-account-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:4px;opacity:0;transition:all var(--transition);display:flex;flex-shrink:0}.mail-account-item:hover .mail-account-remove{opacity:1}.mail-account-remove:hover{color:var(--danger)}.mail-resize-handle{width:4px;cursor:col-resize;background:transparent;transition:background .15s;position:relative}.mail-resize-handle:hover,.mail-resize-handle:active{background:var(--primary);opacity:.3}.mail-list{border-right:1px solid var(--border);overflow-y:auto;max-height:calc(100vh - 160px)}.mail-item{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border-light);cursor:pointer;transition:background var(--transition);position:relative}.mail-item:hover{background:var(--bg-secondary)}.mail-item.selected{background:#6366f10f}.mail-item.unread{background:#fafbff}.mail-item.unread .mail-item-from{font-weight:700}.mail-item.unread .mail-item-subject{font-weight:600;color:var(--text)}.mail-item-avatar{width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mail-item-body{flex:1;min-width:0}.mail-item-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.mail-item-from{font-size:14px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-item-date{font-size:12px;color:var(--text-muted);flex-shrink:0;margin-left:8px}.mail-item-subject{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px}.mail-item-snippet{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-item-actions{display:flex;gap:2px;position:absolute;right:12px;top:12px;opacity:0;transition:opacity var(--transition)}.mail-item:hover .mail-item-actions{opacity:1}.mail-action-btn{background:var(--card);border:1px solid var(--border);border-radius:4px;cursor:pointer;padding:4px;color:var(--text-muted);display:flex;align-items:center;transition:all var(--transition)}.mail-action-btn:hover{color:var(--text);background:var(--bg-secondary)}.mail-detail{overflow-y:auto;max-height:calc(100vh - 160px)}.mail-detail-content{padding:24px}.mail-detail-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.mail-detail-subject{font-size:20px;font-weight:700;color:var(--text);line-height:1.3}.mail-detail-meta{padding-bottom:20px;border-bottom:1px solid var(--border-light);margin-bottom:20px}.mail-detail-from{display:flex;align-items:center;gap:12px}.mail-detail-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary);color:#fff;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mail-detail-date{font-size:13px;color:var(--text-muted);margin-left:auto}.mail-detail-toolbar{display:flex;gap:6px;margin-top:12px;flex-wrap:wrap}.mail-detail-body{font-size:14px;line-height:1.6;color:var(--text);overflow-x:auto;padding:16px 0;word-break:break-word}.mail-detail-body img{max-width:100%;height:auto;border-radius:4px}.mail-detail-body a{color:var(--primary);word-break:break-all}.mail-detail-body table{max-width:100%;border-collapse:collapse}.mail-detail-body blockquote,.mail-detail-body .gmail_quote{border-left:3px solid var(--border);padding-left:12px;margin:12px 0;color:var(--text-secondary)}.mail-detail-body pre{background:var(--bg-secondary);padding:12px;border-radius:var(--radius);overflow-x:auto;font-size:13px}.mail-detail-body hr{border:none;border-top:1px solid var(--border-light);margin:16px 0}.mail-detail-body>div,.mail-detail-body>table{max-width:100%!important;width:auto!important}.mail-detail-iframe{width:100%;height:calc(100vh - 340px);border:none;margin-top:12px}.date-quick-wrap{display:flex;flex-direction:column;gap:4px}.date-quick-btns{display:flex;gap:4px}.date-quick-btn{padding:2px 8px;border-radius:4px;border:1px solid var(--border);background:var(--card);font-size:11px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all var(--transition)}.date-quick-btn:hover{border-color:var(--primary);color:var(--primary)}.date-quick-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.task-detail-modal{background:var(--card);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:680px;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .2s ease}.task-detail-header{display:flex;align-items:center;gap:12px;padding:20px 24px 12px}.task-detail-title-input{width:100%;border:none;outline:none;font-size:20px;font-weight:700;color:var(--text);background:transparent;padding:0}.task-detail-title-input::placeholder{color:var(--text-muted)}.task-detail-meta{display:flex;gap:16px;padding:0 24px 16px;flex-wrap:wrap}.task-detail-meta-item{display:flex;flex-direction:column;gap:4px}.task-detail-meta-item label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.task-detail-priority-picker{display:flex;gap:4px}.td-priority-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;border:1px solid var(--border);background:var(--card);font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition)}.td-priority-btn:hover{border-color:var(--pc)}.td-priority-btn.active{background:color-mix(in srgb,var(--pc) 10%,transparent);border-color:var(--pc);color:var(--pc);font-weight:600}.td-priority-dot{width:6px;height:6px;border-radius:50%}.task-detail-tabs{display:flex;border-bottom:1px solid var(--border);padding:0 24px}.task-detail-tab{padding:10px 16px;font-size:13px;font-weight:600;color:var(--text-muted);border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all var(--transition);display:flex;align-items:center;gap:6px}.task-detail-tab:hover{color:var(--text)}.task-detail-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.task-detail-tab-badge{font-size:10px;background:var(--bg-secondary);padding:1px 6px;border-radius:999px;font-weight:700;color:var(--text-muted)}.task-detail-body{flex:1;overflow-y:auto;padding:20px 24px}.task-detail-section{margin-bottom:20px}.task-detail-section-label{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.task-detail-footer{padding:12px 24px;border-top:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;gap:12px}.art-status-select{font-size:12px;font-weight:600;padding:4px 24px 4px 10px;border:1px solid transparent;border-radius:999px;cursor:pointer;width:auto;font-family:inherit;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 6px center;background-size:10px;transition:filter .15s}.art-status-select:hover{filter:brightness(.96)}.art-status-draft{background-color:#e5e7eb;color:#475569;border-color:#d1d5db}.art-status-in_progress{background-color:#dbeafe;color:#1d4ed8;border-color:#bfdbfe}.art-status-done{background-color:#dcfce7;color:#15803d;border-color:#bbf7d0}.art-row{background:var(--card)!important;border-left:3px solid transparent;transition:border-color .15s ease,background .15s ease}.art-row.art-row-draft{border-left-color:#94a3b8}.art-row.art-row-in_progress{border-left-color:#3b82f6}.art-row.art-row-done{border-left-color:#22c55e}.art-row:hover{background:var(--bg-secondary)!important}.kanban-tab-settings{margin-left:auto;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.kanban-tab-settings:hover{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 30%,var(--border));background:#6366f10a}.group-modal-tabs{display:flex;gap:6px;padding:4px;background:var(--bg-secondary);border-radius:10px;margin-bottom:4px}.group-modal-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:transparent;border:none;border-radius:7px;color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s ease}.group-modal-tab:hover{color:var(--text)}.group-modal-tab.active{background:var(--card);color:var(--primary);box-shadow:0 1px 3px #0f172a14}.task-history-list{display:flex;flex-direction:column;gap:10px}.task-history-item{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:10px}.task-history-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--border);border-radius:6px;margin-top:1px}.task-history-body{flex:1;min-width:0}.task-history-text{font-size:13px;color:var(--text);line-height:1.45;word-break:break-word}.task-history-text strong{font-weight:600}.task-history-old{color:var(--text-muted);text-decoration:line-through}.task-history-new{color:var(--primary);font-weight:500}.task-history-date{font-size:11px;color:var(--text-muted);margin-top:4px}.task-detail-complete-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;border:1.5px solid var(--success);background:var(--success);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease}.task-detail-complete-btn:hover{background:color-mix(in srgb,var(--success) 85%,#000);border-color:color-mix(in srgb,var(--success) 85%,#000)}.task-detail-complete-btn.done{background:var(--card);color:var(--success);border-color:color-mix(in srgb,var(--success) 40%,var(--border))}.task-detail-complete-btn.done:hover{background:color-mix(in srgb,var(--success) 8%,var(--card))}.td-checklist-progress{height:4px;background:var(--bg-secondary);border-radius:2px;margin-bottom:12px;overflow:hidden}.td-checklist-progress-bar{height:100%;background:var(--success);border-radius:2px;transition:width .3s ease}.td-checklist-item{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--border-light)}.td-checklist-item:last-child{border-bottom:none}.td-checklist-check{width:18px;height:18px;border:2px solid var(--border);border-radius:4px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.td-checklist-check:hover{border-color:var(--primary)}.td-checklist-check.checked{background:var(--success);border-color:var(--success)}.td-checklist-text{font-size:14px;color:var(--text);flex:1}.td-checklist-text.checked{text-decoration:line-through;color:var(--text-muted)}.td-checklist-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;opacity:0;transition:all var(--transition)}.td-checklist-item:hover .td-checklist-delete{opacity:1}.td-checklist-delete:hover{color:var(--danger)}.td-checklist-add{display:flex;gap:8px;align-items:center;margin-top:8px}.td-checklist-input{flex:1;border:none;border-bottom:1px solid var(--border-light);padding:6px 0;font-size:14px;color:var(--text);background:transparent;outline:none}.td-checklist-input:focus{border-bottom-color:var(--primary)}.td-checklist-input::placeholder{color:var(--text-muted)}.task-detail-chat-body{display:flex;flex-direction:column;padding:0}.td-chat-messages{flex:1;overflow-y:auto;padding:16px 24px;max-height:360px;min-height:200px}.td-chat-empty{text-align:center;padding:40px 0;color:var(--text-muted);font-size:14px}.td-chat-msg{display:flex;gap:10px;margin-bottom:16px}.td-chat-msg-avatar{width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.td-chat-msg-body{flex:1;min-width:0}.td-chat-msg-header{display:flex;align-items:center;gap:8px;margin-bottom:2px}.td-chat-msg-name{font-size:13px;font-weight:700;color:var(--text)}.td-chat-msg-time{font-size:11px;color:var(--text-muted)}.td-chat-msg-actions{display:flex;gap:2px;margin-left:auto;opacity:0;transition:opacity var(--transition)}.td-chat-msg:hover .td-chat-msg-actions{opacity:1}.td-chat-msg-action{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:3px;border-radius:4px;display:flex;align-items:center;transition:all var(--transition)}.td-chat-msg-action:hover{color:var(--text);background:var(--bg-secondary)}.td-chat-msg-action:last-child:hover{color:var(--danger)}.td-chat-edit-input{width:100%;border:1px solid var(--primary);border-radius:var(--radius);padding:6px 10px;font-size:14px;color:var(--text);background:var(--card);resize:none;outline:none;font-family:inherit;box-shadow:0 0 0 3px #6366f11a}.td-chat-msg-text{font-size:14px;color:var(--text);line-height:1.5;white-space:pre-wrap}.td-chat-msg-file{margin-top:6px}.td-chat-msg-image{max-width:280px;max-height:200px;border-radius:var(--radius);border:1px solid var(--border);cursor:pointer}.td-chat-file-link{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-secondary);border-radius:var(--radius);font-size:13px;color:var(--text);text-decoration:none;transition:background var(--transition)}.td-chat-file-link:hover{background:var(--border)}.td-chat-file-size{color:var(--text-muted);font-size:11px}.td-chat-input-row{display:flex;align-items:flex-end;gap:8px;padding:12px 24px 16px;border-top:1px solid var(--border-light)}.td-chat-attach{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:6px;transition:all var(--transition);flex-shrink:0}.td-chat-attach:hover{color:var(--primary);background:#6366f114}.td-chat-textarea{flex:1;border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;font-size:14px;color:var(--text);background:var(--card);resize:none;outline:none;font-family:inherit;min-height:36px;max-height:120px;transition:border-color var(--transition)}.td-chat-textarea:focus{border-color:var(--primary)}.td-chat-send{background:var(--primary);border:none;color:#fff;cursor:pointer;padding:8px;border-radius:var(--radius);transition:all var(--transition);flex-shrink:0}.td-chat-send:hover:not(:disabled){background:var(--primary-dark)}.td-chat-send:disabled{opacity:.4;cursor:default}.task-groups-row{display:flex;gap:16px;overflow-x:auto;align-items:flex-start;padding-bottom:16px}.task-group-h{flex-shrink:0;background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden;min-width:340px;max-width:calc(100vw - var(--sidebar-width) - 100px);transition:min-width .2s ease}.task-group-h.collapsed{min-width:auto;max-width:auto}.task-group-h-header{display:flex;align-items:center;gap:10px;padding:12px 16px;border-top:4px solid var(--primary);background:var(--bg-secondary)}.task-group-collapse{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;display:flex;align-items:center;border-radius:4px;transition:color var(--transition)}.task-group-collapse:hover{color:var(--text)}.task-group-icon{font-size:18px;line-height:1}.task-group-name{font-size:16px;font-weight:700;color:var(--text)}.task-group-count{font-size:12px;background:var(--bg-secondary);color:var(--text-muted);padding:1px 8px;border-radius:999px;font-weight:600}.task-group-settings{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:5px;border-radius:6px;margin-left:auto;transition:all var(--transition);display:flex;align-items:center}.task-group-settings:hover{color:var(--text);background:var(--border-light)}.task-group-h-body{padding:12px}.task-group-strip{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 10px;cursor:pointer;border-left:4px solid var(--primary);min-height:200px;transition:background var(--transition)}.task-group-strip:hover{background:var(--bg-secondary)}.task-group-strip-icon{font-size:20px}.task-group-strip-name{writing-mode:vertical-rl;text-orientation:mixed;font-size:14px;font-weight:700;color:var(--text);white-space:nowrap}.task-group-strip-count{font-size:11px;background:var(--bg-secondary);color:var(--text-muted);padding:2px 6px;border-radius:999px;font-weight:600}.tg-projects-list{display:flex;flex-direction:column;gap:4px}.tg-project-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius);border:1px solid var(--border);cursor:pointer;font-size:14px;color:var(--text);transition:all var(--transition)}.tg-project-item:hover{background:var(--bg-secondary)}.tg-project-item.checked{background:#6366f10f;border-color:var(--primary)}.tg-project-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.tg-columns-list{display:flex;flex-direction:column;gap:4px}.tg-column-item{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--bg-secondary);border-radius:var(--radius);font-size:14px;color:var(--text)}.tg-column-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.tg-column-delete{margin-left:auto;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:4px;display:flex;opacity:0;transition:all var(--transition)}.tg-column-item:hover .tg-column-delete{opacity:1}.tg-column-delete:hover{color:var(--danger)}.tg-column-add{display:flex;gap:6px;align-items:center;margin-top:4px}.tg-icon-btn{width:36px;height:36px;border-radius:var(--radius);border:2px solid var(--border);background:var(--card);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.tg-icon-btn:hover{border-color:var(--primary-light);background:var(--bg-secondary)}.tg-icon-btn.active{border-color:var(--primary);background:#6366f114;box-shadow:0 0 0 2px #6366f133}.pomo-layout{display:grid;grid-template-columns:1fr 300px;gap:24px;align-items:start}@media (max-width: 900px){.pomo-layout{grid-template-columns:1fr}}.pomo-history{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;max-height:calc(100vh - 180px);display:flex;flex-direction:column}.pomo-history-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-light)}.pomo-history-header h3{font-size:15px;font-weight:700}.pomo-history-body{flex:1;overflow-y:auto;padding:8px 0}.pomo-history-group{margin-bottom:4px}.pomo-history-date{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:8px 16px 4px}.pomo-history-task{margin:0 8px 6px;border:1px solid var(--border-light);border-radius:var(--radius);overflow:hidden}.pomo-history-task-header{display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--bg-secondary);border-bottom:1px solid var(--border-light)}.pomo-history-task-name{font-size:13px;font-weight:600;color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pomo-history-task-stats{display:flex;gap:8px;font-size:11px;color:var(--text-muted);font-weight:600;flex-shrink:0}.pomo-history-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--border-light);font-size:12px}.pomo-history-item:last-child{border-bottom:none}.pomo-history-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.pomo-history-dot.work{background:#ef4444}.pomo-history-dot.short{background:#22c55e}.pomo-history-dot.long{background:#6366f1}.pomo-history-phase{font-size:12px;color:var(--text-secondary);flex:1}.pomo-history-meta{font-size:11px;color:var(--text-muted)}.pomo-timer-wrap{display:flex;justify-content:center;padding:20px 0}.pomo-timer{position:relative;width:300px;height:300px}.pomo-timer-inner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.pomo-phase{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.pomo-time{font-size:56px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.pomo-rounds{display:flex;gap:6px;margin-top:10px}.pomo-round-btn{width:32px;height:32px;border-radius:50%;border:2px solid var(--border);background:var(--card);color:var(--text-muted);font-size:12px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.pomo-round-btn:hover{border-color:var(--primary);color:var(--primary);background:#6366f10a}.pomo-round-btn.active{background:#fef2f2;border-color:#ef4444;color:#ef4444;box-shadow:0 0 8px #ef444433}.pomo-round-btn.break{background:#f0fdf4;border-color:#22c55e;color:#22c55e;box-shadow:0 0 8px #22c55e33}.pomo-controls{display:flex;justify-content:center;gap:12px;margin:10px 0 24px}.pomo-btn{border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.pomo-btn-start{width:56px;height:56px;border-radius:50%;color:#fff;box-shadow:0 4px 12px #ef44444d}.pomo-btn-start:hover{transform:scale(1.05)}.pomo-btn-pause{width:56px;height:56px;border-radius:50%;background:var(--bg-secondary);color:var(--text);border:2px solid var(--border)}.pomo-btn-pause:hover{background:var(--border-light)}.pomo-btn-secondary{width:40px;height:40px;border-radius:50%;background:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--border)}.pomo-btn-secondary:hover{color:var(--text);background:var(--border-light)}.pomo-digit{display:inline-block;transition:color var(--transition)}.pomo-digit.editable{cursor:ns-resize;border-radius:8px}.pomo-digit.editable:hover{color:var(--primary);background:#6366f10f}.pomo-colon{opacity:.4;margin:0 2px}.pomo-overtime-actions{display:flex;gap:10px;margin-top:12px;align-items:center}.pomo-overtime-btn{padding:6px 16px;border-radius:999px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition)}.pomo-overtime-btn.add{background:#f59e0b1f;color:#d97706}.pomo-overtime-btn.add:hover{background:#f59e0b33}.pomo-overtime-btn.finish{background:var(--primary);color:#fff}.pomo-overtime-btn.finish:hover{background:var(--primary-dark)}.pomo-addtime-wrap{position:relative}.pomo-addtime-more{position:absolute;bottom:100%;left:50%;transform:translate(-50%);display:flex;gap:4px;background:var(--card);border:1px solid var(--border);border-radius:999px;padding:4px;box-shadow:var(--shadow-md);margin-bottom:6px;opacity:0;pointer-events:none;transition:all .15s ease}.pomo-addtime-wrap:hover .pomo-addtime-more{opacity:1;pointer-events:auto}.pomo-addtime-more button{padding:4px 10px;border-radius:999px;border:none;background:var(--bg-secondary);color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer;transition:all var(--transition)}.pomo-addtime-more button:hover{background:#f59e0b26;color:#d97706}.pomo-task-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border:1px solid var(--border);border-radius:999px;background:var(--card);font-size:13px;font-weight:500;color:var(--text);cursor:pointer;transition:all var(--transition)}.pomo-task-btn:hover{border-color:var(--primary-light)}.pomo-task-dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%);width:340px;max-height:260px;overflow-y:auto;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:50;margin-top:6px;text-align:left}.pomo-task-item{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:14px;cursor:pointer;transition:background var(--transition);border-bottom:1px solid var(--border-light)}.pomo-task-item:last-child{border-bottom:none}.pomo-task-item:hover{background:var(--bg-secondary)}.pomo-task-new{border-bottom:1px solid var(--border-light)!important}.pomo-task-item.active{background:#6366f10f;color:var(--primary);font-weight:600}.pomo-settings{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm)}.ai-chat-layout{display:grid;grid-template-columns:260px 1fr;height:100vh;overflow:hidden}.ai-chat-sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);padding:16px 12px;display:flex;flex-direction:column;overflow:hidden}.ai-chat-convs{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.ai-chat-conv{padding:10px 12px;border-radius:var(--radius);cursor:pointer;transition:background var(--transition);position:relative}.ai-chat-conv:hover{background:var(--border-light)}.ai-chat-conv.active{background:var(--card);box-shadow:var(--shadow-sm)}.ai-chat-conv-title{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:20px}.ai-chat-conv-meta{font-size:11px;color:var(--text-muted);margin-top:2px}.ai-chat-conv-delete{position:absolute;right:8px;top:8px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:4px;opacity:0;transition:all var(--transition)}.ai-chat-conv:hover .ai-chat-conv-delete{opacity:1}.ai-chat-conv-delete:hover{color:var(--danger)}.ai-chat-main{display:flex;flex-direction:column;height:100vh;overflow:hidden}.ai-chat-topbar{padding:10px 24px;border-bottom:1px solid var(--border-light);display:flex;align-items:center}.ai-model-dropdown{position:relative}.ai-model-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:7px 32px 7px 12px;font-size:13px;font-weight:600;color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;outline:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;transition:border-color var(--transition);min-width:200px}.ai-model-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.ai-model-select optgroup{font-weight:700;color:var(--text);font-size:12px}.ai-model-select option{font-weight:400;padding:4px 8px;font-size:13px}.ai-chat-body{flex:1;overflow-y:auto;padding:20px 24px}.ai-chat-welcome{text-align:center;padding:60px 20px 20px}.ai-chat-suggestions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:8px}.ai-chat-suggestion{padding:8px 16px;border:1px solid var(--border);border-radius:999px;background:var(--card);font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition)}.ai-chat-suggestion:hover{border-color:var(--primary);color:var(--primary)}.ai-chat-msg{display:flex;gap:10px;margin-bottom:16px}.ai-chat-msg.user{justify-content:flex-end}.ai-chat-msg-avatar{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ai-chat-msg-bubble{max-width:75%;padding:12px 16px;border-radius:16px;font-size:14px;line-height:1.6;word-break:break-word}.ai-chat-msg-bubble.user{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.ai-chat-msg-bubble.assistant{background:var(--bg-secondary);color:var(--text);border-bottom-left-radius:4px}.ai-chat-msg-bubble.assistant h3,.ai-chat-msg-bubble.assistant h4{color:#8b5cf6}.ai-chat-msg-bubble.assistant ul{margin:4px 0;padding-left:18px}.ai-chat-msg-bubble.assistant li{margin:2px 0}.ai-pre{background:#1e1b4b;color:#e2e8f0;padding:12px;border-radius:8px;overflow-x:auto;font-size:13px;margin:8px 0}.ai-chat-input-area{display:flex;align-items:flex-end;gap:10px;padding:16px 24px 20px;border-top:1px solid var(--border-light);background:var(--card)}.ai-chat-input{flex:1;border:1px solid var(--border);border-radius:12px;padding:12px 16px;font-size:14px;color:var(--text);background:var(--bg);resize:none;outline:none;font-family:inherit;min-height:44px;max-height:150px;transition:border-color var(--transition)}.ai-chat-input:focus{border-color:var(--primary)}.ai-chat-send{background:var(--primary);border:none;color:#fff;cursor:pointer;padding:10px;border-radius:12px;transition:all var(--transition);flex-shrink:0}.ai-chat-send:hover:not(:disabled){background:var(--primary-dark)}.ai-chat-send:disabled{opacity:.4;cursor:default}.ai-analysis{font-size:14px;line-height:1.7;color:var(--text)}.ai-analysis h3.ai-heading{font-size:15px;font-weight:700;color:#8b5cf6;margin:20px 0 8px;padding-bottom:6px;border-bottom:1px solid rgba(139,92,246,.15);display:flex;align-items:center;gap:6px}.ai-analysis h3.ai-heading:first-child{margin-top:0}.ai-analysis ul{margin:0 0 8px;padding-left:0;list-style:none}.ai-analysis li{padding:4px 0 4px 20px;position:relative;color:var(--text-secondary)}.ai-analysis li:before{content:"";position:absolute;left:6px;top:12px;width:6px;height:6px;border-radius:50%;background:#8b5cf6;opacity:.5}.ai-analysis strong{color:var(--text)}.ai-loading{text-align:center;padding:30px 0;color:var(--text-muted)}.ai-loading p{margin-top:12px;font-size:14px}.ai-loading-dots{display:flex;justify-content:center;gap:6px}.ai-loading-dots span{width:8px;height:8px;border-radius:50%;background:#8b5cf6;animation:aiDot 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}@keyframes aiDot{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.kanban-split{display:flex;flex-direction:column;gap:8px;padding:0 8px 8px}.kanban-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:0;overflow:hidden}.kanban-section-header{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border-light)}.kanban-section.section-personal{border-color:#22c55e33}.kanban-section.section-personal .kanban-section-header{background:#22c55e0d;color:#16a34a;border-bottom-color:#22c55e1f}.kanban-section.section-personal .kanban-section-header svg{opacity:.7;stroke:#16a34a}.kanban-section.section-projects{border-color:#6366f133}.kanban-section.section-projects .kanban-section-header{background:#6366f10d;color:#4f46e5;border-bottom-color:#6366f11f}.kanban-section.section-projects .kanban-section-header svg{opacity:.7;stroke:#4f46e5}.kanban-section-header svg{opacity:.5}.kanban-section-count{background:var(--border);color:var(--text-secondary);font-size:10px;font-weight:700;padding:0 5px;border-radius:999px;min-width:16px;text-align:center;line-height:16px}.kanban-section-tasks{padding:6px}.kanban-section-empty{text-align:center;padding:14px 8px;font-size:12px;color:var(--text-muted);opacity:.5}.kanban-section-add{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;padding:7px 8px;border:none;border-top:1px solid var(--border-light);border-radius:0;background:transparent;color:var(--text-muted);font-size:12px;font-weight:500;cursor:pointer;transition:all var(--transition)}.kanban-section-add:hover{color:var(--primary);background:#6366f10a}.kanban-divider{display:none}.kanban-project-group{margin:0;padding:4px 6px}.kanban-project-group+.kanban-project-group{border-top:1px solid var(--border-light)}.kanban-project-label{display:flex;align-items:center;gap:6px;padding:5px 6px;font-size:12px;font-weight:600;color:var(--text-secondary)}.kanban-project-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.column-name-input{background:transparent;border:none;border-bottom:2px solid var(--primary);font-size:14px;font-weight:700;color:var(--text);padding:0 0 2px;outline:none;width:120px}.kanban-column-color{height:4px;border-radius:4px 4px 0 0;width:100%}
