/* Version 5 modules only; Version 4 Overview layout is deliberately unchanged. */
.module-editor-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;align-items:start}.module-editor-grid fieldset{border:0;padding:0;margin:0;min-width:0}.module-editor-grid textarea{width:100%;resize:vertical;line-height:1.6}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-note{margin:0 0 20px}.check-line{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.6;margin:16px 0 24px}.check-line input{width:18px;height:18px;flex-shrink:0;margin-top:3px}.record-list article{padding:24px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.record-list article:last-child{border-bottom:0}.record-list h3{margin:10px 0 4px}.record-list .button{margin-top:16px}.record-list p a .icon{width:16px;height:16px;vertical-align:middle}.student-picker{border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:24px}.student-picker select{max-width:100%}
.calendar-panel{overflow:hidden}.calendar-toolbar{padding:24px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.calendar-toolbar h2{font-size:26px;margin-top:6px}.calendar-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.calendar-controls .button{min-width:44px;text-align:center}.view-switch{display:flex;gap:4px;margin-left:8px}.calendar-controls .selected{background:#04175b;color:white}.calendar-legend{padding:0 24px 24px;display:flex;flex-wrap:wrap;gap:12px 20px;color:var(--muted);font-size:14px}.calendar-legend>span{display:flex;align-items:center;gap:8px}.category-dot{width:9px;height:9px;display:inline-block;border-radius:50%;background:#153c9d}.category-dot.category-1{background:#8c3f00}.category-dot.category-2{background:#27634b}.category-dot.category-3{background:#674397}.weekday-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekday-row{background:#f4f6fb;color:#53637d;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px;text-align:center;padding:12px 0}.date-cell,.calendar-blank{min-height:124px;border:0;border-radius:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px;min-width:0}.date-cell{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:6px;background:var(--dash-card-bg);color:var(--dash-text);font-size:14px;justify-content:flex-start}.date-cell:hover{background:#edf2ff;color:#172541}.date-cell:nth-child(7n){border-right:0}.date-number{align-self:flex-start;display:grid;place-items:center;min-width:30px;min-height:30px}.is-today .date-number{outline:2px solid #153c9d;outline-offset:-2px;border-radius:50%;font-weight:700}.calendar-event{font-size:14px;line-height:1.35;padding:5px 6px;border-left:3px solid #153c9d;background:#edf2ff;color:#153c9d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:3px}.calendar-event.category-1{background:#fff3df;border-color:#8c3f00;color:#8c3f00}.calendar-event.category-2{background:#e8f3ed;border-color:#27634b;color:#27634b}.calendar-event.category-3{background:#f2edf9;border-color:#674397;color:#674397}.more-events{font-size:14px;color:#153c9d;font-weight:600}.calendar-empty-note{padding:16px 24px;font-size:14px}.calendar-list{display:none}.calendar-day-list{padding:0 24px 24px}.calendar-day-list h3{font-size:16px;margin:16px 0 12px}.event-list-button{display:flex;align-items:center;gap:16px;width:100%;padding:16px;border-radius:8px;border:1px solid var(--line);background:var(--dash-card-bg);color:var(--dash-text);text-align:left;margin-top:8px;min-width:0}.event-list-button>span:nth-child(2){flex:1;min-width:0}.event-list-button strong{display:block;overflow-wrap:anywhere}.event-list-button small{display:block;font-size:14px;color:var(--muted);margin:4px 0}.date-badge{width:48px;flex-shrink:0;text-align:center;background:#edf2ff;color:#04175b;padding:8px 4px;border-radius:8px}.date-badge strong{font-size:24px}.event-list-button>.icon{width:18px;color:#153c9d}.category-label{display:inline-block;font-size:14px;font-weight:600;color:#53637d}.calendar-panel[data-calendar-view=list] .month-calendar{display:none}.calendar-panel[data-calendar-view=list] .calendar-list{display:block}.calendar-panel[data-calendar-view=list] .calendar-empty-note{display:none}
.detail-dialog{border:1px solid var(--line);border-radius:12px;padding:0;width:min(640px,calc(100vw - 48px));max-width:none;max-height:85dvh;color:var(--dash-text);background:var(--dash-card-bg);overflow:hidden;box-shadow:0 12px 48px #0003}.detail-dialog::backdrop{background:#0b163b80}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px;border-bottom:1px solid var(--line)}.dialog-header>div{min-width:0}.dialog-header h2{font-size:24px;line-height:1.35;overflow-wrap:anywhere;margin-top:6px}.dialog-header button{width:44px;height:44px;flex-shrink:0;padding:0;background:var(--dash-card-bg);color:var(--dash-text)}.dialog-header .eyebrow{font-size:12px}.dialog-content{overflow-y:auto;overscroll-behavior:contain;max-height:calc(85dvh - 136px);padding:24px;scrollbar-width:thin}.detail-open{overflow:hidden}.event-details+.event-details{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.event-details h3{font-size:22px;line-height:1.4;margin:8px 0 20px;overflow-wrap:anywhere}.event-meta{display:grid;gap:12px;margin:0 0 20px}.event-meta>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px}.event-meta dt{color:var(--muted);font-size:14px}.event-meta dd{margin:0;font-size:15px;overflow-wrap:anywhere}.full-message{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75;font-size:16px}.attachment-section{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.attachment-section h3{font-size:18px;margin-bottom:16px}.attachment-row{display:flex;gap:16px;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.attachment-row>div:first-child{min-width:0}.attachment-row strong{font-size:14px;overflow-wrap:anywhere;display:block}.attachment-row small{font-size:14px;color:var(--muted);display:block;margin-top:4px}.attachment-actions{display:flex;gap:16px;flex-shrink:0}.attachment-actions a{font-size:14px;display:inline-flex;align-items:center;min-height:44px}
.notice-filters{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.notice-filters .field{margin:0}.notice-filters .field:first-child{flex:1;min-width:180px}.notice-filters .field:nth-child(2){min-width:170px}.notice-count{margin:24px 0 16px}.notice-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.notice-card{padding:24px;cursor:pointer;display:flex;flex-direction:column;min-width:0}.notice-card:hover{border-color:#8ea4c8}.notice-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.notice-card h2{margin:16px 0 8px}.notice-title{padding:0;border:0;background:transparent;color:inherit;text-align:left;font-size:22px;line-height:1.4;min-height:44px;overflow-wrap:anywhere;border-radius:0}.notice-preview{margin:16px 0 24px;color:var(--muted);font-size:15px;line-height:1.65;overflow-wrap:anywhere}.notice-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto}.read-more{border:0;color:#153c9d;background:transparent;padding:8px 0;min-height:44px;display:flex;align-items:center;gap:8px;white-space:nowrap}.read-more .icon{width:18px}.notice-empty{grid-column:1/-1}.pagination{display:flex;gap:16px;justify-content:center;align-items:center;margin-top:24px;flex-wrap:wrap}.balance-summary-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.balance-summary-grid .panelhead>.icon{color:#153c9d}.balance-amount{font-size:40px;font-weight:700;line-height:1.3;letter-spacing:-1px;overflow-wrap:anywhere;margin:4px 0 12px}.balance-unavailable{font-size:24px;letter-spacing:-.3px}.account-status-tag{display:inline-block;padding:10px 16px;border-radius:8px;font-size:20px;font-weight:700}.status-active{color:#196348;background:#e8f3ed}.status-hold{color:#8c3f00;background:#fff3df}.status-unknown{color:#53637d;background:#f4f6fb;font-size:18px}.help-offices{display:grid;grid-template-columns:1fr 1fr;gap:24px}.help-offices>div{display:flex;gap:16px;align-items:flex-start}.help-offices .icon{color:#153c9d;margin-top:3px;flex-shrink:0}.help-offices h3{font-size:16px;margin-bottom:4px}.help-offices p{font-size:14px}
@media(max-width:1100px){.module-editor-grid{grid-template-columns:1fr}.date-cell{padding:8px;min-height:112px}.calendar-event{font-size:12px}.balance-summary-grid{grid-template-columns:1fr 1fr}.balance-amount{font-size:32px}}
@media(max-width:800px){.calendar-panel[data-calendar-view=auto] .month-calendar{display:none}.calendar-panel[data-calendar-view=auto] .calendar-list{display:block}.calendar-panel[data-calendar-view=auto] .calendar-empty-note{display:none}.calendar-toolbar{padding:20px;align-items:flex-start;flex-direction:column}.calendar-toolbar h2{font-size:24px}.calendar-legend{padding:0 20px 20px;gap:12px;font-size:14px}.calendar-controls{gap:6px}.view-switch{margin-left:0}.calendar-day-list{padding:0 20px 20px}.event-list-button{padding:12px;gap:12px}.event-list-button>.icon{display:none}.detail-dialog{width:calc(100vw - 24px);max-height:92dvh;border-radius:12px}.dialog-header{padding:20px;gap:12px}.dialog-header h2{font-size:22px}.dialog-content{padding:20px;max-height:calc(92dvh - 152px);scrollbar-width:none}.dialog-content::-webkit-scrollbar{display:none}.attachment-row{align-items:flex-start;flex-direction:column;gap:4px}.notice-card-grid,.balance-summary-grid,.help-offices{grid-template-columns:1fr}.notice-filters .field{flex:1 1 100%;min-width:0!important}.notice-filters button,.notice-filters>.button{flex:1;justify-content:center;text-align:center}.notice-card{padding:20px}.notice-title{font-size:22px}.balance-amount{font-size:36px}.balance-unavailable{font-size:24px}.form-pair{gap:12px}.date-cell,.calendar-blank{min-height:92px;padding:4px}.calendar-event{font-size:11px;padding:3px 2px;border-left-width:2px}.date-number{min-width:26px;min-height:26px}.more-events{font-size:11px}.weekday-row{font-size:12px}.notice-card-bottom{gap:8px}.event-meta>div{grid-template-columns:64px minmax(0,1fr)}}
@media(max-width:380px){.form-pair{grid-template-columns:1fr}.calendar-controls .button{padding:10px 12px}.event-list-button .date-badge{width:40px}.notice-card-bottom .small{font-size:12px}}
.detail-dialog[open]{display:flex;flex-direction:column}.dialog-header{flex-shrink:0}.dialog-content{flex:1;min-height:0;max-height:none}
@media(max-width:800px){.calendar-panel[data-calendar-view=auto] .view-switch a:first-child{background:var(--dash-card-bg);color:var(--dash-text)}.calendar-panel[data-calendar-view=auto] .view-switch a:last-child{background:#04175b;color:white}}
.dialog-header button{display:grid;place-items:center}.dialog-header button .icon{width:20px;height:20px}
@media(max-width:1100px){.calendar-event{font-size:14px}}
@media(max-width:800px){.calendar-event,.more-events{font-size:14px}}
.check-line input[type=checkbox]{min-height:18px;width:18px;height:18px;padding:0;flex:0 0 18px}
