.calendar-workspace{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(275px,.8fr);gap:18px;margin-top:18px}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px;flex-wrap:wrap}
.calendar-toolbar h2{font:700 22px 'Space Grotesk',sans-serif;margin:0}
.calendar-actions{display:flex;gap:7px;align-items:center}
.calendar-arrow{background:#23344d;color:#d5e4f7;border:1px solid #3a4d67;border-radius:10px;padding:9px 12px;font-weight:700}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.calendar-weekday{text-align:center;color:#91a7c1;font-size:11px;padding:9px 0;font-weight:700}
.calendar-date{background:#15273c;border:1px solid #30435c;border-radius:13px;color:#e3eeff;min-height:87px;text-align:left;padding:10px;display:flex;flex-direction:column;gap:8px;transition:background .15s,border-color .15s;min-width:0}
.calendar-date:hover{background:#233952}.calendar-date.selected{background:#285045;border-color:var(--accent)}.calendar-date.outside{opacity:.31}
.calendar-date .date-number{font:700 15px 'Space Grotesk',sans-serif}.calendar-date.today .date-number{color:var(--accent)}
.calendar-date .date-dots{display:flex;gap:4px;flex-wrap:wrap}.calendar-date .date-dots i{width:6px;height:6px;border-radius:50%;background:#b8c6e6}.calendar-date .date-dots i.health{background:#79e0a7}.calendar-date .date-dots i.study{background:#91b9ff}.calendar-date .date-dots i.work{background:#d2a3e8}.calendar-date .date-dots i.personal{background:#f9bd85}
.schedule-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.schedule-head p{margin:4px 0 0}
.hour-scroll{max-height:490px;overflow-y:auto;scrollbar-color:#546b81 transparent;padding-right:5px;scroll-behavior:smooth}
.hour-line{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;align-items:stretch;min-height:65px;border-top:1px solid #29394e;padding-top:8px}
.hour-line>span{font-size:11px;color:#99aec5;padding-top:9px;font-variant-numeric:tabular-nums}
.hour-slot{border:1px dashed #334964;border-radius:10px;background:#142337;color:#8fa9c1;text-align:left;min-height:45px;padding:9px;font-size:12px;display:flex;gap:7px;flex-direction:column}
.hour-slot:hover{border-color:var(--accent);background:#1b3048}.hour-slot b{color:#d9e6f8;font-size:12px;overflow-wrap:anywhere}.hour-slot em{font-size:10px;font-style:normal;color:#92a5bf}
.slot-item{display:flex;align-items:center;gap:7px;justify-content:space-between}.slot-item button{border:0;border-radius:7px;background:#384e67;color:#dfe9f7;padding:4px 7px;font-size:10px}
.calendar-editor{position:fixed;z-index:6;inset:0;background:#020711d9;display:none;align-items:center;justify-content:center;padding:18px}.calendar-editor.open{display:flex}.calendar-editor .card{width:min(100%,470px)}
.calendar-editor input,.calendar-editor select,.calendar-editor textarea{width:100%;padding:12px;color:#eef5ff;background:#0e1c30;border:1px solid #3d506b;border-radius:10px}
.calendar-editor label{display:block;color:#b2c5dc;font-size:12px;margin:12px 0 5px}.calendar-editor .row-buttons{display:flex;justify-content:flex-end;gap:8px;align-items:center;margin-top:20px}.calendar-editor .danger{color:#ffb8b8;background:#422838;border:1px solid #805263}
.theme-pastel .calendar-date,.theme-cream .calendar-date{background:#f6e9fb;color:#5a446c;border-color:#dec5ea}.theme-cream .calendar-date{background:#f3e7d7;color:#5d4933;border-color:#dec8ae}.theme-pastel .calendar-date.selected,.theme-cream .calendar-date.selected{background:#e4ccec}.theme-cream .calendar-date.selected{background:#e9d1ae}.theme-pastel .calendar-arrow,.theme-pastel .hour-slot,.theme-pastel .slot-item button{background:#e9d9f4;color:#6b4c80;border-color:#d6bfe8}.theme-cream .calendar-arrow,.theme-cream .hour-slot,.theme-cream .slot-item button{background:#eddec8;color:#74583c;border-color:#dac4a8}.theme-pastel .hour-slot b,.theme-cream .hour-slot b{color:#5f4874}.theme-cream .hour-slot b{color:#654d36}.theme-pastel .hour-line,.theme-cream .hour-line{border-color:#dac7df}.theme-pastel .calendar-editor input,.theme-pastel .calendar-editor select,.theme-cream .calendar-editor input,.theme-cream .calendar-editor select{background:#fff9ff;color:#342546}.theme-cream .calendar-editor input,.theme-cream .calendar-editor select{background:#fffaf1;color:#473624}
@media(max-width:920px){.calendar-workspace{grid-template-columns:1fr}.hour-scroll{max-height:330px}}
@media(max-width:550px){.calendar-grid{gap:4px}.calendar-date{min-height:65px;border-radius:9px;padding:7px}.calendar-date .date-number{font-size:12px}.calendar-weekday{font-size:9px}.calendar-date .date-dots i{width:5px;height:5px}}
