/* One shared time surface: fixed availability bars, one movable request.
   Labels and review buttons stay outside the perspective plane. */
[data-workflow-step=matches] .wf-action-area{transform:none}
.wf-map{--map-label:100px;--map-row:72px}
.studio-document .wf-map h4{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;font-size:21px}
.wf-map h4 small{max-width:85px;font-size:9px;line-height:1.3;letter-spacing:.1em;font-weight:500}
.wf-map-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0;border:0;margin:0}
.wf-map-switch legend{font-size:13px;margin-bottom:9px}
.wf-map-switch label{display:flex;gap:8px;align-items:center;min-height:52px;padding:8px 10px;border:1px solid #c6bdb9;border-radius:7px;cursor:pointer;box-sizing:border-box}
.wf-map-switch label:has(:checked){background:#692470;color:#fff9f6;border-color:#692470}
.wf-map-switch input{accent-color:#af6727;width:17px;height:17px;flex-shrink:0;margin:0}
.wf-map-switch span{font-size:13px;line-height:1.3}.wf-map-switch small{display:block;font-size:11px;margin-top:3px}
.studio-document :is(.wf-surface,.fc-work) .wf-map-effect{font-size:13px;line-height:1.5;margin:14px 0 20px;padding-left:10px;border-left:2px solid #ac5e0d;min-height:40px}
.studio-document :is(.wf-surface,.fc-work) .wf-map-lock{font-size:13px;line-height:1.5;padding:10px;background:#f3e9e5;margin:0 0 14px}
.wf-map-axis{display:flex;justify-content:space-between;margin:0 0 12px var(--map-label);font-size:10px;color:#77487b}
.wf-map-layout{display:grid;grid-template-columns:var(--map-label) minmax(0,1fr);align-items:start}
.wf-map-name{height:var(--map-row);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;box-sizing:border-box;padding-right:9px}
.wf-map-name>b{font-size:14px}.wf-map-name>small{font-size:11px;line-height:1.3;margin-top:2px;color:#77487b}
.wf-map-name button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:44px;padding:3px 9px;margin-left:-9px;border:1px solid transparent;border-radius:5px;background:transparent;color:#4f1f53;font:inherit;cursor:pointer;line-height:1.3}
.wf-map-name button b{font-size:14px}.wf-map-name button span{font-size:11px;color:#86490d;text-decoration:underline;text-underline-offset:3px}
.wf-map-name button:hover{background:#efe6e1;border-color:#ce9dd2}
.wf-map-perspective{perspective:1000px;padding:0 2px 15px 0}
.wf-map-board{position:relative;height:calc(var(--map-row)*4);transform:rotateX(12deg) rotateY(-3deg);transform-origin:50% 40%;transform-style:preserve-3d}
.wf-map-floor{position:absolute;inset:0;border:1px solid #e0aee3;border-radius:8px;background:linear-gradient(90deg,#f5ece7 calc(50% - 1px),#e0b0e4 50%,#f5ece7 calc(50% + 1px));box-shadow:0 6px 0 #db9ce0,0 11px 0 #e2d9d5,3px 24px 24px -12px #5c206266}
.wf-map-lane{height:var(--map-row);position:relative;box-sizing:border-box;border-bottom:1px solid #e5b3e94d;transform:translateZ(5px)}
.wf-map-lane:last-child{border-bottom:0}
.wf-map-time{position:absolute;left:0;top:calc(50% - 9px);width:50%;height:18px;border-radius:3px;background:linear-gradient(175deg,#eea5f4,#b36ab9 50%,#894390);border-top:1px solid #ebd8ed;border-bottom:5px solid #722c79;box-sizing:border-box;box-shadow:0 7px 6px -3px #61256766}
.wf-map-time.afternoon{left:50%}.wf-map-time.all-day{width:100%}
.wf-map-lane[data-overlap=false] .wf-map-time{background:linear-gradient(#d6cdc9,#c298c5);border-top-color:#e9e0dc;border-bottom-color:#a77aaa}
.wf-map-request{position:absolute;inset:0 auto 0 0;width:50%;box-sizing:border-box;border:2px solid #ae6012;border-bottom-width:5px;border-radius:7px;transform:translateX(0%) translateZ(20px);background:#fdb0740e;box-shadow:0 7px 12px -5px #93551e55;pointer-events:none}
[data-map-window=afternoon] .wf-map-request{transform:translateX(100%) translateZ(20px)}
.wf-map-request>span{position:absolute;top:-11px;left:5px;padding:3px 5px;border-radius:3px;background:#9a540d;color:#fff9f6;font-size:8px;line-height:1.2;letter-spacing:.05em;white-space:nowrap}
.wf-map-legend{display:flex;flex-wrap:wrap;gap:7px 16px;font-size:10px;margin:10px 0 12px;color:#77487b}
.wf-map-legend span::before{content:'';display:inline-block;width:14px;height:7px;margin-right:6px;background:#a65ead;border-bottom:3px solid #722c79}
.wf-map-legend span:last-child::before{background:none;border:1px solid #9a540d;height:9px}
.studio-document :is(.wf-surface,.fc-work) .wf-map-help{font-size:13px;line-height:1.5;margin:0}
.wf-map-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:600px){
 .wf-map{--map-label:78px;--map-row:62px}
 .studio-document .wf-map h4{font-size:19px;margin-bottom:12px}
 .wf-map h4 small{font-size:8px;max-width:70px}
 .wf-map-switch label{padding:7px;gap:6px}
 .wf-map-switch span{font-size:12px}.wf-map-switch small{font-size:10px}
 .studio-document :is(.wf-surface,.fc-work) .wf-map-effect{font-size:13px;margin:12px 0 17px;min-height:36px}
 .wf-map-name button b,.wf-map-name>b{font-size:13px}
 .wf-map-name>small{font-size:10px}
 .wf-map-board{transform:rotateX(10deg) rotateY(-2deg)}
 .wf-map-axis{font-size:9px}
}
@media(max-width:350px){
 [data-workflow-step=matches] .wf-action-area{padding:14px 12px}
 .wf-map{--map-label:70px}
 .wf-map-switch label{gap:5px;padding:7px 5px}
 .wf-map-switch input{width:15px;height:15px}
 .wf-map-request>span{font-size:7px;left:2px;padding:3px}
}
@media(prefers-reduced-motion:reduce){
 .wf-map-board,.wf-map-request{transform:none!important}
 [data-map-window=afternoon] .wf-map-request{left:50%}
}
