:root{--bg-color: #0f172a;--surface-color: #1e293b;--surface-hover: #334155;--primary-color: #6366f1;--primary-hover: #4f46e5;--text-primary: #f8fafc;--text-secondary: #94a3b8;--border-color: #334155;--accent-work: #3b82f6;--accent-private: #10b981;--accent-other: #f59e0b;--glass-bg: rgba(30, 41, 59, .7);--glass-border: rgba(255, 255, 255, .1);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--radius-md: 12px;--radius-lg: 16px;--font-family: "Outfit", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-primary);height:100vh;overflow:hidden}html{height:100%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--surface-color)}::-webkit-scrollbar-thumb{background:var(--surface-hover);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.app-container{display:flex;flex-direction:column;height:100%}.app-bar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--glass-border);z-index:10}.logo-section{display:flex;align-items:center;gap:12px;background:none;border:none;cursor:pointer;padding:0;font:inherit;color:inherit;text-decoration:none;transition:opacity .2s}.logo-section:hover{opacity:.8}.logo-icon{color:var(--primary-color);font-size:28px}.app-title{font-size:20px;font-weight:600;letter-spacing:-.5px}.divider{color:var(--text-secondary);font-weight:300}.page-subtitle{font-size:16px;font-weight:400;color:var(--text-secondary)}.app-actions{display:flex;align-items:center;gap:16px}.user-profile{display:flex;align-items:center;gap:12px;padding:4px 8px 4px 12px;background:var(--surface-color);border-radius:24px;border:1px solid var(--glass-border);cursor:pointer;transition:all .2s}.user-profile:hover{background:var(--surface-hover)}.user-name{font-size:14px;font-weight:500}.avatar{width:32px;height:32px;background:var(--primary-color);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.main-content{display:flex;flex-direction:column;overflow:hidden;padding:12px;gap:12px;max-height:calc(100vh - 112px)}.tasks-sidebar{height:120px;background:var(--surface-color);border-radius:var(--radius-lg);border:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0}.sidebar-header{padding:8px 16px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;gap:12px;height:48px}.sidebar-header h3{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-right:auto;white-space:nowrap}.sidebar-actions{display:flex;gap:8px;flex-shrink:0}.sidebar-controls{display:flex;gap:4px}.tasks-list-container{flex:1;overflow:hidden;position:relative;display:flex;align-items:center;padding:0 4px}.tasks-list{flex:1;height:100%;padding:12px 4px;display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none}.tasks-list::-webkit-scrollbar{display:none}.scroll-btn{height:48px;width:32px;background:var(--surface-hover);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:2;border-radius:var(--radius-md);margin:0 8px;flex-shrink:0}.scroll-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.task-card{background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:12px;cursor:grab;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;gap:6px;position:relative}.task-card.unassigned{min-width:300px;width:300px;height:48px;padding:0 12px;justify-content:center}.task-row{display:flex;align-items:center;gap:8px;width:100%}.task-card.unassigned .task-title{flex:1;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.task-card.unassigned .task-meta{margin-left:auto;flex-shrink:0}.task-actions-overlay{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:var(--bg-color);display:flex;gap:4px;opacity:0;transition:opacity .2s;padding-left:8px}.task-card.unassigned:hover .task-actions-overlay{opacity:1}.task-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.task-header{display:flex;justify-content:space-between;align-items:flex-start}.task-category{font-size:10px;text-transform:uppercase;font-weight:700;padding:4px 8px;border-radius:4px}.task-category.work{background:#3b82f633;color:var(--accent-work)}.task-category.private{background:#10b98133;color:var(--accent-private)}.task-category.other{background:#f59e0b33;color:var(--accent-other)}.task-header-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.task-title{font-size:14px;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-desc{font-size:12px;color:var(--text-secondary);display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:auto}.task-footer{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;height:28px}.task-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s}.task-card:hover .task-actions{opacity:1}.action-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:2px;border-radius:4px}.action-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.action-btn span{font-size:16px}.task-meta{font-size:12px;color:var(--text-secondary);display:flex;align-items:center;gap:4px}.task-meta span{font-size:14px}.kanban-area{flex:1;background:var(--surface-color);border-radius:var(--radius-lg);border:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden;min-height:0}.kanban-header{padding:8px 16px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.kanban-nav{display:flex;align-items:center;gap:12px}.week-label{font-size:14px;font-weight:600;color:var(--text-primary);min-width:200px;text-align:center}.task-count{font-size:12px;font-weight:500;padding:4px 8px;border-radius:12px;background:var(--bg-color);border:1px solid var(--border-color)}.task-count.past{color:var(--accent-work)}.task-count.future{color:var(--accent-private)}.view-btn{background:transparent;border:none;color:var(--text-secondary);padding:6px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.view-btn.active{background:var(--surface-hover);color:var(--text-primary);box-shadow:var(--shadow-sm)}.primary-btn{background:var(--primary-color);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-weight:500;display:flex;align-items:center;gap:8px;cursor:pointer;transition:background .2s}.primary-btn:hover{background:var(--primary-hover)}.kanban-board{flex:1;display:grid;grid-template-columns:repeat(7,1fr);min-width:1400px;overflow:hidden;min-height:0}.kanban-column{border-right:1px solid var(--border-color);display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.kanban-column:last-child{border-right:none}.column-header{padding:8px;text-align:center;border-bottom:1px solid var(--border-color);background:var(--surface-color)}.day-label{font-size:13px;font-weight:700;color:var(--text-secondary);text-transform:uppercase}.active-day .day-label{color:var(--primary-color)}.active-day .column-header{background:#6366f11a}.weekend .column-header{background:#0003}.column-content{flex:1;padding:8px;overflow-y:auto;overflow-x:hidden;background:var(--bg-color);display:flex;flex-direction:column;gap:8px}.weekend .column-content{background:#0003}.task-card.assigned{min-width:0;width:100%;padding:12px}.task-card.assigned .task-title{font-size:13px}.task-time{font-size:11px;color:var(--text-secondary);margin-top:4px}.app-footer{height:48px;background:var(--surface-color);border-top:1px solid var(--border-color);display:flex;align-items:center;padding:0 24px;position:fixed;bottom:0;left:0;width:100%;z-index:50}.footer-content{width:100%;display:flex;justify-content:space-between;align-items:center}.copyright{font-size:12px;color:var(--text-secondary)}.icon-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.icon-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.icon-btn.small{padding:4px}.icon-btn.small span{font-size:20px}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100}.modal.hidden{display:none}.modal-content{background:var(--surface-color);padding:24px;border-radius:var(--radius-lg);border:1px solid var(--border-color);width:400px;box-shadow:var(--shadow-md)}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-color);padding:24px}.auth-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:40px;width:100%;max-width:420px;box-shadow:var(--shadow-md)}.auth-header{text-align:center;margin-bottom:32px}.auth-header .auth-logo{color:var(--primary-color);margin-bottom:16px}.auth-header h1{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.auth-header p{color:var(--text-secondary);font-size:14px}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:12px 16px;border-radius:var(--radius-md);font-size:14px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:var(--text-primary)}.form-group input{padding:12px 16px;background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--primary-color)}.form-group input::placeholder{color:var(--text-secondary)}.auth-btn{padding:14px 24px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:background .2s;margin-top:8px}.auth-btn:hover:not(:disabled){background:var(--primary-hover)}.auth-btn:disabled{opacity:.7;cursor:not-allowed}.auth-footer{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}.auth-footer p{color:var(--text-secondary);font-size:14px}.auth-footer a{color:var(--primary-color);text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-color);gap:16px}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen p{color:var(--text-secondary);font-size:14px}.drop-zone{border:2px dashed var(--border-color);border-radius:var(--radius-md);padding:24px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:all .2s;color:var(--text-secondary);background:var(--bg-color)}.drop-zone:hover{border-color:var(--primary-color);color:var(--primary-color)}.drop-zone.dragging{border-color:var(--primary-color);background:#3b82f61a;color:var(--primary-color)}.drop-zone span{font-size:13px}.attachments-list{display:flex;flex-direction:column;gap:8px;max-height:150px;overflow-y:auto}.attachment-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius-md)}.attachment-info{display:flex;align-items:center;gap:8px;flex:1;cursor:pointer;color:var(--text-primary);overflow:hidden}.attachment-delete{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.attachment-delete:hover{background:#ef44441a;color:#ef4444}.confirm-dialog{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-md);overflow:hidden}.confirm-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color)}.confirm-icon{display:flex;align-items:center;justify-content:center}.confirm-content{padding:20px}.confirm-content h3{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.confirm-content p{font-size:14px;color:var(--text-secondary);line-height:1.5}.confirm-actions{display:flex;gap:12px;padding:16px 20px;border-top:1px solid var(--border-color);justify-content:flex-end}.confirm-btn{padding:10px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.confirm-btn.cancel{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.confirm-btn.cancel:hover{background:var(--bg-color)}.confirm-btn.confirm{border:none;color:#fff}.confirm-btn.confirm:hover{opacity:.9}.task-modal{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-md)}.task-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color)}.task-modal-header h3{font-size:18px;font-weight:600;color:var(--text-primary)}.task-modal-body{flex:1;overflow-y:auto;padding:24px}.task-form{display:flex;flex-direction:column;gap:20px}.form-section{display:flex;flex-direction:column;gap:16px}.task-form .form-group{display:flex;flex-direction:column;gap:8px}.task-form .form-group label{font-size:13px;font-weight:500;color:var(--text-secondary)}.task-form .form-group input,.task-form .form-group select,.task-form .form-group textarea{background:var(--bg-color);border:1px solid var(--border-color);padding:12px;border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;outline:none;transition:border-color .2s}.task-form .form-group input:focus,.task-form .form-group select:focus,.task-form .form-group textarea:focus{border-color:var(--primary-color)}.task-form textarea{resize:vertical;min-height:100px;font-family:inherit}.attachments-section label{font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px;margin-top:12px}.image-thumbnail{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-color);cursor:pointer}.image-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.image-thumbnail:hover img{transform:scale(1.05)}.thumbnail-overlay{position:absolute;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;gap:8px;opacity:0;transition:opacity .2s}.image-thumbnail:hover .thumbnail-overlay{opacity:1}.thumbnail-btn{background:#fff3;border:none;color:#fff;padding:8px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.thumbnail-btn:hover{background:#ffffff4d}.thumbnail-btn.delete:hover{background:#ef4444cc}.attachments-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.attachment-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color .2s}.attachment-item:hover{border-color:var(--primary-color)}.attachment-info{display:flex;align-items:center;gap:10px;flex:1;cursor:pointer;color:var(--text-primary);overflow:hidden}.attachment-info:hover{color:var(--primary-color)}.attachment-info .pdf-icon{color:#ef4444}.attachment-name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-actions{display:flex;gap:4px}.attachment-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.attachment-btn:hover{background:var(--surface-color);color:var(--primary-color)}.attachment-btn.delete:hover{background:#ef44441a;color:#ef4444}.hint-text{font-size:12px;color:var(--text-secondary);font-style:italic}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border-color)}.btn-secondary{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:10px 20px;border-radius:var(--radius-md);cursor:pointer;font-size:14px;transition:all .2s}.btn-secondary:hover{background:var(--bg-color);color:var(--text-primary)}.preview-modal{position:fixed;inset:0;background:#000000e6;display:flex;flex-direction:column;z-index:200}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;color:#fff}.preview-header span{font-size:14px;opacity:.8}.preview-content{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto}.preview-content img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-md)}.preview-content iframe{width:100%;height:100%;border:none;background:#fff;border-radius:var(--radius-md)}.settings-page{padding:24px;max-width:800px;margin:0 auto;width:100%}.settings-header{margin-bottom:32px}.settings-header h1{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.settings-header p{color:var(--text-secondary);font-size:14px}.settings-section{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;margin-bottom:24px}.settings-section h2{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:20px}.account-info{display:flex;flex-direction:column;gap:16px}.info-item{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius-md)}.info-icon{width:40px;height:40px;background:var(--surface-color);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--primary-color)}.info-content{flex:1}.info-content label{font-size:12px;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:16px;font-weight:500;color:var(--text-primary);display:block;margin-top:4px}.logout-btn{background:var(--surface-color);border:1px solid var(--border-color);color:var(--text-primary);padding:12px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:12px;transition:all .2s;width:100%;text-align:left}.logout-btn:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.form-group-row{display:flex;gap:12px;align-items:flex-start}@media(max-width:768px){.app-bar{padding:0 12px;height:56px}.logo-section .app-title,.logo-section .divider,.logo-section .page-subtitle{display:none!important}.user-profile .user-name{display:none}.user-profile{padding:4px;border:none;background:transparent}.app-actions{gap:8px}.main-content{padding:8px;max-height:calc(100vh - 104px)}.tasks-sidebar{height:auto;max-height:160px}.tasks-sidebar .sidebar-header h3{font-size:12px}.tasks-list-container{padding:0}.filter-controls .mini-search{width:80px}.kanban-area{display:flex;flex-direction:column}.kanban-header{flex-direction:column;gap:8px;padding:8px;height:auto}.kanban-nav,.kanban-actions{width:100%;justify-content:space-between}.week-label{font-size:12px;min-width:auto}.kanban-board{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;min-width:auto;grid-template-columns:none}.kanban-column{min-width:85vw;scroll-snap-align:center;border-right:1px solid var(--border-color)}.view-btn{font-size:12px;padding:6px 10px}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.filters-container{flex-direction:column;align-items:stretch}.search-box{width:100%}.filter-group{flex-wrap:wrap}.filter-select{flex:1}.task-table th:nth-child(2),.task-table th:nth-child(4),.task-table th:nth-child(5),.task-table td:nth-child(2),.task-table td:nth-child(4),.task-table td:nth-child(5){display:none}}
