.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:5px 0 22px}.calendar-toolbar h2{font-size:19px;margin:0;font-weight:600;letter-spacing:-.4px}.calendar-toolbar p{font-size:12px;color:#80909c;margin:9px 0 0}.calendar-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.week-switch{display:flex;gap:4px;margin-right:8px}.week-switch .button{min-width:33px}.calendar-connect-notice{display:flex;gap:14px;align-items:center;background:#edf6f2;border:1px solid #dcebe4;border-radius:10px;padding:18px 20px;margin-bottom:22px}.calendar-connect-notice strong{font-size:12px;color:#3a695b}.calendar-connect-notice p{font-size:11px;color:#77978a;margin:6px 0 0;line-height:1.7}.calendar-notice-icon{font-size:28px;color:#81aa99}.calendar-scroll{overflow:auto;border:1px solid #e0e8e9;border-radius:13px;background:#fff}.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));min-width:980px;min-height:430px}.calendar-day{min-width:0;border-right:1px solid #e9eeef}.calendar-day:last-child{border-right:0}.calendar-day.is-weekend{background:#fbfcfd}.calendar-day.is-today{background:#f6fbf8}.calendar-day-header{height:100px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;border-bottom:1px solid #e9eeef;position:relative}.calendar-day-header>span{font-size:11px;color:#82929c}.calendar-day-header>strong{font-size:23px;font-weight:550;letter-spacing:-.6px;width:35px;height:35px;display:grid;place-items:center}.is-today .calendar-day-header>strong{color:#fff;background:#138778;border-radius:50%}.calendar-day-header small{position:absolute;bottom:5px;font-size:8px;color:#338975}.calendar-day-events{padding:11px 8px;display:flex;flex-direction:column;gap:10px}.calendar-no-lessons{font-size:10px;color:#b5bec4;text-align:center;margin-top:26px}.lesson-card{border:1px solid #d6e8e0;border-left:3px solid #32987c;border-radius:7px;background:#edf7f1;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:12px 10px;width:100%;text-align:left;overflow-wrap:anywhere;color:#315c4c;transition:background .15s,box-shadow .15s}.lesson-card:hover{background:#e1f2e8;box-shadow:0 3px 12px #24634712}.lesson-card strong{font-size:11px;line-height:1.65;font-weight:600}.lesson-time{font-size:10px;font-weight:600;color:#40856c;line-height:1.7}.lesson-location{font-size:9px;line-height:1.6;color:#79968a;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.lesson-details{font-size:8px;color:#94aa9f}.lesson-past{background:#f1f5f3;border-color:#e4ece7;border-left-color:#a6c4b6;color:#728e7f}.lesson-past .lesson-time{color:#90a99b}.lesson-allday{border-left-color:#7e8fb9;background:#f1f3fa;border-top-color:#e4e8f3;border-right-color:#e4e8f3;border-bottom-color:#e4e8f3;color:#647499}.calendar-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;color:#96a3ab;font-size:10px;padding:17px 2px;flex-wrap:wrap}.calendar-meta>span:first-child{display:flex;align-items:center;gap:7px}.status-dot.inactive{background:#c1ccd1}.calendar-bottom{display:flex;align-items:flex-start;gap:35px;border-top:1px solid var(--line);padding:25px 0;margin-top:9px}.calendar-bottom>div{display:flex;flex-direction:column;gap:10px}.calendar-bottom>div:first-child>strong{font-size:28px;font-weight:600;color:#365b50}.calendar-bottom-label{font-size:8px;letter-spacing:.7px;color:#9aa7af}.next-lesson{flex:1}.next-lesson>strong{font-size:13px;font-weight:550;line-height:1.6}.next-lesson>small{font-size:10px;color:#8c9f96}.calendar-bottom>p{font-size:9px;color:#a2adb4;line-height:1.9;margin:0}.lesson-modal-time{padding:16px 18px;background:#eff7f3;border-radius:9px;color:#5d8573;font-size:12px;margin-bottom:20px;text-transform:capitalize}.lesson-modal-time strong{display:block;font-size:24px;color:#327259;margin-top:9px;letter-spacing:-.5px}.lesson-modal p{overflow-wrap:anywhere}.lesson-description{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.9;color:#708491;margin:10px 0 20px;max-height:300px;overflow:auto}.lesson-modal-time small{text-transform:none}
@media(max-width:1200px){.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-controls{justify-content:flex-start}.calendar-week{min-width:910px;grid-template-columns:repeat(7,minmax(130px,1fr))}.calendar-bottom{gap:20px}}
@media(max-width:700px){.calendar-toolbar h2{font-size:17px}.calendar-controls{gap:8px;width:100%}.week-switch{width:100%;margin:0 0 5px}.week-switch button:nth-child(2){flex:1}.calendar-controls>.button{flex:1}.calendar-connect-notice{padding:15px}.calendar-connect-notice p{font-size:10px}.calendar-scroll{border-radius:9px}.calendar-week{grid-template-columns:repeat(7,170px);min-width:1190px;min-height:370px}.calendar-meta{font-size:9px;gap:10px}.calendar-bottom{flex-wrap:wrap}.calendar-bottom>p{width:100%}.lesson-card strong{font-size:12px}.lesson-time{font-size:11px}}

.calendar-notes{margin:22px 0 12px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:22px}.calendar-notes-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.calendar-notes-heading h2{font-size:16px;margin:0;font-weight:650}.calendar-notes-heading p{font-size:10px;color:#91a0a9;margin:6px 0 0}.calendar-note-form{display:flex;gap:9px;margin-bottom:14px}.calendar-note-form input{flex:1;min-width:0;border:1px solid #dfe6ea;border-radius:7px;padding:11px 13px;font-size:12px;color:#344c5d}.calendar-note-list{display:grid;gap:7px}.calendar-note{display:flex;align-items:center;gap:10px;border:1px solid #edf1f2;border-radius:8px;padding:11px 12px;background:#fbfcfc}.calendar-note label{display:flex;align-items:flex-start;gap:11px;flex:1;min-width:0;font-size:12px;line-height:1.6;color:#435462;cursor:pointer}.calendar-note input{margin-top:3px;accent-color:var(--teal);width:15px;height:15px;flex:0 0 auto}.calendar-note span{overflow-wrap:anywhere}.calendar-note.is-completed span{text-decoration:line-through;color:#9aa7ae}.calendar-note-delete{border:0;background:transparent;color:#a2adb4;font-size:20px;line-height:1;padding:4px 7px;border-radius:5px}.calendar-note-delete:hover{background:#fff0ed;color:#b85646}.calendar-note-empty{font-size:11px;color:#99a6ae;margin:6px 0;line-height:1.7}
@media(max-width:700px){.calendar-notes{padding:17px}.calendar-note-form{flex-direction:column}.calendar-note-form .button{width:100%}}

.zoom-actions{display:flex;gap:3px;align-items:center}.button.zoom-button{background:#2d6cdf;border-color:#2d6cdf;color:#fff;min-width:75px}.button.zoom-button:hover{background:#2056b8;border-color:#2056b8}.button.zoom-edit{color:#3569b3;border-color:#dce5f4;padding:9px 10px}.zoom-actions .button{height:36px}@media(max-width:700px){.zoom-actions{order:-1;width:100%;margin-bottom:4px}.zoom-actions .zoom-button{flex:1}}
.zoom-links{display:flex;flex-wrap:wrap;gap:8px;flex-basis:100%;justify-content:flex-end}.zoom-links .zoom-button{white-space:normal;text-align:center;height:auto;min-height:36px}.zoom-links .zoom-edit{flex-shrink:0}@media(max-width:1200px){.zoom-links{justify-content:flex-start}}@media(max-width:700px){.zoom-links{width:100%;order:-1}.zoom-links .zoom-actions{margin-bottom:0}}

.combined-toolbar{margin-top:0}.combined-toolbar h1{font-size:28px;margin:0;letter-spacing:-.8px}.combined-legend{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 17px}.combined-legend-item{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:9px 12px}.combined-legend-item>span{width:9px;height:9px;border-radius:50%;flex:0 0 auto}.combined-legend-item strong{font-size:11px}.combined-legend-item small{font-size:9px;color:#94a0a8}.source-585>span{background:#d9534f}.source-mba>span{background:#2f9a70}.source-my>span{background:#e2ad22}.combined-event{position:relative}.combined-event-source{font-size:8px;font-weight:750;letter-spacing:.7px;text-transform:uppercase;padding:3px 6px;border-radius:4px}.combined-event.event-585{background:#fff0ef;border-color:#f1cdca;border-left-color:#d9534f;color:#843935}.combined-event.event-585 .lesson-time{color:#ad514c}.combined-event.event-585 .combined-event-source,.combined-modal-source.event-585{background:#f9d7d4;color:#9b3935}.combined-event.event-mba{background:#edf7f1;border-color:#d6e8e0;border-left-color:#2f9a70;color:#315c4c}.combined-event.event-mba .combined-event-source,.combined-modal-source.event-mba{background:#d7eee2;color:#287a59}.combined-event.event-my{background:#fff8df;border-color:#f0e2aa;border-left-color:#d9a51e;color:#755b16}.combined-event.event-my .lesson-time{color:#937119}.combined-event.event-my .combined-event-source,.combined-modal-source.event-my{background:#f7e7a8;color:#755710}.combined-modal-source{display:inline-block;font-size:9px;font-weight:750;letter-spacing:.8px;padding:5px 8px;border-radius:5px;margin-bottom:12px}.combined-event.lesson-past{filter:saturate(.65);opacity:.76}
@media(max-width:700px){.combined-toolbar h1{font-size:24px}.combined-legend{display:grid;grid-template-columns:1fr}.combined-legend-item{justify-content:flex-start}}

.timed-calendar-scroll{overflow:auto;border:1px solid #e0e8e9;border-radius:13px;background:#fff;height:clamp(420px,calc(100vh - 300px),760px)}
.timed-calendar-scroll.full-calendar{height:auto;max-height:none;overflow:visible}
.full-calendar .timed-calendar{grid-template-columns:48px repeat(7,minmax(0,1fr));min-width:0}
.full-calendar .timed-days{grid-template-columns:repeat(7,minmax(0,1fr))}
.full-calendar .timed-header-spacer,.full-calendar .timed-day-header{position:static}
.timed-calendar{display:grid;grid-template-columns:58px repeat(7,minmax(145px,1fr));min-width:1075px;position:relative}
.timed-header-spacer{grid-column:1;grid-row:1;display:flex;align-items:flex-end;justify-content:center;padding:0 5px 12px;font-size:9px;color:#9aa7af;border-right:1px solid #e9eeef;border-bottom:1px solid #e9eeef;position:sticky;top:0;z-index:7;background:#fff}
.timed-day-header{grid-row:1;min-height:88px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;border-right:1px solid #e9eeef;border-bottom:1px solid #e9eeef;background:#fff;position:sticky;top:0;z-index:6}
.timed-day-header>span{font-size:10px;color:#82929c}.timed-day-header>strong{font-size:22px;font-weight:550;width:34px;height:34px;display:grid;place-items:center}.timed-day-header.is-today>strong{color:#fff;background:#138778;border-radius:50%}.timed-day-header small{font-size:8px;color:#338975}
.timed-day-header .timed-event{position:static;width:calc(100% - 8px);height:auto!important;min-height:24px;margin:2px 4px}
.timed-time-axis{grid-column:1;grid-row:2;position:relative;border-right:1px solid #dfe6e8;background:#fafbfc}
.timed-time-axis span{position:absolute;right:8px;transform:translateY(-50%);font-size:9px;color:#8d9aa4;font-variant-numeric:tabular-nums}
.timed-time-axis span:first-child{transform:translateY(4px)}
.timed-days{grid-column:2/9;grid-row:2;display:grid;grid-template-columns:repeat(7,minmax(145px,1fr))}
.timed-day-column{position:relative;border-right:1px solid #e9eeef;background-image:repeating-linear-gradient(to bottom,#edf1f2 0,#edf1f2 1px,transparent 1px,transparent 32px,#f5f7f8 32px,#f5f7f8 33px,transparent 33px,transparent 64px)}
.timed-day-column.is-weekend{background-color:#fbfcfd}.timed-day-column.is-today{background-color:#f7fbf9}
.timed-event{position:absolute;display:flex;flex-direction:column;align-items:flex-start;gap:3px;overflow:hidden;border:1px solid #d6e8e0;border-left:3px solid #2f9a70;border-radius:6px;background:#edf7f1;color:#315c4c;text-align:left;padding:5px 6px;z-index:2}
.timed-event:hover{z-index:5;box-shadow:0 4px 15px #21392d22;filter:brightness(.98)}.timed-event .lesson-time{font-size:8px;line-height:1.2;white-space:nowrap}.timed-event strong{font-size:9px;line-height:1.35;font-weight:650;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.timed-event .combined-event-source{font-size:7px;padding:2px 4px;flex:0 0 auto}
.timed-event.event-585{background:#fff0ef;border-color:#f1cdca;border-left-color:#d9534f;color:#843935}.timed-event.event-585 .lesson-time{color:#ad514c}.timed-event.event-mba{background:#edf7f1;border-color:#d6e8e0;border-left-color:#2f9a70;color:#315c4c}.timed-event.event-my{background:#fff8df;border-color:#f0e2aa;border-left-color:#d9a51e;color:#755b16}.timed-event.event-my .lesson-time{color:#937119}
@media(max-width:700px){.timed-calendar-scroll{max-height:650px}.timed-calendar{grid-template-columns:50px repeat(7,145px);min-width:1065px}.timed-days{grid-template-columns:repeat(7,145px)}}
@media(max-width:1200px){.timed-calendar-scroll.full-calendar{overflow:visible}.full-calendar .timed-calendar{grid-template-columns:48px repeat(7,minmax(0,1fr));min-width:0}.full-calendar .timed-days{grid-template-columns:repeat(7,minmax(0,1fr))}}
.internal-time-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.button.danger{color:#a9433f;border-color:#ecccca;background:#fff7f6}.button.danger:hover{background:#ffebe9}.internal-delete{margin-top:2px}@media(max-width:600px){.internal-time-fields{grid-template-columns:1fr}}
.calendar-note-check{display:flex!important;align-items:center!important;flex:0 0 auto!important;gap:0!important}.calendar-note-check input{margin:0}.calendar-note-open{border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:14px;flex:1;min-width:0;padding:2px 3px;text-align:left;color:#435462}.calendar-note-open>span{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.calendar-note-open small{flex:0 0 auto;color:#8798a2;font-size:9px;background:#f0f5f4;border-radius:10px;padding:4px 8px}.calendar-note-open:hover>span{color:var(--teal);text-decoration:underline}.calendar-note.is-completed .calendar-note-open>span{text-decoration:line-through;color:#9aa7ae}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.note-detail-status{display:inline-flex;padding:5px 9px;border-radius:12px;background:#f1f4f5;color:#77858e;font-size:10px;font-weight:650}.note-detail-status.is-done{background:#e9f5ef;color:#237b64}.note-detail-text{font-size:15px!important;color:#30434f!important;line-height:1.7!important;margin:15px 0 23px!important;white-space:pre-wrap;overflow-wrap:anywhere}.note-comments{border-top:1px solid var(--line);padding-top:19px}.note-comments h3{font-size:12px;margin:0 0 12px}.note-comments h3 span{display:inline-grid;place-items:center;min-width:21px;height:21px;border-radius:11px;background:#eef4f3;color:#46746a;font-size:9px;margin-left:5px}.note-comment-list{display:grid;gap:8px;max-height:250px;overflow:auto;margin-bottom:18px}.note-comment{background:#f7faf9;border:1px solid #e7efec;border-radius:8px;padding:11px 12px}.note-comment header{display:flex;align-items:center;justify-content:space-between;gap:10px}.note-comment strong{font-size:10px;color:#456359}.note-comment time{font-size:8px;color:#98a4ab}.note-comment p{font-size:11px;line-height:1.65;color:#536772;white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0 0}.note-comments-empty{font-size:10px!important;color:#9aa6ad!important;margin:0 0 18px!important}.note-detail textarea{font-family:inherit!important;min-height:88px!important}
.calendar-note-form select{border:1px solid #dfe6ea;border-radius:7px;padding:0 30px 0 11px;background:#fff;color:#52616f;font-size:11px}.calendar-note.priority-3{border-left:3px solid #d9534f}.calendar-note.priority-2{border-left:3px solid #e0aa27}.calendar-note.priority-1{border-left:3px solid #72a792}.calendar-note-main{display:grid;gap:3px;min-width:0}.calendar-note-main>span{font-size:12px;line-height:1.55;overflow-wrap:anywhere}.calendar-note-main time{font-size:9px;color:#99a5ac}.calendar-note-meta{display:flex;align-items:center;gap:7px;flex:0 0 auto}.note-priority{font-style:normal;font-size:9px;font-weight:650;padding:4px 8px;border-radius:10px}.note-priority.priority-3{background:#fff0ee;color:#b84842}.note-priority.priority-2{background:#fff7df;color:#8b6813}.note-priority.priority-1{background:#edf6f2;color:#4f7e6c}.calendar-note-open:hover .calendar-note-main>span{color:var(--teal);text-decoration:underline}.calendar-note.is-completed .calendar-note-main>span{text-decoration:line-through;color:#9aa7ae}.note-detail-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.note-detail-top>div{display:grid;gap:8px}.note-detail-top time{font-size:9px;color:#98a4ab}.note-detail-top>label{width:145px;margin:0!important}.note-detail-top select{margin-top:5px!important;padding:8px 10px!important}.note-detail-text{margin-top:19px!important}@media(max-width:700px){.calendar-note-form select{min-height:38px}.calendar-note-open{align-items:flex-start;flex-direction:column}.calendar-note-meta{width:100%;justify-content:flex-start}.note-detail-top{flex-direction:column}.note-detail-top>label{width:100%}}
.my-notes{margin:28px 0 12px}.my-notes-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:15px}.my-notes-heading>div{display:flex;align-items:center;gap:10px}.my-notes-heading span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#fff1bd;color:#805f08;font-size:10px;font-weight:750;letter-spacing:.6px}.my-notes-heading h2{font-size:19px;margin:0;font-weight:650}.my-notes-heading p{font-size:10px;color:#91a0a9;margin:0}.my-notes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.my-note-group{background:#fff;border:1px solid var(--line);border-top:3px solid #239780;border-radius:11px;padding:16px;min-width:0}.my-note-group.group-natal{border-top-color:#8a6ec2}.my-note-group.group-personal{border-top-color:#e0aa27}.my-note-group>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:13px}.my-note-group h3{font-size:13px;margin:0;color:#263b48}.my-note-group header small{display:block;font-size:8px;color:#95a2aa;margin-top:5px}.my-note-group header>span{display:grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border-radius:12px;background:#eef7f4;color:#297e6a;font-size:9px;font-weight:700}.group-natal header>span{background:#f2eef9;color:#765eaa}.group-personal header>span{background:#fff7dc;color:#946f12}.my-note-form{display:flex;gap:6px;margin-bottom:12px}.my-note-form input{min-width:0;flex:1;border:1px solid #dfe7ea;border-radius:7px;padding:9px 10px;font-size:10px;color:#334b59}.my-note-form .button{min-width:34px;padding:7px}.my-note-list{display:grid;gap:6px}.my-note{display:flex;align-items:flex-start;gap:7px;background:#f9fbfb;border:1px solid #edf1f2;border-radius:7px;padding:9px}.my-note label{display:flex;align-items:flex-start;gap:8px;min-width:0;flex:1;cursor:pointer}.my-note input{width:14px;height:14px;margin:2px 0 0;flex:0 0 auto;accent-color:var(--teal)}.my-note label span{font-size:10px;line-height:1.55;color:#445761;overflow-wrap:anywhere;white-space:pre-wrap}.my-note.is-completed label span{text-decoration:line-through;color:#9ca7ad}.my-note-delete{border:0;background:transparent;color:#adb6bb;font-size:18px;line-height:1;padding:0 2px}.my-note-delete:hover{color:#b14c47}.my-note-empty{font-size:9px;color:#a2adb3;text-align:center;margin:13px 0 8px}@media(max-width:1000px){.my-notes-grid{grid-template-columns:1fr}.my-notes-heading{align-items:flex-start;flex-direction:column;gap:7px}}@media(max-width:600px){.my-note-group{padding:13px}}

