.fw-page{max-width:none}.fw-page .card{padding:18px;margin-bottom:14px}.fw-page h3{margin:4px 0 2px;font-size:18px}
.fw-section-head,.fw-week-nav,.fw-task,.fw-task-main,.fw-task-actions,.fw-review,.fw-entry,.edit-actions{display:flex;align-items:center;gap:10px}
.fw-section-head{justify-content:space-between;margin-bottom:12px}.fw-section-head p,.fw-task small{display:block;color:var(--text-muted);margin-top:4px}
.fw-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fw-filter .fw-week-nav{margin-left:auto}
.fw-calendar-heading{align-items:center}.fw-calendar-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap}.fw-calendar-heading .fw-week-nav{flex-wrap:wrap;justify-content:flex-end}.fw-calendar-heading .fw-week-nav>b{min-width:190px;text-align:center}
.customer-board-hint{margin-left:auto;color:var(--text-muted);font-size:12px}.fw-board-direct-editor{border-color:#b9c9dc;background:#fbfcfe}.fw-board-direct-editor .fw-section-head{align-items:flex-start}.fw-case-name b,.fw-case-name small{display:block}.fw-case-name small{margin-top:3px;color:#718198;font-size:10px}.fw-case-name.active{background:#eef4fc;box-shadow:inset 3px 0 #315889}
.fw-table-host{position:relative;isolation:isolate}.fw-table-wrap{overflow-y:auto;overflow-x:hidden;max-height:270px;border:1px solid var(--border);border-radius:8px}
.fw-table{min-width:0;max-width:100%;width:100%;table-layout:fixed;border-collapse:collapse}.fw-table th{position:sticky;top:0;z-index:2;background:#f2f6fb;color:#34445c;font-size:11px}
.fw-table th,.fw-table td{box-sizing:border-box;padding:6px 7px;border-bottom:1px solid #e3e9f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.fw-table tbody tr:hover{background:#f7faff}
.fw-table th.col-request{width:8%}.fw-table th.col-project{width:17%}.fw-table th.col-work{width:9%}.fw-table th.col-received{width:10%}.fw-table th.col-status{width:7%}.fw-table th.col-revision{width:6%}.fw-table th.col-actions{width:10%}.fw-table th.col-adjustment{width:7%}.fw-table th.col-usage{width:6%}.fw-table th.col-type{width:5%}.fw-table th.col-deadline{width:9%}.fw-table th.col-hours{width:5%}.fw-table th.col-person{width:6%}
.fw-adjustment-cell{text-align:center!important}.fw-adjustment-cell .adjustment-inline-btn{max-width:100%;padding:4px 6px;font-size:9px}.schedule-inline-note{margin-top:7px;padding:7px 9px;border-radius:6px;background:#edf5ff;color:#315889;font-size:10px}
.fw-table .clickable{cursor:pointer}.fw-actions{display:flex;gap:4px}.fw-pill{display:inline-flex;padding:3px 8px;border-radius:999px;background:#edf2f7;color:#31507c;font-size:12px}
.fw-pill.red{background:#fff0ee;color:#c84d46}.fw-pill.green{background:#e9f8f0;color:#23855a}.fw-empty{text-align:center;padding:28px;color:var(--text-muted)}
.fw-day-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:8px 0}.fw-day-strip button{padding:9px;border:1px solid #cbd7e6;border-radius:7px;background:#fff;text-align:left}
.fw-day-strip b,.fw-day-strip span{display:block}.fw-day-strip span{color:#54677e;margin-top:4px}
.fw-week-grid{display:grid;grid-template-columns:minmax(210px,1.4fr) repeat(5,minmax(130px,1fr));border-left:1px solid #ccd7e3;border-top:2px solid #8fa6c2;overflow:auto}
.fw-week-head,.fw-case-name,.fw-day-cell{min-height:46px;border:0;border-right:1px solid #d6dee8;border-bottom:1px solid #d6dee8;padding:8px;background:#fff;text-align:left}
.fw-week-head{min-height:auto;background:#edf3f8;text-align:center;font-weight:700}.fw-case-name{font-weight:700;cursor:pointer}.fw-day-cell{display:flex;gap:4px;flex-wrap:wrap;align-items:center;cursor:pointer}
.fw-day-cell .fw-hours-label,.guest-case-day .fw-hours-label{position:absolute;z-index:2;background:#213f69;color:#fff;border-radius:4px;padding:2px 5px;font-size:10px;font-weight:700}.fw-day-cell,.guest-case-day{position:relative}.fw-hour-slots{display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;width:100%;padding:0!important;background:transparent!important}.fw-hour-slots i{display:block;height:22px;border:1px solid #d3dce7;border-radius:2px}.fw-week-grid.customer .fw-hours-label{background:#2d6d64}
.fw-modal{max-width:760px;padding:0 18px 18px}.fw-modal.wide{max-width:980px}.fw-picker{padding:12px 0;border-bottom:1px solid var(--border-light)}.fw-picker h4{margin:0 0 9px}
.fw-board-workspace{display:grid;grid-template-columns:minmax(340px,.82fr) minmax(560px,1.18fr);gap:18px;align-items:start}
.fw-board-master{min-width:0}.fw-board-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:9px}.fw-board-tools .form-input{flex:1;min-width:210px}
.fw-board-list{display:grid;grid-template-columns:1fr;gap:7px;max-height:470px;overflow:auto;padding-right:5px;scrollbar-gutter:stable}.fw-board-list button{border:1px solid #d4dee9;background:#fff;border-radius:7px;padding:10px;text-align:left;cursor:pointer}
.fw-board-list button.active{border-color:#315889;background:#eef4fc}.fw-board-list b,.fw-board-list span{display:block}.fw-board-list span{font-size:12px;color:#68798f;margin-top:4px}
.fw-board-editor{position:sticky;top:12px;min-height:250px;padding:16px;border:1px solid #ccd8e5;border-radius:9px;background:#f9fbfd;box-sizing:border-box}.fw-board-editor .fw-section-head{align-items:flex-start}
.fw-board-editor-empty{min-height:216px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#738399}.fw-board-editor-empty b{color:#344b68;font-size:16px;margin-bottom:7px}.fw-entry-list{max-height:330px;overflow:auto}
.fw-entry{padding:8px 0;border-bottom:1px solid #e8edf3}.fw-entry input{border:1px solid #ccd6e1;border-radius:5px;padding:8px}.fw-entry b{min-width:54px}
.fw-task{justify-content:space-between;border-bottom:1px solid #e1e7ee;padding:10px 0}.fw-task-main{min-width:0}.fw-task-main>div{min-width:0}.fw-task-main b{font-size:14px}
.progress-detail-header-actions{display:flex;align-items:center;gap:8px}
.fw-review{border-bottom:1px solid #e1e7ee;padding:11px 0}.fw-review>div{flex:1}.fw-review b,.fw-review span{display:block}.fw-review span{color:#62738a;margin-top:3px}
.fw-note{background:#f4f7fa;border-left:4px solid #315889;padding:10px}.fw-workload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.fw-workload-grid label{font-size:12px;color:#54677e}.fw-workload-grid input,.fw-workload-grid select{display:block;width:100%;box-sizing:border-box;margin-top:4px;padding:8px;border:1px solid #ccd6e1;border-radius:5px;background:#fff}
.edit-actions{justify-content:flex-end;margin-top:15px}
@media(max-width:1100px){.fw-board-workspace{grid-template-columns:1fr}.fw-board-editor{position:static}.fw-board-list{max-height:330px}}
@media(max-width:1000px){.fw-workload-grid{grid-template-columns:repeat(2,1fr)}.fw-week-grid{grid-template-columns:minmax(180px,1.2fr) repeat(5,minmax(110px,1fr))}}
.guest-case-grid{display:grid;grid-template-columns:minmax(250px,1.4fr) repeat(5,minmax(150px,1fr));border-top:3px solid #8197b3;border-left:1px solid #ccd7e3;overflow:auto;margin-top:12px}
.guest-grid-head,.guest-case-name,.guest-case-day{padding:11px;border-right:1px solid #ccd7e3;border-bottom:2px solid #ccd7e3;min-height:52px;box-sizing:border-box}
.guest-grid-head{background:#eef3f8;text-align:center;font-weight:700}.guest-case-name{font-size:15px;font-weight:700}.guest-case-day{display:flex;gap:5px;flex-wrap:wrap}
.guest-case-day b{display:block;font-size:13px;margin-bottom:2px}
.schedule-pending-scroll{max-height:none;overflow:visible;margin-top:10px}.schedule-pending-scroll .fw-table-wrap{max-height:250px}.estimate-slider{display:grid;grid-template-columns:90px 1fr 70px 90px;align-items:center;gap:12px;padding:15px;background:#f4f7fb;border-radius:8px}
.estimate-slider input[type=range]{width:100%;accent-color:#315889}.estimate-slider output{font-size:22px;font-weight:700;color:#244b7e;text-align:center}.estimate-slider input[type=number],.schedule-start input,.schedule-allocation-list input{padding:8px;border:1px solid #cbd6e2;border-radius:5px}
.schedule-start{display:flex;align-items:center;gap:12px;padding:12px 0}.schedule-start span{color:#315889;font-weight:600}.schedule-allocation-list{border-top:1px solid #dce4ed}
.schedule-allocation-list>div{display:grid;grid-template-columns:140px 38px 90px 38px 1fr;align-items:center;gap:6px;padding:8px 0;border-bottom:1px solid #e5ebf1}.schedule-allocation-list button{height:36px;border:1px solid #cbd6e2;background:#fff;border-radius:5px;font-size:18px}
.effort-drag-grid{margin-top:7px;border:1px solid #ced9e5;border-radius:7px;overflow:hidden}.effort-drag-grid>header{display:flex;align-items:baseline;gap:10px;padding:7px 10px;background:#f3f6fa}.effort-drag-grid>header b{font-size:12px}.effort-drag-grid>header span{color:#6c7d91;font-size:10px}.effort-drag-row{display:grid;grid-template-columns:105px minmax(420px,1fr) 50px 58px;align-items:center;gap:8px;padding:5px 9px;border-top:1px solid #e0e6ed}.effort-drag-row>b{font-size:11px}.effort-drag-row>strong{text-align:right;color:#264f7d;font-size:11px}.effort-drag-slots{display:grid;grid-template-columns:repeat(16,minmax(12px,1fr));gap:2px;user-select:none}.effort-drag-slots i{height:22px;border:1px solid #c9d5e2;border-radius:2px;background:#f4f7fa;cursor:crosshair}.effort-drag-slots i.filled{border-color:#315889;background:#315889}.effort-drag-slots i.disabled{opacity:.35;cursor:not-allowed}
.adjustment-inline-btn.active{border-color:#cf8c28;background:#fff4de;color:#805000}.adjustment-page-mask{z-index:10000;contain:layout style paint}.assignment-adjustment-modal{display:grid;width:min(720px,92vw);gap:13px;padding:17px;text-align:left;transform:translateZ(0);backface-visibility:hidden}.assignment-adjustment-modal label{display:grid;gap:6px;color:#5f6f82;font-size:11px}.assignment-adjustment-modal .modal-header{margin:-17px -17px 0;padding:12px 17px}.adjustment-origin{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center;padding:9px;background:#fff8e9;border-radius:6px}.adjustment-origin small{color:#8c7751}.adjustment-origin strong{font-size:11px}.adjustment-chip-row{display:flex;gap:4px;flex-wrap:wrap}.adjustment-chip-row .filter-chip{padding:4px 9px}.adjustment-actions{display:flex;justify-content:flex-end;gap:5px}

/* Standalone single-case editor. Saved schedule results remain untouched below it. */
.schedule-draft-calendar{margin-top:8px}.schedule-draft-heading{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}.schedule-draft-heading h4{margin:0;color:#203b5e;font-size:13px}.schedule-draft-heading span{color:#6f8093;font-size:9px}
.schedule-draft-week{margin-top:6px;border:1px solid #aebfd2;border-radius:7px;overflow:hidden;background:#fff}.schedule-draft-week-label{padding:5px 9px;border-bottom:1px solid #c8d4e1;background:#eaf1f8;color:#2e4d72;font-size:10px;font-weight:750}
.schedule-draft-grid{display:grid;grid-template-columns:minmax(210px,1.3fr) repeat(7,minmax(0,1fr));min-width:0}.schedule-draft-head{padding:6px 4px;border-right:1px solid #d7e0ea;border-bottom:1px solid #c9d5e2;background:#f2f6fa;color:#31475f;text-align:center;font-size:9px;font-weight:750}.schedule-draft-head.case{text-align:left;padding-left:9px}
.schedule-draft-case,.schedule-draft-day{box-sizing:border-box;min-width:0;min-height:47px;border-right:1px solid #dce4ed;background:#fff}.schedule-draft-case{display:grid;align-content:center;gap:3px;padding:6px 9px}.schedule-draft-case>b{color:#173c65;font-size:12px}.schedule-draft-case>span{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;color:#6e7f92}.schedule-draft-case small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.schedule-draft-case strong{color:#234d7d;font-size:10px}
.schedule-draft-day{display:grid;grid-template-rows:22px 11px;align-content:center;gap:3px;padding:5px}.schedule-draft-day.unavailable{background:#f2f4f6}.schedule-draft-day>small{display:flex;justify-content:flex-end;color:#5b6d82;font-size:8px;font-weight:700}.schedule-draft-day.unavailable>small{color:#9aa5b1}
.schedule-draft-slots{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;user-select:none}.schedule-draft-slots>i{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;height:20px;border:1px solid #c6d3e0;border-radius:2px;background:#fff}.schedule-draft-slots em{display:block;min-width:0;background:#fff;cursor:grab;transition:background-color .08s,box-shadow .08s}.schedule-draft-slots em+em{border-left:1px solid #e1e7ee}.schedule-draft-slots em:hover,.schedule-draft-slots em.hovered{box-shadow:inset 0 0 0 2px #6b8fb8}.schedule-draft-slots em.selected{background:#315f91;box-shadow:none}.schedule-draft-slots em.disabled{background:repeating-linear-gradient(135deg,#e2e6eb 0,#e2e6eb 3px,#f1f3f5 3px,#f1f3f5 6px);cursor:not-allowed;box-shadow:none}.schedule-draft-calendar.dragging .schedule-draft-slots em:not(.disabled){cursor:grabbing}

/* Unified case × date calendar. Dates appear only in the table header. */
.case-hour-calendar{min-width:0}
.case-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}
.case-calendar-toolbar>div:first-child{display:flex;align-items:baseline;gap:10px;min-width:0}.case-calendar-toolbar h3{margin:0;font-size:16px;white-space:nowrap}.case-calendar-toolbar p{min-width:0;margin:0;color:var(--text-muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.case-calendar-controls{display:flex;align-items:center;gap:6px;white-space:nowrap}.case-calendar-controls>b{min-width:150px;text-align:center;font-size:11px}
.calendar-view-toggle{display:inline-flex;border:1px solid #b9c7d7;border-radius:5px;overflow:hidden}
.calendar-view-toggle button{min-width:34px;padding:5px 8px;border:0;border-right:1px solid #b9c7d7;background:#fff;color:#3a526e;cursor:pointer}
.calendar-view-toggle button:last-child{border-right:0}.calendar-view-toggle button.active{background:#315889;color:#fff}
.case-calendar-groups{display:grid;gap:8px}.case-calendar-group{min-width:0}
.case-calendar-table{width:100%;table-layout:fixed;border-collapse:collapse;border:2px solid #8da4bf;background:#fff}
.case-calendar-table th,.case-calendar-table td{box-sizing:border-box;border:1px solid #c5d1df;padding:5px;vertical-align:middle}
.case-calendar-table thead th{height:42px;background:#edf3f8;text-align:center;color:#253d5a}
.case-calendar-table thead th>b,.case-calendar-table thead th>small{display:block}.case-calendar-table thead th>b{font-size:10px}.case-calendar-table thead th>small{margin-top:2px;color:#687a91;font-size:8px;font-weight:500}
.case-calendar-table .calendar-period-col{width:92px}.case-calendar-table .calendar-case-col{width:230px}
.calendar-period-cell{background:#f1f5f9;color:#29486f;text-align:center;font-size:10px;line-height:1.45}
.calendar-case-cell{text-align:left;background:#fff;cursor:pointer}.calendar-case-cell b,.calendar-case-cell small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-case-cell b{font-size:11px}.calendar-case-cell small{margin-top:2px;color:#7a899c;font-size:8px}
.case-calendar-table td{position:relative;height:38px;background:#fff;cursor:default}.case-calendar-table td.clickable{cursor:pointer}.case-calendar-table td.clickable:hover,.calendar-case-cell:hover{background:#f2f7fc}
.calendar-eight-slots{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:1px;width:100%}.calendar-eight-slots i{display:block;height:22px;border:1px solid #d2dbe6;background:#f5f7fa}
.calendar-empty{height:42px;text-align:center;color:var(--text-muted);font-size:10px}
.case-calendar-group+ .case-calendar-group{margin-top:2px}

/* Dense page frame: keep headings and controls on one readable line. */
.main-content{padding-top:9px!important}.page-heading{align-items:center!important;margin-bottom:7px!important;min-height:32px}
.page-heading>div:first-child{display:flex;align-items:baseline;gap:12px;min-width:0}.page-heading h2{white-space:nowrap;font-size:20px!important}.page-heading p{margin:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fw-page .card,.card{padding:10px 12px;margin-bottom:8px}.intake-panel{padding:10px 12px!important;margin-bottom:8px!important}.batch-drop{margin-top:7px!important;padding:11px!important}
.fw-table-wrap{max-height:230px}.fw-table th,.fw-table td{padding-top:4px;padding-bottom:4px}.fw-table tbody tr{height:34px}
.fw-section-head{margin-bottom:7px}.fw-filter{padding-top:8px!important;padding-bottom:8px!important}
.schedule-pending-scroll{margin-top:6px}.edit-actions{margin-top:8px;padding-top:7px;padding-bottom:7px}
@media(max-width:1200px){.case-calendar-table .calendar-period-col{width:76px}.case-calendar-table .calendar-case-col{width:190px}.page-heading p{max-width:65vw}}

/* V5 schedule design: capacity overview and schedule detail are independent. */
.schedule-v5{overflow-x:hidden}
.schedule-v5 .schedule-list-card,.schedule-v5 .schedule-editor-card,.schedule-v5 .capacity-board-card,.schedule-v5 .schedule-results-card{overflow:hidden}
.schedule-v5 .action-fit{flex:0 0 auto!important;width:auto!important;min-width:96px;padding-left:24px;padding-right:24px}
.capacity-overview-toolbar,.all-schedule-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:6px}
.capacity-overview-toolbar>div:first-child,.all-schedule-head>div:first-child{display:flex;align-items:baseline;gap:10px;min-width:0}
.capacity-overview-toolbar h3,.all-schedule-head h3{margin:0;font-size:16px}
.capacity-overview-toolbar p,.all-schedule-head p{min-width:0;margin:0;color:var(--text-muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.capacity-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.capacity-day{box-sizing:border-box;min-width:0;min-height:38px;padding:6px 8px;border:1px solid #cbd7e4;border-radius:6px;background:#fff;color:#20344d;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}
.capacity-day:hover{border-color:#6f8fb5;box-shadow:0 4px 12px rgba(36,65,100,.1);transform:translateY(-1px)}
.capacity-day.blank{visibility:hidden}
.capacity-day.available{background:linear-gradient(150deg,#fff 0%,#f1faf5 100%);border-color:#b7dac6}
.capacity-day.full{background:linear-gradient(150deg,#fff 0%,#fff0ef 100%);border-color:#e8b7b2}
.capacity-day.off{background:#f5f6f8;border-color:#e1e5ea;color:#98a4b1;cursor:default}
.capacity-day-line{display:flex;align-items:center;justify-content:flex-start;gap:4px;width:100%;white-space:nowrap;line-height:1.15}
.capacity-day-line b,.capacity-day-line strong{font-size:clamp(9px,.68vw,11.5px);font-weight:750}.capacity-day-line b{color:#253d59}.capacity-day-line i{color:#8b98a7;font-size:clamp(8px,.58vw,10px);font-style:normal}
.capacity-day-line strong{color:#264f7d}
.capacity-day.full .capacity-day-line strong{color:#bd423c}.capacity-day.available .capacity-day-line strong{color:#287657}.capacity-day.off .capacity-day-line strong{color:#8b97a4}

.all-schedule-head>b{flex:0 0 auto;padding:4px 10px;border-radius:999px;background:#edf3f8;color:#315889;font-size:11px}
.schedule-week-card{margin-top:9px;border:1px solid #c9d5e2;border-radius:9px;background:#fff;overflow:hidden}
.schedule-week-label{padding:7px 10px;background:linear-gradient(90deg,#e9f0f7,#f8fafc);border-bottom:1px solid #c9d5e2;color:#2d4e74;font-size:12px;font-weight:700}
.schedule-result-grid{display:grid;grid-template-columns:minmax(220px,1.3fr) repeat(7,minmax(0,1fr));min-width:0}
.schedule-result-head{min-width:0;padding:7px 4px;border-right:1px solid #d7e0ea;border-bottom:1px solid #c9d5e2;background:#f3f6f9;color:#31475f;text-align:center;font-size:10px;font-weight:700}
.schedule-result-head.case{text-align:left;padding-left:10px}
.schedule-result-case,.schedule-result-day{box-sizing:border-box;min-width:0;min-height:48px;border:0;border-right:1px solid #e0e6ed;border-bottom:1px solid #e0e6ed;background:#fff;cursor:pointer}
.schedule-result-case{padding:6px 9px;text-align:left}.schedule-result-case .calendar-case-id{display:block;overflow:visible;white-space:nowrap;font-size:12px;color:#183858;letter-spacing:.01em}
.calendar-case-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;margin-top:3px;color:#65768a;font-size:9px}
.calendar-case-summary>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-case-summary>strong{color:#234d7d;font-size:10px;white-space:nowrap}
.schedule-result-day{display:grid;grid-template-rows:20px 11px;align-content:center;gap:3px;padding:6px}
.schedule-result-day:hover,.schedule-result-case:hover{background:#f2f7fc}
.schedule-result-day .calendar-eight-slots{gap:2px}
.schedule-result-day .calendar-eight-slots i{box-sizing:border-box;height:20px;border:1px solid #cbd6e2;border-radius:2px}
.schedule-result-day.draft{background:#f7fbff;box-shadow:inset 0 0 0 2px #4f7cac}.calendar-eight-slots.editable i{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:#f3f6fa!important;cursor:crosshair}.calendar-eight-slots.editable i em{display:block;min-width:0;background:#f3f6fa}.calendar-eight-slots.editable i em.selected{background:#315f91}.calendar-eight-slots.editable i em+em{border-left:1px solid rgba(255,255,255,.45)}
.schedule-result-day>small{display:block;min-height:11px;color:#425873;text-align:right;font-size:9px;font-weight:700;line-height:1}
.schedule-result-day>small.empty,.period-case-day>small.empty{visibility:hidden}
.calendar-empty.all{padding:34px;border:1px dashed #ccd7e2;border-radius:8px;background:#fafbfd}

/* Shared period calendar without the old week column or floating hour badge. */
.period-case-grid{display:grid;min-width:0;border:1px solid #a8bad0;border-radius:8px;overflow:hidden;background:#fff}
.period-case-head,.period-case-name,.period-case-day{box-sizing:border-box;min-width:0;border:0;border-right:1px solid #d6e0ea;border-bottom:1px solid #d6e0ea}
.period-case-head{padding:7px 4px;background:#eef3f8;text-align:center}.period-case-head b,.period-case-head small{display:block}.period-case-head b{font-size:10px}.period-case-head small{margin-top:2px;color:#6a7b8f;font-size:8px}
.period-case-head.case{text-align:left;padding-left:10px}
.period-case-name{min-height:46px;padding:6px 9px;background:#fff;text-align:left;cursor:pointer}.period-case-name .calendar-case-id{display:block;overflow:visible;white-space:nowrap;font-size:12px;color:#183858;letter-spacing:.01em}
.period-case-day{display:grid;grid-template-rows:22px 11px;align-content:center;gap:3px;min-height:46px;padding:6px;background:#fff}.period-case-day.clickable{cursor:pointer}.period-case-day.clickable:hover,.period-case-name:hover{background:#f2f7fc}.period-case-day small{text-align:right;color:#425873;font-size:9px;font-weight:700;line-height:1}

.additional-info-badge{display:inline-flex;align-items:center;margin-left:5px;padding:1px 6px;border:1px solid #e8b65a;border-radius:999px;background:#fff4ce;color:#875400;font-size:9px;font-weight:800;line-height:1.5;white-space:nowrap}
.temporary-adjustment-badge{display:inline-flex;align-items:center;margin-left:4px;padding:1px 5px;border-radius:999px;background:#fff1d6;color:#9a5b00;font-size:10px;font-weight:700;vertical-align:middle}
.additional-info-list{display:grid;gap:5px}.additional-info-list>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:6px 8px;border:1px solid #ead9a8;border-radius:6px;background:#fffaf0}.additional-info-list .additional-info-badge{margin-left:0}.additional-info-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.additional-info-list time{color:#6f7f91;font-size:10px;white-space:nowrap}

@media(max-width:1180px){
  .schedule-result-grid{grid-template-columns:minmax(180px,1.15fr) repeat(7,minmax(0,1fr))}
  .schedule-result-day{padding:4px}.schedule-result-day .calendar-eight-slots{gap:1px}
  .capacity-day{padding:5px;min-height:35px}.capacity-day-line b,.capacity-day-line strong{font-size:8.5px}.capacity-day-line{gap:3px}
}
/* Current workflow surfaces. */
.virtual-capacity-total{text-align:right}.virtual-capacity-total b,.virtual-capacity-total span{display:block}.virtual-capacity-total b{color:var(--accent);font-size:16px}.virtual-capacity-total span{margin-top:4px;color:var(--text-muted);font-size:10px}

/* Unified case × date calendar. Customer cells use the Japanese 09:00-18:00 axis. */
.customer-time-calendar{min-width:0}.customer-case-grid{display:grid;min-width:0;margin-top:7px;border:1px solid #a8bad0;border-radius:8px;overflow:hidden;background:#fff}.customer-case-head,.customer-case-name,.customer-case-day{box-sizing:border-box;min-width:0;border:0;border-right:1px solid #d6e0ea;border-bottom:1px solid #d6e0ea}.customer-case-head{display:grid;grid-template-rows:auto 9px;align-content:center;gap:1px;padding:4px 5px 2px;background:#eef3f8;text-align:center;color:#31475f}.customer-case-head.case{display:flex;align-items:center;text-align:left;padding-left:9px}.customer-day-head-main,.customer-time-endpoints{display:flex;align-items:center;justify-content:space-between;min-width:0}.customer-day-head-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.customer-day-head-main em{color:#315889;font-size:8px;font-style:normal;white-space:nowrap}.customer-time-endpoints small{color:#58708b;font-size:7px;line-height:1}.customer-case-name{position:relative;display:grid;gap:2px;min-height:46px;padding:6px 28px 6px 9px;background:#fff;text-align:left;cursor:pointer}.customer-case-name>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#183858;font-size:12px}.customer-case-name>span{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;color:#6d7f93}.customer-case-name small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.customer-case-name strong{font-size:10px;color:#234d7d}.customer-case-name>i{position:absolute;right:5px;top:50%;transform:translateY(-50%);padding:2px 4px;border:1px solid #bdcbd9;border-radius:4px;background:#fff;color:#315889;font-style:normal}.customer-case-day{display:grid;grid-template-rows:22px 10px;align-content:center;gap:2px;min-height:46px;padding:5px;background:#fff}.customer-case-day.active{background:#f7fbff}.customer-case-day.editable{box-shadow:inset 0 0 0 2px #4f7cac}.customer-case-day>small{text-align:right;color:#425873;font-size:8px;font-weight:700}.customer-hour-boxes{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;user-select:none}.customer-hour-boxes>i{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;height:21px;border:1px solid #cbd6e2;border-radius:2px;background:#f3f6fa}.customer-hour-boxes em{min-width:0;background:#f3f6fa}.customer-hour-boxes em+em{border-left:1px solid rgba(255,255,255,.45)}.customer-hour-boxes em.filled{background:#3b8f61}.customer-hour-boxes em.preview{background:#2eaa68}.customer-case-day.editable .customer-hour-boxes em{cursor:grab}.customer-case-day.editable .customer-hour-boxes em:active{cursor:grabbing}
@media(max-width:1200px){.customer-case-grid{grid-template-columns:minmax(180px,1.15fr) repeat(7,minmax(0,1fr))!important}.customer-case-day{padding:4px}.customer-hour-boxes{gap:1px}.effort-drag-row{grid-template-columns:90px minmax(320px,1fr) 45px 52px}}
