*{box-sizing:border-box}
body{margin:0;font-family:var(--kc-font-family-sans);color:var(--kc-color-text);background:var(--kc-color-page);font-size:var(--kc-font-size-xl)}
[hidden]{display:none!important}
.kc-auth-pending .schedule-shell{visibility:hidden}
svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.schedule-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100dvh}
.schedule-sidebar{display:flex;flex-direction:column;gap:var(--kc-space-6);padding:var(--kc-space-7) var(--kc-space-5);border-right:1px solid var(--kc-color-border);background:var(--kc-color-surface);position:sticky;top:0;height:100dvh}
.schedule-sidebar__section,.schedule-eyebrow{font-size:var(--kc-font-size-md);font-weight:var(--kc-font-weight-bold);color:var(--kc-color-text-muted);letter-spacing:.07em;text-transform:uppercase}
.schedule-sidebar__section{margin-top:var(--kc-space-8)}
.schedule-sidebar__active{display:flex;align-items:center;gap:var(--kc-space-3);padding:var(--kc-space-5);border-radius:var(--kc-radius-md);background:var(--kc-color-primary-soft);color:var(--kc-color-link)}
.schedule-sidebar__hint{margin:0;line-height:var(--kc-line-height-relaxed);color:var(--kc-color-text-muted);padding:0 var(--kc-space-3)}
.schedule-sidebar__footer{display:grid;gap:var(--kc-space-5);margin-top:auto}
.schedule-main{width:min(100%,1480px);padding:var(--kc-space-10);min-width:0;margin:0 auto}
.schedule-header{display:flex;justify-content:space-between;align-items:center;gap:var(--kc-space-5);margin-bottom:var(--kc-space-7)}
.schedule-eyebrow{margin:0 0 var(--kc-space-2);color:var(--kc-color-link)}
h1{margin:0;font-size:var(--kc-font-size-8xl);letter-spacing:-.03em;line-height:var(--kc-line-height-heading)}
.schedule-subtitle{margin:var(--kc-space-2) 0 0;color:var(--kc-color-text-muted);line-height:var(--kc-line-height-body)}
.schedule-datebar{background:var(--kc-color-surface)}
.schedule-datebar .kc-toolbar__group{align-items:end}
.schedule-datebar .kc-field{gap:var(--kc-space-1)}
.schedule-date-caption{color:var(--kc-color-text-muted);margin:var(--kc-space-3) 0 var(--kc-space-7);text-transform:capitalize}
.schedule-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--kc-space-4);margin:var(--kc-space-6) 0}
.schedule-stat{padding:var(--kc-space-6);display:grid;gap:var(--kc-space-2)}
.schedule-stat__value{font-size:var(--kc-font-size-8xl);font-weight:var(--kc-font-weight-bold);font-variant-numeric:tabular-nums}
.schedule-stat__label{color:var(--kc-color-text-muted);font-size:var(--kc-font-size-lg)}
.schedule-stat--danger .schedule-stat__value{color:var(--kc-color-danger)}
.schedule-tabs{margin-bottom:var(--kc-space-6);width:max-content;max-width:100%}
.schedule-columns{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:var(--kc-space-6);align-items:start}
.schedule-stack{display:grid;gap:var(--kc-space-5);min-width:0}
.schedule-section-head{display:flex;gap:var(--kc-space-4);align-items:center;justify-content:space-between;margin-bottom:var(--kc-space-5);flex-wrap:wrap}
.schedule-section-head h2{margin:0;font-size:var(--kc-font-size-4xl)}
.schedule-section-head p{margin:var(--kc-space-2) 0 0;color:var(--kc-color-text-muted);line-height:var(--kc-line-height-body)}
.schedule-mode{width:auto;max-width:100%}
.schedule-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--kc-space-4);flex-wrap:wrap}
.schedule-station-summary{font-size:var(--kc-font-size-lg);line-height:var(--kc-line-height-body);color:var(--kc-color-text-muted)}
.schedule-timeline{display:flex;min-height:46px;gap:2px;margin:var(--kc-space-4) 0 var(--kc-space-2);overflow:hidden;border-radius:var(--kc-radius-sm)}
.schedule-segment{display:flex;align-items:center;justify-content:center;flex:var(--segment-size) 0 0;min-width:0;font-size:var(--kc-font-size-md);font-weight:var(--kc-font-weight-bold);color:var(--kc-color-success);background:var(--kc-color-success-surface)}
.schedule-segment--gap{color:var(--kc-color-warning);background:var(--kc-color-warning-surface);background-image:repeating-linear-gradient(135deg,transparent,transparent 7px,color-mix(in srgb,var(--kc-color-warning) 8%,transparent) 7px,color-mix(in srgb,var(--kc-color-warning) 8%,transparent) 9px)}
.schedule-time-labels{display:flex;justify-content:space-between;font-size:var(--kc-font-size-md);font-variant-numeric:tabular-nums;color:var(--kc-color-text-muted)}
.schedule-gaps{display:grid;gap:var(--kc-space-3);margin-top:var(--kc-space-5)}
.schedule-gap{display:flex;align-items:center;justify-content:space-between;gap:var(--kc-space-3);border-top:1px solid var(--kc-color-border);padding-top:var(--kc-space-4);line-height:var(--kc-line-height-body)}
.schedule-gap small{display:block;color:var(--kc-color-text-muted);margin-top:var(--kc-space-1)}
.schedule-members{display:flex;gap:var(--kc-space-2);flex-wrap:wrap;margin-top:var(--kc-space-4)}
.schedule-attention{padding:var(--kc-space-6)}
.schedule-attention h2{font-size:var(--kc-font-size-4xl);margin:0 0 var(--kc-space-4)}
.schedule-attention-item{padding:var(--kc-space-4) 0;border-top:1px solid var(--kc-color-border);display:grid;gap:var(--kc-space-2);line-height:var(--kc-line-height-body)}
.schedule-attention-item p{margin:0;color:var(--kc-color-text-muted)}
.schedule-person-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--kc-space-5)}
.schedule-person-meta{display:flex;flex-wrap:wrap;gap:var(--kc-space-2);margin-top:var(--kc-space-3)}
.schedule-person-times{display:grid;grid-template-columns:1fr minmax(0,1.3fr);gap:var(--kc-space-4);margin:var(--kc-space-5) 0}
.schedule-person-times small{color:var(--kc-color-text-muted);display:block;margin-bottom:var(--kc-space-2)}
.schedule-person-times strong{font-weight:var(--kc-font-weight-semibold);line-height:var(--kc-line-height-body)}
.schedule-person-actions{display:flex;gap:var(--kc-space-2);flex-wrap:wrap;margin-top:var(--kc-space-5)}
/* Timeline is a planning visualization; its movable lunch uses the common button. */
.schedule-person-bar{position:relative;height:44px;border-radius:var(--kc-radius-sm);background:var(--kc-color-primary-soft);margin:var(--kc-space-2) 0;isolation:isolate}
.schedule-person-bar .schedule-break{position:absolute;inset-block:0;left:var(--bar-left);width:var(--bar-width);min-width:0;min-height:44px;padding:0;border:1px solid var(--kc-color-warning);border-radius:var(--kc-radius-sm);background:var(--kc-color-warning-surface);color:var(--kc-color-text);touch-action:none;cursor:grab;user-select:none}
.schedule-person-bar .schedule-break:active{cursor:grabbing}
.schedule-person-bar .schedule-break:before{content:"";position:absolute;inset:0 min(0px,calc((100% - 44px)/2))}
.schedule-person-bar .schedule-break:focus-visible{z-index:2}
.schedule-lunch-caption{font-size:var(--kc-font-size-lg);line-height:var(--kc-line-height-body);font-variant-numeric:tabular-nums}
.schedule-lunch-caption strong{font-weight:var(--kc-font-weight-semibold)}
.schedule-lunch{margin-block:var(--kc-space-4)}
.schedule-station-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--kc-space-5);margin-top:var(--kc-space-5)}
.schedule-station-person{min-width:0;border-top:1px solid var(--kc-color-border);padding-top:var(--kc-space-4)}
.schedule-stat--warning .schedule-stat__value{color:var(--kc-color-warning)}
.schedule-repeat-list{display:grid;gap:var(--kc-space-4);margin-block:var(--kc-space-4)}
.schedule-repeat-list .kc-choice{padding-block:var(--kc-space-3);border-bottom:1px solid var(--kc-color-border)}
.schedule-repeat-list small{display:block;color:var(--kc-color-text-muted);margin-top:var(--kc-space-2)}
.schedule-person-times .kc-field{min-width:0}
.schedule-person-times .kc-select{width:100%}
.schedule-lunch-presets .kc-button{min-width:64px;min-height:44px}
.schedule-gaps summary{cursor:pointer;font-weight:var(--kc-font-weight-semibold);line-height:var(--kc-line-height-body)}
.schedule-privacy{margin:var(--kc-space-8) 0 0;color:var(--kc-color-text-muted);font-size:var(--kc-font-size-md);line-height:var(--kc-line-height-body)}
.schedule-dialog{padding:0;color:var(--kc-color-text)}
.schedule-dialog:not([open]){display:none}
.schedule-dialog::backdrop{background:var(--kc-color-overlay);backdrop-filter:blur(3px)}
.schedule-dialog form{display:flex;flex-direction:column;min-height:0;max-height:inherit}
.schedule-dialog .kc-modal__body{display:grid;gap:var(--kc-space-5)}
.schedule-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--kc-space-5)}
.schedule-fields .schedule-wide{grid-column:1/-1}
.schedule-fields h3{font-size:var(--kc-font-size-3xl);margin:var(--kc-space-4) 0 0}
.schedule-assignment-editor{display:grid;grid-template-columns:minmax(0,1fr) 105px 105px 44px;gap:var(--kc-space-3);align-items:end;margin-bottom:var(--kc-space-4)}
.schedule-editor-list{display:grid;gap:var(--kc-space-5)}
.schedule-station-editor{padding:var(--kc-space-5);display:grid;gap:var(--kc-space-4)}
.schedule-station-editor__fields{display:grid;grid-template-columns:1fr 1fr 100px;gap:var(--kc-space-3)}
.schedule-picker{display:grid;gap:var(--kc-space-3);max-height:45dvh;overflow-y:auto;padding:var(--kc-space-2)}
.schedule-picker .kc-choice{padding:var(--kc-space-4);border-bottom:1px solid var(--kc-color-border);min-width:0}
.schedule-picker small{display:block;color:var(--kc-color-text-muted);margin-top:var(--kc-space-1)}
.schedule-feedback{pointer-events:none;position:fixed;bottom:var(--kc-space-6);left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);padding:var(--kc-space-4) var(--kc-space-6);background:var(--kc-color-text);color:var(--kc-color-surface);border-radius:var(--kc-radius-md);box-shadow:var(--kc-shadow-modal);z-index:var(--kc-z-modal);line-height:var(--kc-line-height-body)}
.schedule-filter{width:min(100%,300px)}
.schedule-list-notice{margin-bottom:var(--kc-space-5)}
@media(max-width:1200px){.schedule-shell{grid-template-columns:200px minmax(0,1fr)}.schedule-main{padding:var(--kc-space-7)}.schedule-columns{grid-template-columns:minmax(0,1fr)}.schedule-attention{display:grid;gap:var(--kc-space-2)}.schedule-person-grid{grid-template-columns:1fr}}
@media(max-width:900px){.schedule-shell{display:block}.schedule-sidebar{height:auto;position:static;flex-direction:row;align-items:center;padding:var(--kc-space-3) var(--kc-space-5);border-right:0;border-bottom:1px solid var(--kc-color-border)}.schedule-sidebar__section,.schedule-sidebar__hint,.schedule-sidebar__active{display:none}.schedule-sidebar__footer{margin-left:auto;display:block}.schedule-sidebar__footer .kc-sidebar-account{display:none}.schedule-main{padding:var(--kc-space-6)}.schedule-summary{gap:var(--kc-space-3)}.schedule-stat{padding:var(--kc-space-4)}}
@media(max-width:640px){.schedule-main{padding:var(--kc-space-5)}.schedule-header{align-items:start}.schedule-header h1{font-size:var(--kc-font-size-7xl)}.schedule-header #saveStatus{font-size:var(--kc-font-size-xs)}.schedule-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-datebar .kc-toolbar__group:first-child{display:grid;grid-template-columns:44px minmax(0,1fr) 44px auto;gap:var(--kc-space-2)}.schedule-datebar .kc-toolbar__group:last-child{display:flex;flex-wrap:wrap}.schedule-datebar .kc-input{width:100%;min-width:0}.schedule-datebar .kc-button{padding-inline:var(--kc-space-3)}.schedule-tabs{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.schedule-tabs .kc-tab{white-space:normal;line-height:var(--kc-line-height-body);padding:var(--kc-space-2) var(--kc-space-3);min-height:48px}.schedule-person-times{grid-template-columns:1fr 1fr}.schedule-gap{flex-wrap:wrap}.schedule-fields{grid-template-columns:1fr}.schedule-fields .schedule-wide{grid-column:auto}.schedule-assignment-editor{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px}.schedule-assignment-editor .kc-field:first-child{grid-column:1/-1}.schedule-station-editor__fields{grid-template-columns:1fr 1fr}.schedule-station-editor__fields .kc-field:last-child{grid-column:1/-1}.schedule-dialog[open]{margin:auto auto 0;width:100%;max-height:92dvh;border-radius:var(--kc-radius-lg) var(--kc-radius-lg) 0 0}.schedule-dialog .kc-modal__footer .kc-button{width:100%}.schedule-sidebar .kc-sidebar-brand__mark{width:40px;height:40px;flex-basis:40px}.schedule-sidebar__footer .kc-button{padding-inline:var(--kc-space-3);font-size:var(--kc-font-size-md)}.schedule-main input,.schedule-main select,.schedule-dialog input,.schedule-dialog select{font-size:var(--kc-font-size-3xl)}}
@media(pointer:coarse){.schedule-main .kc-button--sm,.schedule-dialog .kc-button--sm,.schedule-main .kc-tab{min-height:44px}}

/* A data ocupa uma linha própria em telas estreitas, sem truncar dia/mês/ano. */
@media(max-width:420px){.schedule-datebar .kc-toolbar__group:first-child{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.schedule-datebar .kc-toolbar__group:first-child .kc-field{grid-column:1/-1;grid-row:1}.schedule-datebar .kc-toolbar__group:first-child>.kc-button{width:100%}}

@media(max-width:790px){.schedule-station-people{grid-template-columns:1fr}}
@media(max-width:420px){.schedule-person-times{grid-template-columns:1fr}.schedule-dialog .kc-modal__header,.schedule-dialog .kc-modal__body,.schedule-dialog .kc-modal__footer{padding-inline:var(--kc-space-5)}}

/* Monthly planning is an overview; daily controls remain in their own section. */
.schedule-month-toolbar{margin-bottom:var(--kc-space-5)}
.schedule-month-toolbar .kc-toolbar__group{align-items:end}
.schedule-month-toolbar .kc-field{min-width:0}
.schedule-month-toolbar .kc-input{width:100%;min-width:0}
.schedule-month-card{overflow:hidden}
.schedule-month-scroll{overflow-x:auto;overscroll-behavior-inline:contain}
.schedule-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:308px;gap:var(--kc-space-2);padding:var(--kc-space-3)}
.schedule-weekday{text-align:center;font-weight:var(--kc-font-weight-semibold);color:var(--kc-color-text-muted);padding:var(--kc-space-3) 0;font-size:var(--kc-font-size-md)}
.schedule-month-day.kc-button{display:flex;flex-direction:column;justify-content:flex-start;align-items:start;gap:var(--kc-space-2);min-width:0;min-height:142px;height:auto;padding:var(--kc-space-3);border-radius:var(--kc-radius-md);text-align:left;white-space:normal;color:var(--kc-color-text);font-weight:var(--kc-font-weight-regular)}
.schedule-month-day[aria-current="date"]{outline:2px solid var(--kc-color-primary);outline-offset:-6px}
.schedule-month-number{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:var(--kc-font-size-4xl);font-weight:var(--kc-font-weight-bold)}
.schedule-month-today{font-size:var(--kc-font-size-xs);color:var(--kc-color-link)}
.schedule-month-state{display:inline-flex;gap:var(--kc-space-1);align-items:center;font-size:var(--kc-font-size-md);font-weight:var(--kc-font-weight-bold)}
.schedule-month-state svg{width:18px;height:18px;flex:0 0 18px}
.schedule-month-day[data-kc-state="success"] .schedule-month-state{color:var(--kc-color-success)}
.schedule-month-day[data-kc-state="warning"] .schedule-month-state{color:var(--kc-color-warning)}
.schedule-month-people,.schedule-month-business,.schedule-month-absence{font-size:var(--kc-font-size-xs);line-height:var(--kc-line-height-body);overflow-wrap:anywhere}
.schedule-month-business{color:var(--kc-color-text-muted)}
.schedule-month-absence{color:var(--kc-color-danger)}
.schedule-month-legend{margin-block:var(--kc-space-5)}
.schedule-month-legend svg{width:16px;height:16px}
.schedule-day-navigation{display:flex;align-items:center;justify-content:space-between;gap:var(--kc-space-3);flex-wrap:wrap;margin-bottom:var(--kc-space-5)}
#dayBusinessNotice{margin-bottom:var(--kc-space-5)}
.schedule-business-row{display:flex;align-items:center;justify-content:space-between;gap:var(--kc-space-3);border-top:1px solid var(--kc-color-border);padding-top:var(--kc-space-4);flex-wrap:wrap}
@media(max-width:790px){.schedule-month-grid{gap:var(--kc-space-1);padding:var(--kc-space-2)}.schedule-month-day.kc-button{padding:var(--kc-space-2);min-height:116px}.schedule-month-today{display:none}.schedule-month-number{font-size:var(--kc-font-size-3xl)}}
@media(max-width:520px){.schedule-month-day.kc-button{min-height:88px;padding:var(--kc-space-1);align-items:center;gap:var(--kc-space-1)}.schedule-month-number{justify-content:center}.schedule-month-state-label,.schedule-month-people,.schedule-month-business,.schedule-month-absence{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%)}.schedule-month-state svg{width:20px;height:20px}.schedule-month-toolbar .kc-toolbar__group{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:var(--kc-space-2);width:100%}.schedule-month-toolbar [data-action="month-today"]{grid-column:1/-1}.schedule-month-toolbar{flex-wrap:wrap}.schedule-month-legend{gap:var(--kc-space-2)}}

@media(max-width:520px){.schedule-month-grid{padding:0;gap:0;min-width:308px}.schedule-month-day.kc-button{min-width:44px;border-radius:var(--kc-radius-sm)}}

/* Inline planning keeps neighboring cards available for comparison. */
.schedule-person .kc-card__body{display:grid;gap:var(--kc-space-4)}
.schedule-person .schedule-person-times,.schedule-person .schedule-lunch,.schedule-person .schedule-person-actions{margin:0}
.schedule-person .kc-field,.schedule-person .kc-input,.schedule-person .kc-select{min-width:0;width:100%}
.schedule-inline-lunch{display:flex;align-items:end;flex-wrap:wrap;justify-content:space-between;gap:var(--kc-space-3)}
.schedule-inline-lunch>.kc-field{width:108px}
.schedule-source-hint{display:flex;gap:var(--kc-space-2);align-items:center;flex-wrap:wrap;color:var(--kc-color-text-muted);font-size:var(--kc-font-size-md)}
.schedule-source-hint .kc-button{white-space:normal}
.schedule-default-choice{font-size:var(--kc-font-size-md)}
.schedule-occurrence{display:grid;gap:var(--kc-space-3);padding:var(--kc-space-4);border:1px solid var(--kc-color-border);border-radius:var(--kc-radius-md);background:var(--kc-color-surface-subtle)}
.schedule-card-more{width:100%;font-size:var(--kc-font-size-md)}
.schedule-card-more summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;color:var(--kc-color-link)}
.schedule-card-more .kc-cluster{padding-top:var(--kc-space-2)}
.schedule-draft-toolbar{position:sticky;top:var(--kc-space-3);z-index:var(--kc-z-sticky,20);background:var(--kc-color-surface);box-shadow:var(--kc-shadow-sm);margin-block:var(--kc-space-4)}
@media(min-width:1050px){.schedule-person-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.schedule-draft-toolbar{top:0;padding:var(--kc-space-3)}.schedule-draft-toolbar .kc-toolbar__group:last-child{width:100%;display:flex;flex-wrap:wrap}.schedule-draft-toolbar .kc-button{flex:1}.schedule-inline-lunch{align-items:start}.schedule-inline-lunch>.kc-field{width:100%}}

/* One time scale across all stations, with local horizontal scrolling on mobile. */
.schedule-map-legend{margin-bottom:var(--kc-space-5)}
.schedule-map-scroll{max-width:100%;overflow:auto;overscroll-behavior-inline:contain;margin-bottom:var(--kc-space-4)}
.schedule-map{width:calc(230px + var(--map-time-width));min-width:100%}
.schedule-map-row{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:76px;border-bottom:1px solid var(--kc-color-border)}
.schedule-map-row:last-child{border-bottom:0}
.schedule-map-label{position:sticky;left:0;z-index:2;min-width:0;padding:var(--kc-space-4);display:flex;flex-direction:column;align-items:start;justify-content:center;gap:var(--kc-space-2);background:var(--kc-color-surface);border-right:1px solid var(--kc-color-border)}
.schedule-map-label h3{font-size:var(--kc-font-size-2xl);margin:0;line-height:var(--kc-line-height-heading)}
.schedule-map-label small{font-size:var(--kc-font-size-md);color:var(--kc-color-text-muted);line-height:var(--kc-line-height-body)}
.schedule-map-label .kc-field,.schedule-map-label .kc-select{width:100%;min-width:0}
.schedule-map-label .kc-field__label{font-size:var(--kc-font-size-xs)}
.schedule-map-label .kc-badge{white-space:normal}
.schedule-map-name.kc-button{max-width:100%;height:auto;min-height:44px;text-align:left;white-space:normal;justify-content:start;padding:0;color:var(--kc-color-link);font-weight:var(--kc-font-weight-bold)}
.schedule-map-person .schedule-map-label>.kc-button--ghost:not(.schedule-map-name){min-height:32px;padding:var(--kc-space-1) var(--kc-space-2);font-size:var(--kc-font-size-xs)}
.schedule-map-hours,.schedule-map-coverage-track,.schedule-map-track,.schedule-map-empty-track,.schedule-map-overview-track{position:relative;min-width:0;background-image:linear-gradient(to right,var(--kc-color-border) 1px,transparent 1px);background-size:calc(100% / var(--map-hours)) 100%}
.schedule-map-axis{min-height:70px;background:var(--kc-color-surface-subtle)}
.schedule-map-axis .schedule-map-label{background:var(--kc-color-surface-subtle)}
.schedule-map-hours>span{position:absolute;left:var(--tick);top:var(--kc-space-5);padding-left:var(--kc-space-2);white-space:nowrap;font-size:var(--kc-font-size-md);font-weight:var(--kc-font-weight-semibold)}
.schedule-map-hours>span:last-child{left:auto;right:var(--kc-space-2);padding:0}
.schedule-map-station{min-height:158px}
.schedule-map-station .schedule-map-label{background:var(--kc-color-surface-subtle)}
.schedule-map-coverage-segment,.schedule-map-gap-summary,.schedule-map-shift,.schedule-map-departure,.schedule-map-empty-track>span{position:absolute;left:var(--map-left);width:var(--map-width);min-width:0}
.schedule-map-coverage-segment{inset-block:var(--kc-space-4);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--kc-space-2);padding:var(--kc-space-2);overflow:hidden;background:var(--kc-color-success-surface);color:var(--kc-color-success-surface-text);border:1px solid var(--kc-color-success-surface-border)}
.schedule-map-coverage-segment strong{font-size:var(--kc-font-size-lg)}
.schedule-map-coverage-segment small{white-space:nowrap;font-size:var(--kc-font-size-xs)}
.schedule-map-coverage-segment--gap{background:var(--kc-color-warning-surface);color:var(--kc-color-warning-surface-text);border-color:var(--kc-color-warning-surface-border);background-image:repeating-linear-gradient(135deg,transparent,transparent 7px,color-mix(in srgb,var(--kc-color-warning) 12%,transparent) 7px,color-mix(in srgb,var(--kc-color-warning) 12%,transparent) 9px)}
.schedule-map-track.schedule-person-bar{height:auto;min-height:114px;margin:0;border-radius:0;background-color:var(--kc-color-surface)}
.schedule-map-shift.kc-button{inset-block:var(--kc-space-5);height:auto;min-height:50px;display:flex;flex-direction:column;align-items:start;justify-content:center;gap:var(--kc-space-1);padding:var(--kc-space-2) var(--kc-space-3);overflow:hidden;white-space:nowrap;text-align:left;border-radius:var(--kc-radius-sm);background:var(--kc-color-surface-subtle);border-color:var(--kc-color-border);color:var(--kc-color-text)}
.schedule-map-shift>span,.schedule-map-shift>small{max-width:100%;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.schedule-map-shift>small{font-size:var(--kc-font-size-xs);font-weight:var(--kc-font-weight-regular)}
.schedule-map-shift--unavailable.kc-button{background:var(--kc-color-danger-surface);border-color:var(--kc-color-danger-surface-border);color:var(--kc-color-danger-surface-text)}
.schedule-map-track .schedule-map-break{inset-block:var(--kc-space-5);min-height:50px;height:auto;z-index:1;display:flex;flex-direction:column;justify-content:center;overflow:hidden;gap:var(--kc-space-1)}
.schedule-map-lunch-label{font-size:var(--kc-font-size-xs);white-space:nowrap;pointer-events:none}
.schedule-map-departure{inset-block:var(--kc-space-5);background:var(--kc-color-surface);opacity:.8;pointer-events:none;background-image:repeating-linear-gradient(135deg,transparent,transparent 7px,var(--kc-color-border) 7px,var(--kc-color-border) 9px)}
.schedule-map-empty-track>span{top:var(--kc-space-4);bottom:var(--kc-space-4);border:1px dashed var(--kc-color-border-strong);border-radius:var(--kc-radius-sm);padding:var(--kc-space-4);font-size:var(--kc-font-size-md);color:var(--kc-color-text-muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.schedule-map-overview .schedule-map-label{background:var(--kc-color-warning-surface)}
.schedule-map-overview-track{min-height:84px}
.schedule-map-gap-summary{top:var(--kc-space-4);bottom:var(--kc-space-4);display:flex;justify-content:center;align-items:center;background:var(--kc-color-warning-surface);border:1px solid var(--kc-color-warning-surface-border);color:var(--kc-color-warning-surface-text);overflow:hidden;font-size:var(--kc-font-size-md);font-weight:var(--kc-font-weight-bold)}
.schedule-map-ok{display:block;padding:var(--kc-space-5);color:var(--kc-color-success-surface-text)}
.schedule-gap-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--kc-space-5);font-size:var(--kc-font-size-md)}
.schedule-gap-list p{color:var(--kc-color-text-muted);line-height:var(--kc-line-height-body)}
.schedule-map-scroll-hint{margin-top:0}
@media(max-width:640px){.schedule-map{width:calc(160px + var(--map-time-width))}.schedule-map-row{grid-template-columns:160px minmax(0,1fr)}.schedule-map-label{padding:var(--kc-space-3)}.schedule-map-label h3{font-size:var(--kc-font-size-lg)}.schedule-map-label .kc-select{font-size:var(--kc-font-size-lg)}.schedule-map-label small{font-size:var(--kc-font-size-xs)}.schedule-map-label .kc-button{font-size:var(--kc-font-size-md)}}

/* A station and its people form one compact comparison row. */
.schedule-map-station-content{min-width:0;display:flex;flex-direction:column;background:var(--kc-color-surface)}
.schedule-map-station{min-height:152px}
.schedule-map-station .schedule-map-label{padding:var(--kc-space-3);gap:var(--kc-space-2)}
.schedule-map-station .schedule-map-label>.kc-field>.kc-field__label{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%)}
.schedule-map-station .schedule-map-label>small{font-size:var(--kc-font-size-xs)}
.schedule-map-station-content>.schedule-map-coverage-track{min-height:36px;flex:0 0 36px;border-bottom:1px solid var(--kc-color-border)}
.schedule-map-station-content .schedule-map-coverage-segment{inset-block:var(--kc-space-1);padding:0 var(--kc-space-1)}
.schedule-map-station-content .schedule-map-coverage-segment strong{font-size:var(--kc-font-size-xs)}
.schedule-map-station-content>.schedule-map-person{min-height:76px;flex:1;display:flex;flex-direction:column}
.schedule-map-station-content>.schedule-map-person+ .schedule-map-person{border-top:1px solid var(--kc-color-border)}
.schedule-map-station-content .schedule-map-track{flex:1;min-height:76px}
.schedule-map-station-content .schedule-map-shift,.schedule-map-station-content .schedule-map-break,.schedule-map-station-content .schedule-map-departure{inset-block:var(--kc-space-2);min-height:50px}
.schedule-map-station-content>.schedule-map-empty-track{flex:1;min-height:76px}
