.header{display:flex;justify-content:space-between;align-items:center;padding:0 16px;height:56px;background:var(--card-bg);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:300}.header-left{display:flex;align-items:center;gap:24px}.header-brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--primary-color)}.header-logo{width:28px;height:28px}.header-title{font-size:16px;font-weight:700}.header-nav{display:flex;gap:4px}.nav-link{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:6px;text-decoration:none;color:var(--text-secondary);font-size:14px;font-weight:500;transition:all .15s ease}.nav-link:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-link.active{background:var(--primary-light);color:var(--primary-color)}.header-right{display:flex;align-items:center;gap:8px}.project-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:6px;font-size:13px;font-weight:500;color:#fff;cursor:pointer;transition:opacity .15s ease}.project-badge:hover{opacity:.9}.project-selector{position:relative}.project-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:200px;max-height:70vh;overflow-y:auto;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:200;padding:4px}.project-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;border-radius:6px;background:transparent;color:var(--text-primary);font-size:14px;cursor:pointer;text-align:left;transition:background .15s ease}.project-option:hover{background:var(--bg-hover)}.project-option.active{background:var(--primary-light);color:var(--primary-color)}.project-option i{font-size:14px;color:var(--text-secondary);width:16px;text-align:center}.project-option.active i{color:var(--primary-color)}.project-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.project-divider{height:1px;background:var(--border-color);margin:4px 0}.header-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.header-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.project-option-wrapper{display:flex;align-items:center;position:relative;transition:border-color .15s ease}.project-option-wrapper.dragging{opacity:.5}.project-option-wrapper.drag-over-top{border-top:2px solid var(--primary-color, #db4c3f)}.project-option-wrapper.drag-over-bottom{border-bottom:2px solid var(--primary-color, #db4c3f)}.project-drag-handle{display:flex;align-items:center;justify-content:center;width:20px;height:100%;color:var(--text-tertiary);cursor:grab;opacity:0;transition:opacity .15s ease,color .15s ease;flex-shrink:0;padding-left:8px}.project-option-wrapper:hover .project-drag-handle{opacity:1;color:var(--text-secondary)}.project-drag-handle:active{cursor:grabbing}.project-option-wrapper .project-option{flex:1;padding-right:60px}.project-option-wrapper .project-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-actions{position:absolute;right:8px;display:flex;gap:2px;opacity:0;pointer-events:none;transition:opacity .15s ease}.project-option-wrapper:hover .project-actions{opacity:1;pointer-events:auto}.project-action-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.project-action-btn:hover{background:var(--border-color);color:var(--text-primary)}.project-action-btn.delete:hover{background:var(--primary-light);color:var(--primary-color)}.project-action-btn i{font-size:11px}.add-project{color:var(--text-secondary)}.add-project:hover{background:var(--bg-hover);color:var(--text-primary)}.add-project i{color:var(--text-secondary)}.modal-content{background:var(--card-bg);border-radius:12px;width:100%;max-width:420px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.project-modal,.delete-confirm-modal{padding:0}.modal-header h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:var(--text-primary)}.form-group input[type=text]{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;background:var(--input-bg);color:var(--text-primary);transition:border-color .15s ease}.form-group input[type=text]:focus{outline:none;border-color:var(--primary-color)}.color-picker{display:flex;flex-wrap:wrap;gap:8px}.color-option{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .15s ease}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--card-bg),0 0 0 4px currentColor}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:8px}.btn-primary,.btn-secondary,.btn-danger{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-primary:disabled{background:var(--border-color);color:var(--text-tertiary);cursor:not-allowed}.btn-secondary{background:var(--bg-hover);color:var(--text-primary)}.btn-secondary:hover{background:var(--border-color)}.btn-danger{background:var(--primary-color);color:#fff}.btn-danger:hover{background:var(--primary-hover)}.delete-confirm-content{padding:20px}.delete-confirm-content p{margin:0 0 8px;font-size:14px;color:var(--text-primary)}.delete-warning{color:var(--text-tertiary);font-size:13px}.delete-confirm-modal .modal-actions{padding:0 20px 20px}.project-settings-modal{padding:0;max-width:500px}.project-settings-modal .modal-body{padding:20px}.project-settings-modal .modal-header h2{display:flex;align-items:center}.project-settings-modal .setting-description{margin:0 0 12px;font-size:13px;color:var(--text-secondary);line-height:1.4}.project-settings-modal .system-prompt-textarea{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;font-family:inherit;resize:vertical;min-height:120px;background:var(--input-bg);color:var(--text-primary);transition:border-color .15s ease}.project-settings-modal .system-prompt-textarea:focus{outline:none;border-color:var(--primary-color)}.project-settings-modal .system-prompt-textarea::placeholder{color:var(--text-tertiary)}.project-settings-modal .modal-actions{padding:0 20px 20px}.project-settings-modal .loading-state{padding:40px;text-align:center;color:var(--text-secondary)}@media(max-width:768px){.header-title,.nav-link span{display:none}.header-nav{gap:2px}.nav-link{padding:8px 10px}.modal-content{margin:16px;max-width:calc(100% - 32px)}}.voice-input-container{position:relative;display:inline-flex;align-items:center}.voice-input-btn{display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;cursor:pointer;transition:all .2s ease;background:var(--bg-secondary);color:var(--text-secondary)}.voice-input-btn--normal{width:36px;height:36px;font-size:14px}.voice-input-btn--small{width:28px;height:28px;font-size:12px}.voice-input-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.voice-input-btn--recording{background:var(--danger-color, #ef4444);color:#fff;animation:voice-pulse 1.5s ease-in-out infinite}.voice-input-btn--recording:hover:not(:disabled){background:var(--danger-color-dark, #dc2626);color:#fff}.voice-input-btn--processing{background:var(--primary-light);color:var(--primary-color);cursor:wait}.voice-input-btn--disabled{opacity:.5;cursor:not-allowed}@keyframes voice-pulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 8px #ef444400}}.voice-input-overlay{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:8px;white-space:nowrap;z-index:10}.voice-input-container--placement-left .voice-input-overlay{left:auto;right:100%;margin-left:0;margin-right:8px}.voice-input-container--placement-top .voice-input-overlay{inset:auto auto 100% 50%;transform:translate(-50%);margin-left:0;margin-bottom:8px}.voice-input-container--placement-bottom .voice-input-overlay{left:50%;right:auto;top:100%;transform:translate(-50%);margin-left:0;margin-top:8px}.voice-input-recording-indicator{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 2px 8px #0000001a}.voice-input-pulse{width:8px;height:8px;background:var(--danger-color, #ef4444);border-radius:50%;animation:voice-dot-pulse 1s ease-in-out infinite}@keyframes voice-dot-pulse{0%,to{opacity:1}50%{opacity:.4}}.voice-input-time{font-size:12px;font-weight:500;color:var(--text-primary);font-variant-numeric:tabular-nums;min-width:40px}.voice-input-cancel{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:50%;background:var(--bg-hover);color:var(--text-secondary);cursor:pointer;font-size:10px;transition:all .15s ease}.voice-input-cancel:hover{background:var(--danger-color, #ef4444);color:#fff}.voice-input-processing-indicator{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 2px 8px #0000001a;font-size:12px;color:var(--primary-color)}.voice-input-error{position:absolute;top:-4px;right:-4px;width:14px;height:14px;display:flex;align-items:center;justify-content:center;background:var(--danger-color, #ef4444);border-radius:50%;font-size:8px;color:#fff}.voice-input-container--small .voice-input-overlay{margin-left:6px}.voice-input-container--small .voice-input-recording-indicator,.voice-input-container--small .voice-input-processing-indicator{padding:4px 8px;font-size:11px}.voice-input-container--small .voice-input-pulse{width:6px;height:6px}.voice-input-container--small .voice-input-cancel{width:16px;height:16px;font-size:8px}.chat-input-area .voice-input-container{flex-shrink:0}.chat-input-area .voice-input-btn{background:transparent}.chat-input-area .voice-input-btn:hover:not(:disabled){background:var(--bg-hover)}.chat-input-area .voice-input-btn--recording{background:var(--danger-color, #ef4444);color:#fff}.chat-input-area .voice-input-btn--recording:hover:not(:disabled){background:var(--danger-color-dark, #dc2626);color:#fff}.notes-voice-btn{margin-left:auto}.chat-panel{display:flex;flex-direction:column;background:var(--card-bg);border-left:1px solid var(--border-color);position:fixed;top:56px;right:0;height:calc(100vh - 56px);z-index:100}.chat-panel.chat-left{right:auto;left:0;border-left:none;border-right:1px solid var(--border-color)}.chat-panel.chat-left .chat-resize-handle{left:auto;right:0}.chat-resize-handle{position:absolute;left:0;top:0;bottom:0;width:4px;cursor:ew-resize;background:transparent;z-index:10}.chat-resize-handle:hover{background:var(--primary-color)}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.chat-tabs{display:flex;gap:4px}.chat-tab{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.chat-tab:hover{background:var(--bg-hover)}.chat-tab.active{background:var(--primary-color);color:#fff}.chat-header-actions{display:flex;gap:4px;align-items:center}.model-selector{position:relative}.model-selector-btn{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border-color);border-radius:6px;background:var(--card-bg);color:var(--text-primary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.model-selector-btn:hover{border-color:var(--primary-color)}.model-selector-btn i{font-size:10px;color:var(--text-tertiary)}.model-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;min-width:160px;overflow:hidden}.model-option{padding:10px 14px;cursor:pointer;transition:background .15s ease}.model-option:hover{background:var(--bg-hover)}.model-option.active{background:var(--primary-light)}.model-option-name{font-size:13px;font-weight:500;color:var(--text-primary)}.model-option-desc{font-size:11px;color:var(--text-tertiary);margin-top:2px}.chat-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.chat-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.chat-messages{flex:1;overflow-y:auto;padding:16px}.chat-welcome{padding:16px;background:var(--bg-secondary);border-radius:8px;color:var(--text-secondary)}.chat-message{margin-bottom:16px}.message-bubble{display:flex;align-items:flex-start;gap:10px;position:relative}.message-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:12px;flex-shrink:0}.chat-message.user .message-icon{background:var(--primary-color);color:#fff}.chat-message.assistant .message-icon{background:var(--border-light);color:var(--text-secondary)}.chat-message.user .message-content{background:var(--primary-color);color:#fff;border-radius:12px 12px 4px}.chat-message.assistant .message-content{background:var(--bg-secondary);color:var(--text-primary);border-radius:12px 12px 12px 4px}.message-content{padding:12px 16px;font-size:14px;line-height:1.6;word-wrap:break-word;flex:1}.message-content p{margin:0 0 10px}.message-content p:last-child{margin-bottom:0}.message-content pre{background:#1e1e1e;color:#d4d4d4;padding:12px;border-radius:6px;overflow-x:auto;font-size:13px;margin:10px 0}.message-content code{background:#0000001a;padding:2px 6px;border-radius:4px;font-size:13px}.message-content pre code{background:none;padding:0}.message-image{max-width:200px;max-height:200px;border-radius:8px;margin-bottom:8px}.message-copy-btn{position:absolute;top:4px;right:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:4px;background:#ffffffe6;color:var(--text-secondary);cursor:pointer;opacity:0;transition:all .15s ease}.message-bubble:hover .message-copy-btn{opacity:1}.message-copy-btn:hover{background:var(--card-bg);color:var(--text-primary)}.message-time{font-size:11px;color:var(--text-tertiary);margin-top:4px;padding-left:38px}.message-time.text-end{text-align:right;padding-right:8px}.message-content.typing{display:flex;gap:4px;padding:16px}.message-content.typing span{width:8px;height:8px;background:var(--text-tertiary);border-radius:50%;animation:typing 1.4s infinite}.message-content.typing span:nth-child(2){animation-delay:.2s}.message-content.typing span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.chat-footer{border-top:1px solid var(--border-color);flex-shrink:0}.ai-capabilities-bar{padding:8px 16px;border-bottom:1px solid var(--border-light);position:relative}.ai-capabilities-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:4px;background:var(--bg-secondary);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s ease}.ai-capabilities-toggle:hover{background:var(--bg-hover)}.ai-capabilities-toggle.active{background:var(--primary-light);color:var(--primary-color)}.ai-capabilities-count{background:var(--primary-color);color:#fff;padding:0 6px;border-radius:10px;font-size:11px;font-weight:600}.ai-capabilities-menu{position:absolute;bottom:100%;left:16px;margin-bottom:8px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;min-width:240px;overflow:hidden}.ai-capabilities-header{padding:12px 14px;border-bottom:1px solid var(--border-light)}.ai-capabilities-header span{font-weight:600;font-size:13px;color:var(--text-primary)}.ai-capabilities-header small{display:block;font-size:11px;color:var(--text-tertiary);margin-top:2px}.ai-capability-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;cursor:pointer;transition:background .15s ease}.ai-capability-item:hover{background:var(--bg-secondary)}.ai-capability-info{display:flex;align-items:center;gap:10px}.ai-capability-info i{font-size:16px;color:var(--text-secondary)}.ai-capability-name{font-size:13px;font-weight:500;color:var(--text-primary)}.ai-capability-desc{font-size:11px;color:var(--text-tertiary)}.toggle-switch{position:relative;width:40px;height:22px}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--border-color);border-radius:22px;transition:.3s}.toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.3s}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.chat-image-preview{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;position:relative}.chat-image-preview img{max-width:80px;max-height:80px;border-radius:6px;border:1px solid var(--border-color)}.chat-image-remove{position:absolute;top:4px;right:12px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#0009;color:#fff;font-size:10px;cursor:pointer}.chat-input-area{display:flex;gap:8px;padding:12px 16px;align-items:flex-end}.chat-attach-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.chat-attach-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.chat-attach-btn.has-image{background:var(--primary-color);color:#fff}.chat-input-area textarea{flex:1;padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-family:inherit;resize:none;outline:none;transition:border-color .15s ease;max-height:120px}.chat-input-area textarea:focus{border-color:var(--primary-color)}.chat-send-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:8px;background:var(--primary-color);color:#fff;cursor:pointer;transition:opacity .15s ease}.chat-send-btn:hover:not(:disabled){opacity:.9}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.chat-selection-indicator{display:flex;align-items:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,var(--primary-light),rgba(76,175,80,.08));border-bottom:1px solid var(--border-color);font-size:13px;color:var(--text-primary)}.chat-selection-indicator .selection-items{display:flex;align-items:center;gap:12px}.chat-selection-indicator .selection-item{display:flex;align-items:center;gap:4px;font-weight:600}.chat-selection-indicator .selection-item i.fa-tasks{color:var(--primary-color)}.chat-selection-indicator .selection-item i.fa-sticky-note{color:#4caf50}.chat-selection-indicator .selection-label{color:var(--text-secondary);font-size:12px}.clear-selection-btn{width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--primary-color);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.clear-selection-btn:hover{background:var(--primary-color)15}.chat-input-footer{display:flex;justify-content:space-between;padding:0 16px 12px;font-size:11px;color:var(--text-tertiary)}.chat-history-tab{flex:1;overflow-y:auto}.history-header{padding:12px 16px;font-weight:600;font-size:14px;color:var(--text-primary);border-bottom:1px solid var(--border-light)}.history-list{padding:8px 0}.history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--text-tertiary)}.history-empty i{font-size:32px;margin-bottom:12px;opacity:.5}.history-empty p{font-size:13px}.history-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;transition:background .15s ease;border-bottom:1px solid var(--border-light)}.history-item:hover{background:var(--bg-secondary)}.history-item-content{flex:1;min-width:0}.history-item-title{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item-meta{display:flex;gap:12px;font-size:12px;color:var(--text-tertiary)}.history-item-delete{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:var(--text-tertiary);cursor:pointer;opacity:0;transition:all .15s ease;flex-shrink:0;margin-left:8px}.history-item-delete:hover{background:#fee;color:var(--primary-color)}.chat-message.streaming .message-content{border:1px solid var(--primary-light)}.current-conversation-bar{padding:8px 16px;border-bottom:1px solid var(--border-light);background:var(--bg-secondary)}.current-conversation-title{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .15s ease}.current-conversation-title:hover{background:var(--bg-hover)}.current-conversation-title span{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.edit-title-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all .15s ease;opacity:0;flex-shrink:0}.current-conversation-title:hover .edit-title-btn{opacity:1}.edit-title-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.current-conversation-input{width:100%;padding:6px 10px;border:1px solid var(--primary-color);border-radius:6px;font-size:13px;font-weight:500;color:var(--text-primary);outline:none;background:var(--input-bg)}.history-item-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;margin-left:8px}.history-item-rename{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:var(--text-tertiary);cursor:pointer;opacity:0;transition:all .15s ease}.history-item:hover .history-item-rename{opacity:1}.history-item-rename:hover{background:#e5f5ff;color:#007bff}.history-item:hover .history-item-delete{opacity:1}.history-item-title-input{width:100%;padding:4px 8px;border:1px solid var(--primary-color);border-radius:4px;font-size:14px;font-weight:500;color:var(--text-primary);outline:none;background:var(--input-bg);margin-bottom:4px}@media(max-width:768px){.chat-panel{width:100%!important;z-index:200}.model-selector-btn span{display:none}.model-selector-btn{padding:6px}}.layout{display:flex;flex-direction:column;min-height:100vh;background:var(--bg-secondary)}.layout-body{display:flex;flex:1;overflow:hidden}.layout-body.chat-left{flex-direction:row-reverse}.layout-main{flex:1;overflow-y:auto;padding:24px}@media(max-width:768px){.layout-main{padding:16px}}.tasks-page-container{display:flex;gap:0;max-width:100%;height:calc(100vh - 104px);margin:-24px;background:var(--card-bg);position:relative}.mobile-tag-toggle,.mobile-reorder-btns,.edit-modal-delete-mobile,.tag-panel-overlay,.tag-panel-close-btn,.modal-chat-section,.modal-delete-section{display:none}.tag-panel-header-actions{display:flex;align-items:center;gap:4px}.tasks-page-container.with-tag-panel .tasks-page{max-width:calc(100% - 220px)}.tasks-page{flex:1;max-width:800px;margin:0 auto;padding:24px;overflow-y:auto}.tag-panel{width:200px;min-width:200px;background:var(--card-bg);border-right:1px solid var(--border-color);padding:16px;display:flex;flex-direction:column;overflow-y:auto}.tag-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-light)}.tag-panel-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-primary)}.tag-panel-title i{color:var(--primary-color)}.tag-panel-manage-btn{width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.tag-panel-manage-btn:hover{background:var(--bg-hover);color:var(--primary-color)}.tag-panel-list{display:flex;flex-direction:column;gap:2px}.tag-panel-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:none;border-radius:var(--radius-md);background:transparent;cursor:pointer;text-align:left;width:100%;transition:all .15s ease}.tag-panel-item:hover{background:var(--bg-hover)}.tag-panel-item.active{background:var(--primary-light);color:var(--primary-color)}.tag-panel-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.tag-panel-name{font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tag-panel-item.active .tag-panel-name{color:var(--primary-color);font-weight:500}.tag-panel-item-wrapper{display:flex;align-items:center;position:relative;transition:border-color .15s ease}.tag-panel-item-wrapper.dragging{opacity:.5}.tag-panel-item-wrapper.drag-over-top{border-top:2px solid var(--primary-color, #db4c3f)}.tag-panel-item-wrapper.drag-over-bottom{border-bottom:2px solid var(--primary-color, #db4c3f)}.tag-drag-handle{display:flex;align-items:center;justify-content:center;width:16px;height:100%;color:var(--text-tertiary);cursor:grab;opacity:0;transition:opacity .15s ease,color .15s ease;flex-shrink:0;margin-left:4px}.tag-panel-item-wrapper:hover .tag-drag-handle{opacity:1;color:var(--text-secondary)}.tag-drag-handle:active{cursor:grabbing}.tag-panel-item-wrapper .tag-panel-item{flex:1}.tag-panel-empty{display:flex;flex-direction:column;align-items:center;padding:24px 12px;color:var(--text-tertiary);text-align:center;gap:8px}.tag-panel-empty i{font-size:24px;opacity:.5}.tag-panel-empty span{font-size:13px}.tag-panel-toggle{width:32px;height:32px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.tag-panel-toggle:hover{background:var(--bg-hover);border-color:var(--primary-color);color:var(--primary-color)}.tag-panel-toggle.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.tasks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.tasks-header-left{display:flex;align-items:center;gap:12px}.tasks-header h1{font-size:24px;font-weight:700}.project-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500;border:1px solid}.project-badge i{font-size:10px}.project-badge.all-projects{background-color:#e3f2fd;color:#1976d2;border-color:#1976d2}.project-badge.no-project{background-color:var(--bg-secondary);color:var(--text-secondary);border-color:var(--text-tertiary)}.tasks-stats{display:flex;gap:16px;font-size:13px;color:var(--text-secondary)}.tasks-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:16px}.tasks-toolbar-left{display:flex;align-items:center;gap:12px}.tasks-toolbar-right{display:flex;align-items:center;gap:16px}.view-density-toggle{display:flex;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.view-density-btn{width:32px;height:32px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;border-right:1px solid var(--border-color)}.view-density-btn:last-child{border-right:none}.view-density-btn:hover{background:var(--bg-hover)}.view-density-btn.active{background:var(--primary-color);color:#fff}.add-task-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;border:none;border-radius:var(--radius-md);background:var(--primary-color);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .15s ease}.add-task-btn:hover{opacity:.9}.manage-tags-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.manage-tags-btn:hover{background:var(--bg-hover);border-color:var(--primary-color);color:var(--primary-color)}.manage-tags-btn i{font-size:14px}.show-completed-toggle{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);cursor:pointer}.add-task-form{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;margin-bottom:16px}.add-task-form input{width:100%;padding:10px 14px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;margin-bottom:12px;outline:none}.add-task-form input:focus{border-color:var(--primary-color)}.add-task-actions{display:flex;gap:8px}.btn-primary{padding:8px 16px;border:none;border-radius:var(--radius-md);background:var(--primary-color);color:#fff;font-size:13px;font-weight:500;cursor:pointer}.btn-secondary{padding:8px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer}.btn-secondary:hover{background:var(--bg-hover)}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text-tertiary)}.tasks-list{display:flex;flex-direction:column;gap:2px;background:var(--bg-secondary);border-radius:var(--radius-lg);padding:4px}.task-item{display:flex;align-items:flex-start;gap:4px;padding:12px 16px;background:var(--card-bg);transition:background .1s ease;cursor:pointer;border-radius:var(--radius-md)}.task-item:hover{background:var(--bg-hover)}.task-item.dragging{opacity:.5;background:var(--primary-light)}.task-item.selected{background:var(--primary-light);border-left:3px solid var(--primary-color)}.task-item.view-compact{padding:8px 12px;gap:8px}.task-item.view-comfortable{padding:16px 20px;gap:16px}.task-item.subtask{margin-left:32px;padding-left:1rem;background:var(--bg-secondary);border-left:2px solid var(--border-light)}.task-item.subtask:hover{background:var(--bg-hover);border-left-color:var(--primary-color)}.subtasks-container{border-left:2px solid var(--border-light);margin-left:26px}.task-drag-handle{display:flex;align-items:center;justify-content:center;width:10px;height:16px;color:var(--text-tertiary);cursor:grab;opacity:0;transition:opacity .15s ease;flex-shrink:0;margin-top:2px}.task-item:hover .task-drag-handle{opacity:1}.task-drag-handle:active{cursor:grabbing}.task-drag-handle i{font-size:12px}.task-select-btn{display:flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);opacity:0;transition:opacity .15s ease,color .15s ease,background .15s ease;flex-shrink:0;margin-top:3px}.task-select-btn i{font-size:11px}.task-item:hover .task-select-btn{opacity:1}.task-select-btn:hover{color:#4caf50;background:#4caf501a}.task-select-btn.active{opacity:1;color:#4caf50;background:#4caf5026}.tasks-list.has-selections .task-select-btn{opacity:1}.task-checkbox{flex-shrink:0;width:16px;height:16px;border:none;background:transparent;font-size:16px;cursor:pointer;padding:0;margin-top:2px;transition:transform .1s ease}.task-checkbox:hover{transform:scale(1.1)}.task-checkbox.checked{color:var(--success-color)!important}.task-content{flex:1;min-width:0}.task-title-row{display:flex;align-items:center;gap:8px}.task-title{font-size:14px;color:var(--text-primary)}.view-compact .task-title{font-size:13px}.view-comfortable .task-title{font-size:15px}.task-item.completed .task-title{text-decoration:line-through;color:var(--text-tertiary)}.task-description{display:block;font-size:12px;color:var(--text-secondary);margin-top:4px}.view-compact .task-description{font-size:11px;margin-top:2px}.view-comfortable .task-description{font-size:13px;margin-top:6px}.priority-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:600;color:#fff;text-transform:uppercase}.priority-badge.small{padding:1px 4px;font-size:9px}.task-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.view-compact .task-tags{margin-top:4px}.view-comfortable .task-tags{margin-top:8px}.tag-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500}.task-actions{display:flex;gap:4px;opacity:0;transition:opacity .1s ease}.task-item:hover .task-actions{opacity:1}.task-action-btn{width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center}.task-action-btn:hover{background:var(--bg-hover)}.task-action-btn.edit:hover{color:var(--primary-color)}.task-action-btn.delete:hover{color:var(--danger-color)}.task-action-btn.select.active{color:var(--primary-color);background:var(--primary-light)}.task-action-btn.select:hover{color:var(--primary-color)}.completed-section{margin-top:24px}.completed-section h3{font-size:14px;font-weight:600;color:var(--text-secondary);margin-bottom:12px}.tasks-list.completed{opacity:.7}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--card-bg);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #00000026}.edit-modal-content{background:var(--card-bg);border-radius:8px;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000001f;overflow:hidden}.edit-modal-content.drag-over{border:2px dashed var(--primary-color)}.edit-modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-light);flex-shrink:0}.edit-modal-header h2{font-size:16px;font-weight:600;margin:0;color:var(--text-primary)}.edit-modal-header-actions{display:flex;align-items:center;gap:4px}.edit-modal-action-btn{width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.edit-modal-action-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.edit-modal-action-btn.active{background:var(--primary-light);color:var(--primary-color)}.edit-modal-action-btn.delete:hover{background:#dc35451a;color:#dc3545}.edit-modal-content form{display:flex;flex-direction:column;flex:1;min-height:0;padding:0}.edit-modal-body{display:grid;grid-template-columns:1fr 320px;gap:0;flex:1;min-height:0;overflow:hidden}.edit-modal-details{padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.edit-modal-collaboration{padding:16px;background:var(--bg-secondary);border-left:1px solid var(--border-light);overflow-y:auto;display:flex;flex-direction:column;gap:16px}.edit-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border-light);background:var(--card-bg);flex-shrink:0}.form-group.compact{margin-bottom:0}.form-group.compact label{margin-bottom:4px}.edit-modal-title-input{font-size:16px;font-weight:500;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;width:100%;outline:none}.edit-modal-title-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-light)}.description-input-wrapper.compact textarea{padding:8px 12px;font-size:13px;min-height:140px;resize:vertical;border-radius:6px}.inline-meta-row{display:flex;align-items:center;gap:16px;padding:8px 0;flex-wrap:wrap}.inline-meta-item{display:flex;align-items:center;gap:6px;position:relative}.inline-meta-item i{color:var(--text-tertiary);font-size:13px}.inline-date-input{padding:6px 10px;border:1px solid var(--border-color);border-radius:6px;font-size:13px;outline:none;min-width:130px}.inline-date-input:focus{border-color:var(--primary-color)}.clear-inline-date{position:absolute;right:4px;width:18px;height:18px;border:none;border-radius:50%;background:var(--bg-hover);color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:9px}.clear-inline-date:hover{background:var(--primary-color);color:#fff}.priority-pills{display:flex;gap:4px}.priority-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border-color);border-radius:16px;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.priority-pill:hover{background:var(--bg-hover);border-color:var(--text-tertiary)}.priority-pill.selected{color:var(--text-primary);font-weight:600}.priority-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.section-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:0!important}.section-label i{font-size:11px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.section-add-btn{width:24px;height:24px;border:1px solid var(--border-color);border-radius:4px;background:transparent;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;transition:all .15s ease}.section-add-btn:hover{background:var(--bg-hover);border-color:var(--primary-color);color:var(--primary-color)}.tags-select.compact{gap:6px}.tag-pill{padding:4px 10px;border:1px solid;border-radius:12px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.tag-pill:hover{opacity:.85}.subtasks-list.compact{padding:6px;min-height:32px;max-height:240px;overflow-y:auto;background:var(--bg-secondary);border-radius:6px}.add-subtask-form.compact{padding:4px}.add-subtask-form.compact input{padding:6px 10px;font-size:13px}.empty-hint{font-size:12px;color:var(--text-tertiary);font-style:italic;text-align:center;padding:8px}.loading-hint{font-size:12px;color:var(--text-tertiary);display:flex;align-items:center;gap:6px;padding:8px}.collab-section{display:flex;flex-direction:column}.comments-section.compact{background:var(--card-bg);border-radius:6px;padding:8px;border:1px solid var(--border-light)}.comments-list.compact{max-height:160px;overflow-y:auto;margin-bottom:8px}.comment-item.compact{padding:8px;margin-bottom:6px}.comment-item.compact .comment-content{font-size:13px}.comment-input-wrapper.compact{gap:6px}.comment-input-wrapper.compact input{padding:8px 10px;font-size:13px}.attachments-section.compact{background:var(--card-bg);border-radius:6px;padding:8px;border:1px solid var(--border-light)}.attachments-empty.compact{padding:16px;font-size:12px;gap:6px}.attachments-empty.compact i{font-size:20px}.attachments-grid.compact{grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:6px}.attachment-item.compact{height:60px;border-radius:4px}.attachment-item.compact .attachment-overlay{padding:4px}.attachment-item.compact .attachment-name{font-size:9px}@media(max-width:768px){.edit-modal-content{max-width:100%;max-height:100vh;border-radius:0}.edit-modal-body{grid-template-columns:1fr;overflow-y:auto}.edit-modal-collaboration{border-left:none;border-top:1px solid var(--border-light)}.inline-meta-row{flex-direction:column;align-items:flex-start;gap:12px}.priority-pills{width:100%;justify-content:flex-start}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-light)}.modal-header h2{font-size:18px;font-weight:600;margin:0;display:flex;align-items:center;gap:8px}.modal-header h2 i{color:var(--primary-color)}.modal-close{width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px}.modal-content form{padding:20px}.form-group label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.form-group input,.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;outline:none;font-family:inherit;resize:vertical}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-light)}.priority-select{display:flex;gap:8px}.priority-option{flex:1;padding:8px;border:2px solid var(--border-light);border-radius:var(--radius-md);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.priority-option:hover{background:var(--bg-hover)}.priority-option.selected{border-width:2px}.tags-select{display:flex;flex-wrap:wrap;gap:8px}.no-tags-hint{font-size:13px;color:var(--text-tertiary);font-style:italic}.tag-option{padding:6px 12px;border:1px solid;border-radius:16px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.tag-option:hover{opacity:.8}.tag-option.selected{box-shadow:0 2px 4px #0000001a}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid var(--border-light)}.tag-manage-modal{max-width:400px}.tag-manage-content{padding:20px}.tag-manage-empty{display:flex;flex-direction:column;align-items:center;padding:32px 16px;text-align:center;color:var(--text-secondary)}.tag-manage-empty i{font-size:32px;opacity:.4;margin-bottom:12px;color:var(--primary-color)}.tag-manage-empty p{margin:0;font-size:14px}.tag-manage-empty .hint{font-size:12px;color:var(--text-tertiary);margin-top:8px}.tag-manage-list{display:flex;flex-direction:column;gap:8px}.tag-manage-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border-light);border-radius:var(--radius-md)}.tag-manage-color{width:16px;height:16px;border-radius:50%;flex-shrink:0}.tag-manage-name{font-size:14px;color:var(--text-primary);flex:1}.tag-manage-actions{display:flex;gap:4px;margin-left:auto}.tag-action-btn{width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.tag-action-btn:hover{background:var(--bg-hover)}.tag-action-btn.edit:hover{color:#06c}.tag-action-btn.delete:hover{color:var(--primary-color)}.tag-create-form{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border-light)}.tag-create-form h4,.tag-manage-list-section h4{font-size:14px;font-weight:600;margin:0 0 12px;color:var(--text-primary)}.tag-form-row{display:flex;gap:8px;align-items:center;margin-bottom:12px}.tag-name-input{flex:1;padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;outline:none}.tag-name-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-light)}.color-picker-wrapper{display:flex;align-items:center;gap:6px}.color-preview{width:20px;height:20px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 3px #0003}.color-select{padding:6px 8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:12px;background:var(--input-bg);cursor:pointer}.color-palette{display:flex;gap:6px;flex-wrap:wrap}.color-palette.inline{margin:8px 0}.color-swatch{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .15s ease;padding:0}.color-swatch:hover{transform:scale(1.1)}.color-swatch.selected{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--card-bg),0 0 0 4px currentColor}.tag-create-notice{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg-secondary);border-radius:var(--radius-md);margin-bottom:20px;font-size:13px;color:var(--text-secondary)}.tag-create-notice i{color:#06c}.tag-manage-list-section{margin-top:0}.tag-edit-form{flex:1;display:flex;flex-direction:column;gap:8px}.tag-edit-actions{display:flex;gap:8px}.tag-delete-confirm{flex:1;display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text-primary)}.btn-primary-sm{padding:6px 12px;font-size:13px;font-weight:500;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s ease}.btn-primary-sm:hover:not(:disabled){background:#c53929}.btn-primary-sm:disabled{opacity:.6;cursor:not-allowed}.btn-secondary-sm{padding:6px 12px;font-size:13px;font-weight:500;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s ease}.btn-danger-sm{padding:6px 12px;font-size:13px;font-weight:500;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s ease}.btn-danger-sm:hover:not(:disabled){background:#c53929}.btn-danger-sm:disabled{opacity:.6;cursor:not-allowed}.due-date-input-wrapper{display:flex;align-items:center;gap:8px;position:relative}.due-date-input-wrapper i{color:var(--text-tertiary);font-size:14px}.due-date-input{flex:1;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;outline:none;font-family:inherit}.due-date-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-light)}.clear-due-date{position:absolute;right:8px;width:20px;height:20px;border:none;border-radius:50%;background:var(--bg-hover);color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px}.clear-due-date:hover{background:var(--primary-color);color:#fff}.due-date-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:11px;background:var(--bg-hover);color:var(--text-secondary)}.due-date-badge i{font-size:10px}.due-date-badge.overdue{background:#ffeaea;color:var(--primary-color)}.task-item.overdue{border-left:3px solid var(--primary-color)}.task-item.overdue .task-title{color:var(--primary-color)}.overdue-stat{color:var(--primary-color);font-weight:500}.overdue-stat i{margin-right:4px}.overdue-alert{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ffeaea;border:1px solid var(--primary-light);border-radius:var(--radius-md);margin-bottom:16px;color:var(--primary-color)}.overdue-alert i{font-size:18px}.overdue-alert-content{font-size:13px}.overdue-alert-content strong{font-weight:600}.subtasks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.subtasks-header label{margin-bottom:0!important}.add-subtask-btn{padding:4px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;display:flex;align-items:center;gap:4px}.add-subtask-btn:hover{background:var(--bg-hover);border-color:var(--primary-color);color:var(--primary-color)}.subtasks-list{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:8px;background:var(--bg-hover);border-radius:var(--radius-md);min-height:40px;max-height:200px;overflow-y:auto}.no-subtasks-hint{font-size:13px;color:var(--text-tertiary);font-style:italic;text-align:center;padding:8px}.subtask-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--card-bg);border-radius:var(--radius-sm);width:100%;box-sizing:border-box}.subtask-checkbox{width:16px!important;height:16px!important;min-width:16px!important;max-width:16px!important;flex-shrink:0;cursor:pointer;accent-color:var(--primary-color);margin:0;padding:0}.subtask-title{flex:1;min-width:0;font-size:13px;color:var(--text-primary);cursor:pointer;text-align:left;word-break:break-word}.subtask-title.completed{text-decoration:line-through;color:var(--text-tertiary)}.subtask-edit-input{flex:1;padding:4px 8px;border:1px solid var(--primary-color);border-radius:var(--radius-sm);font-size:13px;outline:none}.subtask-delete-btn{width:20px;height:20px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;opacity:0;transition:opacity .15s ease}.subtask-item:hover .subtask-delete-btn{opacity:1}.subtask-delete-btn:hover{background:#ffeaea;color:var(--primary-color)}.add-subtask-form{display:flex;flex-direction:column;gap:8px;padding:8px;background:var(--card-bg);border-radius:var(--radius-sm);border:1px solid var(--primary-color)}.add-subtask-form input{padding:8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;outline:none}.add-subtask-form input:focus{border-color:var(--primary-color)}.add-subtask-actions{display:flex;gap:6px}.btn-primary-sm{padding:4px 12px;border:none;border-radius:var(--radius-sm);background:var(--primary-color);color:#fff;font-size:12px;font-weight:500;cursor:pointer}.btn-primary-sm:hover{opacity:.9}.btn-secondary-sm{padding:4px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer}.btn-secondary-sm:hover{background:var(--bg-hover)}.subtasks-preview{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:11px;color:var(--text-tertiary)}.subtasks-preview i{font-size:10px}.completed-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.completed-header h3{margin:0}.clear-completed-btn{padding:4px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);font-size:12px;cursor:pointer;display:flex;align-items:center;gap:4px}.clear-completed-btn:hover{color:var(--primary-color);background:#ffeaea}.clear-completed-btn:disabled{opacity:.5;cursor:not-allowed}.deleted-section{margin-top:24px}.deleted-section-toggle{display:flex;align-items:center;gap:8px;padding:8px 12px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:14px;cursor:pointer;width:100%;text-align:left;transition:background .15s ease}.deleted-section-toggle:hover{background:var(--bg-hover)}.deleted-section-toggle i:first-child{color:var(--text-tertiary)}.deleted-section-toggle i:last-child{margin-left:auto;font-size:12px}.deleted-list{margin-top:12px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.deleted-task-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-light);opacity:.7}.deleted-task-item:last-child{border-bottom:none}.deleted-task-content{display:flex;flex-direction:column;gap:4px}.deleted-task-title{font-size:14px;color:var(--text-primary);text-decoration:line-through}.deleted-date{font-size:11px;color:var(--text-tertiary)}.restore-btn{padding:6px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;display:flex;align-items:center;gap:4px}.restore-btn:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.undo-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:16px;padding:12px 20px;background:#333;color:#fff;border-radius:var(--radius-lg);box-shadow:0 4px 20px #0000004d;z-index:1001;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.undo-toast-message{font-size:14px}.undo-toast-btn{padding:6px 14px;border:none;border-radius:var(--radius-md);background:var(--primary-color);color:#fff;font-size:13px;font-weight:500;cursor:pointer}.undo-toast-btn:hover{opacity:.9}.undo-toast-close{width:24px;height:24px;border:none;border-radius:50%;background:#ffffff1a;color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.undo-toast-close:hover{background:#fff3}@media(max-width:768px){.tasks-page-container{flex-direction:column}.tag-panel{display:none;position:fixed;left:0;top:104px;bottom:0;z-index:50;width:280px;box-shadow:4px 0 20px #00000026}.tag-panel.mobile-open{display:flex}.tag-panel-overlay{position:fixed;inset:104px 0 0;background:#0006;z-index:49}.tag-panel-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:18px}.tag-panel-close-btn:hover{background:var(--bg-hover);color:var(--primary-color)}.tasks-page-container.with-tag-panel .tasks-page{max-width:100%}.tasks-page{padding:12px;max-width:100%}.tasks-header{flex-wrap:wrap;gap:8px;margin-bottom:12px}.tasks-header h1{font-size:20px}.tasks-header-left{gap:8px}.tasks-header-right{font-size:12px}.tasks-toolbar{flex-wrap:wrap;margin-bottom:10px;gap:8px}.tasks-toolbar-left{flex-wrap:wrap;gap:6px}.manage-tags-btn,.view-density-toggle{display:none}.add-task-btn{padding:8px 12px;font-size:13px}.show-completed-toggle{font-size:13px;gap:6px}.mobile-tag-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-bg);color:var(--text-secondary);cursor:pointer;flex-shrink:0}.mobile-tag-toggle:hover{background:var(--bg-hover);border-color:var(--primary-color);color:var(--primary-color)}.mobile-tag-toggle.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.task-select-btn,.task-drag-handle,.task-actions{display:none!important}.mobile-reorder-btns{display:flex;flex-direction:column;gap:1px;margin-right:6px;flex-shrink:0}.mobile-reorder-btn{width:20px;height:16px;border:none;border-radius:3px;background:var(--bg-hover);color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:9px;padding:0;transition:all .15s ease}.mobile-reorder-btn:hover{background:var(--primary-color);color:#fff}.mobile-reorder-btn:disabled{opacity:.3;cursor:not-allowed}.task-item{padding:12px 10px;gap:8px;flex-wrap:wrap}.task-checkbox{width:22px!important;height:22px!important;font-size:18px!important;flex-shrink:0}.task-content{flex:1;min-width:0}.task-title{font-size:15px;line-height:1.4}.task-title-row{flex-wrap:wrap;gap:6px}.task-meta{font-size:11px;gap:6px}.priority-badge{padding:2px 6px;font-size:10px}.due-date{font-size:11px;padding:2px 6px}.modal-overlay{display:block;padding:0;overflow-y:scroll;-webkit-overflow-scrolling:touch}.modal-overlay:before{content:"";display:block;height:20px}.modal-overlay:after{content:"";display:block;height:40px}.modal-content{max-height:none;height:auto;margin:0 10px 20px;border-radius:var(--radius-lg)}.modal-content form{padding:12px 16px 16px}.form-group{margin-bottom:10px}.form-group label{font-size:12px;margin-bottom:4px}.form-group input,.form-group textarea{font-size:16px}.modal-header{padding:12px 16px}.modal-header h2{font-size:18px}.modal-actions{padding:12px 0;gap:8px;margin-top:8px}.modal-chat-section{display:block;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.modal-chat-btn{width:100%;padding:10px 16px;border:1px solid #4caf50;border-radius:var(--radius-md);background:#4caf500d;color:#4caf50;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .15s ease}.modal-chat-btn:hover,.modal-chat-btn.active{background:#4caf50;color:#fff}.modal-delete-section{display:block;margin-top:12px}.modal-delete-btn{width:100%;padding:10px 16px;border:1px solid #dc3545;border-radius:var(--radius-md);background:#dc35450d;color:#dc3545;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .15s ease}.modal-delete-btn:hover{background:#dc3545;color:#fff}}@media(min-width:769px){.mobile-tag-toggle,.tag-panel-overlay,.mobile-reorder-btns,.modal-delete-section{display:none!important}}.add-task-input-row{display:flex;align-items:center;gap:8px}.add-task-input-row input{flex:1}.add-task-voice{flex-shrink:0}.description-input-wrapper{position:relative}.description-input-wrapper textarea{width:100%;padding-right:40px}.description-voice-btn{position:absolute;right:8px;top:8px}.description-voice-btn .voice-input-container{position:static}.description-voice-btn .voice-input-overlay{z-index:10001}.comments-section{background:var(--bg-hover);border-radius:var(--radius-md);padding:12px}.comments-loading,.comments-empty{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;color:var(--text-tertiary);font-size:13px}.comments-list{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.comment-item{background:var(--card-bg);border-radius:var(--radius-md);padding:10px 12px;border-left:3px solid var(--border-color)}.comment-item.ai-comment{border-left-color:#7c3aed;background:linear-gradient(to right,rgba(124,58,237,.05),var(--card-bg))}.comment-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.comment-author{font-size:12px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:4px}.ai-indicator{color:#7c3aed;font-size:11px}.comment-time{font-size:11px;color:var(--text-tertiary)}.comment-delete{margin-left:auto;width:18px;height:18px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;opacity:0;transition:all .15s ease}.comment-item:hover .comment-delete{opacity:1}.comment-delete:hover{background:#ffeaea;color:var(--primary-color)}.comment-content{font-size:13px;color:var(--text-primary);line-height:1.4;white-space:pre-wrap;word-break:break-word}.comment-input-wrapper{display:flex;align-items:center;gap:8px;background:var(--card-bg);border-radius:var(--radius-md);padding:4px}.comment-input-wrapper input{flex:1;padding:8px 12px;border:none;background:transparent;font-size:13px;outline:none}.comment-send-btn{width:32px;height:32px;border:none;border-radius:var(--radius-md);background:var(--primary-color);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .15s ease}.comment-send-btn:disabled{opacity:.5;cursor:not-allowed}.comment-send-btn:not(:disabled):hover{opacity:.9}.attachments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.attachments-header label{display:flex;align-items:center;gap:6px;margin-bottom:0!important}.attachments-header label i{color:var(--text-tertiary)}.add-attachment-btn{padding:4px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;display:flex;align-items:center;gap:4px;transition:all .15s ease}.add-attachment-btn:hover{background:var(--bg-hover);border-color:var(--primary-color);color:var(--primary-color)}.add-attachment-btn:disabled{opacity:.5;cursor:not-allowed}.attachments-section{background:var(--bg-hover);border-radius:var(--radius-md);padding:12px;min-height:60px}.attachments-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;color:var(--text-tertiary);font-size:13px}.attachments-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:16px;color:var(--text-tertiary);text-align:center}.attachments-empty i{font-size:24px;opacity:.5}.attachments-empty span{font-size:13px}.attachments-hint{font-size:11px!important;opacity:.7}.attachments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.attachment-item{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;background:var(--card-bg);border:1px solid var(--border-color)}.attachment-item img{width:100%;height:100%;object-fit:cover;transition:transform .15s ease}.attachment-item:hover img{transform:scale(1.05)}.attachment-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000000b3);padding:8px 6px 6px;display:flex;flex-direction:column;opacity:0;transition:opacity .15s ease}.attachment-item:hover .attachment-overlay{opacity:1}.attachment-name{font-size:10px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-size{font-size:9px;color:#ffffffb3}.attachment-delete{position:absolute;top:4px;right:4px;width:22px;height:22px;border:none;border-radius:var(--radius-sm);background:#00000080;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;opacity:0;transition:all .15s ease}.attachment-item:hover .attachment-delete{opacity:1}.attachment-delete:hover{background:var(--primary-color)}.upload-progress,.upload-error{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-sm);font-size:12px;margin-top:8px}.upload-progress{background:var(--primary-light);color:var(--primary-color)}.upload-error{background:#ffeaea;color:var(--primary-color)}.modal-content.drag-over{border:2px dashed var(--primary-color)}.drop-overlay{position:absolute;inset:0;background:#db4c3f1a;border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:10;pointer-events:none}.drop-overlay i{font-size:48px;color:var(--primary-color)}.drop-overlay span{font-size:16px;font-weight:500;color:var(--primary-color)}.image-lightbox{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:2000;padding:40px}.image-lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-md)}.lightbox-close{position:absolute;top:20px;right:20px;width:40px;height:40px;border:none;border-radius:50%;background:#ffffff1a;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;transition:background .15s ease}.lightbox-close:hover{background:#fff3}.form-group>label>i{color:var(--text-tertiary);margin-right:4px}@media(max-width:768px){.comments-list{max-height:150px}.attachments-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:6px}.attachment-overlay{opacity:1;padding:6px 4px 4px}.attachment-delete{opacity:1}}.task-item.nest-target{position:relative}.task-item.nest-target:after{content:"→ Make subtask";position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:.75rem;color:var(--primary-color);font-weight:500;background:var(--card-bg, #fff);padding:2px 8px;border-radius:4px;border:1px solid var(--primary-color);z-index:10}.task-item.promoting{position:relative}.task-item.promoting:after{content:"← Promote to task";position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:.75rem;color:#28a745;font-weight:500;background:var(--card-bg, #fff);padding:2px 8px;border-radius:4px;border:1px solid #28a745;z-index:10}.notes-page{display:flex;height:calc(100vh - 104px);margin:-24px;background:var(--card-bg);position:relative}.mobile-notes-toggle,.mobile-notes-modal{display:none}.notes-page.dragging .drop-overlay{pointer-events:auto}.drop-overlay{position:absolute;inset:0;background:#fffffff2;border:3px dashed var(--primary-color);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;z-index:100}.drop-message{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--primary-color)}.drop-message i{font-size:48px}.drop-message span{font-size:18px;font-weight:600}.drop-message small{font-size:12px;color:var(--text-tertiary)}.notes-sidebar{width:280px;border-right:1px solid var(--border-color);display:flex;flex-direction:column}.notes-sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border-color)}.notes-sidebar-header h3{font-size:16px;font-weight:600}.add-note-btn{width:28px;height:28px;border:none;border-radius:var(--radius-md);background:var(--primary-color);color:#fff;cursor:pointer;transition:background .15s ease}.add-note-btn:hover{background:var(--primary-hover)}.notes-list{flex:1;overflow-y:auto}.note-item{display:flex;align-items:center;gap:8px;padding:12px 8px 12px 4px;cursor:pointer;border-bottom:1px solid var(--border-light);transition:background .1s ease,opacity .2s ease,transform .2s ease}.note-item:hover{background:var(--bg-hover)}.note-item:hover .delete-note-btn,.note-item:hover .note-select-btn{opacity:1}.note-item.dragging{opacity:.5;background:var(--primary-light)}.note-drag-handle{display:flex;align-items:center;justify-content:center;width:20px;color:var(--text-tertiary);opacity:.3;cursor:grab;transition:opacity .15s ease,color .15s ease}.note-item:hover .note-drag-handle{opacity:.7}.note-drag-handle:hover{opacity:1!important;color:var(--text-secondary)}.note-drag-handle:active{cursor:grabbing}.note-type-icon{color:var(--text-tertiary);font-size:14px;flex-shrink:0}.note-type-icon.fa-book{color:var(--primary-color)}.note-item.active{background:var(--primary-light)}.note-item.ai-selected{background:#4caf5014;border-left:3px solid #4caf50}.note-item.ai-selected.active{background:#4caf5026}.note-select-btn{opacity:0;padding:4px 8px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:opacity .15s ease,color .15s ease,background .15s ease}.note-select-btn:hover{color:#4caf50;background:#4caf501a}.note-select-btn.active{opacity:1;color:#4caf50;background:#4caf5026}.note-item-content{flex:1;min-width:0}.note-name{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reference-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;font-size:9px;font-weight:700;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border-radius:4px;letter-spacing:.5px;flex-shrink:0}.note-date{display:block;font-size:12px;color:var(--text-tertiary);margin-top:2px}.delete-note-btn{opacity:0;padding:4px 8px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:opacity .15s ease,color .15s ease,background .15s ease}.delete-note-btn:hover{color:#dc3545;background:#dc35451a}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--border-color)}.upload-file-btn{width:100%;padding:8px 12px;border:1px dashed var(--border-color);background:transparent;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;gap:8px;transition:border-color .15s ease,color .15s ease}.upload-file-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.notes-main{flex:1;display:flex;flex-direction:column;padding:24px}.context-fuel-bar{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:12px 16px;margin-bottom:20px}.fuel-bar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.fuel-bar-label{font-size:12px;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.fuel-bar-label i{color:var(--primary-color)}.fuel-bar-stats{font-size:12px;font-weight:600;color:var(--text-primary)}.fuel-bar-track{height:8px;background:var(--border-color);border-radius:4px;overflow:hidden}.fuel-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.fuel-bar-fill.success{background:linear-gradient(90deg,#22c55e,#16a34a)}.fuel-bar-fill.warning{background:linear-gradient(90deg,#f59e0b,#d97706)}.fuel-bar-fill.danger{background:linear-gradient(90deg,#ef4444,#dc2626)}.fuel-bar-legend{display:flex;gap:16px;margin-top:8px;font-size:11px;color:var(--text-tertiary)}.fuel-bar-legend i{margin-right:4px}.fuel-bar-legend .fa-file-alt{color:#22c55e}.fuel-bar-legend .fa-book{color:var(--primary-color)}.note-editor{flex:1;display:flex;flex-direction:column}.editor-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.note-title-input{flex:1;border:none;font-size:24px;font-weight:700;outline:none;background:transparent;color:var(--text-primary)}.editor-actions{display:flex;align-items:center;gap:12px}.reference-toggle{display:flex;align-items:center;gap:8px;cursor:pointer}.toggle-label{font-size:12px;font-weight:500;color:var(--text-secondary)}.toggle-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.toggle-track{position:relative;display:inline-block;width:36px;height:20px;background:var(--border-color);border-radius:10px;transition:background .2s ease;flex-shrink:0}.toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #0000004d}.toggle-input:checked+.toggle-track{background:var(--primary-color)}.toggle-input:checked+.toggle-track .toggle-thumb{transform:translate(16px)}.toggle-input:disabled+.toggle-track{opacity:.5;cursor:not-allowed}.reference-toggle:hover .toggle-track{background:var(--text-tertiary)}.reference-toggle:hover .toggle-input:checked+.toggle-track{background:var(--primary-hover)}.save-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:var(--radius-md);background:var(--primary-color);color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease}.save-btn:hover:not(:disabled){background:var(--primary-hover)}.save-btn:disabled{opacity:.6;cursor:not-allowed}.save-status{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;min-height:32px}.save-status-idle{color:transparent}.save-status-saving{color:var(--text-tertiary)}.save-status-saved{color:#28a745}.save-status-error{color:#dc3545}.retry-save-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid #dc3545;border-radius:var(--radius-md);background:#dc35451a;color:#dc3545;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s ease}.retry-save-btn:hover{background:#dc354533}.delete-btn{padding:8px 12px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-tertiary);cursor:pointer;transition:color .15s ease,background .15s ease}.delete-btn:hover:not(:disabled){color:#dc3545;background:#dc35451a}.editor-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.editor-tabs{display:flex;gap:4px;padding:4px;background:var(--bg-secondary);border-radius:var(--radius-md);width:fit-content}.tab{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease}.tab:hover:not(.active){background:var(--bg-hover)}.tab.active{background:var(--card-bg);color:var(--text-primary);box-shadow:0 1px 3px #0000001a}.tts-controls{display:flex;align-items:center;gap:8px}.tts-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-bg);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.tts-btn:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color);background:var(--primary-light)}.tts-btn:disabled{opacity:.5;cursor:not-allowed}.tts-btn.listen-btn{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));border:none;color:#fff}.tts-btn.listen-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-hover),#a82e23);color:#fff}.voice-selector-container{position:relative}.voice-btn{min-width:36px;padding:8px}.voice-dropdown{position:absolute;top:100%;right:0;margin-top:4px;width:280px;max-height:300px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;z-index:100;overflow:hidden}.voice-dropdown-header{padding:10px 12px;font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.voice-list{max-height:250px;overflow-y:auto}.voice-option{padding:10px 12px;font-size:13px;color:var(--text-primary);cursor:pointer;transition:background .1s ease;border-bottom:1px solid var(--border-light)}.voice-option:last-child{border-bottom:none}.voice-option:hover{background:var(--bg-hover)}.voice-option.selected{background:var(--primary-light);color:var(--primary-color);font-weight:500}.note-content-input{flex:1;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px;font-size:14px;line-height:1.6;resize:none;outline:none;font-family:SF Mono,Monaco,monospace;background:var(--bg-secondary);color:var(--text-primary);transition:border-color .15s ease}.note-content-input:focus{border-color:var(--primary-color)}.markdown-preview{flex:1;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px;overflow-y:auto;background:var(--card-bg);color:var(--text-primary);line-height:1.6}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3,.markdown-preview h4,.markdown-preview h5,.markdown-preview h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-preview h1{font-size:2em}.markdown-preview h2{font-size:1.5em}.markdown-preview h3{font-size:1.25em}.markdown-preview p{margin-bottom:16px}.markdown-preview code{background:var(--bg-secondary);padding:2px 6px;border-radius:4px;font-family:SF Mono,Monaco,monospace;font-size:85%}.markdown-preview pre{background:var(--bg-secondary);padding:16px;border-radius:var(--radius-md);overflow-x:auto;margin-bottom:16px}.markdown-preview pre code{background:transparent;padding:0}.markdown-preview ul,.markdown-preview ol{margin-bottom:16px;padding-left:24px}.markdown-preview li{margin-bottom:4px}.markdown-preview blockquote{border-left:4px solid var(--primary-color);margin:0 0 16px;padding:0 16px;color:var(--text-secondary)}.markdown-preview a{color:var(--primary-color);text-decoration:none}.markdown-preview a:hover{text-decoration:underline}.markdown-preview table{width:100%;border-collapse:collapse;margin-bottom:16px}.markdown-preview th,.markdown-preview td{border:1px solid var(--border-color);padding:8px 12px;text-align:left}.markdown-preview th{background:var(--bg-secondary);font-weight:600}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-tertiary)}.empty-state i{font-size:48px;margin-bottom:16px;opacity:.3}.empty-state h3{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.empty-state-actions{display:flex;gap:12px;margin-top:24px}.create-note-btn,.upload-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:background .15s ease}.create-note-btn{background:var(--primary-color);color:#fff}.create-note-btn:hover{background:var(--primary-hover)}.upload-btn{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.upload-btn:hover{background:var(--bg-hover)}.empty-list{padding:24px;text-align:center;color:var(--text-tertiary);font-size:13px;display:flex;flex-direction:column;align-items:center;gap:12px}.empty-list .upload-btn{padding:8px 16px;font-size:13px}.loading-state{padding:24px;display:flex;justify-content:center}.modal{background:var(--card-bg);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #0003}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.modal-header h3{font-size:16px;font-weight:600}.close-btn{padding:4px 8px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:color .15s ease,background .15s ease}.close-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.modal-body{padding:20px;display:flex;flex-direction:column;gap:16px}.modal-input{padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;outline:none;transition:border-color .15s ease}.modal-input:focus{border-color:var(--primary-color)}.modal-textarea{min-height:200px;padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;font-family:SF Mono,Monaco,monospace;line-height:1.6;resize:vertical;outline:none;transition:border-color .15s ease}.modal-textarea:focus{border-color:var(--primary-color)}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--border-color)}.cancel-btn{padding:10px 20px;border:1px solid var(--border-color);background:transparent;border-radius:var(--radius-md);font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background .15s ease}.cancel-btn:hover{background:var(--bg-hover)}.create-btn{padding:10px 20px;border:none;background:var(--primary-color);border-radius:var(--radius-md);font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:background .15s ease}.create-btn:hover:not(:disabled){background:var(--primary-hover)}.create-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.notes-page{flex-direction:column}.notes-sidebar{display:none}.notes-main{padding:16px}.editor-header,.editor-actions{flex-wrap:wrap}.editor-toolbar{flex-direction:column;align-items:stretch}.tts-controls{justify-content:flex-end}.voice-dropdown{width:250px}.mobile-notes-toggle{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;margin-bottom:16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-bg);color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.mobile-notes-toggle:hover{background:var(--bg-hover);border-color:var(--primary-color)}.mobile-notes-toggle i{color:var(--primary-color)}.mobile-notes-modal{position:fixed;inset:0;background:#00000080;z-index:100;display:flex;flex-direction:column}.mobile-notes-modal-content{background:var(--card-bg);flex:1;display:flex;flex-direction:column;max-height:100vh;overflow:hidden}.mobile-notes-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.mobile-notes-modal-header h3{font-size:18px;font-weight:600;margin:0}.mobile-notes-close{width:36px;height:36px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:18px;cursor:pointer}.mobile-notes-list{flex:1;overflow-y:auto;padding:8px}.mobile-note-item{display:flex;align-items:center;gap:12px;padding:14px 12px;border-radius:var(--radius-md);cursor:pointer;transition:background .1s ease;border:1px solid var(--border-light);margin-bottom:8px}.mobile-note-item:hover,.mobile-note-item:active{background:var(--bg-hover)}.mobile-note-item.active{background:var(--primary-light);border-color:var(--primary-color)}.mobile-note-item .note-type-icon{font-size:18px;flex-shrink:0}.mobile-note-item .note-item-content{flex:1;min-width:0}.mobile-note-item .note-name{font-size:15px}.mobile-note-item .note-date{font-size:13px}.mobile-note-item .note-select-btn,.mobile-note-item .delete-note-btn{opacity:1;width:40px;height:40px;font-size:16px}.mobile-notes-actions{display:flex;gap:12px;padding:16px;border-top:1px solid var(--border-color);flex-shrink:0}.mobile-notes-actions button{flex:1;padding:14px 16px;font-size:15px;border-radius:var(--radius-md)}}.notes-voice-input{display:flex;align-items:center;margin-left:auto;padding-left:12px}.transcribe-page{display:flex;gap:24px;max-width:1200px;margin:0 auto}.transcribe-main{flex:1}.transcribe-main h1{font-size:24px;font-weight:700;margin-bottom:8px}.subtitle{color:var(--text-secondary);margin-bottom:24px}.input-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.input-option{border:2px solid var(--border-color);border-radius:var(--radius-lg);padding:20px 16px;text-align:center;background:var(--bg-secondary);transition:all .2s ease;min-height:160px;display:flex;flex-direction:column;justify-content:center;align-items:center}.input-option:hover{border-color:var(--primary-color)}.input-option.recording{border-color:#dc3545;background:#dc35450d}.input-option.paused{border-color:#ffc107;background:#ffc1070d}.input-option-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin-bottom:12px}.recording-idle{display:flex;flex-direction:column;align-items:center}.recording-hint{margin-top:8px;margin-bottom:0;font-size:12px;color:var(--text-tertiary)}.mic-not-supported{color:var(--text-tertiary)}.mic-not-supported i{font-size:24px;color:#ffc107;margin-bottom:8px}.mic-not-supported p{font-size:12px;margin:0}.record-btn{width:52px;height:52px;border-radius:50%;border:none;font-size:20px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.record-btn.start{background:var(--primary-color);color:#fff}.record-btn.start:hover{background:#c74033;transform:scale(1.05)}.record-btn.stop{background:#6c757d;color:#fff}.record-btn.stop:hover{background:#5c636a}.pause-btn,.resume-btn{width:40px;height:40px;border-radius:50%;border:none;font-size:16px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.pause-btn{background:#ffc107;color:#212529}.pause-btn:hover{background:#e0a800}.resume-btn{background:#28a745;color:#fff}.resume-btn:hover{background:#218838}.recording-active{display:flex;flex-direction:column;align-items:center}.recording-status{font-size:13px;color:var(--text-secondary);margin-bottom:4px;display:flex;align-items:center}.recording-status .pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:#dc3545;margin-right:6px;animation:pulse 1.5s infinite}.recording-status .pulse.paused{background:#ffc107;animation:none}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.9)}}.recording-timer{font-size:24px;font-weight:600;font-family:monospace;color:var(--text-primary);margin:8px 0}.recording-timer.recording{color:#dc3545}.recording-timer.paused{color:#ffc107}.recording-controls{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px}.playback-section{width:100%;padding:12px}.playback-section audio{width:100%;height:36px;margin-bottom:12px}.playback-actions{display:flex;gap:8px;justify-content:center}.use-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:var(--radius-md);background:var(--primary-color);color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s ease}.use-btn:hover{background:#c74033}.redo-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s ease}.redo-btn:hover{background:var(--bg-hover);border-color:var(--text-tertiary)}.upload-zone{cursor:pointer}.upload-zone i{font-size:32px;color:var(--text-tertiary);margin-bottom:8px}.upload-zone p{font-size:14px;color:var(--text-secondary);margin-bottom:4px}.upload-zone.has-file{padding:16px}.file-types{font-size:11px;color:var(--text-tertiary)}.file-info{display:flex;align-items:center;gap:12px}.file-info i{font-size:24px;color:var(--primary-color);margin-bottom:0}.file-info span{font-size:14px;font-weight:500;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-info button{padding:4px 8px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer}.file-info button:hover{color:var(--danger-color)}.transcribe-actions{margin-top:16px;display:flex;gap:8px}.btn-primary{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:var(--radius-md);background:var(--primary-color);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s ease}.btn-primary:hover{background:#c74033}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{display:flex;align-items:center;gap:8px;padding:10px 20px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--text-tertiary)}.result-card{margin-top:24px;padding:16px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.result-card h3{font-size:14px;font-weight:600;margin-bottom:12px}.result-content{font-size:14px;line-height:1.6;white-space:pre-wrap;max-height:300px;overflow-y:auto}.copy-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .2s ease}.copy-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.send-to-chat-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--primary-color);border-radius:var(--radius-md);background:transparent;color:var(--primary-color);font-size:12px;cursor:pointer;transition:all .2s ease}.send-to-chat-btn:hover{background:var(--primary-color);color:#fff}.transcribe-sidebar{width:300px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;height:fit-content}.transcribe-sidebar h3{font-size:14px;font-weight:600;margin-bottom:16px}.history-list{max-height:400px;overflow-y:auto}.history-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:var(--radius-md);cursor:pointer}.history-item:hover{background:var(--bg-hover)}.history-item i{color:var(--text-tertiary)}.history-content{flex:1;min-width:0}.history-name{display:block;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-date{display:block;font-size:11px;color:var(--text-tertiary)}.empty-list{text-align:center;color:var(--text-tertiary);font-size:13px;padding:24px}.loading-state{display:flex;justify-content:center;padding:24px}.options-bar{display:flex;gap:24px;margin-bottom:16px;flex-wrap:wrap}.option-group{display:flex;align-items:center;gap:8px}.option-group label{font-size:13px;color:var(--text-secondary)}.option-group select{padding:6px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:13px;background:var(--input-bg);color:var(--text-primary);cursor:pointer}.checkbox-label{display:flex;align-items:center;gap:6px;cursor:pointer;position:relative}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary-color)}.checkbox-label .tooltip{display:none;position:absolute;left:0;top:100%;margin-top:4px;padding:6px 10px;background:#333;color:#fff;font-size:11px;border-radius:var(--radius-sm);white-space:nowrap;z-index:10}.checkbox-label:hover .tooltip{display:block}.error-message{display:flex;align-items:center;gap:8px;margin-top:16px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);color:#dc2626;font-size:13px}.error-message i{font-size:14px}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.result-header h3{margin-bottom:0}.result-actions{display:flex;gap:8px}.save-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:var(--radius-md);background:var(--primary-color);color:#fff;font-size:12px;cursor:pointer;transition:background .2s ease}.save-btn:hover{background:#c74033}.save-btn:disabled{opacity:.5;cursor:not-allowed}.history-item.active{background:var(--primary-light)}.history-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s ease}.history-item:hover .history-actions{opacity:1}.history-actions .action-btn{background:transparent;border:none;padding:4px 6px;border-radius:4px;cursor:pointer;color:var(--text-tertiary);font-size:12px}.history-actions .action-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.history-actions .action-btn.delete:hover{color:var(--primary-color);background:var(--primary-light)}.rename-input{width:100%;font-size:13px;font-weight:500;padding:2px 4px;border:1px solid var(--accent);border-radius:4px;background:var(--bg-primary);outline:none}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--card-bg);border-radius:var(--radius-lg);width:90%;max-width:600px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color)}.modal-header h3{margin:0;font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px}.modal-header h3 i{color:var(--primary-color)}.modal-close{padding:8px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all .2s ease}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body{padding:20px}.modal-description{font-size:13px;color:var(--text-secondary);margin-bottom:16px}.cleanup-prompt-textarea{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-family:monospace;font-size:13px;line-height:1.5;resize:vertical;min-height:120px}.cleanup-prompt-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.btn-cancel{padding:10px 20px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:var(--bg-hover)}@media(max-width:768px){.transcribe-page{flex-direction:column}.transcribe-sidebar{width:100%}.input-options-grid{grid-template-columns:1fr}}.settings-page{max-width:700px;margin:0 auto;padding:24px 16px}.settings-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:var(--text-secondary)}.settings-loading .spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}.settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.settings-header h1{font-size:28px;font-weight:700;color:var(--text-primary);margin:0}.saving-indicator{font-size:13px;color:var(--primary-color);display:flex;align-items:center;gap:6px}.settings-section{margin-bottom:32px}.section-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.section-header i{font-size:16px;color:var(--primary-color)}.section-header h2{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.settings-card{background:var(--card-bg, #fff);border-radius:var(--radius-lg, 12px);border:1px solid var(--border-color, #e5e5e5);box-shadow:0 1px 3px #0000000a;overflow:hidden}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-light, #f0f0f0)}.setting-row:last-child{border-bottom:none}.setting-info{display:flex;flex-direction:column;gap:4px}.setting-label{font-size:14px;font-weight:500;color:var(--text-primary)}.setting-description{font-size:12px;color:var(--text-tertiary, #999)}.setting-value{display:flex;align-items:center}.username-display{font-size:14px;font-weight:500;color:var(--primary-color);background:var(--primary-light);padding:6px 12px;border-radius:var(--radius-md, 8px)}.setting-control{display:flex;align-items:center}.model-select{padding:8px 12px;font-size:14px;border:1px solid var(--border-color, #e5e5e5);border-radius:var(--radius-md, 8px);background:var(--input-bg, #fff);color:var(--text-primary);cursor:pointer;min-width:150px;transition:border-color .15s ease}.model-select:hover{border-color:var(--primary-color)}.model-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.toggle-switch{position:relative;display:inline-block;width:48px;height:26px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary-color)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.density-options{display:flex;gap:4px;background:var(--bg-secondary, #f5f5f5);padding:4px;border-radius:var(--radius-md, 8px)}.density-btn{padding:8px 16px;font-size:13px;font-weight:500;border:none;border-radius:var(--radius-sm, 6px);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.density-btn:hover{color:var(--text-primary)}.density-btn.active{background:var(--card-bg, #fff);color:var(--primary-color);box-shadow:0 1px 3px #0000001a}.theme-row{flex-direction:column;align-items:flex-start}.theme-row .setting-info.full-width{width:100%}.theme-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px;width:100%}.theme-preview-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px;border:2px solid transparent;border-radius:var(--radius-md, 8px);background:transparent;cursor:pointer;transition:all .15s ease}.theme-preview-btn:hover{border-color:var(--border-color)}.theme-preview-btn.active{border-color:var(--primary-color);background:var(--bg-hover)}.theme-preview{width:100%;aspect-ratio:4/3;border-radius:6px;background:var(--preview-bg);border:1px solid var(--preview-border);overflow:hidden;padding:6px;display:flex;flex-direction:column;gap:4px}.preview-header{display:flex;align-items:center;gap:4px;padding-bottom:4px;border-bottom:1px solid var(--preview-border)}.preview-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.preview-title-bar{height:4px;flex:1;background:var(--preview-text);opacity:.3;border-radius:2px}.preview-content{display:flex;flex-direction:column;gap:3px;flex:1;justify-content:center}.preview-line{height:3px;background:var(--preview-text);opacity:.2;border-radius:2px;width:100%}.preview-line.short{width:40%}.preview-line.medium{width:70%}.theme-name{font-size:11px;font-weight:500;color:var(--text-secondary)}.theme-preview-btn.active .theme-name{color:var(--primary-color)}.password-section{flex-direction:column;align-items:flex-start}.password-section .setting-info.full-width{width:100%}.password-form{margin-top:16px;width:100%;max-width:400px}.password-message{padding:10px 14px;border-radius:var(--radius-md, 8px);font-size:13px;margin-bottom:16px}.password-message.error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.password-message.success{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.password-field{margin-bottom:14px}.password-field label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary, #666);margin-bottom:6px}.password-field input{width:100%;padding:10px 12px;font-size:14px;border:1px solid var(--border-color, #e5e5e5);border-radius:var(--radius-md, 8px);background:var(--input-bg, #fff);color:var(--text-primary);transition:border-color .15s ease,box-shadow .15s ease}.password-field input:hover{border-color:#ccc}.password-field input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.password-field input:disabled{background:#f5f5f5;cursor:not-allowed}.password-field input::placeholder{color:#aaa}.password-submit-btn{padding:10px 20px;font-size:14px;font-weight:500;color:#fff;background:var(--primary-color);border:none;border-radius:var(--radius-md, 8px);cursor:pointer;transition:background .15s ease,transform .1s ease}.password-submit-btn:hover:not(:disabled){background:var(--primary-hover)}.password-submit-btn:active:not(:disabled){transform:scale(.98)}.password-submit-btn:disabled{opacity:.6;cursor:not-allowed}.system-prompt-section{flex-direction:column;align-items:flex-start}.system-prompt-section .setting-info.full-width{width:100%}.system-prompt-textarea{margin-top:12px;width:100%;padding:12px;font-size:14px;font-family:inherit;line-height:1.5;border:1px solid var(--border-color, #e5e5e5);border-radius:var(--radius-md, 8px);background:var(--input-bg, #fff);color:var(--text-primary);resize:vertical;min-height:100px;transition:border-color .15s ease,box-shadow .15s ease}.system-prompt-textarea:hover{border-color:#ccc}.system-prompt-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.system-prompt-textarea::placeholder{color:#aaa}.prompt-actions{display:flex;align-items:center;gap:12px;margin-top:12px}.prompt-save-btn{padding:10px 20px;font-size:14px;font-weight:500;color:#fff;background:var(--primary-color);border:none;border-radius:var(--radius-md, 8px);cursor:pointer;transition:background .15s ease,transform .1s ease}.prompt-save-btn:hover:not(:disabled){background:var(--primary-hover)}.prompt-save-btn:active:not(:disabled){transform:scale(.98)}.prompt-save-btn:disabled{opacity:.6;cursor:not-allowed}.unsaved-indicator{font-size:13px;color:#f59e0b;font-style:italic}.topic-input{padding:8px 12px;font-size:14px;border:1px solid var(--border-color, #e5e5e5);border-radius:var(--radius-md, 8px);background:var(--input-bg, #fff);color:var(--text-primary);min-width:180px;transition:border-color .15s ease,box-shadow .15s ease}.topic-input:hover{border-color:#ccc}.topic-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.topic-input::placeholder{color:#aaa}.hours-input{padding:8px 12px;font-size:14px;border:1px solid var(--border-color, #e5e5e5);border-radius:var(--radius-md, 8px);background:var(--input-bg, #fff);color:var(--text-primary);width:80px;text-align:center;transition:border-color .15s ease,box-shadow .15s ease}.hours-input:hover{border-color:#ccc}.hours-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.quiet-hours-control{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}.hours-select{padding:8px 12px;font-size:14px;border:1px solid var(--border-color, #e5e5e5);border-radius:var(--radius-md, 8px);background:var(--input-bg, #fff);color:var(--text-primary);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.hours-select:hover{border-color:#ccc}.hours-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.test-notification-btn{padding:8px 16px;font-size:13px;font-weight:500;color:#fff;background:var(--primary-color);border:none;border-radius:var(--radius-md, 8px);cursor:pointer;transition:background .15s ease,transform .1s ease}.test-notification-btn:hover:not(:disabled){background:var(--primary-hover)}.test-notification-btn:active:not(:disabled){transform:scale(.98)}.test-notification-btn:disabled{opacity:.6;cursor:not-allowed}.test-status{margin-left:10px;font-size:13px;font-weight:500}.test-status.success{color:#16a34a}.test-status.error{color:#dc2626}@media(max-width:600px){.settings-page{padding:16px 12px}.settings-header h1{font-size:24px}.setting-row{flex-direction:column;align-items:flex-start;gap:12px;padding:14px 16px}.setting-control,.model-select{width:100%}.density-options{width:100%;justify-content:space-between}.density-btn{flex:1;text-align:center}.theme-grid{grid-template-columns:repeat(2,1fr);gap:10px}.theme-preview-btn{padding:6px}.password-form{max-width:100%}}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-secondary)}.login-card{width:100%;max-width:400px;padding:32px;background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:0 4px 12px #0000001a}.login-card h1{font-size:28px;font-weight:700;text-align:center;color:var(--text-primary);margin-bottom:8px}.subtitle{text-align:center;color:var(--text-secondary);margin-bottom:24px}.error-alert{padding:12px 16px;background:var(--primary-light);border:1px solid var(--primary-color);border-radius:var(--radius-md);color:var(--primary-color);font-size:14px;margin-bottom:16px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:6px}.form-group input{width:100%;padding:10px 14px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--input-bg);color:var(--text-primary);font-size:14px;outline:none;transition:border-color .15s ease}.form-group input:focus{border-color:var(--primary-color)}.login-btn{width:100%;padding:12px;border:none;border-radius:var(--radius-md);background:var(--primary-color);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s ease}.login-btn:hover:not(:disabled){opacity:.9}.login-btn:disabled{opacity:.5;cursor:not-allowed}.register-link{text-align:center;margin-top:20px;font-size:14px;color:var(--text-secondary)}.register-link a{color:var(--primary-color);font-weight:500}:root{--primary-color: #db4c3f;--primary-hover: #c53727;--primary-light: rgba(219, 76, 63, .1);--bg-primary: #ffffff;--bg-secondary: #fafafa;--bg-hover: #f5f5f5;--text-primary: #202020;--text-secondary: #666666;--text-tertiary: #999999;--border-color: #e5e5e5;--border-light: #f0f0f0;--card-bg: #ffffff;--input-bg: #ffffff;--success-color: #28a745;--warning-color: #ffc107;--danger-color: #dc3545;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5;color:var(--text-primary);background:var(--bg-secondary)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px}.spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}button,input,textarea{font-family:inherit}a{color:var(--primary-color);text-decoration:none}a:hover{text-decoration:underline}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5;color:var(--text-primary);background:var(--bg-secondary);min-height:100vh}#root{min-height:100vh}
