/* v10.29: compact registrar tables and shared published calendar presentation. */
body.dashboard-page[data-dashboard-role] select,body.dashboard-page[data-dashboard-role] select option,body.login-page select,body.login-page select option{font-weight:400!important}
/* 1% bottom clearance, measured against the card/container width, not stored as rows. */
body.dashboard-page[data-dashboard-role=registrar] :is(.uniform-wrap-v1028,.grade-index-tablewrap-v1027,#saved-grade-records .tablewrap,.subject-entry-card-v1028 .tablewrap,.schedule-entry-wrap-v1020){padding-bottom:1%!important}
body.dashboard-page[data-dashboard-role=registrar] :is(.notice-list-v1028,.saved-section-schedules-v1015) .inset-table-v1015{padding:0 0 1%!important}
body.dashboard-page[data-dashboard-role=registrar] :is(.subject-entry-card-v1028,#saved-grade-records) .system-remark-v1019{display:block;width:99%;max-width:99%;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}
body.dashboard-page[data-dashboard-role=registrar] :is(.student-data-panel-v1028,.grade-index-v1027) .table-blank-v1029>td{height:38px!important;padding:5px 14px!important}
body.dashboard-page[data-dashboard-role=registrar] .student-results-v1003.uniform-wrap-v1028{margin-top:0!important}
body.dashboard-page[data-dashboard-role=registrar] :is(.schedule-index-table-v1028,.saved-section-schedules-v1015 table) :is(th,td){padding:7px 14px!important;vertical-align:middle!important;height:auto!important}
body.dashboard-page[data-dashboard-role=registrar] :is(.schedule-index-table-v1028,.saved-section-schedules-v1015 table) :is(.button,button){min-height:28px!important;height:auto;padding:4px 9px!important;font-size:12px!important;line-height:18px!important;margin:0;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}
body.dashboard-page[data-dashboard-role=registrar] :is(.schedule-index-table-v1028,.saved-section-schedules-v1015 table) :is(.tag,.schedule-status-v1017){padding:4px 8px!important;font-size:12px!important;line-height:18px!important}
body.dashboard-page[data-dashboard-role=registrar] :is(.actions-v1028,.schedule-actions-v1017){display:flex!important;flex-wrap:nowrap!important;align-items:center;justify-content:flex-end;gap:5px;white-space:nowrap}
body.dashboard-page[data-dashboard-role=registrar] :is(.actions-v1028,.schedule-actions-v1017) form{margin:0;display:inline-flex}
.student-summary-divider-v1029{border:0;border-top:1px solid #ccd8ed;margin:22px 0 18px;width:100%}
body.dashboard-page[data-dashboard-role=registrar] .portal-summary-v1028{margin-top:0}
body.dashboard-page[data-dashboard-role=registrar] .portal-summary-v1028>h2{display:inline-block;margin:0 0 14px;padding:8px 12px;border-radius:9px;background:#eaf1ff;color:#081650;font-size:20px;line-height:1.3}
body.dashboard-page[data-dashboard-role=registrar] :is(.student-match-count-v1006,#student-search-feedback){width:99%;margin:10px auto 12px!important;padding:0;line-height:1.4}
body.dashboard-page[data-dashboard-role=registrar] #student-search-feedback:empty{display:none!important}
body.dashboard-page[data-dashboard-role=registrar] #student-search-error{width:99%;margin:10px auto 12px}
body.dashboard-page[data-dashboard-role=registrar] :is(.grade-index-search-row-v1027,.search-row-v1028){row-gap:12px}
body.dashboard-page[data-dashboard-role=registrar] [data-live-status]{display:block;flex-basis:100%;margin:10px 0 0!important;line-height:1.4}
body.dashboard-page[data-dashboard-role=registrar] [data-live-status]:empty{display:none!important}
body.dashboard-page[data-dashboard-role=registrar] :is(.grade-tools-v1021,.grade-index-search-v1027,.search-row-v1028){padding-bottom:16px}
/* Calendar-specific all-sided space is intentionally independent of the 99% table rule. */
.calendar-back-v1029{margin:0 0 18px!important}
body.dashboard-page[data-dashboard-role] .calendar-panel-v1029{overflow:visible;background:var(--dash-card-bg,#fff);border-top:2px solid #081650}
body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .calendar-toolbar{padding:22px 22px 0;gap:16px}
body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .eyebrow{font-size:11px;letter-spacing:1.3px;font-weight:700;color:#5e759b;line-height:1.4}
body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 h2.calendar-month-title-v1029{display:inline-block;background:#081650;color:#fff;border-radius:9px;padding:9px 13px;font-size:22px!important;line-height:1.25;margin:9px 0 0}
body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .calendar-controls{gap:7px;flex-wrap:wrap}
body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .calendar-controls .button{min-width:34px;min-height:34px;padding:7px 11px;font-size:12px;line-height:18px;display:inline-flex;align-items:center;justify-content:center}
.calendar-panel-v1029 .view-switch{background:#f0f3fb;border-radius:10px;padding:4px;margin-left:7px;gap:4px}
.calendar-jump-v1029{display:flex;align-items:center;gap:8px;margin:16px 22px 0;flex-wrap:wrap;font-size:12px;color:#5b7197}
.calendar-jump-v1029>span{font-weight:700}.calendar-jump-v1029 select{min-height:34px;height:34px;padding:6px 10px;font-size:12px;width:auto;min-width:100px;max-width:150px}.calendar-jump-go-v1029{min-height:34px;font-size:12px;padding:6px 11px}
body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .calendar-legend{padding:0;margin:18px 22px;font-size:12px;gap:12px 20px;line-height:1.5}
body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .month-calendar{width:calc(100% - 44px)!important;margin:0 22px 22px!important;padding:12px;background:#f0f5ff;border:1px solid #d8e3f5;border-radius:13px;overflow:visible}
body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .month-calendar .weekday-row{padding:12px 0!important;background:#081650!important;border-radius:7px 7px 0 0;color:#fff;font-size:12px!important}
body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .month-calendar .calendar-grid{gap:2px!important;background:#b8cbea;border:2px solid #b8cbea;border-top:0;border-radius:0 0 7px 7px;overflow:visible}
body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .month-calendar :is(.date-cell,.calendar-blank){border:0!important;margin:0!important;min-height:118px!important;padding:9px!important;background:#f5f8ff;border-radius:0!important;box-shadow:none;position:relative;transition:transform .18s ease,box-shadow .18s ease;line-height:1.3;gap:5px}
body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .month-calendar .calendar-blank{background:#eaf0fb}
body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .month-calendar .calendar-weekend-v1029{background:#f0f5ff}
body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .month-calendar .no-events-v1029{cursor:default}
body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .month-calendar .is-today{background:#fff9e9;box-shadow:inset 0 0 0 2px #e5b64c}
body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .date-number{width:29px;height:29px;min-width:29px;min-height:29px;font-size:13px;line-height:1;font-weight:600;outline:0;background:none}
body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .is-today .date-number{background:#ffbc24;color:#081650;border-radius:50%;font-weight:700;outline:0}
body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .calendar-event{font-size:11px;padding:5px 6px;line-height:1.3;border-radius:5px;white-space:nowrap}
body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .more-events{font-size:11px;line-height:1.3}
.calendar-view-events-v1029{visibility:hidden;opacity:0;align-self:flex-start;background:#081650;color:white;border-radius:5px;padding:4px 7px;font-size:10px;font-weight:600;line-height:1.3;pointer-events:none;transition:opacity .18s ease;margin-top:auto}
body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .date-cell:focus-visible{outline:2px solid #365d9b;outline-offset:-2px;z-index:3}
body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .has-events-v1029:focus-visible .calendar-view-events-v1029{visibility:visible;opacity:1}
.calendar-helper-v1029{font-size:12px;margin:12px 22px;color:#5c7295}
body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .calendar-list{padding:0 0 6px}
body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .event-list-button{border:1px solid #d9e4f5;border-radius:10px;background:#f3f7ff;padding:12px;margin-bottom:8px;gap:12px}
body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .event-list-button strong{font-size:14px}.calendar-panel-v1029 .event-list-button small{font-size:12px}
/* Scoped native dialog: main-content centered; header/footer do not scroll. */
body.dashboard-page[data-dashboard-role] dialog.calendar-date-dialog-v1029{width:min(750px,calc(var(--dialog-main-width,100vw) - 40px))!important;max-width:calc(100vw - 40px)!important;max-height:calc(100dvh - 40px)!important;padding:0;border-radius:16px;border:1px solid #d3def1;border-top:3px solid #081650;overflow:hidden;background:#fff}
body.dashboard-page[data-dashboard-role] dialog.calendar-date-dialog-v1029[open]{display:flex;flex-direction:column}
body.dashboard-page[data-dashboard-role] .calendar-date-dialog-v1029 .dialog-header{flex:none;align-items:center;padding:18px 22px;gap:14px;background:#fff;border-bottom:1px solid #dce5f4}
body.dashboard-page[data-dashboard-role] .calendar-date-dialog-v1029 .dialog-header .eyebrow{font-size:11px;letter-spacing:1.1px;color:#6179a0}
body.dashboard-page[data-dashboard-role] .calendar-date-dialog-v1029 .dialog-header h2{margin:7px 0 0;font-size:20px!important;color:#081650;line-height:1.3}
body.dashboard-page[data-dashboard-role] .calendar-date-dialog-v1029 .dialog-header button{width:38px;height:38px;min-height:38px;padding:0;display:grid;place-items:center;background:white;color:#081650;border-radius:8px;flex:none}
body.dashboard-page[data-dashboard-role] .calendar-date-dialog-v1029 .dialog-content{padding:20px;overflow-y:auto;flex:1;min-height:0;max-height:none!important;background:#f8faff;scrollbar-width:thin}
body.dashboard-page[data-dashboard-role] .calendar-date-dialog-v1029 .event-note-v1029{--note-bg:#edf3ff;--note-border:#d4dff5;--note-accent:#3d68b1;background:var(--note-bg);border:1px solid var(--note-border);border-left:4px solid var(--note-accent);border-radius:12px;padding:17px 19px;box-shadow:0 3px 8px #1734670d;margin:0 0 16px;transition:transform .18s ease,box-shadow .18s ease;overflow-wrap:anywhere}
body.dashboard-page[data-dashboard-role] .calendar-date-dialog-v1029 .category-note-1{--note-bg:#fff7e6;--note-border:#eddfbb;--note-accent:#a87a29}
body.dashboard-page[data-dashboard-role] .calendar-date-dialog-v1029 .category-note-2{--note-bg:#eaf7f0;--note-border:#cde6d7;--note-accent:#3e8c65}
body.dashboard-page[data-dashboard-role] .calendar-date-dialog-v1029 .category-note-3{--note-bg:#f3edff;--note-border:#dfd2f2;--note-accent:#855db6}
body.dashboard-page[data-dashboard-role] .calendar-date-dialog-v1029 .event-note-v1029:last-child{margin-bottom:0}
body.dashboard-page[data-dashboard-role] .calendar-date-dialog-v1029 .category-note-badge-v1029{display:inline-block;background:white;color:var(--note-accent);border-radius:14px;padding:4px 8px;font-size:10px;line-height:1.35;font-weight:700}
body.dashboard-page[data-dashboard-role] .calendar-date-dialog-v1029 .event-note-v1029 h3{font-size:16px!important;font-weight:700;color:#183156;line-height:1.4;margin:12px 0 14px}
body.dashboard-page[data-dashboard-role] .calendar-date-dialog-v1029 .event-meta{gap:9px;margin:0}
body.dashboard-page[data-dashboard-role] .calendar-date-dialog-v1029 .event-meta>div{grid-template-columns:62px minmax(0,1fr);gap:12px}
body.dashboard-page[data-dashboard-role] .calendar-date-dialog-v1029 .event-meta :is(dt,dd){font-size:13px;line-height:1.45}.calendar-date-dialog-v1029 .event-meta dd{color:#2c435f}
body.dashboard-page[data-dashboard-role] .calendar-date-dialog-v1029 .event-description-v1029{margin:15px 0 0;background:white;border:1px solid var(--note-border);border-radius:8px;padding:11px 12px;font-size:13px;line-height:1.5;color:#304c70;white-space:pre-wrap}
.calendar-dialog-foot-v1029{flex:none;background:#fff;border-top:1px solid #dce5f4;padding:12px 22px;color:#5f769e;font-size:11px}
@media(hover:hover) and (pointer:fine){body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .month-calendar .has-events-v1029:hover{transform:translateY(-2px);box-shadow:0 6px 14px #15366924,inset 0 0 0 2px #5980bc;z-index:2;cursor:pointer}body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .has-events-v1029:hover .calendar-view-events-v1029{visibility:visible;opacity:1}body.dashboard-page[data-dashboard-role] .calendar-date-dialog-v1029 .event-note-v1029:hover{transform:translateY(-3px);box-shadow:0 8px 18px #15366920}}
@media(max-width:800px){body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .calendar-toolbar{padding:18px 16px 0;flex-direction:column;align-items:flex-start;gap:14px}.calendar-jump-v1029{margin-left:16px;margin-right:16px}body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .calendar-legend{margin:16px;font-size:11px;gap:10px 14px}body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .month-calendar{width:calc(100% - 24px)!important;margin:0 12px 12px!important;padding:6px}body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .month-calendar :is(.date-cell,.calendar-blank){min-height:95px!important;padding:4px!important}body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .month-calendar .weekday-row{font-size:9px!important}body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .calendar-event{font-size:10px;padding:4px 2px}body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .date-number{width:24px;height:24px;min-width:24px;min-height:24px;font-size:12px}body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .calendar-day-list{padding:0 16px 16px}body.dashboard-page[data-dashboard-role] .calendar-date-dialog-v1029 .dialog-header{padding:15px 16px}body.dashboard-page[data-dashboard-role] .calendar-date-dialog-v1029 .dialog-content{padding:14px}body.dashboard-page[data-dashboard-role] .calendar-date-dialog-v1029 .event-note-v1029{padding:14px}body.dashboard-page[data-dashboard-role] .calendar-date-dialog-v1029 .dialog-header h2{font-size:18px!important}.calendar-dialog-foot-v1029{padding:11px 16px}}
@media(hover:none),(pointer:coarse){body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .calendar-view-events-v1029{display:none!important}}
@media(prefers-reduced-motion:reduce){body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .date-cell,body.dashboard-page[data-dashboard-role] .calendar-date-dialog-v1029 .event-note-v1029{transition:none!important}body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .has-events-v1029:hover,body.dashboard-page[data-dashboard-role] .calendar-date-dialog-v1029 .event-note-v1029:hover{transform:none!important}}
/* Loading feedback shares the table inset and never duplicates the final count. */
body.dashboard-page[data-dashboard-role=registrar] p[data-live-status]{width:99%;margin:10px auto 12px!important}
body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .calendar-view-events-v1029{position:absolute;right:8px;top:10px;margin:0}
body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .month-calendar :is(.date-cell,.calendar-blank){height:132px!important;min-height:132px!important}
@media(max-width:800px){body.dashboard-page[data-dashboard-role] .calendar-panel-v1029 .month-calendar :is(.date-cell,.calendar-blank){height:105px!important;min-height:105px!important}}
body.dashboard-page[data-dashboard-role=registrar] .student-data-panel-v1028 .table-blank-v1029>td{height:39px!important}
body.dashboard-page[data-dashboard-role=registrar] .grade-index-v1027 .table-blank-v1029>td{height:40px!important}
