.operations-layout{grid-template-columns:minmax(0,1.7fr) minmax(285px,1fr);align-items:start;gap:24px}
.operations-panel .panel-header{align-items:flex-start;gap:16px}
.operations-panel .panel-subtitle{line-height:1.8}
.area-pill{color:#416269;background:#e9f2f4;border:1px solid #d9e5e8;border-radius:20px;padding:6px 12px;font-size:0.625rem;white-space:nowrap;margin-top:1px}
.operation-tools{padding:20px 22px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:14px;border-bottom:1px solid #e3ecee;margin-top:4px}
.operation-tools label{font-size:0.625rem;color:#7a8d91;display:grid;gap:8px;min-width:0}
.operation-tools select{width:100%;min-width:0;border:1px solid #d6e2e5;background:#fbfdfd;border-radius:6px;padding:10px;color:#4a5e62;font-size:0.6875rem;text-overflow:ellipsis}
.operation-tools select:disabled{color:#879ba0;background:#f2f7f8}
.journey-group{padding:23px 24px 8px}
.journey-group+.journey-group{border-top:1px solid #dfe8ea}
.journey-heading{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:22px}
.journey-heading h3{font-size:0.875rem;font-weight:600;margin:0 0 6px;color:#334f55}
.journey-heading>div>span{font-size:0.625rem;color:#81979c}
.journey-events{list-style:none;margin:0;padding:0}
.journey-event{position:relative;display:grid;grid-template-columns:45px 24px minmax(0,1fr);gap:11px;padding:0 0 23px;min-height:69px}
.journey-event:after{content:'';position:absolute;left:67px;top:23px;bottom:0;width:1px;background:#d6e2e5}
.journey-event:last-child:after{display:none}
.journey-event time{font-size:0.6875rem;font-variant-numeric:tabular-nums;color:#7a9297;padding-top:6px}
.event-node{height:24px;width:24px;display:grid;place-items:center;border-radius:50%;border:1px solid #d4e3e6;background:#edf4f6;color:#516e74;position:relative;z-index:1;font-size:0.9375rem}
.event-node:empty:before{content:'';width:6px;height:6px;background:#83a0a7;border-radius:50%}
.event-content{padding-top:3px;min-width:0}
.event-content h4{font-size:0.75rem;line-height:1.5;font-weight:500;color:#43585d;margin:0 0 5px}
.event-content p{font-size:0.625rem;color:#7d959b;line-height:1.75;margin:0}
.journey-event.boundary .event-node{background:#31555d;border-color:#31555d;color:#f4fbfc}
.journey-event.boundary h4{font-weight:650;color:#2d4c53}
.journey-event.breakdown .event-node{background:#fbefe4;border-color:#edddca;color:#bb743f}
.journey-event.parts .event-node{background:#f8f4e5;border-color:#eae1c3;color:#9d8748}
.journey-event.washing .event-node{background:#eaf1f2;border-color:#d8e6e8}
.journey-event.washing .event-node:before{background:#7a9fa7}
.context-label{display:inline-block;margin-top:6px;font-size:0.5rem;background:#ecf3f4;color:#768d92;padding:3px 6px;border-radius:3px}
.operation-filter-note{margin:0;padding:13px 22px;background:#f7f8ef;color:#778f94;font-size:0.625rem;line-height:1.7;border-bottom:1px solid #dfeaec}
.operation-no-results{padding:35px 23px;color:#7b8f94;text-align:center}
.operation-no-results h3{font-size:0.8125rem;font-weight:500}.operation-no-results p{font-size:0.6875rem;line-height:1.7}
.operation-flow{padding:25px 23px}
.flow-eyebrow{font-size:0.5rem;letter-spacing:1.5px;color:#839ba1;display:block;margin-bottom:12px}
.operation-flow>h3{font-size:0.9375rem;line-height:1.5;margin:0 0 24px}
.flow-boundary{display:flex;gap:10px;align-items:center;background:#e9f3f5;border:1px solid #d8e7ea;border-radius:8px;padding:13px 12px}
.flow-boundary strong{font-size:0.6875rem;font-weight:600;line-height:1.5}.flow-boundary p{font-size:0.625rem;margin:4px 0 0}
.flow-boundary>small{font-size:0.4375rem;letter-spacing:.5px;color:#809aa0;margin-left:auto}
.flow-dot{height:7px;width:7px;border-radius:50%;background:#67919b;flex:none}
.flow-middle{border-left:1px dashed #bed6dc;margin:0 0 0 15px;padding:20px 0 22px 18px}
.flow-middle h4{font-size:0.6875rem;font-weight:600;margin:0 0 8px;color:#4d696f}
.flow-middle>p{font-size:0.625rem;line-height:1.8}
.activity-catalog{list-style:none;margin:17px 0 0;padding:0;display:grid;gap:14px}
.activity-catalog li{display:flex;align-items:center;gap:8px;font-size:0.625rem;color:#668086;line-height:1.5}
.activity-dot{width:5px;height:5px;border-radius:50%;background:#8cadb5;flex:none}.activity-dot.breakdown{background:#c48b61}.activity-dot.parts{background:#b3a05d}.activity-dot.washing{background:#84a5ae}
.operation-flow .flow-note{font-size:0.625rem;line-height:1.8;margin-top:17px;color:#819ba1}
@media(max-width:1150px){.operations-layout{grid-template-columns:minmax(0,1.35fr) minmax(270px,1fr);gap:18px}.operation-tools{grid-template-columns:1fr}.journey-group{padding-left:19px;padding-right:19px}.operation-flow{padding:22px 18px}}
@media(max-width:1000px){.operations-layout{grid-template-columns:1fr}.operation-tools{grid-template-columns:1fr 1.3fr}.operation-flow{max-width:none}.activity-catalog{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.operation-tools{grid-template-columns:1fr;padding:18px}.operations-panel .panel-header{gap:10px}.operations-panel .panel-subtitle{font-size:0.6875rem}.operations-panel h2{font-size:0.9375rem}.journey-group{padding:21px 17px 5px}.journey-event{grid-template-columns:36px 23px minmax(0,1fr);gap:9px}.journey-event:after{left:56px}.journey-event time{font-size:0.625rem}.event-content h4{font-size:0.75rem}.event-content p{font-size:0.6875rem}.journey-heading h3{font-size:0.8125rem}.activity-catalog{grid-template-columns:1fr}.activity-catalog li{font-size:0.6875rem}.operation-flow>h3{font-size:1rem}.flow-boundary strong{font-size:0.75rem}.flow-middle>p,.operation-flow .flow-note{font-size:0.6875rem}.flow-boundary p{font-size:0.6875rem}.flow-boundary>small{font-size:0.5rem}.area-pill{font-size:0.625rem;padding:6px 9px}}
/* Monthly log and day drill-down. */
.month-summary{display:flex;flex-direction:column;gap:7px;min-width:0}
.month-summary>span{font-size:0.625rem;color:#7a8d91}
.month-summary strong{font-size:0.875rem;font-weight:600;color:#465e63;text-transform:none;margin-top:1px}
.month-summary small{font-size:0.625rem;color:#7c959b;line-height:1.6}
.monthly-tools{align-items:center;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
.monthly-log{padding:24px 22px 18px}
.month-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}
.month-calendar-heading h3{font-size:1rem;font-weight:600;text-transform:none;color:#365258;margin:0}
.month-calendar-heading>span{font-size:0.5rem;color:#849ca1;letter-spacing:.7px}
.month-weekdays,.month-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.month-weekdays{margin-bottom:10px}
.month-weekdays>span{text-align:center;font-size:0.625rem;color:#839ba0}
.calendar-day{border:1px solid #dfe9eb;border-radius:8px;min-height:87px;padding:11px 8px 9px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;transition:background .15s,border-color .15s;min-width:0}
.calendar-day-number{font-size:0.8125rem;color:#647f85;font-weight:500;font-variant-numeric:tabular-nums}
.calendar-day.no-records{background:#f7fafb}
.calendar-day.has-records{background:#e7f2f4;border-color:#b6d0d6}
.calendar-day.has-records .calendar-day-number{color:#35565e;font-weight:650}
.calendar-day:hover{background:#dfecef;border-color:#8bafb7}
.calendar-count{font-size:0.5625rem;line-height:1.4;color:#3f6169;font-weight:600}
.calendar-empty{font-size:0.5rem;color:#99a9ad;line-height:1.4}
.calendar-hours{font-size:0.5rem;color:#66858c;white-space:nowrap;letter-spacing:-.15px}
.calendar-legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:21px;font-size:0.625rem;color:#708a90}
.calendar-legend>span{display:flex;gap:7px;align-items:center}
.calendar-legend i{height:9px;width:9px;border:1px solid #cbdbdf;border-radius:3px;background:#f7fafb}
.calendar-legend .recorded{background:#c4dde3;border-color:#a4c4cb}
.calendar-hint{font-size:0.625rem;color:#80989e;line-height:1.8;margin:16px 0 0}
.journey-detail-toolbar{padding:16px 22px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #e3ecee;background:#f8fbfc}
.journey-detail-toolbar>span{font-size:0.625rem;color:#7c949a}
.journey-detail-toolbar .text-button{font-size:0.625rem;color:#436a73}
@media(max-width:1250px){.calendar-day{padding:9px 5px;min-height:77px}.calendar-hours{display:none}.calendar-count,.calendar-empty{font-size:0.5rem}.monthly-log{padding:22px 17px}}
@media(max-width:1000px){.monthly-tools{grid-template-columns:1fr 1.3fr}.calendar-hours{display:block}.calendar-day{min-height:85px;padding:11px 8px}.calendar-count{font-size:0.5625rem}.calendar-empty{font-size:0.5625rem}}
@media(max-width:600px){.monthly-tools{grid-template-columns:1fr;gap:17px}.month-summary strong{font-size:0.9375rem}.monthly-log{padding:21px 14px 17px}.month-calendar-heading{margin-bottom:20px}.month-calendar-heading h3{font-size:0.9375rem}.month-calendar-heading>span{font-size:0.4375rem}.month-weekdays,.month-calendar{gap:4px}.month-weekdays>span{font-size:0.5625rem}.calendar-day{min-height:65px;align-items:center;padding:9px 2px;gap:8px;border-radius:6px}.calendar-day-number{font-size:0.75rem}.calendar-hours{display:none}.calendar-count{font-size:0.5625rem;border-radius:4px;background:#d1e5e9;padding:1px 4px}.calendar-count>span{display:none}.calendar-empty{font-size:0}.calendar-empty:after{content:'—';font-size:0.625rem;color:#a7b6b9}.calendar-legend{font-size:0.625rem;gap:15px}.calendar-hint{font-size:0.625rem}.journey-detail-toolbar{padding:15px 17px}}
