/* One page scroll owner; fifteen-row tables must never be flex-shrunk. */
.main-content{padding:8px 12px!important}
.main-content>div{height:100%;overflow:auto!important;scrollbar-width:auto!important;padding-bottom:8px}
.main-content>div::-webkit-scrollbar{width:10px;height:10px}
.main-content .schedule-workbench-v41,.main-content .personnel-v41,.main-content .progress-page-v41,.main-content .delivery-preview-page{height:auto!important;overflow:visible!important;min-height:0;display:block}
.main-content .schedule-sheet-card,.main-content .personnel-list-section,.main-content .delivery-preview-card,.main-content .progress-board-shell{height:auto!important;overflow:visible!important;flex:none!important;display:block}
.main-content .internal-ledger{height:var(--internal-ledger-height,590px)!important;min-height:0!important;max-height:none!important;flex:none!important;overflow:auto!important;box-sizing:border-box;position:relative;scrollbar-gutter:stable;overscroll-behavior:contain}
.main-content .internal-ledger table{border-collapse:separate;border-spacing:0}
.main-content .internal-ledger td{height:36px!important;padding:2px 6px!important;box-sizing:border-box;font-size:12px!important;line-height:16px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.main-content .internal-ledger th{height:30px!important;padding:4px 6px!important;box-sizing:border-box;line-height:20px;font-size:12px!important;position:sticky!important;z-index:6;background-color:#eff4f0;color:#36574b;box-shadow:0 1px #cfdcd5}
.main-content .internal-ledger input:not([type=checkbox]),.main-content .internal-ledger select,.main-content .internal-ledger .btn{height:26px!important;min-height:26px!important;padding:2px 5px!important;font-size:12px!important;line-height:20px!important;box-sizing:border-box}
.main-content .internal-ledger td small{line-height:14px;font-size:11px}.main-content .internal-ledger .dr-name b{display:block;white-space:nowrap;max-height:16px;line-height:16px;text-overflow:ellipsis;overflow:hidden}
.main-content .schedule-sheet{min-width:1450px!important}.main-content .personnel-table{min-width:1150px!important}.main-content .progress-board-table{min-width:1550px!important}
.main-content .page-heading,.main-content .compact-heading{margin-bottom:5px!important;min-height:28px!important}.main-content .page-heading h2,.main-content .progress-title{font-size:20px!important;line-height:28px;margin:0}
.internal-sync-inline{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;font:12px/18px system-ui,sans-serif;color:#637c71;margin:0 0 0 10px}.internal-sync-inline button{border:0;background:transparent;color:#32695c;padding:0 3px;cursor:pointer;font:inherit}
.main-content .card{padding:10px!important;margin-bottom:8px!important}.main-content .schedule-control-row,.main-content .personnel-filter{margin-bottom:6px!important;gap:6px!important}.main-content .progress-filter-card{padding:8px 10px!important;margin-bottom:6px!important}.main-content .progress-filter-row{gap:5px!important;margin-bottom:4px!important}.main-content .progress-filter-btn,.main-content .filter-chip{padding:3px 9px!important;min-height:26px!important;font-size:12px!important}
.main-content .cb-workspace,.main-content .cb-main,.main-content .cb-layout,.main-content .cb-schedule{height:auto!important;max-height:none!important;overflow:visible!important}.main-content .cb-timeline-scroll{max-height:none!important;overflow:auto!important}.main-content .cb-timeline-head{position:sticky;top:0;z-index:5;background:#eff4f0}.main-content .cb-portal-top-sticky{position:static}
.main-content .dr-toolbar,.main-content .dr-filters,.main-content .dr-actions{gap:6px;margin:4px 0}.main-content .dr-toolbar h2{font-size:20px}.main-content .dr-summary{padding:7px 10px;margin:5px 0}.main-content .cb-message{padding:7px 10px;margin:5px 0}

.main-content .internal-page-heading{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin:0 0 6px}.main-content .internal-ledger th{background:#eff4f0!important;color:#36574b!important}.main-content .cb-header>div:first-child{display:flex;align-items:center;flex-wrap:wrap}.main-content .cb-header .internal-sync-inline{display:inline-flex!important}.main-content .dr-toolbar h2{margin-right:0}.main-content .dr-toolbar>.internal-sync-inline{margin-right:auto}.main-content .cb-timeline-head{background:#eff4f0!important}
.main-content .internal-ledger td small{margin:0!important}
.main-content .dr-scroll.internal-ledger .dr-actual-input{display:inline-block!important;width:52px!important;height:24px!important;min-height:24px!important;margin:0!important;padding:1px 3px!important}
.main-content .internal-ledger .dr-hours-detail{display:inline-block!important;padding:0 3px;margin:0!important;font-size:11px;line-height:20px}
.main-content .internal-ledger .dr-review{padding:1px 4px;font-size:11px;line-height:18px}
.main-content .schedule-sheet th:last-child,.main-content .schedule-sheet td:last-child{width:108px!important;min-width:108px!important}
.main-content .schedule-sheet td:last-child button{white-space:nowrap}
.main-content .schedule-control-row>*{min-width:0}
.main-content .schedule-filter-level,.main-content .usage-subgroup{height:auto;flex-wrap:wrap}
.main-content .schedule-sheet td.schedule-actions{white-space:nowrap!important;overflow:hidden}
.main-content .schedule-sheet td.schedule-actions .btn{display:inline-block!important;width:auto!important;min-width:0!important;font-size:11px!important;padding:2px 4px!important}
@media(max-width:1500px){.main-content .schedule-control-row{grid-template-columns:1fr}.main-content .schedule-filter-stack{display:flex;flex-flow:row wrap;justify-content:flex-start;align-items:center}.main-content .schedule-filter-level{min-width:0}.main-content .schedule-business-level,.main-content .schedule-usage-level{display:flex;flex-wrap:wrap}}

/* Override legacy !important grid tracks that exceed the filter card at 125% zoom. */
.main-content .schedule-business-level,.main-content .schedule-usage-level{display:flex!important;flex-wrap:wrap;gap:6px;min-width:0}
.main-content .schedule-filter-level>span{flex:0 0 64px}
.main-content .usage-subgroup,.main-content .business-slot{flex-wrap:wrap;height:auto;min-width:0}
.main-content .schedule-filter-stack{box-sizing:border-box;min-width:0;max-width:100%}

/* Keep the three registration actions readable and inside their table cell. */
.main-content .formal-monthly-table{min-width:1600px}
.main-content .formal-monthly-table th:last-child{width:18%!important}
.main-content .formal-monthly-table td.row-actions{display:table-cell;overflow:hidden!important}
.main-content .formal-monthly-table .row-actions .btn{font-size:12px!important;padding:3px 6px!important;min-width:0;flex:none;margin-right:4px!important}
/* Notices and page share the viewport instead of each consuming 100% height. */
.main-content{display:flex!important;flex-direction:column;min-height:0;overflow:hidden!important;box-sizing:border-box}
.main-content>div:not(.intake-review-notice){flex:1 1 0;min-height:0;height:auto!important;box-sizing:border-box}
.main-content>.intake-review-notice{flex:0 0 auto;height:auto!important;max-height:30vh;overflow:auto!important;padding-bottom:0;box-sizing:border-box}
.schedule-edit-help{font-size:12px;color:#536d64;margin:4px 0}
