/* Grade de horários — linguagem visual da proposta (papel, linhas finas, vermelho pontual) */
.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px;flex-wrap:wrap}
.day-tabs{display:flex;flex-wrap:wrap;gap:8px}
.schedule-note-inline{font-size:10px;color:var(--muted);white-space:nowrap}
.schedule-layout{display:grid;grid-template-columns:minmax(0,1fr) 228px;gap:28px;align-items:start}
.schedule-frame{border:1px solid var(--line);border-radius:3px;overflow:hidden;background:var(--white)}
.schedule-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.schedule{width:100%;border-collapse:collapse;min-width:480px;table-layout:fixed}
table.schedule th{padding:15px 16px;text-align:left;font-family:var(--font);font-size:9px;font-weight:650;letter-spacing:1.5px;color:var(--muted);background:var(--sand);border-bottom:1px solid var(--line)}
table.schedule th.mat{font-family:var(--heading);font-size:12px;font-weight:650;letter-spacing:.4px;color:var(--ink)}
table.schedule th:first-child{width:86px;text-align:center}
table.schedule td{border-top:1px solid var(--line);padding:9px 10px;vertical-align:middle}
table.schedule tbody tr:first-child td{border-top:0}
table.schedule td.hour{width:86px;text-align:center;background:var(--sand);font-family:var(--heading);font-size:14px;font-weight:600;letter-spacing:-.4px;color:var(--ink);white-space:nowrap}
.slot{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:3px;transition:background .2s}

.slot-text b{display:block;font-family:var(--heading);font-size:13px;font-weight:600;letter-spacing:-.3px;line-height:1.3;color:var(--ink)}
.slot-text span{display:block;font-size:10px;color:var(--muted);margin-top:3px;letter-spacing:.2px}
.slot-empty{text-align:center;color:#b9b9b0;font-size:13px;padding:8px 0}
.mark{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;color:#fff}
.mark svg{width:17px;height:17px}
.mark,.legend-line .mark{color:#fff}
.mark-red{--mc:#a72c28}.mark-ink{--mc:#242522}.mark-slate{--mc:#4c5866}.mark-sage{--mc:#5f7356}.mark-ochre{--mc:#b07a2c}.mark-sand{--mc:#c9974f}.mark-brown{--mc:#7a5236}.mark-berry{--mc:#8c3556}
.mark{background:var(--mc)}
.slot-red{--mc:#a72c28}.slot-ink{--mc:#242522}.slot-slate{--mc:#4c5866}.slot-sage{--mc:#5f7356}.slot-ochre{--mc:#b07a2c}.slot-sand{--mc:#c9974f}.slot-brown{--mc:#7a5236}.slot-berry{--mc:#8c3556}
.slot{background:color-mix(in srgb,var(--mc) 7%,#fff)}
.slot:hover{background:color-mix(in srgb,var(--mc) 13%,#fff)}
.legend-card{border:1px solid var(--line);border-radius:3px;background:var(--sand);padding:22px 20px;position:sticky;top:120px}
.legend-card > p{font-size:9px;font-weight:650;letter-spacing:1.8px;color:var(--muted);margin-bottom:16px}
.legend-line{display:flex;align-items:center;gap:11px;padding:7px 0}
.legend-line .mark{width:28px;height:28px}
.legend-line .mark svg{width:15px;height:15px}
.legend-line .legend-label{font-size:11px;color:#4f5149;line-height:1.35}
.schedule-footnote{display:flex;align-items:flex-start;gap:11px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.schedule-footnote p{font-size:11px;color:var(--muted);line-height:1.8;max-width:620px}
.schedule-footnote .short-line{margin-top:9px}
@media(max-width:1000px){.schedule-layout{grid-template-columns:1fr;gap:22px}.legend-card{position:static}.legend-rows{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}}
@media(max-width:700px){.schedule-toolbar{margin-bottom:20px}.day-tabs{gap:6px}.schedule-note-inline{display:none}.legend-rows{grid-template-columns:1fr}table.schedule th{padding:13px 12px}}
