:root{--font-display:'JetBrains Mono',monospace;--font-body:'DM Sans',sans-serif}
[data-theme="light"]{--bg-primary:#F0F2F5;--bg-secondary:#FFF;--bg-tertiary:#F7F8FA;--bg-hover:#E8EBF0;--bg-active:#DCE1E8;--bg-input:#FFF;--bg-modal:#FFF;--bg-overlay:rgba(0,0,0,0.5);--border:#D1D5DB;--border-light:#E5E7EB;--text-primary:#1A1D23;--text-secondary:#5F6B7A;--text-tertiary:#8896A6;--accent:#2563EB;--accent-hover:#1D4ED8;--accent-light:#EFF6FF;--accent-bg:#DBEAFE;--danger:#DC2626;--danger-light:#FEF2F2;--warning:#F59E0B;--success:#16A34A;--success-light:#F0FDF4;--shadow-sm:0 1px 2px rgba(0,0,0,0.05);--shadow-md:0 4px 12px rgba(0,0,0,0.08);--shadow-lg:0 12px 40px rgba(0,0,0,0.12);--radius:6px;--radius-lg:10px}
[data-theme="dark"]{--bg-primary:#0F1117;--bg-secondary:#1A1D27;--bg-tertiary:#22252F;--bg-hover:#2A2D3A;--bg-active:#33364A;--bg-input:#22252F;--bg-modal:#1A1D27;--bg-overlay:rgba(0,0,0,0.7);--border:#2E3245;--border-light:#252838;--text-primary:#E8ECF4;--text-secondary:#8896A6;--text-tertiary:#5F6B7A;--accent:#3B82F6;--accent-hover:#60A5FA;--accent-light:#1E293B;--accent-bg:#1E3A5F;--danger:#EF4444;--danger-light:#2D1B1B;--warning:#FBBF24;--success:#22C55E;--success-light:#1A2D1F;--shadow-sm:0 1px 2px rgba(0,0,0,0.2);--shadow-md:0 4px 12px rgba(0,0,0,0.3);--shadow-lg:0 12px 40px rgba(0,0,0,0.4)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);height:100vh;overflow:hidden;font-size:14px;line-height:1.5}input,textarea,select,button{font-family:inherit;font-size:inherit;color:inherit;border:none;outline:none;background:none}button{cursor:pointer}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
/* LOGIN */
.login-screen{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg-primary)}.login-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:48px 40px;width:400px;box-shadow:var(--shadow-lg)}.login-logo{text-align:center;margin-bottom:32px}.login-logo .logo-icon{width:56px;height:56px;background:var(--accent);border-radius:var(--radius-lg);display:inline-flex;align-items:center;justify-content:center;margin-bottom:16px;font-size:24px;color:#fff}.login-logo h1{font-family:var(--font-display);font-size:20px;font-weight:700}.login-logo p{color:var(--text-secondary);font-size:13px;margin-top:4px}.login-field{margin-bottom:16px}.login-field label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.login-field input{width:100%;padding:10px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius)}.login-field input:focus{border-color:var(--accent)}.login-btn{width:100%;padding:12px;background:var(--accent);color:#fff;border-radius:var(--radius);font-weight:600;margin-top:8px}.login-btn:hover{background:var(--accent-hover)}.login-error{color:var(--danger);font-size:12px;text-align:center;margin-top:8px;min-height:18px}.login-settings{display:flex;justify-content:center;gap:12px;margin-top:20px}.login-settings button{padding:6px 12px;font-size:12px;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius)}.login-settings button:hover{background:var(--bg-hover)}
/* APP LAYOUT */
.app{display:none;height:100vh;flex-direction:column}.app.visible{display:flex}.topbar{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.topbar-left{display:flex;align-items:center;gap:12px}.topbar-logo{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:700;font-size:14px}.topbar-logo .dot{width:8px;height:8px;background:var(--accent);border-radius:50%}.topbar-user{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);padding-left:12px;border-left:1px solid var(--border)}.topbar-user .avatar{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.topbar-right{display:flex;align-items:center;gap:4px}.topbar-btn{padding:6px 10px;border-radius:var(--radius);font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.topbar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.main-content{display:flex;flex:1;overflow:hidden}
/* FOLDERS */
.panel-folders{width:240px;min-width:240px;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column}.panel-header{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-light);flex-shrink:0}.panel-title{font-family:var(--font-display);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text-secondary)}.panel-action-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);color:var(--text-secondary);font-size:18px}.panel-action-btn:hover{background:var(--bg-hover)}.folder-list{flex:1;overflow-y:auto;padding:8px}.folder-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius);cursor:pointer;font-size:13px;user-select:none}.folder-item:hover{background:var(--bg-hover)}.folder-item.active{background:var(--accent-light);color:var(--accent);font-weight:600}.folder-item .f-icon{font-size:16px;flex-shrink:0}.folder-item .f-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-item .f-count{font-size:11px;background:var(--bg-hover);color:var(--text-secondary);padding:1px 7px;border-radius:10px;font-weight:600}.folder-item.active .f-count{background:var(--accent-bg);color:var(--accent)}.folder-item .f-actions{display:none}.folder-item:hover .f-actions{display:flex}.folder-item:hover .f-count{display:none}.f-actions button{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:12px;color:var(--text-tertiary)}.f-actions button:hover{background:var(--bg-active)}.subfolder{padding-left:28px}
/* TASKS PANEL */
.panel-tasks{flex:1;background:var(--bg-tertiary);display:flex;flex-direction:column;overflow:hidden}.tasks-toolbar{padding:8px 12px;display:flex;align-items:center;gap:5px;border-bottom:1px solid var(--border-light);background:var(--bg-secondary);flex-shrink:0;flex-wrap:wrap}.search-box{flex:1;min-width:120px;display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius)}.search-box:focus-within{border-color:var(--accent)}.search-box input{flex:1;background:none;font-size:13px}.search-icon{color:var(--text-tertiary);font-size:14px}.filter-btn{padding:4px 8px;border-radius:var(--radius);font-size:11px;color:var(--text-secondary);border:1px solid var(--border-light);background:var(--bg-tertiary);white-space:nowrap}.filter-btn:hover{background:var(--bg-hover)}.filter-btn.active{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.new-task-btn{padding:6px 12px;background:var(--accent);color:#fff;border-radius:var(--radius);font-size:12px;font-weight:600;white-space:nowrap}.new-task-btn:hover{background:var(--accent-hover)}.export-btn{padding:4px 8px;border-radius:var(--radius);font-size:12px;color:var(--text-secondary);border:1px solid var(--border-light);background:var(--bg-tertiary)}.export-btn:hover{background:var(--bg-hover)}.group-toggle{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.group-toggle input{width:14px;height:14px}
/* TASK LIST */
.task-list{flex:1;overflow-y:auto;padding:8px}.task-item{display:flex;align-items:stretch;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius);margin-bottom:6px;cursor:pointer;overflow:hidden;transition:border-color .15s}.task-item:hover{border-color:var(--border);box-shadow:var(--shadow-sm)}.task-item.pinned{background:rgba(37,99,235,.04)}.task-item.urgent-task{border-left:3px solid var(--danger)}.task-item-main{flex:1;padding:10px 14px;min-width:0}.task-item-header{display:flex;align-items:flex-start;gap:8px;margin-bottom:3px}.task-item-title{flex:1;font-weight:600;font-size:13px;line-height:1.3}.task-item-date{font-size:10px;color:var(--text-tertiary);font-family:var(--font-display);white-space:nowrap}.task-item-desc{font-size:12px;color:var(--text-secondary);margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-item-footer{display:flex;align-items:center;gap:6px;font-size:11px;flex-wrap:wrap}.task-action-count,.task-att-icon{color:var(--text-tertiary);font-size:11px}.task-author{color:var(--text-tertiary);margin-left:auto;font-size:10px}.task-pin-icon{font-size:10px;color:var(--accent)}
.task-actions-preview{margin:3px 0 4px;padding:3px 0;border-top:1px solid var(--border-light)}.action-preview-item{font-size:11px;color:var(--text-secondary);padding:1px 0;display:flex;gap:6px}.action-preview-date{color:var(--text-tertiary);font-family:var(--font-display);font-size:10px;white-space:nowrap}.action-preview-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.task-item.compact .task-item-main{padding:6px 12px}.task-item.compact .task-item-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-item.compact .task-item-desc,.task-item.compact .task-actions-preview{display:none}
/* BIG STATUS LABELS */
.status-label{display:inline-block;font-size:12px;font-weight:700;padding:4px 12px;border-radius:6px;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}
.status-in_progress{background:#DBEAFE;color:#1D4ED8}.status-urgent{background:#FEE2E2;color:#DC2626;animation:urgentPulse 2s ease-in-out infinite}.status-long_term{background:#EDE9FE;color:#7C3AED}.status-completed{background:#D1FAE5;color:#059669}.status-info{background:#F3F4F6;color:#4B5563}.status-closed{background:#E5E7EB;color:#6B7280;opacity:.7}
@keyframes urgentPulse{0%,100%{box-shadow:0 0 0 0 rgba(220,38,38,.3)}50%{box-shadow:0 0 0 6px rgba(220,38,38,0)}}
/* DELAY BADGE */
.delay-badge{width:44px;min-width:44px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:11px;font-weight:700;color:#fff}.delay-green{background:#16A34A}.delay-yellow{background:#F59E0B}.delay-orange{background:#EA580C}.delay-red{background:#DC2626}
/* FULLSCREEN MODAL */
.fullscreen-overlay{position:fixed;inset:0;background:var(--bg-overlay);display:none;align-items:center;justify-content:center;z-index:1000;padding:20px}.fullscreen-overlay.visible{display:flex}.fullscreen-content{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:1200px;height:100%;max-height:92vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:mIn .15s ease-out}@keyframes mIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.fullscreen-header{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid var(--border-light);flex-shrink:0}.fullscreen-header h2{font-family:var(--font-display);font-size:15px;font-weight:600}.fullscreen-close,.pin-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);font-size:16px;color:var(--text-secondary)}.fullscreen-close:hover,.pin-btn:hover{background:var(--bg-hover)}.pin-btn.active{color:var(--accent);background:var(--accent-light)}.fullscreen-body{flex:1;display:flex;overflow:hidden;min-height:0}.fullscreen-left{flex:1;padding:20px 24px;overflow-y:auto;min-height:0}.fullscreen-right{width:300px;min-width:300px;padding:20px;overflow-y:auto;border-left:1px solid var(--border-light);min-height:0}.fullscreen-footer{padding:12px 24px;border-top:1px solid var(--border-light);display:flex;gap:8px;justify-content:flex-end;flex-shrink:0}
/* TITLE INPUT */
.modal-title-input{width:100%;font-size:20px;font-weight:700;background:none;padding:0 0 8px;border:none;border-bottom:2px solid transparent;resize:none;overflow:hidden;line-height:1.3;font-family:var(--font-body);color:var(--text-primary)}.modal-title-input:focus{border-bottom-color:var(--accent)}
.section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:6px;margin-top:20px}.section-label:first-child{margin-top:0}
/* RICH EDITOR */
.editor-wrap{border:1px solid var(--border-light);border-radius:var(--radius);overflow:hidden;background:var(--bg-tertiary);margin-bottom:4px}.editor-toolbar{display:flex;align-items:center;gap:2px;padding:3px 6px;background:var(--bg-secondary);border-bottom:1px solid var(--border-light)}.editor-toolbar button{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:13px;color:var(--text-secondary)}.editor-toolbar button:hover{background:var(--bg-hover)}.editor-toolbar-sep{width:1px;height:18px;background:var(--border-light);margin:0 3px}.editor-div{min-height:60px;max-height:300px;overflow-y:auto;padding:10px;font-size:13px;line-height:1.5;color:var(--text-primary);outline:none}.editor-div:empty::before{content:attr(data-placeholder);color:var(--text-tertiary)}.editor-div table{border-collapse:collapse;width:100%;margin:6px 0;font-size:12px}.editor-div table th,.editor-div table td{border:1px solid var(--border);padding:3px 6px}.editor-div table th{background:var(--bg-hover);font-weight:600}
.action-editor-wrap{border:1px solid var(--border-light);border-radius:var(--radius);overflow:hidden;background:var(--bg-tertiary)}.action-editor-div{min-height:60px;max-height:150px}.action-date-input{padding:3px 6px;font-size:11px;font-family:var(--font-display);background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:4px;color:var(--text-primary);margin-left:auto}.action-add-btn{width:100%;padding:7px;background:var(--accent);color:#fff;font-size:12px;font-weight:600;border-top:1px solid var(--border-light)}.action-add-btn:hover{background:var(--accent-hover)}
/* ACTIONS with checkbox */
.action-item{padding:12px;margin-bottom:8px;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius)}.action-item:hover{border-color:var(--border)}.action-item.action-done{opacity:.7;background:var(--bg-primary)}.action-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:11px}.action-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--success);flex-shrink:0}.action-date{font-family:var(--font-display);font-weight:600;color:var(--accent)}.action-author{color:var(--text-tertiary)}.action-edited{color:var(--text-tertiary);font-style:italic;font-size:10px}.action-btns{margin-left:auto;display:flex;gap:4px;opacity:0}.action-item:hover .action-btns{opacity:1}.action-btns button{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:11px;color:var(--text-tertiary)}.action-btns button:hover{background:var(--bg-hover);color:var(--text-primary)}.action-btns button.del:hover{background:var(--danger-light);color:var(--danger)}.action-content{font-size:13px;line-height:1.5}.action-content.strikethrough{text-decoration:line-through;opacity:.6}.action-content table{border-collapse:collapse;width:100%;margin:6px 0;font-size:12px}.action-content table th,.action-content table td{border:1px solid var(--border);padding:3px 6px}.action-content table th{background:var(--bg-hover);font-weight:600}
/* COMMENTS */
.action-comments{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-light)}.comment-item{display:flex;gap:6px;padding:4px 0;font-size:12px}.comment-author{font-weight:600;color:var(--text-primary);white-space:nowrap}.comment-text{color:var(--text-secondary)}.comment-time{color:var(--text-tertiary);font-size:10px;font-family:var(--font-display);white-space:nowrap;margin-left:auto}.comment-del{font-size:10px;color:var(--text-tertiary);cursor:pointer;opacity:0}.comment-item:hover .comment-del{opacity:1}.comment-del:hover{color:var(--danger)}.comment-input-row{display:flex;gap:6px;margin-top:4px}.comment-input{flex:1;padding:4px 8px;font-size:12px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:4px;color:var(--text-primary)}.comment-input:focus{border-color:var(--accent)}.comment-send{padding:4px 10px;background:var(--accent);color:#fff;border-radius:4px;font-size:11px;font-weight:600}
/* FORM ELEMENTS */
.detail-select{padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius);font-size:12px;cursor:pointer;color:var(--text-primary)}.detail-select:focus{border-color:var(--accent)}.full-w{width:100%;display:block}.meta-value{font-size:13px;color:var(--text-primary);padding:4px 0}
/* ATTACHMENTS */
.upload-btn{display:flex;align-items:center;gap:6px;padding:7px;border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-secondary);font-size:12px;margin-top:6px;width:100%;justify-content:center}.upload-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}
.att-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius);background:var(--bg-tertiary);margin-bottom:4px;font-size:12px;cursor:pointer;transition:background .1s}.att-item:hover{background:var(--bg-hover)}.att-icon{font-size:16px;flex-shrink:0}.att-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent)}.att-value{font-size:10px;color:var(--text-tertiary);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display)}.att-size{font-size:10px;color:var(--text-tertiary)}.att-del{font-size:11px;color:var(--text-tertiary);opacity:0}.att-item:hover .att-del{opacity:1}.att-del:hover{color:var(--danger)}
.ref-add-row{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap}.ref-icon-select{padding:4px;font-size:12px;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:4px;color:var(--text-primary);width:100px}.ref-input{padding:4px 8px;font-size:12px;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:4px;color:var(--text-primary);width:100px}.ref-input:focus{border-color:var(--accent)}.flex1{flex:1;min-width:80px}.ref-add-btn{padding:4px 10px;background:var(--accent);color:#fff;border-radius:4px;font-size:12px;font-weight:600}
/* MEMBERS */
.member-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius);background:var(--bg-tertiary);margin-bottom:4px}.member-name{flex:1;font-weight:500;font-size:13px}.member-role{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;background:var(--bg-hover);color:var(--text-secondary)}.member-role.role-leader{background:var(--accent-bg);color:var(--accent)}.member-del{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:11px;color:var(--text-tertiary);cursor:pointer}.member-del:hover{background:var(--danger-light);color:var(--danger)}.member-add-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
/* HISTORY */
.history-item{padding:3px 0;font-size:12px;color:var(--text-secondary);border-bottom:1px solid var(--border-light)}.history-item:last-child{border:none}.history-date{font-family:var(--font-display);font-size:10px;color:var(--text-tertiary)}.history-user{font-weight:600;color:var(--text-primary)}
/* BUTTONS */
.btn-save{padding:8px 20px;background:var(--accent);color:#fff;border-radius:var(--radius);font-weight:600;font-size:13px}.btn-save:hover{background:var(--accent-hover)}.btn-delete{padding:8px 16px;color:var(--danger);border-radius:var(--radius);font-size:13px;margin-right:auto}.btn-delete:hover{background:var(--danger-light)}.btn-cancel{padding:8px 16px;border-radius:var(--radius);color:var(--text-secondary);font-size:13px}.btn-cancel:hover{background:var(--bg-hover)}
/* MODALS */
.modal-overlay{position:fixed;inset:0;background:var(--bg-overlay);display:none;align-items:center;justify-content:center;z-index:1001}.modal-overlay.visible{display:flex}.modal{background:var(--bg-modal);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;width:400px;box-shadow:var(--shadow-lg);animation:mIn .15s ease-out}.modal h3{font-family:var(--font-display);font-size:16px;margin-bottom:16px}.modal-field{margin-bottom:12px}.modal-field label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.modal-field input,.modal-field select{width:100%;padding:8px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}
/* CTX MENU */
.ctx-menu{position:fixed;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:500;min-width:180px;padding:4px;display:none}.ctx-menu.visible{display:block}.ctx-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:13px;border-radius:4px;color:var(--text-primary)}.ctx-menu button:hover{background:var(--bg-hover)}.ctx-menu button.danger{color:var(--danger)}.ctx-menu button.danger:hover{background:var(--danger-light)}
/* TOAST */
.toast-container{position:fixed;bottom:20px;right:20px;z-index:2000;display:flex;flex-direction:column;gap:8px}.toast{padding:12px 20px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);font-size:13px;animation:tIn .2s ease-out;max-width:320px}@keyframes tIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.toast.success{border-left:3px solid var(--success)}.toast.error{border-left:3px solid var(--danger)}
.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);gap:8px}.empty-state .e-icon{font-size:48px;opacity:.3}.empty-state p{font-size:13px}
.copied-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--accent);color:#fff;padding:8px 20px;border-radius:var(--radius);font-size:13px;font-weight:600;z-index:3000;animation:fadeInOut 1.2s ease}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}15%{opacity:1;transform:translate(-50%,-50%) scale(1)}85%{opacity:1}100%{opacity:0}}
/* PREVIEW PANEL (right) */
.panel-preview{width:420px;min-width:420px;background:var(--bg-secondary);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}
.preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);gap:8px}.preview-empty .e-icon{font-size:48px;opacity:.3}.preview-empty p{font-size:13px}
.preview-content{flex:1;overflow-y:auto;padding:20px}
.preview-header{margin-bottom:16px}
.preview-title{font-size:18px;font-weight:700;line-height:1.3;margin-bottom:10px;word-wrap:break-word}
.preview-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.preview-date{font-size:11px;font-family:var(--font-display);color:var(--text-tertiary)}
.preview-author{font-size:11px;color:var(--text-secondary)}
.preview-pin{font-size:12px}
.priority-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px;background:var(--bg-hover);color:var(--text-secondary);text-transform:uppercase}
.priority-badge.p-high{background:#FEE2E2;color:#DC2626}.priority-badge.p-medium{background:#FEF3C7;color:#D97706}.priority-badge.p-low{background:#E0F2FE;color:#0284C7}
.preview-actions-bar{display:flex;gap:8px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-light)}
.preview-edit-btn{padding:6px 14px;background:var(--accent);color:#fff;border-radius:var(--radius);font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px}.preview-edit-btn:hover{background:var(--accent-hover)}
.preview-pin-btn{padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.preview-pin-btn:hover{background:var(--bg-hover)}
.preview-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin:16px 0 8px;display:flex;align-items:center;gap:6px}
.preview-action-count,.preview-att-count{font-size:10px;background:var(--bg-hover);color:var(--text-tertiary);padding:1px 6px;border-radius:8px}
.preview-body{font-size:13px;line-height:1.6;color:var(--text-primary);margin-bottom:8px;word-wrap:break-word}.preview-body table{border-collapse:collapse;width:100%;margin:6px 0;font-size:12px}.preview-body table th,.preview-body table td{border:1px solid var(--border);padding:3px 6px}.preview-body table th{background:var(--bg-hover);font-weight:600}
/* Preview actions (read-only) */
.pv-action{padding:10px;margin-bottom:6px;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius)}
.pv-action.pv-done{opacity:.6}.pv-action-header{display:flex;align-items:center;gap:8px;font-size:11px;margin-bottom:4px}
.pv-action-checkbox{width:16px;height:16px;accent-color:var(--success);pointer-events:none}.pv-action-date{font-family:var(--font-display);font-weight:600;color:var(--accent)}.pv-action-author{color:var(--text-tertiary)}.pv-action-edited{font-style:italic;color:var(--text-tertiary);font-size:10px}
.pv-action-content{font-size:13px;line-height:1.5}.pv-action-content.pv-strikethrough{text-decoration:line-through;opacity:.6}
.pv-action-content table{border-collapse:collapse;width:100%;margin:6px 0;font-size:12px}.pv-action-content table th,.pv-action-content table td{border:1px solid var(--border);padding:3px 6px}
.pv-comments{margin-top:6px;padding-top:6px;border-top:1px solid var(--border-light)}.pv-comment{font-size:12px;color:var(--text-secondary);padding:2px 0}.pv-comment b{color:var(--text-primary)}
/* Preview attachment */
.pv-att{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:var(--radius);background:var(--bg-tertiary);margin-bottom:3px;font-size:12px;cursor:pointer}.pv-att:hover{background:var(--bg-hover)}.pv-att-icon{font-size:15px}.pv-att-name{flex:1;color:var(--accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv-att-info{font-size:10px;color:var(--text-tertiary)}

/* Modal view mode */
.modal-title-view{font-size:20px;font-weight:700;line-height:1.3;padding:0 0 8px;word-wrap:break-word;white-space:pre-wrap}
.modal-body-view{font-size:13px;line-height:1.6;color:var(--text-primary);word-wrap:break-word;min-height:40px}
.modal-body-view table{border-collapse:collapse;width:100%;margin:6px 0;font-size:12px}.modal-body-view table th,.modal-body-view table td{border:1px solid var(--border);padding:3px 6px}.modal-body-view table th{background:var(--bg-hover);font-weight:600}
.modal-body-view:empty::after{content:'—';color:var(--text-tertiary)}
.modal-edit-btn{padding:6px 14px;background:var(--accent);color:#fff;border-radius:var(--radius);font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px;white-space:nowrap}.modal-edit-btn:hover{background:var(--accent-hover)}
/* View-mode action (in modal) */
.vm-action{padding:10px;margin-bottom:6px;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius)}
.vm-action.vm-done{opacity:.6}.vm-action-header{display:flex;align-items:center;gap:8px;font-size:11px;margin-bottom:4px}
.vm-action-cb{width:16px;height:16px;accent-color:var(--success);pointer-events:none;flex-shrink:0}
.vm-action-date{font-family:var(--font-display);font-weight:600;color:var(--accent)}.vm-action-author{color:var(--text-tertiary)}.vm-action-edited{font-style:italic;color:var(--text-tertiary);font-size:10px}
.vm-action-body{font-size:13px;line-height:1.5}.vm-action-body.vm-strike{text-decoration:line-through;opacity:.6}
.vm-action-body table{border-collapse:collapse;width:100%;margin:6px 0;font-size:12px}.vm-action-body table th,.vm-action-body table td{border:1px solid var(--border);padding:3px 6px}
.vm-comments{margin-top:6px;padding-top:6px;border-top:1px solid var(--border-light)}.vm-comment{font-size:12px;color:var(--text-secondary);padding:2px 0}.vm-comment b{color:var(--text-primary)}

/* Fix indentation: reset p/div margins inside rich content areas */
.editor-div p,.editor-div div,
.action-content p,.action-content div,
.vm-action-body p,.vm-action-body div,
.preview-body p,.preview-body div,
.modal-body-view p,.modal-body-view div{margin:0;padding:0}
.editor-div br+br,.action-content br+br,.vm-action-body br+br,.preview-body br+br,.modal-body-view br+br{display:block;margin:4px 0}
/* Also fix blockquote and pre */
.editor-div blockquote,.action-content blockquote,.vm-action-body blockquote,.preview-body blockquote,.modal-body-view blockquote{margin:0;padding:0 0 0 12px;border-left:3px solid var(--border)}

/* Compact view actions */
.vm-action{padding:8px 10px;margin-bottom:4px}.vm-action-header{margin-bottom:3px}
.vm-add-comment-btn{margin-left:auto;font-size:12px;color:var(--text-tertiary);opacity:0;transition:opacity .15s;padding:0 4px;border-radius:4px}.vm-action:hover .vm-add-comment-btn{opacity:1}.vm-add-comment-btn:hover{color:var(--accent);background:var(--accent-light)}
.vm-comment-toggle .comment-input-row{margin-top:6px}
/* Compact edit actions */
.action-item{padding:8px 10px;margin-bottom:4px}
/* Full-value attachment display */
.att-info-col{flex:1;min-width:0}.att-full-value{font-size:11px;color:var(--text-secondary);font-family:var(--font-display);word-break:break-all;line-height:1.4;margin-top:2px}
.att-item{align-items:flex-start;flex-direction:row;gap:8px}
.pv-att{flex-direction:column;align-items:flex-start;gap:4px}.pv-att-value{font-size:11px;color:var(--text-secondary);font-family:var(--font-display);word-break:break-all;line-height:1.4}
.pv-att-name{white-space:normal;word-break:break-word}

/* Task & Action ID badges */
.task-id-badge,.action-id{font-size:10px;font-family:var(--font-display);font-weight:600;color:var(--text-tertiary);background:var(--bg-hover);padding:1px 5px;border-radius:4px;margin-right:4px;white-space:nowrap}

/* Compact attachment in modal right panel */
.att-item-compact{display:flex;align-items:flex-start;gap:6px;padding:5px 8px;border-radius:var(--radius);background:var(--bg-tertiary);margin-bottom:3px;font-size:12px;cursor:pointer;line-height:1.4;word-break:break-all}.att-item-compact:hover{background:var(--bg-hover)}
.att-name-compact{font-weight:600;color:var(--text-primary);flex-shrink:0}
.att-val-compact{color:var(--text-secondary);font-family:var(--font-display);font-size:11px;word-break:break-all}

/* Log toggle button */
.log-toggle-btn{display:flex;align-items:center;gap:6px;width:100%;padding:8px 12px;margin-top:12px;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius);font-size:12px;font-weight:600;color:var(--text-secondary);cursor:pointer;text-align:left}.log-toggle-btn:hover{background:var(--bg-hover);color:var(--text-primary)}
.history-wrap{margin-top:8px;max-height:300px;overflow-y:auto;border:1px solid var(--border-light);border-radius:var(--radius);padding:8px}
.history-old{color:#DC2626;text-decoration:line-through;font-size:11px}
.history-new{color:#16A34A;font-size:11px}

/* Comment button always visible but subtle */
.vm-add-comment-btn{margin-left:auto;font-size:11px;color:var(--text-tertiary);padding:1px 6px;border-radius:4px;opacity:.5;transition:opacity .15s}.vm-add-comment-btn:hover{opacity:1;color:var(--accent);background:var(--accent-light)}

/* Action ID label */
.action-id{font-family:var(--font-display);font-size:10px;font-weight:600;color:var(--text-tertiary);background:var(--bg-hover);padding:1px 5px;border-radius:4px;flex-shrink:0}

/* Task ID badge in list and modal */
.task-id-badge{font-family:var(--font-display);font-size:11px;font-weight:600;color:var(--text-tertiary);background:var(--bg-hover);padding:1px 5px;border-radius:4px}

/* Date input - bigger click target */
input[type="date"].detail-select{min-height:40px;font-size:14px;padding:8px 12px;cursor:pointer}
input[type="date"].action-date-input{min-height:32px;font-size:13px;padding:4px 8px;cursor:pointer}

/* Log button in modal header */
.modal-log-btn{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;color:var(--text-secondary);display:flex;align-items:center;white-space:nowrap}.modal-log-btn:hover{background:var(--bg-hover);color:var(--text-primary)}

/* Attachment chips in left panel */
.att-chip{display:flex;align-items:flex-start;gap:6px;padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius);margin-bottom:4px;cursor:pointer;font-size:12px;line-height:1.4;transition:background .1s}.att-chip:hover{background:var(--bg-hover)}
.att-chip-icon{font-size:14px;flex-shrink:0;margin-top:1px}
.att-chip-name{font-weight:600;color:var(--text-primary);flex-shrink:0}
.att-chip-val{color:var(--text-secondary);font-family:var(--font-display);font-size:11px;word-break:break-all;line-height:1.4}
.att-del-btn{flex-shrink:0;background:none;border:none;color:var(--text-tertiary);font-size:12px;cursor:pointer;padding:0 2px;margin-left:auto;opacity:.5}.att-del-btn:hover{opacity:1;color:var(--error)}

/* Section count badge */
.section-count{font-size:10px;font-weight:500;background:var(--bg-hover);color:var(--text-tertiary);padding:1px 6px;border-radius:8px}

/* Log modal history items */
#logModal .history-item{padding:8px 12px;border-bottom:1px solid var(--border-light);font-size:13px;line-height:1.5}
#logModal .history-item:last-child{border-bottom:none}
#logModal .history-date{font-family:var(--font-display);font-weight:500;color:var(--accent);font-size:12px}
#logModal .history-user{font-weight:600;color:var(--text-primary)}

/* ID links */
.task-id-link,.action-id-link{font-family:var(--font-display);font-size:11px;font-weight:600;color:var(--accent);background:var(--accent-light,rgba(37,99,235,.08));padding:1px 6px;border-radius:4px;text-decoration:none;cursor:pointer;white-space:nowrap}.task-id-link:hover,.action-id-link:hover{background:var(--accent);color:#fff}
.history-action-link{font-size:11px;margin-left:2px}

/* Flash highlight for deep links */
@keyframes highlight-flash{0%{background:rgba(37,99,235,.25)}100%{background:transparent}}
.highlight-flash{animation:highlight-flash 2s ease-out}

/* Attachment spoiler */
.att-spoiler{margin-bottom:8px}.att-spoiler-label{font-size:12px;font-weight:600;color:var(--text-secondary);cursor:pointer;padding:6px 0;user-select:none;list-style:none;display:flex;align-items:center;gap:4px}.att-spoiler-label::-webkit-details-marker{display:none}.att-spoiler-label::before{content:'▸';font-size:10px;transition:transform .15s;display:inline-block}.att-spoiler[open] .att-spoiler-label::before{transform:rotate(90deg)}
.att-spoiler-body{padding-top:4px}

/* Compact attachment chips - two lines */
.att-chip{display:flex;flex-direction:column;gap:2px;padding:5px 8px;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius);margin-bottom:3px;cursor:pointer;font-size:12px;transition:background .1s;position:relative}.att-chip:hover{background:var(--bg-hover)}
.att-chip-row1{display:flex;align-items:center;gap:6px}
.att-chip-icon{font-size:13px;flex-shrink:0}
.att-chip-name{font-weight:600;color:var(--text-primary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.att-chip-val{color:var(--text-secondary);font-family:var(--font-display);font-size:10px;word-break:break-all;line-height:1.3;padding-left:19px}
.att-del-btn{flex-shrink:0;background:none;border:none;color:var(--text-tertiary);font-size:11px;cursor:pointer;padding:0 2px;opacity:.4}.att-del-btn:hover{opacity:1;color:var(--error)}
/* Make checkboxes clickable everywhere */
.vm-action-cb{pointer-events:auto!important;cursor:pointer}

/* Fix bullet lists inside editors and content areas */
.editor-div ul,.editor-div ol,
.action-content ul,.action-content ol,
.vm-action-body ul,.vm-action-body ol,
.preview-body ul,.preview-body ol,
.modal-body-view ul,.modal-body-view ol{
  list-style-position:inside;padding-left:8px;margin:4px 0}
.editor-div li,.action-content li,.vm-action-body li,.preview-body li,.modal-body-view li{
  margin:2px 0;padding-left:0}

/* Users management */
.user-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--border-light)}.user-row:last-child{border-bottom:none}
.user-row-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.user-row-name{font-weight:600;font-size:13px}.user-row-login{font-family:var(--font-display);font-size:12px;color:var(--text-secondary);background:var(--bg-hover);padding:1px 6px;border-radius:4px}
.user-row-role{font-size:11px;color:var(--text-tertiary)}.user-row-admin{font-size:10px;font-weight:600;color:#16A34A;background:#DCFCE7;padding:1px 6px;border-radius:4px}
.user-row-inactive{font-size:10px;font-weight:600;color:#DC2626;background:#FEE2E2;padding:1px 6px;border-radius:4px}
.user-row-actions{display:flex;gap:4px;flex-shrink:0}
.user-btn{padding:4px 6px;border-radius:4px;font-size:12px;background:var(--bg-hover);border:1px solid var(--border-light);cursor:pointer}.user-btn:hover{background:var(--bg-tertiary)}.user-btn.danger:hover{background:#FEE2E2;color:#DC2626}
.field-lbl{display:block;font-size:10px;font-weight:600;color:var(--text-secondary);margin-bottom:2px;text-transform:uppercase;letter-spacing:.3px}

/* Settings Modal - fullscreen panel */
.fullscreen-overlay#settingsModal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:1100;display:none;justify-content:center;align-items:center}
.fullscreen-overlay#settingsModal.visible{display:flex}
.settings-panel{background:var(--bg-primary);border-radius:12px;width:820px;max-width:95vw;height:80vh;max-height:600px;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.2);overflow:hidden}
.settings-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border)}
.settings-header h2{margin:0;font-size:18px}
.settings-body{display:flex;flex:1;overflow:hidden}
.settings-nav{width:180px;border-right:1px solid var(--border);padding:12px 0;display:flex;flex-direction:column;gap:2px;flex-shrink:0}
.settings-tab{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;background:none;font-size:13px;color:var(--text-secondary);cursor:pointer;text-align:left;border-left:3px solid transparent;transition:all .15s}
.settings-tab:hover{background:var(--bg-hover);color:var(--text-primary)}
.settings-tab.active{color:var(--accent);border-left-color:var(--accent);background:var(--accent-light,rgba(37,99,235,.06));font-weight:600}
.settings-content{flex:1;overflow-y:auto;padding:24px}
.settings-pane{display:none}.settings-pane.active{display:block}
.settings-pane h3{margin:0 0 16px;font-size:16px;font-weight:600}
.settings-pane h4{margin:16px 0 8px;font-size:13px;font-weight:600;color:var(--text-secondary)}
.s-field{margin-bottom:12px}.s-field .field-lbl{margin-bottom:4px}
.s-value{font-size:14px;color:var(--text-primary);padding:8px 0;font-family:var(--font-display);font-weight:500}

/* Theme cards */
.theme-switcher{display:flex;gap:12px}
.theme-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border:2px solid var(--border);border-radius:10px;cursor:pointer;background:none;transition:all .15s;width:120px}
.theme-card.active{border-color:var(--accent);box-shadow:0 0 0 2px rgba(37,99,235,.2)}
.theme-card span{font-size:12px;font-weight:600}
.theme-preview{width:80px;height:50px;border-radius:6px;border:1px solid var(--border)}
.light-preview{background:linear-gradient(135deg,#fff 50%,#f1f5f9 50%)}
.dark-preview{background:linear-gradient(135deg,#1e293b 50%,#0f172a 50%)}

/* Status editor rows */
.status-edit-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border-light)}
.status-edit-row:last-child{border-bottom:none}
.status-color-input{width:36px;height:30px;border:none;border-radius:6px;cursor:pointer;padding:0;background:none}
.status-key{font-family:var(--font-display);font-size:11px;color:var(--text-tertiary);width:90px;flex-shrink:0}
.status-label-input{flex:1;font-size:13px}

/* Handover button */
.handover-btn{padding:6px 14px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .15s}.handover-btn:hover{opacity:.85}

/* Handover Modal */
.fullscreen-overlay#handoverModal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:1100;display:none;justify-content:center;align-items:center}
.fullscreen-overlay#handoverModal.visible{display:flex}
.handover-panel{background:var(--bg-primary);border-radius:12px;width:1100px;max-width:96vw;height:88vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.25);overflow:hidden}
.handover-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border)}
.handover-header h2{margin:0;font-size:18px}
.handover-time{font-size:12px;color:var(--text-tertiary);font-family:var(--font-display)}
.handover-body{display:flex;flex:1;overflow:hidden}
.handover-main{flex:1;overflow-y:auto;padding:20px 24px}

/* Handover footer bar */
.ho-footer{border-top:1px solid var(--border);background:var(--bg-secondary);padding:12px 20px;flex-shrink:0}
.ho-footer-fields{display:flex;align-items:center;gap:12px}
.ho-footer-field{display:flex;flex-direction:column;gap:3px}
.ho-footer-notes{flex:1;min-width:0}
.ho-footer-label{font-size:9px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.4px}
.ho-footer-user{font-size:13px;font-weight:600;color:var(--text-primary);padding:6px 12px;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius);white-space:nowrap}
.ho-footer-select{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;min-width:150px}
.ho-footer-input{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px;background:var(--bg-primary);color:var(--text-primary);font-family:inherit;box-sizing:border-box}
.ho-footer-select:focus,.ho-footer-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(37,99,235,.1)}
.ho-footer-sign{display:flex;align-items:center;gap:5px;padding:8px 20px;border:none;border-radius:var(--radius);background:var(--success,#16A34A);color:#fff;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:opacity .15s}
.ho-footer-sign:hover{opacity:.85}
.ho-footer-history-toggle{position:relative}
.ho-footer-history-btn{list-style:none;cursor:pointer;padding:8px;border-radius:var(--radius);color:var(--text-tertiary);transition:background .15s}
.ho-footer-history-btn:hover{background:var(--bg-hover);color:var(--text-primary)}
.ho-footer-history-btn::-webkit-details-marker{display:none}
.ho-footer-history-dropdown{position:absolute;bottom:100%;right:0;width:320px;max-height:300px;overflow-y:auto;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-lg);padding:12px;margin-bottom:8px;z-index:10}

/* Sections */
.ho-section{margin-bottom:20px}
.ho-section-title{font-size:13px;font-weight:700;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.3px}

/* Stats */
.ho-stats{display:flex;gap:10px;flex-wrap:wrap}
.ho-stat{padding:12px 16px;border-radius:10px;background:var(--bg-tertiary);border:1px solid var(--border-light);flex:1;min-width:100px;text-align:center}
.ho-stat-num{font-size:28px;font-weight:700;font-family:var(--font-display);line-height:1}
.ho-stat-lbl{font-size:11px;color:var(--text-tertiary);margin-top:4px}

/* Task list in report */
.ho-task-list{display:flex;flex-direction:column;gap:4px}
.ho-task-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius);background:var(--bg-secondary);border:1px solid var(--border-light);font-size:13px;cursor:pointer;transition:background .1s}
.ho-task-row:hover{background:var(--bg-hover)}
.ho-task-id{font-family:var(--font-display);font-size:11px;font-weight:600;color:var(--accent);flex-shrink:0}
.ho-task-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ho-task-status{font-size:10px;padding:2px 8px;border-radius:4px;color:#fff;font-weight:600;flex-shrink:0}
.ho-task-action{font-size:11px;color:var(--text-tertiary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ho-task-changed{border-left:3px solid var(--accent)}
.ho-empty{font-size:12px;color:var(--text-tertiary);padding:8px 0}

/* Changes list */
.ho-changes-list{display:flex;flex-direction:column;gap:2px}
.ho-change-row{font-size:12px;padding:6px 8px;border-radius:4px;background:var(--bg-secondary);border:1px solid var(--border-light);line-height:1.4}
.ho-change-time{font-family:var(--font-display);color:var(--accent);font-weight:500;font-size:11px}
.ho-change-user{font-weight:600}

/* Sidebar */
.ho-user-card{padding:10px;background:var(--bg-tertiary);border-radius:var(--radius);font-weight:600;font-size:14px}
.ho-notes{width:100%;border:1px solid var(--border);border-radius:var(--radius);padding:8px;font-size:13px;resize:vertical;background:var(--bg-secondary);color:var(--text-primary);font-family:inherit}
.handover-sign-btn{width:100%;padding:12px;background:#16A34A;color:#fff;border:none;border-radius:var(--radius);font-size:14px;font-weight:700;cursor:pointer;transition:opacity .15s;margin-top:12px}.handover-sign-btn:hover{opacity:.85}

/* History list */
.ho-history-list{display:flex;flex-direction:column;gap:4px}
.ho-hist-item{font-size:11px;padding:6px 8px;background:var(--bg-tertiary);border-radius:4px;line-height:1.4}
.ho-hist-date{font-family:var(--font-display);color:var(--text-tertiary)}
.ho-hist-signed{color:#16A34A;font-weight:600}

/* Lucide icon sizing */
.icon{width:18px;height:18px;stroke-width:2;vertical-align:middle}
.icon-sm{width:14px;height:14px;stroke-width:2;vertical-align:middle;display:inline-block;position:relative;top:-1px}
.icon-xs{width:12px;height:12px;stroke-width:2;vertical-align:middle}
.topbar-btn .icon{width:18px;height:18px}
.ctx-menu button .icon-sm{margin-right:2px}
.settings-tab .icon-sm{margin-right:2px;opacity:.7}
.settings-tab.active .icon-sm{opacity:1}
.handover-btn .icon-sm{margin-right:2px}
.settings-header .icon,.handover-header .icon{margin-right:4px;vertical-align:-3px}

/* Improved handover stats tiles */
.ho-stat{padding:14px 16px;border-radius:10px;background:var(--bg-secondary);border:1px solid var(--border-light);flex:1;min-width:90px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
.ho-stat-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--bg-hover)}
.ho-stat-icon i,.ho-stat-icon svg{width:18px;height:18px}
.ho-stat-dot{width:10px;height:10px;border-radius:50%;margin-bottom:2px}
.ho-stat-num{font-size:26px;font-weight:700;font-family:var(--font-display);line-height:1}
.ho-stat-lbl{font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px}

/* Section titles refined */
.ho-section-title{font-size:11px;font-weight:700;color:var(--text-tertiary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:6px}
.ho-section-title i,.ho-section-title svg{opacity:.6}

/* Refined handover sidebar */
/* (sidebar removed — using footer bar) */

/* Task/action hover & active states */
.task-item{transition:background .1s,border-color .1s}.task-item:hover{background:var(--bg-hover)!important}
.task-item.active{background:var(--accent-light,rgba(37,99,235,.06))!important;border:1px solid var(--danger);box-shadow:0 0 0 1px rgba(220,38,38,.12)}
.vm-action{transition:background .1s;border-radius:var(--radius)}.vm-action:hover{background:var(--bg-hover)}
.action-item{transition:background .1s}.action-item:hover{background:var(--bg-hover)}

/* Preview panel layout - sticky top + scrollable actions */
.preview-content{display:flex;flex-direction:column;height:100%;overflow:hidden}
.preview-sticky{flex-shrink:0;padding:16px;border-bottom:1px solid var(--border-light);overflow-y:auto;max-height:55%}
.preview-scroll{flex:1;overflow-y:auto;padding:16px}

/* Clamped description (6 lines) */
.pv-body-clamped{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;max-height:calc(1.5em * 6)}
.pv-body-expanded{display:block;-webkit-line-clamp:unset;max-height:none;overflow:visible}
.pv-expand-btn{background:none;border:none;color:var(--accent);font-size:12px;font-weight:600;cursor:pointer;padding:4px 0;margin-top:2px}.pv-expand-btn:hover{text-decoration:underline}

/* Preview action creator */
.pv-action-creator{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-light)}
.pv-action-row{display:flex;gap:6px;align-items:center}
.pv-action-input{flex:1;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px;background:var(--bg-secondary);color:var(--text-primary)}
.pv-action-date{width:110px;padding:6px;border:1px solid var(--border);border-radius:var(--radius);font-size:11px;background:var(--bg-secondary);color:var(--text-primary)}
.pv-action-send{padding:6px 12px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-size:14px;font-weight:700;cursor:pointer}.pv-action-send:hover{opacity:.85}

/* Handover period picker */
.ho-period-picker{display:flex;gap:2px;background:var(--bg-secondary);border-radius:var(--radius);padding:2px;border:1px solid var(--border-light)}
.ho-period-btn{padding:4px 10px;border:none;background:none;border-radius:calc(var(--radius) - 2px);font-size:11px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s}
.ho-period-btn.active{background:var(--accent);color:#fff}
.ho-period-btn:hover:not(.active){background:var(--bg-hover)}
.ho-date-input{padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius);font-size:11px;background:var(--bg-secondary);color:var(--text-primary)}
.ho-date-sep{font-size:11px;color:var(--text-tertiary)}
.handover-time{font-size:11px;color:var(--text-tertiary);font-family:var(--font-display)}

/* Handover tabs */
.ho-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);padding:0 24px}
.ho-tab{padding:8px 16px;border:none;background:none;font-size:12px;font-weight:600;color:var(--text-tertiary);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}
.ho-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.ho-tab:hover:not(.active){color:var(--text-primary)}

/* AI Report button */
.ho-ai-btn{display:flex;align-items:center;gap:4px;padding:6px 14px;border:none;border-radius:var(--radius);background:linear-gradient(135deg,#8B5CF6,#6366F1);color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:opacity .15s}
.ho-ai-btn:hover{opacity:.85}
.ho-ai-btn .icon-sm{width:14px;height:14px}

/* AI Report container */
.ai-report-container{padding:4px 0}
.ai-report-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;text-align:center;color:var(--text-tertiary);font-size:13px}
.ai-report-loading{display:flex;align-items:center;gap:10px;padding:30px 20px;font-size:13px;color:var(--text-secondary)}
.ai-spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* AI Report rendered content */
.ai-report-content{font-size:13.5px;line-height:1.75;color:var(--text-primary);padding-bottom:40px}
.ai-report-content h2.ai-h2{font-size:16px;font-weight:700;margin:28px 0 12px;padding:10px 14px;border-radius:8px;background:var(--bg-secondary);border-left:3px solid var(--accent);color:var(--text-primary)}
.ai-report-content h2.ai-h2:first-child{margin-top:0}
.ai-report-content h3.ai-h3{font-size:14px;font-weight:600;margin:18px 0 8px;color:var(--text-primary)}
.ai-report-content p{margin:0 0 10px}
.ai-report-content strong{color:var(--text-primary);font-weight:600}
.ai-report-content ul{margin:6px 0 14px;padding-left:22px}
.ai-report-content li{margin-bottom:5px;line-height:1.6}
.ai-report-content hr{border:none;border-top:1px solid var(--border-light);margin:20px 0}
.ai-report-content .md-task-ref{color:var(--accent);font-weight:700;cursor:pointer;border-bottom:1px dashed var(--accent);padding-bottom:1px}
.ai-report-content .md-task-ref:hover{background:rgba(37,99,235,.08);border-bottom-style:solid}
.ai-error{padding:16px;border-radius:var(--radius);background:rgba(220,38,38,.08);color:var(--danger);font-size:13px}

/* Collapsible section */
.ho-section-details{margin-bottom:20px}
.ho-section-details>summary{cursor:pointer;list-style:none;user-select:none}
.ho-section-details>summary::-webkit-details-marker{display:none}
.ho-section-details>summary::before{content:'▸';margin-right:6px;transition:transform .15s;display:inline-block;font-size:10px}
.ho-section-details[open]>summary::before{transform:rotate(90deg)}

/* Task card - ID top-right, title first */
.task-item-header{display:flex;align-items:flex-start;gap:8px}
.task-item-title{flex:1;min-width:0;font-size:13px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.task-item-meta{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;gap:1px}
.task-item-meta .task-id-link{font-size:11px;font-weight:700;color:var(--text-tertiary)}
.task-item-meta .task-item-date{font-size:10px;color:var(--text-tertiary);white-space:nowrap}

/* Action ID top-right */
.vm-action-id-right,.action-id-right{margin-left:auto;font-size:10px;opacity:.5;flex-shrink:0}

/* Action footer with comment btn */
.vm-action-footer{display:flex;align-items:center;padding-top:4px}

/* ============================================
   MOBILE RESPONSIVE - < 768px
   ============================================ */
@media (max-width: 768px) {
  /* --- Global --- */
  body{font-size:13px}

  /* --- Login --- */
  .login-card{width:100%;max-width:360px;padding:32px 24px;margin:16px;border-radius:16px}

  /* --- Topbar --- */
  .topbar{height:52px;padding:0 12px}
  .topbar-user span{display:none}
  .topbar-left{gap:8px}
  .topbar-logo span{font-size:13px}

  /* --- Mobile navigation: hamburger for folders --- */
  .mob-menu-btn{display:flex !important}
  .panel-folders{position:fixed;left:0;top:0;bottom:0;width:280px;z-index:900;transform:translateX(-100%);transition:transform .25s ease;box-shadow:none}
  .panel-folders.mob-open{transform:translateX(0);box-shadow:0 0 40px rgba(0,0,0,.3)}
  .mob-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:899}
  .mob-overlay.visible{display:block}

  /* --- Main content: single column --- */
  .main-content{flex-direction:column;position:relative}

  /* --- Tasks panel: full width --- */
  .panel-tasks{width:100%;min-width:0}

  /* --- Toolbar: wrap and compact --- */
  .tasks-toolbar{padding:8px 10px;gap:4px;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
  .search-box{min-width:100%;order:-1}
  .filter-btn{padding:5px 10px;font-size:11px;flex-shrink:0}
  .handover-btn{font-size:11px;padding:6px 10px}
  .new-task-btn{font-size:11px;padding:6px 10px}
  .export-btn{display:none}
  .group-toggle{display:none}

  /* --- Task list: full width --- */
  .task-list{padding:6px}
  .task-item-main{padding:10px 12px}

  /* --- Preview panel: bottom sheet --- */
  .panel-preview{position:fixed;left:0;right:0;bottom:0;top:auto;width:100% !important;min-width:0 !important;height:75vh;z-index:800;border-left:none;border-top:1px solid var(--border);border-radius:16px 16px 0 0;transform:translateY(100%);transition:transform .3s ease;box-shadow:0 -10px 40px rgba(0,0,0,.15)}
  .panel-preview.mob-open{transform:translateY(0)}
  .panel-preview .preview-header{padding-top:6px}
  .preview-drag-handle{display:block !important;width:36px;height:4px;background:var(--border);border-radius:2px;margin:8px auto 4px}

  /* --- Task modal: fullscreen --- */
  .fullscreen-content{max-width:100%;width:100%;height:100%;max-height:100%;border-radius:0}
  .fullscreen-body{flex-direction:column}
  .fullscreen-right{width:100%;min-width:0;border-left:none;border-top:1px solid var(--border-light)}
  .fullscreen-header{padding:12px 16px}
  .fullscreen-left{padding:16px}
  .fullscreen-right{padding:16px}

  /* --- Handover modal: fullscreen --- */
  .handover-panel{width:100% !important;max-width:100% !important;height:100% !important;border-radius:0}
  .handover-header .handover-time{display:none}
  .ho-footer-fields{flex-wrap:wrap;gap:8px}
  .ho-footer-field{min-width:calc(50% - 8px)}
  .ho-footer-notes{min-width:100%}
  .ho-footer-sign{width:100%}

  /* --- Modal dialogs: wider on mobile --- */
  .modal{width:calc(100% - 32px);max-width:400px}

  /* --- Settings modal: fullscreen --- */
  .settings-modal .modal{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0}

  /* --- Toasts: full width --- */
  .toast-container{left:12px;right:12px;bottom:12px}
  .toast{max-width:100%}
}

/* ============================================
   SMALL MOBILE - < 480px
   ============================================ */
@media (max-width: 480px) {
  .topbar-logo span{display:none}
  .topbar{height:48px}
  .login-card{padding:24px 20px}

  /* Filter buttons: horizontal scroll */
  .tasks-toolbar{padding:6px 8px}
  .filter-btn{font-size:10px;padding:4px 8px}
  .new-task-btn{font-size:10px;padding:5px 8px}
  .handover-btn span{display:none}

  /* Task cards tighter */
  .task-item-main{padding:8px 10px}
  .task-item-title{font-size:12px}
  .task-item-footer{font-size:10px}
  .task-item-desc{font-size:11px;-webkit-line-clamp:1}

  /* Handover footer: stack */
  .ho-footer{padding:10px 12px}
  .ho-footer-field{min-width:100%}

  /* Preview: taller */
  .panel-preview{height:85vh}
}

/* Hide mobile-only elements on desktop */
@media (min-width: 769px) {
  .mob-menu-btn{display:none !important}
  .mob-overlay{display:none !important}
  .preview-drag-handle{display:none !important}
  .mob-back-btn{display:none !important}
}

/* Mobile buttons */
.mob-menu-btn{width:36px;height:36px;display:none;align-items:center;justify-content:center;border-radius:var(--radius);color:var(--text-secondary);flex-shrink:0}
.mob-menu-btn:hover{background:var(--bg-hover)}
.mob-back-btn{width:32px;height:32px;display:none;align-items:center;justify-content:center;border-radius:var(--radius);color:var(--text-secondary);flex-shrink:0}
.mob-back-btn:hover{background:var(--bg-hover)}
@media (max-width: 768px) {
  .mob-back-btn{display:flex !important}
}

/* Watermark */
.panel-watermark{padding:14px 16px;border-top:1px solid var(--border-light);text-align:center;flex-shrink:0;opacity:.45;transition:opacity .2s}
.panel-watermark:hover{opacity:.7}
.wm-line{font-size:9px;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-tertiary);margin-bottom:2px}
.wm-name{font-size:11px;font-weight:700;font-family:var(--font-display);color:var(--text-secondary)}
.wm-sub{font-size:9px;color:var(--text-tertiary);letter-spacing:.3px}

/* Mobile watermark - in topbar area */
@media (max-width: 768px) {
  .mob-watermark{display:block !important;padding:10px;text-align:center;border-top:1px solid var(--border-light);opacity:.4;font-size:9px;color:var(--text-tertiary)}
  .mob-watermark span{font-weight:700;font-family:var(--font-display);color:var(--text-secondary)}
}
@media (min-width: 769px) {
  .mob-watermark{display:none !important}
}

/* ===== REPLY THREADS ===== */
.comment-reply-btn{background:none;border:none;cursor:pointer;font-size:12px;color:var(--text-tertiary);padding:0 4px;opacity:.5;transition:opacity .2s}
.comment-reply-btn:hover{opacity:1;color:var(--accent)}
.comment-reply-ref{font-size:10px;color:var(--text-tertiary);margin-bottom:1px;opacity:.6}
.mention-tag{color:var(--accent);font-weight:600;background:rgba(37,99,235,.08);padding:1px 4px;border-radius:3px;font-size:inherit}
.vm-comment{padding:4px 0;transition:margin .2s}
.comment-item{transition:margin .2s}

.vm-action-btns{margin-left:auto;display:flex;gap:4px;opacity:0;transition:opacity .2s}
.vm-action:hover .vm-action-btns{opacity:1}
.vm-edit-btn,.vm-del-btn{background:none;border:none;cursor:pointer;padding:2px 4px;border-radius:4px;color:var(--text-tertiary);transition:all .15s}
.vm-edit-btn:hover{color:var(--accent);background:rgba(37,99,235,.08)}
.vm-del-btn:hover{color:var(--danger);background:rgba(239,68,68,.08)}
.vm-action-footer{display:flex;align-items:center;padding-top:4px}
.comment-del-btn{background:none;border:none;cursor:pointer;font-size:11px;color:var(--text-tertiary);padding:0 3px;opacity:0;transition:opacity .2s}
.vm-comment:hover .comment-del-btn{opacity:.6}
.comment-del-btn:hover{opacity:1;color:var(--danger)}

.vm-action-id-left{font-size:10px;opacity:.4;font-weight:600;margin-right:auto}
.vm-action-right{display:flex;align-items:center;gap:6px;margin-left:auto}
.vm-del-btn{margin-left:auto;background:none;border:none;cursor:pointer;padding:2px 4px;color:var(--text-tertiary);opacity:.4;transition:all .15s}
.vm-action:hover .vm-del-btn{opacity:.7}
.vm-edit-btn{background:none;border:none;cursor:pointer;padding:2px 4px;color:var(--text-tertiary);opacity:.4;transition:all .15s}
.vm-action:hover .vm-edit-btn{opacity:.7}
