*{box-sizing:border-box;margin:0;padding:0}body{color:#e8e8e8;background:#0a0c14;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:relative;overflow:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#f5c0001f 0%,#0000 70%);width:420px;height:420px;position:fixed;top:-120px;left:-80px}body:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#f5c00012 0%,#0000 70%);width:340px;height:340px;position:fixed;bottom:-100px;right:-60px}#root{z-index:1;flex-direction:column;height:100vh;display:flex;position:relative}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.loading{color:#fff6;justify-content:center;align-items:center;height:100vh;display:flex}.login-wrap{justify-content:center;align-items:center;min-height:100vh;display:flex}.login-box{background:#ffffff06;border:1px solid #ffffff12;border-radius:16px;width:360px;padding:40px;animation:.4s forwards fadeUp}.login-box h1{background:linear-gradient(135deg,#f5c000 0%,#ffe066 60%,#e8a800 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:4px;font-size:24px}.login-sub{color:#fff6;margin-bottom:24px;font-size:14px}.login-box input{color:#e8e8e8;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;width:100%;margin-bottom:12px;padding:10px 14px;font-size:14px;transition:border-color .15s,background .15s}.login-box input:focus{background:#f5c0000d;border-color:#f5c00080;outline:none}.login-box button{color:#0a0c14;cursor:pointer;background:linear-gradient(135deg,#f5c000,#e8a800);border:none;border-radius:10px;width:100%;padding:10px;font-size:15px;font-weight:800;transition:opacity .15s}.login-box button:hover{opacity:.9}.error{color:#f87171;margin-bottom:12px;font-size:13px}.board-wrap{flex-direction:column;height:100vh;display:flex}.board-header{background:#ffffff06;border-bottom:1px solid #ffffff12;flex-shrink:0;align-items:center;gap:12px;padding:12px 20px;display:flex}.board-title-wrap{cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;align-items:center;gap:6px;display:flex;position:relative}.board-chevron{color:#f5c00099;font-size:12px}.board-menu{z-index:100;background:#13161f;border:1px solid #ffffff1a;border-radius:10px;min-width:180px;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden;box-shadow:0 8px 24px #00000080}.board-menu-item{cursor:pointer;padding:10px 16px;font-size:14px;transition:background .15s}.board-menu-item:hover{background:#ffffff0d}.board-menu-item.active{color:#f5c000;font-weight:600}.board-menu-new{color:#f5c000b3;border-top:1px solid #ffffff12}.board-menu-add{border-top:1px solid #ffffff12;gap:6px;padding:8px 12px;display:flex}.board-menu-add input{color:#e8e8e8;background:#ffffff0d;border:1px solid #ffffff26;border-radius:6px;flex:1;padding:6px 10px;font-size:13px}.board-menu-add input:focus{border-color:#f5c00080;outline:none}.board-menu-add button{color:#f5c000;cursor:pointer;background:#f5c00033;border:none;border-radius:6px;padding:6px 12px;font-size:13px}.board-menu-item-row{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.btn-board-rename{color:#ffffff40;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 4px;font-size:12px;transition:color .15s}.btn-board-rename:hover{color:#f5c000b3}.board-rename-row{align-items:center;gap:6px;width:100%;padding:0;display:flex}.board-rename-row input{color:#e8e8e8;background:#ffffff12;border:1px solid #f5c00066;border-radius:5px;flex:1;padding:4px 8px;font-size:13px}.board-rename-row input:focus{outline:none}.board-rename-row button{color:#ffffff80;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:5px;padding:4px 8px;font-size:12px}.board-rename-row button:hover{color:#f5c000;border-color:#f5c00066}.board-title{background:linear-gradient(135deg,#f5c000 0%,#ffe066 60%,#e8a800 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:16px;font-weight:700}.board-user-wrap{align-items:center;gap:10px;display:flex}.board-user{color:#fff6;font-size:14px}.btn-my-tasks{color:#ffffff73;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ffffff26;border-radius:6px;padding:4px 12px;font-size:12px;transition:all .15s}.btn-my-tasks:hover{color:#f5c000cc;border-color:#f5c00066}.btn-my-tasks.active{color:#f5c000;background:#f5c00026;border-color:#f5c00099;font-weight:600}.btn-logout{color:#fff6;cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:6px;padding:4px 12px;font-size:13px;transition:border-color .15s,color .15s}.btn-logout:hover{color:#f5c000cc;border-color:#f5c00066}.assignee-picker{flex:1;position:relative}.assignee-trigger{cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:7px;justify-content:space-between;align-items:center;gap:6px;min-height:34px;padding:6px 10px;display:flex}.assignee-trigger:hover{border-color:#f5c0004d}.assignee-placeholder{color:#ffffff4d;font-size:13px}.assignee-chips{flex-wrap:wrap;flex:1;gap:4px;display:flex}.assignee-chip{color:#f5c000;background:#f5c00026;border:1px solid #f5c0004d;border-radius:4px;padding:1px 7px;font-size:12px}.assignee-chevron{color:#ffffff4d;flex-shrink:0;font-size:11px}.assignee-dropdown{z-index:200;background:#13161f;border:1px solid #ffffff1a;border-radius:8px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 6px 20px #00000080}.assignee-option{cursor:pointer;align-items:center;gap:8px;padding:8px 12px;font-size:13px;transition:background .12s;display:flex}.assignee-option:hover{background:#ffffff0d}.assignee-option.checked{color:#f5c000;background:#f5c00014}.assignee-option input[type=checkbox]{accent-color:#f5c000}.assignee-clear{color:#ff646499;cursor:pointer;text-align:left;background:0 0;border:none;border-top:1px solid #ffffff12;width:100%;padding:7px 12px;font-size:12px}.assignee-clear:hover{color:#ff6464e6}.col-move-wrap{position:relative}.col-move-btn{color:#ffffff40;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:13px;transition:color .15s}.col-move-btn:hover{color:#f5c000b3}.col-move-menu{z-index:100;background:#13161f;border:1px solid #ffffff1a;border-radius:8px;min-width:150px;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 6px 20px #00000080}.col-move-label{color:#ffffff4d;border-bottom:1px solid #ffffff12;padding:7px 12px;font-size:11px}.col-move-item{cursor:pointer;padding:8px 12px;font-size:13px;transition:background .12s}.col-move-item:hover{color:#f5c000;background:#ffffff0d}.board-scroll{flex:1;overflow:auto hidden}.board-columns{align-items:flex-start;gap:12px;height:100%;padding:16px;display:flex}.column{background:#ffffff06;border:1px solid #ffffff12;border-radius:14px;flex-direction:column;width:280px;min-width:280px;max-height:calc(100vh - 100px);display:flex}.column-header{cursor:grab;align-items:center;gap:8px;padding:12px 14px 8px;display:flex}.column-header:active{cursor:grabbing}.col-title{text-transform:uppercase;letter-spacing:2px;color:#f5c000;opacity:.85;cursor:default;flex:1;font-size:10px;font-weight:700}.col-title-input{color:#e8e8e8;text-transform:uppercase;letter-spacing:2px;background:#f5c0000d;border:1px solid #f5c00080;border-radius:4px;flex:1;padding:2px 6px;font-size:10px;font-weight:700}.col-count{color:#f5c000b3;background:#f5c0001a;border-radius:10px;padding:2px 7px;font-size:12px}.col-delete{color:#fff3;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:18px;line-height:1}.col-delete:hover{color:#f87171}.column-tasks{flex:1;min-height:40px;padding:0 8px;overflow-y:auto}.column-tasks.drag-over{background:#f5c0000a;border-radius:6px}.column-footer{padding:8px}.task-card{cursor:pointer;background:#ffffff06;border:1px solid #ffffff12;border-radius:10px;margin-bottom:6px;padding:10px 12px;transition:border-color .15s,background .15s;animation:.3s forwards fadeUp}.task-card:hover{background:#ffffff0a;border-color:#ffffff24}.task-card.dragging{border-color:#f5c00066;box-shadow:0 8px 32px #00000080}.task-card.completed .task-title{color:#ffffff40;text-decoration:line-through}.task-card.overdue{border-color:#ef444459}.task-card-top{align-items:flex-start;gap:8px;margin-bottom:6px;display:flex}.task-check{cursor:pointer;background:0 0;border:2px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:18px;min-width:18px;height:18px;margin-top:1px;padding:0;transition:border-color .15s,background .15s;display:flex}.task-check:hover{border-color:#f5c00099}.task-check.done{background:linear-gradient(135deg,#f5c000,#e8a800);border-color:#f5c000}.task-check svg{width:10px;height:8px}.task-title{color:#e8e8e8;word-break:break-word;overflow-wrap:break-word;flex:1;min-width:0;font-size:13px;line-height:1.4}.task-meta{align-items:center;gap:8px;display:flex}.task-deadline{color:#fff6;font-size:11px}.task-deadline.red{color:#f87171}.task-deadline.orange{color:#f5c000}.task-assignee{color:#f5c000cc;background:#f5c0001a;border:1px solid #f5c00033;border-radius:4px;margin-left:auto;padding:1px 6px;font-size:11px;font-weight:600}.btn-add-task{color:#ffffff40;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;width:100%;padding:6px 4px;font-size:13px}.btn-add-task:hover{color:#f5c000b3}.task-add-form textarea{color:#e8e8e8;resize:none;background:#ffffff0d;border:1px solid #f5c00066;border-radius:6px;width:100%;min-height:60px;padding:8px;font-size:13px}.task-add-btns{gap:8px;margin-top:6px;display:flex}.col-add-wrap{min-width:240px}.btn-add-col{color:#ffffff40;cursor:pointer;white-space:nowrap;background:#ffffff06;border:1px dashed #ffffff1a;border-radius:14px;width:100%;padding:10px 16px;font-size:14px;transition:border-color .15s,color .15s}.btn-add-col:hover{color:#f5c00099;border-color:#f5c0004d}.col-add-form{background:#ffffff06;border:1px solid #ffffff12;border-radius:14px;padding:12px}.col-add-form input{color:#e8e8e8;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;width:100%;margin-bottom:8px;padding:8px}.col-add-btns{gap:8px;display:flex}.btn-primary{color:#0a0c14;cursor:pointer;background:linear-gradient(135deg,#f5c000,#e8a800);border:none;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:800;transition:opacity .15s}.btn-primary:hover{opacity:.88}.btn-ghost{color:#ffffff59;cursor:pointer;background:0 0;border:none;padding:6px 14px;font-size:13px}.btn-ghost:hover{color:#fff9}.btn-danger{color:#f87171;cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:13px}.btn-danger:hover{color:#ef4444}.modal-overlay{z-index:100;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#0d1020;border:1px solid #ffffff12;border-radius:16px;width:560px;max-width:95vw;max-height:90vh;padding:28px;position:relative;overflow-y:auto;box-shadow:0 24px 80px #0009,0 0 0 1px #f5c00014}.modal-close{color:#ffffff4d;cursor:pointer;background:0 0;border:none;font-size:22px;position:absolute;top:16px;right:16px}.modal-close:hover{color:#ffffffb3}.modal-title{color:#e8e8e8;background:0 0;border:none;width:100%;margin-bottom:20px;padding:0;font-size:18px;font-weight:600}.modal-title:focus{border-bottom:1px solid #f5c00080;outline:none}.modal-fields{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.field-row{align-items:center;gap:12px;display:flex}.field-row label{color:#fff6;width:100px;font-size:13px}.field-row select,.field-row input{color:#e8e8e8;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;flex:1;padding:6px 10px;font-size:13px}.field-row select:focus,.field-row input:focus{background:#f5c0000a;border-color:#f5c00080;outline:none}.rich-wrap{margin-bottom:16px}.desc-toolbar{background:#ffffff08;border:1px solid #ffffff1a;border-bottom:none;border-radius:8px 8px 0 0;align-items:center;gap:2px;padding:4px 6px;display:flex}.desc-fmt-btn{color:#ffffff73;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:3px 8px;font-size:13px;transition:background .12s,color .12s}.desc-fmt-btn:hover{color:#f5c000;background:#f5c0001f}.rich-editor{color:#e8e8e8;box-sizing:border-box;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:0 0 8px 8px;outline:none;width:100%;min-height:120px;max-height:320px;padding:10px;font-size:13px;line-height:1.6;overflow-y:auto}.rich-editor:focus{background:#f5c0000a;border-color:#f5c00080}.rich-editor:empty:before{content:attr(data-placeholder);color:#ffffff40;pointer-events:none}.rich-editor strong,.rich-editor b{color:#fff;font-weight:700}.rich-editor em,.rich-editor i{color:#ffffffd9;font-style:italic}.rich-editor u{text-underline-offset:3px;text-decoration:underline}.rich-editor p{margin:0 0 6px}.rich-editor p:last-child{margin:0}.modal-actions{align-items:center;gap:12px;margin-bottom:24px;display:flex}.checkbox-wrap{color:#ffffff80;cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.modal-comments h3{text-transform:uppercase;letter-spacing:2px;color:#f5c000;opacity:.7;margin-bottom:12px;font-size:10px;font-weight:700}.comment{margin-bottom:10px}.comment-author{color:#f5c000cc;margin-right:8px;font-size:12px;font-weight:600}.comment-text{color:#ffffffb3;font-size:13px}.comment-form{gap:8px;margin-top:12px;display:flex}.comment-form input{color:#e8e8e8;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;flex:1;padding:6px 10px;font-size:13px}.comment-form button{color:#e8e8e8;cursor:pointer;background:#ffffff12;border:1px solid #ffffff1a;border-radius:6px;padding:6px 14px;font-size:13px;transition:border-color .15s}.comment-form button:hover{color:#f5c000cc;border-color:#f5c00066}.modal-subtasks{margin-bottom:20px}.subtasks-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.subtasks-header h3{text-transform:uppercase;letter-spacing:2px;color:#f5c000;opacity:.7;font-size:10px;font-weight:700}.sub-count{color:#f5c000b3;background:#f5c0001a;border-radius:10px;padding:1px 7px;font-size:12px}.subtask-progress{background:#ffffff0f;border-radius:2px;height:4px;margin-bottom:10px;overflow:hidden}.subtask-bar{background:linear-gradient(90deg,#f5c000,#e8a800);border-radius:2px;height:100%;transition:width .3s}.subtask-item{border-bottom:1px solid #ffffff0d;align-items:center;gap:8px;padding:5px 0;display:flex}.subtask-item:hover .subtask-actions{opacity:1}.subtask-item input[type=checkbox]{accent-color:#f5c000;cursor:pointer;flex-shrink:0;width:14px;height:14px}.subtask-title{cursor:pointer;flex:1;font-size:13px}.subtask-title:hover{color:#f5c000}.subtask-title.done{color:#ffffff40;text-decoration:line-through}.subtask-edit-input{color:#e8e8e8;background:#ffffff12;border:1px solid #f5c00066;border-radius:5px;flex:1;padding:2px 7px;font-size:13px}.subtask-edit-input:focus{outline:none}.subtask-actions{opacity:0;flex-shrink:0;gap:2px;transition:opacity .15s;display:flex}.subtask-btn-edit,.subtask-btn-delete{cursor:pointer;color:#ffffff40;background:0 0;border:none;border-radius:4px;padding:2px 5px;font-size:12px;transition:color .12s}.subtask-btn-edit:hover{color:#f5c000cc}.subtask-btn-delete:hover{color:#ff5050cc}.subtask-add{gap:6px;margin-top:8px;display:flex}.subtask-add input{color:#e8e8e8;background:#ffffff0d;border:1px solid #f5c00066;border-radius:6px;flex:1;padding:5px 10px;font-size:13px}.btn-add-sub{color:#ffffff40;cursor:pointer;background:0 0;border:none;margin-top:4px;padding:4px 0;font-size:13px}.btn-add-sub:hover{color:#f5c00099}.task-subtasks{color:#ffffff4d;margin-top:4px;font-size:11px}.color-picker{align-items:center;gap:8px;display:flex}.color-dot{cursor:pointer;background:#ffffff1a;border:2px solid #0000;border-radius:50%;width:20px;height:20px;transition:transform .15s,border-color .15s}.color-dot:hover{transform:scale(1.15)}.color-dot.active{border-color:#e8e8e8;transform:scale(1.15)}.btn-access{color:#f5c000cc;cursor:pointer;background:#f5c0001a;border:1px solid #f5c00040;border-radius:6px;padding:6px 12px;font-size:13px;transition:background .15s}.btn-access:hover{background:#f5c00033}.access-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.access-modal{background:#13151f;border:1px solid #f5c00033;border-radius:12px;min-width:480px;max-width:600px;max-height:80vh;padding:24px;overflow-y:auto}.access-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.access-header h2{color:#f5c000e6;font-size:16px}.access-close{color:#fff6;cursor:pointer;background:0 0;border:none;font-size:18px}.access-close:hover{color:#fff}.access-empty{color:#fff6;font-size:14px}.access-user-row{border-top:1px solid #ffffff12;padding:16px 0}.access-user-name{margin-bottom:10px;font-size:14px;font-weight:600}.access-boards{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.access-board-label{color:#ffffffb3;cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.access-board-label input{accent-color:#f5c000e6;cursor:pointer}.access-save-btn{color:#f5c000cc;cursor:pointer;background:#f5c00026;border:1px solid #f5c0004d;border-radius:6px;padding:5px 14px;font-size:13px;transition:background .15s}.access-save-btn:hover{background:#f5c00040}.access-save-btn.saved{color:#50c850cc;background:#50c85026;border-color:#50c8504d}.access-section-title{text-transform:uppercase;letter-spacing:.08em;color:#f5c00099;margin-bottom:12px;font-size:12px}.access-summary{margin-bottom:4px}.access-summary-row{border-top:1px solid #ffffff0d;align-items:flex-start;gap:12px;padding:8px 0;display:flex}.access-summary-name{color:#ffffffd9;min-width:160px;padding-top:2px;font-size:13px;font-weight:500}.access-summary-boards{flex-wrap:wrap;gap:6px;display:flex}.access-tag{color:#ffffffb3;background:#ffffff14;border:1px solid #ffffff1f;border-radius:4px;padding:2px 8px;font-size:12px}.access-tag-admin{color:#f5c000cc;background:#f5c0001a;border-color:#f5c00040}.access-tag-none{color:#ff6464b3;background:#ff505014;border-color:#ff505033}.access-tag-member{color:#78aaffd9;background:#64a0ff1a;border-color:#64a0ff40}.access-role-btn{color:#ffffff80;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ffffff26;border-radius:4px;margin-left:auto;padding:2px 8px;font-size:11px;transition:all .15s}.access-role-btn:hover{color:#ffffffd9;border-color:#ffffff59}.access-role-btn.promote:hover{color:#f5c000d9;border-color:#f5c00066}.access-role-btn.demote:hover{color:#ff7878d9;border-color:#ff646466}
