.app-layout{display:flex;width:100vw;height:100vh;overflow:hidden}.sidebar{width:60px;min-width:60px;height:100%;background-color:#2c3e50;display:flex;flex-direction:column;align-items:center;padding:12px 0}.sidebar-left{justify-content:flex-start;gap:8px}.sidebar-right{justify-content:space-between}.sidebar-right-top,.sidebar-right-bottom{display:flex;flex-direction:column;align-items:center;gap:8px}.sidebar-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease;background-color:transparent;border:none;padding:0}.sidebar-icon:hover{background-color:#ffffff1a}.sidebar-icon.active{background-color:#fff3}.sidebar-icon img{width:24px;height:24px;filter:brightness(0) invert(1);opacity:.8;transition:opacity .2s ease}.sidebar-icon:hover img,.sidebar-icon.active img{opacity:1}.main-content{flex:1;height:100%;overflow:hidden;background-color:#f8f9fa}.profile-placeholder{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;padding:24px 32px;border-radius:12px;box-shadow:0 4px 20px #00000026;z-index:1000;text-align:center}.profile-placeholder h3{margin-bottom:8px;color:#2c3e50}.profile-placeholder p{color:#7f8c8d;margin-bottom:16px}.profile-placeholder button{background:#3498db;color:#fff;border:none;padding:8px 24px;border-radius:6px;cursor:pointer;font-size:14px}.profile-placeholder button:hover{background:#2980b9}.profile-overlay{position:fixed;inset:0;background:#0000004d;z-index:999}.agent-panel{position:fixed;top:0;right:0;width:400px;height:100vh;background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-left:2px solid #e9ecef;display:flex;flex-direction:column;z-index:1001;box-shadow:-4px 0 20px #00000026;transform:translate(0);transition:transform .3s ease}.agent-panel-header{padding:20px;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;align-items:center;background:#f8f9facc}.agent-panel-header h3{color:#495057;font-weight:600;margin:0;font-size:18px}.agent-close-btn{background:none;border:none;font-size:20px;color:#6c757d;cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.agent-close-btn:hover{background:#6c757d1a;color:#495057}.agent-chat{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:15px}.agent-message{display:flex;flex-direction:column;max-width:80%}.agent-message.user{align-self:flex-end}.agent-message.agent{align-self:flex-start}.message-content{padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.4;word-wrap:break-word;white-space:pre-wrap}.agent-message.user .message-content{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;border-bottom-right-radius:4px}.agent-message.agent .message-content{background:#f8f9fae6;color:#495057;border:1px solid #e9ecef;border-bottom-left-radius:4px}.message-time{font-size:11px;color:#868e96;margin-top:4px;padding:0 4px}.agent-message.user .message-time{text-align:right}.agent-message.agent .message-time{text-align:left}.agent-input-area{padding:20px;border-top:2px solid #e9ecef;display:flex;gap:10px;background:#f8f9fa80}.agent-input{flex:1;padding:12px;border:2px solid #e9ecef;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s ease;background:#fff}.agent-input:focus{border-color:#007bff}.agent-send-btn{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #007bff4d}.agent-send-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #007bff66}.agent-send-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.todo-container{height:100%;display:flex;flex-direction:column;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.todo-header{background:#fffffff2;padding:20px 24px;border-bottom:2px solid #e9ecef;box-shadow:0 4px 15px #00000026}.todo-header h1{margin:0;font-size:28px;font-weight:400;color:#495057}.todo-stats{margin-top:6px;font-size:14px;color:#6c757d;font-weight:500}.todo-list{flex:1;overflow-y:auto;padding:16px 24px}.todo-empty{text-align:center;padding:48px 24px;color:#7f8c8d}.todo-empty p{margin:0;font-size:16px}.todo-section{margin-bottom:16px}.todo-section-header{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fffc;border-radius:8px;cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:8px;transition:background .2s ease}.todo-section-header:hover{background:#fffffff2}.todo-section-arrow{font-size:10px;color:#6c757d;transition:transform .2s ease;display:inline-block}.todo-section-arrow.open{transform:rotate(90deg)}.todo-section-title{font-size:14px;font-weight:600;color:#495057;text-transform:uppercase;letter-spacing:.5px}.todo-section-count{font-size:12px;color:#fff;background:#6c757d;border-radius:10px;padding:1px 8px;min-width:20px;text-align:center;font-weight:500}.todo-section-body{padding-left:4px}.todo-section-empty{text-align:center;padding:16px;color:#95a5a6;font-size:14px}.event-todo-group{border-left:4px solid #495057;border-radius:0 8px 8px 0;background:#ffffff80;padding:8px 12px;margin-bottom:10px}.event-todo-group-header{display:flex;align-items:center;gap:8px;padding-bottom:8px;margin-bottom:4px;border-bottom:1px solid rgba(0,0,0,.06)}.event-todo-group-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.event-todo-group-title{font-size:14px;font-weight:600;color:#495057;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-todo-group-date{font-size:12px;color:#6c757d;font-weight:500;white-space:nowrap}.todo-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ffffffe6;border-radius:8px;margin-bottom:8px;box-shadow:0 1px 3px #00000014;transition:box-shadow .2s ease}.todo-item:hover{box-shadow:0 2px 8px #0000001f}.todo-item.completed{opacity:.7;background:#f5f5f5e6}.todo-checkbox{width:20px;height:20px;border:2px solid #ddd;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.todo-checkbox:hover{border-color:#495057}.todo-checkbox.checked{background:#495057;border-color:#495057}.todo-checkbox.checked:after{content:"✓";color:#fff;font-size:12px;font-weight:700}.todo-content{flex:1;min-width:0}.todo-title{font-size:15px;color:#2c3e50;word-break:break-word}.todo-item.completed .todo-title{text-decoration:line-through;color:#95a5a6}.todo-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s ease}.todo-item:hover .todo-actions{opacity:1}.todo-action-btn{width:28px;height:28px;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:background-color .2s ease}.todo-action-btn.edit{background:#e8f4fd;color:#3498db}.todo-action-btn.edit:hover{background:#d4ecfb}.todo-action-btn.delete{background:#fdeaea;color:#e74c3c}.todo-action-btn.delete:hover{background:#fbdada}.todo-add-section{padding:16px 24px;background:#fffffff2;border-top:1px solid #e9ecef}.todo-add-btn{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f8f9facc;border:2px dashed #cbd5e0;border-radius:8px;cursor:pointer;width:100%;font-size:14px;color:#495057;transition:all .2s ease}.todo-add-btn:hover{background:#e9ecefcc;border-color:#495057}.todo-input-form{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ffffffe6;border-radius:8px;box-shadow:0 1px 3px #00000014;margin-bottom:8px}.todo-input{flex:1;border:none;outline:none;font-size:15px;padding:4px 0;color:#2c3e50;background:transparent}.todo-input::placeholder{color:#95a5a6}.todo-input-actions{display:flex;gap:4px}.todo-confirm-btn{width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:background-color .2s ease}.todo-confirm-btn.save{background:#28a745;color:#fff}.todo-confirm-btn.save:hover{background:#218838}.todo-confirm-btn.save:disabled{background:#95a5a6;cursor:not-allowed}.todo-confirm-btn.cancel{background:#f0f0f0;color:#7f8c8d}.todo-confirm-btn.cancel:hover{background:#e0e0e0}.toast-container{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:10px;z-index:2000;pointer-events:none}.toast{display:flex;align-items:center;gap:12px;padding:14px 20px;border-radius:10px;background:#212529;color:#fff;font-size:14px;font-weight:500;box-shadow:0 8px 24px #00000040;animation:toastSlideIn .3s ease,toastFadeOut .3s ease 2.7s forwards;pointer-events:auto}.toast-error{background:linear-gradient(135deg,#dc3545,#c82333)}.toast-warning{background:linear-gradient(135deg,#fd7e14,#e8590c)}.toast-success{background:linear-gradient(135deg,#28a745,#1e7e34)}.toast-info{background:linear-gradient(135deg,#17a2b8,#138496)}.toast-icon{font-size:16px;font-weight:700}.toast-message{flex:1}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes toastFadeOut{0%{opacity:1}to{opacity:0}}*{margin:0;padding:0;box-sizing:border-box}body{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;background-color:#f8f9fa;color:#495057;overflow-x:hidden}#root{width:100vw;height:100vh}.calendar-container{width:100%;height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);display:flex;flex-direction:column;overflow:hidden}.calendar-header{background:#fffffff2;padding:20px;border-bottom:2px solid #e9ecef;box-shadow:0 4px 15px #00000026}.week-navigation{display:flex;align-items:center;justify-content:space-between;gap:15px}.week-info{flex:1;text-align:center}.header-date{font-size:28px;font-weight:400;color:#495057;margin-bottom:5px}.header-day{font-size:16px;color:#6c757d;font-weight:500}.nav-btn{background:linear-gradient(135deg,#495057,#343a40);color:#fff;border:none;width:40px;height:40px;border-radius:8px;font-size:18px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #4950574d}.nav-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #49505766}.today-btn{background:linear-gradient(135deg,#6c757d,#495057);color:#fff;border:none;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #6c757d4d}.today-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6c757d66}.agent-btn{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;border:none;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #007bff4d}.agent-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #007bff66}.week-days-header{display:grid;grid-template-columns:80px repeat(7,1fr);background:#ffffffe6;border-bottom:2px solid #dee2e6;box-shadow:0 2px 8px #00000014}.time-column-header{border-right:2px solid #e9ecef}.day-header{padding:15px 10px;text-align:center;border-right:1px solid #e9ecef;background:#f8f9fa80}.day-header:last-child{border-right:none}.day-name{font-size:14px;font-weight:600;color:#495057;text-transform:uppercase;margin-bottom:4px}.day-number{font-size:24px;font-weight:300;color:#6c757d}.calendar-grid{display:grid;grid-template-columns:80px repeat(7,1fr);flex:1;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.calendar-grid::-webkit-scrollbar{display:none}.time-scale{background:#fffffff2;border-right:1px solid #e9ecef;position:relative}.time-slot{height:60px;border-bottom:1px solid #d0d4d8;display:flex;align-items:center;justify-content:center;font-size:12px;color:#868e96;font-weight:500}.time-slot:first-child{border-top:1px solid #d0d4d8}.day-column{background:#ffffffd9;position:relative;border-right:1px solid #e9ecef}.day-column:last-child{border-right:none}.hour-cell{height:60px;border-bottom:1px solid #d0d4d8;position:relative}.hour-cell:first-child{border-top:1px solid #e9ecef}.current-time-line{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,#dc3545,#fd7e14);z-index:10;box-shadow:0 1px 3px #dc35454d}.current-time-dot{position:absolute;left:-6px;top:-5px;width:12px;height:12px;background:#dc3545;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 6px #dc354566}.drag-selection{position:absolute;left:2px;right:2px;background:#007bff33;border:2px solid rgba(0,123,255,.5);border-radius:6px;pointer-events:none;z-index:5}.event{position:absolute;left:4px;right:4px;color:#fff;border-radius:8px;padding:10px;font-size:14px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #00000040;border-left:4px solid;overflow:hidden}.event:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000059;filter:brightness(1.1)}.event-title{font-weight:600;margin-bottom:4px;color:#fff}.event-time{font-size:12px;opacity:.95;color:#e9ecef;font-weight:500}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;width:400px;max-width:90vw;max-height:85vh;display:flex;flex-direction:column}.modal-body{flex:1;overflow-y:auto;padding:0 30px}.modal .form-actions{padding:20px 30px 30px}.modal h3{padding:30px 30px 0;margin-bottom:20px;color:#495057;font-weight:500;flex-shrink:0}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:5px;color:#6c757d;font-weight:500;font-size:14px}.form-group input{width:100%;padding:12px;border:2px solid #e9ecef;border-radius:6px;font-size:14px;transition:border-color .2s ease;background:#f8f9fa}.form-group input:focus{outline:none;border-color:#6c757d;background:#fff}.form-actions{display:flex;gap:10px;justify-content:flex-end}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#6c757d,#495057);color:#fff}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 8px #6c757d4d}.btn-secondary{background:#f8f9fa;color:#6c757d;border:2px solid #e9ecef}.btn-secondary:hover{background:#e9ecef}.btn-danger{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.btn-danger:hover{transform:translateY(-1px);box-shadow:0 4px 8px #dc35454d}.color-picker{display:flex;gap:8px;flex-wrap:wrap}.color-option{width:32px;height:32px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:all .2s ease;padding:0}.color-option:hover{transform:scale(1.1);box-shadow:0 2px 8px #00000040}.color-option.selected{border-color:#212529;box-shadow:0 0 0 2px #fff,0 0 0 4px #212529}.form-group-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.btn-add-task{width:28px;height:28px;border:none;border-radius:50%;background:linear-gradient(135deg,#6c757d,#495057);color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 6px #4950574d}.btn-add-task:hover{transform:scale(1.1);box-shadow:0 3px 8px #49505766}.task-draft-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.task-draft-row input{flex:1;padding:10px 12px;border:2px solid #e9ecef;border-radius:6px;font-size:14px;transition:border-color .2s ease;background:#f8f9fa}.task-draft-row input:focus{outline:none;border-color:#6c757d;background:#fff}.btn-remove-task{width:28px;height:28px;border:none;border-radius:4px;background:#fdeaea;color:#e74c3c;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color .2s ease}.btn-remove-task:hover{background:#fbdada}
