/* v0.7 report directory. All rules are scoped to the reporting workspace. */
.report-workspace{display:grid;grid-template-columns:minmax(220px,265px) minmax(0,1fr);align-items:start;gap:18px;margin-top:13px;min-width:0}
.rw-directory,.rw-content{min-width:0;border:1px solid #b8c8c8;background:#fffdf8}
.rw-directory{padding:12px;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow-y:auto}
.rw-directory>h3{margin:0 0 11px;font-size:18px;color:#284f65}
.rw-directory #task-cards{display:block;margin:0}
.rw-project-group+.rw-project-group{margin-top:14px;padding-top:10px;border-top:1px solid #d2dfdc}
.rw-project-group h4{margin:0 0 7px;color:#426b78;font:750 12px system-ui,sans-serif}
.rw-project-list{display:grid;gap:6px}
.rw-branch{width:100%;min-width:0;text-align:left;padding:9px 10px;border:1px solid #c0d0ce;border-radius:3px;background:#fffefa;color:#254d63}
.rw-branch strong,.rw-branch small{display:block;overflow-wrap:anywhere}
.rw-branch strong{font:700 13px/1.35 system-ui,sans-serif}
.rw-branch small{margin-top:3px;color:#547582;font:11px system-ui,sans-serif}
.rw-branch.has-pending{border-left:4px solid #287aa2;background:#f3f9fa}
.rw-branch.history-only{background:#f2f3f0;border-color:#d1d7d3;color:#6b7676}
.rw-branch.history-only small{color:#7e8a88}
.rw-branch.selected{border-color:#286c90;box-shadow:0 0 0 2px #b8d9e2;background:#eaf5f7;color:#1b536e}
.rw-branch.history-only.selected{background:#e9f0ef}
.rw-content{padding:15px;min-height:260px}
.rw-content-header{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-bottom:10px;border-bottom:1px solid #c3d3d2}
.rw-branch-title{font-size:19px;font-weight:750;color:#244e65}
.rw-tabs{display:flex;gap:5px;flex-wrap:wrap}
.rw-tabs button{border:1px solid #acc0c4;border-radius:3px;background:#fffdf6;color:#416b7b;padding:6px 10px;font:700 12px system-ui,sans-serif;white-space:nowrap}
.rw-tabs button.rw-active{border-color:#2d7194;background:#eaf4f7;color:#195c7d}
.rw-content #report-form{max-width:none;width:100%;margin:0;padding:15px 0 0;border:0;background:transparent}
.rw-content #records-view{padding:12px 0 0}
.rw-content #records-view .records-heading{padding:0 0 8px}
.rw-content #records-view .records-heading h2{font-size:17px}
.rw-pending-list{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:11px}
.rw-pending-caption{color:#53727d;font:700 11px system-ui,sans-serif}
.rw-pending-choice{padding:5px 7px;border:1px solid #bdcdce;border-radius:3px;background:#fffefa;color:#436b7e;font:11px system-ui,sans-serif}
.rw-pending-choice.selected{border-color:#35799b;background:#eaf4f6;color:#205c79;font-weight:800}
.rw-empty{margin:13px 0;color:#69818a;font:12px/1.5 system-ui,sans-serif}
.rw-content .record-item{min-width:0;overflow-wrap:anywhere}
@media(max-width:760px){.report-workspace{grid-template-columns:minmax(0,1fr);gap:10px}.rw-directory{position:static;max-height:none;padding:10px}.rw-directory>h3{font-size:16px;margin-bottom:7px}.rw-project-group+.rw-project-group{margin-top:9px;padding-top:8px}.rw-project-list{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 7px;scrollbar-width:thin}.rw-branch{flex:0 0 178px;width:178px;padding:7px 9px}.rw-content{padding:12px}.rw-content-header{align-items:flex-start;flex-direction:column;gap:7px}.rw-branch-title{font-size:17px}.rw-tabs button{padding:6px 9px}.rw-content #report-form{padding-top:10px}}
@media(max-width:355px){.rw-branch{flex-basis:160px;width:160px}.rw-directory,.rw-content{padding:9px}.rw-branch-title{font-size:16px}}
.rw-content #task-context h3{display:none}

/* v0.8: a paged, branch-local record list and readable composition forms. */
.rw-pager{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin:12px 0 3px;color:#52717c;font:12px system-ui,sans-serif}
.rw-page-size-label{display:inline-flex;align-items:center;gap:5px;font-weight:700}
.rw-page-size{min-height:30px;padding:4px 6px;border:1px solid #adc1c4;border-radius:3px;background:#fffdf7;color:#245469}
.rw-page-button{padding:5px 9px;border:1px solid #aebfc3;border-radius:3px;background:#fffdf7;color:#285b72;font:700 12px system-ui,sans-serif}
.rw-page-info{min-width:105px;text-align:center;font-variant-numeric:tabular-nums}
.rw-enrollment-split{padding:10px;overflow:visible}
.rw-enrollment-split:not(.rw-editable-composition){overflow-x:auto}
.rw-campus-block+.rw-campus-block{margin-top:14px}
.rw-campus-caption{caption-side:top;text-align:left;padding:0}
.rw-campus-title{margin:0 0 6px;padding:6px 9px;background:#e8f1ef;border-left:3px solid #508193;color:#28586b;font:800 15px system-ui,sans-serif}
.rw-enrollment-split .composition-table{min-width:0;table-layout:fixed;white-space:normal}
.rw-enrollment-split .composition-table th,.rw-enrollment-split .composition-table td{padding:7px 5px;overflow-wrap:anywhere}
.rw-enrollment-split .composition-table th:first-child{width:20%}
.rw-enrollment-split .composition-table input{width:100%;min-width:0;box-sizing:border-box}
#confirm-summary .rw-enrollment-split:not(.rw-editable-composition) .composition-table,
.record-item .rw-enrollment-split:not(.rw-editable-composition) .composition-table{min-width:480px}
.rw-integrated-total{display:block;margin-top:3px;color:#245e72;font:800 11px/1.35 system-ui,sans-serif;white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.rw-campus-title{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}
.rw-campus-title .rw-integrated-total{font-size:13px;color:#174e66}
.rw-grade-cell .rw-integrated-total{font-size:11px}
.rw-header-input{display:grid;gap:3px;min-width:0;margin-top:5px;color:#335e70;font:700 11px/1.3 system-ui,sans-serif}
.rw-header-input input{width:100%;min-width:0;max-width:145px;min-height:34px;padding:5px 7px;font:14px system-ui,sans-serif}
.rw-campus-title .rw-header-input{flex-basis:100%;max-width:180px;margin-top:3px}
.rw-reset-filter{min-height:35px;font-weight:800}
.rw-content .records-filters{gap:10px 12px}
.rw-content .records-filters input[type=date]{width:168px;min-height:39px;padding:7px 10px;font-weight:700}
.rw-content .records-filters select{min-height:39px}
.rw-record-time{display:block;margin-top:3px;font-weight:700}
.rw-record-coverage{margin:7px 0 2px;color:#325c6d;font:700 12px/1.5 system-ui,sans-serif}
.rw-record-segments{margin:2px 0 7px;color:#56727b;font:11px/1.5 system-ui,sans-serif}
.source-row .grade-composition,.record-item .grade-composition,#confirm-summary .grade-composition{white-space:normal}
.source-row .grade-composition th,.record-item .grade-composition th,#confirm-summary .grade-composition th{overflow-wrap:anywhere;vertical-align:top}

@media(max-width:680px){
  .rw-content #report-form .rw-editable-composition{overflow:visible}
  .rw-editable-composition .composition-table{display:block;min-width:0!important;width:100%;border:0}
  .rw-editable-composition .composition-table tbody{display:block;width:100%}
  .rw-editable-composition .composition-table tr:first-of-type{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0;padding:7px;background:#eaf3f0;border:1px solid #c6d9d1}
  .rw-editable-composition .composition-table tr:first-of-type>th{min-width:0;width:auto;padding:6px 7px;border:1px solid #c4d8d0;background:#f7fbf8;font-size:12px;overflow-wrap:anywhere}
  .rw-editable-composition .composition-table tr:first-of-type>th:first-child{display:none}
  .rw-editable-composition .composition-table tr:first-of-type>th:nth-child(2):last-child{grid-column:1/-1}
  .rw-editable-composition .composition-table tr:not(:first-of-type){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 9px;margin:8px 0;padding:8px;border:1px solid #c9d9d5;background:#fffefa}
  .rw-editable-composition .composition-table tr:not(:first-of-type)>th{grid-column:1/-1;width:auto;padding:0 0 5px;border-bottom:1px solid #d1dfdc;background:none;font-size:14px;color:#285c70}
  .rw-editable-composition .composition-table tr:not(:first-of-type)>td{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:3px;padding:0;border:0;background:none}
  .rw-editable-composition .composition-table tr:not(:first-of-type)>td::before{content:attr(data-label);color:#5b7881;font:700 11px system-ui,sans-serif}
  .rw-editable-composition .composition-table input{width:100%;min-width:0;min-height:37px;font-size:16px}
  .rw-editable-composition .rw-header-input input{max-width:none;font-size:16px}
  .rw-enrollment-split{padding:7px}
  .rw-pager{justify-content:center;gap:6px}
  .rw-content .records-filters input[type=date]{width:100%}
}
@media(max-width:390px){
  .rw-directory{padding:8px}
  .rw-project-group h4{font-size:11px}
  .rw-branch{flex:0 0 142px;width:142px;padding:6px 7px}
  .rw-branch strong{font-size:12px}
  .rw-branch small{font-size:10px}
  .rw-content{padding:9px}
  .rw-editable-composition .composition-table tr:not(:first-of-type){padding:7px;gap:5px 7px}
}

@media(max-width:680px){.rw-editable-composition .rw-campus-caption{display:block;width:100%;box-sizing:border-box}.rw-editable-composition .rw-campus-title{width:100%;box-sizing:border-box}.rw-editable-composition .rw-campus-title .rw-header-input{flex:1 1 140px;max-width:none}}

/* v0.11: each reporting branch has its own semester progress and three states. */
.rw-timeline{margin:12px 0;padding:11px;border:1px solid #c6d6d3;background:#f7faf7;min-width:0}
.rw-timeline-head{display:flex;justify-content:space-between;gap:7px 15px;align-items:baseline;flex-wrap:wrap;color:#2a5267;font:12px/1.45 system-ui,sans-serif}
.rw-timeline-head strong{font-size:14px}
.rw-timeline-note{margin:5px 0;color:#6b8184;font:11px/1.4 system-ui,sans-serif}
.rw-progress{height:6px;margin:9px 0;background:#dde8e3;border-radius:6px;overflow:hidden}
.rw-progress i{display:block;height:100%;background:#397da0}
.rw-timeline-window{margin:7px 0;color:#5a737b;font:11px/1.45 system-ui,sans-serif;overflow-wrap:anywhere}
.rw-timeline-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0 2px}
.rw-overview-part{min-width:0;text-align:left;padding:7px 8px;border:1px solid #bdcecc;border-top:3px solid #397da0;border-radius:3px;background:#fffefa;color:#345c6c}
.rw-overview-current{border-top-color:#4d8b62}.rw-overview-future{border-top-color:#a5b8b9}
.rw-overview-part.active{background:#eaf4f5;border-color:#4185a4}.rw-overview-part strong,.rw-overview-part small{display:block;overflow-wrap:anywhere}.rw-overview-part strong{font:800 12px/1.35 system-ui,sans-serif}.rw-overview-part small{margin-top:3px;font:11px/1.35 system-ui,sans-serif;color:#5e7880}
.rw-timeline-swipe{margin:3px 0;color:#647d83;font:11px system-ui,sans-serif}
.rw-timeline-list{display:flex;gap:5px;max-width:100%;overflow-x:auto;padding:4px 1px 8px;scrollbar-width:thin}
.rw-timeline-node{flex:0 0 98px;min-width:0;min-height:54px;padding:5px 6px;border:1px solid #bbcfcb;border-radius:3px;background:#fff;color:#436775;text-align:left;font:11px system-ui,sans-serif}
.rw-timeline-node small,.rw-timeline-node strong{display:block;overflow-wrap:anywhere}
.rw-timeline-node small{font-size:10px}.rw-timeline-node strong{margin-top:4px;font-size:11px}
.rw-timeline-node.status-normal{border-top:3px solid #397da0}.rw-timeline-node.status-waived{border-top:3px solid #c28639}.rw-timeline-node.status-missed{border-top:3px solid #bd6656}.rw-timeline-node[data-timeline-state="current"]{border-top:3px solid #4d8b62;background:#f1f8ef}.rw-timeline-node[data-timeline-state="future"]{border-top:3px solid #a5b8b9;color:#75878a}
.rw-timeline-node.selected{outline:2px solid #276d91;outline-offset:1px}
.rw-future-panel,.rw-history-selection{margin:12px 0;padding:12px;border:1px solid #c8d7d2;background:#fffdf8;font:12px/1.5 system-ui,sans-serif}
.rw-future-panel h3,.rw-history-selection h3{margin:0 0 7px;font-size:16px}.rw-future-panel p{margin:5px 0}.rw-future-caveat{padding:7px 9px;background:#edf3f1;color:#4f6972}
.rw-record-summary{margin:7px 0;color:#245d76;font:800 13px/1.45 system-ui,sans-serif}
.rw-record-detail{margin-top:8px}.rw-record-detail summary{cursor:pointer;color:#285d75;font:700 12px system-ui,sans-serif}.rw-record-detail .composition-wrap{margin-top:8px}
.rw-history-back{margin-bottom:8px;padding:5px 9px}
@media(max-width:680px){.rw-timeline{padding:8px}.rw-timeline-node{flex-basis:84px}.rw-timeline-head strong{font-size:12px}.rw-timeline-head span{font-size:11px}.rw-overview-part{padding:6px 5px}.rw-overview-part strong{font-size:11px}.rw-overview-part small{font-size:10px}.rw-content-header{min-width:0}}

/* v0.13 reporting calendar and three concise state sections. */
#report-view .report-top #open-records,.rw-content .records-heading{display:none!important}
.rw-semester-bar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:12px 0 0}
.rw-semester-label{display:grid;gap:4px;color:#345e70;font:700 12px system-ui,sans-serif}
.rw-semester-select{min-height:38px;min-width:150px;padding:5px 9px;border:1px solid #aebfc3;border-radius:3px;background:#fffdf8;color:#234f64;font:700 14px system-ui,sans-serif}
.rw-semester-reset{min-height:38px;padding:6px 10px;font-weight:750}
.rw-timeline{margin:10px 0 0;padding:10px 12px}
.rw-calendar-head{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:7px;color:#254f64}
.rw-calendar-head h3{min-width:115px;margin:0;text-align:center;font:750 17px Georgia,serif}
.rw-calendar-shift{width:30px;height:28px;padding:0;border:1px solid #aebfc3;border-radius:3px;background:#fffdf8;color:#245c79;font-size:21px;line-height:1}
.rw-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;min-width:0}
.rw-weekday{text-align:center;color:#5c7981;font:700 11px system-ui,sans-serif}
.rw-calendar-week{grid-column:1/-1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;position:relative;padding-bottom:5px}
.rw-calendar-week::after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:#d6dfdc}
.rw-calendar-week.week-normal::after{background:#397da0}.rw-calendar-week.week-waived::after{background:#c28639}.rw-calendar-week.week-missed::after{background:#bd6656}.rw-calendar-week.week-current::after{background:#4d8b62}.rw-calendar-week.week-future::after{background:#a5b8b9}
.rw-calendar-week.week-normal.week-current::after,.rw-calendar-week.week-normal.week-future::after,.rw-calendar-week.week-current.week-future::after{background:linear-gradient(90deg,#397da0 0 33%,#4d8b62 33% 66%,#a5b8b9 66%)}
.rw-calendar-week.week-waived.week-current::after,.rw-calendar-week.week-missed.week-current::after{background:linear-gradient(90deg,#c28639 0 33%,#bd6656 33% 66%,#4d8b62 66%)}
.rw-calendar-day{position:relative;min-height:28px;padding:2px;border:1px solid #cbd9d5;border-radius:3px;background:#fffefa;color:#27556b;font:700 12px system-ui,sans-serif}
.rw-calendar-day:disabled{opacity:.42}.rw-calendar-day.today{outline:2px solid #265f85;outline-offset:1px}.rw-calendar-day.selected{background:#e7f1f2}
.rw-calendar-day:not(:disabled)::after{content:"";display:block;position:absolute;left:23%;right:23%;bottom:2px;height:3px;background:#397da0}
.rw-calendar-day.has-normal::after{background:#397da0}.rw-calendar-day.has-waived::after{background:#c28639}.rw-calendar-day.has-missed::after{background:#bd6656}.rw-calendar-day.has-current::after{background:#4d8b62}.rw-calendar-day.has-future::after{background:#a5b8b9}
.rw-calendar-day.has-normal.has-current::after,.rw-calendar-day.has-normal.has-future::after,.rw-calendar-day.has-current.has-future::after,.rw-calendar-day.has-normal.has-waived::after,.rw-calendar-day.has-normal.has-missed::after,.rw-calendar-day.has-current.has-missed::after{background:linear-gradient(90deg,#397da0 0 32%,#c28639 32% 48%,#bd6656 48% 64%,#4d8b62 64% 82%,#a5b8b9 82%)}
.rw-calendar-legend{margin:7px 0 0;color:#668087;font:11px/1.4 system-ui,sans-serif}
.rw-calendar-matches{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:8px;font:11px system-ui,sans-serif}.rw-calendar-matches button{padding:4px 7px;border:1px solid #bdcfcb;background:#fffdf8;color:#2c637e;border-radius:3px}
.rw-content{display:grid;gap:9px}.rw-content-header{padding-bottom:7px}.rw-branch-title{font-size:15px}
.rw-block{min-width:0;border:1px solid #c6d7d2;background:#fffdf8}.rw-block-heading{display:block;width:100%;padding:10px 12px;text-align:left;border:0;background:#edf3f0;color:#26536a;font:800 15px system-ui,sans-serif}.rw-block.expanded>.rw-block-heading{background:#dfeceb;border-bottom:1px solid #c6d7d2}
.rw-block-nav{padding:9px 11px 0}.rw-project-tabs,.rw-metric-tabs{display:flex;gap:5px;overflow-x:auto;padding-bottom:5px;scrollbar-width:thin}.rw-project-tab,.rw-metric-tab{flex:none;border:1px solid #c2d0cf;border-radius:3px;padding:5px 9px;background:#fffefa;color:#456d79;font:700 12px system-ui,sans-serif}.rw-project-tab.selected,.rw-metric-tab.selected{border-color:#3b7995;background:#e8f3f4;color:#1f5b78}.rw-metric-tab{font-size:11px}
.rw-block #report-form,.rw-block #records-view,.rw-block .rw-future-panel,.rw-block .rw-pending-list,.rw-block .rw-current-empty{margin:0 11px 11px}
.rw-block #report-form{padding-top:8px}.rw-history-block #records-view{padding-top:7px}
.rw-plan-filters{display:flex;align-items:end;gap:7px;flex-wrap:wrap}.rw-plan-filters label{display:grid;gap:3px;color:#4e6d76;font:700 11px system-ui,sans-serif}.rw-plan-filters input{min-height:35px;padding:5px 7px;border:1px solid #bdcdca;background:#fffefa;color:#28566b}.rw-plan-filters button{min-height:35px}
.rw-future-item,.rw-future-focus{padding:8px 0;border-bottom:1px solid #d6e0dc}.rw-future-item strong,.rw-future-focus strong{color:#2c5e73}.rw-future-item p,.rw-future-focus p{margin:2px 0}.rw-future-focus{padding:8px;background:#eef5f2;border:1px solid #bcd1ca}
.rw-grand-total{font:800 13px system-ui,sans-serif;color:#1d5a72}.rw-campus-title .rw-grand-total{flex:1 1 100%;color:#1d5a72}
@media(max-width:760px){.rw-content{gap:8px}.rw-calendar-grid{gap:2px}.rw-calendar-week{gap:2px}.rw-calendar-day{min-height:31px;font-size:11px}.rw-project-tab,.rw-metric-tab{white-space:nowrap}.rw-plan-filters input{max-width:calc(50vw - 35px)}}
.rw-calendar-week::after,.rw-calendar-day:not(:disabled)::after{background:var(--rw-marks,#d6dfdc)!important}
.rw-block-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;min-width:0}
.rw-block-rail .rw-block-heading{height:100%;min-width:0;text-align:left;line-height:1.4;border:1px solid #c4d4d1;border-top:3px solid #397da0;border-radius:3px;background:#f2f7f4;font-size:13px;overflow-wrap:anywhere}
.rw-block-rail .rw-block-heading:nth-child(2){border-top-color:#4d8b62}.rw-block-rail .rw-block-heading:nth-child(3){border-top-color:#a5b8b9}
.rw-block-rail .rw-block-heading.selected{background:#dfefed;border-color:#3b7995;color:#174f6a}
.rw-block #report-form{width:auto;max-width:calc(100% - 22px)}
.rw-grand-total{display:block;margin:0 0 8px;padding:8px 10px;border-left:3px solid #397da0;background:#e8f2ef;font-size:14px}
.rw-future-item.selected{background:#e9f4f3;border-left:3px solid #397da0;padding-left:7px}
@media(max-width:680px){.rw-block-rail{gap:4px}.rw-block-rail .rw-block-heading{padding:7px 5px;font-size:11px}.rw-block #report-form{max-width:calc(100% - 16px)}}
@media(max-width:760px){.rw-directory{display:none}.report-workspace{grid-template-columns:minmax(0,1fr)}.rw-project-tabs,.rw-metric-tabs{flex-wrap:wrap;overflow:visible}}
.rw-block-rail .rw-block-heading strong,.rw-block-rail .rw-block-heading small{display:block}.rw-block-rail .rw-block-heading small{margin-top:2px;color:#5d7880;font:600 11px/1.3 system-ui,sans-serif}
@media(max-width:680px){.rw-block-rail .rw-block-heading small{font-size:10px}}

/* v0.15: selected indicator workspace with an actual-event calendar. */
.report-workspace{grid-template-columns:minmax(250px,290px) minmax(0,1fr);margin-top:12px}
.rw-directory{display:block;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow-y:auto}
.rw-directory .rw-semester-bar{margin:0 0 10px}
.rw-directory .rw-semester-label,.rw-directory .rw-semester-select{width:100%;min-width:0}
.rw-directory .rw-timeline{margin:0 0 13px;padding:9px 8px}
.rw-directory>h3{margin:0 0 8px}
.rw-calendar-grid,.rw-calendar-week{gap:2px}
.rw-calendar-day{min-height:27px;font-size:11px}
.rw-calendar-week::after{display:none}
.rw-calendar-day.has-missed{border:2px solid #bd6656}
.rw-calendar-day.has-normal::after{background:#4d8b62!important}
.rw-calendar-day.has-waived::after{background:#c28639!important}
.rw-calendar-day.has-normal.has-waived::after{background:var(--rw-marks)!important}
.rw-calendar-day.has-missed:not(.has-normal):not(.has-waived)::after{display:none}
.rw-block-rail .rw-block-heading:nth-child(2){border-top-color:#397da0}
.rw-block-rail .rw-block-heading:nth-child(1){border-top-color:#4d8b62}
.rw-block-rail .rw-block-heading.selected{background:#e5f1f5;border-color:#397da0}
.rw-project-group+.rw-project-group{margin-top:9px;padding-top:8px}
.rw-project-list{gap:4px}
.rw-branch{padding:7px 9px}
.rw-content .rw-block-nav{display:none!important}
.rw-table-scroll{max-width:100%;overflow-x:auto;min-width:0}
.rw-list-table{width:100%;min-width:680px;border-collapse:collapse;color:#2c5365;font:12px/1.45 system-ui,sans-serif}
.rw-list-table th,.rw-list-table td{padding:9px 8px;text-align:left;vertical-align:top;border-bottom:1px solid #d5dfdc;overflow-wrap:anywhere}
.rw-list-table th{background:#eaf2ef;color:#244f63;white-space:nowrap;font-weight:800}
.rw-list-table tbody tr:nth-child(even){background:#f8faf7}
.rw-list-table tbody tr.selected{background:#e8f3f5}
.rw-list-table td:nth-child(1){min-width:130px}
.rw-list-table td:nth-child(3){min-width:130px}
.rw-list-table .rw-record-detail{margin-top:4px}
.rw-list-table .rw-record-segments{display:block}
.rw-list-table .composition-wrap{max-width:100%;overflow-x:auto}
.rw-plan-table{min-width:580px}
.rw-submit-note-label{display:block;margin:10px 0 2px;color:#315d6d;font:700 12px/1.5 system-ui,sans-serif}
.rw-submit-note{display:block;width:100%;box-sizing:border-box;margin-top:5px;padding:8px 10px;resize:vertical;border:1px solid #b7ccc9;border-radius:3px;background:#fffefa;color:#244e60;font:14px/1.45 system-ui,sans-serif}
.rw-submit-note:focus-visible{outline:2px solid #397da0;outline-offset:1px}
@media(max-width:760px){
 .report-workspace{grid-template-columns:minmax(0,1fr)}
 .rw-directory{position:static;max-height:none}
 .rw-directory .rw-timeline{max-width:390px}
 .rw-project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;padding:0}
 .rw-branch{width:100%;min-width:0;flex:auto}
 .rw-content{padding:10px}
}
@media(max-width:390px){.rw-directory .rw-timeline{max-width:none}.rw-project-list{gap:4px}.rw-branch{padding:6px}.rw-branch small{font-size:10px}}

.rw-directory-fold>summary{display:none}.rw-directory-fold>h3{margin:0 0 8px}
@media(max-width:760px){.rw-directory-fold>summary{display:block;padding:10px 8px;background:#edf3f3;color:#285c72;font-weight:700;cursor:pointer;list-style:none}.rw-directory-fold>summary:after{content:'⌄';float:right}.rw-directory-fold[open]>summary:after{content:'⌃'}.rw-directory-fold>h3{display:none}.rw-directory-fold[open] #task-cards{margin-top:8px}}

/* Full calendar surfaces; one date-range picker and campus-first directory. */
.rw-calendar-day:not(:disabled)::after{display:none!important}.rw-calendar-day.has-normal{background:#438657;color:white;border-color:#377648}.rw-calendar-day.has-waived{background:#d99835;color:#fff;border-color:#bb7b1c}.rw-calendar-day.has-normal.has-waived{background:linear-gradient(135deg,#438657 0 50%,#d99835 50%);color:white}.rw-calendar-day.has-missed{background:#f6d6d1;color:#993d33;border:1px solid #c96d61}.rw-calendar-day.in-range{box-shadow:inset 0 0 0 2px #2c719a;background-color:#d9eaf5}.rw-calendar-day.selected{outline:2px solid #205f89;outline-offset:0}.rw-calendar-day:disabled{background:#f3f3ed;color:#a6afaa;opacity:.65}.rw-calendar-day{min-height:32px;font-size:12px}.rw-calendar-selection{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:10px;font:12px/1.4 system-ui,sans-serif}.rw-calendar-reset{padding:5px 8px!important;min-height:32px!important}.rw-directory-filters{display:grid;gap:8px;margin:0 0 10px}.rw-directory-filters label{display:grid;gap:4px;font:700 12px system-ui,sans-serif;color:#355d70}.rw-directory-filters select{width:100%;min-width:0;height:36px;background:#fffdf8;border:1px solid #b8ccc8;border-radius:3px;padding:5px 7px;color:#234f64;font:13px system-ui,sans-serif}.rw-campus-heading{margin:10px 0 6px;color:#285971;font:800 13px system-ui,sans-serif}.records-filters button,.rw-plan-filters button,.rw-calendar-reset{font:700 13px system-ui,sans-serif;border:1px solid #a8bfbd;border-radius:3px;background:#fffdf8;color:#285c72;min-height:36px;padding:7px 12px}.records-filters label[hidden]{display:none!important}

/* v0.17: shared date inputs and continuous calendar selection. */
.rw-calendar-date-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 12px}.rw-calendar-date-fields label{font:600 12px/1.5 system-ui;color:#315d70;min-width:0}.rw-calendar-date-fields input{width:100%;min-width:0;box-sizing:border-box;border:1px solid #b8ccc8;border-radius:4px;padding:7px 4px;font:12px system-ui;background:#fffdf8;color:#234f64}
.rw-calendar-week{gap:0!important}.rw-calendar-day.in-range,.rw-calendar-day.selected{background:#d5e9f6!important;color:#174e75!important;box-shadow:none!important;border-radius:0!important;outline:0!important;border-color:transparent!important}.rw-calendar-day.selected{background:#286c95!important;color:white!important}.rw-calendar-day.in-range.has-normal:before,.rw-calendar-day.in-range.has-waived:before{content:'';position:absolute;bottom:3px;left:40%;width:6px;height:6px;border-radius:50%;background:#438657}.rw-calendar-day.in-range.has-waived:before{background:#d99835}.rw-calendar-day{position:relative}.rw-scalar-totals{display:flex;flex-wrap:wrap;gap:10px;grid-column:1/-1;padding:12px;background:#eaf3f1;border-radius:4px;font:700 14px system-ui;color:#275b6e}.input-error{display:block;margin-top:4px;font-size:12px}input[aria-invalid=true]{border-color:#b74b41!important;background:#fff4f1!important}.rw-calendar-selection span{max-width:185px}

/* v0.20: dates and reset stay in reading order; history filters are independent. */
.rw-calendar-date-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end}
.rw-calendar-date-fields .rw-calendar-reset{height:34px;margin-bottom:0}
.records-filters #record-project,.records-filters #record-indicator{max-width:100%;min-width:0}
@media(max-width:1100px){.rw-calendar-date-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.rw-calendar-date-fields .rw-calendar-reset{grid-column:2;justify-self:end}}
