*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #ffffff;--bg-secondary: #f7f6f3;--bg-tertiary: #f1f1ef;--bg-hover: #f1f1ef;--border: rgba(55, 53, 47, .09);--border-strong: rgba(55, 53, 47, .16);--text: #37352f;--text-secondary: #6b6b6b;--text-tertiary: #9b9a97;--primary: #e24c23;--radius: 4px;--radius-md: 6px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 14px;--font-size-lg: 18px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--shadow: 0 1px 2px rgba(0,0,0,.04);--transition: .15s ease}[data-theme=dark]{--bg: #191919;--bg-secondary: #252525;--bg-tertiary: #2f2f2f;--bg-hover: #2f2f2f;--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .2);--text: #e3e3e3;--text-secondary: #a0a0a0;--text-tertiary: #6b6b6b;--primary: #e24c23;--shadow: 0 1px 2px rgba(0,0,0,.3)}[data-theme=dark] .sidebar{background:#1f1f1f}[data-theme=dark] .avatar-placeholder,[data-theme=dark] .logo-placeholder{background:#3a3a3a;border-color:#1f1f1f}body{font-family:var(--font);font-size:var(--font-size-base);line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}.app{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:240px;padding:0;border-right:1px solid var(--border);background:#f8f9fa;overflow-y:auto;z-index:10;display:flex;flex-direction:column}.sidebar nav{flex:1;display:flex;flex-direction:column;padding:var(--space-md) var(--space-sm) 0 var(--space-sm)}.sidebar-footer{height:45px;min-height:45px;display:flex;align-items:center;border-top:1px solid var(--border);padding:0 var(--space-sm)}.sidebar-header{height:45px;min-height:45px;display:flex;align-items:center;padding:0 var(--space-sm);border-bottom:1px solid var(--border)}.sidebar-header .sidebar-nav,.sidebar-footer .sidebar-nav{width:100%}.avatar-group{display:flex;align-items:center;gap:0px;justify-content:flex-start}.avatar-placeholder{width:24px;height:24px;background:#e1e1e1;border-radius:50%;flex-shrink:0;border:2px solid #f8f9fa;display:flex;align-items:center;justify-content:center;margin-left:0}.logo-placeholder{width:24px;height:24px;background:#e1e1e1;border-radius:35%;flex-shrink:0;border:2px solid #f8f9fa;display:flex;align-items:center;justify-content:center;margin-right:0}.avatar-placeholder{margin-left:-8px}.right{margin-left:240px;min-height:100vh;display:flex;flex-direction:column;min-width:0}.header{height:45px;min-height:45px;border-bottom:1px solid var(--border);background:var(--bg);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-sm)}.header-right{display:flex;align-items:center;gap:4px}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:6px 12px;border-radius:var(--radius);font-family:var(--font);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition),color var(--transition);border:none;text-decoration:none;color:inherit}.btn svg{width:16px;height:16px}.btn-secondary{background-color:var(--bg);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background-color:var(--bg-tertiary);border-color:var(--border-strong)}.btn-ghost{background-color:transparent;color:var(--text-secondary);border:none}.btn-ghost:hover{background-color:var(--bg-tertiary);color:var(--text)}.btn-icon{width:32px;height:32px;padding:0;justify-content:center;background:transparent;color:var(--text-secondary);border-radius:var(--radius)}.btn-icon:hover{background:var(--bg-tertiary);color:var(--text)}.main{flex:1;min-width:0}.sidebar-nav{list-style:none}.sidebar-nav-item{margin-bottom:2px}.sidebar-nav-link{display:flex;align-items:center;gap:var(--space-sm);padding:6px 10px;color:var(--text-secondary);text-decoration:none;border-radius:var(--radius);font-size:var(--font-size-sm);transition:background var(--transition),color var(--transition);font-weight:500;border:none;background:none;width:100%;text-align:left;font-family:var(--font);cursor:pointer}.sidebar-nav-link:hover{background:var(--bg-hover);color:var(--text)}.sidebar-nav-link.active{background:var(--bg-tertiary);color:var(--text);font-weight:500}.sidebar-nav-link.btn-p{color:var(--primary);font-weight:600}.sidebar-nav-link.btn-p:hover{background:#e24c2314;color:var(--primary)}.sidebar-nav-link .lucide{width:18px;height:18px;flex-shrink:0}.sidebar-section-title{margin-top:var(--space-lg);margin-bottom:var(--space-xs);padding:4px 10px;font-size:11px;color:var(--text-tertiary);font-weight:600}.sidebar-add{display:flex;align-items:center;gap:var(--space-sm);padding:6px 10px;color:var(--text-secondary);background:none;border:none;border-radius:var(--radius);font-family:var(--font);font-size:var(--font-size-sm);cursor:pointer;width:100%;text-align:left;transition:background var(--transition),color var(--transition);font-weight:500}.sidebar-add:hover{background:var(--bg-hover);color:var(--text)}.sidebar-add .lucide{width:18px;height:18px;opacity:.8}.content{flex:1;padding:var(--space-xl);min-width:0;max-width:1000px;margin:0 auto;width:100%}.content h2{font-size:20px;font-weight:var(--font-weight-semibold);color:var(--text);margin-bottom:var(--space-lg)}.projects-grid{display:flex;flex-direction:column;gap:var(--space-sm)}.project-card{display:flex;align-items:stretch;min-height:96px;background:var(--bg);border:1px solid transparent;border-radius:var(--radius-md);text-decoration:none;color:inherit;transition:background var(--transition),border-color var(--transition);overflow:hidden}.project-card:hover{background:var(--bg-secondary);border-color:var(--border)}.project-thumbnail{width:70px;min-width:70px;display:flex;align-items:center;justify-content:center;font-size:28px;position:relative}.project-thumbnail.has-color:before{content:"";position:absolute;inset:0;background:var(--project-color);opacity:.2}.project-thumbnail .lucide,.project-thumbnail span{position:relative;z-index:1}.project-body{flex:1;padding:12px var(--space-md);display:flex;flex-direction:column;gap:4px;min-width:0}.project-card-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text);line-height:1.3}.project-meta{display:flex;gap:var(--space-sm);align-items:center;font-size:var(--font-size-xs);color:var(--text-secondary)}.project-meta .folder{color:var(--text);font-weight:var(--font-weight-medium)}.project-meta .tag{color:var(--text-tertiary)}.project-stats{display:flex;gap:var(--space-md);align-items:center;margin-top:auto;padding-top:4px;font-size:var(--font-size-xs);color:var(--text-secondary);font-weight:var(--font-weight-medium)}.project-stats .stat{display:flex;align-items:center;gap:4px}.project-stats .lucide{width:14px;height:14px;color:var(--text-tertiary)}.project-right{padding:12px var(--space-md);display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;min-width:100px}.project-actions{display:flex;gap:2px;opacity:0;transition:opacity var(--transition)}.project-card:hover .project-actions{opacity:1}.project-actions .btn-icon{width:28px;height:28px}.project-actions .lucide{width:16px;height:16px}.time-ago{font-size:var(--font-size-xs);color:var(--text-tertiary)}.header-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;min-width:200px;padding:var(--space-xs);z-index:1001}.header-dropdown-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border:none;background:none;color:var(--text);font-size:var(--font-size-sm);font-family:var(--font);border-radius:var(--radius);cursor:pointer;transition:background var(--transition);width:100%;text-align:left}.header-dropdown-item:hover{background:var(--bg-hover)}.header-dropdown-item svg{flex-shrink:0}.header-dropdown-empty{padding:var(--space-md);text-align:center;color:var(--text-tertiary);font-size:var(--font-size-sm)}.user-menu-dropdown{position:absolute;top:calc(100% + 4px);left:8px;right:8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;z-index:1001;overflow:hidden}.user-menu-header{display:flex;align-items:center;gap:12px;padding:12px}.user-menu-avatar{flex-shrink:0}.user-menu-info{flex:1;min-width:0}.user-menu-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-email{font-size:var(--font-size-xs);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-divider{height:1px;background:var(--border);margin:4px 0}.user-menu-item{display:flex;align-items:center;gap:12px;padding:8px 12px;border:none;background:none;color:var(--text);font-size:var(--font-size-sm);font-family:var(--font);cursor:pointer;transition:background var(--transition);width:100%;text-align:left}.user-menu-item:hover{background:var(--bg-hover)}.user-menu-item svg{flex-shrink:0;color:var(--text-secondary)}.user-avatar-img{border:2px solid var(--bg)}:root{--color-bg: var(--bg);--color-bg-secondary: var(--bg-secondary);--color-bg-tertiary: var(--bg-tertiary);--color-border: var(--border);--color-border-hover: var(--border-strong);--color-text-primary: var(--text);--color-text-secondary: var(--text-secondary);--color-text-tertiary: var(--text-tertiary);--color-accent: var(--text);--color-accent-hover: var(--text-secondary);--color-btn-text: #ffffff;--color-primary: var(--primary);--font-family: var(--font);--font-size-xl: 24px;--font-size-2xl: 32px;--radius-sm: var(--radius);--radius-lg: 12px;--space-2xl: 48px;--shadow-sm: var(--shadow);--shadow-md: 0 2px 4px rgba(0,0,0,.06);--shadow-lg: 0 4px 8px rgba(0,0,0,.08);--shadow-xl: 0 8px 16px rgba(0,0,0,.12);--color-error: #dc2626}.projects-empty{text-align:center;padding:var(--space-xl);padding-top:var(--space-2xl);color:var(--text-tertiary)}.project-detail{max-width:900px;margin:0 auto}.project-detail-header{background-color:transparent;border:none;border-radius:0;padding:0;margin-bottom:var(--space-xl)}.project-detail-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-md)}.project-detail-description{color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--space-lg)}.project-detail-meta{display:flex;flex-wrap:wrap;gap:var(--space-lg);font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.project-detail-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-lg)}.section{background-color:transparent;border:none;border-radius:0;padding:0;margin-bottom:var(--space-xl)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.section-empty{text-align:center;padding:var(--space-xl);color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.tabs-container{margin-bottom:var(--space-xl);position:relative}.tabs-header{display:flex;gap:0;border-bottom:1px solid var(--color-border);margin-bottom:var(--space-xl)}.tabs-nav{display:flex;gap:var(--space-lg);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;position:relative;flex:1;padding-right:60px}.tabs-nav::-webkit-scrollbar{display:none}.tabs-nav:after{content:"";position:absolute;top:0;right:0;bottom:0;width:60px;background:linear-gradient(to right,transparent,var(--color-bg));pointer-events:none;z-index:1}.tabs-actions{display:flex;align-items:center;gap:var(--space-sm);padding-left:var(--space-sm);flex-shrink:0}.tab-button{background:none;border:none;padding:var(--space-md) 0;font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;position:relative;transition:color var(--transition);font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:var(--space-sm)}.tab-button:hover,.tab-button.active{color:var(--color-text-primary)}.tab-button.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background-color:var(--color-accent)}.tab-icon{width:16px;height:16px}.tab-badge{background-color:var(--color-bg-tertiary);color:var(--color-text-tertiary);font-size:var(--font-size-xs);padding:2px 6px;border-radius:10px;font-weight:var(--font-weight-medium);line-height:1;min-width:20px;text-align:center}.tab-button.active .tab-badge{background-color:var(--color-accent);color:var(--color-btn-text)}.add-tab-button{background:none;border:none;padding:var(--space-md) 0;font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--color-text-tertiary);cursor:pointer;transition:color var(--transition);font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:var(--space-sm)}.add-tab-button:hover{color:var(--color-text-secondary)}.tab-overview-button{background:none;border:none;padding:var(--space-md) 0;color:var(--color-text-tertiary);cursor:pointer;transition:color var(--transition);display:flex;align-items:center;justify-content:center;min-width:32px;position:relative}.tab-overview-button:hover{color:var(--color-text-secondary)}.tab-overview-dropdown{position:absolute;top:calc(100% + 8px);right:0;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:200px;max-width:300px;padding:var(--space-xs);z-index:1000;max-height:400px;overflow-y:auto}.tab-overview-item{width:100%;padding:var(--space-sm) var(--space-md);border:none;background:none;text-align:left;cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);font-family:var(--font-family);transition:background-color var(--transition)}.tab-overview-item:hover{background-color:var(--color-bg-secondary)}.tab-overview-item.active{background-color:var(--color-bg-tertiary);font-weight:var(--font-weight-semibold)}.tab-overview-divider{height:1px;background-color:var(--color-border);margin:var(--space-xs) 0}.tab-context-menu{position:fixed;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:150px;padding:var(--space-xs);z-index:1000}.tab-context-menu-item{width:100%;padding:var(--space-sm) var(--space-md);border:none;background:none;text-align:left;cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);font-family:var(--font-family);transition:background-color var(--transition)}.tab-context-menu-item:hover{background-color:var(--color-bg-secondary)}.tab-context-menu-item.danger{color:var(--color-error)}.tab-context-menu-item.danger:hover{background-color:#ef44441a}.tab-content{display:none}.tab-content.active{display:block}.notes-list{display:flex;flex-direction:column;gap:var(--space-md)}.note-item{padding:var(--space-md);background-color:var(--color-bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.note-content{color:var(--color-text-primary);line-height:1.6;margin-bottom:var(--space-sm);white-space:pre-wrap}.note-footer{display:flex;justify-content:space-between;align-items:center}.note-date{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.note-actions{display:flex;gap:var(--space-xs)}.todos-list{display:flex;flex-direction:column;gap:2px}.todo-item{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:4px;transition:background-color .15s ease,opacity .3s ease;border-bottom:1px solid var(--color-border)}.todo-item:last-child{border-bottom:none}.todo-item.last-active{border-bottom:none}.todo-item:hover{background-color:var(--color-bg-secondary)}.todo-checkbox{width:16px;height:16px;cursor:pointer;flex-shrink:0;transition:transform .2s cubic-bezier(.68,-.55,.265,1.55)}.todo-checkbox:hover:not(:checked){transform:scale(1.15)}.todo-item.completed .todo-checkbox{animation:checkboxBounce .4s cubic-bezier(.68,-.55,.265,1.55)}@keyframes checkboxBounce{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.todo-title{flex:1;color:var(--color-text-primary);font-size:14px;position:relative;transition:color .3s ease}.todo-item.completed .todo-title{color:var(--color-text-tertiary);animation:strikethroughDraw .4s ease-out forwards}@keyframes strikethroughDraw{0%{text-decoration:line-through;text-decoration-color:transparent}to{text-decoration:line-through;text-decoration-color:var(--color-text-tertiary)}}.todo-item.completed{opacity:.7}.links-list{display:flex;flex-direction:column;gap:var(--space-sm)}.link-preview-card{display:flex;align-items:stretch;gap:0;background-color:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border);transition:all .2s ease;overflow:hidden}.link-preview-card:hover{box-shadow:0 2px 8px #0000000f}.link-preview-thumbnail{width:80px;height:auto;aspect-ratio:1;background-color:var(--color-bg-tertiary);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary)}.link-preview-thumbnail img{width:100%;height:100%;object-fit:cover}.link-preview-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:var(--space-md);padding-left:var(--space-lg)}.link-preview-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-preview-url{font-size:var(--font-size-xs);color:var(--color-text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-preview-meta{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:2px}.link-preview-favicon{width:14px;height:14px;flex-shrink:0}.link-preview-actions{display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0;padding:var(--space-md);padding-left:0}.link-preview-actions .icon-btn{background:transparent;border:1px solid var(--color-border);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.link-preview-actions .icon-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.link-preview-actions a.icon-btn{text-decoration:none}.files-list{display:flex;flex-direction:column;gap:var(--space-sm)}.file-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background-color:var(--color-bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.file-icon{color:var(--color-text-tertiary)}.file-content{flex:1;min-width:0}.file-name{font-weight:var(--font-weight-medium);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--space-sm);color:var(--color-text-primary)}.form-input,.form-textarea{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family);background-color:var(--color-bg);color:var(--color-text-primary);transition:border-color var(--transition)}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--color-accent)}.form-textarea{resize:vertical;min-height:80px;line-height:1.6}.modal-overlay{position:fixed;inset:0;background-color:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background-color:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-xl);max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 24px #0000001f}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-lg)}.icon-btn{background:none;border:none;padding:var(--space-xs);cursor:pointer;color:var(--color-text-tertiary);border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;transition:all var(--transition)}.icon-btn:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.icon-btn svg{width:16px;height:16px}.project-icon-trigger{width:48px;height:48px;border-radius:var(--radius-md);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;overflow:hidden;transition:all var(--transition)}.project-icon-image{width:100%;height:100%;object-fit:cover}.project-icon-edit-overlay{position:absolute;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition);pointer-events:none}.project-icon-trigger:hover .project-icon-edit-overlay{opacity:1}.project-icon-edit-text{color:#fff;font-size:10px;font-weight:600;text-transform:uppercase}.project-icon-popup{position:absolute;top:100%;left:0;margin-top:var(--space-xs);background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);width:320px;z-index:1000;padding:var(--space-md)}.project-icon-popup-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.project-icon-popup-title{font-size:var(--font-size-sm);font-weight:600}.project-icon-tabs{display:flex;margin-bottom:var(--space-md);background-color:var(--color-bg-secondary);padding:2px;border-radius:var(--radius-sm)}.project-icon-tab{flex:1;border:none;background:none;padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs);cursor:pointer;border-radius:calc(var(--radius-sm) - 2px);color:var(--color-text-secondary)}.project-icon-tab.active{background-color:var(--color-bg);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.project-icon-section{margin-bottom:var(--space-md)}.project-icon-label{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.project-color-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:4px}.project-color-btn{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer}.project-color-btn.active{border-color:var(--color-text-primary)}.project-color-btn.no-color{background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);opacity:.5}.project-icon-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;max-height:200px;overflow-y:auto}.project-icon-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1px solid transparent;background:none;cursor:pointer;color:var(--color-text-secondary)}.project-icon-btn:hover{background-color:var(--color-bg-secondary)}.project-image-upload-area{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-md);border:1px dashed var(--color-border);border-radius:var(--radius-sm)}.project-image-preview{width:80px;height:80px;border-radius:var(--radius-md);overflow:hidden;background-color:var(--color-bg-secondary);display:flex;align-items:center;justify-content:center}.project-image-preview img{width:100%;height:100%;object-fit:cover}.project-image-placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);color:var(--color-text-tertiary);font-size:var(--font-size-xs);text-align:center}.project-image-actions{display:flex;gap:var(--space-sm)}.project-image-hint{font-size:10px;color:var(--color-text-tertiary);text-align:center}.project-icon-popover{position:absolute;top:100%;left:0;margin-top:8px;width:350px;max-height:400px;display:flex;flex-direction:column;background-color:var(--color-bg);box-shadow:var(--shadow-xl);border:1px solid var(--color-border);border-radius:var(--radius-lg);z-index:100;overflow:hidden}.popover-footer{padding:8px;border-top:1px solid var(--color-border);background-color:var(--color-bg-secondary)}.text-btn{background:none;border:none;font-size:13px;cursor:pointer;color:var(--color-text-secondary);padding:4px 8px;border-radius:4px}.text-btn:hover{background-color:var(--color-bg-secondary)}.text-btn.danger:hover{background-color:#fee2e2;color:#ef4444}.notion-tabs{display:flex;padding:0 8px;border-bottom:1px solid var(--color-border);gap:8px}.notion-tab{background:none;border:none;padding:10px 8px;font-size:13px;color:var(--color-text-secondary);cursor:pointer;position:relative}.notion-tab:hover{color:var(--color-text-primary)}.notion-tab.active{color:var(--color-text-primary);font-weight:500}.notion-tab.active:after{content:"";position:absolute;bottom:-1px;left:8px;right:8px;height:2px;background-color:var(--color-text-primary)}.notion-search-container{padding:8px 12px;display:flex;align-items:center;border-bottom:1px solid var(--color-border)}.notion-search-input{border:none;background:transparent;width:100%;margin-left:8px;font-size:13px;color:var(--color-text-primary);outline:none}.search-icon{color:var(--color-text-tertiary)}.emoji-grid-section{padding:12px}.emoji-category{margin-bottom:16px}.category-title{font-size:11px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;margin-bottom:8px;letter-spacing:.5px}.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(28px,1fr));gap:2px}.emoji-btn{width:28px;height:28px;font-size:18px;background:transparent;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .1s}.emoji-btn:hover{background-color:var(--color-bg-secondary)}.icon-picker-section{padding:12px}.project-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(32px,1fr));gap:4px}.project-icon-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .1s}.project-icon-btn:hover{background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.project-icon-btn.active{background-color:var(--color-primary);color:#fff}.color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(24px,1fr));gap:8px}.project-color-btn{width:24px;height:24px;border-radius:50%;border:1px solid rgba(0,0,0,.1);cursor:pointer;transition:transform .1s}.project-color-btn:hover{transform:scale(1.1)}.project-color-btn.active{border:2px solid var(--color-text-primary);box-shadow:0 0 0 2px var(--color-bg)}.project-color-btn.no-color{background:linear-gradient(to top left,rgba(0,0,0,0) 0%,rgba(0,0,0,0) calc(50% - .8px),var(--color-text-secondary) 50%,rgba(0,0,0,0) calc(50% + .8px),rgba(0,0,0,0) 100%),transparent;border:1px solid var(--color-border)}.project-image-upload-area.compact{padding:16px;background:none;border:none;align-items:center;gap:12px}.upload-section{padding:24px 16px}.project-title-container{display:flex;align-items:center;gap:8px;cursor:text;padding:4px 8px;margin-left:-8px;border-radius:var(--radius-md);transition:background-color .2s}.project-title-container:hover{background-color:var(--color-bg-secondary)}.edit-title-btn{opacity:0;background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;transition:all .2s}.project-title-container:hover .edit-title-btn{opacity:1}.edit-title-btn:hover{background-color:var(--color-bg);color:var(--color-text-primary)}.project-title-input{font-size:24px;font-weight:700;color:var(--color-text-primary);background:var(--color-bg);border:1px solid var(--color-primary);border-radius:var(--radius-md);padding:4px 8px;margin-left:-8px;width:100%;max-width:400px;outline:none;font-family:inherit}.search-empty{padding:32px;text-align:center;color:var(--color-text-secondary);font-size:14px}.sidebar-add-button{width:100%;text-align:left;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);color:var(--color-text-secondary);background:none;border:none;cursor:pointer;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family);transition:all var(--transition)}.sidebar-add-button:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.sidebar-add-button svg{width:18px;height:18px;opacity:.7}
