:root{--color-primary: #4361ee;--color-primary-hover: #3a56d4;--color-primary-light: rgba(99, 102, 241, .1);--color-pending: #f59e0b;--color-active: #4361ee;--color-completed: #10b981;--color-overdue: #ef4444;--color-due-soon: #d97706;--color-bg: #f0f2f5;--color-surface: #fff;--color-surface-alt: #e8eaed;--color-surface-hover: #e2e5ea;--color-text: #1a1a2e;--color-text-secondary: #555;--color-text-muted: #64748b;--color-text-placeholder: #94a3b8;--color-border: #d0d0d0;--color-border-light: #e2e8f0;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-success: #22c55e;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 3px 8px rgba(0, 0, 0, .12);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--radius-pill: 12px;--radius-round: 50%;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-2xl: 24px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 1rem;--font-size-xl: 1.6rem;--font-size-2xl: 2rem}html.dark{color-scheme:dark;--color-bg: #1e1e2e;--color-surface: #313244;--color-surface-alt: #181825;--color-surface-hover: #45475a;--color-text: #cdd6f4;--color-text-secondary: #a6adc8;--color-text-muted: #a6adc8;--color-text-placeholder: #6c7086;--color-border: #585b70;--color-border-light: #45475a;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2);--shadow-md: 0 3px 8px rgba(0, 0, 0, .3)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background:var(--color-bg);color:var(--color-text)}.app{max-width:1400px;margin:0 auto;padding:var(--space-xl)}.btn{padding:var(--space-sm) var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);cursor:pointer;font-size:var(--font-size-base)}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-small{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-sm)}.btn-danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn-danger:hover{background:var(--color-danger-hover)}.btn-icon{background:none;border:none;cursor:pointer;font-size:var(--font-size-base);padding:2px}.btn-quick{padding:var(--space-xs) 10px;font-size:var(--font-size-sm);border-radius:var(--radius-pill);background:var(--color-bg);border:1px solid var(--color-border)}.btn-quick:hover{background:var(--color-surface-hover)}.btn-quick-clear{color:var(--color-overdue);border-color:#fca5a5}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-xl);padding:var(--space-2xl);width:480px;max-height:90vh;overflow-y:auto}.modal h2{margin-bottom:var(--space-lg)}.modal label{display:block;font-size:13px;font-weight:600;margin:var(--space-md) 0 var(--space-xs)}.modal input,.modal textarea,.modal select{width:100%;padding:var(--space-sm) 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:inherit;background:var(--color-surface);color:var(--color-text)}.search-input,.sort-select,.tag-filter{padding:var(--space-sm) 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:inherit;background:var(--color-surface);color:var(--color-text)}.modal textarea{resize:vertical}.search-input{min-width:200px;max-width:220px;width:auto}.sort-select{width:auto;padding:.4rem .5rem;font-size:.85rem}.tag-filter{width:auto;min-width:140px;max-width:200px;padding:var(--space-sm) 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-surface);color:var(--color-text)}.form-row{display:flex;gap:var(--space-md)}.form-field{flex:1}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-xl)}.quick-dates{display:flex;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-sm)}.tag-input-row{display:flex;gap:var(--space-sm);flex-wrap:wrap;align-items:center}.tag-input-row input{flex:1;min-width:120px}.subtask-input-row{margin-bottom:.5rem}.subtask-input-row input{width:100%}.subtask-item{display:flex;align-items:center;gap:.5rem;padding:.25rem 0}.subtask-done{text-decoration:line-through;color:var(--color-text-placeholder)}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg);flex-wrap:wrap;gap:var(--space-md)}.header h1{font-size:var(--font-size-xl)}.user-area{display:flex;align-items:center;gap:var(--space-md)}.user-greeting{font-size:var(--font-size-md);color:var(--color-text-secondary)}.stats-bar{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap}.stat{background:var(--color-surface);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-lg);font-size:13px;color:var(--color-text-secondary);box-shadow:var(--shadow-sm)}.stat-num{font-weight:700;font-size:16px;margin-right:var(--space-xs)}.stat-pending .stat-num{color:var(--color-pending)}.stat-active .stat-num{color:var(--color-active)}.stat-completed .stat-num{color:var(--color-completed)}.stat-overdue{background:#fef2f2}.stat-overdue .stat-num{color:var(--color-overdue)}.stat-clickable{cursor:pointer;border-radius:var(--radius-md);padding:.25rem .5rem;transition:background .15s}.stat-clickable:hover{background:#0000000d}.stat-active-filter{background:var(--color-primary-light);outline:2px solid var(--color-primary)}.toolbar{display:flex;align-items:center;margin-bottom:var(--space-xl);gap:var(--space-md);flex-wrap:wrap}.bulk-bar{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:var(--color-primary-light);border-radius:var(--radius-lg);margin-bottom:.5rem;font-size:.9rem}.board{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl)}.column{background:var(--color-surface-alt);border-radius:var(--radius-xl);min-height:400px;display:flex;flex-direction:column}.column-header{display:flex;justify-content:space-between;align-items:center;padding:14px var(--space-lg);font-weight:600}.column-header h2{font-size:var(--font-size-lg)}.count{background:var(--color-surface);border-radius:var(--radius-round);width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm)}.column-pending .column-header{border-top:3px solid var(--color-pending);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.column-active .column-header{border-top:3px solid var(--color-active);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.column-completed .column-header{border-top:3px solid var(--color-completed);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.column-body{flex:1;padding:var(--space-sm) var(--space-md);min-height:100px}.column-body.drag-over{background:#4361ee14;border-radius:0 0 var(--radius-xl) var(--radius-xl)}.login-screen,.loading-screen,.error-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem}.login-screen h1{font-size:var(--font-size-2xl)}.login-screen p{color:var(--color-text-secondary);font-size:1.1rem}.spinner{width:40px;height:40px;border:4px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:var(--radius-round);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{color:var(--color-danger);font-size:1.1rem}@media (max-width: 900px){.board{grid-template-columns:1fr}}.card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-md);margin-bottom:10px;box-shadow:var(--shadow-sm);transition:box-shadow .15s}.card:hover{box-shadow:var(--shadow-md)}.card-overdue{border-left:3px solid var(--color-overdue)}.card-due-soon{border-left:3px solid var(--color-pending);background:#fffbeb}.card-priority-high{border-left:3px solid var(--color-overdue)}.card-priority-low{border-left:3px solid var(--color-completed)}.card-overdue.card-priority-high{border-left:4px solid var(--color-overdue)}.card-selected{outline:2px solid var(--color-primary);outline-offset:-2px}.card-checkbox{margin-right:.25rem;cursor:pointer}.card-header{display:flex;justify-content:space-between;align-items:flex-start}.card-title-row{display:flex;align-items:center;gap:var(--space-sm)}.priority-marker{font-size:var(--font-size-sm);flex-shrink:0}.card-title{font-size:var(--font-size-base);word-break:break-word;color:var(--color-text)}.card-title:hover{text-decoration:underline}.card-actions{display:flex;gap:var(--space-xs);flex-shrink:0}.card-desc{font-size:13px;color:var(--color-text-secondary);margin-top:var(--space-sm);line-height:1.4;max-height:4.2em;overflow:hidden;position:relative}.card-desc:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1.4em;background:linear-gradient(transparent,var(--color-surface));pointer-events:none}.card-desc p{margin:var(--space-xs) 0}.card-desc code{background:var(--color-surface-alt);padding:1px var(--space-xs);border-radius:3px;font-size:var(--font-size-sm)}.card-due{font-size:var(--font-size-sm);margin-top:var(--space-sm);color:var(--color-text-secondary)}.card-due.overdue{color:var(--color-overdue);font-weight:600}.card-due.due-soon{color:var(--color-due-soon);font-weight:600}.card-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-sm)}.tag{background:var(--color-surface-alt);color:var(--color-text-secondary);padding:2px var(--space-sm);border-radius:var(--radius-pill);font-size:var(--font-size-xs);white-space:nowrap}.tag-add{cursor:pointer;border:1px dashed var(--color-border);background:transparent}.card-subtasks{margin-top:.5rem;font-size:.8rem;color:var(--color-text-muted)}.subtask-progress{display:block;margin-bottom:.25rem}.subtask-inline{display:flex;align-items:center;gap:.3rem;font-size:.8rem;cursor:pointer;margin-top:.25rem}.status-badge{padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:500}.status-pending{background:#fef3c7;color:#92400e}.status-active{background:#dbeafe;color:#1e40af}.status-completed{background:#dcfce7;color:#166534}.todo-view{max-width:600px}.todo-view h2{margin:.5rem 0}.todo-view-header{display:flex;justify-content:space-between;align-items:center}.todo-view-desc{margin:1rem 0;line-height:1.6}.todo-view-desc p{margin:.5rem 0}.todo-view-subtasks{margin:1rem 0}.todo-view-subtasks h3{font-size:.9rem;margin-bottom:.5rem}.todo-view-meta{font-size:.85rem;color:var(--color-text-muted);margin-top:.75rem}.hive-layout{display:flex;height:100vh;overflow:hidden}.hive-sidebar{width:200px;background:var(--surface-bg, #1a1a2e);border-right:1px solid var(--border-color, #333);display:flex;flex-direction:column;padding:1rem 0}.hive-logo{font-size:1.4rem;font-weight:700;padding:.5rem 1.2rem 1.5rem;color:var(--accent-color, #fbbf24)}.nav-item{display:block;padding:.7rem 1.2rem;color:var(--text-secondary, #aaa);text-decoration:none;font-size:.9rem;transition:background .15s,color .15s}.nav-item:hover{background:#ffffff0d;color:#fff}.nav-item.active{background:#ffffff1a;color:#fff;font-weight:600}.nav-spacer{flex:1}.hive-main{flex:1;overflow-y:auto;padding:2rem}.page h1{margin-bottom:1.5rem}.note-input,.reminder-input{display:flex;gap:.5rem;margin-bottom:1.5rem;align-items:flex-start}.note-input textarea{flex:1;resize:vertical}.reminder-input input{flex:1}.notes-list,.reminders-list{display:flex;flex-direction:column;gap:.5rem}.note-card,.reminder-card{background:var(--surface-bg, #1e1e30);border:1px solid var(--border-color, #333);border-radius:8px;padding:.8rem 1rem;display:flex;align-items:center;gap:.8rem}.note-card p{flex:1;margin:0}.reminder-card span{flex:1}.btn-sm{background:none;border:none;cursor:pointer;color:var(--text-secondary, #aaa);font-size:1.2rem}.btn-sm:hover{color:#fff}.empty{color:var(--text-secondary, #888);font-style:italic}.settings-form{display:flex;flex-direction:column;gap:1rem;max-width:400px}.settings-form label{display:flex;flex-direction:column;gap:.3rem}.checkbox-label{flex-direction:row!important;align-items:center;gap:.5rem!important}.saved-indicator{color:#4ade80;font-size:.9rem}
