.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}.calendar-month-panel{overflow:hidden}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px}.calendar-month-heading h2{font-size:23px;margin:0 0 5px;text-transform:capitalize}.calendar-month-heading>span{font-size:12px;color:#8590a6}.calendar-navigation{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.calendar-navigation .form-control{width:156px;padding:9px;font-size:12px}.calendar-navigation .btn{padding:10px 14px}.calendar-filter{padding:0 24px 20px;display:flex;gap:12px}.calendar-filter .search-field{flex:1;min-width:0}.calendar-filter>.form-select{width:170px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{background:#fafafe;border-top:1px solid #ecebf5;border-bottom:1px solid #ecebf5}.calendar-weekdays span{padding:13px 8px;text-align:center;font-size:11px;color:#9299ad;font-weight:600}.calendar-day,.calendar-blank{min-height:116px;border:0;border-right:1px solid #ecebf5;border-bottom:1px solid #ecebf5;background:white;padding:10px 7px;text-align:left;position:relative;min-width:0}.calendar-day:nth-child(7n),.calendar-blank:nth-child(7n){border-right:0}.calendar-blank{background:#fcfcfe}.calendar-day{transition:background .15s}.calendar-day:hover{background:#f6f3ff}.calendar-day.is-selected{box-shadow:inset 0 0 0 2px #7955df;background:#faf8ff}.calendar-day:focus-visible{outline:3px solid #7955df;outline-offset:-3px;z-index:1}.calendar-number{display:inline-flex;width:27px;height:27px;align-items:center;justify-content:center;font-size:12px;color:#34415a;border-radius:9px}.is-today .calendar-number{background:#7955df;color:white;font-weight:700}.calendar-today-label{font-size:9px;color:#7955df;margin-left:3px}.calendar-cell-events{display:flex;flex-direction:column;gap:4px;margin-top:7px}.calendar-chip{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;border-left:2px solid #8b68e7;background:#efebfa;border-radius:4px;padding:4px 5px;color:#584482}.calendar-chip>span{opacity:.7}.calendar-chip.is-done{background:#edf6f3;color:#408a7d;border-color:#5bab99;text-decoration:line-through}.calendar-cell-events>small{font-size:9px;color:#8790a4}.calendar-mobile-dot{display:none}.calendar-footnote{padding:15px 20px;font-size:11px;color:#8892a7;display:flex;align-items:center;gap:8px}.calendar-agenda-heading{padding:26px 22px 20px;border-bottom:1px solid #ecebf5}.calendar-agenda-heading h2{font-size:25px;margin:13px 0 4px}.calendar-agenda-heading p{color:#8690a5;font-size:12px;margin-bottom:20px;text-transform:capitalize}.calendar-day-records{padding:12px}.calendar-agenda-item{display:flex;flex-direction:column;text-align:left;gap:9px;width:100%;padding:17px 12px;border:0;border-bottom:1px solid #ecebf5;background:white;border-radius:8px;color:#29334c}.calendar-agenda-item:last-child{border-bottom:0}.calendar-agenda-item:hover{background:#faf8ff}.calendar-agenda-time{display:flex;align-items:center;gap:6px;color:#7955df;font-size:12px}.calendar-agenda-item>strong{font-size:14px;overflow-wrap:anywhere}.calendar-agenda-item.is-done>strong{text-decoration:line-through;color:#7e8b91}.calendar-note-preview{font-size:12px;color:#8a92a5;line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere}.calendar-agenda-badges .badge{display:inline-flex;gap:5px;white-space:normal;line-height:1.5}.calendar-edit-hint{font-size:10px;color:#8c79b7;display:flex;align-items:center;justify-content:space-between}.calendar-day-empty{padding:30px 12px;display:flex;flex-direction:column;gap:12px;text-align:center}.calendar-day-empty>i{font-size:36px;color:#beafe9}.calendar-day-empty>strong{font-size:14px}.calendar-day-empty>p{font-size:12px;color:#8a93a8;line-height:1.8}.calendar-settings{max-width:800px}.calendar-days{display:flex;gap:12px;align-items:center}.calendar-days input{width:110px}.calendar-mail-address{display:flex;gap:15px;align-items:center;padding:20px;background:#f8f6fe;border-radius:12px;margin:24px 0}.calendar-mail-address>i{font-size:24px;color:#7955df}.calendar-mail-address>div{display:flex;flex-direction:column;gap:6px;font-size:13px;overflow-wrap:anywhere}.calendar-service{color:#208b76;font-size:12px;display:flex;gap:6px;align-items:center;margin:22px 0}.calendar-option{display:flex;align-items:center;gap:10px;margin:22px 0;font-size:13px}.calendar-reminder-option{display:flex;align-items:center;gap:14px;background:#f6f2ff;border:1px solid #dfd4fc;border-radius:12px;padding:18px;cursor:pointer}.calendar-reminder-option>span{display:flex;flex-direction:column;gap:7px}.calendar-reminder-option strong{font-size:14px;color:#6344b8}.calendar-reminder-option small{font-size:12px;color:#8a7da7;overflow-wrap:anywhere}.calendar-record-status{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:18px}.calendar-record-status>small{font-size:11px;color:#9299ad}.calendar-modal-actions{flex-wrap:wrap}.calendar-option input,.calendar-reminder-option input{flex-shrink:0;margin:0}
@media(min-width:1600px){.calendar-layout{grid-template-columns:minmax(0,1fr) 330px}.calendar-day,.calendar-blank{min-height:130px}}
@media(max-width:1200px){.calendar-layout{grid-template-columns:minmax(0,1fr)}.calendar-agenda{display:grid;grid-template-columns:240px minmax(0,1fr)}.calendar-agenda-heading{border-bottom:0;border-right:1px solid #ecebf5}.calendar-day-records{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:start}}
@media(max-width:640px){.calendar-toolbar{flex-direction:column;align-items:flex-start;padding:18px}.calendar-month-heading h2{font-size:21px}.calendar-navigation{width:100%;justify-content:space-between}.calendar-filter{padding:0 12px 14px;gap:6px}.calendar-filter>.form-select{width:130px;font-size:11px}.calendar-filter .form-control{font-size:11px}.calendar-day,.calendar-blank{min-height:67px;padding:7px 3px}.calendar-cell-events,.calendar-today-label{display:none}.calendar-mobile-dot{display:block;width:16px;height:16px;border-radius:50%;background:#eee6fc;color:#7955df;font-size:9px;text-align:center;line-height:16px;margin:5px auto 0}.calendar-number{display:flex;margin:auto}.calendar-agenda{display:block}.calendar-agenda-heading{border-right:0;border-bottom:1px solid #ecebf5}.calendar-footnote{font-size:10px;padding:12px}.calendar-day-records{display:block}}

.calendar-day{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}.calendar-today-label{position:absolute;top:18px;right:8px}.calendar-cell-events{width:100%}

.calendar-owner-bar{padding:20px 24px;margin-bottom:22px;display:flex;align-items:center;gap:28px}.calendar-owner-bar>div{width:380px;max-width:100%;flex-shrink:0}.calendar-owner-bar>p{margin:20px 0 0;color:#8a92a5;font-size:12px;line-height:1.8}.calendar-readonly-owner{background:#f4f0fc;color:#7250c1;border-radius:10px;padding:14px;font-size:13px}.calendar-full-note{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.9;padding:18px;border:1px solid #ecebf5;border-radius:10px}
@media(max-width:800px){.calendar-owner-bar{flex-direction:column;align-items:stretch;gap:10px}.calendar-owner-bar>div{width:100%}.calendar-owner-bar>p{margin:0}}

/* Compact month overview: one count per day, details stay in the agenda. */


.calendar-page .calendar-owner-bar{padding:10px 16px;margin-bottom:12px;gap:18px}.calendar-page .calendar-owner-bar>div{display:flex;align-items:center;gap:12px;width:440px}.calendar-page .calendar-owner-bar .form-label{white-space:nowrap;margin:0;font-size:11px}.calendar-page .calendar-owner-bar .form-select{min-width:0;padding-top:8px;padding-bottom:8px;font-size:12px}.calendar-page .calendar-owner-bar>p{margin:0;font-size:11px}

.calendar-layout{--calendar-row-height:clamp(44px,calc((100dvh - 470px) / var(--calendar-weeks)),70px);gap:18px}
.calendar-toolbar{padding:14px 18px;gap:12px}.calendar-month-heading h2{font-size:21px;margin-bottom:3px}.calendar-month-heading>span{font-size:11px}.calendar-navigation .btn{padding:8px 12px}.calendar-filter{padding:0 18px 12px}.calendar-filter .form-control,.calendar-filter .form-select{padding-top:8px;padding-bottom:8px;font-size:12px}.calendar-weekdays span{padding:8px;font-size:10px}
.calendar-day,.calendar-blank{height:var(--calendar-row-height);min-height:0;padding:5px 7px}.calendar-number{height:23px;width:23px;font-size:11px;border-radius:7px}.calendar-today-label{top:10px}.calendar-note-count{display:block;margin-top:2px;color:#7657c4;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:18px}.calendar-count-short{display:none}.calendar-day.is-selected .calendar-note-count{font-weight:600}.calendar-footnote{padding:9px 14px;font-size:10px;line-height:1.5}
.calendar-agenda{display:flex;flex-direction:column;max-height:calc(var(--calendar-row-height) * var(--calendar-weeks) + 174px);overflow:hidden}.calendar-agenda-heading{padding:16px 18px;flex-shrink:0;border-right:0;border-bottom:1px solid #ecebf5}.calendar-agenda-heading h2{font-size:22px;margin-top:8px}.calendar-agenda-heading p{margin-bottom:12px}.calendar-agenda-heading .btn{padding:9px 12px;font-size:12px}.calendar-day-records{display:block;padding:8px;overflow-y:auto;min-height:0;overscroll-behavior:contain}.calendar-agenda-item{padding:12px 10px;gap:7px}.calendar-note-preview{-webkit-line-clamp:2}
@media(min-width:1001px) and (max-width:1200px){.calendar-layout{grid-template-columns:minmax(0,1fr) 270px}}
@media(max-width:1400px){.calendar-note-count{font-size:10px}}
@media(max-width:1000px){.calendar-layout{grid-template-columns:minmax(0,1fr)}.calendar-agenda{max-height:420px}.calendar-day,.calendar-blank{height:58px}.calendar-page .calendar-owner-bar{flex-direction:column;align-items:stretch;gap:8px}.calendar-page .calendar-owner-bar>div{width:100%}.calendar-page .calendar-owner-bar>p{margin:0}}
@media(max-width:640px){.calendar-count-full{display:none}.calendar-count-short{display:inline}.calendar-note-count{text-align:center;font-size:10px}.calendar-number{margin:0 auto}.calendar-day,.calendar-blank{height:50px;padding:4px 2px}.calendar-toolbar{padding:12px;gap:10px}.calendar-filter{padding:0 10px 10px}.calendar-page .calendar-owner-bar>div{display:block}.calendar-page .calendar-owner-bar .form-label{display:block;margin-bottom:6px}.calendar-agenda{max-height:400px}.calendar-footnote{font-size:9px}}

@media(min-width:1001px){


.calendar-page .calendar-owner-bar{padding:6px 14px;margin-bottom:8px}.calendar-page .calendar-owner-bar .form-select{padding-top:6px;padding-bottom:6px}

.calendar-layout{--calendar-row-height:clamp(46px,calc((100dvh - 448px) / var(--calendar-weeks)),70px)}
.calendar-toolbar{padding:8px 16px}.calendar-month-heading>span{display:none}.calendar-month-heading h2{margin:0}.calendar-filter{padding-bottom:8px}.calendar-weekdays span{padding:6px}.calendar-footnote{padding:6px 12px;line-height:16px}.calendar-footnote .bx{font-size:16px;line-height:1}
.calendar-agenda{max-height:calc(var(--calendar-row-height) * var(--calendar-weeks) + 144px)}
}
@media(min-width:641px) and (max-width:1400px){.calendar-count-full{display:none}.calendar-count-short{display:inline}}


@media(min-width:1001px){.calendar-toolbar{padding-top:5px;padding-bottom:5px}.calendar-filter{padding-bottom:6px}.calendar-footnote{padding-top:4px;padding-bottom:4px}}

.calendar-agenda-top{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0}.calendar-agenda-top .calendar-agenda-time{flex-shrink:0}.calendar-agenda-top .calendar-edit-hint{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;margin-left:auto;white-space:nowrap;font-size:10px}.calendar-agenda-top .calendar-edit-hint .bx{font-size:16px;line-height:1}.calendar-agenda-badges:empty{display:none}

.calendar-filter{align-items:center;flex-wrap:wrap}.calendar-filter .search-field{flex:1 1 180px;max-width:340px;min-width:160px}.calendar-filter>.form-select{flex:0 0 150px;width:150px}.calendar-owner-control{margin-left:auto;display:flex;align-items:center;gap:10px;flex:0 1 350px;min-width:300px;max-width:100%}.calendar-owner-control .form-label{margin:0;white-space:nowrap;font-size:10px;font-weight:500}.calendar-owner-control .form-select{flex:1;min-width:0;padding-top:8px;padding-bottom:8px;font-size:12px}
@media(max-width:1400px) and (min-width:1001px){.calendar-owner-control{flex-basis:100%;justify-content:flex-end}.calendar-owner-control .form-select{flex:0 1 240px}}
@media(max-width:640px){.calendar-filter .search-field{min-width:120px}.calendar-filter>.form-select{flex-basis:125px;width:125px}.calendar-owner-control{flex-basis:100%;min-width:0}.calendar-owner-control .form-select{font-size:11px}}
.calendar-annual-option{margin-bottom:10px;background:#fafaff;border-color:#e7e4f4}.calendar-repeat-table td{vertical-align:middle}.calendar-repeat-table td:first-child{min-width:220px;max-width:380px}.calendar-repeat-note{font-size:11px;color:var(--muted);white-space:pre-wrap;max-height:3em;overflow:hidden;margin-top:5px}.calendar-repeat-actions{display:flex;justify-content:flex-end;gap:8px;white-space:nowrap}.calendar-repeat-pagination{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:12px}.calendar-repeat-pagination>div{display:flex;align-items:center;gap:12px}

/* Calendar totals share a compact, consistently aligned row. */
.calendar-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}
.calendar-stat{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:13px 16px;background:#fff;border:1px solid var(--border);border-radius:11px}
.calendar-stat dt{display:flex;align-items:center;gap:10px;min-width:0;margin:0;font-size:12px;font-weight:500;line-height:1.4;color:#7f879b}
.calendar-stat-icon{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:9px;color:#7857d7;background:#f0ebfc}
.calendar-stat-icon .bx{font-size:19px;line-height:1}
.calendar-stat dd{margin:0;font-size:22px;font-weight:650;line-height:1;font-variant-numeric:tabular-nums;color:var(--text);flex-shrink:0}
.calendar-stat-open .calendar-stat-icon{background:#fff3e5;color:#bb842e}
.calendar-stat-done .calendar-stat-icon{background:#e8f6f0;color:#289575}
.calendar-stat-mail .calendar-stat-icon{background:#ecf1ff;color:#6485cb}
@media(max-width:1100px){.calendar-summary{gap:8px}.calendar-stat{padding:11px 12px;gap:8px}.calendar-stat dt{font-size:11px;gap:8px}.calendar-stat dd{font-size:20px}}
@media(max-width:720px){.calendar-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px}.calendar-stat{padding:10px}.calendar-stat-icon{width:28px;height:28px}.calendar-stat dt{font-size:10px;gap:6px}.calendar-stat dd{font-size:19px}}

.calendar-expand-button{margin-bottom:8px}
#form-modal:has(.calendar-expanded-agenda) .modal-dialog{max-width:1050px}
.calendar-expanded-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.calendar-expanded-toolbar h3{font-size:18px;margin:0 0 7px}.calendar-expanded-toolbar p{font-size:12px;color:var(--muted);margin:0}
.calendar-expanded-records{display:grid;gap:12px}.calendar-expanded-record{padding:18px;border:1px solid var(--border);border-radius:11px;background:#fff}
.calendar-expanded-record-top{display:flex;align-items:center;gap:14px}.calendar-expanded-record-top .calendar-agenda-time{flex-shrink:0}.calendar-expanded-record-top h4{font-size:14px;line-height:1.6;overflow-wrap:anywhere;min-width:0;margin:0;flex:1}.calendar-expanded-record-top .btn{flex-shrink:0;font-size:11px}
.calendar-expanded-record.is-done h4{text-decoration:line-through;color:#7e8b91}.calendar-expanded-note{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.8;margin-top:12px;color:#737b91}.calendar-expanded-record .calendar-agenda-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.calendar-expanded-record .calendar-agenda-badges:empty{display:none}
@media(max-width:720px){#form-modal:has(.calendar-expanded-agenda) .modal-dialog{margin:10px}.calendar-expanded-toolbar{align-items:flex-start;flex-direction:column}.calendar-expanded-toolbar h3{font-size:16px}.calendar-expanded-record{padding:12px}.calendar-expanded-record-top{flex-wrap:wrap;gap:8px}.calendar-expanded-record-top h4{flex-basis:calc(100% - 85px)}.calendar-expanded-record-top .btn{margin-left:auto}.calendar-expanded-note{font-size:12px}}

.calendar-reminder-option.is-unavailable{background:#f7f8fa;border-color:#e7e9ef;cursor:not-allowed}.calendar-reminder-option.is-unavailable strong,.calendar-reminder-option.is-unavailable small{color:#969cab}
