.calendar-page-container{width:100%;min-height:100vh;background:linear-gradient(135deg,hsl(var(--background)),hsl(var(--muted)),hsl(var(--background)));padding:2rem}.calendar-main-layout{display:grid;grid-template-columns:1fr 380px;gap:2rem;max-width:1600px;margin:0 auto;align-items:start}.calendar-main-section{display:flex;flex-direction:column;gap:1.5rem}.event-filter-buttons{margin-bottom:.5rem}.filter-buttons-container{display:inline-flex;position:relative;background:#0000000d;border:none;border-radius:8px;padding:0;gap:0;overflow:hidden;box-shadow:0 2px 8px #00000003}.filter-slider{position:absolute;top:0;left:0;width:calc(100% / 3);height:100%;background:#fff;border:1.5px solid rgba(0,0,0,.15);border-radius:8px;transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:1;pointer-events:none}.filter-btn{position:relative;z-index:2;padding:.4375rem .5rem;border:none;background:transparent;color:#0006;font-size:.875rem;font-weight:600;cursor:pointer;transition:color .2s ease;font-family:Inter,sans-serif;flex:1;width:96px;white-space:nowrap}.filter-btn:hover{color:#0009}.filter-btn.active{color:hsl(var(--foreground));font-weight:600}.filter-btn:disabled,.filter-btn.disabled{opacity:.5;cursor:not-allowed}.filter-btn:disabled:hover,.filter-btn.disabled:hover{color:#0006}.calendar-section-container{background:#ffffff08;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1.5px solid rgba(0,0,0,.1);box-shadow:0 4px 16px #0000000d;border-radius:16px;overflow:hidden}.calendar-controls{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.1);gap:1.5rem}.calendar-controls-left,.calendar-controls-right{display:flex;align-items:center;gap:1rem}.calendar-navigation-group{display:flex;align-items:center;gap:0;background:transparent;border:1.5px solid rgba(0,0,0,.15);border-radius:8px;padding:0;overflow:hidden}.nav-arrow-btn{display:flex;align-items:center;justify-content:center;width:32px;min-height:36px;border-radius:0;border:none;background:transparent;color:hsl(var(--foreground));cursor:pointer;transition:all .2s ease;flex-shrink:0}.nav-arrow-btn:first-of-type{border-right:1.5px solid rgba(0,0,0,.15)}.nav-arrow-btn:last-of-type{border-left:1.5px solid rgba(0,0,0,.15)}.nav-arrow-btn:hover{background:#0000000d}.nav-today-btn{display:flex;align-items:center;padding:.5rem 1rem;min-height:36px;border-radius:0;border:none;border-left:1.5px solid rgba(0,0,0,.15);border-right:1.5px solid rgba(0,0,0,.15);background:transparent;color:hsl(var(--foreground));font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:Inter,sans-serif;white-space:nowrap}.nav-today-btn:hover{background:#0000000d}.view-selector{padding:.5rem 1rem;border-radius:8px;border:1.5px solid rgba(0,0,0,.15);background:#fff;color:hsl(var(--foreground));font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:Inter,sans-serif;outline:none}.view-selector:hover{background:#fffffff2}.view-selector:focus{border-color:#0003}.add-event-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:8px;border:1.5px solid rgba(0,0,0,.15);background:#fff;color:hsl(var(--foreground));font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:Inter,sans-serif}.add-event-btn:hover{background:#fffffff2}.calendar-icon-box{width:56px;height:56px;border-radius:8px;overflow:hidden;background:#ffffff1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;flex-direction:column;box-shadow:0 1px 4px #0000001a}.calendar-icon-top{height:40%;background:#bfc7d64d;display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:600;color:hsl(var(--foreground));text-transform:uppercase;letter-spacing:.05em;font-family:Inter,sans-serif}.calendar-icon-bottom{height:60%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;color:hsl(var(--foreground));font-family:Inter,sans-serif}.date-range-display{display:flex;flex-direction:column;gap:.25rem}.date-range-month-year{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));font-family:Inter,sans-serif}.date-range-dates{font-size:.8125rem;color:hsl(var(--muted-foreground));font-family:Inter,sans-serif}.calendar-grid-wrapper{padding:0}.calendar-grid{display:flex;flex-direction:column;gap:0}.calendar-day-headers{display:grid;grid-template-columns:repeat(7,1fr);gap:0;border-bottom:1px solid rgba(0,0,0,.1);margin:0;padding:0}.calendar-day-header{display:flex;align-items:center;justify-content:center;padding:.25rem;background:transparent;font-size:.625rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;font-family:Inter,sans-serif}.calendar-days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:0}.calendar-day-cell{aspect-ratio:1;min-height:100px;padding:.75rem;border-right:1px solid rgba(0,0,0,.1);border-bottom:1px solid rgba(0,0,0,.1);background:#ffffff08;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:.5rem;position:relative}.calendar-days-grid>.calendar-day-cell:nth-child(-n+7){border-top:none}.calendar-days-grid>.calendar-day-cell:nth-child(7n){border-right:none}.calendar-days-grid>.calendar-day-cell:nth-last-child(-n+7){border-bottom:none}.calendar-days-grid>.calendar-day-cell:nth-last-child(7){border-bottom-left-radius:16px}.calendar-days-grid>.calendar-day-cell:nth-last-child(1){border-bottom-right-radius:16px}.calendar-day-cell:hover{background:#ffffff14}.calendar-day-cell.selected{background:#0000000d}.calendar-day-cell.other-month,.calendar-day-cell.other-month .calendar-day-number{color:#0000001a}.calendar-day-cell.other-month .event-dot{opacity:.3}.calendar-day-cell.other-month .event-more{color:#0000001a}.calendar-day-number-wrapper{display:flex;align-items:flex-start}.calendar-day-number{font-size:.8125rem;font-weight:600;color:hsl(var(--foreground));font-family:Inter,sans-serif}.calendar-day-number.today-circle{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#000;color:#fff;font-weight:600;font-size:.8125rem}.calendar-day-events{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:auto}.event-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.event-dot.personal{background:#3b82f6}.event-dot.public{background:#22c55e}.event-more{font-size:.625rem;color:hsl(var(--muted-foreground));font-weight:500;font-family:Inter,sans-serif}.action-items-sidebar{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000001a;border-radius:16px;padding:1.5rem;height:-moz-fit-content;height:fit-content;max-height:calc(100vh - 4rem);display:flex;flex-direction:column;position:sticky;top:2rem}.action-items-header{margin-bottom:1.5rem}.action-items-title{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground));margin:0;font-family:Inter,sans-serif}.action-items-list{display:flex;flex-direction:column;gap:.75rem;overflow-y:auto;flex:1}.action-item{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.05);cursor:pointer;transition:all .2s ease}.action-item:hover{background:#ffffff14;border-color:#ffffff1a;transform:translate(4px)}.action-item.urgent{border-left:3px solid rgba(239,68,68,.5)}.action-item.completed{opacity:.6}.action-item.completed .action-item-text{text-decoration:line-through}.action-item-checkbox{flex-shrink:0;color:hsl(var(--muted-foreground));transition:all .2s ease}.action-item:hover .action-item-checkbox{color:hsl(var(--foreground))}.action-item.completed .action-item-checkbox{color:#22c55e}.action-item-text{flex:1;font-size:.875rem;color:hsl(var(--foreground));font-family:Inter,sans-serif;line-height:1.5}.action-items-empty{padding:2rem;text-align:center;color:hsl(var(--muted-foreground));font-size:.875rem;font-family:Inter,sans-serif}@media(max-width:1200px){.calendar-main-layout{grid-template-columns:1fr}.action-items-sidebar{position:relative;top:0;max-height:none}}@media(max-width:768px){.calendar-page-container{padding:1rem}.calendar-controls{flex-direction:column;align-items:stretch;gap:1rem}.calendar-controls-left,.calendar-controls-right{justify-content:space-between}.calendar-day-cell{min-height:80px;padding:.5rem}.calendar-navigation-group{flex:1}}
