/* Grade da agenda semanal e blocos de atendimento */
.cw{overflow:auto;border:1px solid var(--ln);border-radius:16px;background:#fff;max-height:calc(100vh - 250px);min-height:400px;-webkit-overflow-scrolling:touch}
.cg{display:grid;grid-template-columns:44px repeat(7,minmax(94px,1fr));min-width:700px}
.dh,.hc{position:sticky;top:0;z-index:6;background:#fff;border-bottom:1px solid var(--ln);text-align:center;padding:6px 0;font-size:12px;color:var(--mut)}
.hc{left:0;z-index:7}
.dh b{display:block;font-size:17px;font-weight:500;color:var(--ink)}
.dh.td b{background:var(--ol);color:#fff;width:30px;height:30px;line-height:30px;border-radius:50%;margin:0 auto}
.tc{position:sticky;left:0;z-index:4;background:#fff;height:572px}
.tc span{position:absolute;right:6px;font-size:11px;color:var(--mut);transform:translateY(-7px)}
.col{position:relative;height:572px;border-left:1px solid var(--ln);background-image:linear-gradient(var(--ln) 1px,transparent 1px);background-size:100% 44px;cursor:cell}
.blk{position:absolute;left:3px;right:3px;border-radius:10px;padding:5px 7px;color:#fff;overflow:hidden;font-size:12px;line-height:1.25;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.blk b{display:block;font-weight:600;font-size:13px}.blk em{display:block;font-style:normal;opacity:.85;font-size:11px}
.blk.i{background:var(--ol)}.blk.c{background:var(--ro)}.blk.rg{outline:2px dashed rgba(255,255,255,.8);outline-offset:-4px}
.blk.drag{z-index:9;box-shadow:0 8px 24px rgba(0,0,0,.25);opacity:.93;cursor:grabbing}
