/* R15 judgment colors, behavior overlays, cohesive violet focus, music-lane timeline. */
:root{
 --judgment-normal:#78caa0;
 --judgment-anomaly:#e6c36f;
 --judgment-absent:#e58f90;
 --behavior-trip:#5eaddc;
 --behavior-leave:#e6a173;
 --behavior-outing:#5fb9b6;
 --behavior-overtime:#cd8ab2;
}
.m-cell button[data-cell]:not(.filtered-out){background:var(--status-color)!important}
.m-cell button.s-normal{background:var(--judgment-normal)!important}
.m-cell button.s-anomaly{background:var(--judgment-anomaly)!important}
.m-cell button.s-absent{background:var(--judgment-absent)!important}
.m-cell button.s-rest{background:#e9eff4!important}
.m-cell button.s-trip{background:var(--behavior-trip)!important}
.m-cell button.s-leave{background:var(--behavior-leave)!important}
.m-cell button.s-outing{background:var(--behavior-outing)!important}
.m-cell button.s-overtime{background:var(--behavior-overtime)!important}
.m-cell button.filtered-out:not(.selected){opacity:.055!important;background:var(--status-color)!important}
.m-cell button.selected,
.m-cell.day-rest button.selected,
.m-cell.day-holiday button.selected,
.m-cell button.s-rest.selected,
.m-cell button.filtered-out.selected{
 opacity:1!important;transform:translateY(-2px) scale(1.18)!important;
 outline:0!important;filter:none!important;
 box-shadow:0 0 0 2px #fff,0 0 0 4px var(--r14-violet),0 5px 16px rgba(132,86,214,.42)!important;
 position:relative;z-index:28;
}
.matrix:not(.behavior-view) .corner-mark{display:none!important}
.matrix.behavior-view .corner-mark{display:block!important}
.m-cell .corner-mark.behavior-trip{background:var(--behavior-trip)}
.m-cell .corner-mark.behavior-leave{background:var(--behavior-leave)}
.m-cell .corner-mark.behavior-outing{background:var(--behavior-outing)}
.m-cell .corner-mark.behavior-overtime{background:var(--behavior-overtime)}
.m-name .name-letters span{font-weight:470!important;font-size:12.6px!important}
.m-name.selected{
 color:var(--r14-violet)!important;
 border:1.8px solid var(--r14-violet)!important;
 border-right:0!important;border-radius:5px 0 0 5px;
 background:#fff!important;
 box-shadow:0 0 0 1px #fff,0 0 10px rgba(130,87,217,.23)!important;
 position:sticky;left:0;z-index:29!important;
}
.m-name.selected .name-letters span{font-weight:480!important;color:var(--r14-violet)!important}
.m-name.selected .m-name-num{color:var(--r14-violet)!important;font-weight:600}
.m-date.selected{
 z-index:34!important;
 border:1.8px solid var(--r14-violet)!important;
 border-bottom:0!important;border-radius:5px 5px 0 0;
 background:#fff!important;
 box-shadow:0 0 10px rgba(130,87,217,.23)!important;
}
.m-date.selected b{font-weight:700!important;color:var(--r14-violet)!important}
.m-cell.cell-focus button.selected{z-index:35!important}
.matrix-selection-frame.focus-row{left:0!important;width:var(--matrix-grid)!important;z-index:24}
.matrix-selection-frame.focus-col{top:33px!important;z-index:24}
.matrix-selection-frame.soft{opacity:.3!important}
.matrix-preview-frame{z-index:26}
.insight-state.anomaly{background:#fff6e3;color:#9b752f}
.insight-state.absent{background:#fff0ef;color:#a64b54}
.insight-row .tone-problem{color:#c05e62!important}
.insight-row .tone-warn{color:#af8c32!important}
.music-track-panel{position:relative}
.music-track-panel .echarts-timeline-chart{min-height:0!important}
.music-track-panel .r15-punch-preview{
 position:absolute;
 left:76px;right:12px;bottom:32px;height:24px;
 z-index:6;pointer-events:none;
}
.r15-punch-dot{
 position:absolute;top:8px;height:7px;width:7px;
 transform:translateX(-50%);border-radius:50%;
 background:#2887c6;border:1px solid rgba(255,255,255,.72);
 box-shadow:0 0 0 .5px rgba(54,77,102,.2);
}
.r15-punch-dot.out{background:#d78851}
.r14-day-edges{bottom:0!important;font-size:10px}
.timeline-top-legend{gap:13px}
.inspector-plot .plot-axis{padding-bottom:0}
.raw-table .tabulator-col-title{font-weight:640}
@media(max-width:1450px){
 .music-track-panel .r15-punch-preview{left:76px;right:12px}
}


/* R16 screenshot pass: explicit anchors, semantic filter and tighter audio-track hierarchy. */
.status-filter-control{position:relative}
.status-filter-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.status-filter-button{
 width:100%;height:38px;border:1px solid #d6e3ed;border-radius:9px;background:#fff;
 display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 11px;
 color:#36566d;font-size:12px;cursor:pointer;box-shadow:0 1px 1px rgba(31,62,87,.02)
}
.status-filter-button:hover{border-color:#c6d8e5;background:#fbfdff}
.status-filter-current{display:flex;align-items:center;gap:8px;min-width:0}
.status-filter-current b{font-weight:650}
.status-filter-button .chevron{width:7px;height:7px;border-right:1.5px solid #6d8799;border-bottom:1.5px solid #6d8799;transform:rotate(45deg) translateY(-2px)}
.status-filter-menu{
 display:none;position:absolute;left:0;right:0;top:43px;z-index:120;
 background:#fff;border:1px solid #d8e5ee;border-radius:10px;padding:5px;
 box-shadow:0 10px 26px rgba(39,65,87,.13)
}
.status-filter-menu.open{display:grid;grid-template-columns:1fr 1fr;gap:3px}
.status-filter-menu button{
 border:0;background:transparent;border-radius:7px;padding:8px 8px;display:flex;align-items:center;gap:7px;
 color:#466379;font-size:11.5px;text-align:left;cursor:pointer
}
.status-filter-menu button:first-child{grid-column:1 / -1;background:#f6f9fc}
.status-filter-menu button:hover{background:#edf5fb;color:#2f668d}
.status-filter-dot,.status-filter-dots i{
 display:inline-block;width:9px;height:9px;border-radius:3px;flex:none
}
.status-filter-dots{display:flex;gap:2px}
.status-filter-dot.normal,.status-filter-dots .normal{background:var(--judgment-normal)}
.status-filter-dot.anomaly,.status-filter-dots .anomaly{background:var(--judgment-anomaly)}
.status-filter-dot.absent,.status-filter-dots .absent{background:var(--judgment-absent)}
.status-filter-dot.trip{background:var(--behavior-trip)}
.status-filter-dot.leave{background:var(--behavior-leave)}
.status-filter-dot.outing{background:var(--behavior-outing)}
.status-filter-dot.overtime{background:var(--behavior-overtime)}

.m-name.selected{
 border:2px solid var(--r14-violet)!important;
 border-radius:5px!important;
 box-shadow:0 0 0 1px #fff,0 0 11px rgba(130,87,217,.28)!important;
}
.m-date.selected{
 border:2px solid var(--r14-violet)!important;
 border-radius:5px!important;
 box-shadow:0 0 0 1px #fff,0 0 11px rgba(130,87,217,.28)!important;
}
.matrix-selection-frame{
 border-width:1.9px!important;
 box-shadow:0 0 0 1px rgba(255,255,255,.9),0 0 11px rgba(130,87,217,.27)!important
}
.matrix-selection-frame.soft{opacity:.38!important;box-shadow:0 0 6px rgba(130,87,217,.18)!important}
.matrix-selection-frame.focus-row{left:0!important;width:var(--matrix-grid)!important}
.matrix-selection-frame.focus-col{top:33px!important}
.m-name .name-letters span{font-weight:430!important;letter-spacing:.05px}
.m-name.selected .name-letters span{font-weight:450!important}

.music-track-panel .echarts-timeline-chart{border-radius:8px;overflow:hidden}
.timeline-top-legend{padding-left:2px}
.r15-punch-dot.multi{
 width:10px;height:10px;top:6px;border-width:2px;
 box-shadow:0 0 0 2px rgba(255,255,255,.85),0 0 7px rgba(58,91,118,.2)
}
.r15-punch-dot.multi::after{
 content:attr(data-count);position:absolute;left:7px;top:-9px;min-width:12px;height:12px;padding:0 2px;
 border-radius:6px;background:#56697b;color:#fff;font:700 8px/12px "Segoe UI Variable",sans-serif;text-align:center
}


/* R17 selection language: one violet outline + tinted name/date anchors. */
.m-name.selected{
 border:0!important;
 border-right:1px solid #e3edf4!important;
 border-radius:0!important;
 background:rgba(130,87,217,.17)!important;
 box-shadow:none!important;
 color:#6f42bf!important;
}
.m-name.selected .m-name-num{
 color:#7750b7!important;
 font-weight:520!important;
}
.m-name.selected .name-letters,
.m-name.selected .name-letters>span{
 transform:none!important;
 color:#6941b2!important;
 font-weight:450!important;
}
.m-date.selected{
 border:0!important;
 border-bottom:1px solid #e1e9f0!important;
 border-radius:0!important;
 background:rgba(130,87,217,.19)!important;
 box-shadow:none!important;
 color:#6941b2!important;
}
.m-date.selected b{
 width:auto!important;
 height:auto!important;
 border:0!important;
 border-radius:0!important;
 background:transparent!important;
 box-shadow:none!important;
 transform:none!important;
 color:#6941b2!important;
 font-weight:700!important;
}
.matrix-selection-frame{
 border-color:#8257d9!important;
}
.matrix-selection-frame.focus-row,
.matrix-selection-frame.focus-col{
 box-shadow:0 0 0 1px rgba(255,255,255,.82),0 0 10px rgba(130,87,217,.24)!important;
}
.matrix-selection-frame.soft{
 opacity:.34!important;
}


/* R18: filter-driven inspector, compact audio tracks and manual judgment workflow. */
:root{
 --behavior-trip:#6b7fd7;
 --behavior-leave:#8a6fd1;
 --behavior-outing:#3c9dc4;
 --behavior-overtime:#c876a0;
 --event-in:#1f5a9f;
 --event-out:#8a5b3d;
}
.analysis-head{
 min-height:33px!important;height:33px!important;padding:0 10px!important;
}
.analysis-head h2{font-size:12px!important;gap:7px!important;font-weight:580!important}
.analysis-head h2 strong{font-size:13px!important;font-weight:650!important}
.analysis-head .head-date{font-size:11px!important}
.analysis-head .head-group{padding:2px 5px!important;font-size:10px!important}
.inspector-top{
 grid-template-columns:minmax(0,1fr) 122px!important;
}
.inspector-plot{padding:0 8px 4px!important}
.inspector-insight{
 width:122px;min-width:122px;max-width:122px;padding:8px!important;
}
.insight-heading{font-size:10.5px!important;margin-bottom:5px!important;color:#71889b!important}
.insight-row{padding:4px 0!important}
.insight-row span{font-size:9.5px!important}
.insight-row strong{font-size:11px!important}
.insight-issue{font-size:9.5px!important;margin:5px 0!important;line-height:1.35!important}
.chart-mode-tabs{min-height:33px!important;height:33px!important;gap:19px!important}
.chart-mode-tabs button{height:33px!important;font-size:11.5px!important}
.plot-heading{min-height:28px!important;height:28px!important;margin:0!important;display:flex;align-items:center;justify-content:space-between;gap:8px}
.plot-heading strong{font-size:11px!important;font-weight:650!important}
.timeline-heading{justify-content:space-between!important}
.timeline-top-legend{display:flex;align-items:center;gap:9px!important;min-width:0;overflow:hidden;white-space:nowrap}
.timeline-top-legend span{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;color:#667f91}
.timeline-top-legend i{display:inline-block;flex:none}
.timeline-top-legend .legend-event i{width:8px;height:3px;border-radius:2px}
.timeline-top-legend .legend-event.in i{background:var(--event-in)}
.timeline-top-legend .legend-event.out i{background:var(--event-out)}
.timeline-top-legend .legend-band i{width:10px;height:5px;border-radius:2px}
.timeline-top-legend .legend-band.normal i{background:var(--judgment-normal)}
.timeline-top-legend .legend-band.anomaly i{background:var(--judgment-anomaly)}
.timeline-top-legend .legend-band.absent i{background:var(--judgment-absent)}
.timeline-top-legend .legend-band.trip i{background:var(--behavior-trip)}
.timeline-top-legend .legend-band.leave i{background:var(--behavior-leave)}
.timeline-top-legend .legend-band.outing i{background:var(--behavior-outing)}
.timeline-top-legend .legend-band.overtime i{background:var(--behavior-overtime)}
#timelineDayPicker{font-size:10px!important;padding:2px 5px!important;height:24px;flex:none}
.music-track-panel .echarts-timeline-chart{border-radius:0!important}
.music-track-panel .r15-punch-preview{
 left:6px!important;right:8px!important;bottom:10px!important;height:30px!important;
 display:block;z-index:8;pointer-events:none;overflow:hidden;border-radius:4px;
}
.r15-punch-dot{display:none!important}
.r15-punch-stack{
 position:absolute;top:0;height:30px;transform:translateX(-50%);
 display:flex;align-items:stretch;justify-content:center;gap:1px;min-width:2px;
 z-index:2;
}
.r15-punch-stack i{
 display:block;flex:1 1 50%;height:100%;min-width:1px;opacity:.88;
 box-shadow:0 0 0 .25px rgba(255,255,255,.7);
}
.r15-punch-stack .in{background:var(--event-in);border-radius:1.5px}
.r15-punch-stack .out{background:var(--event-out);border-radius:1.5px}
.r15-mini-tick{
 position:absolute;left:0;bottom:1px;z-index:5;transform:translateX(-50%);
 padding:0 2px;border-radius:2px;background:rgba(255,255,255,.72);
 color:#6f8495;font-size:8px;line-height:11px;font-variant-numeric:tabular-nums;
 text-shadow:0 1px 0 rgba(255,255,255,.8);
}
.r15-mini-tick::before{
 content:"";position:absolute;left:50%;bottom:11px;width:1px;height:4px;
 background:rgba(119,140,156,.4);transform:translateX(-.5px)
}
.r15-mini-tick.start{transform:none}
.r15-mini-tick.start::before{left:2px}
.r15-mini-tick.end{transform:translateX(-100%)}
.r15-mini-tick.end::before{left:auto;right:2px}
.r14-day-edges{display:none!important}
.raw-linked-highlight{
 background:#ede6ff!important;
 box-shadow:inset 3px 0 #8257d9,inset 0 0 0 1px rgba(130,87,217,.18)!important;
}
.raw-linked-highlight .tabulator-cell{background:transparent!important}
.manual-judgment{display:flex;flex-direction:column;gap:5px;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid #edf1f5}
.judgment-line{display:flex;align-items:center;justify-content:space-between;gap:4px}
.judgment-line>span{font-size:9px;color:#8397a7}
.judgment-chip{font-size:9px;font-weight:650;padding:2px 5px;border-radius:4px;color:#fff}
.judgment-chip.normal{background:var(--judgment-normal)}
.judgment-chip.anomaly{background:var(--judgment-anomaly);color:#765e1f}
.judgment-chip.absent{background:var(--judgment-absent)}
.manual-line{align-items:flex-start}
.manual-status-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:0}
.manual-status-buttons{
 display:grid;grid-template-columns:repeat(3,1fr);gap:2px;
 padding:2px;background:#eef3f7;border-radius:7px;min-width:100px;
 box-shadow:inset 0 0 0 1px rgba(202,216,227,.72)
}
.manual-status-buttons button{
 border:0;background:transparent;color:#708596;border-radius:5px;
 height:22px;min-width:0;padding:0 5px;font-size:9px;cursor:pointer;white-space:nowrap;
}
.manual-status-buttons button.normal{color:#4e8369}
.manual-status-buttons button.anomaly{color:#866f32}
.manual-status-buttons button.absent{color:#9b5c61}
.manual-status-buttons button.active{
 background:#fff;box-shadow:0 1px 4px rgba(51,69,87,.12);font-weight:700
}
.manual-status-buttons button.active.normal{color:#39775a}
.manual-status-buttons button.active.anomaly{color:#7b6326}
.manual-status-buttons button.active.absent{color:#9a4f55}
.manual-clear{
 border:0!important;background:transparent!important;color:#899dab!important;
 min-width:0!important;height:auto!important;padding:0 2px!important;
 font-size:8.5px!important;line-height:12px!important;cursor:pointer
}
.manual-check{
 position:absolute;right:-3px;top:-5px;z-index:8;
 color:#6941b2;font:800 9px/1 "Segoe UI Variable",sans-serif;
 text-shadow:0 0 2px #fff,0 0 2px #fff;
}
.judgment-mode-switch{
 display:grid;grid-template-columns:1fr 1fr;gap:3px;margin-top:7px;padding:3px;background:#eef3f7;border-radius:7px;
}
.judgment-mode-switch button{
 border:0;border-radius:5px;background:transparent;height:25px;font-size:10.5px;color:#718797;cursor:pointer;
}
.judgment-mode-switch button.active{background:#fff;color:#4f3f79;box-shadow:0 1px 4px rgba(51,69,87,.09);font-weight:650}
.judgment-mode-switch button:disabled{opacity:.34;cursor:not-allowed}
.m-name.selected,.m-date.selected{
 transform:scale(1.10)!important;position:sticky!important;box-shadow:0 3px 10px rgba(82,56,125,.18)!important;
}
.m-name.selected{transform-origin:right center!important;z-index:31!important}
.m-date.selected{transform-origin:center bottom!important;z-index:42!important}
.matrix-selection-frame.focus-row{
 top:calc(33px + var(--focus-row) * var(--matrix-row))!important;
 height:var(--matrix-row)!important;
}
.matrix-selection-frame.focus-col{
 top:33px!important;
 left:calc(var(--matrix-name) + var(--focus-col) * var(--matrix-cell))!important;
 width:var(--matrix-cell)!important;
 height:calc(var(--matrix-rows,50) * var(--matrix-row))!important;
}
.matrix-preview-frame.focus-row{
 top:calc(33px + var(--focus-row) * var(--matrix-row))!important;
 height:var(--matrix-row)!important;
}
.matrix-preview-frame.focus-col{
 top:33px!important;
 left:calc(var(--matrix-name) + var(--focus-col) * var(--matrix-cell))!important;
 width:var(--matrix-cell)!important;
 height:calc(var(--matrix-rows,50) * var(--matrix-row))!important;
}
.corner-mark{display:none!important}


/* R19 screenshot pass: semantic save state, compact scheduled-background timeline, clearer manual controls. */
.save-state{gap:4px!important}
.save-state b{
 display:inline-grid;place-items:center;width:13px;height:13px;border-radius:4px;
 font:700 9px/1 "Segoe UI Variable","Microsoft YaHei",sans-serif;
 background:#edf4f0;color:#5f987b;
}
.save-state.dirty b{background:#fff5df;color:#aa7b2d}
.save-state i{display:none!important}

.timeline-top-legend .legend-schedule i{
 width:11px;height:6px;border-radius:2px;
 background:rgba(144,164,181,.18);border:1px solid rgba(128,150,169,.24);
}
.timeline-top-legend .legend-schedule{color:#7c8f9e}

.manual-status-buttons button{
 font-size:9px!important;font-weight:620!important;line-height:22px!important;
 min-width:0!important;padding:0 5px!important;
}
.manual-status-buttons button:before{display:none!important}
.manual-status-buttons button.active{background:#fff!important;color:#4f6171!important;border:0!important}
.manual-status-buttons button.active.normal{color:#39775a!important}
.manual-status-buttons button.active.anomaly{color:#7b6326!important}
.manual-status-buttons button.active.absent{color:#9a4f55!important}
.manual-status-wrap .manual-clear{font-size:8.5px!important;line-height:12px!important;padding:0 2px!important}

.raw-linked-highlight{
 animation:r19RawLinkedPulse .95s ease-out 1!important;
}
@keyframes r19RawLinkedPulse{
 0%{box-shadow:inset 4px 0 #8257d9,inset 0 0 0 1px rgba(130,87,217,.38),0 0 0 2px rgba(130,87,217,.18)}
 100%{box-shadow:inset 3px 0 #8257d9,inset 0 0 0 1px rgba(130,87,217,.18)}
}

.m-name.selected,.m-date.selected{
 transform:none!important;
 box-shadow:none!important;
 overflow:visible!important;
}
.m-name.selected .name-letters{
 transform:translateY(-.5px) scale(1.10)!important;
 transform-origin:center!important;
 filter:drop-shadow(0 2px 3px rgba(80,54,126,.14));
}
.m-name.selected .name-letters>span{
 font-size:13.2px!important;
 color:#6740b0!important;
}
.m-name.selected .m-name-num{
 transform:scale(1.06);
 color:#7750b7!important;
}
.m-date.selected b{
 transform:translateY(-1px) scale(1.14)!important;
 transform-origin:center!important;
 font-size:12.6px!important;
 color:#6840b3!important;
 text-shadow:0 2px 4px rgba(81,54,126,.13);
}

.matrix-selection-frame{
 border-width:1.5px!important;
}
.matrix-selection-frame.focus-row{
 top:calc(33px + var(--focus-row) * var(--matrix-row) - .5px)!important;
 height:calc(var(--matrix-row) + 1px)!important;
}
.matrix-selection-frame.focus-col{
 left:calc(var(--matrix-name) + var(--focus-col) * var(--matrix-cell) - .5px)!important;
 width:calc(var(--matrix-cell) + 1px)!important;
}
.matrix-preview-frame.focus-row{
 top:calc(33px + var(--focus-row) * var(--matrix-row) - .5px)!important;
 height:calc(var(--matrix-row) + 1px)!important;
}
.matrix-preview-frame.focus-col{
 left:calc(var(--matrix-name) + var(--focus-col) * var(--matrix-cell) - .5px)!important;
 width:calc(var(--matrix-cell) + 1px)!important;
}

.music-track-panel{background:#fff}
.music-track-panel .r15-punch-preview{
 left:6px!important;right:8px!important;
}
.r14-day-edges{left:6px!important;right:8px!important}


/* R19.1 vertical balance: give the raw evidence table more permanent room. */
.analysis-body{
 grid-template-rows:minmax(220px,45%) minmax(230px,1fr)!important;
}


/* R21 timeline cleanup: restore airy main chart and align the embedded mini ruler. */
.music-track-panel .echarts-timeline-chart{overflow:visible!important}
.timeline-heading{margin-bottom:2px!important}
.plot-axis.music-track-panel{padding-top:1px!important}
.timeline-top-legend .legend-event.in i{background:var(--event-in)!important}
.timeline-top-legend .legend-event.out i{background:var(--event-out)!important}


/* R22: keep the upper chart visually separated from the embedded overview. */
.plot-axis.music-track-panel{padding-bottom:0!important}
.music-track-panel .echarts-timeline-chart{min-height:0!important}


/* R23: Google/Apple-inspired hierarchy, strict timeline alignment and cleaner insight rail. */
.inspector-top{
  grid-template-columns:minmax(0,1fr) 156px!important;
}
.inspector-insight{
  width:156px!important;min-width:156px!important;max-width:156px!important;
  padding:10px!important;background:#fbfcfe!important;
  border-left:1px solid #e7edf2!important;
}
.insight-heading{
  display:flex!important;align-items:baseline;justify-content:space-between;gap:6px;
  margin:0 0 8px!important;padding:0 1px 7px;border-bottom:1px solid #edf1f4;
  color:#6f8495!important;
}
.insight-heading strong{font-size:11px;font-weight:700;color:#334f63}
.insight-heading span{font-size:9px;color:#91a1ad}
.insight-card{
  margin:0 0 8px;padding:8px;border:1px solid #e7edf2;border-radius:9px;
  background:rgba(255,255,255,.92);
  box-shadow:0 1px 2px rgba(39,58,74,.025);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.insight-card:hover{border-color:#dbe6ee;box-shadow:0 3px 10px rgba(45,66,82,.055)}
.insight-card-head{
  display:flex;align-items:center;justify-content:space-between;gap:6px;
  margin-bottom:7px;color:#8395a3;font-size:9px;
}
.insight-card-head b{font-size:10px;color:#4b6679;font-weight:700;white-space:nowrap}
.current-status{
  display:inline-flex;align-items:center;min-height:18px;padding:0 6px;border-radius:6px;
}
.current-status.normal{background:rgba(120,202,160,.17);color:#3b7d5e}
.current-status.anomaly{background:rgba(230,195,111,.22);color:#806727}
.current-status.absent{background:rgba(229,143,144,.18);color:#9c5057}
.status-card .judgment-line{margin-bottom:7px;padding:0 1px}
.status-card .judgment-line>span{font-size:9px;color:#8798a5}
.status-card .judgment-chip{
  padding:2px 6px;border-radius:6px;font-size:9px;font-weight:700;
}
.manual-caption{
  display:flex;align-items:center;justify-content:space-between;gap:6px;
  margin:0 1px 5px;color:#8798a5;font-size:9px;
}
.manual-status-buttons{
  width:100%;min-width:0!important;
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:2px!important;padding:2px!important;border-radius:8px!important;
  background:#eef2f5!important;box-shadow:inset 0 0 0 1px #e0e8ee!important;
}
.manual-status-buttons button{
  height:24px!important;padding:0 2px!important;border:0!important;border-radius:6px!important;
  background:transparent!important;font-size:9px!important;font-weight:600!important;
  line-height:24px!important;transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.manual-status-buttons button:hover{background:rgba(255,255,255,.62)!important}
.manual-status-buttons button:active{transform:scale(.98)}
.manual-status-buttons button.active{
  background:#fff!important;box-shadow:0 1px 4px rgba(40,58,73,.13)!important;font-weight:720!important
}
.manual-status-wrap{width:100%!important}
.manual-clear{
  color:#7f93a2!important;font-size:8.5px!important;
  transition:color .16s ease,background .16s ease;
}
.manual-clear:hover{color:#4f6b7e!important;background:#eef3f6!important;border-radius:4px!important}
.metric-card{padding-bottom:5px}
.insight-metric-list{display:flex;flex-direction:column}
.insight-metric-list .insight-row{
  min-height:28px;padding:5px 1px!important;border-top:1px solid #eff3f6;
}
.insight-metric-list .insight-row:first-child{border-top:0}
.insight-row{display:flex;align-items:center;justify-content:space-between;gap:6px}
.insight-row span{font-size:9px!important;color:#8799a6!important}
.insight-row strong{
  font-size:11px!important;font-weight:700!important;color:#314e63!important;
  font-variant-numeric:tabular-nums;letter-spacing:.01em;white-space:nowrap;
}
.insight-row .tone-in{color:var(--event-in)!important}
.insight-row .tone-out{color:var(--event-out)!important}
.insight-empty{margin:2px 0 1px;color:#9aa9b4;font-size:9px;text-align:center}
.insight-issue{
  margin:0 0 8px!important;padding:6px 7px;border-radius:7px;
  background:#fff8e9;color:#8a7137!important;line-height:1.4!important;
}

.music-track-panel{overflow:visible!important}
.music-track-panel .r15-punch-preview{
  left:10px!important;right:10px!important;bottom:28px!important;height:38px!important;
  overflow:hidden!important;border-radius:4px!important;pointer-events:none;
}
.r15-punch-stack{
  top:0!important;height:38px!important;min-width:2px!important;
}
.r15-punch-stack i{
  height:38px!important;opacity:.96!important;
  box-shadow:0 0 0 .35px rgba(255,255,255,.74)!important;
}
.r15-punch-stack .in{background:var(--event-in)!important;border-radius:1px!important}
.r15-punch-stack .out{background:var(--event-out)!important;border-radius:1px!important}
.r23-mini-ticks{
  position:absolute;left:10px;right:10px;bottom:7px;height:13px;
  display:flex;align-items:flex-start;justify-content:space-between;
  pointer-events:none;color:#718697;font-size:8px;line-height:11px;
  font-variant-numeric:tabular-nums;
}
.r23-mini-ticks span{min-width:22px;text-align:center}
.r23-mini-ticks span:first-child{text-align:left}
.r23-mini-ticks span:last-child{text-align:right}
.r15-mini-tick{display:none!important}
.timeline-top-legend .legend-event.in i{background:var(--event-in)!important}
.timeline-top-legend .legend-event.out i{background:var(--event-out)!important}
.timeline-top-legend .legend-schedule i{
  background:rgba(132,155,173,.22)!important;border-color:rgba(122,145,164,.28)!important
}
.timeline-heading{margin-bottom:3px!important}
.plot-axis.music-track-panel{padding:0!important}


/* R24: focus the matrix, lock six timeline lanes, and simplify the overview to gray/white. */
.matrix .m-cell,
.matrix .m-name,
.matrix .m-date{
  transition:opacity .18s ease,filter .18s ease,background .18s ease,box-shadow .18s ease;
}
.matrix.focus-person .m-cell:not(.row-focus),
.matrix.focus-date .m-cell:not(.col-focus),
.matrix.focus-cell .m-cell:not(.row-focus):not(.col-focus){
  opacity:.24!important;
  filter:saturate(.45) brightness(1.035)!important;
}
.matrix.focus-cell .m-cell.row-focus:not(.cell-focus),
.matrix.focus-cell .m-cell.col-focus:not(.cell-focus){
  opacity:.62!important;
  filter:saturate(.78)!important;
}
.matrix.focus-person .m-name:not(.selected){opacity:.28!important}
.matrix.focus-person .m-date:not(.selected){opacity:.72!important}
.matrix.focus-date .m-date:not(.selected){opacity:.28!important}
.matrix.focus-date .m-name:not(.selected){opacity:.72!important}
.matrix.focus-cell .m-name:not(.selected),
.matrix.focus-cell .m-date:not(.selected){opacity:.28!important}
.matrix.focus-person .m-cell.row-focus,
.matrix.focus-date .m-cell.col-focus,
.matrix.focus-cell .m-cell.cell-focus{
  opacity:1!important;filter:none!important;
}
.matrix.focus-cell .m-cell.cell-focus button.selected{
  transform:translateY(-1px) scale(1.15)!important;
}
.matrix.focus-person .matrix-selection-frame.focus-row,
.matrix.focus-date .matrix-selection-frame.focus-col{opacity:.9!important}
.matrix.focus-cell .matrix-selection-frame{opacity:.26!important}

.inspector-top{grid-template-columns:minmax(0,1fr) 168px!important}
.inspector-insight{
  width:168px!important;min-width:168px!important;max-width:168px!important;
  padding:10px 10px 8px!important;background:#fbfcfd!important;
}
.insight-heading{margin-bottom:7px!important}
.insight-card{margin-bottom:7px!important;padding:7px 8px!important;border-radius:8px!important}
.status-card .manual-status-buttons{margin-top:1px}
.attendance-card .insight-card-head,
.behavior-summary-card .insight-card-head{margin-bottom:4px!important}
.insight-metric-list .insight-row{min-height:25px!important;padding:4px 1px!important}
.behavior-summary-card{padding-bottom:5px!important}
.insight-behavior-row{
  display:flex;align-items:center;justify-content:space-between;gap:5px;
  min-height:25px;padding:4px 1px;border-top:1px solid #eff3f5;
}
.insight-behavior-row:first-of-type{border-top:0}
.insight-behavior-row span{
  display:inline-flex;align-items:center;gap:5px;color:#718694;font-size:9px;white-space:nowrap;
}
.insight-behavior-row span i{
  width:6px;height:6px;border-radius:2px;opacity:.82;flex:none;
}
.insight-behavior-row.trip span i{background:var(--behavior-trip)}
.insight-behavior-row.leave span i{background:var(--behavior-leave)}
.insight-behavior-row.outing span i{background:var(--behavior-outing)}
.insight-behavior-row.overtime span i{background:var(--behavior-overtime)}
.insight-behavior-row strong{
  color:#405b6e;font-size:9px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap;
}
.insight-behavior-row.active{
  margin:0 -4px;padding-left:5px;padding-right:5px;border-radius:5px;background:#f1f4f6;
}
.insight-behavior-row.active strong{color:#2f4d61}

.music-track-panel .r15-punch-preview{
  left:12px!important;right:12px!important;bottom:32px!important;height:34px!important;
  overflow:hidden!important;border-radius:3px!important;background:transparent!important;
}
.r15-punch-stack{
  top:0!important;height:34px!important;bottom:auto!important;
}
.r15-punch-stack i{height:34px!important;max-height:34px!important}
.r23-mini-ticks{
  left:12px!important;right:12px!important;bottom:9px!important;height:12px!important;
  color:#748796!important;
}
.plot-axis.music-track-panel{overflow:visible!important}
.music-track-panel .echarts-timeline-chart{overflow:visible!important}


/* R25: compact connected behavior rails, title-bar tools, flat insight tabs. */
.analysis-head{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;
}
.analysis-head h2{
  min-width:0;flex:1 1 auto;margin:0!important;
}
.analysis-head h2 .head-date,
.analysis-head h2 .head-group,
.analysis-head h2 strong{
  font-size:11px!important;line-height:1!important;
}
.analysis-head h2 .head-date{font-weight:500!important}
.analysis-head h2 .head-group{font-weight:600!important;padding:2px 5px!important}
.analysis-head h2 strong{font-weight:650!important}
.analysis-head-tools{
  flex:none;display:flex;align-items:center;min-width:0;
}
.analysis-head-timeline-tools{
  display:flex;align-items:center;gap:10px;min-width:0;
}
.analysis-head-timeline-tools .timeline-top-legend{
  display:flex;align-items:center;gap:9px;padding:0!important;min-width:0;
}
.analysis-head-timeline-tools .timeline-top-legend span{
  font-size:9.5px!important;color:#6c8292!important;
}
.analysis-head-timeline-tools #timelineDayPicker{
  height:24px!important;font-size:10px!important;padding:2px 20px 2px 7px!important;
  border:1px solid #d8e2e9!important;border-radius:6px!important;background:#fff!important;
}
.inspector-plot .chart-mode-tabs{margin-top:0!important}
.inspector-plot .chart-mode-tabs + .plot-axis{margin-top:0!important}

.inspector-top{grid-template-columns:minmax(0,1fr) 154px!important}
.inspector-insight{
  width:154px!important;min-width:154px!important;max-width:154px!important;
  padding:0 10px 6px!important;background:#fbfcfd!important;
}
.insight-tabs{
  display:grid;grid-template-columns:1fr 1fr;height:34px;margin:0 -10px 6px;
  border-bottom:1px solid #e7edf2;background:#fff;
}
.insight-tabs button{
  position:relative;border:0;background:transparent;color:#748896;
  font-size:10.5px;font-weight:600;cursor:pointer;
}
.insight-tabs button.active{color:#2f6fa7;font-weight:700}
.insight-tabs button.active::after{
  content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;border-radius:2px;background:#2f91d2;
}
.insight-pane{display:none}
.insight-pane.active{display:block}
.inspector-insight .insight-card,
.inspector-insight .insight-flat-section{
  margin:0!important;padding:7px 0!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
}
.inspector-insight .insight-card + .insight-flat-section,
.inspector-insight .insight-flat-section + .insight-flat-section,
.inspector-insight .behavior-summary-card{
  border-top:1px solid #edf1f4!important;
}
.inspector-insight .status-card{padding-top:3px!important}
.inspector-insight .insight-card:hover{box-shadow:none!important;transform:none!important}
.inspector-insight .insight-card-head{margin-bottom:4px!important}
.inspector-insight .manual-status-buttons{border-radius:6px!important}
.inspector-insight .insight-behavior-row{min-height:25px!important}

.music-track-panel .r15-punch-preview{
  left:12px!important;right:12px!important;bottom:30px!important;height:34px!important;
  overflow:hidden!important;border-radius:2px!important;background:transparent!important;
}
.music-track-panel .r15-punch-preview::before{
  content:"";position:absolute;left:0;right:0;top:50%;height:1px;
  background:#cfd7dd;transform:translateY(-.5px);z-index:1;
}
.r15-punch-stack{
  top:0!important;bottom:auto!important;height:34px!important;z-index:3!important;
}
.r15-punch-stack i{
  height:34px!important;max-height:34px!important;border-radius:0!important;
}
.r23-mini-ticks{
  left:12px!important;right:12px!important;bottom:8px!important;height:12px!important;
}


/* R26: clearer work windows, neutral empty rails, unique punch colors, compact status blocks. */
.timeline-top-legend .legend-schedule i{
  background:rgba(132,155,173,.26)!important;
  border-color:rgba(122,145,164,.32)!important;
}
.timeline-top-legend .legend-event.in i{background:var(--event-in)!important}
.timeline-top-legend .legend-event.out i{background:var(--event-out)!important}

.status-card .auto-line{
  min-height:26px;margin:0 0 6px;padding:0;
}
.status-card .auto-line>span,
.status-card .manual-caption>span{
  font-size:9px!important;color:#7c8f9d!important;
}
.auto-judgment{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:42px;height:21px;padding:0 7px;border-radius:5px;
  color:#fff!important;font-size:9px!important;font-weight:700!important;
}
.auto-judgment.normal{background:var(--judgment-normal)!important}
.auto-judgment.anomaly{background:var(--judgment-anomaly)!important}
.auto-judgment.absent{background:var(--judgment-absent)!important}
.auto-judgment.rest{background:#aeb9c2!important}
.status-card .manual-caption{margin:0 0 5px!important}
.status-card .manual-status-buttons{
  width:100%!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;
  gap:4px!important;padding:0!important;background:transparent!important;box-shadow:none!important;
}
.status-card .manual-status-buttons button{
  height:23px!important;border:0!important;border-radius:5px!important;
  padding:0!important;font-size:9px!important;font-weight:700!important;line-height:23px!important;
  color:#fff!important;box-shadow:none!important;opacity:.42;
}
.status-card .manual-status-buttons button.normal{background:var(--judgment-normal)!important}
.status-card .manual-status-buttons button.anomaly{background:var(--judgment-anomaly)!important}
.status-card .manual-status-buttons button.absent{background:var(--judgment-absent)!important}
.status-card .manual-status-buttons button.active{
  opacity:1!important;color:#fff!important;box-shadow:0 1px 3px rgba(44,61,74,.14)!important;
}
.status-card .manual-status-buttons button:hover{opacity:.7}
.status-card .manual-status-buttons button.active:hover{opacity:1}
.status-card .manual-clear{
  color:#81919d!important;background:transparent!important;
  font-size:8px!important;padding:0 2px!important;
}

.music-track-panel .r15-punch-preview::before{display:none!important}
.music-track-panel .r15-punch-preview{
  overflow:hidden!important;
}
.music-track-panel .r15-punch-stack{
  top:0!important;bottom:0!important;height:100%!important;
  overflow:hidden!important;align-items:stretch!important;
}
.music-track-panel .r15-punch-stack i{
  top:0!important;bottom:0!important;height:100%!important;max-height:none!important;
  border-radius:0!important;box-shadow:none!important;
}


/* R27: keep the manual check inside the matrix cell; align the overview markers; pair initial/manual controls. */
.manual-check{
  right:1px!important;top:1px!important;
  width:9px;height:9px;display:grid!important;place-items:center;
  overflow:hidden;border-radius:3px;
  color:#6941b2!important;
  font-family:"Segoe UI Symbol","Segoe UI Variable",sans-serif!important;
  font-size:8px!important;font-weight:800!important;line-height:9px!important;
  text-shadow:none!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}
.m-cell button{overflow:hidden!important}

.status-card{padding-top:4px!important}
.status-control-row{
  display:grid;grid-template-columns:30px minmax(0,1fr);
  align-items:center;gap:7px;min-height:28px;
}
.status-control-row + .status-control-row{margin-top:5px}
.status-control-row>span{
  color:#7c8f9d;font-size:9px;white-space:nowrap;
}
.initial-judgment{
  width:100%;height:24px;border:0;border-radius:5px;padding:0 8px;
  color:#fff;font-size:11px;font-weight:760;line-height:24px;cursor:pointer;
  letter-spacing:.02em;
  box-shadow:none;
  transition:filter .15s ease,transform .15s ease;
}
.initial-judgment:hover{filter:brightness(.96)}
.initial-judgment:active{transform:scale(.985)}
.initial-judgment.normal{background:var(--judgment-normal)}
.initial-judgment.anomaly{background:var(--judgment-anomaly)}
.initial-judgment.absent{background:var(--judgment-absent)}
.initial-judgment.rest{background:#aeb9c2}
.status-control-row .manual-status-buttons{
  width:100%!important;min-width:0!important;
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:4px!important;padding:0!important;background:transparent!important;box-shadow:none!important;
}
.status-control-row .manual-status-buttons button{
  height:24px!important;min-width:0!important;border:0!important;border-radius:5px!important;
  padding:0!important;line-height:24px!important;color:#fff!important;
  font-size:9px!important;font-weight:760!important;opacity:.38;
}
.status-control-row .manual-status-buttons button.normal{background:var(--judgment-normal)!important}
.status-control-row .manual-status-buttons button.anomaly{background:var(--judgment-anomaly)!important}
.status-control-row .manual-status-buttons button.absent{background:var(--judgment-absent)!important}
.status-control-row .manual-status-buttons button.active{
  opacity:1!important;box-shadow:0 1px 3px rgba(44,61,74,.14)!important;
}
.status-control-row .manual-status-buttons button:hover{opacity:.68}
.status-control-row .manual-status-buttons button.active:hover{opacity:1}

.music-track-panel .r15-punch-preview{
  bottom:36px!important;height:34px!important;
}
.music-track-panel .r15-punch-stack,
.music-track-panel .r15-punch-stack i{
  top:0!important;bottom:0!important;height:100%!important;max-height:100%!important;
}


/* R28: navigator markers are subordinate to main arrows; fixed labels stay readable. */
.music-track-panel .r15-punch-stack{opacity:1!important}
.music-track-panel .r15-punch-stack.inside i{
  opacity:.56!important;
  filter:saturate(.82) brightness(1.08);
}
.music-track-panel .r15-punch-stack.outside i{
  opacity:.16!important;
  filter:saturate(.52) brightness(1.2);
}
.music-track-panel .r15-punch-preview{
  clip-path:inset(0 round 2px);
}


/* R29: restore the proven timeline geometry; tighten only navigator clipping and manual-state affordance. */
.music-track-panel .r15-punch-preview{
  bottom:30px!important;height:34px!important;
  box-sizing:border-box!important;overflow:hidden!important;
  clip-path:inset(0 round 2px)!important;
}
.music-track-panel .r15-punch-stack{
  top:0!important;bottom:0!important;height:auto!important;
  overflow:hidden!important;align-items:stretch!important;
}
.music-track-panel .r15-punch-stack i{
  top:0!important;bottom:0!important;height:100%!important;max-height:none!important;
  margin:0!important;border-radius:0!important;box-shadow:none!important;
}
.status-control-row .manual-status-buttons button.initial-disabled,
.status-control-row .manual-status-buttons button:disabled{
  opacity:.15!important;cursor:not-allowed!important;filter:saturate(.58) brightness(1.08)!important;
  box-shadow:none!important;
}
.status-control-row .manual-status-buttons button.initial-disabled:hover,
.status-control-row .manual-status-buttons button:disabled:hover{opacity:.15!important}

/* R30: align navigator marks to the real ECharts slider SVG rectangle. */
.music-track-panel .r15-punch-preview{
  left:var(--p109-nav-left,12px)!important;
  top:var(--p109-nav-top,calc(100% - 70px))!important;
  right:auto!important;bottom:auto!important;
  width:var(--p109-nav-width,calc(100% - 24px))!important;
  height:var(--p109-nav-height,34px)!important;
  overflow:hidden!important;box-sizing:border-box!important;
  border-radius:2px!important;pointer-events:none!important;
}
.music-track-panel .r15-punch-stack{
  top:1px!important;bottom:1px!important;height:auto!important;
  overflow:hidden!important;box-sizing:border-box!important;
  transform:translateX(-50%)!important;
}
.music-track-panel .r15-punch-stack i{
  height:100%!important;max-height:100%!important;
  border-radius:0!important;box-shadow:none!important;
}
.music-track-panel .r15-punch-stack.inside i{opacity:.56!important}
.music-track-panel .r15-punch-stack.outside i{opacity:.16!important}
