@import url(https://fonts.googleapis.com/css2?family=Roboto:wght@400;500&display=swap);body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace}.auth-container{display:flex;justify-content:center;align-items:center;height:100vh;background:linear-gradient(135deg,#e3f2fd,#f9fbe7);font-family:"Roboto",sans-serif;overflow:hidden}.auth-card{background:linear-gradient(145deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,.95));padding:48px 40px 36px;border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.1);max-width:380px;width:100%;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:floatIn .6s ease-out;position:relative}.auth-card:before{content:"";position:absolute;inset:-4px;border-radius:18px;padding:2px;background:linear-gradient(145deg,#bbdefb,#c8e6c9);z-index:-1;filter:blur(6px)}.auth-logo{height:250px;margin-bottom:24px}.auth-card h2{font-weight:500;color:#1a237e;margin-bottom:24px}.auth-card input{width:100%;padding:12px;margin-bottom:16px;border:1px solid #cfd8dc;border-radius:8px;font-size:14px;transition:all .3s ease;background-color:#fefefe}.auth-card input:focus{border-color:#42a5f5;box-shadow:0 0 0 2px rgba(66,165,245,.3);outline:none}.auth-card button{width:100%;padding:12px;background:linear-gradient(90deg,#42a5f5,#66bb6a);color:#fff;border:none;border-radius:8px;font-weight:500;font-size:15px;cursor:pointer;transition:transform .2s,background .3s}.auth-card button:hover{transform:translateY(-1px);background:linear-gradient(90deg,#1e88e5,#43a047)}.auth-toggle{margin-top:20px;font-size:13px;color:#1e88e5;cursor:pointer;text-decoration:underline;transition:color .2s}.auth-toggle:hover{color:#1565c0}@keyframes floatIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-error{color:#d32f2f;font-size:12px;text-align:left;margin:-10px 0 10px}.project-detail-container{height:100vh;display:flex;flex-direction:column;font-family:sans-serif}h2{margin-bottom:20px}.header-bar{background:#f5f5f5;padding:10px 20px;border-bottom:1px solid #ddd;display:flex;grid-gap:10px;gap:10px;align-items:center;justify-content:flex-start}.back-button{background-color:#2196f3;color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;transition:background-color .2s ease}.back-button:hover{background-color:#1976d2}.back-button:before{content:"←";margin-right:6px}.add-task-btn{background-color:#007bff;color:#fff;border:none;padding:10px 18px;border-radius:8px;cursor:pointer;margin-bottom:20px}.add-task-btn:hover{background-color:#0056b3}.task-form{grid-gap:10px;gap:10px;margin-bottom:30px;background:#f8f9fa;border-radius:12px;box-shadow:0 0 10px rgba(0,0,0,.1)}.task-form input,.task-form select{padding:8px;font-size:14px;border:1px solid #ccc;border-radius:6px}.task-form button{background-color:#28a745;color:#fff;padding:10px;border-radius:8px}.task-form button:hover{background-color:#218838}.grid-workspace{flex:1 1;position:relative;overflow:auto;background-color:#eef2f7}.task-card{position:absolute;width:220px;min-height:160px;padding:15px 15px 35px;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.1);cursor:grab;display:flex;flex-direction:column;justify-content:space-between;grid-gap:8px;gap:8px;-webkit-user-select:none;user-select:none}.task-card input[type=text]{font-size:14px;padding:5px;border-radius:4px;border:1px solid #ccc;width:100%}.task-priority{position:absolute;top:8px;left:10px;font-weight:700;font-size:12px;color:#555}.task-due-date{display:flex;align-items:center;justify-content:flex-end;font-size:12px;color:#555;margin-top:auto;padding-top:6px}.task-card-add{position:absolute;top:8px;right:8px;background-color:#007bff;color:#fff;border:none;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:16px;line-height:20px;padding:0}.task-card-add:hover{background-color:#0056b3}.subtasks-list{list-style:none;padding-left:0;margin:0;display:flex;flex-direction:column;grid-gap:4px;gap:4px}.subtask-item{display:flex;align-items:center;grid-gap:8px;gap:8px;font-size:14px;cursor:pointer}.subtask-item input[type=text]{font-size:13px;padding:3px;border-radius:4px;border:1px solid #aaa;width:100%}.checkbox{width:16px;height:16px;border:2px solid #888;border-radius:50%;flex-shrink:0}.checkbox.checked{background-color:green;border-color:green}.context-menu{position:absolute;background:#fff;border:1px solid #ccc;z-index:1000;list-style:none;padding:5px 0;margin:0;box-shadow:0 2px 8px rgba(0,0,0,.15);width:180px;font-size:14px;border-radius:4px}.context-menu li{padding:8px 14px;cursor:pointer;transition:background .2s}.context-menu li:hover{background:#f5f5f5}.subtask-item.completed span:not(.checkbox){text-decoration:line-through;color:#888}.checkbox{display:inline-block;width:20px;height:20px;border:2px solid #999;border-radius:4px;margin-right:8px;text-align:center;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:18px;font-size:14px}.checkbox.checked{background-color:#4caf50;color:#fff;border-color:#4caf50}.alert-popup{position:fixed;top:20px;right:20px;background-color:#f44336;color:#fff;padding:12px 18px;border-radius:6px;box-shadow:0 2px 10px rgba(0,0,0,.2);font-size:14px;z-index:2000;animation:fadein .3s ease,fadeout .3s ease 2.7s}@keyframes fadein{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeout{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.task-executor{font-size:12px;color:#333;background:#f1f1f1;border-radius:6px;padding:4px 6px;margin-top:4px}.task-content{flex:1 1;overflow-y:auto}.btn.members{background-color:#3498db;color:#fff;padding:8px 16px;font-size:14px;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s ease,transform .2s ease;display:inline-flex;width:auto;max-width:-moz-fit-content;max-width:fit-content}.btn.members:hover{background-color:#2980b9;transform:scale(1.03)}.project-title{position:absolute;left:50%;transform:translateX(-50%);font-size:20px;font-weight:700}.subtask-title{position:relative;display:inline-block;cursor:pointer}.subtask-tooltip{visibility:hidden;opacity:0;background-color:rgba(50,50,50,.9);color:#fff;text-align:left;padding:6px 10px;border-radius:6px;position:absolute;z-index:999;top:120%;left:50%;transform:translateX(-50%);white-space:pre-line;width:max-content;max-width:300px;transition:opacity .2s;pointer-events:none}.subtask-title:hover .subtask-tooltip{visibility:visible;opacity:1}.modal-window{border-radius:12px;padding:24px 28px;width:420px;max-height:80vh;box-shadow:0 8px 24px rgba(0,0,0,.2);animation:fadeIn .25s ease;display:flex;flex-direction:column}.modal-window h2{margin:0 0 12px;font-size:22px;text-align:center}.modal-window ul{max-height:220px;overflow-y:auto;margin:0 0 16px;padding-left:0;list-style:none}.member-row{display:flex;align-items:center;justify-content:space-between;grid-gap:10px;gap:10px;padding:6px 0;border-bottom:1px solid #eee}.member-name{flex:1 1;font-weight:500;font-size:14px}.member-row select{padding:4px 6px;border-radius:4px;border:1px solid #ccc;background:#f9f9f9}.delete-user-btn{background:transparent;border:none;color:#f44336;cursor:pointer;font-size:16px;transition:color .2s ease}.delete-user-btn:hover{color:#d32f2f}.member-form{display:flex;grid-gap:10px;gap:10px;margin-top:auto}.member-form input{flex:1 1;padding:8px;border-radius:6px;border:1px solid #ccc;font-size:14px}.member-form button{padding:8px 14px;border:none;background:#4caf50;color:#fff;border-radius:6px;cursor:pointer;font-weight:700}.member-form button:hover{background:#45a047}.close-btn{margin-top:18px;background:#f44336;border:none;color:#fff;padding:10px 16px;border-radius:6px;cursor:pointer;width:100%;font-weight:700}.close-btn:hover{background:#d32f2f}.modal-window{border-radius:10px;padding:20px 30px;min-width:320px;max-width:90%;box-shadow:0 8px 16px rgba(0,0,0,.2);animation:fadeIn .2s ease}.modal-window h3{margin-top:0;margin-bottom:12px;text-align:center}.modal-window select{width:100%;padding:8px;margin-top:10px;border-radius:6px;border:1px solid #ccc}.modal-actions{margin-top:16px}.modal-actions button{padding:8px 14px;border-radius:6px;border:none;background-color:#2196f3;color:#fff;cursor:pointer;font-weight:500}.modal-actions .cancel-btn{background-color:#f44336}.modal-actions button:disabled{background-color:#aaa;cursor:not-allowed}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;justify-content:center;align-items:center;z-index:1000}.edit-date-modal{background:#fff;padding:20px 30px;border-radius:12px;width:320px;box-shadow:0 10px 25px rgba(0,0,0,.2);animation:fadeIn .25s ease;display:flex;flex-direction:column;grid-gap:16px;gap:16px}.edit-date-modal h3{margin:0;font-size:18px;text-align:center}.edit-date-modal input[type=date]{padding:8px;border:1px solid #ccc;border-radius:6px;font-size:14px;width:100%}.modal-actions{grid-gap:10px;gap:10px}.btn{flex:1 1;padding:10px 0;font-size:14px;border-radius:6px;border:none;cursor:pointer}.btn.save{background-color:#4caf50;color:#fff}.btn.cancel{background-color:#f44336;color:#fff}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.calendar-container{width:100%;padding:20px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:8px;gap:8px}.calendar-cell{min-height:80px;padding:5px;box-shadow:0 0 5px rgba(0,0,0,.1)}.day-number{margin-bottom:4px}.task-badge{background:#e2e8f0;padding:2px 4px;border-radius:4px;font-size:12px;margin-top:2px}.modal-overlay{top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5)}.modal{background:#fff;padding:20px;border-radius:10px;width:300px;max-width:80%;box-shadow:0 2px 10px rgba(0,0,0,.2)}.modal textarea{width:100%;height:100px;resize:none;margin-bottom:10px;padding:8px;font-size:14px;border:1px solid #ccc;border-radius:5px;box-sizing:border-box}.modal-actions{display:flex;justify-content:space-between}.task-form{background:hsla(0,0%,100%,.95);padding:20px;border-radius:16px;box-shadow:0 4px 12px rgba(0,0,0,.1);width:100%;max-width:500px;margin:0 auto;display:flex;flex-direction:column;grid-gap:12px;gap:12px;box-sizing:border-box}.task-form h3{margin-bottom:8px}.task-form input,.task-form select,.task-form textarea{padding:10px;border:1px solid #ccc;border-radius:12px;font-size:14px;width:100%;box-sizing:border-box}.task-form textarea{resize:vertical;min-height:80px}.task-form button{padding:10px 16px;border:none;border-radius:12px;font-weight:700;cursor:pointer;transition:background .2s ease}.task-form button[type=submit]{background-color:#d12a2a;color:#fff}.task-form button[type=submit]:disabled{background-color:#bcbcbc;cursor:wait}.task-form button[type=button]{background-color:#999;color:#fff}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-window{background:#fff;padding:20px;border-radius:16px;width:100%;max-width:400px;box-shadow:0 0 16px rgba(0,0,0,.25)}.project-form{display:flex;flex-direction:column;grid-gap:10px;gap:10px}.project-form input,.project-form textarea{padding:10px;border-radius:8px;border:1px solid #ccc;font-size:14px}.form-buttons{display:flex;justify-content:flex-end;grid-gap:10px;gap:10px}.form-buttons button{padding:8px 14px;border:none;border-radius:10px;font-weight:700;cursor:pointer;background-color:#1c87c9;color:#fff}.form-buttons button[type=button]{background-color:#999}.projects-page{display:flex;justify-content:space-between;grid-gap:24px;gap:24px;padding:40px;font-family:"Roboto",sans-serif}.projects-card,.welcome-card{background:#fff;border-radius:16px;padding:32px;box-shadow:0 8px 30px rgba(0,0,0,.05);flex:1 1}.welcome-card h1{font-size:24px;margin-bottom:12px}.welcome-card p{color:#555;margin-bottom:16px}.welcome-card button{background:#d32f2f;color:#fff;border:none;padding:10px 18px;border-radius:6px;cursor:pointer}.projects-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.projects-header h2{font-size:20px}.projects-header button{background:#1976d2;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer}.project-item{background:#f9f9f9;padding:16px;margin-bottom:10px;border-radius:10px;transition:background .2s}.project-item:hover{background:#eaf1fb}.task-list{max-height:300px;overflow-y:auto;padding-right:8px;margin-top:12px}.task-card{background:#f9f9f9;border-radius:10px;padding:12px;margin-bottom:10px;box-shadow:0 2px 6px rgba(0,0,0,.05)}.project-item-wrapper{display:flex;justify-content:space-between;align-items:center}.delete-project-btn{background:none;border:none;color:red;font-size:18px;cursor:pointer;margin-left:8px}.user-avatar-wrapper{position:absolute;top:20px;right:20px}.user-avatar{width:40px;height:40px;color:#fff;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;-webkit-user-select:none;user-select:none}.user-menu{position:absolute;top:45px;right:0;background:hsla(0,0%,100%,.9);padding:8px;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.2);z-index:999}.user-menu button{background:none;border:none;color:#333;cursor:pointer;padding:4px 8px;font-size:14px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px;margin-top:20px}.calendar-cell{display:flex;flex-direction:column;justify-content:flex-start;background:#fff;border-radius:8px;min-height:100px;padding:6px;box-shadow:0 1px 3px rgba(0,0,0,.1);cursor:pointer;transition:background-color .3s ease,transform .2s ease;overflow:hidden}.calendar-cell:hover{background-color:rgba(0,0,0,.05);transform:scale(1.03)}.day-number{font-weight:700}.task-dot{width:8px;height:8px;background-color:#007bff;border-radius:50%;margin-top:4px}.has-tasks{border:2px solid #007bff}.calendar-task{background-color:#f1f1f1;margin-top:4px;padding:2px 4px;border-radius:4px;font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.date-number{font-weight:700;margin-bottom:4px}.day-task-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;z-index:1000}.day-task-modal{background:#fff;border-radius:8px;padding:20px;width:300px;max-height:80vh;overflow-y:auto;box-shadow:0 0 10px rgba(0,0,0,.3)}.modal-task-item{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.modal-task-item button{background:none;border:none;color:red;cursor:pointer;font-size:16px}
/*# sourceMappingURL=main.bb4ce69d.chunk.css.map */