:root{--color-primary:#6366f1;--color-danger:#ef4444;--color-success:#22c55e;--color-light-gray-bg:#f3f4f6;--color-mine-task-bg:#e4e4e4;--color-dark-text:#333;--color-muted-text:#888;--color-white:#fff}*{box-sizing:border-box;margin:0;padding:0}body{background:#f5f5f9;color:#1e1e2e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.loading-screen{align-items:center;display:flex;height:100vh;justify-content:center}.loading-screen p{color:#888;color:var(--color-muted-text)}.app-container{display:flex;flex-direction:column;margin:0 auto;max-width:1600px;min-height:100vh;padding:16px 24px}.app-header{flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:16px}.app-header,.app-header-left{align-items:center;display:flex}.app-header-left{gap:12px}.app-header-right{align-items:center;display:flex;gap:16px}.app-title{font-size:1.5rem;font-weight:700}.app-title-accent{color:#6366f1;color:var(--color-primary)}.burger-btn{background:none;border:1px solid #e5e7eb;border-radius:8px;color:#555;cursor:pointer;padding:6px 8px}.burger-btn,.user-badge{align-items:center;display:flex}.user-badge{background:#fff;background:var(--color-white);border-radius:20px;box-shadow:0 1px 3px #00000014;gap:8px;padding:6px 12px}.user-badge img{border-radius:50%;height:28px;width:28px}.user-badge-name{font-size:.85rem}.avatar-placeholder{align-items:center;background:#6366f1;background:var(--color-primary);border-radius:50%;color:#fff;color:var(--color-white);display:inline-flex;font-size:.75rem;font-weight:700;height:28px;justify-content:center;width:28px}.sign-out-btn{background:none;border:none;color:#aaa;cursor:pointer;font-size:1rem;padding:0 4px}.stats-inline{align-items:center;display:flex;gap:8px}.stat-chip{background:#f3f4f6;background:var(--color-light-gray-bg);border-radius:12px;font-size:.8rem;font-weight:600;padding:4px 10px}.stat-chip--completed{color:#22c55e;color:var(--color-success)}.stat-chip--pending{color:#f59e0b}.view-toggle{background:#f3f4f6;background:var(--color-light-gray-bg);border-radius:8px;display:flex;padding:3px}.view-btn{background:#0000;border:none;border-radius:6px;color:#888;color:var(--color-muted-text);cursor:pointer;font-size:.85rem;font-weight:600;padding:6px 14px}.view-btn--active{background:#fff;background:var(--color-white);box-shadow:0 1px 3px #0000001a;color:#6366f1;color:var(--color-primary)}.toggle-label{align-items:center;color:#555;cursor:pointer;display:flex;font-size:.85rem;white-space:nowrap}.toggle-label input{margin-right:6px}.app-main{flex:1 1}.sidebar-overlay{background:#0000004d;inset:0;position:fixed;z-index:900}.sidebar-drawer{background:#fff;background:var(--color-white);bottom:0;box-shadow:4px 0 20px #0000001a;left:0;overflow-y:auto;padding:24px;position:fixed;top:0;width:320px;z-index:901}.sidebar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.sidebar-header h2{font-size:1.1rem;font-weight:700}.close-btn{background:none;border:none;color:#888;color:var(--color-muted-text);cursor:pointer;font-size:1.5rem;padding:0 4px}.fc{background:#fff;background:var(--color-white);border-radius:12px;box-shadow:0 1px 3px #00000014;padding:16px}.fc .fc-toolbar{flex-wrap:wrap;gap:16px!important}.fc .fc-toolbar-chunk{display:flex;gap:8px}.fc .fc-toolbar-chunk .fc-button-group{gap:6px}.fc .fc-toolbar-title{font-size:1.3rem!important;font-weight:600}.fc .fc-button-primary{background:#6366f1!important;background:var(--color-primary)!important;border:none!important;border-radius:6px!important;font-size:.85rem!important;padding:8px 14px!important}.fc .fc-toolbar-chunk .fc-button-group .fc-button{margin-left:4px!important}.fc .fc-button-primary:hover{background:#4f46e5!important}.fc .fc-daygrid-day-number{font-size:.85rem;padding:6px 8px}.fc .fc-event{border:none!important;border-radius:8px!important;cursor:pointer;font-size:.95rem!important;margin-bottom:6px!important;min-height:44px!important;padding:10px 12px!important}.fc .fc-event.task-completed{min-height:auto!important;opacity:.5;padding:4px 10px!important}.fc .fc-event.task-completed .event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:normal}.fc .fc-event.task-completed .event-avatars,.fc .fc-event.task-completed .event-progress{display:none}.fc .fc-event.task-received{background:#f3f4f6!important;background:var(--color-light-gray-bg)!important;border-left:4px solid!important}.fc .fc-daygrid-day-frame{display:flex;flex-direction:column}.fc .fc-daygrid-day-top{flex-shrink:0}.fc .fc-daygrid-day-events{flex:1 1 auto;max-height:calc(100vh - 200px);min-height:0;overflow-y:auto!important;padding-bottom:40px}.fc-dayGridWeek-view .fc-scroller{overflow:hidden!important}.fc-dayGridMonth-view .fc-scroller{overflow-y:auto!important}.fc-dayGridMonth-view .fc-event{font-size:.8rem!important;margin-bottom:3px!important;min-height:auto!important;padding:4px 8px!important}.fc-dayGridMonth-view .event-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;line-height:1.2;overflow:hidden;white-space:normal}.fc-dayGridMonth-view .event-progress svg{height:14px;width:14px}.fc-dayGridMonth-view .event-progress-text{font-size:.55rem}.fc-dayGridMonth-view .fc-daygrid-day-events{max-height:none;overflow-y:visible!important;padding-bottom:0}.add-task-btn{border-radius:6px;color:#aaa;cursor:pointer;flex-shrink:0;font-size:.8rem;margin:4px 6px 6px;padding:4px 8px;text-align:center;transition:all .15s}.add-task-btn:hover{background:#f3f4f6;background:var(--color-light-gray-bg);color:#6366f1;color:var(--color-primary)}.event-content{align-items:center;display:flex;gap:8px;overflow:hidden;width:100%}.event-title{color:#fff;color:var(--color-white);flex:1 1;font-weight:500;line-height:1.3;white-space:normal;word-break:break-word}.event-title--mine{color:#333;color:var(--color-dark-text)}.event-title--completed{opacity:.7;text-decoration:line-through}.event-title--received{color:#333;color:var(--color-dark-text)}.event-avatars{display:flex;flex-shrink:0;margin-left:auto}.event-avatar-img{border:2px solid #fff9;border-radius:50%;height:20px;width:20px}.event-avatar-placeholder{align-items:center;border:2px solid #fffc;border-radius:50%;color:#fff;color:var(--color-white);display:inline-flex;font-size:.6rem;font-weight:700;height:20px;justify-content:center;width:20px}.event-avatar-extra{color:#fffc;font-size:.65rem;margin-left:2px}.task-check,.task-check-dark{align-items:center;appearance:none;-webkit-appearance:none;background:#0000;border-radius:50%;cursor:pointer;display:inline-flex;flex-shrink:0;height:20px;justify-content:center;transition:all .15s;width:20px}.task-check{border:2px solid #fff9}.task-check-dark{border:2px solid #ccc}.task-check-dark:checked,.task-check:checked{background:#22c55e;background:var(--color-success);border-color:#22c55e;border-color:var(--color-success)}.task-check-dark:checked:after,.task-check:checked:after{color:#fff;color:var(--color-white);content:"\2713";font-size:12px;font-weight:700}.task-check:hover{border-color:#fff;border-color:var(--color-white)}.task-check-dark:hover{border-color:#6366f1;border-color:var(--color-primary)}.task-list-container{margin:0 auto;max-width:900px}.list-section{margin-bottom:32px}.list-section-title{border-bottom:2px solid #f3f4f6;border-bottom:2px solid var(--color-light-gray-bg);color:#333;color:var(--color-dark-text);font-size:1rem;font-weight:700;margin-bottom:12px;padding-bottom:8px}.list-empty{color:#aaa;font-size:.9rem;padding:12px 0}.list-row{align-items:center;background:#fff;background:var(--color-white);border-radius:10px;box-shadow:0 1px 3px #0000000d;cursor:pointer;display:flex;gap:12px;margin-bottom:6px;padding:12px 16px;transition:box-shadow .15s}.list-row:hover{box-shadow:0 2px 8px #0000001a}.list-row-content{flex:1 1;min-width:0}.list-row-title{font-weight:500}.list-row-title--completed{opacity:.6;text-decoration:line-through}.list-row-description{color:#999;font-size:.8rem;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-row-right{align-items:center;display:flex;flex-shrink:0;gap:8px}.list-row-avatars{display:flex;margin-right:4px}.list-row-avatar-img,.list-row-avatar-placeholder{border:2px solid #fff;border:2px solid var(--color-white);border-radius:50%;height:24px;width:24px}.list-row-avatar-placeholder{align-items:center;color:#fff;color:var(--color-white);display:inline-flex;font-size:.65rem;font-weight:700;justify-content:center}.list-row-avatar-extra{color:#888;color:var(--color-muted-text);font-size:.75rem;margin-left:4px}.date-badge{border-radius:12px;font-size:.8rem;font-weight:600;padding:3px 10px;white-space:nowrap}.date-badge--done{background:#dcfce7;color:#16a34a}.date-badge--overdue{background:#fef2f2;color:#dc2626}.date-badge--normal{background:#f3f4f6;background:var(--color-light-gray-bg);color:#555}.date-badge-label{margin-right:4px}.login-wrapper{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh}.login-card{background:#fff;background:var(--color-white);border-radius:16px;box-shadow:0 20px 60px #00000026;max-width:400px;padding:48px 40px;text-align:center;width:100%}.login-card h1{font-size:2rem;margin-bottom:8px}.login-subtitle{color:#888;color:var(--color-muted-text);font-size:.95rem;margin-bottom:32px}.google-btn{align-items:center;background:#fff;background:var(--color-white);border:1px solid #ddd;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;justify-content:center;padding:12px 24px;transition:box-shadow .2s;width:100%}.google-btn:hover{box-shadow:0 2px 8px #0000001a}.google-btn svg{margin-right:10px}.dev-badge{background:#fef3c7;border-radius:6px;color:#92400e;display:inline-block;font-size:.8rem;font-weight:600;margin-bottom:16px;padding:6px 12px}.login-input{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:.95rem;margin-bottom:12px;padding:10px 14px;width:100%}.login-error{color:#ef4444;color:var(--color-danger);font-size:.85rem}.login-submit-btn{background:#6366f1;background:var(--color-primary);border:none;border-radius:8px;color:#fff;color:var(--color-white);cursor:pointer;font-size:.95rem;font-weight:600;padding:12px;width:100%}.login-submit-btn:hover{background:#4f46e5}.login-toggle{color:#6366f1;color:var(--color-primary);cursor:pointer;font-size:.85rem;margin-top:12px}.modal-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal-card{background:#fff;background:var(--color-white);border-radius:12px;box-shadow:0 20px 60px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:600px;padding:36px;width:100%}.modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;flex-shrink:0;justify-content:space-between;padding-bottom:16px}.modal-header h2{font-size:1.3rem;margin:0}.modal-date-inline{align-items:center;display:flex;gap:4px;margin-top:6px}.modal-date-icon{font-size:.75rem}.modal-date-input{background:none;border:none;border-radius:4px;color:#888;color:var(--color-muted-text);cursor:pointer;font-family:inherit;font-size:.8rem;outline:none;padding:2px 4px}.modal-date-input:hover{color:#555}.modal-date-input:focus,.modal-date-input:hover{background:#f3f4f6;background:var(--color-light-gray-bg)}.modal-date-input:focus{color:#333;color:var(--color-dark-text)}.modal-close-btn{background:none;border:none;color:#999;cursor:pointer;font-size:1.5rem;line-height:1;padding:0 4px}.modal-close-btn:hover{color:#333;color:var(--color-dark-text)}.modal-form{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.modal-body{flex:1 1;min-height:0;overflow-y:auto;padding:8px 0}.modal-label{color:#555;display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;margin-top:20px}.modal-input,.modal-textarea{border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:.95rem;outline:none;padding:12px 14px;width:100%}.modal-textarea{min-height:50px;resize:vertical}.assignee-list{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0}.assignee-list-empty{color:#aaa;font-size:.85rem;margin:0}.assignee-chip{align-items:center;border:1px solid;border-radius:20px;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:500;gap:8px;padding:8px 14px;transition:all .15s;-webkit-user-select:none;user-select:none}.assignee-chip img,.assignee-chip-avatar{border-radius:50%;height:22px;width:22px}.assignee-chip-avatar{align-items:center;color:#fff;color:var(--color-white);display:inline-flex;font-size:.7rem;font-weight:700;justify-content:center}.modal-completed-label{align-items:center;color:#555;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:8px;margin-top:12px}.modal-completed-label input{accent-color:#22c55e;accent-color:var(--color-success);height:18px;width:18px}.event-progress{align-items:center;display:inline-flex;flex-shrink:0;gap:3px;margin-left:auto}.event-progress svg{display:block}.event-progress-text{font-size:.65rem;font-weight:600;opacity:.9}.checklist-editor{margin-bottom:8px}.checklist-editor-item{align-items:center;display:flex;gap:10px;margin-bottom:10px}.checklist-editor-checkbox{border-radius:50%;cursor:pointer;flex-shrink:0;height:18px;width:18px}.checklist-editor-input{border:1px solid #ddd;border-radius:6px;flex:1 1;font-family:inherit;font-size:.9rem;outline:none;padding:6px 10px}.checklist-editor-input:focus{border-color:#6366f1;border-color:var(--color-primary)}.checklist-editor-item--checked .checklist-editor-input{background:#f9f9f9;color:#aaa;text-decoration:line-through}.checklist-editor-remove{background:none;border:none;color:#999;cursor:pointer;font-size:1.2rem;line-height:1;padding:0 4px}.checklist-editor-remove:hover{color:#ef4444;color:var(--color-danger)}.checklist-add-btn{background:none;border:1px dashed #ccc;border-radius:6px;color:#888;color:var(--color-muted-text);cursor:pointer;font-size:.85rem;margin-top:4px;padding:6px 12px;width:100%}.checklist-add-btn:hover{border-color:#6366f1;border-color:var(--color-primary);color:#6366f1;color:var(--color-primary)}.modal-actions{border-top:1px solid #eee;display:flex;flex-shrink:0;gap:8px;margin-top:20px;padding-top:12px}.btn{border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 20px}.btn--primary{background:#6366f1;background:var(--color-primary);color:#fff;color:var(--color-white)}.btn--primary:hover{background:#4f46e5}.btn--danger{background:#ef4444;background:var(--color-danger);color:#fff;color:var(--color-white)}.btn--danger:hover{background:#dc2626}.btn--secondary{background:#e5e7eb;color:#333;color:var(--color-dark-text)}.btn--secondary:hover{background:#d1d5db}.member-panel{background:#fff;background:var(--color-white);border-radius:12px;box-shadow:0 1px 3px #00000014;padding:20px}.member-panel h3{font-size:1rem;margin-bottom:12px}.member-panel-list{display:flex;flex-direction:column;gap:8px}.member-row{align-items:center;display:flex;gap:10px;padding:6px 0}.member-row img,.member-row-avatar{border-radius:50%;flex-shrink:0;height:28px;width:28px}.member-row-avatar{align-items:center;color:#fff;color:var(--color-white);display:inline-flex;font-size:.75rem;font-weight:700;justify-content:center}.member-row-info{flex:1 1;min-width:0}.member-row-name{font-size:.9rem;font-weight:500}.member-row-email{color:#999;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-panel-empty{color:#aaa;font-size:.85rem}
/*# sourceMappingURL=main.e9cb340d.css.map*/