:root{--bg: #fafaf9;--surface: #ffffff;--border: #e7e5e4;--border-light: #f5f5f4;--text: #1c1917;--text-secondary: #57534e;--text-muted: #a8a29e;--green: #16a34a;--green-bg: #dcfce7;--green-light: #f0fdf4;--blue: #2563eb;--blue-bg: #dbeafe;--blue-light: #eff6ff;--amber: #d97706;--amber-bg: #fef3c7;--amber-light: #fffbeb;--red: #dc2626;--red-bg: #fee2e2;--red-light: #fef2f2;--purple: #7c3aed;--purple-bg: #ede9fe;--purple-light: #f5f3ff;--rose: #e11d48;--rose-bg: #ffe4e6;--rose-light: #fff1f2;--radius: 14px;--radius-sm: 10px}*{margin:0;padding:0;box-sizing:border-box}body,html{font-family:-apple-system,SF Pro Display,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}.app-container{display:flex;flex-direction:column;min-height:100vh}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg)}.auth-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:40px;max-width:400px;text-align:center}.auth-box h1{font-size:28px;font-weight:700;margin-bottom:12px}.auth-box p{font-size:14px;color:var(--text-secondary);margin-bottom:24px}.auth-button{width:100%;padding:12px 16px;background:var(--text);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.auth-button:hover{background:var(--text-secondary)}.auth-note{font-size:12px;color:var(--text-muted);margin-top:16px}.topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:18px 40px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100}.topbar h1{font-size:20px;font-weight:700}.topbar h1 span{color:var(--green)}.topbar-right{display:flex;align-items:center;gap:12px}.filter-btn{padding:6px 16px;border-radius:20px;border:1px solid var(--border);background:var(--surface);font-size:13px;cursor:pointer;transition:all .15s;font-weight:500}.filter-btn:hover{border-color:var(--text)}.filter-btn.active{background:var(--text);color:#fff;border-color:var(--text)}.filter-btn.icon-btn{padding:6px 10px;display:flex;align-items:center;justify-content:center}.date-badge{font-size:13px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);padding:6px 14px;border-radius:20px}.container{max-width:1200px;margin:0 auto;padding:28px 24px 60px;flex:1}.spotlight{background:linear-gradient(135deg,#1a5c2e,#166534,#14532d);color:#fff;border-radius:var(--radius);padding:24px 32px;display:flex;align-items:center;gap:20px;margin-bottom:24px;cursor:pointer;transition:transform .2s}.spotlight:hover{transform:translateY(-2px)}.spotlight-icon{font-size:32px;flex-shrink:0;background:#ffffff26;width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center}.spotlight-text{flex:1}.spotlight-text h2{font-size:16px;font-weight:600;margin-bottom:6px}.spotlight-text p{font-size:13px;opacity:.85;line-height:1.5}.spotlight-days{text-align:center;flex-shrink:0}.spotlight-days .num{font-size:36px;font-weight:800}.spotlight-days .label{font-size:11px;text-transform:uppercase;letter-spacing:1px;opacity:.7}.spotlight-edit-form{background:var(--surface);border:2px solid var(--green);border-radius:var(--radius);padding:24px;margin-bottom:24px;display:flex;flex-direction:column;gap:12px}.spotlight-edit-form .edit-input,.spotlight-edit-form .edit-textarea,.spotlight-edit-form .edit-input-small{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-family:inherit;font-size:14px}.spotlight-edit-form .edit-input-small{width:80px}.spotlight-edit-form .edit-textarea{min-height:80px;resize:none}.form-buttons{display:flex;gap:8px;margin-top:8px}.stats-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:24px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 18px;text-align:center}.stat.stat-clickable{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .1s ease}.stat.stat-clickable:hover{border-color:var(--blue);box-shadow:0 2px 8px #3b82f61f;transform:translateY(-1px)}.stat.stat-active{border-color:var(--blue);box-shadow:0 0 0 2px #3b82f633;background:#3b82f60a}.stat .label{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:6px}.stat .value{font-size:28px;font-weight:800}.stat .value.blue{color:var(--blue)}.stat .value.amber{color:var(--amber)}.stat .value.red{color:var(--red)}.stat .value.green{color:var(--green)}.stat .sub{font-size:11px;color:var(--text-muted);margin-top:4px}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:20px}.full-card{margin-bottom:20px}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s}.project-card:hover{border-color:var(--text-secondary)}.project-card.highlight{border-color:var(--amber);box-shadow:0 0 0 1px var(--amber-bg)}.card-top{margin-bottom:16px}.card-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.card-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.card-info{flex:1}.card-info h3{font-size:17px;font-weight:700;cursor:pointer}.card-info h3:hover{opacity:.7}.card-info .subtitle{font-size:12px;color:var(--text-muted);margin-top:2px}.stage-dropdown{position:relative}.stage-badge{font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border:none;cursor:pointer;background:none;display:flex;align-items:center;gap:4px;transition:opacity .2s}.stage-badge:hover{opacity:.7}.stage-operating{background:var(--green-bg);color:var(--green)}.stage-prelaunch{background:var(--amber-bg);color:var(--amber)}.stage-closing{background:var(--blue-bg);color:var(--blue)}.stage-shutdown{background:var(--red-bg);color:var(--red)}.stage-acquisition{background:var(--rose-bg);color:var(--rose)}.stage-archived{background:#2a2a3a;color:#888}.project-restore-btn{background:none;border:none;color:#888;cursor:pointer;padding:4px;border-radius:4px;transition:color .15s}.project-restore-btn:hover{color:var(--green)}.stage-planning{background:var(--purple-bg);color:var(--purple)}.stage-menu{position:absolute;top:100%;right:0;background:var(--surface);border:1px solid var(--border);border-radius:6px;z-index:10;min-width:120px;box-shadow:0 4px 12px #0000001a}.stage-menu-item{display:block;width:100%;padding:8px 12px;border:none;background:none;font-size:13px;text-align:left;cursor:pointer;color:var(--text);transition:background .2s}.stage-menu-item:hover{background:var(--bg)}.stage-menu-item:first-child{border-radius:6px 6px 0 0}.stage-menu-item:last-child{border-radius:0 0 6px 6px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--border-light);border-radius:var(--radius-sm);overflow:hidden}.metric-box{padding:12px;text-align:center;border-right:1px solid var(--border-light);cursor:pointer;transition:background .2s}.metric-box:hover{background:var(--bg)}.metric-box:last-child{border-right:none}.metric-box .num{font-size:20px;font-weight:800}.metric-box .lbl{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-top:2px}.metric-edit-input{width:100%;padding:4px;border:1px solid var(--green);border-radius:4px;font-size:14px;font-weight:800;text-align:center}.inline-edit-input{font-size:17px;font-weight:700;padding:2px 4px;border:1px solid var(--green);border-radius:4px;font-family:inherit}.task-list{list-style:none;flex:1;margin-bottom:16px}.task-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border-light);font-size:13px;position:relative}.task-item:hover .task-delete{opacity:1}.task-item:last-child{border-bottom:none}.task-item.completed .task-label{text-decoration:line-through;color:var(--text-muted)}.task-item.task-highlighted{background:#3b82f614;border-radius:6px;margin:0 -8px;padding:8px;border-left:3px solid var(--blue)}.task-item.task-dimmed{opacity:.3;transition:opacity .2s ease}.task-item.task-dimmed:hover{opacity:.7}.task-check{width:20px;height:20px;border-radius:6px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;font-size:11px;transition:all .15s}.task-check:hover{border-color:var(--green)}.task-check.done{background:var(--green);border-color:var(--green);color:#fff}.task-label{flex:1;line-height:1.4;cursor:pointer}.task-label:hover{opacity:.7}.task-edit-input{flex:1;padding:4px 8px;border:1px solid var(--green);border-radius:4px;font-size:13px;font-family:inherit}.source-icon{flex-shrink:0;opacity:.5}.source-icon.inbound{color:var(--blue)}.source-icon.outbound{color:var(--amber)}.source-icon.calendar{color:var(--purple)}.task-priority{font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.tp-high{background:var(--red-bg);color:var(--red)}.tp-med{background:var(--amber-bg);color:var(--amber)}.tp-done{background:var(--green-bg);color:var(--green)}.task-delete{opacity:0;background:none;border:none;color:var(--red);cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;transition:opacity .2s,color .2s}.task-delete:hover{color:var(--red);opacity:1}.add-task-btn{width:100%;padding:8px;border:1px dashed var(--border);background:transparent;border-radius:6px;font-size:13px;color:var(--text-muted);cursor:pointer;transition:all .2s;font-weight:500}.add-task-btn:hover{border-color:var(--text);color:var(--text)}.add-task-form{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-top:1px solid var(--border-light);margin-top:8px}.task-input{padding:8px;border:1px solid var(--border);border-radius:6px;font-size:13px;font-family:inherit}.priority-select,.date-input{padding:6px 8px;border:1px solid var(--border);border-radius:6px;font-size:12px;font-family:inherit}.deadline-callout{font-size:12px;color:var(--red);font-weight:600;padding:8px 12px;background:var(--red-light);border-radius:8px}.progress-track{height:6px;background:var(--border-light);border-radius:3px;overflow:hidden}.progress-fill{height:100%;border-radius:3px;transition:width .3s}.pf-green{background:var(--green)}.pf-amber{background:var(--amber)}.pf-blue{background:var(--blue)}.pf-purple{background:var(--purple)}.pf-rose{background:var(--rose)}.progress-meta{display:flex;justify-content:space-between;margin-top:6px;font-size:11px;color:var(--text-muted)}.pct{font-weight:700}.timeline-section{margin-top:32px}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.timeline-section h2{font-size:13px;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);font-weight:700}.btn-small{padding:6px 12px;border:1px solid var(--border);background:var(--surface);border-radius:6px;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:4px;transition:all .2s}.btn-small:hover{border-color:var(--green);color:var(--green)}.timeline{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.tl-row{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--border-light);position:relative}.tl-row:hover .milestone-action{opacity:1}.tl-row:last-child{border-bottom:none}.tl-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.tl-content{flex:1}.tl-content .name{font-size:14px;font-weight:600}.tl-content .desc{font-size:12px;color:var(--text-muted);margin-top:2px}.tl-tag{font-size:10px;font-weight:600;padding:3px 8px;border-radius:5px;white-space:nowrap}.tl-date{font-size:13px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.tl-date.urgent{color:var(--red)}.tl-date.soon{color:var(--amber)}.milestone-action{opacity:0;background:none;border:none;color:var(--red);cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.milestone-action:hover{opacity:1}.milestone-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px;display:flex;flex-direction:column;gap:10px}.form-input,.form-textarea,.form-select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-family:inherit;font-size:13px}.form-textarea{min-height:80px;resize:none}.activity-feed{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-top:20px}.activity-feed h3{font-size:14px;font-weight:600;margin-bottom:12px}.activity-empty{font-size:12px;color:var(--text-muted);text-align:center;padding:20px}.activity-list{list-style:none;max-height:300px;overflow-y:auto}.activity-item{display:flex;align-items:flex-start;gap:8px;padding:8px;border-bottom:1px solid var(--border-light);font-size:12px}.activity-item:last-child{border-bottom:none}.activity-time{flex-shrink:0;color:var(--text-muted);font-weight:500;min-width:50px}.activity-icon-wrapper{flex-shrink:0;display:flex;align-items:center;justify-content:center}.activity-icon{color:var(--text-secondary)}.activity-venture{flex-shrink:0;font-weight:600;color:var(--text);min-width:80px}.activity-summary{flex:1;color:var(--text-secondary);line-height:1.4}.footer{text-align:center;padding:32px 0;font-size:12px;color:var(--text-muted)}.btn-primary{padding:8px 16px;background:var(--green);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.btn-primary:hover{background:var(--text)}.btn-secondary{padding:8px 16px;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{border-color:var(--text);background:var(--bg)}@media (max-width: 768px){.topbar{padding:14px 16px;flex-wrap:wrap;gap:10px}.topbar h1{font-size:18px}.topbar-right{width:100%;justify-content:space-between}.container{padding:16px 12px 40px}.stats-row{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:12px}.stat .value{font-size:20px}.project-grid{grid-template-columns:1fr;gap:16px}.spotlight{flex-direction:column;text-align:center;padding:20px;gap:16px}.spotlight-days{order:2}.tl-row{flex-wrap:wrap;gap:8px}.tl-tag{order:3}.tl-date{order:4}.card-header{flex-wrap:wrap}.stage-dropdown{order:3;width:100%}.metrics{grid-template-columns:1fr}.metric-box{border-right:none;border-bottom:1px solid var(--border-light)}.metric-box:last-child{border-bottom:none}}.editable{cursor:pointer}.editable-field{cursor:pointer;padding:2px 4px;border-radius:2px;transition:background .2s}.editable-field:hover{background:var(--bg)}.placeholder{color:var(--text-muted);font-style:italic}.editable-input,.editable-textarea{padding:4px 8px;border:1px solid var(--green);border-radius:4px;font-family:inherit;font-size:inherit}.deadline-callout{position:relative;display:inline-flex;align-items:center;gap:8px}.deadline-callout:hover .deadline-clear{opacity:1}.deadline-clear{opacity:0;background:none;border:none;color:var(--text-secondary);font-size:16px;cursor:pointer;padding:0 4px;line-height:1;transition:opacity .15s}.deadline-clear:hover{color:var(--red)}.deadline-add{font-size:12px;color:var(--text-secondary);cursor:pointer;padding:4px 0}.deadline-add:hover{color:var(--green)}.deadline-editor{display:flex;align-items:center;gap:8px;font-size:12px}.deadline-editor-label{font-weight:600;color:var(--red)}.deadline-date-input{padding:4px 8px;border:1px solid var(--green);border-radius:4px;font-family:inherit;font-size:12px;background:var(--white)}.btn-cancel-sm{background:none;border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:11px;cursor:pointer;color:var(--text-secondary)}.btn-cancel-sm:hover{background:var(--bg)}.milestone-date-input{padding:4px 8px;border:1px solid var(--green);border-radius:4px;font-family:inherit;font-size:13px;font-weight:600;background:var(--white);min-width:140px}.milestone-name-input{padding:2px 6px;border:1px solid var(--green);border-radius:4px;font-family:inherit;font-size:inherit;font-weight:600;background:var(--white);width:100%}.tl-date.editable:hover{background:var(--bg);border-radius:4px;padding:2px 6px;margin:-2px -6px}.task-move-wrapper{position:relative}.task-move{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:2px 4px;border-radius:4px;display:flex;align-items:center;transition:color .15s,background .15s}.task-move:hover{color:var(--blue);background:var(--blue-bg)}.task-move-menu{position:absolute;right:0;top:100%;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 4px 16px #0000001f;z-index:50;min-width:200px;padding:4px;max-height:280px;overflow-y:auto}.task-move-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;background:none;cursor:pointer;font-size:13px;color:var(--text);border-radius:6px;text-align:left;transition:background .15s}.task-move-item:hover{background:var(--bg)}.task-move-icon{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.key-goal{margin:0 20px 6px;padding:12px 14px;background:var(--bg);border-radius:var(--radius-sm);border-left:3px solid}.key-goal.color-green{border-left-color:var(--green)}.key-goal.color-rose{border-left-color:var(--rose)}.key-goal.color-amber{border-left-color:var(--amber)}.key-goal.color-blue{border-left-color:var(--blue)}.key-goal.color-purple{border-left-color:var(--purple)}.key-goal-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin-bottom:4px;display:flex;align-items:center}.key-goal-text{font-size:14px;font-weight:700;color:var(--text);line-height:1.35;cursor:pointer}.key-goal-text:hover{background:var(--surface);border-radius:4px;padding:2px 4px;margin:-2px -4px}.key-goal-input{font-size:14px;font-weight:700;color:var(--text);border:1px solid var(--border);border-radius:6px;padding:4px 8px;width:100%;background:var(--surface);font-family:inherit}.key-goal-input:focus{outline:none;border-color:var(--blue)}.subgoals{margin-top:8px;display:flex;flex-direction:column;gap:4px}.subgoal{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.subgoal-bullet{width:5px;height:5px;border-radius:50%;flex-shrink:0}.subgoal-bullet.green{background:var(--green)}.subgoal-bullet.rose{background:var(--rose)}.subgoal-bullet.amber{background:var(--amber)}.subgoal-bullet.blue{background:var(--blue)}.subgoal-bullet.purple{background:var(--purple)}.subgoal-text{flex:1;cursor:pointer}.subgoal-text:hover{text-decoration:underline;text-decoration-style:dotted}.subgoal-input{flex:1;font-size:12px;border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-family:inherit;background:var(--surface)}.subgoal-input:focus{outline:none;border-color:var(--blue)}.subgoal-delete{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:2px;border-radius:3px;opacity:0;transition:opacity .15s,color .15s;display:flex;align-items:center}.subgoal:hover .subgoal-delete{opacity:1}.subgoal-delete:hover{color:var(--red);background:var(--red-bg)}.subgoal-add-btn{display:flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;font-size:11px;color:var(--text-muted);padding:4px 0 0;transition:color .15s}.subgoal-add-btn:hover{color:var(--blue)}.subgoal-add-form{margin-top:6px;display:flex;gap:6px;align-items:center}.key-goal-progress{margin-top:8px;display:flex;align-items:center;gap:8px}.kg-progress-bar{flex:1;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.kg-progress-fill{height:100%;border-radius:2px;transition:width .3s}.kg-progress-fill.green{background:var(--green)}.kg-progress-fill.rose{background:var(--rose)}.kg-progress-fill.amber{background:var(--amber)}.kg-progress-fill.blue{background:var(--blue)}.kg-progress-fill.purple{background:var(--purple)}.kg-progress-pct{font-size:11px;font-weight:700;color:var(--text-muted);min-width:32px;text-align:right;cursor:pointer}.kg-progress-pct:hover{color:var(--blue)}.kg-progress-input{width:48px;font-size:11px;font-weight:700;border:1px solid var(--border);border-radius:4px;padding:1px 4px;text-align:right;font-family:inherit}.kg-progress-input:focus{outline:none;border-color:var(--blue)}.key-goal-empty{margin:0 20px 6px;padding:10px 14px;background:var(--bg);border-radius:var(--radius-sm);border:1px dashed var(--border);cursor:pointer;transition:border-color .15s}.key-goal-empty:hover{border-color:var(--text-muted)}.key-goal-add-prompt{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:6px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;padding:28px;box-shadow:0 16px 48px #00000026}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.modal-header h2{font-size:18px;font-weight:700}.modal-close{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:6px;display:flex;align-items:center}.modal-close:hover{background:var(--bg);color:var(--text)}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.form-group input,.form-group select{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;background:var(--surface);color:var(--text)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-bg)}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1}.icon-picker{display:flex;flex-wrap:wrap;gap:4px}.icon-option{width:34px;height:34px;border:2px solid var(--border);border-radius:8px;background:var(--surface);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s}.icon-option:hover{border-color:var(--text-muted)}.icon-option.selected{border-color:var(--blue);background:var(--blue-bg)}.color-picker{display:flex;gap:6px}.color-option{width:28px;height:28px;border:2px solid transparent;border-radius:50%;cursor:pointer;transition:transform .15s,border-color .15s}.color-option:hover{transform:scale(1.15)}.color-option.selected{border-width:3px;transform:scale(1.15)}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:16px;border-top:1px solid var(--border-light)}.btn-primary{padding:8px 20px;background:var(--text);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.btn-primary:hover{background:var(--text-secondary)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{padding:8px 20px;background:var(--bg);color:var(--text-secondary);border:1px solid var(--border);border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.btn-secondary:hover{background:var(--border-light)}.project-delete-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:6px;opacity:0;transition:opacity .15s,color .15s,background .15s;display:flex;align-items:center}.project-card:hover .project-delete-btn{opacity:1}.project-delete-btn:hover{color:var(--red);background:var(--red-bg)}.confirm-delete-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;margin:0 0 8px;background:var(--red-light);border:1px solid var(--red-bg);border-radius:8px;font-size:12px;color:var(--red)}.confirm-delete-bar span{flex:1;font-weight:600}.btn-danger-sm{padding:4px 12px;background:var(--red);color:#fff;border:none;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer}.btn-danger-sm:hover{opacity:.85}.add-project-btn{background:var(--green-bg)!important;color:var(--green)!important}.add-project-btn:hover{background:var(--green)!important;color:#fff!important}.app-container{display:flex;min-height:100vh}.app-container .app-main{flex:1;min-width:0;transition:margin-right .25s ease}.inbox-anchor,.inbox-toggle-btn{position:relative}.inbox-toggle-btn.active{background:var(--blue);color:#fff}.inbox-notif-dot{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;background:var(--red);border-radius:10px;font-size:10px;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg);line-height:1}.inbox-overlay{position:fixed;top:56px;right:16px;z-index:1000;animation:inboxSlideIn .15s ease-out}@keyframes inboxSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.inbox-sidebar{width:420px;background:var(--surface);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;max-height:calc(100vh - 80px);box-shadow:0 12px 40px #00000059,0 0 0 1px #ffffff0d}.inbox-header{padding:16px 16px 0;flex-shrink:0}.inbox-header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.inbox-title{font-size:16px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}.inbox-badge{background:var(--blue);color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px}.inbox-close-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;transition:all .15s}.inbox-close-btn:hover{background:var(--bg);color:var(--text)}.inbox-tabs{display:flex;gap:4px;padding:0 16px;margin-bottom:10px;flex-shrink:0}.inbox-tab{padding:6px 12px;font-size:12px;border-radius:6px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s;font-weight:500}.inbox-tab:hover{background:var(--bg);color:var(--text-secondary)}.inbox-tab.active{background:var(--bg);color:var(--text)}.inbox-tab-count{font-size:10px;color:var(--text-muted);margin-left:3px}.inbox-tab.active .inbox-tab-count{color:var(--blue)}.inbox-search{padding:0 16px;margin-bottom:10px;flex-shrink:0}.inbox-search-wrapper{position:relative}.inbox-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.inbox-search-input{width:100%;padding:8px 12px 8px 32px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:12px;font-family:inherit;outline:none;transition:border .15s}.inbox-search-input:focus{border-color:var(--blue)}.inbox-email-list{flex:1;overflow-y:auto;padding:0 8px 8px;border-radius:0 0 12px 12px}.inbox-email-list::-webkit-scrollbar{width:4px}.inbox-email-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.inbox-empty{text-align:center;padding:40px 20px;font-size:13px;color:var(--text-muted)}.inbox-email-item{padding:10px;border-radius:8px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--border-light)}.inbox-email-item:hover{background:var(--bg)}.inbox-email-item:last-child{border-bottom:none}.inbox-email-item.unread .inbox-email-subject{color:var(--text);font-weight:600}.inbox-email-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.inbox-email-sender{font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px}.inbox-email-date{font-size:10px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.inbox-email-subject{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px;display:flex;align-items:center;gap:4px}.inbox-email-snippet{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.7}.inbox-email-item.expanded{background:var(--bg);cursor:default}.inbox-email-detail{margin-top:8px}.inbox-email-body{font-size:12px;color:var(--text-secondary);line-height:1.5;padding:8px 10px;background:var(--surface);border-radius:6px;max-height:120px;overflow-y:auto;white-space:pre-wrap}.inbox-extracted-tasks{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-light)}.inbox-extracted-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:4px}.inbox-extracted-task{font-size:11px;color:var(--text-secondary);padding:3px 0;display:flex;align-items:flex-start;gap:6px}.inbox-extracted-task svg{color:var(--blue);flex-shrink:0;margin-top:2px}.inbox-assign-row{display:flex;align-items:center;gap:6px;margin-top:8px}.inbox-assign-dropdown{flex:1;padding:5px 8px;background:var(--bg);border:1px solid var(--border);border-radius:5px;color:var(--text-secondary);font-size:11px;font-family:inherit;cursor:pointer;outline:none}.inbox-assign-dropdown:focus{border-color:var(--blue)}.inbox-assign-btn{padding:5px 10px;background:var(--blue);color:#fff;border:none;border-radius:5px;font-size:11px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.inbox-assign-btn:hover{background:var(--purple)}.inbox-assign-btn:disabled{opacity:.4;cursor:not-allowed}.inbox-dismiss-btn{padding:5px 10px;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:5px;font-size:11px;cursor:pointer;transition:all .15s}.inbox-dismiss-btn:hover{background:var(--bg);color:var(--text-secondary)}.inbox-project-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:10px;font-weight:500;margin-top:6px}@media (max-width: 600px){.inbox-overlay{right:8px;left:8px}.inbox-sidebar{width:100%}}.task-label.clickable-task{cursor:pointer;transition:color .15s}.task-label.clickable-task:hover{color:var(--blue);opacity:1}.task-item.has-source .task-label.clickable-task:hover{text-decoration:underline;text-decoration-color:var(--blue);text-underline-offset:2px}.task-edit-btn{opacity:0;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px 4px;display:flex;align-items:center;justify-content:center;transition:opacity .2s,color .2s;border-radius:4px}.task-item:hover .task-edit-btn{opacity:1}.task-edit-btn:hover{color:var(--blue);background:var(--blue-bg)}.source-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:2000;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.source-modal{background:var(--surface);border-radius:var(--radius);width:520px;max-width:calc(100vw - 32px);max-height:calc(100vh - 80px);display:flex;flex-direction:column;box-shadow:0 20px 60px #00000059,0 0 0 1px #ffffff0d;animation:modalSlideIn .2s ease-out;overflow:hidden}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.source-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-light)}.source-modal-title{display:flex;align-items:center;gap:8px}.source-modal-badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;background:var(--blue-bg);color:var(--blue);text-transform:uppercase;letter-spacing:.3px}.source-modal-project{font-size:13px;color:var(--text-secondary)}.source-modal-close{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:6px;display:flex;transition:background .15s,color .15s}.source-modal-close:hover{background:var(--bg);color:var(--text)}.source-modal-task{display:flex;align-items:center;gap:10px;padding:14px 20px;background:var(--bg);border-bottom:1px solid var(--border-light)}.source-modal-check{width:20px;height:20px;border-radius:6px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px}.source-modal-check.done{background:var(--green);border-color:var(--green);color:#fff}.source-modal-task-text{flex:1;font-size:14px;font-weight:500;line-height:1.4}.source-modal-task-text.completed{text-decoration:line-through;color:var(--text-muted)}.source-modal-body{padding:16px 20px;overflow-y:auto;flex:1}.source-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:10px}.source-section-label:not(:first-child){margin-top:20px}.source-entry{padding:12px;border-radius:var(--radius-sm);border:1px solid var(--border-light);margin-bottom:8px;transition:border-color .15s}.source-entry:hover{border-color:var(--border)}.source-entry.direct-match{border-color:var(--blue);background:var(--blue-light)}.source-entry-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.source-entry-type{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted)}.source-modal-icon.inbound{color:var(--blue)}.source-modal-icon.outbound{color:var(--amber)}.source-modal-icon.calendar{color:var(--purple)}.source-entry-date{font-size:12px;color:var(--text-muted)}.source-entry-subject{font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px}.source-entry-from{font-size:12px;color:var(--text-secondary);margin-bottom:6px}.source-entry-summary{font-size:13px;color:var(--text-secondary);line-height:1.5}.source-entry-snippet{font-size:12px;color:var(--text-muted);margin-top:6px;padding:8px;background:var(--bg);border-radius:6px;line-height:1.4;font-style:italic}.source-entry-link{display:inline-flex;align-items:center;gap:4px;margin-top:8px;font-size:12px;color:var(--blue);text-decoration:none;font-weight:500;transition:opacity .15s}.source-entry-link:hover{opacity:.7}.source-entries-list{display:flex;flex-direction:column;gap:6px}.source-empty{text-align:center;padding:32px 20px}.source-empty-icon{color:var(--text-muted);margin-bottom:12px;opacity:.5}.source-empty-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:6px}.source-empty-desc{font-size:13px;color:var(--text-muted);line-height:1.5;max-width:320px;margin:0 auto}.source-entry-clickable{cursor:pointer;transition:opacity .15s}.source-entry-clickable:hover{opacity:.85}.source-entry.expanded{border-color:var(--blue);background:var(--blue-light)}.source-entry-header-right{display:flex;align-items:center;gap:8px}.source-entry-project-tag{font-size:11px;padding:2px 6px;border-radius:4px;background:var(--bg);color:var(--text-secondary);white-space:nowrap}.source-entry-actions{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border-light)}.source-action-btn{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;padding:5px 10px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;text-decoration:none;transition:all .15s;white-space:nowrap}.source-action-btn:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-light)}.source-action-btn.active{border-color:var(--blue);color:var(--blue);background:var(--blue-bg)}.source-action-btn.primary{background:var(--green-light);border-color:var(--green);color:var(--green)}.source-action-btn.primary:hover,.source-action-btn.primary.active{background:var(--green-bg)}.source-entry-flash{display:flex;align-items:center;gap:6px;margin-top:8px;padding:6px 10px;border-radius:6px;background:var(--green-bg);color:var(--green);font-size:12px;font-weight:600;animation:flashIn .2s ease-out}@keyframes flashIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.source-action-panel{margin-top:10px;padding:12px;border-radius:8px;background:var(--bg);border:1px solid var(--border-light);animation:panelSlide .15s ease-out}@keyframes panelSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.source-action-panel-label{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.source-reassign-list{display:flex;flex-direction:column;gap:2px;max-height:200px;overflow-y:auto}.source-reassign-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 8px;border:none;background:none;cursor:pointer;font-size:13px;color:var(--text);border-radius:6px;text-align:left;transition:background .15s}.source-reassign-item:hover:not(:disabled){background:var(--surface)}.source-reassign-item:disabled{opacity:.5;cursor:default}.source-reassign-item.current{background:var(--blue-light)}.source-reassign-icon{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.source-reassign-check{width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-muted);flex-shrink:0}.source-reassign-task-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-reassign-empty{padding:12px 8px;font-size:12px;color:var(--text-muted);text-align:center}.source-current-tag{margin-left:auto;font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.source-newtask-input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;font-family:inherit;background:var(--surface);color:var(--text);margin-bottom:8px;transition:border-color .15s}.source-newtask-input:focus{outline:none;border-color:var(--blue)}.source-newtask-row{display:flex;gap:6px;align-items:center}.source-newtask-select{flex:1;padding:6px 8px;border:1px solid var(--border);border-radius:6px;font-size:12px;font-family:inherit;background:var(--surface);color:var(--text);cursor:pointer}.source-newtask-priority{padding:6px 8px;border:1px solid var(--border);border-radius:6px;font-size:12px;font-family:inherit;background:var(--surface);color:var(--text);cursor:pointer;width:70px}.source-newtask-create{padding:6px 14px;border:none;border-radius:6px;font-size:12px;font-weight:600;background:var(--green);color:#fff;cursor:pointer;transition:opacity .15s;white-space:nowrap}.source-newtask-create:hover:not(:disabled){opacity:.85}.source-newtask-create:disabled{opacity:.4;cursor:default}.source-search-section{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-light)}.source-search-trigger{display:flex;align-items:center;gap:6px;width:100%;padding:10px 12px;border:1px dashed var(--border);border-radius:8px;background:none;cursor:pointer;font-size:13px;color:var(--text-muted);transition:all .15s}.source-search-trigger:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-light)}.source-search-bar{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);margin-bottom:8px}.source-search-icon{color:var(--text-muted);flex-shrink:0}.source-search-input{flex:1;border:none;background:none;font-size:13px;font-family:inherit;color:var(--text);outline:none;min-width:0}.source-search-input::placeholder{color:var(--text-muted)}.source-search-btn{flex-shrink:0;padding:4px 12px;border:none;border-radius:6px;background:var(--blue);color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.source-search-btn:hover:not(:disabled){background:var(--blue-dark, #2563eb)}.source-search-btn:disabled{opacity:.4;cursor:default}.source-search-spinner{animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.source-search-status{padding:10px 4px;font-size:12px;color:var(--text-muted);text-align:center}.source-entry.search-result{border:1px solid var(--border-light);border-radius:8px;background:var(--bg)}.source-search-result-actions{display:flex;align-items:center;gap:6px;padding:6px 10px 8px;border-top:1px solid var(--border-light)}.source-entry-project-tag.unassigned{color:var(--text-muted);font-style:italic}.source-search-sublabel{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;padding:8px 2px 4px}.source-search-sublabel.gmail-label{display:flex;align-items:center;gap:6px;color:var(--text)}.gmail-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:4px;background:#ea4335;color:#fff;font-size:10px;font-weight:700;letter-spacing:.5px}.source-entry.gmail-result{border-color:#fce8e6;background:#fef7f6}.source-search-reauth{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;border:1px dashed var(--border);border-radius:8px;margin-top:8px}.source-search-reauth-text{font-size:12px;color:var(--text-muted);text-align:center}.source-plan-section{margin-bottom:12px}.source-plan-card{background:var(--blue-light);border:1px solid var(--blue-bg);border-radius:10px;padding:16px;margin-top:4px}.source-plan-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:6px}.source-plan-meta{display:flex;gap:12px;margin-bottom:12px;font-size:11px;color:var(--text-muted)}.source-plan-task-count{background:var(--blue-bg);color:var(--blue);padding:1px 8px;border-radius:10px;font-weight:500}.source-plan-body{font-size:13px;line-height:1.6;color:var(--text-secondary);max-height:400px;overflow-y:auto;padding-right:4px}.source-plan-body .plan-h2{font-size:13px;font-weight:600;color:var(--text);margin:14px 0 6px;padding-bottom:4px;border-bottom:1px solid var(--blue-bg)}.source-plan-body .plan-h3{font-size:12px;font-weight:600;color:var(--text);margin:10px 0 4px}.source-plan-body .plan-para{margin:4px 0}.source-plan-body .plan-list{margin:4px 0 8px;padding-left:18px}.source-plan-body .plan-list li{margin-bottom:3px}.source-plan-body .plan-list li strong{color:var(--text)}.source-plan-body::-webkit-scrollbar{width:4px}.source-plan-body::-webkit-scrollbar-thumb{background:var(--blue-bg);border-radius:2px}.staged-banner{background:var(--amber-light);border:1px solid var(--amber-bg);border-radius:12px;margin-bottom:20px;overflow:hidden}.staged-banner-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;-webkit-user-select:none;user-select:none}.staged-banner-header:hover{background:var(--amber-bg)}.staged-banner-left{display:flex;align-items:center;gap:8px}.staged-banner-icon{color:var(--amber)}.staged-banner-count{font-weight:700;font-size:15px;color:var(--amber);background:var(--amber-bg);width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center}.staged-banner-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.staged-banner-right{display:flex;align-items:center;gap:8px}.staged-commit-all-btn{display:flex;align-items:center;gap:4px;padding:5px 12px;font-size:12px;font-weight:600;background:var(--amber);color:#fff;border:none;border-radius:6px;cursor:pointer}.staged-commit-all-btn:hover{opacity:.9}.staged-chevron{color:var(--text-muted)}.staged-banner-body{padding:0 16px 14px;border-top:1px solid var(--amber-bg)}.staged-project-group{margin-top:10px}.staged-project-name{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:6px}.staged-task-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:13px}.staged-task-row:hover{background:var(--amber-bg)}.staged-task-priority{font-size:10px;font-weight:700;width:18px;height:18px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.staged-task-text{flex:1;color:var(--text)}.staged-task-due{font-size:11px;color:var(--text-muted);white-space:nowrap}.staged-task-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.staged-task-row:hover .staged-task-actions{opacity:1}.staged-task-btn{width:24px;height:24px;border-radius:4px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;background:transparent}.staged-task-btn.commit{color:var(--green)}.staged-task-btn.commit:hover{background:var(--green-bg)}.staged-task-btn.remove{color:var(--red)}.staged-task-btn.remove:hover{background:var(--red-bg)}@media (max-width: 600px){.source-modal{width:100%;max-height:calc(100vh - 32px);border-radius:12px}.source-entry-actions,.source-search-bar{flex-wrap:wrap}}.task-link-icon{display:inline-flex;align-items:center;color:var(--blue);margin-left:4px;opacity:.7}.task-link-icon:hover{opacity:1}.source-links-section{padding:12px 20px;border-bottom:1px solid var(--border-light)}.source-links-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.source-link-item{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:var(--blue-light);border:1px solid var(--blue-bg);border-radius:var(--radius-sm);color:var(--blue);text-decoration:none;font-size:13px;transition:background .15s,border-color .15s}.source-link-item:hover{background:var(--blue-bg);border-color:var(--blue)}.source-link-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-link-local{cursor:pointer;position:relative;flex-wrap:wrap}.link-path-hint{display:block;width:100%;font-size:11px;color:var(--text-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.link-copied-toast{position:absolute;right:12px;top:8px;background:var(--green);color:#fff;font-size:11px;padding:2px 8px;border-radius:4px;opacity:0;transition:opacity .2s;pointer-events:none}.source-link-row{display:flex;align-items:center;gap:6px}.source-link-row .source-link-item{flex:1;min-width:0}.source-link-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;flex-shrink:0;transition:color .15s,background .15s}.source-link-remove:hover{color:var(--red);background:var(--red-light)}.file-drop-zone{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;padding:16px;border:2px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:13px;cursor:pointer;transition:border-color .2s,background .2s,color .2s}.file-drop-zone:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-light)}.file-drop-zone.drag-over{border-color:var(--blue);background:var(--blue-bg);color:var(--blue)}.file-drop-zone.uploading{cursor:wait;border-color:var(--text-muted);opacity:.7}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.add-task-row{display:flex;gap:6px;align-items:center}.add-task-links{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.add-task-link-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:var(--blue-light);border:1px solid var(--blue-bg);border-radius:6px;font-size:11px;color:var(--blue)}.link-tag-remove{background:none;border:none;color:var(--blue);cursor:pointer;padding:0;display:inline-flex;opacity:.6}.link-tag-remove:hover{opacity:1}.add-task-link-row{display:flex;gap:6px;align-items:center;margin-top:6px}.link-label-input{flex:1;padding:5px 8px;border:1px solid var(--border);border-radius:6px;font-size:12px;max-width:140px}.link-url-input{flex:2;padding:5px 8px;border:1px solid var(--border);border-radius:6px;font-size:12px}.btn-sm{padding:4px 8px!important;font-size:11px!important}.add-link-btn{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:4px 10px;background:none;border:1px dashed var(--border);border-radius:6px;color:var(--text-muted);font-size:12px;cursor:pointer;transition:color .15s,border-color .15s}.add-link-btn:hover{color:var(--blue);border-color:var(--blue)}.project-emails{padding:8px 18px 4px;border-top:1px solid var(--border-light)}.project-emails-header{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:6px}.project-emails-list{list-style:none;padding:0;margin:0}.project-email-item{display:flex;align-items:flex-start;gap:8px;padding:5px 0;border-bottom:1px solid var(--border-light);font-size:12px}.project-email-item:last-child{border-bottom:none}.project-email-direction{flex-shrink:0;margin-top:2px;color:var(--text-muted)}.project-email-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.project-email-subject{color:var(--text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-email-from{color:var(--text-muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-email-time{flex-shrink:0;color:var(--text-muted);font-size:11px;white-space:nowrap}.project-emails-toggle{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--text-muted);font-size:11px;cursor:pointer;padding:4px 0;margin-top:2px}.project-emails-toggle:hover{color:var(--blue)}.project-email-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s;flex-shrink:0}.project-email-item:hover .project-email-actions{opacity:1}.project-email-action-btn{background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;padding:3px 5px;display:flex;align-items:center;transition:all .15s}.project-email-action-btn:hover{background:var(--blue-light);color:var(--blue);border-color:var(--blue)}.project-email-archive:hover{background:var(--amber-light);color:var(--amber);border-color:var(--amber)}.project-email-confirm{color:var(--green);border-color:var(--green)}.project-email-confirm:hover{background:var(--green-light)}.project-email-cancel:hover{background:var(--red-light);color:var(--red);border-color:var(--red)}.project-email-converting{display:flex;align-items:center;gap:6px;padding:6px 0}.project-email-task-input{flex:1;min-width:0;border:1px solid var(--blue);border-radius:6px;padding:4px 8px;font-size:12px;outline:none;background:var(--blue-light)}.project-email-task-input:focus{box-shadow:0 0 0 2px #2563eb26}.toast-container{position:fixed;bottom:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:8px;max-width:400px}.toast{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--radius-sm);box-shadow:0 4px 20px #00000026;font-size:13px;animation:toast-in .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.toast-error{background:var(--red-light);border:1px solid var(--red);color:var(--red)}.toast-success{background:var(--green-light);border:1px solid var(--green);color:var(--green)}.toast-info{background:var(--blue-light);border:1px solid var(--blue);color:var(--blue)}.toast-icon{flex-shrink:0;display:flex;align-items:center}.toast-message{flex:1;line-height:1.4}.toast-dismiss{flex-shrink:0;background:none;border:none;cursor:pointer;padding:2px;opacity:.6;color:inherit}.toast-dismiss:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
