/* Calendário Operacional (v4.3): régua de dias, marcos e quadrinho de detalhes */
.cal-zoom{display:flex;gap:4px}
.cal-scroll{overflow-x:auto;overflow-y:hidden;position:relative;padding-bottom:4px}
.cal-linha{display:flex;align-items:stretch;width:max-content;min-width:100%;margin-bottom:6px}
.cal-cab{margin-bottom:6px}
.cal-nome{flex-shrink:0;position:sticky;left:0;z-index:5;background:var(--card);padding-right:10px;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.cal-nome-proj{font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.cal-nome-sub{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-regua{position:relative;height:42px;flex-shrink:0}
.cal-regua.so-meses{height:18px}
.cal-mes{position:absolute;top:0;height:16px;font-size:10px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;border-left:1px solid var(--border2);padding-left:4px;box-sizing:border-box}
.cal-mes span{position:sticky;display:inline-block}
.cal-mes span::first-letter{text-transform:uppercase}
.cal-cel{position:absolute;top:18px;height:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05;border-left:1px solid var(--border);box-sizing:border-box;color:var(--muted);overflow:hidden}
.cal-cel b{font-size:10px;font-weight:600;color:var(--text)}
.cal-cel span{font-size:8px}
.cal-cel.fds{background:rgba(255,255,255,.045)}
.cal-cel.hoje{background:var(--gold);color:#1a1208;border-radius:3px}
.cal-cel.hoje b{color:#1a1208}
.cal-trilha{position:relative;flex-shrink:0;background-color:rgba(255,255,255,.03);border-radius:4px}
.cal-hoje{position:absolute;top:0;bottom:0;background:rgba(212,160,23,.18);border-left:1px solid var(--gold);box-sizing:border-box;z-index:1}
.cal-barra{position:absolute;border-radius:3px;opacity:.88;z-index:2;cursor:pointer;font-size:9px;font-weight:600;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.45);white-space:nowrap;overflow:hidden;display:flex;align-items:center;padding:0 5px;box-sizing:border-box}
.cal-barra:hover{opacity:1}
.cal-marco{position:absolute;top:50%;width:11px;height:11px;margin:-6px 0 0 -6px;transform:rotate(45deg);border:1.5px solid var(--bg);border-radius:2px;z-index:3;cursor:pointer;box-sizing:border-box}
.cal-leg-marco{display:inline-block;width:9px;height:9px;transform:rotate(45deg);border-radius:1px;margin-right:6px;vertical-align:middle}
.cal-pop{display:none;position:fixed;z-index:1000;background:var(--card2);border:1px solid var(--border2);border-radius:var(--radius);padding:12px 14px;width:250px;max-width:calc(100vw - 16px);box-shadow:0 8px 24px rgba(0,0,0,.5);font-size:12px}
.cal-pop-x{position:absolute;top:6px;right:8px;background:none;border:none;color:var(--muted);font-size:14px;cursor:pointer}
.cal-pop-proj{font-weight:700;margin:0 18px 8px 0}
.cal-pop-fase{display:flex;align-items:center;gap:7px;font-weight:600;margin-bottom:4px}
.cal-pop-cor{width:10px;height:10px;border-radius:2px}
.cal-pop-losango{width:9px;height:9px;transform:rotate(45deg);border-radius:1px}
.cal-pop-data{color:var(--text);margin:6px 0 2px;line-height:1.45}
.cal-pop-dur{color:var(--muted);margin-bottom:8px}
.cal-pop .btn{margin-top:6px}
