/* W13a-read: day axis and agenda of the machine calendar. Every rule is scoped under .cal-read.
   Wide container: one day shows the axis, a longer range keeps the existing board. Narrow
   container: the agenda replaces both. Native details only, no script. */
.cal-read{container:cal-read/inline-size;display:grid;gap:var(--space-section);min-width:0}
.cal-read>.cal-read-agenda,.cal-read[data-calendar-read=day]>.machine-plan{display:none}
@container cal-read (max-width:639px){
 .cal-read>.cal-read-agenda{display:block}
 .cal-read>:is(.machine-plan,.cal-read-axis){display:none}
}
.cal-read .cal-read-meta{color:var(--muted);font-size:var(--text-xs);text-align:right}
.cal-read .cal-read-note{margin:0;padding:var(--space-2) var(--space-card);color:var(--muted);font-size:var(--text-xs);line-height:1.5}
.cal-read .cal-read-axis>.cal-read-note{border-top:1px solid var(--line-soft)}
.cal-read .cal-read-none{display:block;margin:0;padding:var(--space-2) var(--space-card);color:var(--muted);font-size:var(--text-xs)}
.cal-read .cal-read-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Day axis: hour ruler and one row per machine. Positions come from real elapsed minutes. */
.cal-read .cal-read-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
.cal-read .cal-read-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.cal-read .cal-read-grid{min-width:46rem}
.cal-read .cal-read-row{display:grid;grid-template-columns:9.5rem minmax(0,1fr);border-bottom:1px solid var(--line-soft)}
.cal-read .cal-read-row:last-child{border-bottom:0}
.cal-read .cal-read-machine{position:sticky;left:0;z-index:4;display:grid;align-content:start;gap:4px;min-width:0;padding:var(--space-2);background:var(--surface);box-shadow:1px 0 var(--line);font-size:var(--text-sm);overflow-wrap:anywhere}
.cal-read .cal-read-machine>strong{color:var(--ink);font-weight:650}
.cal-read .cal-read-machine>small{color:var(--muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}
.cal-read .cal-read-machine>.badge{justify-self:start}
.cal-read .cal-read-head{background:var(--surface-2)}
.cal-read .cal-read-head>.cal-read-machine{background:var(--surface-2);color:var(--muted);font-size:var(--text-xs);font-weight:650}
.cal-read .cal-read-ruler{position:relative;min-height:2.25rem}
.cal-read .cal-read-tick{position:absolute;top:0;bottom:0;left:calc(var(--cal-read-at) * 1%);padding:4px 0 0 3px;border-left:1px solid var(--line);color:var(--muted);font-size:var(--text-xs);line-height:1.2;font-variant-numeric:tabular-nums}
.cal-read .cal-read-tick>small{display:block;font-size:10px}
.cal-read .cal-read-tick.is-repeated{color:var(--ink-2);font-weight:650}
.cal-read .cal-read-track{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:minmax(2.75rem,auto);row-gap:4px;min-width:0;padding-block:4px;
 background-image:repeating-linear-gradient(to right,var(--line-soft) 0 1px,transparent 1px calc(100% / var(--cal-read-hours)))}
.cal-read .cal-read-track>.cal-read-none{position:relative;grid-row:1;align-self:center}
/* x and w are the drawn share of the day from the renderer (minimum width, kept inside the day). */
.cal-read .cal-read-bar{position:relative;grid-column:1;grid-row:var(--cal-read-lane);align-self:start;min-width:0;width:calc(var(--cal-read-w) * 1%);margin-left:calc(var(--cal-read-x) * 1%)}
.cal-read .cal-read-bar[open]{z-index:2}
.cal-read .cal-read-bar:focus-within{z-index:3}
.cal-read .cal-read-chip{display:grid;align-content:center;gap:1px;height:2.75rem;padding:3px 6px;border:1px solid #1f4f99;border-radius:var(--radius-sm);background:var(--blue);color:#fff;cursor:pointer;overflow:hidden;list-style:none;font-size:var(--text-xs);line-height:1.3;transition:background-color .15s ease}
.cal-read .cal-read-chip::-webkit-details-marker{display:none}
/* The global disclosure arrow (design.css details>summary::before) would add a row to the fixed chip. */
.cal-read :is(.cal-read-chip,.cal-read-item>summary)::before{content:none}
.cal-read .cal-read-chip>:not(.cal-read-sr){min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.cal-read .cal-read-chip>strong{font-size:var(--text-sm);font-weight:650}
.cal-read .cal-read-chip .icon{width:12px;height:12px;margin-right:3px;vertical-align:-1px}
.cal-read .cal-read-chip:hover,.cal-read .cal-read-bar[open]>.cal-read-chip{background:#24569f;border-color:#173f7d}
/* V9-13a, V9-13b: servis a porucha inou farbou ako blok zákazky; upozornenie (pravidlá nižšie) má prednosť, dávka ostáva farbou bloku. */
/* A4d (V6.2, v62-10): servis a porucha šrafované so tmavým textom, upozornenie jantárovým okrajom vľavo, kolízia aj obrysom. */
.cal-read .cal-read-bar:is(.is-service,.is-breakdown)>.cal-read-chip{color:var(--ink-2)}
.cal-read .cal-read-bar.is-service>.cal-read-chip{border-color:#d9d3f0;background:#f3f1fb;background-image:repeating-linear-gradient(135deg,#ece9f7 0 6px,#f6f4fc 6px 12px)}
.cal-read .cal-read-bar.is-breakdown>.cal-read-chip{border-color:#f0cfca;background:#fdf0ee;background-image:repeating-linear-gradient(135deg,#f8dcd7 0 6px,#fdf0ee 6px 12px)}
.cal-read .cal-read-bar:is(.is-service,.is-breakdown)>.cal-read-chip .cal-read-time{color:var(--violet)}
.cal-read .cal-read-bar.is-before>.cal-read-chip{border-left:2px dashed #a9c3f0;border-top-left-radius:0;border-bottom-left-radius:0}
.cal-read .cal-read-bar.is-after>.cal-read-chip{border-right:2px dashed #a9c3f0;border-top-right-radius:0;border-bottom-right-radius:0}
/* Upozornenie je okraj pruhu: fázy (inset:0) vyplnia iba vnútro po okraj, značka ostane viditeľná aj nad chladením; pokračovanie
   ostane čiarkované, mení sa iba šírka a farba. */
.cal-read .cal-read-bar.is-warning>.cal-read-chip{border-left-width:3px;border-left-color:#e0a43a}
.cal-read .cal-read-bar.is-collision>.cal-read-chip{border-color:#c78a21;border-left-width:3px;border-left-color:#e0a43a}
/* V9-47a (D2): pás fáz pri spodnom okraji pruhu, tlač farbou bloku a chladenie druhou farbou; x a w sú podiel časti bloku v dni. */
.cal-read .cal-read-chip:has(>.cal-read-phases){position:relative;padding-bottom:7px}
.cal-read .cal-read-chip>.cal-read-phases{position:absolute;inset:auto 0 0;height:4px}
.cal-read .cal-read-phase{position:absolute;inset-block:0;left:calc(var(--cal-phase-x) * 1%);width:calc(var(--cal-phase-w) * 1%)}
.cal-read .cal-read-phase.is-print{background:var(--blue)}
.cal-read .cal-read-phase.is-cooling{background:#a9c3f0}
/* A4d: bez priebehu dávky (plán) vyplnia fázy celý pruh ako v62-10, tlač tmavá a chladenie svetlé; text je nad nimi s tieňom. */
.cal-read .cal-read-bar:not(:has(>.cal-read-course))>.cal-read-chip:has(>.cal-read-phases){padding-bottom:3px;text-shadow:0 0 3px rgba(12,32,64,.8)}
.cal-read .cal-read-bar:not(:has(>.cal-read-course))>.cal-read-chip>.cal-read-phases{inset:0;height:auto}
.cal-read .cal-read-chip>:not(.cal-read-phases,.cal-read-sr){position:relative;z-index:1}
/* A4d-2 (v62-vyroba.md:56): biely text na svetlom chladení mal 1,79:1. Pruh celý v chladení má tmavý text (8,76:1, pri prechode 6,8:1);
   pruh, ktorý začína tlačou, nesie text na štítku farby tlače (6,32:1), aj keď text siaha nad chladenie. */
.cal-read .cal-read-bar:not(:has(>.cal-read-course))>.cal-read-chip:has(>.cal-read-phases>.is-cooling:first-child){color:var(--ink);text-shadow:none}
.cal-read .cal-read-bar:not(:has(>.cal-read-course))>.cal-read-chip:has(>.cal-read-phases>.is-cooling:first-child) .cal-read-time{color:var(--ink)}
.cal-read .cal-read-bar:not(:has(>.cal-read-course))>.cal-read-chip:has(>.cal-read-phases>.is-print:first-child)>:is(.cal-read-time,strong){
 justify-self:start;max-width:calc(100% + 6px);margin-inline:-3px;padding-inline:3px;border-radius:2px;background:var(--blue)}
/* Prechod a otvorený pruh stmavia fázy (brightness .88, #2c5faa na #275496); štítok sa stmaví rovnako, aby za textom nesvietil. */
.cal-read .cal-read-bar:not(:has(>.cal-read-course)):is(:hover,[open])>.cal-read-chip:has(>.cal-read-phases>.is-print:first-child)>:is(.cal-read-time,strong){
 background:#275496}
.cal-read .cal-read-chip:hover>.cal-read-phases,.cal-read .cal-read-bar[open]>.cal-read-chip>.cal-read-phases{filter:brightness(.88)}
/* Plán proti skutočnosti (PR S15): pri spustenej dávke je plán tenký pás hore a priebeh plný pás dole;
   odhad je svetlejší, neisté uvoľnenie pruhované. */
/* Pás priebehu leží na osi dňa pod pruhom (môže presiahnuť plán); x a w sú v percentách pruhu. */
.cal-read .cal-read-bar:has(>.cal-read-course)>.cal-read-chip{position:relative;padding-bottom:10px}
.cal-read .cal-read-bar:has(>.cal-read-course)>.cal-read-chip>.cal-read-phases{bottom:6px;height:2px}
.cal-read .cal-read-bar>.cal-read-course{position:absolute;top:calc(2.75rem - 5px);left:calc(var(--cal-course-x) * 1%);
 width:calc(var(--cal-course-w) * 1%);height:5px;z-index:1;pointer-events:none}
.cal-read .cal-read-phase.is-estimate{opacity:.5}
.cal-read .cal-read-phase.is-unknown{background:repeating-linear-gradient(135deg,#c78a21 0 4px,#fbe7c0 4px 8px)}
.cal-read .cal-read-time{color:var(--accent);font-weight:650;font-variant-numeric:tabular-nums}
.cal-read .cal-read-chip .cal-read-time{color:rgba(255,255,255,.9)}
/* Inside the box: the panel clips overflow and the sticky machine column covers the left edge. */
.cal-read :is(.cal-read-chip,.cal-read-item>summary):focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
/* A4d: na tmavom pruhu by obrys akcentu nebol vidieť (1,11:1) a fázy by ho prekryli; rámik je ::after nad fázami aj textom, biely
   s tmavým lemom (aj na svetlom chladení), akcent na svetlom servise a poruche. Priehľadný obrys ostane pre režim vynútených farieb;
   selektor s .cal-read-bar je silnejší ako spoločné pravidlo fokusu vyššie. */
.cal-read .cal-read-bar>.cal-read-chip:focus-visible{position:relative;outline-color:transparent}
.cal-read .cal-read-bar>.cal-read-chip:focus-visible::after{content:'';position:absolute;inset:1px;z-index:2;border:2px solid #fff;border-radius:inherit;
 box-shadow:0 0 0 1px #173f7d;pointer-events:none}
.cal-read .cal-read-bar:is(.is-service,.is-breakdown)>.cal-read-chip:focus-visible::after{border-color:var(--accent)}
.cal-read .cal-read-bar>.cal-read-detail{width:18rem;margin-top:4px;box-shadow:var(--shadow)}
.cal-read .cal-read-bar[data-side=end]>.cal-read-detail{margin-left:calc(100% - 18rem)}

/* Read-only detail shared by the axis and the agenda. */
.cal-read .cal-read-detail{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--text-sm);line-height:1.45}
.cal-read .cal-read-detail>dl{display:grid;gap:6px;margin:0}
.cal-read .cal-read-detail>dl>div{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:var(--space-2);align-items:baseline}
.cal-read .cal-read-detail dt{color:var(--muted);font-size:var(--text-xs);font-weight:600}
.cal-read .cal-read-detail dd{min-width:0;margin:0;color:var(--ink-2);overflow-wrap:anywhere}
.cal-read .cal-read-detail a{font-weight:650}
.cal-read .cal-read-warnings{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.cal-read .cal-read-warnings>li{display:flex;align-items:flex-start;gap:6px;color:#925b08;font-size:var(--text-xs);line-height:1.4;overflow-wrap:anywhere}
.cal-read .cal-read-warnings .icon{flex:none;width:14px;height:14px;margin-top:1px}
.cal-read .cal-read-quiet{margin:0;color:var(--muted);font-size:var(--text-xs)}

/* Agenda: one list per loaded day, one native details per block occurrence. */
.cal-read .cal-read-days,.cal-read .cal-read-items{margin:0;padding:0;list-style:none}
.cal-read .cal-read-day{border-top:1px solid var(--line-soft)}
.cal-read .cal-read-day>h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0;padding:var(--space-3) var(--space-card) var(--space-2);color:var(--ink);font-size:var(--text-sm);font-weight:650;line-height:1.35}
.cal-read .cal-read-day>h3>small{padding:0 5px;border-radius:3px;background:var(--surface-2);color:var(--muted);font-size:var(--text-xs);font-weight:600}
.cal-read .cal-read-day>h3>.cal-read-today{background:var(--accent);color:#fff}
.cal-read .cal-read-item{border-top:1px solid var(--line-soft)}
.cal-read .cal-read-item>summary{position:relative;display:grid;gap:4px;min-height:44px;padding:10px calc(var(--space-card) + 1.25rem) 10px var(--space-card);border-left:3px solid var(--accent);cursor:pointer;list-style:none}
.cal-read .cal-read-item>summary::-webkit-details-marker{display:none}
.cal-read .cal-read-item>summary::after{content:'';position:absolute;top:16px;right:var(--space-card);width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .15s ease}
.cal-read .cal-read-item[open]>summary::after{transform:rotate(-135deg)}
.cal-read .cal-read-item[open]>summary{background:var(--surface-2)}
.cal-read .cal-read-item.is-service>summary,.cal-read .cal-read-item.is-repeat.is-service{border-left-color:#6b5fb5}
.cal-read .cal-read-item.is-breakdown>summary,.cal-read .cal-read-item.is-repeat.is-breakdown{border-left-color:#c0392b}
.cal-read .cal-read-item.is-warning>summary,.cal-read .cal-read-item.is-collision>summary{border-left-color:#c78a21}
.cal-read .cal-read-item.is-before>summary{border-left-style:dashed}
.cal-read .cal-read-item>summary .cal-read-time{font-size:var(--text-xs)}
.cal-read .cal-read-what{display:grid;gap:2px;min-width:0}
.cal-read .cal-read-what>strong{color:var(--ink);font-size:var(--text-sm);font-weight:650;overflow-wrap:anywhere}
.cal-read .cal-read-what>small{color:var(--muted);font-size:var(--text-xs);overflow-wrap:anywhere}
.cal-read .cal-read-flags{display:flex;flex-wrap:wrap;gap:4px}
.cal-read .cal-read-flags>.badge{white-space:normal;line-height:1.35}
.cal-read .cal-read-flags .icon{width:12px;height:12px}
.cal-read .cal-read-item>.cal-read-detail{margin:0 var(--space-card) var(--space-3)}
.cal-read .cal-read-item.is-repeat{display:grid;gap:4px;padding:10px var(--space-card);border-left:3px dashed var(--accent)}
.cal-read .cal-read-item.is-repeat:is(.is-warning,.is-collision){border-left-color:#c78a21}
/* A continuation title is a link to the order, styled as one so it never looks like an expandable summary. */
.cal-read .cal-read-what>a{color:var(--accent);font-size:var(--text-sm);font-weight:650;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
/* V9-14 (PR R08, S15): line Teraz in the day axis and row Teraz in the agenda; quick actions in the detail and the board. */
.cal-read .cal-read-track{position:relative}
.cal-read .cal-read-now{position:absolute;top:0;bottom:0;left:calc(var(--cal-read-at) * 1%);z-index:3;width:2px;margin-left:-1px;background:#b45309;pointer-events:none}
.cal-read .cal-read-now.is-head>span{position:absolute;top:2px;left:4px;padding:0 4px;border-radius:3px;background:#b45309;color:#fff;font-size:10px;font-weight:650;line-height:1.5;white-space:nowrap}
.cal-read .cal-read-now-item{display:flex;align-items:center;gap:var(--space-2);padding:6px var(--space-card);color:#b45309;font-size:var(--text-xs);font-weight:650}
.cal-read .cal-read-now-item::after{content:'';flex:1;border-top:2px solid #b45309}
.cal-read .cal-qa{display:grid;gap:6px;padding-top:var(--space-2);border-top:1px dashed var(--line)}
.cal-read .cal-qa-row,.cal-read .cal-qa-move{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}
.cal-read .cal-qa-move>select{width:auto;min-width:0;max-width:100%}
.cal-read .cal-qa-label{color:var(--muted);font-size:var(--text-xs);font-weight:600}
.cal-read :is(.cal-qa-none,.cal-qa-hint){margin:0;color:var(--muted);font-size:var(--text-xs);line-height:1.4}
/* V9-14 O3: a window candidate is a whole sentence; .btn keeps nowrap (design.css), so it wraps in its slot at 375 px. */
.cal-read .cal-qa-window .btn{max-width:100%;height:auto;white-space:normal;text-align:left;overflow-wrap:anywhere}
.cal-read .machine-plan-quick{margin-top:4px}
.cal-read .machine-plan-quick>summary{min-height:28px;padding-inline:6px;color:var(--accent)}
.cal-read .machine-plan-quick>summary::before{content:none}
.cal-read .machine-plan-quick[open]{display:grid;gap:6px}
.cal-read .machine-plan-quick .cal-qa :is(.btn,select){width:100%}
@media (max-width:699px){
 .cal-read .cal-qa :is(.btn,select){min-height:44px}
}
@container cal-read (max-width:359px){
 .cal-read .cal-read-detail>dl>div{grid-template-columns:minmax(0,1fr);gap:0}
}
@media (prefers-reduced-motion:reduce){
 .cal-read .cal-read-chip,.cal-read .cal-read-item>summary::after{transition:none}
}
/* V9-47a: panel Priebeh dávok, počty v riadku a dávky na kontrolu so značkou upozornenia. */
.cal-read .cal-read-course-counts{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin:0}
.cal-read .cal-read-course-list{display:grid;gap:var(--space-2);margin:var(--space-3) 0 0;padding:0;list-style:none}
.cal-read .cal-read-course-list>li{padding-left:var(--space-3);border-left:3px solid #c78a21;overflow-wrap:anywhere}
/* A4d redizajn V6.2 (snimky/v62-10): dlaždice a prepínač Agenda nad plánom, typ stroja pod menom, pás pracovného času a legenda osi. */
.cal-read .cal-read-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3);min-width:0}
/* Pod 560 px je pás kitu posuvný (components-v62.css); bez min-width:0 by jeho šírka roztiahla mriežku .cal-read a stránku. */
.cal-read .cal-read-kpis,.cal-read .cal-read-kpis>.v62-tiles{flex:1 1 34rem;min-width:0}
.cal-read .cal-read-switch>summary{list-style:none;cursor:pointer}
.cal-read .cal-read-switch>summary::-webkit-details-marker{display:none}
.cal-read .cal-read-switch>summary::before{content:none}
.cal-read .cal-read-switch>summary:focus-visible{outline:3px solid #93b4ff;outline-offset:2px}
.cal-read .cal-read-switch:not([open]) .is-plan,.cal-read .cal-read-switch[open] .is-agenda{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(21,36,56,.14)}
.cal-read:has(>.cal-read-top>.cal-read-switch[open])>.cal-read-agenda{display:block}
.cal-read:has(>.cal-read-top>.cal-read-switch[open])>:is(.machine-plan,.cal-read-axis){display:none}
@container cal-read (max-width:639px){.cal-read .cal-read-switch{display:none}}
.cal-read .cal-read-machine>strong{order:-2}
.cal-read .cal-read-machine>.cal-read-kind{order:-1;color:var(--muted);font-size:var(--text-xs)}
.cal-read .cal-read-track:has(>.cal-read-work){background-color:#eef2f7}
.cal-read .cal-read-work{position:absolute;top:0;bottom:0;left:calc(var(--cal-read-x) * 1%);width:calc(var(--cal-read-w) * 1%);background:#fbfcfe;pointer-events:none}
.cal-read .cal-read-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:var(--space-2) var(--space-card) 0;list-style:none;color:var(--muted);font-size:var(--text-xs)}
.cal-read .cal-read-legend>li{display:inline-flex;align-items:center;gap:6px}
.cal-read .cal-read-key{display:inline-block;width:14px;height:10px;border-radius:2px}
.cal-read .cal-read-key.is-print{background:var(--blue)}
.cal-read .cal-read-key.is-cooling{background:#a9c3f0}
.cal-read .cal-read-key.is-service{background:repeating-linear-gradient(135deg,#cfc8ec 0 3px,#f3f1fb 3px 6px)}
.cal-read .cal-read-key.is-breakdown{background:repeating-linear-gradient(135deg,#efb4ab 0 3px,#fdf0ee 3px 6px)}
.cal-read .cal-read-key.is-work{background:#fbfcfe;box-shadow:inset 0 0 0 1px var(--line)}
.cal-read .cal-read-key.is-now{width:2px;height:12px;background:#b45309}
