@import"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap";.montserrat-regular{font-family:Montserrat,sans-serif;font-weight:400;font-style:normal}.montserrat-bold{font-family:Montserrat,sans-serif;font-weight:700;font-style:normal}#root{margin:0;padding:0;height:100%;width:100%}:root{color:var(--color-text);background-color:var(--color-bg-dark);font-family:Montserrat,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;overflow:hidden}:root[data-theme=dark]{color-scheme:dark}:root[data-theme=light]{color-scheme:light}.input-container{display:flex;flex-direction:column;margin-bottom:1rem}.input-container label{color:var(--color-text-muted);margin-bottom:.25rem;font-size:.9rem}.input-container input{padding:.5rem 1rem;border:1px solid var(--color-text-muted);border-radius:8px;background-color:var(--color-bg-light);color:var(--color-text);font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.input-container input:focus{border-color:#1abc9c;box-shadow:0 0 5px #33c9b1;outline:none}.button{padding:1rem;border:none;border-radius:8px;background-color:#1abc9c;color:var(--color-bg-dark);font-weight:600;cursor:pointer;transition:background-color .2s ease,transform .1s ease}.button:hover{background-color:#33c9b1}.button:active{background-color:#179e87;transform:scale(.97)}.toast{position:fixed;padding:1rem 2rem;background-color:var(--color-bg-light);border:1px solid var(--color-border);border-radius:.75rem;box-shadow:0 4px 12px var(--color-shadow);z-index:2000;animation:slideIn .2s ease;min-width:250px;max-width:400px}.toast__message{margin:0;color:var(--color-text);font-size:.9rem;line-height:1.4}.toast--success{border-left:4px solid #2ECC71}.toast--error{border-left:4px solid #E74C3C}.toast--warning{border-left:4px solid #F39C12}.toast--info{border-left:4px solid #1ABC9C}.toast--top-left{top:2rem;left:2rem}.toast--top-center{top:2rem;left:50%;transform:translate(-50%)}.toast--top-right{top:2rem;right:2rem}.toast--bottom-left{bottom:2rem;left:2rem}.toast--bottom-center{bottom:2rem;left:50%;transform:translate(-50%)}.toast--bottom-right{bottom:2rem;right:2rem}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.toast--bottom-left,.toast--bottom-center,.toast--bottom-right{animation:slideInBottom .2s ease}@keyframes slideInBottom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.toast--top-center{animation:slideInCenter .2s ease}.toast--bottom-center{animation:slideInBottomCenter .2s ease}@keyframes slideInCenter{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes slideInBottomCenter{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.signin-page{display:flex;justify-content:center;align-items:center;height:100vh;width:100%;background-color:var(--color-bg-dark);color:var(--color-text)}.signin-card{background-color:var(--color-bg-light);padding:2rem;border-radius:16px;width:100%;max-width:400px;display:flex;flex-direction:column;align-items:stretch;box-shadow:0 10px 30px #0009}.signin-card h1{text-align:center;color:#1abc9c;margin-bottom:.5rem;font-size:2rem}.signin-card form{display:flex;flex-direction:column;align-items:stretch}.signin-card form .input-wrapper{margin-bottom:1rem}.signin-card form button{margin-top:1rem;width:100%}.lock-subtitle{color:var(--color-text-muted);font-size:.9rem;margin-bottom:1rem;text-align:center;line-height:1.5rem}.warming-banner{position:fixed;top:0;left:0;right:0;background:#1abc9c;color:#fff;text-align:center;padding:1rem;font-weight:700;transition:opacity .5s ease,transform .5s ease;opacity:0;transform:translateY(-20px);z-index:1000}.warming-banner.visible{opacity:1;transform:translateY(0)}.warming-banner.hidden{opacity:0;transform:translateY(-20px)}.cookie-notice{position:absolute;right:1rem;bottom:1rem;margin:0;font-size:1rem;color:var(--color-text-muted);-webkit-user-select:none;user-select:none;cursor:default}body{margin:0}.home-page{display:flex;align-items:stretch;height:100vh;padding:.5rem;box-sizing:border-box;gap:.5rem}.home-page .chat-module{flex:1;display:flex;flex-direction:column;transition:flex .3s ease .3s,border-radius .3s ease,margin .3s ease;width:50vw}.home-page.expanded-right .chat-module{flex:1;border-radius:1rem 0 0 1rem;margin-left:-.5rem}.home-page.expanded-left .chat-module{flex:1;border-radius:0 1rem 1rem 0;margin-right:-.5rem}.panel-header{position:relative;display:block;padding:.5rem 1rem;background:var(--color-bg-bright);height:3vh;flex-shrink:0;border-bottom:1px solid var(--color-border-subtle)}.panel-header .panel-title{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;font-size:1rem;font-weight:700;color:var(--color-text);max-width:calc(100% - 6rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.panel-header .panel-expand{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text);cursor:pointer;border-radius:50%;transition:background-color .2s ease,color .2s ease,transform .2s ease;padding:0}.panel-header .panel-expand svg{width:1rem;height:1rem}.panel-header .panel-expand:hover:not(:disabled){background-color:var(--color-border-subtle);color:var(--color-text)}.panel-header .panel-expand:disabled{opacity:.5;cursor:not-allowed}.panel-header .panel-expand{position:absolute;top:50%;transform:translateY(-50%);width:2rem;height:2rem;z-index:2}.panel-header .panel-expand svg{width:16px;height:16px}.panel-header.left .panel-expand{left:.5rem}.panel-header.right .panel-expand{right:.5rem}.event-block{background:var(--color-bg-bright);border-radius:.5rem;padding:1rem;margin-bottom:.25rem;border:1px solid var(--color-border-subtle);border-left:3px solid #1ABC9C;transition:padding .3s ease,border-left-width .3s ease,box-shadow .2s ease}.event-block.task{border-left-color:#ff8c42}.event-block:hover{box-shadow:0 2px 8px var(--color-shadow-light)}.event-block.past{background:#e74c3c26;border-left-color:#e74c3c;opacity:.8}.event-block.past .event-title{color:#e74c3ce6}.event-block.past .event-time-value{color:#e74c3ccc}.event-block.expanded{padding:.5rem 1rem;border-left-width:2px}.event-block.expanded .event-header-compact{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.event-block.expanded .event-header-compact .event-header-left{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.event-block.expanded .event-header-compact .event-title{margin:0;font-size:.9rem;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:font-size .3s ease}.event-block.expanded .event-header-compact .event-date-all-day{font-size:.75rem;color:var(--color-text-muted);font-weight:400}.event-block.expanded .event-header-compact .event-header-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.event-block.expanded .event-header-compact .event-badges{display:flex;gap:.25rem}.event-block.expanded .event-header-compact .event-badge{background:#1abc9c;color:#fff;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;transition:opacity .3s ease,transform .3s ease}.event-block.expanded .event-header-compact .event-badge.task-badge{background:#ff8c42}.event-block.expanded .event-header-compact .event-badge.past-badge{background:#e74c3c}.event-block .event-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;gap:.5rem}.event-block .event-header .event-title{margin:0;font-size:1rem;font-weight:600;color:var(--color-text);flex:1;transition:font-size .3s ease}.event-block .event-header .event-header-right{display:flex;align-items:center;gap:.5rem}.event-block .event-header .event-badges{display:flex;gap:.25rem;transition:opacity .3s ease,transform .3s ease}.event-block .event-header .event-badge{background:#1abc9c;color:#fff;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;transition:opacity .3s ease,transform .3s ease}.event-block .event-header .event-badge.task-badge{background:#ff8c42}.event-block .event-header .event-badge.past-badge{background:#e74c3c}.event-block .event-delete-btn{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text);cursor:pointer;border-radius:50%;transition:background-color .2s ease,color .2s ease,transform .2s ease;padding:0}.event-block .event-delete-btn svg{width:1rem;height:1rem}.event-block .event-delete-btn:hover:not(:disabled){background-color:var(--color-border-subtle);color:var(--color-text)}.event-block .event-delete-btn:disabled{opacity:.5;cursor:not-allowed}.event-block .event-delete-btn{width:1.75rem;height:1.75rem;flex-shrink:0;color:var(--color-text-muted)}.event-block .event-delete-btn:hover:not(:disabled){background:#e74c3c33;color:#e74c3c}.event-block .event-delete-btn .event-delete-icon{font-size:1.25rem;line-height:1;font-weight:300;-webkit-user-select:none;user-select:none}.event-block .event-details{display:flex;flex-direction:column;gap:.25rem;transition:opacity .3s ease,transform .3s ease;transform-origin:top;overflow:hidden}.event-block .event-details .event-time{display:flex;align-items:center;gap:.5rem;font-size:.875rem;transition:opacity .2s ease}.event-block .event-details .event-time .event-time-label{color:var(--color-text-muted);font-weight:500;min-width:60px}.event-block .event-details .event-time .event-time-value{color:var(--color-text)}.event-block.expanded .event-details{opacity:0;transform:scaleY(0);max-height:0;margin:0;overflow:hidden}.cue-panel{flex:0 0 25vw;width:calc(25vw - 4vh);height:100%;border-radius:1rem 0 0 1rem;display:flex;background-color:var(--color-bg-light);flex-direction:column;transition:flex .3s ease,opacity .3s ease;opacity:1;will-change:flex,opacity;overflow:hidden}.cue-panel.hidden{flex:0 0 0;opacity:0;overflow:hidden}.cue-panel.expanded{flex:3}.cue-panel .panel-header{border-radius:1rem 0 0}.cue-panel .panel-content{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column}.cue-panel .panel-content .cue-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-muted);text-align:center;padding:5rem 2rem 2rem;margin:0 auto}.cue-panel .panel-content .cue-empty p{margin:.5rem 0;font-size:.95rem;line-height:1.6}.cue-panel .panel-content .cue-events{display:flex;flex-direction:column;gap:.5rem}.chat-module{height:100%;border-radius:0;background-color:var(--color-bg-light);display:flex;flex-direction:column;overflow:hidden;position:relative}.chat-lantern{position:absolute;left:50%;transform:translate(-50%);filter:opacity(.9);z-index:0;transition:transform .3s ease,opacity .3s ease;pointer-events:none}.chat-lantern img{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;width:17vh;height:auto;filter:drop-shadow(0 2px 8px var(--color-shadow-light))}.chat-lantern.sliding-up{transform:translate(-50%) translateY(-200px);opacity:0}.chat-input{display:flex;align-items:center;gap:.5rem;padding:.57rem;background-color:var(--color-bg-light);border-top:1px solid var(--color-border-subtle)}.chat-input textarea{flex:1;resize:none;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:.75rem;background-color:var(--color-bg-bright);color:var(--color-text);font-size:.95rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease;min-height:2.5rem;max-height:8rem;line-height:1.5}.chat-input textarea::placeholder{color:var(--color-text-muted)}.chat-input textarea:focus{outline:none;border-color:#1abc9c;background-color:var(--color-bg-bright);box-shadow:0 0 0 2px #1abc9c1a}.chat-input button{padding:.75rem;border:none;background:#1abc9c;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease;min-width:2.5rem;width:2.5rem;height:2.5rem;box-shadow:0 2px 4px var(--color-shadow-subtle)}.chat-input button svg{width:1.25rem;height:1.25rem}.chat-input button:hover:not(:disabled){background:#33c9b1;transform:translateY(-1px);box-shadow:0 2px 8px var(--color-shadow-light)}.chat-input button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px var(--color-shadow-subtle)}.chat-input button:disabled{opacity:.4;cursor:not-allowed;transform:none;background:#1abc9c4d}.chat-box{flex:1;overflow-y:auto;padding:1.5rem;background:var(--color-bg-light);display:flex;flex-direction:column;gap:1rem}.chat-box.empty{justify-content:center;align-items:center;padding-top:0}.chat-empty-message{text-align:center;color:var(--color-text-muted);max-width:400px;margin:0 auto;padding-top:10rem}.chat-empty-message p{margin:.5rem 0;font-size:.95rem;line-height:1.6}.chat-message{display:flex;margin-bottom:0}.chat-message.user{justify-content:flex-end}.chat-message.user .bubble{background:#1abc9c;color:#fff;border-radius:1rem 1rem .25rem}.chat-message.assistant{justify-content:flex-start}.chat-message.assistant .bubble{background:var(--color-bg-bright);color:var(--color-text);border-radius:1rem 1rem 1rem .25rem;border:1px solid var(--color-border-subtle)}.chat-message .bubble{padding:.75rem 1rem;max-width:75%;word-wrap:break-word;line-height:1.5;font-size:.95rem}.unselectable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}.chat-header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:var(--color-bg-bright);height:3vh;flex-shrink:0;border-bottom:1px solid var(--color-border-subtle);z-index:1}.chat-header .chat-header-title{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;font-size:1rem;font-weight:700;color:var(--color-text);pointer-events:none}.chat-header .chat-header-button{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text);cursor:pointer;border-radius:50%;transition:background-color .2s ease,color .2s ease,transform .2s ease;padding:0}.chat-header .chat-header-button svg{width:1rem;height:1rem}.chat-header .chat-header-button:hover:not(:disabled){background-color:var(--color-border-subtle);color:var(--color-text)}.chat-header .chat-header-button:disabled{opacity:.5;cursor:not-allowed}.chat-header .chat-header-button{position:absolute;width:2rem;height:2rem;z-index:2}.chat-header .chat-header-button svg{width:16px;height:16px}.chat-header .chat-header-button.account-button{left:.5rem}.chat-header .chat-header-button.settings-button{right:.5rem}.calendar-view{display:flex;flex-direction:row;gap:0;padding:.5rem 0;height:100%;overflow:auto;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}.calendar-view::-webkit-scrollbar{display:none}.calendar-view .days-grid{display:flex;gap:0;flex:1;min-height:112rem;overflow-x:visible;transition:all .2s ease}.calendar-view.expanded{flex-direction:column;padding:0;overflow:hidden}.calendar-view.expanded .days-header{display:flex;gap:0;flex-shrink:0;padding:0;min-height:2.5rem;height:auto;box-sizing:border-box;position:sticky;top:0;z-index:10;background:var(--color-bg-light)}.calendar-view.expanded .days-header .day-header{display:flex;flex-direction:column;align-items:stretch;padding:.5rem 0rem 1rem 0;margin-top:1rem;margin-bottom:0;font-size:1rem;color:var(--color-text-muted);border-right:1px solid var(--color-border-subtle);box-sizing:border-box;transition:flex .2s ease,max-width .2s ease;flex:0 0 calc((100% - 3.5rem - .375rem) / 7);min-width:0;max-width:calc((100% - 3.5rem - .375rem) / 7)}.calendar-view.expanded .days-header .day-header.today{color:#1abc9c;font-weight:600;flex:0 0 calc((100% - 3.5rem - .375rem) / 7 + 3.5rem);max-width:calc((100% - 3.5rem - .375rem) / 7 + 3.5rem)}.calendar-view.expanded .days-header .day-header:last-child{border-right:none}.calendar-view.expanded .days-header .day-header .day-label{text-transform:capitalize;padding-right:1rem;text-align:right;margin-bottom:.25rem;text-decoration:underline;text-decoration-color:currentColor}.calendar-view.expanded .days-header .day-header .all-day-section{position:relative;display:flex;flex-direction:column;gap:.125rem;padding:0 .25rem;min-height:1.5rem}.calendar-view.expanded .days-header .day-header .all-day-section .all-day-event{background:#1abc9c;border-radius:.25rem;padding:.25rem .5rem;color:#fff;font-size:.7rem;display:flex;align-items:center;gap:.25rem;overflow:hidden;cursor:pointer;transition:opacity .2s ease,transform .2s ease,box-shadow .2s ease;min-height:1.5rem}.calendar-view.expanded .days-header .day-header .all-day-section .all-day-event.has-overlaps:hover{transform:translateY(-1px);box-shadow:0 2px 8px var(--color-shadow-light)}.calendar-view.expanded .days-header .day-header .all-day-section .all-day-event.highlighted{opacity:1;transform:translateY(-1px);box-shadow:0 2px 8px #0000004d}.calendar-view.expanded .days-header .day-header .all-day-section .all-day-event.past{background:#e74c3c4d;opacity:.8}.calendar-view.expanded .days-header .day-header .all-day-section .all-day-event .all-day-event-title{flex:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.calendar-view.expanded .days-header .day-header .all-day-section .all-day-event .event-overlap-badge{position:absolute;right:.25rem;background:#00000080;color:#fff;font-size:.55rem;font-weight:600;padding:.125rem .25rem;border-radius:.25rem;line-height:1;z-index:1}.calendar-view.expanded .days-content{flex:1;min-height:0;overflow:auto;padding:0;scrollbar-width:none;-ms-overflow-style:none}.calendar-view.expanded .days-content::-webkit-scrollbar{display:none}.calendar-view.expanded .days-content .days-grid{display:flex;gap:0;width:100%;box-sizing:border-box;overflow-x:hidden;min-height:109rem}.calendar-view.expanded .calendar-day{flex:0 0 calc((100% - 3.5rem - .375rem) / 7);min-width:0;max-width:calc((100% - 3.5rem - .375rem) / 7);box-sizing:border-box;display:flex;flex-direction:column;height:109rem;transition:flex .2s ease,max-width .2s ease}.calendar-view.expanded .calendar-day.today{flex:0 0 calc((100% - 3.5rem - .375rem) / 7 + 3.5rem);min-width:0;max-width:calc((100% - 3.5rem - .375rem) / 7 + 3.5rem);box-sizing:border-box;transition:flex .2s ease,max-width .2s ease}.calendar-view.expanded .calendar-day:last-child{border-right:none}.calendar-view.expanded .calendar-day .day-header{display:none}.calendar-view.compact{flex-direction:column;padding:0;overflow:hidden}.calendar-view.compact .days-header{display:flex;gap:0;flex-shrink:0;padding:0;min-height:2.5rem;height:auto;box-sizing:border-box;position:sticky;top:0;z-index:10;background:var(--color-bg-light)}.calendar-view.compact .days-header .day-header{display:flex;flex-direction:column;align-items:stretch;padding:.5rem 0rem 1rem 0;margin-top:1rem;margin-bottom:0;font-size:1rem;color:var(--color-text-muted);border-right:1px solid var(--color-border-subtle);box-sizing:border-box;flex:1;min-width:0;transition:flex .2s ease,max-width .2s ease}.calendar-view.compact .days-header .day-header.today{color:#1abc9c;font-weight:600}.calendar-view.compact .days-header .day-header:last-child{border-right:none}.calendar-view.compact .days-header .day-header .day-label{text-transform:capitalize;padding-right:1rem;text-align:right;margin-bottom:.25rem;text-decoration:underline;text-decoration-color:currentColor}.calendar-view.compact .days-header .day-header .all-day-section{position:relative;display:flex;flex-direction:column;gap:.125rem;padding:0 .25rem;min-height:1.5rem}.calendar-view.compact .days-header .day-header .all-day-section .all-day-event{background:#1abc9c;border-radius:.25rem;padding:.25rem .5rem;color:#fff;font-size:.7rem;display:flex;align-items:center;gap:.25rem;overflow:hidden;cursor:pointer;transition:opacity .2s ease,transform .2s ease,box-shadow .2s ease;min-height:1.5rem}.calendar-view.compact .days-header .day-header .all-day-section .all-day-event.has-overlaps:hover{transform:translateY(-1px);box-shadow:0 2px 8px var(--color-shadow-light)}.calendar-view.compact .days-header .day-header .all-day-section .all-day-event.highlighted{opacity:1;transform:translateY(-1px);box-shadow:0 2px 8px #0000004d}.calendar-view.compact .days-header .day-header .all-day-section .all-day-event.past{background:#e74c3c4d;opacity:.8}.calendar-view.compact .days-header .day-header .all-day-section .all-day-event .all-day-event-title{flex:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.calendar-view.compact .days-header .day-header .all-day-section .all-day-event .event-overlap-badge{position:absolute;right:.25rem;background:#00000080;color:#fff;font-size:.55rem;font-weight:600;padding:.125rem .25rem;border-radius:.25rem;line-height:1;z-index:1}.calendar-view.compact .days-content{flex:1;min-height:0;overflow:auto;padding:0;scrollbar-width:none;-ms-overflow-style:none}.calendar-view.compact .days-content::-webkit-scrollbar{display:none}.calendar-view.compact .days-content .days-grid{display:flex;gap:0;width:100%;box-sizing:border-box;overflow-x:hidden;min-height:109rem}.calendar-view.compact .calendar-day{flex:1;min-width:0;display:flex;flex-direction:column;height:109rem;transition:flex .2s ease,max-width .2s ease}.calendar-view.compact .calendar-day .day-header{display:none}.calendar-view .calendar-day{flex:1;min-width:0;display:flex;flex-direction:column;height:101rem;border-right:1px solid var(--color-border-subtle);box-sizing:border-box}.calendar-view .calendar-day.today .day-header{color:#1abc9c;font-weight:600}.calendar-view .calendar-day .day-header{display:flex;align-items:center;justify-content:right;padding-top:.5rem;margin-bottom:.25rem;font-size:1rem;color:var(--color-text-muted)}.calendar-view .calendar-day .day-header .day-label{text-transform:capitalize;padding-right:1rem;text-decoration:underline;text-decoration-color:currentColor}.calendar-view .calendar-day .day-timeline{flex:1;min-height:0;position:relative;overflow:hidden}.calendar-view .calendar-day .day-timeline .timeline-content{position:relative;min-height:109rem;height:109rem;width:100%;padding-bottom:0;box-sizing:border-box}.calendar-view .calendar-day .day-timeline .timeline-content .hour-line-span{position:absolute;left:0;right:0;height:1px;background:var(--color-border-subtle);pointer-events:none;z-index:0;display:flex;align-items:center;transform:translateY(0)}.calendar-view .calendar-day .day-timeline .timeline-content .hour-line-span .hour-label-chip{position:absolute;left:.5rem;font-size:.65rem;color:var(--color-text);background:var(--color-bg-bright);padding:.125rem .375rem;border-radius:.25rem;z-index:1}.calendar-view .calendar-day .calendar-event{position:absolute;background:#1abc9c;border-radius:.25rem;padding:.25rem .5rem;color:#fff;font-size:.7rem;display:flex;flex-direction:column;gap:.125rem;overflow:hidden;cursor:pointer;transition:left .2s ease,right .2s ease,width .2s ease,background .2s ease,filter .2s ease,opacity .2s ease,transform .2s ease,box-shadow .2s ease;z-index:2;box-sizing:border-box;margin:0;min-height:1.5rem}.calendar-view .calendar-day .calendar-event.task{background:#ff8c42;min-height:1.3rem;padding:.25rem .5rem}.calendar-view .calendar-day .calendar-event.has-overlaps{box-shadow:0 2px 8px var(--color-shadow-light)}.calendar-view .calendar-day .calendar-event.has-overlaps:hover{filter:brightness(.9)}.calendar-view .calendar-day .calendar-event.highlighted{opacity:1;box-shadow:0 2px 8px var(--color-shadow-light)}.calendar-view .calendar-day .calendar-event .event-overlap-badge{position:absolute;top:.125rem;right:.25rem;background:#00000080;color:#fff;font-size:.55rem;font-weight:600;padding:.125rem .25rem;border-radius:.25rem;line-height:1;z-index:1}.calendar-view .calendar-day .calendar-event .event-title{line-height:1.2;min-height:1rem}.calendar-view .calendar-day .calendar-event .event-time{line-height:1}.calendar-view .calendar-day .calendar-event.task.past{background:#e74c3ccc;opacity:.9}.calendar-view .calendar-day .calendar-event.past{background:#e74c3c}.calendar-view .calendar-day .calendar-event .event-title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-view .calendar-day .calendar-event .event-time{font-size:.6rem;opacity:.9}.side-calendar-panel{flex:0 0 25vw;width:calc(25vw - 4vh);height:100%;border-radius:0 1rem 1rem 0;display:flex;background-color:var(--color-bg-light);flex-direction:column;transition:flex .3s ease,opacity .3s ease;opacity:1;will-change:flex,opacity;overflow:hidden}.side-calendar-panel.hidden{flex:0 0 0;opacity:0;overflow:hidden}.side-calendar-panel.expanded{flex:3}.side-calendar-panel .panel-header{border-radius:0 1rem 0 0}.side-calendar-panel .panel-content{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0;padding-bottom:1rem;box-sizing:border-box}.settings-modal-backdrop{position:fixed;inset:0;background:var(--color-backdrop);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.settings-modal{position:relative;background:var(--color-bg-light);border-radius:1.5rem;max-width:500px;width:90%;max-height:80vh;overflow:hidden;box-shadow:0 20px 60px var(--color-shadow);animation:slideUp .3s ease;border:1px solid var(--color-border)}.settings-modal-close{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text);cursor:pointer;border-radius:50%;transition:background-color .2s ease,color .2s ease,transform .2s ease;padding:0}.settings-modal-close svg{width:1rem;height:1rem}.settings-modal-close:hover:not(:disabled){background-color:var(--color-border-subtle);color:var(--color-text)}.settings-modal-close:disabled{opacity:.5;cursor:not-allowed}.settings-modal-close{background:var(--color-bg-bright);border:1px solid var(--color-border)}.settings-modal-close:hover:not(:disabled){background:var(--color-border-subtle)}.settings-modal-close{position:absolute;top:1rem;right:1rem;width:2.5rem;height:2.5rem;z-index:10}.settings-modal-close svg{width:1.25rem;height:1.25rem}.settings-modal-close:hover:not(:disabled){background:#e74c3c33;color:#e74c3c}.settings-modal-content{padding:2.5rem 2rem 2rem;overflow-y:auto;max-height:80vh}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}:root{--color-bg-dark: #1B1B1B;--color-bg-light: #2C2C2C;--color-bg-bright: #3D3D3D;--color-text: #E0E0E0;--color-text-muted: #A0A0A0;--color-border: rgba(255, 255, 255, .1);--color-border-subtle: rgba(255, 255, 255, .05);--color-backdrop: rgba(0, 0, 0, .7);--color-shadow: rgba(0, 0, 0, .5);--color-shadow-light: rgba(0, 0, 0, .3);--color-shadow-subtle: rgba(0, 0, 0, .1)}[data-theme=light]{--color-bg-dark: #F5F5F0;--color-bg-light: #FFFFFF;--color-bg-bright: #FAFAF5;--color-text: #2C2C2C;--color-text-muted: #6B6B6B;--color-border: rgba(0, 0, 0, .15);--color-border-subtle: rgba(0, 0, 0, .1);--color-backdrop: rgba(0, 0, 0, .7);--color-shadow: rgba(0, 0, 0, .3);--color-shadow-light: rgba(0, 0, 0, .2);--color-shadow-subtle: rgba(0, 0, 0, .1)}.settings .settings-title{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;margin:0 0 2rem;font-size:1.75rem;font-weight:600;color:var(--color-text)}.settings .settings-item{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:1rem}.settings .settings-item-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;display:flex;flex-direction:column;gap:.25rem;flex:1}.settings .settings-item-title{font-size:1rem;font-weight:500;color:var(--color-text)}.settings .settings-item-description{font-size:.875rem;color:var(--color-text-muted)}.settings .settings-toggle{display:flex;gap:.5rem;background:var(--color-bg-bright);border-radius:.75rem;padding:.25rem;border:1px solid var(--color-border)}.settings .settings-toggle-option{padding:.5rem 1.25rem;border:none;background:transparent;color:var(--color-text-muted);border-radius:.5rem;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease}.settings .settings-toggle-option:hover{color:var(--color-text);background:var(--color-border-subtle)}.settings .settings-toggle-option.active{background:#1abc9c;color:#fff}
