
:root{--ink:#173746;--sub:#687f8a;--brand:#087f80;--brand-dark:#07585e;--navy:#103843;--teal-bg:#e8f6f2;--blue:#297ac8;--blue-bg:#ebf3fb;--line:#e1e9e9;--bg:#f5f8f8;--white:#fff;--warning:#a66414;--warning-bg:#fff7e8;--red:#b84742;--shadow:0 12px 40px rgba(27,66,69,.07);--radius:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}body.large{font-size:18px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button{color:inherit}a{color:var(--brand)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #55b9b6;outline-offset:3px}h1,h2,h3,h4,p{margin:0}h1,h2,h3{line-height:1.2;letter-spacing:-.035em}h1{font-size:43px;font-weight:750}h2{font-size:28px}h3{font-size:18px}small{font-size:12px}svg.icon{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}button .icon{pointer-events:none}[hidden]{display:none!important}.muted{color:var(--sub)}.tiny{font-size:12px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:800;color:var(--brand);margin-bottom:11px}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:13px}.gap{height:20px}.spacer{flex:1}.text-left{text-align:left}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hint{font-size:12px;color:var(--sub);line-height:1.55;margin-top:7px}
#localBanner{background:#fff5dd;color:#785d24;text-align:center;padding:7px 16px;font-size:11px;border-bottom:1px solid #f1e2bd}#localBanner b{font-weight:750}#header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);height:82px;padding:0 4.4%;display:flex;align-items:center;gap:30px;position:relative;z-index:30}.brand{display:flex;gap:11px;align-items:center;background:none;border:0;text-align:left;padding:0;min-width:200px}.logo{width:45px;height:45px;border-radius:14px;background:var(--brand-dark);position:relative;display:flex;align-items:center;justify-content:center;box-shadow:0 5px 12px #087f801a;flex-shrink:0}.logo:before,.logo:after{content:'';background:white;position:absolute;border-radius:2px}.logo:before{width:23px;height:7px}.logo:after{height:23px;width:7px}.brand b{font-size:18px;letter-spacing:-.035em;display:block}.brand small{font-size:11px;color:var(--sub)}.desktopNav{display:flex;gap:6px;margin-left:auto}.navlink{border:0;background:transparent;color:var(--sub);padding:10px 16px;font-size:13px;font-weight:650;border-radius:10px}.navlink.active{background:var(--teal-bg);color:var(--brand-dark)}.head-tools{display:flex;align-items:center;gap:9px}.head-tools .divider{height:23px;background:var(--line);width:1px;margin:0 6px}.iconbtn{border:1px solid var(--line);border-radius:11px;background:white;min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;padding:9px;gap:6px}.iconbtn:hover{background:var(--bg)}.adminlink{font-size:12px;color:var(--sub);border:0;background:none;display:flex;gap:7px;align-items:center;padding:9px}.adminlink .icon{width:16px;height:16px}.button{border:0;background:var(--brand);color:white;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:12px;padding:13px 18px;font-weight:680;font-size:13px;min-height:44px;box-shadow:0 4px 10px #087f8012}.button:hover{background:var(--brand-dark)}.button.secondary{border:1px solid var(--line);background:#fff;color:var(--ink);box-shadow:none}.button.soft{background:var(--teal-bg);color:var(--brand-dark);box-shadow:none}.button.danger{background:#fff0ee;color:var(--red);box-shadow:none}.button.slim{padding:9px 12px;min-height:36px;font-size:12px}.button.full{width:100%}.button.text{padding:8px 0;background:none;box-shadow:none;color:var(--brand);min-height:0}.button .icon{width:17px;height:17px}.pill{display:inline-flex;gap:6px;align-items:center;font-size:10px;font-weight:750;padding:5px 9px;line-height:1.4;border-radius:7px;background:var(--teal-bg);color:var(--brand-dark);white-space:nowrap}.pill .dot{width:5px;height:5px;border-radius:50%;background:currentColor}.pill.blue{background:var(--blue-bg);color:#306fa2}.pill.warn{background:var(--warning-bg);color:var(--warning)}.pill.gray{background:#f0f3f4;color:#6a7d87}.pill.red{background:#fff0ee;color:var(--red)}
.page{max-width:1370px;margin:auto;padding:36px 4.4% 55px}.home-hero{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;padding:16px 0 34px}.hero-copy{max-width:500px}.hero-copy h1{margin:18px 0 16px}.hero-copy p{color:var(--sub);font-size:15px;max-width:400px;line-height:1.75}.hero-copy .highlight{color:var(--brand)}.searchbox{position:relative;background:#fff;display:flex;align-items:center;gap:11px;padding:6px 9px 6px 17px;border:1px solid #d3e1e1;border-radius:14px;box-shadow:0 7px 25px #0a5c6510;margin-top:23px}.searchbox .icon{color:var(--brand);width:21px;height:21px}.searchbox input{min-width:0;border:0;outline:none;background:transparent;padding:12px 0;flex:1;font-size:14px;color:var(--ink)}.searchbox input:focus-visible{outline:none}.searchbox:focus-within{box-shadow:0 0 0 3px #089b961b;border-color:var(--brand)}.keycap{font-size:10px;padding:4px 6px;border:1px solid var(--line);border-radius:5px;color:#8c9b9f}.hero-tags{display:flex;gap:8px;margin-top:13px;flex-wrap:wrap}.tag{border:1px solid var(--line);border-radius:8px;background:white;color:var(--sub);padding:5px 9px;font-size:11px}.tag:hover{border-color:var(--brand);color:var(--brand)}.hero-map{border-radius:22px;background:white;padding:17px;border:1px solid var(--line);box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-map:before{display:none}.map-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 13px}.map-preview-title{font-size:13px;font-weight:750}.map-preview-sub{font-size:10px;color:var(--sub)}.mini-map{height:218px;border:1px solid #eef3f3;background:#f8fbfa;border-radius:13px;overflow:hidden;position:relative}.mini-map > svg{height:100%;width:100%;display:block}.mini-tag{position:absolute;left:12px;bottom:11px;background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 10px #174b4910;padding:6px 10px;font-size:10px;color:var(--brand)}.hero-map-foot{display:flex;justify-content:space-between;align-items:center;margin-top:11px;font-size:11px;color:var(--sub)}.hero-map-foot button{font-size:11px}.mini-floors{display:flex;gap:3px;background:var(--bg);border-radius:9px;padding:3px}.mini-floors button{border:0;background:none;border-radius:6px;padding:5px 8px;font-size:10px;color:var(--sub)}.mini-floors button.on{background:white;box-shadow:0 2px 5px #183c4310;color:var(--brand);font-weight:800}.summary-strip{display:flex;gap:26px;padding:18px 0 24px;border-bottom:1px solid var(--line);margin-bottom:27px}.summary-bit{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--sub)}.summary-icon{width:33px;height:33px;border:1px solid #dfe9e7;border-radius:10px;background:#f0f8f5;display:grid;place-items:center;color:var(--brand)}.summary-icon .icon{width:16px;height:16px}.summary-bit b{color:var(--ink);font-size:13px;display:block}.section-head{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-bottom:17px}.section-head h2{font-size:22px}.filters{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.filter{border:1px solid var(--line);background:white;color:var(--sub);padding:9px 13px;border-radius:10px;display:inline-flex;gap:7px;align-items:center;font-size:12px;white-space:nowrap}.filter .icon{width:15px;height:15px}.filter.on{background:var(--navy);color:white;border-color:var(--navy)}.floor-select{margin-left:auto;background:transparent;border:1px solid var(--line);border-radius:10px;padding:9px 12px;color:var(--sub);font-size:12px}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.roomcard{text-align:left;border:1px solid var(--line);background:white;border-radius:15px;padding:17px;display:flex;gap:13px;align-items:center;min-height:88px;transition:box-shadow .15s,border-color .15s,transform .15s}.roomcard:hover{box-shadow:var(--shadow);border-color:#a9cfca;transform:translateY(-2px)}.roomicon{background:var(--teal-bg);color:var(--brand);width:44px;height:44px;display:grid;place-items:center;border-radius:13px;flex-shrink:0}.roomicon.blue{background:var(--blue-bg);color:var(--blue)}.roomicon.purple{background:#f2edfa;color:#8263ae}.roomicon.gray{background:#f0f3f4;color:#6d8592}.roomname{font-size:13px;font-weight:700;line-height:1.45;color:var(--ink)}.roommeta{font-size:11px;color:var(--sub);margin-top:3px;line-height:1.4}.roomcard .chevron{width:16px;margin-left:auto;color:#9bb2b5;flex-shrink:0}.loadmore{text-align:center;padding:20px}.bottom-note{display:flex;align-items:flex-start;gap:10px;color:var(--sub);font-size:11px;background:#eef4f3;padding:14px 17px;border-radius:12px;margin-top:22px}.bottom-note .icon{width:16px;height:16px}.site-footer{margin-top:28px;display:flex;justify-content:space-between;gap:14px;padding-top:20px;border-top:1px solid var(--line);font-size:10px;color:var(--sub)}.site-footer p{max-width:550px}.empty{padding:35px 20px;text-align:center;color:var(--sub);border:1px dashed #cfdfdd;border-radius:15px;background:#ffffff70}.empty .icon{height:33px;width:33px;color:#89aaa9;margin-bottom:10px}.empty h3{color:var(--ink);font-size:17px;margin-bottom:8px}.empty p{font-size:13px;max-width:420px;margin:0 auto 14px}
/* Interactive patient map */
.map-layout{display:grid;grid-template-columns:340px 1fr;min-height:calc(100dvh - 82px);max-width:1800px;margin:auto}.map-sidebar{background:white;border-right:1px solid var(--line);padding:22px 20px;overflow:auto;max-height:calc(100dvh - 82px)}.map-sidebar .searchbox{margin-top:12px;box-shadow:none;border-radius:11px;padding:2px 10px}.map-sidebar .searchbox input{font-size:12px;padding:10px 0}.map-sidebar h2{font-size:22px;margin-top:12px}.selection-card{padding-top:22px}.selection-card h2{font-size:24px;line-height:1.25;margin-top:13px;margin-bottom:8px}.selection-details{font-size:13px;display:flex;gap:9px;align-items:center;color:var(--sub);margin:8px 0}.selection-details .icon{height:16px;width:16px}.info-line{font-size:12px;border-top:1px solid var(--line);margin-top:17px;padding-top:15px;color:var(--sub)}.select-label{font-size:11px;font-weight:750;display:block;color:var(--ink);margin-bottom:7px}.origin-select{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fbfa;text-align:left;width:100%;margin-top:14px}.origin-select .icon{color:var(--blue)}.origin-select strong{font-size:11px;display:block;font-weight:650}.origin-select small{color:var(--sub);font-size:10px}.route-status{padding:13px;border-radius:12px;background:var(--warning-bg);color:#856936;font-size:12px;margin-top:12px;line-height:1.6}.route-status.neutral{background:#edf5f5;color:#54747a}.step-list{list-style:none;padding:0;margin:18px 0}.route-step{display:flex;gap:11px;position:relative;padding:0 0 17px;cursor:pointer}.step-dot{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;background:var(--teal-bg);color:var(--brand);font-size:11px;font-weight:800}.route-step b{font-size:12px;display:block;margin-top:2px}.route-step p{color:var(--sub);font-size:11px;margin-top:4px}.route-step.active .step-dot{background:var(--brand);color:white}.route-step.active b{color:var(--brand)}.map-stage{position:relative;min-width:0;overflow:hidden;background-color:#f2f6f5;background-image:radial-gradient(#bacfc952 .75px,transparent .75px);background-size:19px 19px;display:flex;flex-direction:column}.map-toolbar{position:absolute;top:20px;left:24px;right:24px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;z-index:8;pointer-events:none}.map-toolbar>*{pointer-events:auto}.floor-switch{display:flex;gap:4px;border:1px solid var(--line);border-radius:13px;background:white;padding:5px;box-shadow:0 6px 15px #183f4810}.floor-switch button{border:0;background:none;border-radius:9px;padding:9px 14px;font-size:12px;color:var(--sub);font-weight:650;white-space:nowrap}.floor-switch .on{background:var(--navy);color:white}.mapmode{font-size:10px;padding:9px 10px;background:white;border:1px solid var(--line);border-radius:10px;max-width:240px;box-shadow:0 4px 8px #10384308}.mapmode .icon{width:13px;height:13px;margin-right:4px}.svgmap{display:block;width:100%;height:calc(100dvh - 82px);min-height:420px;touch-action:none;user-select:none;cursor:grab}.svgmap.dragging{cursor:grabbing}.svgmap.placing{cursor:crosshair}.map-controls{position:absolute;right:23px;bottom:72px;display:flex;flex-direction:column;gap:7px;z-index:8}.map-controls .iconbtn{box-shadow:0 4px 14px #17384610;border:1px solid #d9e5e1;width:42px;height:42px}.map-legend{position:absolute;bottom:20px;left:24px;background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:10px;padding:9px 12px;display:flex;gap:16px;align-items:center;font-size:10px;z-index:8;color:var(--sub)}.legend-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--brand);margin-right:5px}.legend-dot.blue{background:var(--blue)}.legend-dot.orange{background:#d89a39}.map-caption{position:absolute;left:24px;top:81px;z-index:8;font-size:10px;max-width:340px;color:var(--sub);background:rgba(248,251,250,.95);border:1px solid var(--line);border-radius:8px;padding:6px 9px;pointer-events:none}.map-room{cursor:pointer;outline:none}.map-room:focus-visible .room-halo{stroke:#096469;stroke-width:4}.room-label{fill:var(--ink);font-size:11px;font-weight:650;pointer-events:none}.room-label-bg{fill:white;stroke:#d5e3df;stroke-width:.6}.pin-label{display:none}.map-room.selected .pin-label{display:block}.pin-dot{fill:#fff;stroke:#7caaa9;stroke-width:1.5}.map-room.selected .pin-dot{fill:var(--brand);stroke:#fff;stroke-width:2.5}.room-halo{fill:var(--brand);fill-opacity:.08;stroke:none}.map-room:not(.selected) .room-halo{fill-opacity:0}.nav-path{fill:none;stroke:#087f80;stroke-width:4;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px #087f801a)}.nav-path.draft{stroke:#d19631;stroke-dasharray:7 7}.search-results-mini{margin-top:9px;max-height:260px;overflow:auto}.mini-room{border:0;border-bottom:1px solid var(--line);background:white;padding:10px 2px;text-align:left;display:flex;align-items:center;gap:9px;width:100%;font-size:12px}.mini-room:hover{color:var(--brand)}.mini-room small{display:block;color:var(--sub);font-size:10px}.map-mobile-detail{display:none}.checkline{display:flex;gap:9px;align-items:flex-start;color:var(--sub);font-size:12px;margin:13px 0}.checkline input{accent-color:var(--brand);margin-top:3px;width:16px;height:16px}.route-block{padding-top:12px}.mobile-map-title{display:none}
.route-focus .wf-zone-tabs,.route-focus .wf-legendbar,.route-focus .wf-facility-bar{display:none}
.route-focus .wf-canvas{padding-bottom:12px}
.route-focus .map-stage{background-image:none}
.route-focus .map-caption{display:none}
.route-focus .map-sidebar .search-results-mini{max-height:170px}
.route-focus .route-note{background:#eef8f6;color:#245b59;border-color:#cfe6df}
.route-focus .map-room:not(.selected) .pin-dot,.route-focus .map-room:not(.selected) .room-halo{display:none}
.route-focus .map-room .pin-label{display:block}
.route-focus .svgmap{background:linear-gradient(180deg,#f7faf9 0,#eef4f3 100%)}

/* Administrator */
.admin-layout{display:grid;grid-template-columns:232px 1fr;min-height:calc(100dvh - 82px);max-width:1800px;margin:auto}.admin-aside{background:var(--navy);color:#aec3c9;padding:25px 16px;display:flex;flex-direction:column;gap:6px}.admin-aside .eyebrow{color:#83b4b1;margin:3px 13px 14px;font-size:9px}.side-link{display:flex;gap:11px;align-items:center;border:0;background:transparent;color:#b9cfd1;text-align:left;padding:12px 14px;border-radius:10px;font-size:12px}.side-link .icon{width:18px;height:18px}.side-link.active{background:#24505b;color:white;box-shadow:inset 3px 0 #69cbc0}.side-link:hover{background:#ffffff0b}.side-bottom{margin-top:auto;padding:25px 12px 0;font-size:10px;color:#8fadb1}.side-bottom b{color:#d4e3e3;display:block;margin-bottom:5px;font-size:11px}.admin-main{padding:30px 32px 50px;min-width:0}.breadcrumb{font-size:10px;color:var(--sub);margin-bottom:8px}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.admin-heading h1{font-size:29px;margin-bottom:6px}.admin-heading p{font-size:12px;color:var(--sub)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.stat-card{background:white;border:1px solid var(--line);border-radius:14px;padding:16px 18px;display:flex;align-items:center;gap:12px}.stat-card .stat-icon{width:38px;height:38px;background:var(--teal-bg);color:var(--brand);border-radius:11px;display:grid;place-items:center}.stat-card .stat-icon.blue{background:var(--blue-bg);color:var(--blue)}.stat-card .stat-icon.warn{background:var(--warning-bg);color:var(--warning)}.stat-value{font-size:25px;letter-spacing:-.045em;font-weight:750;line-height:1.15}.stat-label{font-size:10px;color:var(--sub);margin-top:3px}.panel{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 4px 15px #1e434103}.panel-pad{padding:22px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 20px;border-bottom:1px solid var(--line)}.panel-head h3{font-size:16px}.panel-head small{color:var(--sub);font-size:11px}.toolbar{padding:14px 18px;display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--line);flex-wrap:wrap}.tool-search{display:flex;align-items:center;gap:9px;min-width:200px;flex:1;max-width:400px;border:1px solid var(--line);border-radius:10px;padding:8px 12px}.tool-search .icon{width:16px;height:16px;color:var(--sub)}.tool-search input{border:0;background:transparent;outline:none;min-width:0;flex:1;font-size:12px;width:100%}.tool-select{padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:white;font-size:11px;color:var(--sub);max-width:200px}.table-wrap{width:100%;overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{background:#f9fbfb;color:#789096;text-align:left;font-size:9px;font-weight:750;letter-spacing:.035em;text-transform:uppercase;padding:12px 18px;white-space:nowrap;border-bottom:1px solid var(--line)}.data-table td{padding:12px 18px;border-bottom:1px solid #edf2f1;vertical-align:middle}.data-table tr:hover td{background:#fbfdfc}.data-table tr:last-child td{border-bottom:0}.td-name{font-weight:650;min-width:190px;max-width:290px;line-height:1.45}.td-name small{font-weight:400;color:var(--sub);display:block;font-size:9px;margin-top:2px}.td-actions{white-space:nowrap}.td-actions .iconbtn{width:30px;min-width:30px;height:30px;padding:6px;border-color:transparent;background:#f2f8f7}.td-actions .iconbtn .icon{width:14px;height:14px}.number-box{padding:3px 7px;display:inline-block;background:var(--bg);border:1px solid var(--line);border-radius:5px;font-size:11px}.table-foot{padding:13px 18px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:var(--sub)}.admin-bottom-info{display:flex;align-items:center;gap:9px;margin-top:18px;font-size:11px;color:var(--sub)}.admin-bottom-info .icon{color:var(--brand);width:15px}.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.qr-card{padding:20px;border:1px solid var(--line);border-radius:17px;background:white;display:flex;flex-direction:column;gap:14px}.qr-card h3{font-size:17px}.qr-placeholder{height:105px;border-radius:12px;background:repeating-linear-gradient(45deg,#f2f7f5,#f2f7f5 6px,#f7faf8 6px,#f7faf8 12px);display:grid;place-items:center;color:#8ab3ad}.qr-placeholder .icon{width:40px;height:40px}.qr-card p{font-size:11px;color:var(--sub)}.qr-card .button{width:100%;font-size:11px}.notice{border:1px solid #eadbbc;background:#fff9ec;border-radius:12px;padding:13px 16px;font-size:12px;color:#8a6c37;margin-bottom:18px;line-height:1.6}.notice.info{background:#edf7f5;border-color:#d7e8e2;color:#547972}.route-card{padding:18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px}.route-card:last-child{border-bottom:0}.route-card h3{font-size:14px;line-height:1.4}.route-card p{font-size:11px;color:var(--sub);margin-top:4px}.route-thumb{background:var(--teal-bg);color:var(--brand);border-radius:12px;display:grid;place-items:center;width:49px;height:49px;flex-shrink:0}.route-card .row{margin-left:auto}.settings-grid{display:grid;grid-template-columns:1fr .65fr;gap:23px;align-items:start}.settings-grid h3{font-size:18px;margin-bottom:16px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;min-width:0}.field label{font-size:11px;font-weight:700;color:#45616a}.field input,.field select,.field textarea{border:1px solid #d8e4e2;border-radius:10px;padding:11px 12px;font-size:13px;min-width:0;width:100%;color:var(--ink);background:white}.field textarea{resize:vertical;min-height:77px}.field input[readonly],.field textarea[readonly]{background:#f3f7f6;color:#7a8e93}.field .hint{margin-top:0;font-size:10px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.switches{padding:12px;background:#f7faf9;border:1px solid var(--line);border-radius:12px;margin:13px 0}.switches .checkline{margin:6px 0;font-size:11px;color:var(--ink)}.switches .checkline+.checkline{margin-top:12px}.settings-grid .button{font-size:12px}.source-box{padding:13px;background:#f4f7f6;border-radius:10px;font-size:10px;color:var(--sub);margin:13px 0;line-height:1.6}.source-box b{display:block;color:#4c696e;margin-bottom:4px}.log-entry{padding:17px 20px;border-bottom:1px solid var(--line);display:flex;gap:14px;align-items:center}.log-entry:last-child{border-bottom:0}.log-entry .log-icon{background:var(--teal-bg);color:var(--brand);width:33px;height:33px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.log-entry .log-icon .icon{width:16px;height:16px}.log-entry b{display:block;font-size:12px}.log-entry p{font-size:10px;color:var(--sub);margin-top:4px}.editor-split{display:grid;grid-template-columns:290px 1fr;min-height:590px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:white}.editor-sidebar{padding:20px;border-right:1px solid var(--line);overflow:auto;max-height:700px}.editor-sidebar h3{margin-bottom:15px}.editor-sidebar .field{margin-bottom:12px}.editor-sidebar .field label{font-size:10px}.editor-sidebar .field input,.editor-sidebar .field select,.editor-sidebar .field textarea{font-size:12px;padding:9px 10px}.editor-sidebar .hint{font-size:10px}.editor-map{position:relative;min-width:0;background-color:#f2f6f5;background-image:radial-gradient(#bfd4cb .65px,transparent .65px);background-size:17px 17px;overflow:hidden}.editor-map .svgmap{height:590px;min-height:0}.editor-map .map-toolbar{top:13px;left:13px;right:13px}.editor-map .map-controls{right:13px;bottom:50px}.editor-map .map-legend{bottom:12px;left:13px;font-size:9px}.editor-map .map-caption{top:72px;left:13px;right:13px}.editor-selected{padding:12px;border-radius:10px;background:var(--teal-bg);color:var(--brand-dark);font-size:12px;margin:12px 0}.editor-selected small{display:block;font-size:10px;margin-top:4px}.segments{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0 12px}.segments button{border:1px solid var(--line);background:white;border-radius:7px;padding:5px 8px;font-size:10px}.segments button.on{background:var(--brand);color:white}.route-edit-heading{margin-bottom:15px}.route-editor{grid-template-columns:320px 1fr}.admin-map-filter{margin-bottom:13px}.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0}.help-card{background:white;border:1px solid var(--line);border-radius:19px;padding:25px}.help-card h3{margin:15px 0 9px}.help-card p{font-size:13px;color:var(--sub)}.help-card .roomicon{height:48px;width:48px}.help-banner{background:var(--navy);color:white;border-radius:19px;padding:25px;display:flex;gap:25px;justify-content:space-between;align-items:center}.help-banner p{color:#b4cecd;font-size:13px;margin-top:7px}.help-banner .button{background:white;color:var(--brand-dark)}
/* Dialogs and notifications */
.modal-shade{position:fixed;inset:0;background:rgba(13,42,48,.36);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:white;border-radius:22px;box-shadow:0 25px 90px #163c4933;width:490px;max-width:100%;max-height:90dvh;overflow:auto;animation:appear .17s ease-out}.modal.wide{width:860px}.modal-header{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;padding:20px 22px;background:white;border-bottom:1px solid var(--line)}.modal-header h2{font-size:21px}.modal-header small{font-size:10px;color:var(--sub);display:block;margin-top:5px}.modal-body{padding:21px 23px}.modal-footer{border-top:1px solid var(--line);padding:15px 22px;display:flex;gap:8px;justify-content:flex-end;position:sticky;bottom:0;background:white;z-index:4}.modal-shade.drawer-shade{justify-content:flex-end;padding:0}.drawer{height:100dvh;max-height:100dvh;border-radius:20px 0 0 20px;width:455px}.modal-map{height:220px;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:12px;position:relative;background:#f2f6f5}.modal-map .svgmap{height:220px;min-height:0}.modal-map .map-controls{right:8px;bottom:8px;flex-direction:row;gap:4px}.modal-map .map-controls .iconbtn{height:29px;width:29px;min-width:29px;padding:5px;border-radius:7px}.modal-map .map-toolbar,.modal-map .map-legend{display:none}.modal-map .map-caption{top:8px;left:8px;font-size:9px;max-width:250px}.coords{font-size:10px;color:var(--sub);margin-top:8px}.modal-error{background:#fff0ee;color:var(--red);font-size:12px;padding:11px 13px;border-radius:9px;margin-bottom:13px;display:none}.modal-error.on{display:block}.qr-large{max-width:205px;margin:20px auto;text-align:center}.qr-large svg{width:100%;height:auto;display:block}.shareurl{border:1px solid var(--line);background:var(--bg);padding:12px;border-radius:10px;word-break:break-all;color:var(--sub);font-size:11px}.success-mark{width:66px;height:66px;background:var(--teal-bg);color:var(--brand);border-radius:22px;display:grid;place-items:center;margin:6px auto 19px}.success-mark .icon{width:30px;height:30px}.center{text-align:center}.modal .center h2{font-size:25px;margin-bottom:11px}.modal .center p{color:var(--sub);font-size:13px}.anchor-choice{width:100%;padding:13px;border:1px solid var(--line);border-radius:11px;margin-bottom:8px;background:white;text-align:left;display:flex;gap:10px;align-items:center}.anchor-choice:hover{border-color:var(--brand);background:#f4faf8}.anchor-choice b{font-size:12px;display:block}.anchor-choice small{font-size:10px;color:var(--sub)}#toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,30px);opacity:0;background:var(--navy);color:white;font-size:12px;padding:13px 18px;border-radius:12px;z-index:150;box-shadow:0 10px 30px #173b4433;max-width:calc(100% - 32px);pointer-events:none;transition:.2s;text-align:center}#toast.on{opacity:1;transform:translate(-50%,0)}#toast.error{background:#9f4840}.boot{padding:110px 25px;text-align:center;color:var(--sub)}.boot h2{color:var(--ink);margin:20px 0 8px}.loader{display:inline-block;height:38px;width:38px;border-radius:50%;border:3px solid #d5eae5;border-top-color:var(--brand);animation:spin .7s linear infinite}.help-text{font-size:13px;line-height:1.75;color:var(--sub)}.kbd-note{font-size:10px;color:var(--sub);margin-top:14px}.print-only,#printSheet{display:none}#mobileNav{display:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes appear{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(min-width:1600px){#header{padding-left:max(4.4%,calc((100vw - 1500px)/2));padding-right:max(4.4%,calc((100vw - 1500px)/2))}.home-hero{gap:90px}}
@media(max-width:1150px){#header{padding:0 24px;gap:15px}.navlink{padding:9px 11px}.adminlink span{display:none}.admin-layout{grid-template-columns:205px 1fr}.admin-main{padding:25px 22px}.stat-grid{grid-template-columns:repeat(2,1fr)}.cards3{grid-template-columns:repeat(2,1fr)}.home-hero{gap:30px}h1{font-size:37px}.room-grid{grid-template-columns:repeat(2,1fr)}.settings-grid{grid-template-columns:1fr}.map-layout{grid-template-columns:300px 1fr}.map-sidebar{padding:18px 17px}.data-table td,.data-table th{padding:12px}.editor-split{grid-template-columns:260px 1fr}.route-editor{grid-template-columns:275px 1fr}}
@media(max-width:800px){#header{height:69px;padding:0 18px;gap:13px}.brand{min-width:0}.brand b{font-size:16px}.brand small{font-size:10px}.logo{width:40px;height:40px;border-radius:12px}.desktopNav{display:none}.head-tools{margin-left:auto;gap:6px}.head-tools .divider{display:none}.head-tools .iconbtn{height:34px;min-width:34px;padding:6px;font-size:11px}.adminlink{padding:7px}.page{padding:24px 20px 90px}.home-hero{grid-template-columns:1fr;gap:24px;padding:0 0 22px}.hero-copy{max-width:none}.hero-copy h1{font-size:36px;max-width:420px;line-height:1.1;margin:15px 0 13px}.hero-copy p{font-size:13px;max-width:430px}.hero-copy .searchbox{margin-top:19px;padding:5px 8px 5px 14px}.searchbox input{font-size:14px;padding:12px 0}.keycap{display:none}.hero-map{padding:14px;border-radius:17px}.mini-map{height:170px}.map-preview-head{padding-bottom:10px}.hero-map-foot{margin-top:8px}.summary-strip{gap:16px;padding:0 0 20px;margin-bottom:23px;justify-content:space-between}.summary-icon{display:none}.summary-bit{font-size:10px}.summary-bit b{font-size:11px}.filters{gap:6px;flex-wrap:nowrap;overflow:auto;padding-bottom:6px;margin-bottom:15px;scrollbar-width:none}.filters .floor-select{margin-left:0;flex-shrink:0}.filter{font-size:11px;padding:8px 11px}.section-head h2{font-size:21px}.section-head .muted{font-size:10px}.room-grid{grid-template-columns:1fr 1fr;gap:9px}.roomcard{padding:13px 11px;gap:9px;min-height:86px}.roomicon{width:35px;height:35px;border-radius:10px}.roomicon .icon{width:17px;height:17px}.roomname{font-size:12px}.roommeta{font-size:10px}.roomcard .chevron{display:none}.bottom-note{font-size:10px}.site-footer{font-size:9px;flex-direction:column}#mobileNav{position:fixed;bottom:0;left:0;right:0;height:calc(62px + env(safe-area-inset-bottom));padding:4px 14px env(safe-area-inset-bottom);background:#fffffff7;border-top:1px solid var(--line);z-index:40;display:flex;justify-content:space-around;align-items:center;backdrop-filter:blur(10px)}#mobileNav button{border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:9px;color:#84979c;width:80px;height:50px;border-radius:12px}#mobileNav button.active{color:var(--brand);font-weight:750}#mobileNav button.active .icon{background:var(--teal-bg);border-radius:6px;box-sizing:content-box;padding:3px;margin:-3px}#mobileNav button .icon{width:20px;height:20px}.map-layout{display:flex;flex-direction:column;height:calc(100dvh - 69px - 62px - env(safe-area-inset-bottom));min-height:490px}.map-sidebar{display:none}.map-stage{flex:1;min-height:300px;overflow:hidden}.svgmap{height:100%;min-height:0;flex:1}.map-toolbar{left:13px;right:13px;top:13px}.floor-switch{padding:4px;border-radius:11px}.floor-switch button{font-size:11px;padding:7px 10px}.mapmode{font-size:9px;padding:7px}.map-toolbar .mapmode{max-width:145px}.map-caption{left:13px;top:64px;max-width:260px;font-size:9px;padding:5px 8px}.map-controls{right:12px;bottom:45px;gap:6px}.map-controls .iconbtn{width:35px;height:35px;min-width:35px;padding:7px;border-radius:10px}.map-legend{left:13px;bottom:12px;padding:6px 9px;font-size:9px;gap:10px}.map-mobile-detail{display:block;padding:14px 17px 16px;border-top:1px solid var(--line);background:white;z-index:9;box-shadow:0 -6px 20px #284d4805;max-height:39%;overflow:auto}.map-mobile-detail h2{font-size:18px;margin:4px 0;line-height:1.3}.map-mobile-detail .roomicon{width:38px;height:38px}.map-mobile-detail p{font-size:11px;color:var(--sub)}.map-mobile-detail .button{padding:10px 13px;min-height:40px;font-size:12px}.map-mobile-detail .origin-select{padding:9px 10px;margin-top:10px}.map-mobile-detail .origin-select strong{font-size:10px}.map-mobile-detail .origin-select small{font-size:9px}.map-mobile-detail .route-status{font-size:10px;margin-top:8px;padding:9px 11px}.map-mobile-detail .step-list{margin:12px 0}.map-mobile-detail .route-step{padding-bottom:10px}.mobile-map-title{display:block;font-size:12px}.map-mobile-detail .route-step p{font-size:10px}.map-mobile-detail .selection-details{font-size:11px}.map-mobile-detail .row.actions{margin-top:11px}.map-mobile-detail .row.actions .button:first-child{flex:1}.admin-layout{display:block;padding-bottom:65px}.admin-aside{padding:10px 12px;flex-direction:row;overflow:auto;position:relative;gap:4px;scrollbar-width:none}.admin-aside .eyebrow,.side-bottom{display:none}.side-link{white-space:nowrap;padding:10px 12px;border-radius:8px;font-size:11px;gap:6px}.side-link .icon{width:15px;height:15px}.side-link.active{box-shadow:none}.admin-main{padding:20px 15px}.admin-heading{gap:10px;align-items:flex-start}.admin-heading h1{font-size:24px}.admin-heading p{font-size:11px}.admin-heading .button{font-size:10px;min-height:35px;padding:8px 10px}.admin-heading .button .icon{width:14px;height:14px}.stat-grid{gap:9px;margin-bottom:19px}.stat-card{padding:12px;gap:9px}.stat-card .stat-icon{width:33px;height:33px;border-radius:10px}.stat-card .stat-icon .icon{width:18px;height:18px}.stat-value{font-size:23px}.stat-label{font-size:9px}.panel-head{padding:14px}.panel-head h3{font-size:14px}.panel-head small{font-size:9px}.toolbar{padding:12px;gap:7px}.tool-search{max-width:none;font-size:12px;width:100%}.tool-select{max-width:none;flex:1;font-size:10px}.data-table{min-width:710px}.data-table td{padding:12px;font-size:11px}.data-table th{font-size:9px;padding:11px 12px}.table-foot{padding:12px;font-size:9px;gap:8px}.cards3{grid-template-columns:1fr}.qr-card{padding:18px;gap:11px}.qr-placeholder{height:80px}.route-card{padding:14px;flex-wrap:wrap;gap:11px}.route-card .row{margin-left:0;width:100%}.route-card .row .button{flex:1}.route-card h3{font-size:13px}.route-card p{font-size:10px}.route-thumb{width:38px;height:38px;border-radius:10px}.settings-grid{gap:17px}.panel-pad{padding:17px}.field label{font-size:11px}.field input,.field select,.field textarea{font-size:16px;padding:11px 12px}.field .hint{font-size:10px}.editor-split{display:flex;flex-direction:column}.editor-sidebar{padding:15px;max-height:none;border-right:0;border-bottom:1px solid var(--line)}.editor-sidebar .field input,.editor-sidebar .field select,.editor-sidebar .field textarea{font-size:16px}.editor-map{height:390px}.editor-map .svgmap{height:390px}.editor-map .map-controls{bottom:45px}.editor-map .map-caption{font-size:9px}.editor-sidebar .button{font-size:12px}.editor-sidebar h3{font-size:18px}.log-entry{padding:15px;flex-wrap:wrap}.log-entry b{font-size:11px}.notice{font-size:11px;padding:12px;margin-bottom:15px}.help-grid{grid-template-columns:1fr;gap:12px;margin:22px 0}.help-card{padding:21px}.help-card h3{font-size:19px}.help-banner{flex-direction:column;align-items:flex-start;gap:18px}.help-banner h3{font-size:20px}.help-banner p{font-size:12px}.modal-shade{padding:12px}.modal{max-height:94dvh;border-radius:18px}.modal-header{padding:17px 18px}.modal-header h2{font-size:20px}.modal-body{padding:18px}.modal-footer{padding:13px 18px}.modal-footer .button{font-size:12px;padding:11px 14px}.drawer{border-radius:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh}.modal-map{height:210px}.modal-map .svgmap{height:210px}.modal-map .map-caption{font-size:9px;top:9px;left:9px}.field-grid{gap:10px}#toast{bottom:85px;font-size:12px;max-width:90%}.table-foot .button{font-size:10px}.large .hero-copy h1{font-size:40px}.large .roomname{font-size:15px}.large .roommeta{font-size:12px}.large .hero-copy p{font-size:16px}.large .filter{font-size:13px}.large .room-grid{grid-template-columns:1fr}.large .roomcard{padding:16px}.large .map-mobile-detail h2{font-size:22px}}
@media(max-width:390px){.room-grid{grid-template-columns:1fr}.hero-copy h1{font-size:33px}.hero-map .mini-map{height:145px}.summary-strip{gap:10px}.page{padding-left:16px;padding-right:16px}.head-tools .adminlink{padding:5px}.brand b{font-size:15px}.brand small{font-size:9px}.logo{width:35px;height:35px}.head-tools{gap:3px}.map-toolbar .mapmode span{display:none}.map-toolbar .mapmode{padding:7px}.map-toolbar .mapmode .icon{margin-right:0}.field-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:0s!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:white}body>*{display:none!important}body>#printSheet{display:block!important;padding:35mm 17mm;max-width:210mm;margin:auto;color:#133e46}#printSheet .print-logo{display:flex;align-items:center;gap:13px}#printSheet h1{font-size:34pt;margin:20mm 0 7mm}#printSheet h2{font-size:21pt}#printSheet p{font-size:14pt;line-height:1.6}#printSheet .qr-print{margin:15mm 0;width:65mm}#printSheet .qr-print svg{width:65mm;height:65mm}#printSheet .print-floor{color:#087f80;font-size:15pt;letter-spacing:.12em;font-weight:800;margin-top:10mm}#printSheet .print-url{font-size:9pt;overflow-wrap:anywhere;color:#6c8085}#printSheet .print-note{font-size:11pt;margin-top:14mm;border-top:1px solid #d4e3df;padding-top:5mm}@page{size:A4;margin:0}}

/* V2: patient-facing map is a readable scheme; administrative plan editing is unchanged. */
:root{--nav-top:82px}
.wf-layout{height:calc(100dvh - var(--nav-top));min-height:530px}
.wf-layout .map-sidebar{max-height:none;height:100%;padding:25px 23px}
.wf-stage{background:#edf4f1;background-image:none;display:flex;flex-direction:column;min-height:0}
.wf-map-head{display:flex;align-items:center;gap:16px;padding:18px 22px 10px;flex-shrink:0}
.wf-map-head .floor-switch{box-shadow:0 4px 12px #173b3b07;flex-shrink:0}
.wf-map-head .floor-switch button{min-height:43px;padding:10px 19px;font-size:13px}
.wf-map-title{margin-left:auto;text-align:right;line-height:1.5}
.wf-map-title b{display:block;font-size:13px;color:#42686d}
.wf-map-title span{font-size:11px;color:#8aa19e}
.wf-map-head>.iconbtn{min-width:44px;height:44px}
.wf-zone-tabs{display:flex;gap:5px;margin:0 22px 10px;flex-shrink:0;overflow:auto;scrollbar-width:none}
.wf-zone-tabs button{background:transparent;border:1px solid transparent;min-height:36px;padding:7px 13px;border-radius:9px;color:#6f8b86;font-size:11px;white-space:nowrap}
.wf-zone-tabs button.on{background:#fff;border-color:#d6e3de;color:#1c605f;box-shadow:0 2px 5px #123b3a04;font-weight:700}
.wf-zone-tabs button:hover{background:#ffffffb5}
.wf-preview-note{display:flex;align-items:center;gap:8px;padding:10px 15px;margin:0 22px 7px;background:#fff7e8;border:1px solid #eddebf;border-radius:10px;color:#8a6a31;font-size:10px;flex-shrink:0;line-height:1.45}
.wf-preview-note>.icon{width:16px;height:16px;flex-shrink:0}
.wf-preview-note>span{flex:1}.wf-preview-note .button{font-size:10px;white-space:nowrap;color:#8a6a31}
.wf-preview-note.is-admin{background:#e7f2fb;border-color:#cce0ee;color:#427799}
.wf-canvas{position:relative;flex:1;min-height:0;overflow:hidden;background:radial-gradient(ellipse at 45% 35%,#f9fcfa 0%,#eff6f2 70%)}
.wf-canvas>.svgmap{height:100%;width:100%;min-height:0;display:block;cursor:grab}
.wf-canvas>.svgmap.dragging{cursor:grabbing}
.wf-room-cell{cursor:pointer}.wf-room-shape{transition:fill .14s ease}
.wf-room-cell:hover>.wf-room-shape{stroke:#087f80;stroke-width:3}
.wf-node{cursor:pointer;outline:none}
.wf-node:focus-visible .wf-marker>rect,.wf-node:focus-visible .wf-marker>circle{stroke:#f0a130;stroke-width:4}
.wf-label{filter:drop-shadow(0 2px 3px #25453e10);pointer-events:none}
.wf-node .wf-hit{pointer-events:all}.wf-node .wf-leader{pointer-events:none}
.wf-canvas-caption{position:absolute;left:24px;top:14px;display:flex;align-items:center;gap:10px;pointer-events:none;opacity:.85}
.wf-floor-badge{display:grid;place-items:center;background:#e4efea;border:1px solid #ceded7;color:#457970;width:40px;height:44px;border-radius:12px;font-size:24px;font-weight:750}
.wf-canvas-caption b{display:block;font-size:12px;color:#426f69}
.wf-canvas-caption small{font-size:10px;display:block;color:#8a9f9a;max-width:230px}
.wf-canvas .map-controls{right:18px;bottom:100px;gap:8px}
.wf-canvas .map-controls .iconbtn{width:44px;height:44px;min-width:44px;border-color:#d2e2da;box-shadow:0 4px 12px #2d655b0a}
.wf-facility-bar{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:5px;background:#ffffffed;border:1px solid #d5e4db;border-radius:16px;padding:6px;box-shadow:0 6px 22px #1a584015;max-width:calc(100% - 40px);overflow:auto;scrollbar-width:none}
.wf-facility-bar button{display:flex;align-items:center;justify-content:center;gap:7px;background:none;border:0;min-height:44px;border-radius:10px;min-width:76px;padding:7px 12px;white-space:nowrap;color:#365f62;font-size:11px;font-weight:650}
.wf-facility-bar button:hover{background:#eaf5f0;color:#087c76}.wf-facility-bar button .icon{width:20px;height:20px}
.wf-legendbar{display:flex;align-items:center;gap:18px;font-size:10px;padding:12px 23px;color:#6e8984;border-top:1px solid #e1ebe5;background:#f6faf7;flex-shrink:0;flex-wrap:wrap}
.wf-legendbar span{display:flex;align-items:center;gap:7px}.wf-legendbar .wf-scale-note{margin-left:auto;font-size:9px;color:#95a7a0}
.wf-dot{width:10px;height:10px;border:1px solid #ffffffb0;border-radius:3px;display:inline-block}
.wf-side-note{display:flex;gap:9px;margin-top:27px;padding:14px 12px;border-radius:13px;background:#f4f8f5;color:#738b82;font-size:11px;line-height:1.7}
.wf-side-note .icon{width:16px;height:16px;margin-top:3px;flex-shrink:0}
.wf-floor-mismatch{border-radius:10px;padding:10px;background:#eef4fb;font-size:11px;color:#527896;line-height:1.6;margin:12px 0}
.wf-floor-mismatch .button{font-size:11px;display:flex}
.wf-poi-icon{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--poi,#0b7c78) 10%,white);color:var(--poi,#0b7c78);flex-shrink:0}
.wf-poi-icon .icon{width:23px;height:23px}
.wf-poi-details .row h2{font-size:23px;margin:5px 0 0}
.wf-poi-details .eyebrow{font-size:9px;letter-spacing:.09em}
.wf-poi-description{font-size:12px;line-height:1.7;color:var(--sub);margin:15px 0}
.wf-related{margin:18px 0}.wf-related>span{font-size:11px;color:var(--sub);display:block;margin-bottom:10px}
.wf-poi-details>.button{margin-top:17px}.wf-poi-details>.hint{margin-top:13px}
.wf-poi-details .route-status{font-size:11px;padding:12px}
.wf-modal-hero{text-align:center;padding:18px 2px}
.wf-modal-hero>.icon{width:50px;height:50px;color:#397f87;margin-bottom:18px}
.wf-modal-hero h3{font-size:23px;margin-bottom:12px;line-height:1.3}
.wf-modal-hero p{font-size:13px;color:var(--sub);line-height:1.7}
.wf-poi-choices{max-height:53dvh;overflow:auto}
.wf-poi-choices .anchor-choice{min-height:75px}.wf-poi-choices .anchor-choice b{font-size:13px;line-height:1.5}
.wf-editor-steps{display:flex;gap:20px;padding:17px 20px;background:white;border:1px solid var(--line);border-radius:14px;margin-bottom:18px;align-items:center}
.wf-editor-steps span{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--sub)}
.wf-editor-steps b{border-radius:50%;width:27px;height:27px;background:var(--teal-bg);color:var(--brand);display:grid;place-items:center;flex-shrink:0}
.wf-admin-poi-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:17px}
.wf-poi-editor{grid-template-columns:310px 1fr}.wf-poi-editor .editor-sidebar{padding:17px;max-height:680px}
.wf-poi-admin-list{display:flex;flex-direction:column;gap:7px}
.wf-poi-admin-card{background:white;border:1px solid #e0e9e5;border-radius:12px;padding:11px 10px;display:flex;gap:10px;align-items:center;text-align:left;width:100%;min-height:72px}
.wf-poi-admin-card:hover{border-color:#80b7ad;background:#f8fbfa}
.wf-poi-admin-card .wf-poi-icon{width:34px;height:34px;border-radius:10px}
.wf-poi-admin-card .wf-poi-icon .icon{width:19px;height:19px}
.wf-poi-admin-card b{font-size:11px;font-weight:650;line-height:1.5;display:block}.wf-poi-admin-card small{font-size:9px;color:#8c977d;display:block;margin-top:3px}
.wf-poi-admin-card>.icon{height:14px;width:14px;margin-left:auto;color:#6a968d;flex-shrink:0}
.wf-poi-map{min-height:640px}.wf-poi-map .svgmap{height:100%;min-height:640px}
.wf-mini-switch{display:flex;gap:3px;padding:3px;background:#edf4f1;border-radius:8px}
.wf-mini-switch button{background:transparent;border:0;font-size:10px;padding:6px 11px;border-radius:6px;min-height:30px}
.wf-mini-switch button.on{background:white;box-shadow:0 2px 5px #1545370c;color:var(--brand);font-weight:700}
.wf-poi-form-map{height:270px}.wf-poi-form-map .svgmap{height:270px}
.wf-poi-form-map .map-caption{display:none}
.wf-details{padding:10px 12px;background:#f6f9f7;border:1px solid #e2ece6;border-radius:10px;font-size:11px;color:var(--sub);margin-top:12px}
.wf-details summary{cursor:pointer;font-weight:650}.wf-details[open] summary{margin-bottom:15px}
.hero-map .mini-map{background:#f1f7f2;border:1px solid #e0eae3}
.hero-map .mini-tag{display:none}
@media(max-width:1150px){.wf-poi-editor{grid-template-columns:265px 1fr}.wf-map-head{padding:15px 17px 9px}.wf-map-title{display:none}.wf-map-head>.iconbtn{margin-left:auto}.wf-legendbar{gap:12px}.wf-legendbar .wf-scale-note{width:100%;margin-left:0}.wf-editor-steps{gap:12px}.wf-editor-steps span{font-size:11px}}
@media(max-width:800px){
 .wf-layout{height:calc(100dvh - var(--nav-top) - 62px - env(safe-area-inset-bottom));min-height:500px}
 .wf-layout .wf-stage{min-height:250px}.wf-layout .map-mobile-detail{max-height:36%;padding:12px 17px 14px;flex-shrink:0;min-height:128px}
 .wf-map-head{padding:9px 13px 5px;gap:8px}.wf-map-head .floor-switch{padding:3px;flex:1;display:flex}
 .wf-map-head .floor-switch button{flex:1;min-height:40px;padding:8px 13px;font-size:12px}
 .wf-map-head>.iconbtn{width:43px;height:43px;min-width:43px;border-radius:12px}
 .wf-zone-tabs{margin:0 12px 5px;gap:3px;justify-content:space-between}.wf-zone-tabs button{min-height:35px;padding:6px 9px;font-size:10px}
 .wf-preview-note{margin:0 12px 5px;padding:7px 9px;font-size:9px;border-radius:8px;gap:6px;line-height:1.4}
 .wf-preview-note>.icon{width:13px;height:13px}.wf-preview-note .button{font-size:9px}
 .wf-canvas-caption{left:15px;top:11px;gap:7px}.wf-floor-badge{width:28px;height:32px;font-size:18px;border-radius:9px}
 .wf-canvas-caption b{font-size:10px}.wf-canvas-caption small{font-size:8px;max-width:175px}
 .wf-canvas .map-controls{right:11px;bottom:64px;gap:6px}.wf-canvas .map-controls .iconbtn{width:37px;height:37px;min-width:37px;border-radius:10px;padding:8px}
 .wf-facility-bar{bottom:9px;border-radius:12px;max-width:calc(100% - 22px);padding:3px;gap:1px;width:max-content}
 .wf-facility-bar button{min-width:59px;min-height:39px;gap:4px;padding:5px 8px;font-size:9px;border-radius:8px}
 .wf-facility-bar button .icon{width:17px;height:17px}.wf-facility-bar button[data-type=stairs]{min-width:70px}
 .wf-legendbar{padding:6px 13px;gap:10px;flex-wrap:nowrap;justify-content:space-between;font-size:8px;line-height:1.3;min-height:27px}
 .wf-legendbar span{gap:4px}.wf-legendbar .wf-scale-note{display:none}.wf-dot{width:8px;height:8px;border-radius:2px}
 .wf-poi-details .row h2{font-size:18px;margin:0}.wf-poi-details>.hint{font-size:9px;margin-top:8px}
 .wf-poi-details .route-status{font-size:10px;padding:9px 10px}.wf-poi-details .selection-details{margin:5px 0}
 .wf-related{margin:9px 0}.wf-related>span{font-size:10px;margin-bottom:6px}.wf-poi-details>.button{margin-top:10px}
 .wf-editor-steps{padding:12px;flex-wrap:wrap;gap:10px}.wf-editor-steps span{font-size:10px}.wf-editor-steps b{width:22px;height:22px}
 .wf-admin-poi-head{align-items:flex-start;flex-direction:column}.wf-admin-poi-head>.button{width:100%}
 .wf-poi-editor .editor-sidebar{max-height:none}.wf-poi-admin-list{max-height:280px;overflow:auto}
 .wf-poi-map{min-height:430px}.wf-poi-map .svgmap{min-height:430px;height:430px}
 .wf-poi-form-map,.wf-poi-form-map .svgmap{height:270px}.wf-poi-form-map .map-controls{flex-direction:row}
 .wf-poi-choices .anchor-choice{min-height:68px}.wf-poi-choices .anchor-choice b{font-size:12px}
 .large .wf-facility-bar button{font-size:11px;min-height:44px}.large .wf-zone-tabs button{font-size:12px}
}
@media(max-width:370px){.wf-zone-tabs button{padding:5px 7px;font-size:9px}.wf-facility-bar button{min-width:53px;padding:5px 6px}.wf-facility-bar button[data-type=stairs]{min-width:64px}.wf-legendbar{font-size:7px}.wf-map-head .floor-switch button{font-size:11px;padding:8px}}
@media(prefers-reduced-motion:reduce){.wf-room-shape{transition:none}}

/* GP37 v5 · patient UI inspired by the supplied mint/blue mockup. No external assets. */
:root{--brand:#078283;--brand-dark:#075e62;--ink:#103d4d;--sub:#668189;--bg:#f3f8f6;--line:#dce9e4;--navy:#114552}
body{background:#f4f8f6}#header{background:#fff;height:78px;box-shadow:0 2px 14px #12483c03}.logo{background:linear-gradient(145deg,#0e7780,#074b58);border-radius:16px}.brand b{font-size:19px}.navlink.active{background:#e5f5ee;color:#086665}#localBanner{font-size:10px;padding:5px 12px;background:#fbf7e9;color:#877857}
.button{border-radius:13px;font-size:13px;min-height:45px;background:linear-gradient(135deg,#078588,#078279);box-shadow:0 5px 14px #057e7318}.button:hover{background:#075f64}.button.secondary,.button.soft,.button.danger,.button.text{box-shadow:none;background:white}.button.soft{background:#e8f6f0}.button.text{background:transparent}.button.danger{background:#fff0ee}
.v5-home{padding-top:30px}.v5-welcome{display:grid;grid-template-columns:1fr 1.18fr;gap:46px;align-items:center;position:relative;padding:28px 0 35px}.v5-welcome-copy{position:relative}.v5-welcome-copy h1{font-size:46px;line-height:1.13;color:#113b4e;margin:12px 0 17px;letter-spacing:-.035em}.v5-welcome-copy p{font-size:14px;color:#6d8790;line-height:1.75}.v5-welcome .eyebrow{font-size:10px;letter-spacing:.1em;color:#3f9587}.v5-big-search{border:1px solid #c9dfd6;box-shadow:0 8px 26px #1c735612;min-height:61px;border-radius:16px;padding:5px 8px 5px 18px;margin-top:23px}.v5-big-search input{font-size:15px}.v5-big-search .iconbtn{border:0;background:#f4f9f6;min-width:34px;width:34px;height:34px}.hero-tags .tag{border:1px solid #dbe8e2;border-radius:10px;font-size:11px;padding:7px 12px}.v5-hero-map{background:linear-gradient(135deg,#f7fcf9,#eaf6f1);border:1px solid #d9e9e1;border-radius:25px;padding:22px;box-shadow:0 15px 40px #1b6b4d07;position:relative;overflow:hidden}.v5-hero-map:before{content:'';position:absolute;border-radius:100% 0 100% 0;width:230px;height:115px;background:#afd9c31e;right:-65px;top:-45px;transform:rotate(-20deg);pointer-events:none}.v5-hero-map .map-preview-head>b{font-size:14px}.v5-hero-map .map-preview-head small{display:block;color:#7c9990;font-size:11px;margin-top:4px}.v5-heart{width:43px;height:43px;border:1px solid #d1e8de;background:#ffffff80;display:grid;place-items:center;border-radius:14px;color:#58a79c}.v5-heart .icon{width:26px;height:26px}.v5-hero-map .mini-map{height:240px;border:0;border-radius:16px;background:#ffffff28}.v5-preview-foot{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:15px}.mini-floors{background:#e1f0e8;border-radius:12px;padding:4px}.mini-floors button{font-size:11px;min-height:32px;padding:6px 10px;border-radius:9px}.mini-floors button.on{color:#076c67}
.v5-journey-strip{display:flex;align-items:center;gap:15px;background:#fff;border:1px solid #daebe1;border-radius:18px;padding:18px 20px;margin:5px 0 33px;box-shadow:0 4px 16px #2b6c4e04}.v5-journey-icon{width:48px;height:48px;background:#e5f5ec;color:#098478;display:grid;place-items:center;border-radius:15px;flex-shrink:0}.v5-journey-icon .icon{width:24px;height:24px}.v5-journey-strip b{display:block;font-size:15px}.v5-journey-strip small{display:block;font-size:12px;margin-top:3px;color:#779186}.v5-journey-strip>.button{margin-left:auto}.section-head h2{font-size:23px}.room-grid{gap:13px}.roomcard{border-radius:17px;padding:17px;min-height:100px;border-color:#deebe4;box-shadow:0 4px 16px #3a694403}.roomcard:hover{transform:translateY(-1px)}.roomname{font-size:14px}.roommeta{font-size:11px;line-height:1.6}.roomicon{width:48px;height:48px;border-radius:15px;background:#e6f6ed}.roomicon.blue{background:#e2f1fc;color:#3284c5}.roomicon.purple{background:#eee8fb;color:#8571b3}.filter{border-radius:10px;font-size:12px}.filter.on{background:#087c7c;border-color:#087c7c}.v5-benefits{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#72958c;font-size:11px;padding:22px 0;margin-top:24px;border-top:1px solid #deebe4}.v5-benefits span{display:flex;align-items:center;gap:9px}.v5-benefits .icon{width:20px;color:#3b9f8c}
/* Full-floor map occupies the available canvas; controls sit outside the map bounds. */
.v5-map-layout{height:calc(100dvh - var(--nav-top,78px));min-height:600px;grid-template-columns:338px 1fr;max-width:none}.v5-map-layout .map-sidebar{padding:23px 20px;min-width:0;background:#fff;height:100%;border-right:1px solid #dfebe5;overflow:auto}.v5-map-stage{background:#f0f8f3;border-left:0;min-width:0}.v5-map-heading{padding:23px 27px 13px;display:flex;align-items:center;gap:12px;flex-shrink:0}.v5-map-heading>span{flex:1;min-width:0}.v5-map-heading b{display:block;font-size:24px;letter-spacing:-.025em}.v5-map-heading small{display:block;font-size:12px;color:#7c9b8d;margin-top:5px;overflow-wrap:anywhere}.v5-map-heading>.iconbtn{background:#fff;border-color:#d7e7de;width:43px;height:43px;flex-shrink:0}.v5-floor-bar{display:flex;align-items:center;gap:10px;padding:0 25px;flex-shrink:0}.v5-floor-bar>.button{margin-left:auto}.v5-floor-bar .floor-switch{box-shadow:0 4px 14px #336e4f05;border-color:#d6e5dd;padding:5px;border-radius:15px}.v5-floor-bar .floor-switch button{min-width:105px;min-height:43px;font-size:14px;padding:10px 15px;position:relative}.v5-floor-bar .floor-switch .on{background:#076b70;border-radius:11px}.v5-floor-dot{display:inline-block;background:#17b995;border:2px solid #fff;border-radius:50%;width:10px;height:10px;margin-left:7px;vertical-align:middle}.v5-map-tools{display:flex;align-items:center;gap:14px;margin:13px 27px 3px;flex-shrink:0;flex-wrap:wrap}.v5-map-tools>button{font-size:11px;min-height:31px;border:0;display:flex;gap:6px;align-items:center;box-shadow:none;padding:5px 9px;border-radius:9px;color:#528875;background:transparent}.v5-map-tools>button.on{background:#fff;border:1px solid #d9e8de;font-weight:700}.v5-map-tools .icon{width:15px;height:15px}.v5-canvas{background:radial-gradient(ellipse at 45% 45%,#fbfdf8,#edf6ef);min-height:200px;flex:1;overflow:hidden;position:relative}.v5-canvas .svgmap{height:100%;min-height:0;display:block;background:transparent;width:100%}.v5-canvas .map-controls{right:15px;bottom:14px}.v5-canvas .map-controls .iconbtn{width:42px;height:42px;min-width:42px;border-radius:13px;background:#ffffffef;box-shadow:0 4px 16px #3567530a}.v5-legend{min-height:30px;display:flex;align-items:center;justify-content:center;gap:22px;flex-shrink:0;padding:6px 15px;color:#728e80;font-size:10px;background:#eff7f1}.v5-legend>span{display:flex;align-items:center;gap:6px}.v5-facilities{display:flex;align-items:center;justify-content:center;gap:9px;margin:8px auto 3px;padding:5px 14px;background:#fff;border:1px solid #dce9e1;border-radius:17px;box-shadow:0 5px 18px #2e674605;max-width:calc(100% - 28px);flex-shrink:0}.v5-facilities button{border:0;background:none;display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;color:#547f74;min-height:40px;padding:5px 12px;border-radius:11px}.v5-facilities button:hover{background:#ecf7f0}.v5-facilities .icon{width:22px;height:22px}.v5-model-note{font-size:9px;color:#88a18f;text-align:center;padding:7px 15px 10px;flex-shrink:0;line-height:1.4}.v5-map-message{font-size:11px;background:#fff6e7;color:#9e7e3b;padding:8px 14px;margin:5px 25px;border-radius:10px}
/* Source-area cells: clickable placeholders, not invented rooms or traversable zones. */
.wf-room-cell{outline:none}.wf-room-cell:focus-visible .wf-room-shape{stroke:#077678!important;stroke-width:5px!important}.wf-room-cell:hover .wf-room-shape{filter:brightness(.98)}.wf-room-cell.v5-unassigned .wf-room-shape{stroke-dasharray:4 2}.wf-zone-labels{opacity:.65}.v5-route-halo{stroke:white;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;fill:none;vector-effect:non-scaling-stroke;pointer-events:none}.v5-route-line{stroke:#07887e;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round;fill:none;vector-effect:non-scaling-stroke;pointer-events:none}.v5-plan-route{stroke-dasharray:none}.v5-endpoint{pointer-events:none}.v5-pulse-ring{opacity:.12;transform-box:fill-box;transform-origin:center;animation:v5-soft-pulse 2.6s ease-out infinite}.v5-endpoint-core{filter:drop-shadow(0 2px 3px #065b6020)}
@keyframes v5-soft-pulse{0%{transform:scale(.8);opacity:.25}70%,100%{transform:scale(1.65);opacity:0}}
.v5-ab-mini{font-style:normal;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;color:#fff;font-weight:800;font-size:11px;flex-shrink:0}.v5-ab-mini.start{background:#328bc9}.v5-ab-mini.end{background:#07887c}.v5-legend .v5-ab-mini{width:19px;height:19px;border-radius:6px;font-size:10px}.v5-selected-heading{display:flex;align-items:center;gap:11px;margin-top:12px}.v5-selected-heading>span:nth-child(2){flex:1;min-width:0}.v5-selected-heading h2{font-size:23px;line-height:1.3;margin:3px 0 0}.v5-selected-heading .eyebrow{font-size:8px;letter-spacing:.09em;margin:0}.v5-selected-heading>.iconbtn{width:32px;height:32px;min-width:32px;padding:6px}.v5-selected-heading>.iconbtn .icon{width:17px}.v5-empty-selection h2{font-size:24px;margin:22px 0 13px}.v5-empty-selection p{font-size:12px;color:#789085;line-height:1.7;margin-bottom:20px}.v5-empty-selection .button{font-size:11px}.selection-card{padding-top:8px}.v5-map-layout .origin-select{margin-top:13px;background:#f5faf7;border-color:#dbeadf;gap:10px;padding:11px}.v5-map-layout .origin-select strong{font-size:12px}.v5-map-layout .origin-select small{font-size:10px}.v5-route-buttons{gap:8px;margin-top:13px}.v5-from-here{display:flex;align-items:center;justify-content:center;gap:7px;padding:12px 0 6px;background:none;border:0;color:#338978;font-size:11px;width:100%}.v5-from-here .icon{width:15px}.v5-staff-list{display:flex;flex-direction:column;gap:9px;margin-top:15px}.v5-staff-person{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #dfebe3;border-radius:13px;background:#fbfdfc}.v5-person-icon{width:31px;height:31px;background:#e8f4ed;display:grid;place-items:center;border-radius:9px;color:#369b86;flex-shrink:0}.v5-person-icon .icon{width:18px;height:18px}.v5-staff-person b{display:block;font-size:12px;line-height:1.5}.v5-staff-person small{display:block;font-size:10px;line-height:1.5;color:#7a8e83;margin-top:3px}.v5-staff-person small .icon{width:12px;height:12px;margin-right:4px}.v5-district{display:inline-block;border-radius:7px;background:#e4f4ed;font-size:10px;color:#168473;padding:3px 7px;margin-top:5px;font-weight:700}.v5-route-state{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:12px 0}.v5-route-state b{font-size:11px;color:#4e8077}.v5-route-state small{font-size:10px;color:#7c968b}.v5-floor-steps{list-style:none;padding:0;margin:15px 0}.v5-floor-steps>li{margin:0 0 14px;border:1px solid #e0ece4;border-radius:13px;overflow:hidden;background:#fafdfb}.v5-step-header{border:0;background:transparent;display:flex;align-items:center;gap:9px;padding:12px;width:100%;text-align:left}.v5-step-header>span:nth-child(2){flex:1;min-width:0}.v5-step-header b{font-size:12px}.v5-step-header small{font-size:10px;color:#7b998b;line-height:1.6;display:block;margin-top:3px}.v5-step-header .icon{width:14px}.v5-step-header.active{background:#edf7f0;color:#08756f}.v5-turns{padding:6px 12px;list-style:none}.v5-turns button{padding:8px 0;border:0;background:none;font-size:11px;text-align:left;display:flex;align-items:center;gap:9px}.v5-turns span{height:20px;width:20px;background:#e8f3ed;border-radius:50%;color:#789286;font-size:9px;display:grid;place-items:center;flex-shrink:0}.v5-turns b{font-weight:500;color:#466c66}.v5-transfer{display:flex;align-items:center;gap:7px;padding:9px 12px;color:#558797;background:#edf6fb;font-size:10px}.v5-transfer .icon{width:17px}.v5-floor-summary{display:flex;gap:6px;margin-top:10px}.v5-instructions{font-size:11px;margin-top:9px}.v5-instructions>summary{cursor:pointer;color:#287c6e;padding:8px 0;font-weight:650}.v5-area-info h2{font-size:24px;line-height:1.2;margin:15px 0}.v5-area-info p{font-size:12px;color:#7a9487;margin:10px 0 15px;line-height:1.6}.v5-area-info .hint{font-size:10px}
/* Origin/destination selector works from any patient screen. */
.v5-planner{margin-top:19px}.v5-planner-point{display:flex;align-items:center;gap:13px;background:#fbfefc;border:1px solid #dceae1;border-radius:16px;padding:17px;text-align:left;width:100%}.v5-planner-point>span:nth-child(2){flex:1}.v5-planner-point small{display:block;font-size:10px;color:#859e91;margin-bottom:4px}.v5-planner-point b{font-size:14px;line-height:1.6}.v5-planner-point .v5-ab-mini{width:32px;height:32px;border-radius:11px;font-size:13px}.v5-planner-point>.icon{width:15px;height:15px}.v5-planner-swap{height:22px;display:flex;align-items:center;justify-content:flex-end;margin-right:17px;position:relative;z-index:2}.v5-planner-swap .iconbtn{border-radius:50%;background:white;width:31px;height:31px;min-width:31px;padding:6px}.v5-planner-swap .icon{width:16px}.v5-point-filter{display:flex;align-items:center;gap:10px;margin:15px 0;font-size:10px;color:#86998f}.v5-point-filter select{border:1px solid #dbe7df;border-radius:10px;padding:9px 12px;font-size:12px;color:#466e61;background:white}.v5-point-list{max-height:49dvh;overflow:auto}.v5-point-choice{border:1px solid #e0ebe4;min-height:80px}.v5-point-choice>span:nth-child(2){flex:1;min-width:0}.v5-point-choice b{font-size:13px;line-height:1.5}.v5-point-choice small{font-size:10px;line-height:1.6}.v5-point-choice>.icon{width:14px}.v5-point-choice .roomicon{width:37px;height:37px;border-radius:12px}.v5-point-choice .roomicon .icon{width:19px;height:19px}
/* Inline administrative employees, district only for VOP. */
.v5-form-note{padding:12px 14px;background:#eef7f1;color:#5d8e77;border:1px solid #dceade;border-radius:11px;font-size:11px;margin-bottom:20px;line-height:1.6}.v5-employee-editor{padding:15px;background:#f7fbf8;border:1px solid #dceae1;border-radius:14px;margin:15px 0 20px}.v5-employee-editor h3{font-size:16px}.v5-employee-editor>.row{gap:7px}.v5-employee-editor .button{font-size:10px;min-height:32px}.v5-employee-row{border:1px solid #d9e7df;border-radius:12px;padding:14px;margin-top:13px;background:white}.v5-employee-row>.row{font-size:12px;margin-bottom:13px}.v5-employee-row .iconbtn{width:30px;height:30px;min-width:30px;border:0;background:#fcf0ed;color:#bc7970}.v5-employee-row .iconbtn .icon{width:15px}.v5-no-employees{padding:15px 0;color:#8b9b91;font-size:11px}.v5-room-edit-map{height:250px}.v5-room-edit-map .svgmap{height:250px}
@media(min-width:1500px){.v5-canvas{margin:0 15px}.v5-map-heading{padding-top:29px}.v5-hero-map .mini-map{height:280px}}
@media(max-width:1150px){.v5-map-layout{grid-template-columns:300px 1fr}.v5-map-heading b{font-size:21px}.v5-welcome{gap:27px}.v5-welcome-copy h1{font-size:39px}.v5-hero-map{padding:18px}.v5-hero-map .mini-map{height:205px}.v5-floor-bar .floor-switch button{min-width:86px;font-size:13px}.v5-facilities{gap:3px}.v5-facilities button{padding:5px 9px}}
@media(max-width:800px){
 #header{height:64px;padding:0 17px}.brand b{font-size:16px}.brand small{font-size:9px}.logo{width:37px;height:37px;border-radius:13px}.brand{gap:9px}.v5-home{padding:23px 18px 80px}.v5-welcome{display:block;padding:0}.v5-desktop-break{display:none}.v5-welcome-copy h1{font-size:32px;margin:12px 0 11px;max-width:340px}.v5-welcome-copy p{font-size:12px;line-height:1.7}.v5-welcome-copy .eyebrow{font-size:9px}.v5-big-search{margin-top:18px;min-height:55px;padding-left:13px;border-radius:14px}.v5-big-search input{font-size:14px}.hero-tags{gap:7px;margin-top:11px}.hero-tags .tag{font-size:10px;padding:6px 11px}.v5-hero-map{margin-top:22px;border-radius:19px;padding:15px}.v5-hero-map .map-preview-head{padding-bottom:9px}.v5-hero-map .map-preview-head b{font-size:13px}.v5-hero-map .map-preview-head small{font-size:10px}.v5-heart{width:33px;height:33px;border-radius:11px}.v5-heart .icon{width:20px;height:20px}.v5-hero-map .mini-map{height:148px}.v5-preview-foot{gap:8px;margin-top:9px}.v5-preview-foot .button{font-size:10px;min-height:28px;padding:4px 0}.v5-preview-foot .button .icon{width:13px}.mini-floors button{padding:4px 7px;min-height:28px;font-size:10px}.v5-journey-strip{padding:13px;gap:10px;margin:17px 0 26px;flex-wrap:wrap;border-radius:16px}.v5-journey-icon{width:39px;height:39px;border-radius:12px}.v5-journey-icon .icon{width:21px}.v5-journey-strip b{font-size:13px}.v5-journey-strip small{font-size:10px;max-width:230px}.v5-journey-strip>.button{font-size:11px;min-height:39px;padding:9px 13px;flex:1;margin:3px 0 0 49px}.section-head h2{font-size:21px}.room-grid{grid-template-columns:1fr;gap:10px}.roomcard{min-height:86px;padding:14px;gap:13px}.roomicon{width:44px;height:44px;border-radius:13px}.roomname{font-size:14px}.roommeta{font-size:11px}.roomcard .chevron{display:block;width:15px}.v5-benefits{font-size:9px;gap:13px;align-items:flex-start;flex-wrap:wrap;padding:15px 0}.v5-benefits .icon{width:17px;height:17px}.v5-benefits span{gap:6px}
 .v5-map-layout{display:flex;flex-direction:column;height:calc(100dvh - var(--nav-top,64px) - 62px - env(safe-area-inset-bottom));min-height:570px;width:100%;overflow:hidden;max-width:100vw}.v5-map-layout .map-sidebar{display:none}.v5-map-layout .v5-map-stage{flex:1;min-height:365px;overflow:hidden}.v5-map-heading{padding:12px 15px 9px;gap:8px}.v5-map-heading b{font-size:16px;letter-spacing:-.01em}.v5-map-heading small{font-size:9px;margin-top:3px;line-height:1.5;max-height:30px;overflow:auto}.v5-map-heading>.iconbtn{width:34px;height:34px;min-width:34px;border-radius:11px;padding:7px}.v5-floor-bar{padding:0 13px;gap:7px}.v5-floor-bar .floor-switch{flex:1;border-radius:13px;padding:4px;gap:2px}.v5-floor-bar .floor-switch button{flex:1;min-width:0;min-height:39px;font-size:12px;padding:8px 9px;border-radius:9px}.v5-floor-dot{width:8px;height:8px;margin-left:4px;border-width:1.5px}.v5-floor-bar>.button{min-height:46px;font-size:10px;padding:8px;gap:4px;border-radius:12px;min-width:60px}.v5-floor-bar>.button .icon{width:15px;height:15px}.v5-map-tools{margin:7px 14px 1px;gap:4px;justify-content:space-between}.v5-map-tools>button{font-size:9px;padding:4px 7px;min-height:28px;gap:4px}.v5-map-tools>button .icon{width:12px;height:12px}.v5-canvas{min-height:170px}.v5-canvas .map-controls{bottom:9px;right:9px;gap:4px}.v5-canvas .map-controls .iconbtn{width:30px;height:30px;min-width:30px;border-radius:10px;padding:6px}.v5-canvas .map-controls .icon{width:17px;height:17px}.v5-legend{font-size:8px;gap:9px;padding:5px 8px;min-height:23px;justify-content:space-evenly}.v5-legend .wf-dot{width:7px;height:7px}.v5-legend>span{gap:4px}.v5-facilities{padding:3px 7px;border-radius:13px;gap:1px;margin-top:4px;max-width:calc(100% - 22px);width:calc(100% - 22px);justify-content:space-around}.v5-facilities button{font-size:8px;padding:4px 4px;min-width:42px;gap:3px;min-height:33px;flex-direction:column}.v5-facilities .icon{width:16px;height:16px}.v5-model-note{font-size:8px;padding:4px 10px 6px;line-height:1.4}.v5-map-layout .map-mobile-detail{min-height:140px;max-height:34%;padding:13px 16px 16px;flex-shrink:0;box-shadow:0 -3px 20px #476d5807;background:#fff;overflow:auto;border-radius:19px 19px 0 0;border-top:1px solid #dfebe4}.v5-map-layout .v5-empty-selection h2{font-size:19px;margin:2px 0 8px}.v5-map-layout .v5-empty-selection p{font-size:11px;margin-bottom:11px;line-height:1.5}.v5-empty-selection .row{gap:7px}.v5-empty-selection .button{font-size:10px;min-height:37px;padding:8px 10px}.v5-selected-heading{margin-top:0;gap:9px}.v5-selected-heading h2{font-size:20px;margin:2px 0 0}.v5-selected-heading .roomicon{width:36px;height:36px;border-radius:11px}.v5-selected-heading .eyebrow{font-size:7px}.v5-selected-heading>.iconbtn{width:31px;height:31px}.v5-map-layout .selection-details{font-size:11px;margin:5px 0 7px}.v5-map-layout .origin-select{margin-top:9px;padding:9px 10px}.v5-map-layout .origin-select strong{font-size:10px}.v5-map-layout .origin-select small{font-size:9px}.v5-ab-mini{width:23px;height:23px}.v5-route-buttons{margin-top:9px}.v5-map-layout .button{font-size:11px;min-height:38px;padding:9px 12px}.v5-from-here{font-size:10px}.v5-route-state{margin:7px 0}.v5-route-state b{font-size:10px}.v5-route-state small{font-size:9px}.v5-staff-list{margin-top:8px;gap:6px}.v5-staff-person{padding:10px;border-radius:11px}.v5-staff-person b{font-size:11px}.v5-staff-person small{font-size:9px}.v5-no-stairs{margin-top:0}.checkline{font-size:10px;margin:10px 0}.v5-area-info h2{font-size:19px;margin:6px 0}.v5-area-info p{font-size:10px;margin:6px 0}.v5-floor-summary .button{font-size:10px;min-height:31px;padding:6px 10px}.v5-map-message{font-size:9px;margin:5px 12px;padding:7px 10px}
 .modal-header h2{font-size:20px;line-height:1.3}.modal-header{padding:17px}.v5-planner-point{padding:13px;border-radius:13px;gap:10px}.v5-planner-point b{font-size:13px}.v5-planner-point small{font-size:9px}.v5-planner-point .v5-ab-mini{width:29px;height:29px;border-radius:10px}.v5-point-filter select{font-size:14px;padding:9px}.v5-point-list{max-height:48dvh}.v5-point-choice b{font-size:12px}.v5-point-choice small{font-size:10px}.v5-point-choice .roomicon{width:33px;height:33px}.v5-point-choice{padding:11px;gap:9px}.v5-employee-editor{padding:11px}.v5-employee-editor h3{font-size:14px}.v5-employee-editor .button{font-size:9px;padding:8px}.v5-employee-row{padding:11px}.v5-room-edit-map,.v5-room-edit-map .svgmap{height:225px}.v5-employee-row .field input,.v5-employee-row .field select{font-size:16px}
}
@media(max-width:360px){.v5-map-heading b{font-size:14px}.v5-map-tools>button{font-size:8px}.v5-legend{font-size:7px;gap:4px}.v5-home{padding-left:15px;padding-right:15px}.v5-welcome-copy h1{font-size:29px}.v5-floor-bar>.button{min-width:48px}.v5-floor-bar .floor-switch button{font-size:11px;padding:6px}.v5-journey-strip>.button{margin-left:0}.v5-benefits{font-size:8px}}
@media(prefers-reduced-motion:reduce){.v5-pulse-ring{animation:none;opacity:.15;transform:none}*{scroll-behavior:auto!important}}

.v5-compact-title{display:flex;align-items:center;gap:9px}.v5-compact-title>span{flex:1}.v5-compact-title small{font-size:8px;letter-spacing:.06em;color:#759386;text-transform:uppercase}.v5-compact-title h2{font-size:19px!important;margin:2px 0 4px!important;line-height:1.2}.v5-compact-title .iconbtn{width:30px;height:30px;min-width:30px;padding:6px;border-radius:10px}.v5-compact-origin{display:flex;align-items:center;gap:8px;font-size:11px;color:#416d62;margin:7px 0}.v5-compact-origin>span:nth-child(2){flex:1;min-width:0}.v5-compact-origin small{display:block;font-size:8px;color:#83a092;margin-top:2px}.v5-compact-route .v5-floor-summary{margin-top:7px}.v5-compact-route .v5-route-buttons{margin-top:8px;display:flex}.v5-compact-route .v5-route-buttons .button{font-size:10px;min-height:35px;padding:7px 10px;flex:1}
