*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-card:#334155;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--border-color:#475569;--accent:#3b82f6;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444}body{background-color:#0f172a;background-color:var(--bg-primary);color:#f8fafc;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.6}.App,.landing-page{min-height:100vh}.landing-page{display:flex;flex-direction:column}.landing-header{background:linear-gradient(135deg,#1e293b,#0f172a);background:linear-gradient(135deg,var(--bg-secondary) 0,var(--bg-primary) 100%);border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);padding:60px 40px}.header-content{margin:0 auto;max-width:1400px}.landing-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#fff,#94a3b8);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:700;margin-bottom:8px}.landing-header .subtitle{color:#94a3b8;color:var(--text-secondary);font-size:1.2rem}.landing-main{flex:1 1;margin:0 auto;max-width:1400px;padding:40px;width:100%}.projects-overview h2,.quick-stats h2{color:#f8fafc;color:var(--text-primary);font-size:1.5rem;margin-bottom:8px}.section-description{color:#94a3b8;color:var(--text-secondary);margin-bottom:30px}.project-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-bottom:50px}.project-card{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:16px;color:inherit;overflow:hidden;padding:24px;position:relative;text-decoration:none;transition:all .3s ease}.project-card:before{background:var(--project-color);content:"";height:4px;left:0;position:absolute;right:0;top:0}.project-card:hover{border-color:var(--project-color);box-shadow:0 20px 40px #0000004d;transform:translateY(-4px)}.project-card[draggable=true]{cursor:grab}.project-card[draggable=true]:active{cursor:grabbing}.project-card.dragging{box-shadow:0 8px 32px #0006;opacity:.5;transform:scale(.98)}.project-card.drag-over{border-color:#3b82f6;border-color:var(--accent);box-shadow:0 0 0 3px #6366f14d,0 20px 40px #0000004d;transform:translateY(-2px)}.project-card.drag-over:after{background:#6366f11a;border-radius:20px;content:"";inset:0;pointer-events:none;position:absolute}.project-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.project-icon{height:48px;width:48px}.project-card-icon{height:100%;width:100%}.project-status-badge{background:#334155;background:var(--bg-card);border-radius:20px;color:#94a3b8;color:var(--text-secondary);font-size:.75rem;padding:4px 10px}.project-card-body{margin-bottom:20px}.project-title{color:#f8fafc;color:var(--text-primary);font-size:1.25rem;font-weight:600;margin-bottom:4px}.project-subtitle{color:var(--project-color);font-size:.9rem;font-weight:500;margin-bottom:12px}.project-description{color:#94a3b8;color:var(--text-secondary);font-size:.875rem;line-height:1.5}.project-card-footer{border-top:1px solid #475569;border-top:1px solid var(--border-color);padding-top:16px}.progress-bar{background:#334155;background:var(--bg-card);border-radius:3px;height:6px;margin-bottom:12px;overflow:hidden}.progress-fill{border-radius:3px;height:100%;transition:width .3s ease}.task-stats{display:flex;gap:16px;margin-bottom:12px}.task-stats .stat{color:#64748b;color:var(--text-muted);font-size:.8rem}.task-stats .stat-number{color:#94a3b8;color:var(--text-secondary);font-weight:600}.approaches{display:flex;flex-wrap:wrap;gap:6px}.approach-tag{background:#334155;background:var(--bg-card);border-radius:4px;color:#94a3b8;color:var(--text-secondary);font-size:.7rem;padding:3px 8px}.card-hover-indicator{background:var(--project-color);bottom:0;color:#fff;font-size:.875rem;font-weight:500;left:0;padding:12px;position:absolute;right:0;text-align:center;transform:translateY(100%);transition:transform .3s ease}.project-card:hover .card-hover-indicator{transform:translateY(0)}.quick-stats{margin-top:20px}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-card{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:12px;padding:24px;text-align:center}.stat-card .stat-value{color:#3b82f6;color:var(--accent);display:block;font-size:2rem;font-weight:700}.stat-card .stat-label{color:#94a3b8;color:var(--text-secondary);font-size:.875rem}.landing-footer{border-top:1px solid #475569;border-top:1px solid var(--border-color);color:#64748b;color:var(--text-muted);font-size:.875rem;padding:20px 40px;text-align:center}.project-page{display:flex;flex-direction:column;min-height:100vh}.project-page.not-found{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center}.project-page.not-found a{color:#3b82f6;color:var(--accent);text-decoration:none}.project-header{background:#1e293b;background:var(--bg-secondary);padding:0}.header-nav,.project-header{border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color)}.header-nav{padding:16px 40px}.back-link{color:#94a3b8;color:var(--text-secondary);font-size:.9rem;text-decoration:none;transition:color .2s}.back-link:hover{color:#f8fafc;color:var(--text-primary)}.header-main{align-items:flex-start;display:flex;gap:40px;justify-content:space-between;padding:30px 40px}.header-info{flex:1 1}.header-icon-row{align-items:center;display:flex;gap:12px;margin-bottom:8px}.project-header-icon{height:48px;width:48px}.project-header-icon svg{height:100%;width:100%}.project-badge{border-radius:20px;color:#fff;display:inline-block;font-size:.75rem;font-weight:500;margin-bottom:12px;padding:4px 12px}.header-info h1{font-size:1.75rem;font-weight:700;margin-bottom:12px}.project-hypothesis{color:#94a3b8;color:var(--text-secondary);font-size:.95rem;line-height:1.6;max-width:700px}.header-nav{align-items:center;display:flex;justify-content:space-between}.edit-project-btn{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:.85rem;padding:6px 12px;transition:all .2s}.edit-project-btn:hover{background:#1e293b;background:var(--bg-secondary);border-color:var(--project-color);color:#f8fafc;color:var(--text-primary)}.project-edit-form{gap:16px;padding:24px 40px}.edit-form-row,.project-edit-form{display:flex;flex-direction:column}.edit-form-row{gap:6px}.edit-form-row label{color:#94a3b8;color:var(--text-secondary);font-size:.85rem;font-weight:500}.edit-form-row input[type=text],.edit-form-row textarea{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);font-family:inherit;font-size:.95rem;padding:10px 12px}.edit-form-row input[type=text]:focus,.edit-form-row textarea:focus{border-color:var(--project-color);outline:none}.edit-form-row input[type=color]{border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;height:36px;padding:2px;width:60px}.icon-selector{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0}.icon-option{align-items:center;background:#334155;background:var(--bg-card);border:2px solid #475569;border:2px solid var(--border-color);border-radius:8px;display:flex;height:40px;justify-content:center;padding:6px;transition:all .2s ease;width:40px}.icon-option:hover{border-color:#94a3b8;border-color:var(--text-secondary);transform:scale(1.05)}.icon-option.selected{background:#1e293b;background:var(--bg-secondary);border-color:currentColor;box-shadow:0 0 0 2px #6366f133}.icon-option svg{height:100%;width:100%}.edit-form-actions{display:flex;gap:12px;margin-top:8px}.edit-form-actions .btn-cancel{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;padding:10px 20px}.edit-form-actions .btn-save{background:#3b82f6;background:var(--project-color,var(--accent));border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px}.edit-form-actions .btn-cancel:hover{background:#1e293b;background:var(--bg-secondary)}.edit-form-actions .btn-save:hover{opacity:.9}.header-stats{display:flex;gap:30px}.header-stat{text-align:center}.header-stat .stat-value{color:var(--project-color);display:block;font-size:1.75rem;font-weight:700}.header-stat .stat-label{color:#64748b;color:var(--text-muted);font-size:.8rem}.approaches-bar{border-top:1px solid #475569;border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:8px;padding:16px 40px}.approach-chip{background:#334155;background:var(--bg-card);border-radius:20px;color:#94a3b8;color:var(--text-secondary);font-size:.8rem;padding:6px 14px}.project-main{background:#0f172a;background:var(--bg-primary);flex:1 1;padding:30px 40px}.kanban-board{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);min-height:calc(100vh - 300px)}.kanban-column{background:#1e293b;background:var(--bg-secondary);border:2px solid #0000;border-radius:12px;display:flex;flex-direction:column;min-height:400px;transition:border-color .2s}.kanban-column.drop-target{border-color:#3b82f6;border-color:var(--accent);border-style:dashed}.column-header{border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);justify-content:space-between;padding:16px}.column-header,.column-title{align-items:center;display:flex}.column-title{gap:8px}.column-icon{font-size:1rem}.column-title h3{font-size:.95rem;font-weight:600}.task-count{border-radius:10px;font-size:.75rem;padding:2px 8px}.add-task-btn,.task-count{background:#334155;background:var(--bg-card);color:#94a3b8;color:var(--text-secondary)}.add-task-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:1.25rem;height:28px;justify-content:center;transition:all .2s;width:28px}.add-task-btn:hover{background:#3b82f6;background:var(--accent);color:#fff}.column-content{display:flex;flex:1 1;flex-direction:column;gap:10px;overflow-y:auto;padding:12px}.add-task-form{background:#334155;background:var(--bg-card);border-radius:8px;margin-bottom:8px;padding:12px}.add-task-form input{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);font-size:.9rem;margin-bottom:10px;padding:10px;width:100%}.add-task-form input:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.add-task-actions{display:flex;gap:8px}.add-task-actions button{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:.85rem;padding:8px;transition:background .2s}.submit-btn{background:#3b82f6;background:var(--accent);color:#fff}.submit-btn:hover{background:#2563eb}.cancel-btn{background:#1e293b;background:var(--bg-secondary);color:#94a3b8;color:var(--text-secondary)}.cancel-btn:hover{background:#475569;background:var(--border-color)}.task-card{background:#334155;background:var(--bg-card);border:1px solid #0000;border-radius:8px;cursor:grab;padding:12px;transition:all .2s}.task-card:hover{border-color:#475569;border-color:var(--border-color)}.task-card.dragging{opacity:.5;transform:rotate(3deg)}.task-card:active{cursor:grabbing}.task-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.priority-indicator{border-radius:50%;height:8px;width:8px}.delete-task-btn{background:#0000;border:none;border-radius:4px;color:#64748b;color:var(--text-muted);cursor:pointer;font-size:1rem;height:20px;opacity:0;transition:all .2s;width:20px}.task-card:hover .delete-task-btn{opacity:1}.delete-task-btn:hover{background:#ef4444;background:var(--danger);color:#fff}.task-title{color:#f8fafc;color:var(--text-primary);cursor:text;font-size:.875rem;line-height:1.4;margin-bottom:10px}.task-title:hover{background:#6366f11a;border-radius:4px;margin:-2px;padding:2px}.task-title-edit{background:#1e293b;background:var(--bg-secondary);border:1px solid #3b82f6;border:1px solid var(--accent);border-radius:4px;box-shadow:0 0 0 2px #6366f133;color:#f8fafc;color:var(--text-primary);font-size:.875rem;margin-bottom:10px;outline:none;padding:4px 8px;width:100%}.task-footer{display:flex;justify-content:flex-end}.priority-badge{border-radius:10px;font-size:.65rem;font-weight:500;padding:2px 8px;text-transform:uppercase}@media (max-width:1200px){.kanban-board{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.landing-header,.landing-main{padding:30px 20px}.kanban-board,.project-grid{grid-template-columns:1fr}.header-main{flex-direction:column;padding:20px}.header-stats{justify-content:space-around;width:100%}.approaches-bar{padding:12px 20px}.project-main{padding:20px}}.modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:16px;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px 24px}.modal-header h2{font-size:1.25rem;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#64748b;color:var(--text-muted);cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.modal-close:hover{background:#334155;background:var(--bg-card);color:#f8fafc;color:var(--text-primary)}.project-form{padding:24px}.form-group{margin-bottom:20px}.form-group label{font-size:.875rem;font-weight:500;margin-bottom:8px}.form-group input,.form-group textarea{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#f8fafc;color:var(--text-primary);font-family:inherit;font-size:.9rem;padding:12px;transition:border-color .2s;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.form-group textarea{min-height:80px;resize:vertical}.color-picker{gap:8px}.color-option{border:3px solid #0000;border-radius:8px;cursor:pointer;height:36px;transition:all .2s;width:36px}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:#fff;box-shadow:0 0 0 2px #3b82f6;box-shadow:0 0 0 2px var(--accent)}.form-actions{gap:12px;margin-top:24px}.btn-cancel,.btn-submit{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:12px 20px;transition:all .2s}.btn-cancel{background:#334155;background:var(--bg-card)}.btn-cancel:hover{background:#475569;background:var(--border-color)}.btn-submit:hover{background:#2563eb}.section-header{align-items:flex-start;margin-bottom:30px}.add-project-btn{background:#3b82f6;background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:12px 24px;transition:all .2s;white-space:nowrap}.add-project-btn:hover{background:#2563eb;transform:translateY(-2px)}.delete-project-btn{align-items:center;background:#334155;background:var(--bg-card);border:none;border-radius:6px;color:#64748b;color:var(--text-muted);cursor:pointer;display:flex;font-size:1.25rem;height:28px;justify-content:center;opacity:0;position:absolute;right:12px;top:12px;transition:all .2s;width:28px;z-index:10}.project-card:hover .delete-project-btn{opacity:1}.delete-project-btn:hover{background:#ef4444;background:var(--danger);color:#fff}@media (max-width:768px){.section-header{flex-direction:column;gap:16px}.add-project-btn{width:100%}}.task-modal-content{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:16px;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.task-modal-header{align-items:center;border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;min-height:52px;padding:16px 20px}.task-modal-labels{display:flex;gap:6px}.task-label-pill{border-radius:4px;height:8px;width:40px}.task-modal-body{flex:1 1;overflow-y:auto;padding:20px}.task-section{margin-bottom:24px}.task-section>label{color:#94a3b8;color:var(--text-secondary);display:block;font-size:.8rem;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.section-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.section-header-row label{color:#94a3b8;color:var(--text-secondary);font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.task-title-input{background:#334155;background:var(--bg-card);border:none;border-radius:8px;color:#f8fafc;color:var(--text-primary);font-size:1.25rem;font-weight:600;padding:12px;width:100%}.task-title-input:focus{box-shadow:0 0 0 2px #3b82f6;box-shadow:0 0 0 2px var(--accent);outline:none}.task-description-input{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#f8fafc;color:var(--text-primary);font-family:inherit;font-size:.9rem;line-height:1.5;min-height:100px;padding:12px;resize:vertical;width:100%}.task-description-input:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.task-meta-row{display:flex;gap:24px;margin-bottom:20px}.task-meta-item{flex:1 1}.task-meta-item label{color:#94a3b8;color:var(--text-secondary);display:block;font-size:.8rem;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.priority-selector{display:flex;gap:8px}.priority-option{background:#0000;border:2px solid var(--priority-color);border-radius:6px;color:var(--priority-color);cursor:pointer;flex:1 1;font-size:.8rem;font-weight:500;padding:8px 12px;transition:all .2s}.priority-option.selected,.priority-option:hover{background:var(--priority-color);color:#fff}.date-input{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);font-size:.9rem;padding:10px 12px;width:100%}.date-input:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.date-input.overdue{border-color:#ef4444;border-color:var(--danger);color:#ef4444;color:var(--danger)}.label-picker{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.label-option{align-items:center;border:2px solid #0000;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;height:24px;justify-content:center;transition:all .2s;width:36px}.label-option:hover{transform:scale(1.1)}.label-option.selected{border-color:#fff;box-shadow:0 0 0 2px #3b82f6;box-shadow:0 0 0 2px var(--accent)}.selected-labels{display:flex;flex-wrap:wrap;gap:6px}.label-tag{align-items:center;border-radius:4px;color:#fff;display:flex;font-size:.75rem;font-weight:500;gap:6px;padding:4px 10px}.label-tag button{background:none;border:none;color:#fff;cursor:pointer;font-size:1rem;line-height:1;opacity:.7;padding:0}.label-tag button:hover{opacity:1}.add-btn-small{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:4px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:.75rem;padding:4px 10px;transition:all .2s}.add-btn-small:hover{background:#3b82f6;background:var(--accent);border-color:#3b82f6;border-color:var(--accent);color:#fff}.checklist-progress{color:#3b82f6;color:var(--accent);font-size:.75rem;font-weight:500}.checklist-progress-bar{background:#334155;background:var(--bg-card);border-radius:2px;height:4px;margin-bottom:12px;overflow:hidden}.checklist-progress-fill{background:#22c55e;background:var(--success);border-radius:2px;height:100%;transition:width .3s ease}.checklist-items{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.checklist-item{align-items:center;background:#334155;background:var(--bg-card);border-radius:6px;display:flex;gap:10px;padding:8px 10px;transition:all .2s}.checklist-item:hover{background:#475569;background:var(--border-color)}.checklist-item input[type=checkbox]{accent-color:#22c55e;accent-color:var(--success);cursor:pointer;height:18px;width:18px}.checklist-text{color:#f8fafc;color:var(--text-primary);flex:1 1;font-size:.9rem}.checklist-item.completed .checklist-text{color:#64748b;color:var(--text-muted);text-decoration:line-through}.remove-btn{background:none;border:none;color:#64748b;color:var(--text-muted);cursor:pointer;font-size:1rem;opacity:0;padding:0 4px;transition:all .2s}.checklist-item:hover .remove-btn,.link-item:hover .remove-btn{opacity:1}.remove-btn:hover{color:#ef4444;color:var(--danger)}.add-checklist-form{display:flex;gap:8px}.add-checklist-form input{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);flex:1 1;font-size:.85rem;padding:8px 12px}.add-checklist-form input:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.add-checklist-form button{background:#3b82f6;background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;padding:8px 16px;transition:background .2s}.add-checklist-form button:hover{background:#2563eb}.add-link-form{background:#334155;background:var(--bg-card);border-radius:8px;margin-bottom:12px;padding:12px}.add-link-form input{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);font-size:.85rem;margin-bottom:8px;padding:10px;width:100%}.add-link-form input:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.link-form-actions{display:flex;gap:8px}.link-form-actions button{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:.85rem;padding:8px}.links-list{display:flex;flex-direction:column;gap:6px}.link-item{align-items:center;background:#334155;background:var(--bg-card);border-radius:6px;display:flex;justify-content:space-between;padding:10px 12px;transition:all .2s}.link-item:hover{background:#475569;background:var(--border-color)}.link-item a{align-items:center;color:#3b82f6;color:var(--accent);display:flex;flex:1 1;font-size:.9rem;gap:8px;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.link-item a:hover{text-decoration:underline}.link-icon{font-size:.85rem}.task-modal-footer{align-items:center;background:#0f172a;background:var(--bg-primary);border-radius:0 0 16px 16px;border-top:1px solid #475569;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;padding:16px 20px}.btn-delete{background:#0000;border:1px solid #ef4444;border:1px solid var(--danger);border-radius:6px;color:#ef4444;color:var(--danger);cursor:pointer;font-size:.85rem;padding:10px 16px;transition:all .2s}.btn-delete:hover{background:#ef4444;background:var(--danger);color:#fff}.footer-actions{display:flex;gap:10px}.task-card{cursor:pointer}.task-labels-bar{display:flex;gap:4px;margin-bottom:8px}.task-label-mini{border-radius:3px;height:6px;width:32px}.task-metadata{flex-wrap:wrap;gap:8px;margin-bottom:10px}.due-badge,.task-metadata{align-items:center;display:flex}.due-badge{background:#1e293b;background:var(--bg-secondary);border-radius:4px;color:#94a3b8;color:var(--text-secondary);font-size:.7rem;gap:4px;padding:3px 8px}.due-badge.overdue{background:#ef444433;color:#ef4444}.due-badge.due-today{background:#f59e0b33;color:#f59e0b}.due-badge.due-soon{background:#3b82f633;color:#3b82f6}.due-icon{font-size:.75rem}.meta-icon{font-size:.8rem;opacity:.7}.checklist-badge{background:#1e293b;background:var(--bg-secondary);border-radius:4px;color:#94a3b8;color:var(--text-secondary);font-size:.7rem;padding:3px 8px}.checklist-badge.complete{background:#22c55e33;color:#22c55e}.task-card:hover{border-color:#3b82f6;border-color:var(--accent);box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}@media (max-width:768px){.task-modal-content{margin:10px;max-height:calc(100vh - 20px);max-width:100%}.task-meta-row{flex-direction:column;gap:16px}.priority-selector{flex-wrap:wrap}}[data-theme=light]{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-card:#f1f5f9;--text-primary:#1e293b;--text-secondary:#475569;--text-muted:#94a3b8;--border-color:#e2e8f0;--accent:#3b82f6}[data-theme=light] .landing-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#1e293b,#475569);-webkit-background-clip:text;background-clip:text}.global-navbar{align-items:center;background:#1e293b;background:var(--bg-secondary);border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:12px 40px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.navbar-left,.navbar-right{align-items:center;display:flex;gap:8px}.nav-btn{align-items:center;background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.85rem;gap:6px;padding:8px 12px;transition:all .2s}.nav-btn:hover{background:#3b82f6;background:var(--accent);border-color:#3b82f6;border-color:var(--accent);color:#fff}.nav-btn .btn-label{display:none}.search-btn{justify-content:space-between;min-width:200px}.search-btn .btn-label{display:inline}.shortcut{background:#1e293b;background:var(--bg-secondary);border-radius:4px;color:#64748b;color:var(--text-muted);font-size:.7rem;padding:2px 6px}.theme-toggle{font-size:1.1rem}@media (min-width:768px){.nav-btn .btn-label{display:inline}}@media (max-width:768px){.global-navbar{padding:10px 16px}.search-btn{min-width:auto}.search-btn .btn-label,.shortcut{display:none}}.search-overlay{background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding-top:10vh;position:fixed;right:0;top:0;z-index:1000}.search-modal{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:70vh;max-width:600px;width:100%}.search-header{align-items:center;border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);display:flex;gap:12px;padding:16px}.search-input-wrapper{align-items:center;background:#334155;background:var(--bg-card);border-radius:8px;display:flex;flex:1 1;gap:10px;padding:0 12px}.search-icon{font-size:1rem;opacity:.6}.search-input{background:#0000;border:none;color:#f8fafc;color:var(--text-primary);flex:1 1;font-size:1rem;padding:12px 0}.search-input:focus{outline:none}.search-clear{background:none;border:none;font-size:1.25rem;padding:4px}.search-clear,.search-close{color:#64748b;color:var(--text-muted);cursor:pointer}.search-close{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;font-size:.75rem;padding:6px 12px}.search-filters{align-items:center;border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:12px 16px}.filter-group{display:flex;gap:6px}.filter-btn{background:#334155;background:var(--bg-card);border:1px solid #0000;border-radius:6px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:.8rem;padding:6px 12px;transition:all .2s}.filter-btn.active,.filter-btn:hover{background:#3b82f6;background:var(--accent);color:#fff}.priority-filter{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);font-size:.8rem;padding:6px 12px}.search-results{flex:1 1;overflow-y:auto;padding:16px}.search-no-results,.search-placeholder{color:#64748b;color:var(--text-muted);padding:40px 20px;text-align:center}.search-tips{font-size:.85rem;margin-top:16px}.results-section{margin-bottom:24px}.results-section h3{color:#64748b;color:var(--text-muted);font-size:.75rem;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.search-result-item{align-items:center;background:#334155;background:var(--bg-card);border-radius:8px;cursor:pointer;display:flex;gap:12px;margin-bottom:8px;padding:12px;transition:all .2s}.search-result-item:hover{background:#475569;background:var(--border-color)}.result-color-bar{border-radius:2px;height:40px;width:4px}.result-priority{border-radius:50%;height:8px;width:8px}.result-priority.high{background:#e74c3c}.result-priority.medium{background:#f39c12}.result-priority.low{background:#27ae60}.result-content{display:flex;flex:1 1;flex-direction:column;gap:2px}.result-title{color:#f8fafc;color:var(--text-primary);font-weight:500}.result-meta,.result-subtitle{color:#64748b;color:var(--text-muted);font-size:.8rem}.more-results{color:#64748b;color:var(--text-muted);font-size:.85rem;padding:8px;text-align:center}.calendar-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.calendar-modal{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:16px;display:flex;flex-direction:column;max-height:90vh;max-width:700px;overflow:hidden;width:100%}.calendar-header{align-items:center;border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:16px 20px}.calendar-header h2{font-size:1.1rem;margin:0}.calendar-header-actions{align-items:center;display:flex;gap:12px}.btn-export-cal{background:#334155;background:var(--bg-card);border:1px solid #3b82f6;border:1px solid var(--accent);border-radius:6px;color:#3b82f6;color:var(--accent);cursor:pointer;font-size:.85rem;padding:6px 14px;transition:all .2s}.btn-export-cal.expanded,.btn-export-cal:hover{background:#3b82f6;background:var(--accent);color:#fff}.ical-export-section{background:#334155;background:var(--bg-card);border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);padding:16px 20px}.ical-export-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.ical-export-header h4{color:#f8fafc;color:var(--text-primary);font-size:1rem;margin:0}.collapse-export-btn{background:#0000;border:none;border-radius:4px;color:#64748b;color:var(--text-muted);cursor:pointer;font-size:1rem;padding:4px 8px;transition:all .2s}.collapse-export-btn:hover{background:#334155;background:var(--bg-card);color:#f8fafc;color:var(--text-primary)}.ical-export-header p{color:#64748b;color:var(--text-muted);font-size:.85rem;margin:0}.ical-export-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.btn-copy-ical-content,.btn-download-ical{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;padding:10px 18px;transition:all .2s}.btn-download-ical{background:#3b82f6;background:var(--accent);color:#fff}.btn-download-ical:hover{filter:brightness(1.1)}.btn-copy-ical-content{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);color:#f8fafc;color:var(--text-primary)}.btn-copy-ical-content:hover{background:#475569;background:var(--border-color)}.ical-export-status{background:#27ae6026;border:1px solid #27ae604d;border-radius:6px;color:#27ae60;font-size:.85rem;margin-bottom:12px;padding:10px 14px}.ical-instructions{color:#94a3b8;color:var(--text-secondary);line-height:1.6}.ical-instructions strong{color:#f8fafc;color:var(--text-primary);display:block;margin-bottom:6px}.ical-instructions ol{margin:0;padding-left:20px}.ical-instructions a{color:#3b82f6;color:var(--accent);text-decoration:none}.ical-instructions a:hover{text-decoration:underline}.ical-task-count{border-top:1px solid #475569;border-top:1px solid var(--border-color);color:#64748b;color:var(--text-muted);font-size:.8rem;margin-top:12px;padding-top:12px}.calendar-nav{align-items:center;border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);display:flex;gap:16px;padding:16px 20px}.calendar-nav button{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);cursor:pointer;padding:8px 16px;transition:all .2s}.calendar-nav button:hover{background:#3b82f6;background:var(--accent);color:#fff}.calendar-nav h3{flex:1 1;font-size:1rem;margin:0;text-align:center}.today-btn{font-size:.85rem}.calendar-grid{padding:16px 20px}.calendar-weekdays{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.weekday{color:#64748b;color:var(--text-muted);font-size:.75rem;font-weight:600;padding:8px;text-align:center}.calendar-days{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr)}.calendar-day{align-items:center;aspect-ratio:1;background:#334155;background:var(--bg-card);border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-start;min-height:60px;padding:8px 4px;transition:all .2s}.calendar-day:hover{background:#475569;background:var(--border-color)}.calendar-day.empty{background:#0000;cursor:default}.calendar-day.today{background:#3b82f6;background:var(--accent);color:#fff}.calendar-day.today .day-number{color:#fff}.calendar-day.selected{border:2px solid #3b82f6;border:2px solid var(--accent)}.calendar-day.has-overdue{border-left:3px solid #e74c3c}.day-number{color:#f8fafc;color:var(--text-primary);font-size:.9rem;font-weight:600}.day-tasks-preview{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;margin-top:4px}.task-dot{border-radius:50%;height:6px;width:6px}.more-tasks{color:#64748b;color:var(--text-muted);font-size:.6rem}.calendar-day-detail{border-top:1px solid #475569;border-top:1px solid var(--border-color);max-height:200px;overflow-y:auto;padding:16px 20px}.calendar-day-detail h4{font-size:.9rem;margin:0 0 12px}.calendar-day-detail .no-tasks{color:#64748b;color:var(--text-muted);font-size:.85rem}.day-tasks-list{display:flex;flex-direction:column;gap:8px}.calendar-task-item{align-items:center;background:#334155;background:var(--bg-card);border-radius:6px;cursor:pointer;display:flex;gap:10px;padding:10px;transition:all .2s}.calendar-task-item:hover{background:#475569;background:var(--border-color)}.task-color{border-radius:2px;height:32px;width:4px}.task-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.task-name{font-size:.9rem;font-weight:500}.task-project{color:#64748b;color:var(--text-muted);font-size:.75rem}.task-priority-dot{border-radius:50%;height:8px;width:8px}.task-priority-dot.high{background:#e74c3c}.task-priority-dot.medium{background:#f39c12}.task-priority-dot.low{background:#27ae60}.quick-add-modal{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:16px;max-width:500px;width:100%}.quick-add-form{padding:20px}.quick-add-form .form-row{display:flex;gap:16px}.quick-add-form .form-row .form-group{flex:1 1}.quick-add-form select{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#f8fafc;color:var(--text-primary);font-size:.9rem;padding:10px 12px;width:100%}.priority-buttons{display:flex;gap:8px}.priority-btn{background:#0000;border:2px solid;border-radius:6px;cursor:pointer;flex:1 1;font-size:.8rem;font-weight:500;padding:8px;text-transform:capitalize;transition:all .2s}.priority-btn.low{border-color:#27ae60;color:#27ae60}.priority-btn.low.active,.priority-btn.low:hover{background:#27ae60;color:#fff}.priority-btn.medium{border-color:#f39c12;color:#f39c12}.priority-btn.medium.active,.priority-btn.medium:hover{background:#f39c12;color:#fff}.priority-btn.high{border-color:#e74c3c;color:#e74c3c}.priority-btn.high.active,.priority-btn.high:hover{background:#e74c3c;color:#fff}.activity-overlay{background:#00000080;bottom:0;display:flex;justify-content:flex-end;left:0;position:fixed;right:0;top:0;z-index:1000}.activity-panel{animation:slideIn .3s ease;background:#1e293b;background:var(--bg-secondary);border-left:1px solid #475569;border-left:1px solid var(--border-color);display:flex;flex-direction:column;height:100%;max-width:400px;width:100%}.activity-header{align-items:center;border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:16px 20px}.activity-header h2{font-size:1.1rem;margin:0}.activity-content{flex:1 1;overflow-y:auto;padding:16px 20px}.no-activity{color:#64748b;color:var(--text-muted);padding:40px 20px;text-align:center}.no-activity span{font-size:.85rem}.activity-day{margin-bottom:24px}.activity-date{color:#64748b;color:var(--text-muted);font-size:.75rem;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.activity-list{display:flex;flex-direction:column;gap:8px}.activity-item{align-items:flex-start;background:#334155;background:var(--bg-card);border-radius:8px;display:flex;gap:12px;padding:10px}.activity-icon{font-size:1rem}.activity-details{display:flex;flex:1 1;flex-direction:column;gap:2px}.activity-action{color:#f8fafc;color:var(--text-primary);font-size:.85rem;font-weight:500}.activity-description{font-size:.8rem}.activity-description,.activity-time{color:#64748b;color:var(--text-muted)}.activity-time{font-size:.7rem;white-space:nowrap}.project-tabs{gap:4px;padding:0 40px}.project-tab{background:#0000;border:none;border-bottom:3px solid #0000;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:.9rem;padding:14px 20px;transition:all .2s}.project-tab:hover{background:#334155;background:var(--bg-card);color:#f8fafc;color:var(--text-primary)}.project-tab.active{border-bottom-color:#3b82f6;border-bottom-color:var(--accent);color:#3b82f6;color:var(--accent)}.protocols-results-section{max-width:900px}.pr-tabs{display:flex;gap:4px;margin-bottom:20px}.pr-tab{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:.9rem;padding:10px 20px;transition:all .2s}.pr-tab:hover{background:#475569;background:var(--border-color)}.pr-tab.active{background:#3b82f6;background:var(--accent);border-color:#3b82f6;border-color:var(--accent);color:#fff}.pr-content{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:12px;padding:20px}.pr-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.pr-header h3{font-size:1.1rem;margin:0}.add-pr-btn{background:#3b82f6;background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;padding:8px 16px;transition:all .2s}.add-pr-btn:hover{background:#2563eb}.pr-add-form{background:#334155;background:var(--bg-card);border-radius:8px;margin-bottom:20px;padding:16px}.pr-add-form input,.pr-add-form textarea{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);font-family:inherit;font-size:.9rem;margin-bottom:12px;padding:10px 12px;width:100%}.pr-add-form input:focus,.pr-add-form textarea:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.pr-form-row{display:flex;gap:12px}.pr-form-row input{flex:1 1}.pr-form-actions{display:flex;gap:10px;justify-content:flex-end}.pr-empty{color:#64748b;color:var(--text-muted);padding:40px 20px;text-align:center}.pr-empty span{display:block;font-size:.85rem;margin-top:8px}.pr-list{display:flex;flex-direction:column;gap:8px}.pr-item{background:#334155;background:var(--bg-card);border-radius:8px;overflow:hidden}.pr-item-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:14px 16px;transition:background .2s}.pr-item-header:hover{background:#475569;background:var(--border-color)}.pr-item-main{align-items:center;display:flex;gap:12px}.pr-item-icon{font-size:1.25rem}.pr-item-info h4{font-size:.95rem;font-weight:500;margin:0}.pr-item-date{color:#64748b;color:var(--text-muted);font-size:.75rem}.pr-item-actions{align-items:center;display:flex;gap:8px}.pr-delete-btn,.pr-link-btn{background:none;border:none;cursor:pointer;font-size:.9rem;opacity:.6;padding:4px;transition:opacity .2s}.pr-delete-btn:hover,.pr-link-btn:hover{opacity:1}.pr-expand-icon{color:#64748b;color:var(--text-muted);font-size:.7rem}.pr-item-details{border-top:1px solid #475569;border-top:1px solid var(--border-color);margin-top:-1px;padding:0 16px 16px}.pr-description{color:#94a3b8;color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:12px 0;white-space:pre-wrap}.pr-tags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.pr-tag{border-radius:4px;color:#94a3b8;color:var(--text-secondary);font-size:.75rem;padding:4px 10px}.pr-file-link,.pr-tag{background:#1e293b;background:var(--bg-secondary)}.pr-file-link{align-items:center;border-radius:6px;color:#3b82f6;color:var(--accent);display:inline-flex;font-size:.85rem;gap:6px;margin-top:8px;padding:8px 12px;text-decoration:none}.pr-file-link:hover{text-decoration:underline}.header-actions{align-items:center;display:flex;gap:12px}.show-archived-btn{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:.85rem;padding:10px 16px;transition:all .2s}.show-archived-btn:hover{background:#475569;background:var(--border-color)}.project-card-actions{display:flex;gap:6px;opacity:0;position:absolute;right:12px;top:12px;transition:opacity .2s;z-index:10}.project-card:hover .project-card-actions{opacity:1}.archive-project-btn,.unarchive-project-btn{background:#334155;background:var(--bg-card);border:none;border-radius:6px;cursor:pointer;font-size:.8rem;padding:6px 10px;transition:all .2s}.archive-project-btn:hover{background:#f59e0b;background:var(--warning)}.unarchive-project-btn{background:#22c55e;background:var(--success);color:#fff}.unarchive-project-btn:hover{background:#16a34a}.archived-section{border-top:1px solid #475569;border-top:1px solid var(--border-color);margin-top:40px;padding-top:30px}.archived-section h3{color:#64748b;color:var(--text-muted);font-size:1.1rem;margin-bottom:20px}.archived-grid .project-card{cursor:default;opacity:.6;pointer-events:auto}.archived-grid .project-card:hover{box-shadow:none;transform:none}.archived-grid .project-card:before{opacity:.5}.archived-grid .card-hover-indicator{display:none}.task-card.drag-over{border-top:3px solid #3b82f6;border-top:3px solid var(--accent);margin-top:-3px}.task-card.drag-over:before{background:#3b82f6;background:var(--accent);border-radius:2px;content:"";height:3px;left:0;position:absolute;right:0;top:-8px}.task-dependency-selector{margin-top:8px}.selected-dependencies{display:flex;flex-direction:column;gap:8px;margin-top:10px}.dependency-chip{align-items:center;background:#334155;background:var(--bg-card);border-left:3px solid;border-radius:6px;display:flex;gap:8px;padding:8px 12px}.dependency-chip.blocking{background:#e74c3c1a;border-left-color:#e74c3c}.dependency-chip.resolved{background:#27ae601a;border-left-color:#27ae60}.dep-status-icon,.dep-title{font-size:.9rem}.dep-title{color:#f8fafc;color:var(--text-primary);flex:1 1}.remove-dep-btn{background:none;border:none;color:#64748b;color:var(--text-muted);cursor:pointer;font-size:1.1rem;padding:0 4px}.remove-dep-btn:hover{color:#e74c3c}.dependency-picker{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;margin-top:10px;overflow:hidden}.dependency-search{background:#0000;border:none;border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);color:#f8fafc;color:var(--text-primary);font-size:.9rem;padding:10px 12px;width:100%}.dependency-search:focus{outline:none}.dependency-list{max-height:200px;overflow-y:auto}.dependency-option{align-items:center;cursor:pointer;display:flex;gap:10px;padding:10px 12px;transition:background .2s}.dependency-option:hover{background:#475569;background:var(--border-color)}.dependency-option.selected{background:#3498db26}.dep-checkbox{color:#64748b;color:var(--text-muted);font-size:1rem}.dependency-option.selected .dep-checkbox{color:#3b82f6;color:var(--accent)}.dep-task-title{color:#f8fafc;color:var(--text-primary);flex:1 1;font-size:.9rem}.dep-column-badge{background:#475569;background:var(--border-color);border-radius:10px;color:#64748b;color:var(--text-muted);font-size:.7rem;padding:3px 8px}.dep-column-badge.done{background:#27ae6033;color:#27ae60}.dep-column-badge.inProgress{background:#3498db33;color:#3498db}.no-tasks-msg{color:#64748b;color:var(--text-muted);font-size:.9rem;padding:20px;text-align:center}.dependency-status{border-radius:6px;font-size:.85rem;margin-top:10px;padding:8px 12px}.status-resolved{color:#27ae60}.status-blocking{color:#e74c3c}.recurring-modal-content{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:16px;display:flex;flex-direction:column;max-height:80vh;max-width:600px;width:100%}.recurring-modal-header{border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);padding:20px 24px;position:relative}.recurring-modal-header h2{color:#f8fafc;color:var(--text-primary);font-size:1.3rem;margin:0}.recurring-modal-body{flex:1 1;overflow-y:auto;padding:20px 24px}.add-recurring-btn{background:#334155;background:var(--bg-card);border:2px dashed #475569;border:2px dashed var(--border-color);border-radius:8px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:.95rem;margin-bottom:20px;padding:14px;transition:all .2s;width:100%}.add-recurring-btn:hover{border-color:#3b82f6;border-color:var(--accent);color:#3b82f6;color:var(--accent)}.add-recurring-form{background:#334155;background:var(--bg-card);border-radius:12px;margin-bottom:20px;padding:20px}.add-recurring-form h3{color:#f8fafc;color:var(--text-primary);font-size:1rem;margin:0 0 16px}.form-group{margin-bottom:16px}.form-group label{color:#94a3b8;color:var(--text-secondary);display:block;font-size:.85rem;margin-bottom:6px}.form-group input,.form-group select{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);font-size:.9rem;padding:10px 12px;width:100%}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.form-row{grid-gap:16px;gap:16px;grid-template-columns:1fr 1fr}.form-actions{margin-top:16px}.recurring-tasks-list{display:flex;flex-direction:column;gap:12px}.empty-recurring{color:#64748b;color:var(--text-muted);padding:30px;text-align:center}.empty-recurring .hint{font-size:.85rem;margin-top:8px}.recurring-task-item{background:#334155;background:var(--bg-card);border-radius:10px;padding:16px;transition:all .2s}.recurring-task-item.disabled{opacity:.5}.recurring-task-main{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.recurring-task-info h4{color:#f8fafc;color:var(--text-primary);font-size:1rem;margin:0 0 8px}.recurring-meta{display:flex;flex-wrap:wrap;gap:8px}.day-badge,.frequency-badge{background:#475569;background:var(--border-color);border-radius:12px;color:#94a3b8;color:var(--text-secondary);font-size:.75rem;padding:4px 10px}.last-created{color:#64748b;color:var(--text-muted);font-size:.8rem;margin-top:8px}.recurring-task-actions{display:flex;gap:6px}.recurring-task-actions button{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;height:32px;transition:all .2s;width:32px}.trigger-btn{background:#3b82f6;background:var(--accent);color:#fff}.trigger-btn:hover{filter:brightness(1.1)}.toggle-btn{background:#475569;background:var(--border-color);color:#64748b;color:var(--text-muted)}.toggle-btn.enabled{background:#27ae6033;color:#27ae60}.delete-btn{background:#475569;background:var(--border-color);color:#64748b;color:var(--text-muted)}.delete-btn:hover{background:#e74c3c33;color:#e74c3c}.templates-modal-content{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:16px;display:flex;flex-direction:column;max-height:85vh;max-width:800px;width:100%}.templates-modal-header{border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);padding:20px 24px;position:relative}.templates-modal-header h2{color:#f8fafc;color:var(--text-primary);font-size:1.3rem;margin:0}.templates-modal-body{flex:1 1;overflow-y:auto;padding:20px 24px}.create-template-btn{background:#334155;background:var(--bg-card);border:2px dashed #475569;border:2px dashed var(--border-color);border-radius:8px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:.95rem;margin-bottom:20px;padding:14px;transition:all .2s;width:100%}.create-template-btn:hover{border-color:#3b82f6;border-color:var(--accent);color:#3b82f6;color:var(--accent)}.create-template-form{background:#334155;background:var(--bg-card);border-radius:12px;margin-bottom:20px;padding:20px}.create-template-form h3{color:#f8fafc;color:var(--text-primary);font-size:1rem;margin:0 0 16px}.icon-selector{margin-bottom:16px}.icon-options{display:flex;flex-wrap:wrap;gap:8px}.icon-option{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:1.1rem;height:36px;transition:all .2s;width:36px}.icon-option.selected,.icon-option:hover{border-color:#3b82f6;border-color:var(--accent)}.icon-option.selected{background:#3498db33}.template-tasks-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;max-height:150px;overflow-y:auto}.template-task-item{align-items:center;background:#1e293b;background:var(--bg-secondary);border-radius:6px;display:flex;font-size:.9rem;justify-content:space-between;padding:8px 12px}.template-task-item button{background:none;border:none;color:#64748b;color:var(--text-muted);cursor:pointer;font-size:1rem}.template-task-item button:hover{color:#e74c3c}.add-template-task{display:flex;gap:8px}.add-template-task input{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);flex:1 1;font-size:.9rem;padding:8px 12px}.add-template-task button{background:#3b82f6;background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;padding:8px 16px}.templates-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.template-card{background:#334155;background:var(--bg-card);border:2px solid #0000;border-radius:12px;cursor:pointer;padding:16px;transition:all .2s}.template-card:hover{border-color:#475569;border-color:var(--border-color)}.template-card.selected{border-color:#3b82f6;border-color:var(--accent)}.template-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px}.template-icon{font-size:1.5rem}.delete-template-btn{background:none;border:none;color:#64748b;color:var(--text-muted);cursor:pointer;font-size:1.2rem;padding:0}.delete-template-btn:hover{color:#e74c3c}.template-card h4{color:#f8fafc;color:var(--text-primary);font-size:1rem;margin:0 0 4px}.template-description{color:#64748b;color:var(--text-muted);font-size:.8rem;line-height:1.4;margin:0 0 8px}.template-task-count{background:#475569;background:var(--border-color);border-radius:10px;color:#94a3b8;color:var(--text-secondary);font-size:.75rem;padding:3px 8px}.template-preview{border-top:1px solid #475569;border-top:1px solid var(--border-color);margin-top:12px;padding-top:12px}.template-preview h5{color:#94a3b8;color:var(--text-secondary);font-size:.8rem;margin:0 0 8px}.template-preview ul{color:#f8fafc;color:var(--text-primary);font-size:.85rem;margin:0;padding:0 0 0 16px}.template-preview li{margin-bottom:4px}.template-preview .more-tasks{color:#64748b;color:var(--text-muted);font-style:italic}.apply-template-btn{background:#3b82f6;background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;margin-top:12px;padding:10px;transition:all .2s;width:100%}.apply-template-btn:hover{filter:brightness(1.1)}.gcal-modal-content{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:16px;display:flex;flex-direction:column;max-height:80vh;max-width:500px;width:100%}.gcal-modal-header{border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);padding:20px 24px;position:relative}.gcal-modal-header h2{color:#f8fafc;color:var(--text-primary);font-size:1.3rem;margin:0}.gcal-modal-body{flex:1 1;overflow-y:auto;padding:24px}.gcal-setup-instructions{color:#f8fafc;color:var(--text-primary)}.gcal-setup-instructions h3{font-size:1.1rem;margin:0 0 16px}.gcal-setup-instructions ol{line-height:1.8;margin-bottom:20px;padding-left:20px}.gcal-setup-instructions a{color:#3b82f6;color:var(--accent)}.env-example{background:#334155;background:var(--bg-card);border-radius:8px;font-size:.8rem;margin-bottom:16px;overflow-x:auto;padding:12px}.setup-note{color:#64748b;color:var(--text-muted);font-size:.85rem;margin-bottom:24px}.manual-sync-section{background:#334155;background:var(--bg-card);border-radius:12px;margin-top:24px;padding:20px}.manual-sync-section h4{font-size:1rem;margin:0 0 12px}.btn-export-ics{background:#3b82f6;background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;margin-top:12px;padding:12px;width:100%}.btn-export-ics:hover{filter:brightness(1.1)}.gcal-loading{padding:40px;text-align:center}.spinner{animation:spin 1s linear infinite;border:3px solid #475569;border-top-color:#3b82f6;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--accent);height:40px;margin:0 auto 16px;width:40px}.gcal-signin{padding:20px;text-align:center}.gcal-signin p{color:#94a3b8;color:var(--text-secondary);margin-bottom:20px}.google-signin-btn{align-items:center;background:#fff;border:1px solid #dadce0;border-radius:8px;color:#3c4043;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:500;gap:12px;padding:12px 24px;transition:all .2s}.google-signin-btn:hover{background:#f8f9fa;box-shadow:0 2px 8px #0000001a}.google-signin-btn img{height:20px;width:20px}.gcal-connected{display:flex;flex-direction:column;gap:20px}.connection-status{align-items:center;color:#f8fafc;color:var(--text-primary);display:flex;font-size:.9rem;gap:8px}.status-dot{height:10px;width:10px}.signout-link{margin-left:auto}.gcal-settings{display:flex;flex-direction:column;gap:16px}.sync-actions{display:flex;gap:12px}.sync-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:.9rem;padding:12px;transition:all .2s}.sync-btn.export{background:#3b82f6;background:var(--accent);color:#fff}.sync-btn.import{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);color:#f8fafc;color:var(--text-primary)}.sync-btn:hover{filter:brightness(1.1)}.sync-btn:disabled{cursor:not-allowed;opacity:.5}.last-sync{color:#64748b;color:var(--text-muted);font-size:.85rem;text-align:center}.sync-status{border-radius:8px;font-size:.9rem;padding:12px;text-align:center}.sync-status.info{background:#3498db1a;color:#3498db}.sync-status.success{background:#27ae601a;color:#27ae60}.sync-status.error{background:#e74c3c1a;color:#e74c3c}.research-notes{margin:0 auto;max-width:1200px;padding:20px}.notes-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.notes-tab{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:.95rem;padding:10px 20px;transition:all .2s}.notes-tab:hover{background:#475569;background:var(--border-color)}.notes-tab.active{background:#3b82f6;background:var(--accent);border-color:#3b82f6;border-color:var(--accent);color:#fff}.notes-content{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:12px;min-height:400px}.section-header{border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);padding:20px 24px}.section-header h3{color:#f8fafc;color:var(--text-primary);font-size:1.2rem;margin:0}.add-btn,.edit-btn{background:#3b82f6;background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;padding:8px 16px;transition:all .2s}.add-btn:hover,.edit-btn:hover{filter:brightness(1.1)}.background-section{padding:0}.background-editor{padding:20px 24px}.background-editor textarea{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#f8fafc;color:var(--text-primary);font-size:.95rem;line-height:1.6;min-height:300px;padding:16px;resize:vertical;width:100%}.background-editor textarea:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.editor-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.background-display{padding:24px}.background-text{color:#f8fafc;color:var(--text-primary);font-size:.95rem;line-height:1.8;white-space:pre-wrap}.aims-section{padding:0}.aims-list{display:flex;flex-direction:column;gap:20px;padding:20px 24px}.aim-card{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:12px;padding:20px}.aim-header{align-items:center;display:flex;gap:12px;margin-bottom:16px}.aim-number{background:#3498db1a;border-radius:12px;color:#3b82f6;color:var(--accent);font-size:.85rem;font-weight:600;padding:4px 12px}.aim-status{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);font-size:.85rem;padding:6px 12px}.aim-status.planned{border-color:#888}.aim-status.in-progress{background:#3498db1a;border-color:#3498db}.aim-status.completed{background:#27ae601a;border-color:#27ae60}.delete-aim-btn{background:none;border:none;color:#64748b;color:var(--text-muted);cursor:pointer;font-size:1.3rem;margin-left:auto}.delete-aim-btn:hover{color:#e74c3c}.aim-field{margin-bottom:14px}.aim-field label{color:#94a3b8;color:var(--text-secondary);display:block;font-size:.8rem;font-weight:500;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.aim-field input,.aim-field textarea{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);font-size:.9rem;line-height:1.5;padding:10px 12px;width:100%}.aim-field input:focus,.aim-field textarea:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.aim-field textarea{resize:vertical}.misc-section{padding:0}.notes-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding:20px 24px}.note-card{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:10px;display:flex;flex-direction:column;gap:10px;padding:16px}.note-header{align-items:center;display:flex;justify-content:space-between}.note-category{background:#0000;border:2px solid;border-radius:12px;color:#f8fafc;color:var(--text-primary);font-size:.75rem;padding:4px 10px}.delete-note-btn{background:none;border:none;color:#64748b;color:var(--text-muted);cursor:pointer;font-size:1.2rem}.delete-note-btn:hover{color:#e74c3c}.note-title{background:#0000;border:none;border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);color:#f8fafc;color:var(--text-primary);font-size:1rem;font-weight:500;padding:8px 0}.note-title:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.note-content{background:#0000;border:none;color:#f8fafc;color:var(--text-primary);font-size:.9rem;line-height:1.5;min-height:80px;padding:8px 0;resize:vertical}.note-content:focus{outline:none}.note-footer{border-top:1px solid #475569;border-top:1px solid var(--border-color);margin-top:auto;padding-top:8px}.note-date{font-size:.75rem}.empty-state,.note-date{color:#64748b;color:var(--text-muted)}.empty-state{padding:60px 24px;text-align:center}.empty-state .hint{font-size:.9rem;margin-top:8px;opacity:.8}.literature-manager{padding:20px 24px}.literature-manager h3{color:#f8fafc;color:var(--text-primary);font-size:1.2rem;margin:0 0 20px}.add-reference-form{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:12px;margin-bottom:24px;padding:20px}.add-reference-form h4{color:#f8fafc;color:var(--text-primary);font-size:1rem;margin:0 0 16px}.pmid-lookup{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.pmid-lookup input{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#f8fafc;color:var(--text-primary);flex:1 1;font-size:.9rem;min-width:200px;padding:10px 14px}.pmid-lookup input:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.pmid-lookup button{background:#3b82f6;background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;padding:10px 20px;transition:all .2s;white-space:nowrap}.pmid-lookup button:hover:not(:disabled){filter:brightness(1.1)}.pmid-lookup button:disabled{cursor:not-allowed;opacity:.6}.bulk-pmid-section{background:#334155;background:var(--bg-card);border:1px dashed #475569;border:1px dashed var(--border-color);border-radius:8px;margin-bottom:16px;padding:16px}.bulk-pmid-section label{color:#94a3b8;color:var(--text-secondary);display:block;font-size:.9rem;font-weight:500;margin-bottom:8px}.bulk-pmid-input{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);font-family:monospace;font-size:.85rem;min-height:60px;padding:10px 12px;resize:vertical;width:100%}.bulk-pmid-input:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.bulk-pmid-input:disabled{cursor:not-allowed;opacity:.6}.bulk-import-actions{align-items:center;display:flex;gap:12px;margin-top:10px}.btn-bulk-import{background:#9b59b6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;padding:8px 16px;transition:all .2s;white-space:nowrap}.btn-bulk-import:hover:not(:disabled){filter:brightness(1.1)}.btn-bulk-import:disabled{cursor:not-allowed;opacity:.6}.bulk-progress-bar{background:#1e293b;background:var(--bg-secondary);border-radius:4px;flex:1 1;height:8px;overflow:hidden}.bulk-progress-fill{background:linear-gradient(90deg,#9b59b6,#3498db);border-radius:4px;height:100%;transition:width .3s ease}.reference-number{font-size:.95rem;font-weight:700;min-width:28px}.lookup-status{border-radius:8px;font-size:.9rem;margin-bottom:16px;padding:10px 14px}.lookup-status.loading{background:#3498db1a;border:1px solid #3b82f6;border:1px solid var(--accent);color:#3b82f6;color:var(--accent)}.lookup-status.error{background:#e74c3c1a;border:1px solid #e74c3c;color:#e74c3c}.lookup-status.success{background:#27ae601a;border:1px solid #27ae60;color:#27ae60}.manual-entry{grid-gap:12px;display:grid;gap:12px}.manual-entry h5{color:#94a3b8;color:var(--text-secondary);font-size:.85rem;letter-spacing:.5px;margin:0;text-transform:uppercase}.form-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.manual-entry input,.manual-entry textarea{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);font-size:.9rem;padding:10px 12px;width:100%}.manual-entry input:focus,.manual-entry textarea:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.manual-entry textarea{min-height:60px;resize:vertical}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}.btn-cancel{background:#0000;border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;padding:8px 16px;transition:all .2s}.btn-cancel:hover{background:#334155;background:var(--bg-card);color:#f8fafc;color:var(--text-primary)}.btn-submit{background:#3b82f6;background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;padding:8px 16px;transition:all .2s}.btn-submit:hover{filter:brightness(1.1)}.references-list{display:flex;flex-direction:column;gap:12px}.references-list h4{color:#94a3b8;color:var(--text-secondary);font-size:1rem;margin:0}.reference-item{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:10px;overflow:hidden;transition:all .2s}.reference-item.expanded,.reference-item:hover{border-color:#3b82f6;border-color:var(--accent)}.reference-main{align-items:flex-start;cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:14px 16px}.reference-citation{align-items:flex-start;display:flex;flex:1 1;gap:8px}.reference-number{color:#3b82f6;color:var(--accent);flex-shrink:0;font-size:.9rem;font-weight:600;min-width:24px}.citation-text{color:#f8fafc;color:var(--text-primary);font-size:.9rem;line-height:1.5;margin:0}.reference-badges{display:flex;flex-shrink:0;flex-wrap:wrap;gap:6px}.ref-badge{border-radius:4px;display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.ref-badge.pmid{background:#3498db26;border:1px solid #3498db4d;color:#3498db}.ref-badge.doi{background:#9b59b626;border:1px solid #9b59b64d;color:#9b59b6}.ref-badge.tag{background:#27ae6026;border:1px solid #27ae604d;color:#27ae60}.reference-expanded{border-top:1px solid #475569;border-top:1px solid var(--border-color);margin-top:0;padding:16px}.reference-links{margin-bottom:16px}.ref-link{border-radius:6px;display:inline-block;font-size:.85rem;padding:6px 12px;text-decoration:none;transition:all .2s}.ref-link.pubmed{background:#3498db1a;border:1px solid #3498db4d;color:#3498db}.ref-link.pubmed:hover{background:#3498db33}.ref-link.scholar{background:#34495e1a;border:1px solid #475569;border:1px solid var(--border-color);color:#94a3b8;color:var(--text-secondary)}.ref-link.scholar:hover{background:#34495e33}.ref-link.doi{background:#9b59b61a;border:1px solid #9b59b64d;color:#9b59b6}.ref-link.doi:hover{background:#9b59b633}.reference-abstract{margin-bottom:16px}.reference-abstract h4,.reference-notes h4{color:#94a3b8;color:var(--text-secondary);font-size:.85rem;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.reference-abstract p{color:#f8fafc;color:var(--text-primary);margin:0}.reference-notes textarea{font-size:.9rem}.reference-actions .btn-action{border-radius:6px;cursor:pointer;font-size:.85rem;padding:8px 14px;transition:all .2s}.reference-actions .btn-action.copy{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);color:#f8fafc;color:var(--text-primary)}.reference-actions .btn-action.copy:hover{background:#475569;background:var(--border-color)}.reference-actions .btn-action.danger{background:#e74c3c1a;border:1px solid #e74c3c4d;color:#e74c3c}.reference-actions .btn-action.danger:hover{background:#e74c3c33}.references-empty{color:#64748b;color:var(--text-muted);padding:40px 20px;text-align:center}.references-empty .hint{font-size:.9rem;margin-top:8px}.references-count{color:#64748b;color:var(--text-muted);font-size:.9rem;padding:16px;text-align:center}.reference-card{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:12px;padding:20px;transition:all .2s}.reference-card:hover{border-color:#3b82f6;border-color:var(--accent)}.reference-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:12px}.reference-title{color:#f8fafc;color:var(--text-primary);flex:1 1;font-size:1rem;font-weight:600;line-height:1.4}.reference-actions{display:flex;flex-shrink:0;gap:8px}.reference-actions button{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:.85rem;padding:6px 10px;transition:all .2s}.reference-actions button:hover{background:#475569;background:var(--border-color);color:#f8fafc;color:var(--text-primary)}.reference-actions .delete-btn:hover{background:#e74c3c33;border-color:#e74c3c;color:#e74c3c}.reference-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.reference-authors{color:#94a3b8;color:var(--text-secondary);font-size:.9rem;font-style:italic}.reference-journal{color:#64748b;color:var(--text-muted);font-size:.85rem}.reference-year{color:#3b82f6;color:var(--accent);font-size:.85rem;font-weight:500}.reference-ids{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.reference-id{align-items:center;background:#1e293b;background:var(--bg-secondary);border-radius:6px;color:#94a3b8;color:var(--text-secondary);display:inline-flex;font-size:.8rem;gap:6px;padding:4px 10px}.reference-id a{color:#3b82f6;color:var(--accent);text-decoration:none}.reference-id a:hover{text-decoration:underline}.reference-links{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.reference-link{align-items:center;background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);display:inline-flex;font-size:.85rem;gap:6px;padding:6px 12px;text-decoration:none;transition:all .2s}.reference-link:hover{background:#475569;background:var(--border-color);border-color:#3b82f6;border-color:var(--accent)}.reference-citation{background:#1e293b;background:var(--bg-secondary);border-left:3px solid #3b82f6;border-left:3px solid var(--accent);border-radius:8px;color:#94a3b8;color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin-bottom:12px;padding:12px 14px}.reference-abstract{margin-bottom:12px}.reference-abstract summary{color:#3b82f6;color:var(--accent);cursor:pointer;font-size:.85rem;margin-bottom:8px;-webkit-user-select:none;user-select:none}.reference-abstract summary:hover{text-decoration:underline}.reference-abstract p{background:#1e293b;background:var(--bg-secondary);border-radius:8px;color:#94a3b8;color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin-top:8px;padding:12px}.reference-notes{margin-bottom:12px}.reference-notes textarea{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);font-size:.85rem;min-height:60px;padding:10px 12px;resize:vertical;width:100%}.reference-notes textarea:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.reference-notes textarea::placeholder{color:#64748b;color:var(--text-muted)}.reference-tags{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.reference-tag{align-items:center;background:#3498db1a;border:1px solid #3b82f6;border:1px solid var(--accent);border-radius:12px;color:#3b82f6;color:var(--accent);display:inline-flex;font-size:.8rem;gap:6px;padding:4px 10px}.reference-tag button{background:none;border:none;color:#3b82f6;color:var(--accent);cursor:pointer;font-size:1rem;line-height:1;opacity:.7;padding:0}.reference-tag button:hover{opacity:1}.add-tag-btn{background:#0000;border:1px dashed #475569;border:1px dashed var(--border-color);border-radius:12px;color:#64748b;color:var(--text-muted);cursor:pointer;font-size:.8rem;padding:4px 10px;transition:all .2s}.add-tag-btn:hover{border-color:#3b82f6;border-color:var(--accent);color:#3b82f6;color:var(--accent)}.tag-input-wrapper{display:flex;gap:6px}.tag-input-wrapper input{background:#1e293b;background:var(--bg-secondary);border:1px solid #3b82f6;border:1px solid var(--accent);border-radius:12px;color:#f8fafc;color:var(--text-primary);font-size:.8rem;padding:4px 10px;width:120px}.tag-input-wrapper input:focus{outline:none}.tag-input-wrapper button{background:#3b82f6;background:var(--accent);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:.8rem;padding:4px 10px}.literature-empty{color:#64748b;color:var(--text-muted);padding:60px 24px;text-align:center}.literature-empty p:first-child{font-size:1rem;margin-bottom:8px}.literature-empty .hint{font-size:.9rem;opacity:.8}.project-tabs{align-items:center;background:#1e293b;background:var(--bg-secondary);border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding:0 24px}.tabs-left{display:flex;gap:4px}.tabs-right{display:flex;gap:8px;padding:10px 0}.tab-action-btn{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:.85rem;padding:8px 14px;transition:all .2s}.tab-action-btn:hover{background:#475569;background:var(--border-color);color:#f8fafc;color:var(--text-primary)}@media (max-width:768px){.form-row,.templates-grid{grid-template-columns:1fr}.notes-tabs,.sync-actions{flex-direction:column}.notes-tab{text-align:center;width:100%}.notes-grid{grid-template-columns:1fr}.project-tabs{align-items:stretch;flex-direction:column}.tabs-left,.tabs-right{justify-content:center}}.notebook-modal-content{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:16px;display:flex;flex-direction:column;height:85vh;max-width:900px;overflow:hidden;width:100%}.notebook-header{border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);padding:20px 24px;position:relative}.notebook-title-row{align-items:center;display:flex;gap:16px;justify-content:space-between}.notebook-header h2{color:#f8fafc;color:var(--text-primary);font-size:1.4rem;margin:0}.notebook-google-status{font-size:.85rem}.google-connected{align-items:center;color:#94a3b8;color:var(--text-secondary);display:flex;gap:8px}.google-signin-btn-small{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);cursor:pointer;font-size:.85rem;padding:6px 12px}.google-signin-btn-small:hover{background:#475569;background:var(--border-color)}.no-google{color:#64748b;color:var(--text-muted);font-style:italic}.notebook-sync-status{align-items:center;display:flex;font-size:.9rem;justify-content:space-between;padding:10px 24px}.notebook-sync-status.info{background:#3498db1a;color:#3498db}.notebook-sync-status.success{background:#27ae601a;color:#27ae60}.notebook-sync-status.error{background:#e74c3c1a;color:#e74c3c}.notebook-sync-status button{background:none;border:none;color:inherit;cursor:pointer;font-size:1.2rem;opacity:.7}.notebook-toolbar{align-items:center;border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:16px 24px}.new-entry-btn{background:#3b82f6;background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;padding:10px 20px;transition:all .2s}.new-entry-btn:hover{filter:brightness(1.1)}.notebook-filters{display:flex;flex:1 1;gap:12px;justify-content:flex-end}.notebook-search{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#f8fafc;color:var(--text-primary);font-size:.9rem;min-width:200px;padding:10px 14px}.notebook-search:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.notebook-project-filter{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#f8fafc;color:var(--text-primary);font-size:.9rem;padding:10px 14px}.notebook-body{flex:1 1;overflow-y:auto;padding:20px 24px}.new-entry-form{background:#334155;background:var(--bg-card);border:2px solid #3b82f6;border:2px solid var(--accent);border-radius:12px;margin-bottom:24px;padding:20px}.entry-title-input{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#f8fafc;color:var(--text-primary);font-size:1.1rem;font-weight:500;margin-bottom:12px;padding:12px;width:100%}.entry-title-input:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.entry-content-input{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#f8fafc;color:var(--text-primary);font-size:.95rem;line-height:1.6;margin-bottom:12px;padding:12px;resize:vertical;width:100%}.entry-content-input:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.entry-meta-row{display:flex;gap:12px;margin-bottom:12px}.entry-project-select{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);flex:1 1;font-size:.9rem;padding:10px 12px}.entry-tags-input{display:flex;gap:6px}.entry-tags-input input{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);font-size:.9rem;padding:10px 12px;width:140px}.entry-tags-input button{background:#475569;background:var(--border-color);border:none;border-radius:6px;color:#f8fafc;color:var(--text-primary);cursor:pointer;font-size:1rem;padding:10px 14px}.entry-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.entry-tag{align-items:center;background:#3b82f6;background:var(--accent);border-radius:12px;color:#fff;display:inline-flex;font-size:.8rem;gap:6px;padding:4px 10px}.entry-tag button{background:none;border:none;color:#fff;cursor:pointer;font-size:.9rem;opacity:.8;padding:0}.entry-form-actions{display:flex;gap:10px;justify-content:flex-end}.notebook-entries{display:flex;flex-direction:column;gap:24px}.notebook-empty{color:#64748b;color:var(--text-muted);padding:60px 20px;text-align:center}.notebook-empty .hint{font-size:.9rem;margin-top:8px}.notebook-day-group{display:flex;flex-direction:column;gap:12px}.day-header{border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);color:#64748b;color:var(--text-muted);font-size:.85rem;font-weight:600;letter-spacing:.5px;padding-bottom:8px;text-transform:uppercase}.notebook-entry{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:10px;overflow:hidden;transition:all .2s}.notebook-entry.selected,.notebook-entry:hover{border-color:#3b82f6;border-color:var(--accent)}.notebook-entry.selected{box-shadow:0 0 0 2px #3498db33}.entry-main{cursor:pointer;padding:16px}.entry-header{align-items:center;display:flex;gap:10px;margin-bottom:8px}.entry-time{color:#64748b;color:var(--text-muted);font-size:.8rem;font-weight:500}.entry-project-badge{border-radius:10px;color:#fff;font-size:.7rem;font-weight:500;padding:3px 8px}.google-doc-badge{font-size:.9rem;margin-left:auto}.google-sheet-badge{background:#0f9d58;border-radius:4px;color:#fff;font-size:.9rem;margin-left:4px;padding:2px 6px}.google-actions-row{align-items:center;display:flex;gap:8px;margin-bottom:8px}.btn-action.small{font-size:.85rem;padding:4px 10px}.entry-title{color:#f8fafc;color:var(--text-primary);font-size:1.05rem;margin:0 0 8px}.entry-preview{color:#94a3b8;color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0}.entry-tags-display{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.entry-tag-badge{background:#475569;background:var(--border-color);border-radius:10px;color:#94a3b8;color:var(--text-secondary);font-size:.7rem;padding:2px 8px}.entry-expanded{background:#1e293b;background:var(--bg-secondary);border-top:1px solid #475569;border-top:1px solid var(--border-color);padding:16px}.entry-full-content textarea{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#f8fafc;color:var(--text-primary);font-size:.95rem;line-height:1.6;margin-bottom:12px;min-height:150px;padding:12px;resize:vertical;width:100%}.entry-full-content textarea:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.entry-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.btn-action{align-items:center;background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.85rem;gap:6px;padding:8px 14px;text-decoration:none;transition:all .2s}.btn-action:hover{background:#475569;background:var(--border-color)}.btn-action.primary{background:#3b82f6;background:var(--accent);border-color:#3b82f6;border-color:var(--accent);color:#fff}.btn-action.primary:hover{filter:brightness(1.1)}.btn-action.danger:hover{background:#e74c3c1a;border-color:#e74c3c;color:#e74c3c}.entry-meta-info{color:#64748b;color:var(--text-muted);display:flex;font-size:.8rem;gap:20px}.notebook-btn{background:#334155!important;background:var(--bg-card)!important;border:1px solid #3b82f6!important;border:1px solid var(--accent)!important}.project-lab-notebook{padding:20px}.notebook-toolbar.inline{align-items:center;display:flex;gap:16px;margin-bottom:24px}.notebook-toolbar.inline .notebook-search{flex:1 1;max-width:400px}.new-entry-form.inline{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:12px;margin-bottom:24px;padding:20px}.notebook-entries.inline{display:flex;flex-direction:column;gap:20px}@media (max-width:768px){.notebook-modal-content{border-radius:12px;height:95vh}.notebook-toolbar{align-items:stretch}.notebook-filters,.notebook-toolbar{flex-direction:column}.notebook-search{min-width:100%}.entry-actions,.entry-meta-row{flex-direction:column}.btn-action{justify-content:center}}.quick-capture-fab{align-items:center;background:#3b82f6;background:var(--accent);border:none;border-radius:50%;bottom:30px;box-shadow:0 4px 20px #3b82f666;color:#fff;cursor:pointer;display:flex;font-size:2rem;height:60px;justify-content:center;position:fixed;right:30px;transition:all .3s ease;width:60px;z-index:1000}.quick-capture-fab:hover{box-shadow:0 6px 25px #3b82f680;transform:scale(1.1)}.quick-capture-fab.active{background:#ef4444;background:var(--danger);transform:rotate(45deg)}.quick-capture-toast{animation:slideIn .3s ease;background:#22c55e;background:var(--success);border-radius:8px;bottom:100px;box-shadow:0 4px 12px #0000004d;color:#fff;font-size:.9rem;padding:12px 20px;position:fixed;right:30px;z-index:1001}@keyframes slideIn{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}.quick-capture-overlay{align-items:center;animation:fadeIn .2s ease;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1002}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.quick-capture-modal{animation:scaleIn .2s ease;background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:16px;max-width:500px;overflow:hidden;width:90%}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.quick-capture-header{align-items:center;border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:16px 20px}.quick-capture-header h3{color:#f8fafc;color:var(--text-primary);font-size:1.1rem;margin:0}.quick-capture-hint{color:#64748b;color:var(--text-muted);font-size:.75rem}.quick-capture-body{padding:20px}.quick-capture-title{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#f8fafc;color:var(--text-primary);font-size:1rem;margin-bottom:12px;padding:12px 14px;width:100%}.quick-capture-title:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.quick-capture-content{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#f8fafc;color:var(--text-primary);font-size:.95rem;line-height:1.5;margin-bottom:12px;min-height:100px;padding:12px 14px;resize:vertical;width:100%}.quick-capture-content:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.quick-capture-tags{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.quick-tag{align-items:center;background:#3498db1a;border:1px solid #3b82f6;border:1px solid var(--accent);border-radius:12px;display:inline-flex;font-size:.8rem;gap:6px;padding:4px 10px}.quick-tag,.quick-tag button{color:#3b82f6;color:var(--accent)}.quick-tag button{background:none;border:none;cursor:pointer;font-size:1rem;line-height:1;padding:0}.quick-tag-input input{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:12px;color:#f8fafc;color:var(--text-primary);font-size:.8rem;padding:4px 10px;width:100px}.quick-tag-input input:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.quick-capture-note{color:#64748b;color:var(--text-muted);font-size:.8rem;margin:0;text-align:center}.quick-capture-footer{background:#334155;background:var(--bg-card);border-top:1px solid #475569;border-top:1px solid var(--border-color);display:flex;gap:10px;justify-content:flex-end;padding:16px 20px}.entry-inbox-badge{background:#f1c40f33;border:1px solid #f1c40f;border-radius:10px;color:#f1c40f;font-size:.7rem;font-weight:500;padding:2px 8px}.quick-capture-badge{background:#9b59b633;border:1px solid #9b59b6;border-radius:10px;color:#9b59b6;font-size:.65rem;padding:2px 6px}.entry-assignment{align-items:center;background:#334155;background:var(--bg-card);border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:12px}.entry-assignment label{color:#94a3b8;color:var(--text-secondary);font-size:.85rem;font-weight:500}.entry-project-assign{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);font-size:.9rem;min-width:200px;padding:8px 12px}.entry-project-assign:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.assignment-hint{color:#64748b;color:var(--text-muted);font-size:.8rem;font-style:italic}@media (max-width:768px){.quick-capture-fab{bottom:20px;font-size:1.8rem;height:56px;right:20px;width:56px}.quick-capture-toast{bottom:90px;left:20px;right:20px;text-align:center}.quick-capture-modal{max-height:90vh;overflow-y:auto;width:95%}.entry-assignment{align-items:flex-start;flex-direction:column}.entry-project-assign{width:100%}}.citable-textarea-wrapper{position:relative;width:100%}.citable-textarea{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#f8fafc;color:var(--text-primary);font-size:.95rem;line-height:1.6;min-height:100px;padding:12px;resize:vertical;width:100%}.citable-textarea:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.citation-hint{color:#64748b;color:var(--text-muted);font-size:.75rem;margin-top:6px}.citation-hint code{background:#334155;background:var(--bg-card);border-radius:4px;color:#3b82f6;color:var(--accent);font-family:monospace;padding:2px 6px}.citation-suggestions{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:10px;box-shadow:0 8px 30px #0006;max-height:350px;max-width:500px;min-width:350px;overflow-y:auto}.suggestions-header{background:#334155;background:var(--bg-card);border-radius:10px 10px 0 0;color:#64748b;color:var(--text-muted);font-size:.8rem}.suggestion-item,.suggestions-header{border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);padding:10px 14px}.suggestion-item{align-items:flex-start;cursor:pointer;display:flex;gap:10px;transition:background .15s}.suggestion-item:last-of-type{border-bottom:none}.suggestion-item.selected,.suggestion-item:hover{background:#334155;background:var(--bg-card)}.suggestion-item.selected{border-left:3px solid #3b82f6;border-left:3px solid var(--accent);padding-left:11px}.suggestion-number{color:#3b82f6;color:var(--accent);flex-shrink:0;font-size:.9rem;font-weight:700;min-width:32px}.suggestion-content{flex:1 1;min-width:0}.suggestion-author{color:#f8fafc;color:var(--text-primary);font-size:.85rem;font-weight:600}.suggestion-year{color:#64748b;color:var(--text-muted);font-size:.8rem;margin-left:6px}.suggestion-title{color:#94a3b8;color:var(--text-secondary);display:block;font-size:.8rem;line-height:1.3;margin-top:2px}.suggestions-footer{background:#334155;background:var(--bg-card);border-radius:0 0 10px 10px;border-top:1px solid #475569;border-top:1px solid var(--border-color);color:#64748b;color:var(--text-muted);font-size:.7rem;padding:8px 14px;text-align:center}.suggestion-item.refs-insert{background:#3b82f61a}.suggestion-item.refs-insert:hover{background:#3b82f633}.suggestion-icon{flex-shrink:0;font-size:1.2rem}.suggestion-item.already-cited{opacity:.7}.already-cited-badge{background:#27ae6026;border-radius:4px;color:#27ae60;flex-shrink:0;font-size:.65rem;font-weight:600;padding:2px 6px;text-transform:uppercase}.citation-count{color:#3b82f6;color:var(--accent);font-weight:500}.ical-subscribe-section{align-items:center;background:#334155;background:var(--bg-card);border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:12px 16px}.ical-subscribe-section label{color:#94a3b8;color:var(--text-secondary);font-size:.9rem;font-weight:500}.ical-link-input{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);flex:1 1;font-family:monospace;font-size:.85rem;min-width:200px;padding:8px 12px}.ical-link-input:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.btn-copy-ical{background:#3b82f6;background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;padding:8px 14px;transition:all .2s;white-space:nowrap}.btn-copy-ical:hover{filter:brightness(1.1)}.ical-instructions{color:#64748b;color:var(--text-muted);font-size:.8rem;margin-top:8px;width:100%}.ical-instructions ol{margin:8px 0 0 20px;padding:0}.ical-instructions li{margin-bottom:4px}.google-auth-bar{background:#1e293b;background:var(--bg-secondary);justify-content:flex-end;padding:12px 16px}.google-auth-bar,.sync-status-bar{align-items:center;border-radius:8px;display:flex;margin-bottom:16px}.sync-status-bar{font-size:.9rem;justify-content:space-between;padding:10px 16px}.sync-status-bar.info{background:#3498db26;border:1px solid #3498db4d;color:#3498db}.sync-status-bar.success{background:#27ae6026;border:1px solid #27ae604d;color:#27ae60}.sync-status-bar.error{background:#e74c3c26;border:1px solid #e74c3c4d;color:#e74c3c}.sync-status-bar button{background:none;border:none;color:inherit;cursor:pointer;font-size:1.1rem;opacity:.7;padding:0 4px}.sync-status-bar button:hover{opacity:1}.google-doc-indicator{font-size:.9em;margin-left:8px}.btn-google-action{align-items:center;background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.85rem;gap:4px;padding:6px 12px;text-decoration:none;transition:all .2s}.btn-google-action:hover{background:#475569;background:var(--border-color)}.btn-google-action.primary{background:#3b82f6;background:var(--accent);border-color:#3b82f6;border-color:var(--accent);color:#fff}.btn-google-action.primary:hover{filter:brightness(1.1)}.btn-google-action.small{font-size:.8rem;padding:4px 8px}.pr-google-actions{align-items:center;border-top:1px solid #475569;border-top:1px solid var(--border-color);display:flex;gap:8px;margin-top:12px;padding-top:12px}.pr-google-actions+.pr-google-actions{border-top:none;margin-top:8px;padding-top:8px}.google-action-label{color:#94a3b8;color:var(--text-secondary);font-size:.8rem;font-weight:500;min-width:50px}.google-sheet-indicator{font-size:.9em;margin-left:4px}.section-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.aim-header-actions,.note-header-actions,.section-actions{align-items:center;display:flex;gap:8px}.note-google-actions{align-items:center;display:flex;gap:6px}.status-dot{background:#64748b;background:var(--text-muted);border-radius:50%;height:8px;width:8px}.status-dot.connected{background:#27ae60}.signout-link{background:none;border:none;color:#64748b;color:var(--text-muted);cursor:pointer;font-size:.85rem;text-decoration:underline}.signout-link:hover{color:#94a3b8;color:var(--text-secondary)}@media (max-width:768px){.google-auth-bar{justify-content:center;padding:10px}.section-header{align-items:flex-start;flex-direction:column}.section-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.pr-google-actions{flex-direction:column}.aim-header-actions{flex-wrap:wrap}}.google-auth-btn{align-items:center;display:flex;gap:6px}.google-auth-btn .google-icon{align-items:center;background:#4285f4;border-radius:3px;color:#fff;display:inline-flex;font-size:12px;font-weight:600;height:20px;justify-content:center;width:20px}.google-auth-btn.signed-in .google-icon{background:#27ae60}.google-auth-btn .google-avatar{border-radius:50%;height:24px;width:24px}.nav-btn.sync-btn{align-items:center;display:flex;gap:6px}.nav-btn.sync-btn .sync-icon{font-size:16px;transition:transform .3s ease}.nav-btn.sync-btn .sync-icon.spinning{animation:spin 1s linear infinite}.nav-btn.sync-btn .sync-icon.error{color:#ef4444;color:var(--danger)}.nav-btn.sync-btn.success .sync-icon{color:#22c55e;color:var(--success)}.nav-btn.sync-btn.syncing{cursor:wait;opacity:.8}.nav-btn.sync-btn.error{border-color:#ef4444;border-color:var(--danger)}.nav-btn.cloud-btn{align-items:center;display:flex;gap:6px}.nav-btn.cloud-btn .cloud-icon{font-size:14px;transition:transform .3s ease}.nav-btn.cloud-btn .cloud-icon.spinning{animation:spin 1s linear infinite}.nav-btn.cloud-btn.backing-up{cursor:wait;opacity:.8}.nav-btn.cloud-btn .auto-backup-indicator{color:#22c55e;color:var(--success);font-size:8px;margin-left:2px}.google-status-indicator{display:flex;justify-content:flex-end;margin-bottom:12px;padding:8px 12px}.google-status-text{color:#64748b;color:var(--text-muted);font-size:.8rem}.google-status-text.connected{color:#27ae60}.notebook-google-status .google-status-text{font-size:.85rem}.gcal-signin-hint{background:#334155;background:var(--bg-card);border-radius:8px;color:#94a3b8;color:var(--text-secondary);margin:20px 0;padding:12px;text-align:center}.google-prompt-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.google-prompt-modal{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 20px 60px #0006;max-width:440px;overflow:hidden;width:90%}.google-prompt-header{padding:24px 24px 0;text-align:center}.google-prompt-header h2{color:#f8fafc;color:var(--text-primary);font-size:1.5rem;margin:0}.google-prompt-body{padding:24px}.google-prompt-icon{margin-bottom:20px}.google-g-icon,.google-prompt-icon{display:flex;justify-content:center}.google-g-icon{align-items:center;background:linear-gradient(135deg,#4285f4,#34a853,#fbbc05,#ea4335);border-radius:50%;color:#fff;font-size:28px;font-weight:700;height:60px;width:60px}.google-prompt-message{color:#94a3b8;color:var(--text-secondary);font-size:1rem;margin-bottom:16px;text-align:center}.google-features-list{list-style:none;margin:0 0 24px;padding:0}.google-features-list li{color:#94a3b8;color:var(--text-secondary);font-size:.95rem;padding:8px 0 8px 28px;position:relative}.google-features-list li:before{color:#27ae60;content:"✓";font-weight:600;left:0;position:absolute}.google-prompt-actions{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.google-signin-btn-large{align-items:center;background:#4285f4;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:12px;justify-content:center;padding:14px 24px;transition:all .2s}.google-signin-btn-large:hover{background:#3367d6}.google-signin-btn-large:disabled{background:#334155;background:var(--bg-card);color:#64748b;color:var(--text-muted);cursor:not-allowed}.google-btn-icon{align-items:center;background:#fff;border-radius:4px;color:#4285f4;display:flex;font-size:14px;font-weight:700;height:24px;justify-content:center;width:24px}.google-skip-btn{background:#0000;border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:.95rem;padding:12px 24px;transition:all .2s}.google-skip-btn:hover{background:#334155;background:var(--bg-card);color:#f8fafc;color:var(--text-primary)}.google-prompt-note{color:#64748b;color:var(--text-muted);font-size:.85rem;margin:0;text-align:center}.btn-import-doc{align-items:center;background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.85rem;gap:6px;padding:6px 12px;transition:all .2s}.btn-import-doc:hover{background:#475569;background:var(--border-color)}.calendar-publish-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.calendar-publish-modal{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 20px 60px #00000080;max-height:90vh;max-width:560px;overflow-y:auto;width:100%}.publish-header{align-items:center;border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px 24px}.publish-header h3{color:#f8fafc;color:var(--text-primary);font-size:1.25rem}.publish-content{padding:24px}.publish-intro{margin-bottom:24px}.publish-intro p{color:#94a3b8;color:var(--text-secondary);line-height:1.6}.token-setup h4{color:#f8fafc;color:var(--text-primary);font-size:1rem;margin-bottom:12px}.token-setup ol{color:#94a3b8;color:var(--text-secondary);line-height:1.8;margin-bottom:16px;padding-left:20px}.token-setup ol a{color:#3b82f6;color:var(--accent);text-decoration:none}.token-setup ol a:hover{text-decoration:underline}.token-setup code{background:#334155;background:var(--bg-card);border-radius:4px;font-size:.9em;padding:2px 6px}.token-input-group{margin-bottom:24px}.token-input-group label{color:#94a3b8;color:var(--text-secondary);display:block;font-size:.9rem;margin-bottom:8px}.token-input{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#f8fafc;color:var(--text-primary);font-family:monospace;font-size:.95rem;padding:12px;width:100%}.token-input:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.token-input.small{font-size:.85rem;padding:8px 12px}.token-note{color:#64748b;color:var(--text-muted);font-size:.8rem;margin-top:8px}.btn-publish{background:#3b82f6;background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:14px 24px;transition:all .2s;width:100%}.btn-publish:hover:not(:disabled){background:#2563eb}.btn-publish:disabled{cursor:not-allowed;opacity:.5}.publish-connected{border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);margin-bottom:24px;padding:16px 0 24px;text-align:center}.connection-badge{align-items:center;background:#22c55e26;border:1px solid #22c55e4d;border-radius:20px;color:#22c55e;color:var(--success);display:inline-flex;font-weight:500;gap:8px;padding:8px 16px}.connection-badge .status-dot{background:#22c55e;background:var(--success);border-radius:50%;height:8px;width:8px}.last-published{color:#64748b;color:var(--text-muted);font-size:.85rem;margin-top:12px}.subscription-urls{margin-bottom:24px}.url-group{margin-bottom:16px}.url-group label{color:#94a3b8;color:var(--text-secondary);display:block;font-size:.9rem;margin-bottom:8px}.url-display{display:flex;gap:8px}.url-input{flex:1 1;font-family:monospace;font-size:.85rem;padding:10px 12px}.btn-copy,.url-input{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#f8fafc;color:var(--text-primary)}.btn-copy{cursor:pointer;padding:10px 16px;transition:all .2s;white-space:nowrap}.btn-copy:hover{background:#475569;background:var(--border-color)}.subscription-instructions{background:#334155;background:var(--bg-card);border-radius:12px;margin-bottom:24px;padding:16px 20px}.subscription-instructions h4{color:#f8fafc;color:var(--text-primary);font-size:.95rem;margin-bottom:12px}.subscription-instructions ol{color:#94a3b8;color:var(--text-secondary);font-size:.9rem;line-height:1.8;padding-left:20px}.subscription-instructions a{color:#3b82f6;color:var(--accent);text-decoration:none}.subscription-instructions a:hover{text-decoration:underline}.sync-note{border-top:1px solid #475569;border-top:1px solid var(--border-color);color:#64748b;color:var(--text-muted);font-size:.85rem;margin-top:12px;padding-top:12px}.publish-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.btn-update{background:#3b82f6;background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-weight:600;min-width:140px;padding:12px 20px;transition:all .2s}.btn-update:hover:not(:disabled){background:#2563eb}.btn-update:disabled{cursor:not-allowed;opacity:.6}.btn-view-gist{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#f8fafc;color:var(--text-primary);cursor:pointer;padding:12px 20px;transition:all .2s}.btn-view-gist:hover{background:#475569;background:var(--border-color)}.btn-disconnect{background:#0000;border:1px solid #ef4444;border:1px solid var(--danger);border-radius:8px;color:#ef4444;color:var(--danger);cursor:pointer;padding:12px 20px;transition:all .2s}.btn-disconnect:hover{background:#ef44441a}.token-update{margin-top:8px;width:100%}.task-summary{border-top:1px solid #475569;border-top:1px solid var(--border-color);color:#64748b;color:var(--text-muted);padding-top:12px}.publish-status,.task-summary{font-size:.9rem;text-align:center}.publish-status{border-radius:8px;margin-top:16px;padding:12px 16px}.publish-status.success{background:#22c55e26;border:1px solid #22c55e4d;color:#22c55e;color:var(--success)}.publish-status.error{background:#ef444426;border:1px solid #ef44444d;color:#ef4444;color:var(--danger)}.publish-status.info{background:#3b82f626;border:1px solid #3b82f64d;color:#3b82f6;color:var(--accent)}.publish-status.warning{background:#f59e0b26;border:1px solid #f59e0b4d;color:#f59e0b;color:var(--warning)}.export-option{background:#334155;background:var(--bg-card);border-radius:12px;margin-bottom:12px;padding:16px 20px}.export-option .option-header{align-items:flex-start;display:flex;gap:12px;margin-bottom:12px}.export-option .option-icon{font-size:1.5rem}.export-option strong{color:#f8fafc;color:var(--text-primary);display:block;margin-bottom:4px}.export-option p{color:#94a3b8;color:var(--text-secondary);font-size:.85rem;margin:0}.btn-subscribe{background:#3b82f6;background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 20px;transition:all .2s;width:100%}.btn-subscribe:hover{background:#2563eb}.export-divider{color:#64748b;color:var(--text-muted);margin:16px 0;position:relative;text-align:center}.export-divider:after,.export-divider:before{background:#475569;background:var(--border-color);content:"";height:1px;position:absolute;top:50%;width:calc(50% - 20px)}.export-divider:before{left:0}.export-divider:after{right:0}.export-divider span{background:#1e293b;background:var(--bg-secondary);padding:0 12px}.import-instructions{color:#94a3b8;color:var(--text-secondary);font-size:.9rem;margin-top:16px}.import-instructions summary{color:#64748b;color:var(--text-muted);cursor:pointer;padding:8px 0}.import-instructions summary:hover{color:#94a3b8;color:var(--text-secondary)}.import-instructions ol{line-height:1.8;padding:12px 0 0 20px}.import-instructions a{color:#3b82f6;color:var(--accent);text-decoration:none}.import-instructions a:hover{text-decoration:underline}.macro-input-wrapper,.macro-textarea-wrapper{position:relative;width:100%}.macro-textarea{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#f8fafc;color:var(--text-primary);font-family:inherit;font-size:.95rem;line-height:1.6;min-height:100px;padding:12px;resize:vertical;width:100%}.macro-textarea:focus{border-color:#3b82f6;border-color:var(--accent);box-shadow:0 0 0 2px #3b82f633;outline:none}.macro-textarea::placeholder{color:#64748b;color:var(--text-muted)}.macro-input{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);font-family:inherit;font-size:.95rem;padding:10px 12px;width:100%}.macro-input:focus{border-color:#3b82f6;border-color:var(--accent);box-shadow:0 0 0 2px #3b82f633;outline:none}.macro-dropdown{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 30px #0006;display:flex;flex-direction:column;max-height:320px;overflow:hidden;width:280px}.macro-dropdown-header{align-items:center;background:#334155;background:var(--bg-card);border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:10px 12px}.macro-dropdown-title{color:#f8fafc;color:var(--text-primary);font-size:.85rem;font-weight:600}.macro-dropdown-hint{color:#64748b;color:var(--text-muted);font-size:.7rem}.macro-dropdown-content{flex:1 1;overflow-y:auto;padding:6px 0}.macro-category{margin-bottom:4px}.macro-category-header{align-items:center;color:#64748b;color:var(--text-muted);display:flex;font-size:.75rem;font-weight:600;gap:6px;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.macro-category-icon{font-size:.8rem}.macro-item{align-items:center;cursor:pointer;display:flex;gap:8px;padding:8px 12px;transition:background .15s}.macro-item.selected,.macro-item:hover{background:#334155;background:var(--bg-card)}.macro-item.selected{border-left:2px solid #3b82f6;border-left:2px solid var(--accent);padding-left:10px}.macro-icon{font-size:.9rem;text-align:center;width:20px}.macro-trigger{color:#3b82f6;color:var(--accent);font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:.8rem;font-weight:500;min-width:80px}.macro-label{color:#94a3b8;color:var(--text-secondary);flex:1 1;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.macro-empty{color:#64748b;color:var(--text-muted);font-size:.85rem;padding:20px;text-align:center}.macro-dropdown-content::-webkit-scrollbar{width:6px}.macro-dropdown-content::-webkit-scrollbar-track{background:#0000}.macro-dropdown-content::-webkit-scrollbar-thumb{background:#475569;background:var(--border-color);border-radius:3px}.macro-dropdown-content::-webkit-scrollbar-thumb:hover{background:#64748b;background:var(--text-muted)}.file-attachments{margin:8px 0}.file-attachments.compact{margin:4px 0}.attachments-signin-prompt{background:#1e293b;background:var(--bg-secondary);border-radius:6px;color:#64748b;color:var(--text-muted);font-size:.85rem;padding:8px;text-align:center}.attachments-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.attachment-item{align-items:center;background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;display:flex;gap:8px;padding:8px 12px;transition:background .2s}.attachment-item:hover{background:#334155;background:var(--bg-card)}.attachment-icon{align-items:center;display:flex;flex-shrink:0;font-size:1rem;height:20px;justify-content:center;width:20px}.attachment-icon img{height:16px;object-fit:contain;width:16px}.attachment-name{color:#f8fafc;color:var(--text-primary);flex:1 1;font-size:.9rem;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.attachment-name:hover{color:#3b82f6;color:var(--accent);text-decoration:underline}.attachment-size{color:#64748b;color:var(--text-muted);flex-shrink:0;font-size:.75rem}.attachment-source{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:.7rem;height:18px;justify-content:center;width:18px}.attachment-source.upload{background:#22c55e;background:var(--success);color:#fff}.attachment-source.drive{background:#3b82f6;background:var(--accent);color:#fff}.attachment-remove{align-items:center;background:#0000;border:none;border-radius:4px;color:#64748b;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:20px;justify-content:center;transition:all .2s;width:20px}.attachment-remove:hover{background:#ef4444;background:var(--danger);color:#fff}.attachments-actions{display:flex;flex-wrap:wrap;gap:8px}.btn-attach{align-items:center;background:#0000;border:1px dashed #475569;border:1px dashed var(--border-color);border-radius:6px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.85rem;gap:6px;padding:6px 12px;transition:all .2s}.btn-attach:hover{background:#3b82f61a;border-color:#3b82f6;border-color:var(--accent);color:#3b82f6;color:var(--accent)}.btn-attach:disabled{cursor:not-allowed;opacity:.5}.btn-attach.upload:hover{background:#22c55e1a;border-color:#22c55e;border-color:var(--success);color:#22c55e;color:var(--success)}.btn-attach.picker:hover{background:#3b82f61a;border-color:#3b82f6;border-color:var(--accent);color:#3b82f6;color:var(--accent)}.upload-progress{animation:pulse 1.5s infinite;background:#1e293b;background:var(--bg-secondary);border-radius:6px;color:#94a3b8;color:var(--text-secondary);font-size:.85rem;margin-top:8px;padding:8px 12px}.attachments-empty{color:#64748b;color:var(--text-muted);font-size:.85rem;padding:8px 0}.file-attachments.compact .attachment-item{padding:4px 8px}.file-attachments.compact .attachment-name{font-size:.8rem}.file-attachments.compact .btn-attach{font-size:.8rem;padding:4px 8px}.api-settings-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.api-settings-modal{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:500px;width:100%}.api-settings-header{align-items:center;border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px 24px}.api-settings-header h2{color:#f8fafc;color:var(--text-primary);font-size:1.3rem;margin:0}.api-settings-header .close-btn{background:none;border:none;color:#64748b;color:var(--text-muted);cursor:pointer;font-size:1.5rem;line-height:1;padding:0}.api-settings-header .close-btn:hover{color:#f8fafc;color:var(--text-primary)}.api-settings-content{flex:1 1;overflow-y:auto;padding:24px}.api-settings-intro{color:#94a3b8;color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0 0 24px}.api-key-section{margin-bottom:24px}.api-key-section label{display:block;margin-bottom:8px}.api-key-section .key-label{color:#f8fafc;color:var(--text-primary);display:block;font-size:.95rem;font-weight:600}.api-key-section .key-description{color:#64748b;color:var(--text-muted);display:block;font-size:.8rem;margin-top:2px}.key-input-group{display:flex;gap:8px}.key-input-group input{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#f8fafc;color:var(--text-primary);flex:1 1;font-family:monospace;font-size:.9rem;padding:10px 12px}.key-input-group input:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.key-input-group input.error{border-color:#e74c3c}.clear-key-btn,.toggle-visibility-btn{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:1rem;padding:8px 12px}.clear-key-btn:hover,.toggle-visibility-btn:hover{background:#1e293b;background:var(--bg-secondary);border-color:#64748b;border-color:var(--text-muted)}.key-error{color:#e74c3c;display:block;font-size:.8rem;margin-top:6px}.get-key-link{color:#3b82f6;color:var(--accent);display:inline-block;font-size:.8rem;margin-top:8px;text-decoration:none}.get-key-link:hover{text-decoration:underline}.save-status{border-radius:8px;font-size:.9rem;margin-bottom:16px;padding:12px;text-align:center}.save-status.success{background:#27ae6026;color:#27ae60}.api-settings-note{background:#334155;background:var(--bg-card);border-radius:8px;color:#94a3b8;color:var(--text-secondary);font-size:.8rem;line-height:1.5;padding:12px}.api-settings-note strong{color:#f8fafc;color:var(--text-primary)}.api-settings-footer{border-top:1px solid #475569;border-top:1px solid var(--border-color);display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.api-settings-footer .cancel-btn{background:#0000;border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:.9rem;padding:10px 20px}.api-settings-footer .cancel-btn:hover{background:#334155;background:var(--bg-card)}.api-settings-footer .save-btn{background:#3b82f6;background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 24px}.api-settings-footer .save-btn:hover{filter:brightness(1.1)}.settings-btn{position:relative}.settings-btn.configured{color:#3b82f6;color:var(--accent)}.settings-dot{animation:pulse 2s infinite;background:#f39c12;border-radius:50%;height:8px;position:absolute;right:4px;top:4px;width:8px}.reference-ai-summary{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:12px;margin-top:16px;padding:16px}.reference-ai-summary h4{align-items:center;color:#f8fafc;color:var(--text-primary);display:flex;font-size:.95rem;gap:8px;margin:0 0 12px}.reference-ai-summary h4:before{content:"✨"}.ai-summary-content{color:#f8fafc;color:var(--text-primary)}.ai-summary-text{font-size:.9rem;line-height:1.6;margin:0 0 16px}.ai-key-findings{margin-bottom:16px}.ai-key-findings strong{color:#94a3b8;color:var(--text-secondary);display:block;font-size:.85rem;margin-bottom:8px}.ai-key-findings ul{margin:0;padding-left:20px}.ai-key-findings li{color:#f8fafc;color:var(--text-primary);font-size:.85rem;line-height:1.5;margin-bottom:6px}.ai-summary-meta{align-items:center;border-top:1px solid #475569;border-top:1px solid var(--border-color);color:#64748b;color:var(--text-muted);display:flex;font-size:.8rem;justify-content:space-between;padding-top:12px}.btn-regenerate{background:#0000;border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:.8rem;padding:6px 12px}.btn-regenerate:hover:not(:disabled){border-color:#3b82f6;border-color:var(--accent);color:#3b82f6;color:var(--accent)}.btn-regenerate:disabled{cursor:not-allowed;opacity:.5}.ai-summary-empty{padding:8px 0;text-align:center}.btn-summarize{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 20px;transition:all .2s}.btn-summarize:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.btn-summarize:disabled{cursor:not-allowed;opacity:.6;transform:none}.no-abstract-hint{color:#64748b;color:var(--text-muted);font-size:.85rem;margin:0}.batch-summarize-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:8px 16px;transition:all .2s}.batch-summarize-btn:hover:not(:disabled){filter:brightness(1.1)}.batch-summarize-btn:disabled{cursor:not-allowed;opacity:.5}.ai-summarize-group{align-items:center;display:flex;gap:8px}.provider-select-inline,.provider-select-mini,.provider-select-small{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:.8rem;padding:6px 10px}.provider-select-inline:focus,.provider-select-mini:focus,.provider-select-small:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.provider-select-inline option:disabled,.provider-select-mini option:disabled,.provider-select-small option:disabled{color:#64748b;color:var(--text-muted)}.provider-select-mini{font-size:.75rem;max-width:100px;padding:4px 8px}.generate-summary-group,.regenerate-group{align-items:center;display:flex;gap:8px}.generate-summary-group{justify-content:center}.provider-reindex-group{align-items:center;display:inline-flex;gap:4px;margin-left:8px}.settings-section{margin-bottom:24px}.settings-section h3{color:#f8fafc;color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 8px}.section-description{color:#64748b;color:var(--text-muted);font-size:.85rem;margin:0 0 16px}.provider-section{margin-bottom:16px}.provider-section label{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.provider-label{color:#f8fafc;color:var(--text-primary);font-size:.9rem;font-weight:500}.provider-description{color:#64748b;color:var(--text-muted);font-size:.8rem}.provider-select{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#f8fafc;color:var(--text-primary);cursor:pointer;font-size:.9rem;padding:10px 12px;width:100%}.provider-select:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.provider-note,.provider-select option:disabled{color:#64748b;color:var(--text-muted)}.provider-note{display:block;font-size:.8rem;font-style:italic;margin-top:6px}.semantic-search-modal{max-width:700px}.search-mode-toggle{align-items:center;border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);display:flex;gap:8px;padding:12px 16px}.mode-btn{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:.85rem;padding:6px 14px;position:relative;transition:all .2s}.mode-btn:hover{border-color:#64748b;border-color:var(--text-muted)}.mode-btn.active{background:#3b82f6;background:var(--accent);border-color:#3b82f6;border-color:var(--accent);color:#fff}.mode-badge{background:#f39c12;border-radius:8px;color:#fff;font-size:.65rem;padding:2px 5px;position:absolute;right:-6px;top:-6px}.indexing-status{align-items:center;color:#64748b;color:var(--text-muted);display:flex;font-size:.8rem;gap:8px;margin-left:auto}.indexing-active{animation:pulse 1.5s infinite;color:#3b82f6;color:var(--accent)}.indexing-count{align-items:center;display:flex;gap:6px}.reindex-btn{background:none;border:none;border-radius:4px;color:#64748b;color:var(--text-muted);cursor:pointer;font-size:1rem;padding:2px 6px}.reindex-btn:hover{background:#334155;background:var(--bg-card);color:#3b82f6;color:var(--accent)}.content-type-filters{flex-wrap:wrap}.content-type-filters .filter-btn{min-width:auto;padding:6px 10px}.search-loading{align-items:center;color:#94a3b8;color:var(--text-secondary);display:flex;gap:12px;justify-content:center;padding:40px}.loading-spinner{animation:spin 1s linear infinite;font-size:1.5rem}.semantic-results .search-result-item{align-items:center;display:flex;gap:12px;padding:12px 16px}.result-type-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;font-size:1rem;height:32px;justify-content:center;width:32px}.similarity-score{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:12px;color:#3b82f6;color:var(--accent);font-size:.8rem;font-weight:600;margin-left:auto;padding:4px 10px}.priority-badge{border-radius:4px;display:inline-block;font-size:.7rem;margin-left:8px;padding:2px 6px;text-transform:capitalize}.priority-badge.high{background:#e74c3c33;color:#e74c3c}.priority-badge.medium{background:#f39c1233;color:#f39c12}.priority-badge.low{background:#27ae6033;color:#27ae60}.no-results-hint{font-size:.85rem;margin-top:12px}.no-results-hint button{background:#3b82f6;background:var(--accent);border:none;border-radius:4px;color:#fff;cursor:pointer;margin-left:8px;padding:4px 12px}.no-results-hint button:hover{filter:brightness(1.1)}.eln-archived-badge,.eln-locked-badge{border-radius:4px;display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.eln-locked-badge{background:#e74c3c26;border:1px solid #e74c3c4d;color:#e74c3c}.eln-archived-badge{background:#95a5a626;border:1px solid #95a5a64d;color:#95a5a6}.eln-locked-notice{align-items:center;background:#e74c3c1a;border:1px solid #e74c3c4d;border-radius:8px;color:#e74c3c;display:flex;font-size:.9rem;gap:8px;margin-bottom:16px;padding:12px 16px}.eln-locked-notice:before{content:"🔒"}.notebook-entry.archived{background:#1e293b;background:var(--bg-secondary);opacity:.7}.notebook-entry.archived .entry-title{color:#94a3b8;color:var(--text-secondary);text-decoration:line-through}.eln-version-history-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.eln-version-history-modal{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:600px;width:100%}.version-history-header{align-items:center;border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px 24px}.version-history-header h3{color:#f8fafc;color:var(--text-primary);font-size:1.2rem;margin:0}.version-history-content{flex:1 1;overflow-y:auto;padding:20px 24px}.no-history{color:#94a3b8;color:var(--text-secondary);padding:40px 20px;text-align:center}.audit-timeline{padding-left:24px;position:relative}.audit-timeline:before{background:#475569;background:var(--border-color);bottom:0;content:"";left:8px;position:absolute;top:0;width:2px}.audit-entry{margin-bottom:20px;position:relative}.audit-entry:last-child{margin-bottom:0}.audit-marker{background:#3b82f6;background:var(--accent);border:2px solid #334155;border:2px solid var(--bg-card);border-radius:50%;height:12px;left:-20px;position:absolute;top:4px;width:12px}.audit-entry.create .audit-marker{background:#27ae60}.audit-entry.update .audit-marker{background:#3498db}.audit-entry.lock .audit-marker{background:#e74c3c}.audit-entry.unlock .audit-marker{background:#f39c12}.audit-entry.archive .audit-marker{background:#95a5a6}.audit-entry.restore .audit-marker{background:#9b59b6}.audit-details{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;padding:12px 16px}.audit-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.audit-type-badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:600;padding:2px 8px;text-transform:uppercase}.audit-type-badge.create{background:#27ae6026;color:#27ae60}.audit-type-badge.update{background:#3498db26;color:#3498db}.audit-type-badge.lock{background:#e74c3c26;color:#e74c3c}.audit-type-badge.unlock{background:#f39c1226;color:#f39c12}.audit-type-badge.archive{background:#95a5a626;color:#95a5a6}.audit-type-badge.restore{background:#9b59b626;color:#9b59b6}.audit-time{font-size:.8rem}.audit-time,.audit-user{color:#94a3b8;color:var(--text-secondary)}.audit-user{font-size:.85rem;margin-bottom:8px}.audit-changes{border-top:1px solid #475569;border-top:1px solid var(--border-color);font-size:.85rem;margin-top:8px;padding-top:8px}.audit-change{line-height:1.4;margin-bottom:4px}.audit-change strong{color:#f8fafc;color:var(--text-primary)}.old-value{color:#e74c3c;text-decoration:line-through}.new-value{color:#27ae60}.change-arrow,.change-text{color:#94a3b8;color:var(--text-secondary)}.change-text{font-style:italic}.audit-checksum{color:#94a3b8;color:var(--text-secondary);font-size:.8rem;margin-top:8px}.audit-checksum code{background:#334155;background:var(--bg-card);border-radius:4px;font-family:monospace;font-size:.75rem;padding:2px 6px}.eln-settings-panel{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;margin-bottom:16px;padding:16px}.eln-settings-panel h4{color:#94a3b8;color:var(--text-secondary);font-size:.9rem;margin:0 0 12px}.eln-setting-row{align-items:center;border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:8px 0}.eln-setting-row:last-child{border-bottom:none}.eln-setting-label{color:#f8fafc;color:var(--text-primary);font-size:.9rem}.eln-setting-input{align-items:center;display:flex;gap:8px}.eln-setting-input input[type=number]{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:4px;color:#f8fafc;color:var(--text-primary);font-size:.9rem;padding:4px 8px;width:60px}.eln-setting-input input[type=checkbox]{cursor:pointer;height:18px;width:18px}.btn-action:disabled{cursor:not-allowed;opacity:.5}.entry-full-content .macro-textarea:disabled,.entry-full-content textarea:disabled{background:#1e293b;background:var(--bg-secondary);cursor:not-allowed;opacity:.7}.toast-container{bottom:24px;display:flex;flex-direction:column;gap:12px;max-width:400px;pointer-events:none;position:fixed;right:24px;z-index:10000}.toast{align-items:center;animation:toast-slide-in .3s ease-out;background:#334155;background:var(--bg-card);border-left:4px solid #475569;border-left:4px solid var(--border-color);border-radius:10px;box-shadow:0 8px 24px #0006;display:flex;gap:12px;padding:14px 18px;pointer-events:auto}@keyframes toast-slide-in{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.toast-success{border-left-color:#22c55e;border-left-color:var(--success)}.toast-error{border-left-color:#ef4444;border-left-color:var(--danger)}.toast-warning{border-left-color:#f59e0b;border-left-color:var(--warning)}.toast-info{border-left-color:#3b82f6;border-left-color:var(--accent)}.toast-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:24px;justify-content:center;width:24px}.toast-success .toast-icon{background:#22c55e;background:var(--success);color:#fff}.toast-error .toast-icon{background:#ef4444;background:var(--danger);color:#fff}.toast-warning .toast-icon{background:#f59e0b;background:var(--warning);color:#fff}.toast-info .toast-icon{background:#3b82f6;background:var(--accent);color:#fff}.toast-message{color:#f8fafc;color:var(--text-primary);flex:1 1;font-size:.9rem;line-height:1.4}.toast-close{background:none;border:none;color:#64748b;color:var(--text-muted);cursor:pointer;flex-shrink:0;font-size:18px;line-height:1;padding:4px}.toast-close:hover{color:#f8fafc;color:var(--text-primary)}.error-boundary-container{align-items:center;background:#0f172a;background:var(--bg-primary);display:flex;justify-content:center;min-height:100vh;padding:40px}.error-boundary-content{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:16px;max-width:500px;padding:48px;text-align:center}.error-icon{font-size:64px;margin-bottom:24px}.error-boundary-content h1{color:#f8fafc;color:var(--text-primary);font-size:1.75rem;margin-bottom:16px}.error-message{color:#94a3b8;color:var(--text-secondary);font-size:1rem;line-height:1.6;margin-bottom:32px}.error-actions{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.error-btn{border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;padding:14px 24px;transition:all .2s}.error-btn.primary{background:#3b82f6;background:var(--accent);color:#fff}.error-btn.primary:hover{filter:brightness(1.1)}.error-btn.secondary{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);color:#f8fafc;color:var(--text-primary)}.error-btn.secondary:hover{border-color:#3b82f6;border-color:var(--accent)}.error-btn.danger{background:#0000;border:1px solid #ef4444;border:1px solid var(--danger);color:#ef4444;color:var(--danger)}.error-btn.danger:hover{background:#ef4444;background:var(--danger);color:#fff}.error-details{background:#0f172a;background:var(--bg-primary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;margin-top:24px;padding:16px;text-align:left}.error-details summary{color:#64748b;color:var(--text-muted);cursor:pointer;font-size:.85rem;margin-bottom:12px}.error-details pre{color:#ef4444;color:var(--danger);font-size:.75rem;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.error-help{color:#64748b;color:var(--text-muted);font-size:.85rem;line-height:1.5;margin-top:16px}@media (max-width:768px){.toast-container{bottom:16px;left:16px;max-width:none;right:16px}.error-boundary-content{padding:32px 24px}}.trash-modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.trash-modal{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:16px;display:flex;flex-direction:column;max-height:80vh;max-width:600px;width:100%}.trash-modal-header{align-items:center;border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px 24px}.trash-modal-header h2{align-items:center;display:flex;font-size:1.25rem;gap:10px;margin:0}.trash-modal-header h2:before{content:"🗑️"}.trash-header-actions{align-items:center;display:flex;gap:12px}.empty-trash-btn{background:#0000;border:1px solid #ef4444;border:1px solid var(--danger);border-radius:6px;color:#ef4444;color:var(--danger);cursor:pointer;font-size:.85rem;padding:8px 16px;transition:all .2s}.empty-trash-btn:hover{background:#ef4444;background:var(--danger);color:#fff}.trash-modal-toolbar{border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);display:flex;gap:12px;padding:16px 24px}.trash-search{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#f8fafc;color:var(--text-primary);flex:1 1;font-size:.9rem;padding:10px 14px}.trash-search:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.trash-filter{background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#f8fafc;color:var(--text-primary);font-size:.9rem;min-width:140px;padding:10px 14px}.trash-modal-content{flex:1 1;overflow-y:auto;padding:16px 24px}.trash-empty{color:#64748b;color:var(--text-muted);padding:48px 24px;text-align:center}.trash-empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.trash-empty-hint{font-size:.85rem;margin-top:8px}.trash-items-list{display:flex;flex-direction:column;gap:8px}.trash-item{align-items:center;background:#334155;background:var(--bg-card);border:1px solid #475569;border:1px solid var(--border-color);border-radius:10px;display:flex;gap:12px;padding:12px 16px}.trash-item-icon{font-size:1.25rem;text-align:center;width:32px}.trash-item-info{flex:1 1;min-width:0}.trash-item-title{color:#f8fafc;color:var(--text-primary);display:block;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trash-item-meta{color:#64748b;color:var(--text-muted);display:block;font-size:.8rem;margin-top:2px}.trash-item-actions{display:flex;flex-shrink:0;gap:8px}.restore-btn{transition:all .2s}.restore-btn:hover{filter:brightness(1.1)}.delete-forever-btn{background:#0000;border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#64748b;color:var(--text-muted);cursor:pointer;font-size:.8rem;padding:6px 12px;transition:all .2s}.delete-forever-btn:hover{border-color:#ef4444;border-color:var(--danger);color:#ef4444;color:var(--danger)}.trash-modal-footer{border-top:1px solid #475569;border-top:1px solid var(--border-color);padding:12px 24px;text-align:center}.trash-count{color:#64748b;color:var(--text-muted);font-size:.85rem}.trash-btn{position:relative}.trash-btn .trash-badge{align-items:center;background:#ef4444;background:var(--danger);border-radius:8px;color:#fff;display:flex;font-size:.65rem;height:16px;justify-content:center;min-width:16px;padding:0 4px;position:absolute;right:-4px;top:-4px}.nav-btn.trash-btn{position:relative}.nav-btn.trash-btn.has-items{color:#f59e0b;color:var(--warning)}.nav-btn.trash-btn .trash-count-badge{align-items:center;background:#f59e0b;background:var(--warning);border-radius:7px;color:#0f172a;color:var(--bg-primary);display:flex;font-size:.6rem;font-weight:600;height:14px;justify-content:center;min-width:14px;padding:0 3px;position:absolute;right:-2px;top:-2px}@media (max-width:768px){.trash-modal{max-height:90vh}.trash-modal-toolbar{flex-direction:column}.trash-filter{width:100%}.trash-item{flex-wrap:wrap}.trash-item-actions{margin-top:8px;width:100%}}.export-dropdown{display:inline-block;position:relative}.export-menu{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;margin-top:4px;min-width:180px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.export-menu button{align-items:center;background:none;border:none;color:#f8fafc;color:var(--text-primary);cursor:pointer;display:flex;font-size:.9rem;gap:8px;padding:10px 16px;text-align:left;transition:background .15s;width:100%}.export-menu button:hover,.export-menu-section{background:var(--bg-tertiary)}.export-menu-section{color:#94a3b8;color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:6px 16px;text-transform:uppercase}.export-menu-section:not(:first-child){border-top:1px solid #475569;border-top:1px solid var(--border-color)}.literature-toolbar .export-dropdown{margin-left:auto}.export-refs-btn{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);cursor:pointer;font-size:.85rem;padding:8px 16px;transition:all .15s}.export-refs-btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--accent-primary)}.export-refs-btn:disabled{cursor:not-allowed;opacity:.5}.literature-toolbar .export-menu{left:auto;right:0}.literature-toolbar .export-menu button:not(:last-child){border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color)}.export-menu button:disabled{cursor:not-allowed;opacity:.5}.export-menu button:disabled:hover{background:none}.export-menu-divider{background:#475569;background:var(--border-color);height:1px;margin:4px 0}.auto-backup-indicator{animation:pulse 2s infinite;color:#22c55e;color:var(--success);font-size:8px;margin-left:4px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.backup-icon.spinning{animation:spin 1s linear infinite;display:inline-block}.nav-btn.backing-up{opacity:.8}.backup-settings-modal{background:#1e293b;background:var(--bg-secondary);border-radius:16px;display:flex;flex-direction:column;max-height:80vh;max-width:600px;overflow:hidden;width:90%}.backup-settings-modal .modal-header{align-items:center;border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px 24px}.backup-settings-modal .modal-header h2{font-size:1.25rem;font-weight:600}.backup-settings-modal .close-btn{background:none;border:none;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:1.5rem;line-height:1;padding:4px 8px}.backup-settings-modal .close-btn:hover{color:#f8fafc;color:var(--text-primary)}.backup-tabs{border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);display:flex;padding:0 24px}.backup-tabs .tab-btn{background:none;border:none;border-bottom:2px solid #0000;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:.9rem;margin-bottom:-1px;padding:12px 16px;transition:all .15s}.backup-tabs .tab-btn:hover{color:#f8fafc;color:var(--text-primary)}.backup-tabs .tab-btn.active{border-bottom-color:#3b82f6;border-bottom-color:var(--accent);color:#3b82f6;color:var(--accent)}.backup-settings-modal .modal-content{flex:1 1;overflow-y:auto;padding:24px}.settings-tab .setting-group{margin-bottom:24px}.settings-tab .setting-label{align-items:center;cursor:pointer;display:flex;font-weight:500;gap:10px;margin-bottom:8px}.settings-tab .setting-label input[type=checkbox]{accent-color:#3b82f6;accent-color:var(--accent);height:18px;width:18px}.settings-tab .setting-description{color:#94a3b8;color:var(--text-secondary);font-size:.85rem;margin-left:28px}.settings-tab select{background:var(--bg-tertiary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;color:#f8fafc;color:var(--text-primary);cursor:pointer;font-size:.9rem;padding:10px 12px;width:100%}.settings-tab select:disabled{cursor:not-allowed;opacity:.5}.backup-status{background:var(--bg-tertiary);border-radius:8px;margin-bottom:20px;padding:16px}.backup-status h3{font-size:.9rem;font-weight:600;margin-bottom:8px}.backup-status p{color:#94a3b8;color:var(--text-secondary);font-size:.9rem}.backup-status strong{color:#f8fafc;color:var(--text-primary)}.sign-in-prompt{border-top:1px solid #475569;border-top:1px solid var(--border-color);margin-top:16px;padding-top:16px}.sign-in-prompt p{margin-bottom:12px}.sign-in-prompt.centered{padding:40px 20px;text-align:center}.sign-in-btn{background:#4285f4;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:10px 20px;transition:background .15s}.sign-in-btn:hover{background:#3367d6}.backup-actions{display:flex;gap:12px;justify-content:flex-end}.backup-actions .primary-btn,.backups-tab .primary-btn{background:#3b82f6;background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;padding:10px 20px;transition:opacity .15s}.backup-actions .primary-btn:hover:not(:disabled),.backups-tab .primary-btn:hover:not(:disabled){opacity:.9}.backup-actions .primary-btn:disabled,.backups-tab .primary-btn:disabled{cursor:not-allowed;opacity:.5}.backups-tab .loading,.backups-tab .no-backups{color:#94a3b8;color:var(--text-secondary);padding:40px 20px;text-align:center}.backups-tab .no-backups p{margin-bottom:16px}.backups-header{align-items:center;display:flex;font-size:.85rem;justify-content:space-between;margin-bottom:16px}.backups-header,.refresh-btn{color:#94a3b8;color:var(--text-secondary)}.refresh-btn{background:none;border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:.8rem;padding:6px 12px;transition:all .15s}.refresh-btn:hover:not(:disabled){background:var(--bg-tertiary);color:#f8fafc;color:var(--text-primary)}.refresh-btn:disabled{cursor:not-allowed;opacity:.5}.backups-list{display:flex;flex-direction:column;gap:8px}.backup-item{align-items:center;background:var(--bg-tertiary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.backup-info{flex:1 1;min-width:0}.backup-name{font-size:.9rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.backup-meta{color:#94a3b8;color:var(--text-secondary);font-size:.8rem;margin-top:4px}.backup-item .backup-actions{display:flex;gap:8px;margin-left:16px}.restore-btn{background:#3b82f6;background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;padding:6px 12px;transition:opacity .15s}.restore-btn:hover{opacity:.9}.backup-item .delete-btn{align-items:center;background:none;border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1rem;height:28px;justify-content:center;transition:all .15s;width:28px}.backup-item .delete-btn:hover{background:#ef4444;background:var(--danger);border-color:#ef4444;border-color:var(--danger);color:#fff}.file-upload-textarea-wrapper{border-radius:8px;position:relative;transition:all .2s}.file-upload-textarea-wrapper.drag-active{outline:2px dashed #3b82f6;outline:2px dashed var(--accent);outline-offset:2px}.file-upload-textarea-wrapper.disabled{opacity:.6;pointer-events:none}.drop-overlay{align-items:center;background:#3b82f626;border:2px dashed #3b82f6;border:2px dashed var(--accent);border-radius:8px;display:flex;inset:0;justify-content:center;pointer-events:none;position:absolute;z-index:10}.drop-overlay-content{align-items:center;color:#3b82f6;color:var(--accent);display:flex;flex-direction:column;font-weight:500;gap:8px}.drop-icon{animation:bounce .5s ease infinite;font-size:2rem}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.upload-indicator{align-items:center;background:#334155;background:var(--bg-card);border-radius:6px;color:#94a3b8;color:var(--text-secondary);display:flex;font-size:.85rem;gap:8px;margin-top:8px;padding:8px 12px}.upload-indicator .spinner{animation:spin .8s linear infinite;border:2px solid #475569;border-top-color:#3b82f6;border:2px solid var(--border-color);border-radius:50%;border-top-color:var(--accent);height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.upload-textarea-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.btn-upload-file,.btn-upload-image{align-items:center;background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.85rem;gap:6px;padding:6px 12px;transition:all .2s}.btn-upload-file:hover,.btn-upload-image:hover{border-color:#3b82f6;border-color:var(--accent);color:#3b82f6;color:var(--accent)}.btn-upload-file:disabled,.btn-upload-image:disabled{cursor:not-allowed;opacity:.5}.upload-disabled-hint{font-style:italic}.attachment-count,.upload-disabled-hint{color:#64748b;color:var(--text-muted);font-size:.8rem}.attachment-count{margin-left:auto}.image-thumbnail-strip{display:flex;gap:8px;overflow-x:auto;padding:8px 0;scrollbar-width:thin}.image-thumbnail-strip::-webkit-scrollbar{height:6px}.image-thumbnail-strip::-webkit-scrollbar-thumb{background:#475569;background:var(--border-color);border-radius:3px}.thumbnail-item{border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;flex-shrink:0;height:60px;overflow:hidden;position:relative;transition:all .2s;width:80px}.thumbnail-item:hover{border-color:#3b82f6;border-color:var(--accent)}.thumbnail-item img{height:100%;object-fit:cover;width:100%}.thumbnail-actions{align-items:center;background:#0009;display:flex;gap:4px;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .2s}.thumbnail-item:hover .thumbnail-actions{opacity:1}.thumbnail-actions button{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:.9rem;height:24px;justify-content:center;transition:transform .15s;width:24px}.thumbnail-actions button:hover{transform:scale(1.1)}.thumbnail-actions .btn-insert{background:#3b82f6;background:var(--accent);color:#fff}.thumbnail-actions .btn-remove{background:#ef4444;background:var(--danger);color:#fff}.thumbnail-name{background:#000000b3;bottom:0;color:#fff;font-size:.65rem;left:0;opacity:0;overflow:hidden;padding:2px 4px;pointer-events:none;position:absolute;right:0;text-overflow:ellipsis;transition:opacity .2s;white-space:nowrap;z-index:1}.thumbnail-item .thumbnail-name{opacity:.8}.thumbnail-item:hover .thumbnail-name{opacity:0}.image-thumbnail-strip.compact .thumbnail-item{height:40px;width:50px}.markdown-preview{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);line-height:1.6;min-height:100px;padding:12px}.markdown-preview .inline-image-wrapper{display:block;margin:12px 0}.markdown-preview .inline-image{border-radius:6px;cursor:pointer;display:block;max-height:400px;max-width:100%;transition:transform .2s,box-shadow .2s}.markdown-preview .inline-image:hover{box-shadow:0 4px 12px #0000004d;transform:scale(1.01)}.markdown-preview .missing-attachment{background:#334155;background:var(--bg-card);border:1px dashed #475569;border:1px dashed var(--border-color);border-radius:4px;color:#64748b;color:var(--text-muted);display:inline-block;font-size:.85rem;padding:4px 8px}.markdown-preview .empty-content{color:#64748b;color:var(--text-muted);font-style:italic}.textarea-mode-toggle{display:flex;gap:4px;margin-bottom:8px}.textarea-mode-toggle button{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:4px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-size:.8rem;padding:4px 12px;transition:all .2s}.textarea-mode-toggle button:hover{border-color:#64748b;border-color:var(--text-muted)}.textarea-mode-toggle button.active{background:#3b82f6;background:var(--accent);border-color:#3b82f6;border-color:var(--accent);color:#fff}.preview-content{min-height:150px}.task-card-attachments{align-items:center;display:flex;flex-wrap:wrap;gap:4px;margin:8px 0}.task-card-thumbnail{background:#1e293b;background:var(--bg-secondary);border:2px solid var(--bg-tertiary);border-radius:4px;cursor:pointer;height:36px;object-fit:cover;transition:transform .15s,border-color .15s;width:36px}.task-card-thumbnail:hover{border-color:#3b82f6;border-color:var(--accent);transform:scale(1.1)}.task-card-more-attachments{background:var(--bg-tertiary);border-radius:4px;color:#64748b;color:var(--text-muted);font-size:.7rem;font-weight:500;padding:2px 6px}.time-input{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);font-size:.9rem;padding:8px 12px}.time-input:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.optional-hint{color:#64748b;color:var(--text-muted);font-size:.75rem;font-weight:400}.calendar-actions-bar{border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);display:flex;justify-content:flex-end;padding:8px 16px}.btn-add-event{background:#3b82f6;background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;padding:6px 12px;transition:background .2s}.btn-add-event:hover{background:var(--accent-hover)}.event-dot{border-radius:2px;flex-shrink:0;height:8px;width:8px}.day-detail-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.btn-add-event-day{align-items:center;background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:50%;color:#f8fafc;color:var(--text-primary);cursor:pointer;display:flex;font-size:1.2rem;height:28px;justify-content:center;transition:all .2s;width:28px}.btn-add-event-day:hover{background:#3b82f6;background:var(--accent);border-color:#3b82f6;border-color:var(--accent);color:#fff}.day-events-list,.day-tasks-list{margin-bottom:16px}.day-events-list h5,.day-tasks-list h5{color:#64748b;color:var(--text-muted);font-size:.75rem;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.calendar-event-item{align-items:flex-start;background:#1e293b;background:var(--bg-secondary);border-radius:6px;display:flex;gap:10px;margin-bottom:6px;padding:10px}.event-color{border-radius:2px;flex-shrink:0;height:100%;min-height:36px;width:4px}.event-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.event-name{color:#f8fafc;color:var(--text-primary);font-weight:500}.event-time{color:#3b82f6;color:var(--accent);font-size:.8rem}.event-desc{color:#64748b;color:var(--text-muted);font-size:.8rem}.event-actions{display:flex;gap:4px}.event-actions button{background:none;border:none;cursor:pointer;font-size:.9rem;opacity:.6;padding:4px;transition:opacity .2s}.event-actions button:hover{opacity:1}.task-time{color:#3b82f6;color:var(--accent);font-size:.75rem;margin-top:2px}.event-form-overlay{align-items:center;background:#000000b3;display:flex;inset:0;justify-content:center;position:fixed;z-index:10001}.event-form-modal{background:#0f172a;background:var(--bg-primary);border-radius:12px;box-shadow:0 10px 40px #0006;max-width:450px;width:90%}.event-form-header{align-items:center;border-bottom:1px solid #475569;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:16px 20px}.event-form-header h3{font-size:1.1rem;margin:0}.event-form-body{padding:20px}.event-form-body .form-group{margin-bottom:16px}.event-form-body .form-group label{color:#94a3b8;color:var(--text-secondary);display:block;font-size:.85rem;margin-bottom:6px}.event-form-body .form-group input,.event-form-body .form-group textarea{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;box-sizing:border-box;color:#f8fafc;color:var(--text-primary);font-size:.9rem;padding:10px 12px;width:100%}.event-form-body .form-group input:focus,.event-form-body .form-group textarea:focus{border-color:#3b82f6;border-color:var(--accent);outline:none}.event-form-body .form-row{display:flex;gap:16px}.event-form-body .form-row .form-group{flex:1 1}.color-picker{display:flex;flex-wrap:wrap;gap:6px}.color-picker .color-option{border:2px solid #0000;border-radius:6px;cursor:pointer;height:28px;transition:transform .15s,border-color .15s;width:28px}.color-picker .color-option:hover{transform:scale(1.1)}.color-picker .color-option.selected{border-color:#fff;box-shadow:0 0 0 2px #3b82f6;box-shadow:0 0 0 2px var(--accent)}.event-form-footer{border-top:1px solid #475569;border-top:1px solid var(--border-color);display:flex;gap:10px;justify-content:flex-end;padding:16px 20px}.event-form-footer .btn-cancel{background:#1e293b;background:var(--bg-secondary);border:1px solid #475569;border:1px solid var(--border-color);border-radius:6px;color:#f8fafc;color:var(--text-primary);cursor:pointer;padding:8px 16px;transition:background .2s}.event-form-footer .btn-cancel:hover{background:var(--bg-tertiary)}.event-form-footer .btn-save{background:#3b82f6;background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;padding:8px 16px;transition:background .2s}.event-form-footer .btn-save:hover:not(:disabled){background:var(--accent-hover)}.event-form-footer .btn-save:disabled{cursor:not-allowed;opacity:.5}
/*# sourceMappingURL=main.01dc41a3.css.map*/