.zp-grid-line{background:var(--color-line);width:1px;position:absolute;top:0;bottom:0}.dark .zp-grid-line{background:#ffffff0f}.zp-weekend{background-image:repeating-linear-gradient(135deg,#22263709 0 1px,#0000 1px 8px);position:absolute;top:0;bottom:0}.dark .zp-weekend{background-image:repeating-linear-gradient(135deg,#ffffff09 0 1px,#0000 1px 8px)}.zp-today{background:color-mix(in srgb, var(--app) 6%, transparent);position:absolute;top:0;bottom:0}.zp-now{background:var(--app);z-index:3;pointer-events:none;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.zp-now:before{content:"";background:var(--app);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb, var(--app) 25%, transparent);border-radius:9px;position:absolute;top:-4px;left:-3px}.zp-row{transition:background-color .2s}.zp-row:hover{background:color-mix(in srgb, var(--app) 3.5%, transparent)}.zp-row+.zp-row{border-top:1px solid var(--color-line)}.dark .zp-row+.zp-row{border-color:#ffffff0d}.zp-block{z-index:1;padding:3px;position:absolute}.zp-bk{background:color-mix(in srgb, var(--c) 12%, #fff);border:1px solid color-mix(in srgb, var(--c) 26%, transparent);height:100%;color:color-mix(in srgb, var(--c) 70%, #222637);cursor:grab;user-select:none;border-radius:12px;align-items:center;gap:6px;padding:0 8px 0 10px;font-size:11.5px;font-weight:700;line-height:1.2;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,background-color .2s;display:flex;position:relative;overflow:hidden}.zp-bk:before{content:"";background:var(--c);width:3px;position:absolute;top:0;bottom:0;left:0}.zp-bk small{opacity:.75;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:600;display:block;overflow:hidden}.zp-bk .t{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.zp-bk:hover{box-shadow:0 8px 18px -10px color-mix(in srgb, var(--c) 70%, transparent);background:color-mix(in srgb, var(--c) 18%, #fff);transform:translateY(-1px)}.dark .zp-bk{background:color-mix(in srgb, var(--c) 22%, #17171e);border-color:color-mix(in srgb, var(--c) 35%, transparent);color:color-mix(in srgb, var(--c) 30%, #fff)}.dark .zp-bk:hover{background:color-mix(in srgb, var(--c) 30%, #17171e)}.zp-bk.is-leave{cursor:default;background-color:color-mix(in srgb, var(--c) 8%, #fff);background-image:repeating-linear-gradient(135deg, color-mix(in srgb, var(--c) 22%, transparent) 0 2px, transparent 2px 9px)}.dark .zp-bk.is-leave{background-color:color-mix(in srgb, var(--c) 10%, #17171e)}.zp-bk.is-open{border:1.5px dashed color-mix(in srgb, var(--c) 55%, transparent);background:0 0}.zp-bk.is-open:before{display:none}.zp-bk.is-clash{box-shadow:0 0 0 2px #e8907e}.zp-bk.is-clash:hover{box-shadow:0 0 0 2px #e8907e,0 8px 18px -10px #e8907eb3}.zp-clash-ic{color:#fff;background:#e8907e;border-radius:99px;place-items:center;width:18px;height:18px;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.zp-block.dragging{z-index:20}.zp-block.dragging .zp-bk{cursor:grabbing;transform:scale(1.03);box-shadow:0 14px 30px -12px #22263773}.zp-block.drop-snap .zp-bk{animation:.45s cubic-bezier(.34,1.56,.64,1) zpSnap}@keyframes zpSnap{0%{transform:scale(1.03)}60%{transform:scale(.98)}to{transform:none}}.zp-hide{display:none!important}.zp-src{border:1px solid var(--color-line);background:#ffffffb3;border-radius:99px;align-items:center;gap:6px;height:28px;padding:0 10px;font-size:11.5px;font-weight:600;transition:opacity .2s,background-color .2s,transform .2s;display:inline-flex}.zp-src:hover{background:var(--color-hover);transform:translateY(-1px)}.zp-src i{background:var(--c);border-radius:4px;width:10px;height:10px}.zp-src i.hatched{background:repeating-linear-gradient(135deg, var(--c) 0 2px, transparent 2px 4px);box-shadow:inset 0 0 0 1px var(--c)}.zp-src i.dashed{border:1.5px dashed var(--c);background:0 0}.zp-src.off{opacity:.45}.zp-src.off i{filter:grayscale()}.dark .zp-src{background:#ffffff0a;border-color:#ffffff14}.dark .zp-src:hover{background:#ffffff14}.zp-heat{border-radius:7px;height:26px;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.zp-heat:hover{z-index:2;position:relative;transform:scale(1.18)}.ops-ic{color:var(--c);background:color-mix(in srgb, var(--c) 12%, #fff);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.dark .ops-ic{background:color-mix(in srgb, var(--c) 22%, transparent);color:color-mix(in srgb, var(--c) 40%, #fff)}.ops-accent{position:relative;overflow:hidden}.ops-accent:before{content:"";background:linear-gradient(90deg, var(--c), transparent 70%);opacity:.8;height:3px;position:absolute;inset:0 0 auto}.zf-map{isolation:isolate;background:#e3f1f8;border-radius:20px;position:relative;overflow:hidden}.dark .zf-map{background:#101824}.zf-map svg.base{width:100%;height:100%;position:absolute;inset:0}.zf-map .land{fill:#f7f6f1;stroke:#d9e3e0;stroke-width:1px}.zf-map .park{fill:#e2f1e4}.zf-map .road{fill:none;stroke:#fff;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.zf-map .road2{fill:none;stroke:#ece7da;stroke-width:2.5px;stroke-linecap:round}.zf-map .link{fill:none;stroke:#b9cfda;stroke-width:2px;stroke-dasharray:4 4}.zf-map .route{fill:none;stroke:var(--app);stroke-width:2.5px;stroke-dasharray:6 5;stroke-linecap:round;animation:1.2s linear infinite zfDash}@keyframes zfDash{to{stroke-dashoffset:-22px}}.dark .zf-map .land{fill:#1b2230;stroke:#273142}.dark .zf-map .park{fill:#1a2b25}.dark .zf-map .road{stroke:#2a3446}.dark .zf-map .road2{stroke:#232c3b}.dark .zf-map .link{stroke:#2c3c50}.zf-area{letter-spacing:.06em;text-transform:uppercase;color:#22263761;pointer-events:none;white-space:nowrap;font-size:9.5px;font-weight:700;position:absolute;transform:translate(-50%,-50%)}.dark .zf-area{color:#ffffff4d}.zf-sea{color:#3e89cf8c;pointer-events:none;font-size:10px;font-style:italic;font-weight:600;position:absolute}.zf-pin{z-index:2;cursor:pointer;transition:transform .35s cubic-bezier(.34,1.56,.64,1);position:absolute;transform:translate(-50%,-100%)}.zf-pin:hover{z-index:5;transform:translate(-50%,-100%)scale(1.18)}.zf-pin .p{background:var(--c);color:#fff;border:2px solid #fff;border-radius:50% 50% 50% 4px;place-items:center;width:26px;height:26px;display:grid;transform:rotate(-45deg);box-shadow:0 6px 14px -6px #22263799}.zf-pin .p svg{width:12px;height:12px;transform:rotate(45deg)}.dark .zf-pin .p{border-color:#17171e}.zf-tech{z-index:3;cursor:pointer;transition:transform .35s cubic-bezier(.34,1.56,.64,1);position:absolute;transform:translate(-50%,-50%)}.zf-tech:hover{z-index:5;transform:translate(-50%,-50%)scale(1.15)}.zf-tech .d{color:#fff;border:2px solid #fff;border-radius:99px;place-items:center;width:24px;height:24px;font-size:9px;font-weight:800;display:grid;box-shadow:0 4px 10px -4px #22263799}.dark .zf-tech .d{border-color:#17171e}.zf-tech .ring{border:2px solid var(--c);opacity:.5;border-radius:99px;animation:2s ease-out infinite zfRing;position:absolute;inset:-6px}@keyframes zfRing{0%{opacity:.6;transform:scale(.6)}to{opacity:0;transform:scale(1.5)}}.zf-pin,.zf-tech{animation:.6s cubic-bezier(.34,1.56,.64,1) both zfPop;animation-delay:calc(var(--i,0) * 60ms + .2s)}@keyframes zfPop{0%{opacity:0;scale:.3}}.zf-lane-bk{z-index:1;padding:0 2px;position:absolute;top:8px;bottom:8px}.zf-travel{background:repeating-linear-gradient(90deg,#a3a5ad 0 4px,#0000 4px 7px);height:2px;margin-top:-1px;position:absolute;top:50%}.zf-drop{outline:2px dashed var(--app);outline-offset:-4px;background:color-mix(in srgb, var(--app) 6%, transparent)}.zf-card[draggable=true]{cursor:grab}.zf-card.is-dragging{opacity:.45;transform:scale(.98)}.sla-bad{color:var(--color-coral-700)}.dark .sla-bad{color:#fda79b}.sla-warn{color:var(--color-amber-700)}.dark .sla-warn{color:#fbc968}.ph-slot{aspect-ratio:4/3;background:linear-gradient(135deg,#eef1f5,#e3e8ef);border-radius:16px;position:relative;overflow:hidden}.dark .ph-slot{background:linear-gradient(135deg,#ffffff0f,#ffffff05)}.ph-slot .ph-art{opacity:.9;position:absolute;inset:0}.sig-pad{background-image:radial-gradient(#2226371f 1px,#0000 1px);background-size:14px 14px}.dark .sig-pad{background-image:radial-gradient(#ffffff1a 1px,#0000 1px)}[data-needs-app][hidden],[data-needs-apps][hidden],[data-org-only][hidden]{display:none!important}
