:root{font-family:'Segoe UI',Arial,sans-serif;color:#253342;background:#edf1f4;font-size:16px;--red:#b71939;--line:#dce3e8;--muted:#647483}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,.button{border:1px solid var(--line);background:#fff;color:inherit;padding:10px 15px;border-radius:7px;cursor:pointer;font-size:.875rem;min-height:42px}button:hover,.button:hover{background:#f3f6f8}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #138ba8;outline-offset:2px}.primary,button.active{background:var(--red);border-color:var(--red);color:#fff}.primary:hover,button.active:hover{background:#99132f}button:disabled{opacity:.5;cursor:not-allowed}a{color:#9d1734;text-decoration:none}a:hover{text-decoration:underline}header{height:88px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:0 26px}.brand{margin-right:auto}.brand b{font-size:1.8rem;letter-spacing:-1px;font-weight:750}.brand b span{font-size:1.05rem;margin-left:9px;letter-spacing:0;color:var(--red)}.brand small{display:block;color:var(--muted);font-size:.8rem;margin-top:0}.dates{margin-right:28px;font-size:.9rem}.dates span{color:var(--muted);margin-left:5px}main{height:calc(100dvh - 88px);display:grid;grid-template-columns:268px minmax(0,1fr) 304px}aside{background:white;overflow:auto}#left{display:flex;flex-direction:column;border-right:1px solid var(--line);padding:22px 18px 0}.searchbox{border:1px solid #b9c6d1;display:flex;align-items:center;gap:6px;padding:0 10px;border-radius:7px}.searchbox span{font-size:25px}.searchbox input{width:100%;padding:13px 0;border:0;background:transparent;font-size:.9rem;outline:0}.field{display:block;font-size:.875rem;color:#536576;margin:14px 0}.field input,.field select,.field textarea{display:block;width:100%;background:#fff;border:1px solid #bdc9d2;border-radius:6px;padding:10px;color:#253342;margin-top:6px}.field textarea{min-height:80px}.subtle{font-size:.8rem;color:var(--muted);padding:4px 0 12px}#list{flex:1;overflow:auto;min-height:0;margin:0 -8px}.result{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #edf0f3;background:none;border-radius:0;padding:14px 9px}.result strong{display:block;font-size:.86rem;font-weight:600;line-height:1.4}.result small{color:var(--muted);display:block;font-size:.78rem;margin-top:5px}.result.selected{background:#f9e9ed;border-left:3px solid var(--red)}footer{font-size:.75rem;color:var(--muted);line-height:1.8;padding:16px 0;border-top:1px solid var(--line)}#workspace{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0}.mapbar{padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:14px;background:#f8fafb;border-bottom:1px solid var(--line)}h1{font-size:1.35rem;margin:0;font-weight:650;letter-spacing:-.4px}#subtitle{font-size:.8rem;color:var(--muted);margin:5px 0 0}.segmented{display:flex;gap:3px;background:#e4eaf0;padding:3px;border-radius:8px}.segmented button{border:0;padding:8px 13px;min-height:36px;background:transparent}.segmented button.active{background:#fff;color:var(--red);box-shadow:0 1px 4px #26334222}#map{flex:1;min-height:0;position:relative;overflow:hidden;background:#e9eef2}#plan,#scene{width:100%;height:100%;display:block;touch-action:none}#scene[hidden],#plan[hidden],[hidden]{display:none!important}#plan .stand{fill:#b7193918;stroke:#7c2639;stroke-width:1;cursor:pointer}#plan .stand:hover,#plan .stand.selected{fill:#b7193970;stroke:#b71939;stroke-width:4}#plan .hall{fill:#b7193925;stroke:#b71939;stroke-width:2;cursor:pointer}#plan .hall:hover{fill:#b7193960}.zoom{position:absolute;right:18px;bottom:22px;display:flex;flex-direction:column;box-shadow:0 3px 18px #1a30401a;border-radius:8px;overflow:hidden}.zoom button{border-radius:0;border-bottom:1px solid var(--line);font-size:21px;width:42px;padding:5px}#hint{position:absolute;top:15px;left:18px;background:#fffffff2;box-shadow:0 2px 12px #26334215;padding:9px 13px;border-radius:6px;max-width:75%;font-size:.8rem;pointer-events:none}#loading{position:absolute;inset:0;display:grid;place-items:center;background:#edf1f4;font-size:.9rem}.bottom{padding:12px 16px;background:#fff;display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line)}.bottom button{font-size:.8rem;padding:9px 10px}#status{font-size:.75rem;color:#647483;flex-basis:100%}#right{border-left:1px solid var(--line);padding:26px 23px}.empty h2{font-size:1.5rem;font-weight:550;line-height:1.25;margin-top:20px}.empty p,.note{font-size:.875rem;color:var(--muted);line-height:1.7}.tileicon{font-size:40px;color:var(--red)}.numbers{display:grid;grid-template-columns:auto 1fr;gap:10px 16px;align-items:center;margin:30px 0}.numbers b{font-size:1.9rem;font-weight:450}.numbers span{font-size:.85rem;color:var(--muted)}.note{border-top:1px solid var(--line);padding-top:18px;font-size:.78rem}.company-name{font-size:1.6rem;line-height:1.2;overflow-wrap:anywhere;margin:16px 0}.badge{display:inline-block;background:#f6e2e8;color:#981931;border-radius:4px;padding:6px 9px;font-size:.8rem}.company-photo{width:100%;height:154px;object-fit:cover;border-radius:8px;margin:18px 0 6px}.company-data{font-size:.875rem;line-height:1.6;overflow-wrap:anywhere}.company-data dt{color:var(--muted);font-size:.78rem;margin-top:19px}.company-data dd{margin:4px 0}.wide{width:100%;margin-top:12px}.other-brand{font-size:.8rem;margin-top:12px}#routebar{padding:14px 20px;background:#fff4e2;border-top:1px solid #e6c898;font-size:.85rem;line-height:1.6}#routebar button{float:right;margin-left:6px}#touch{position:absolute;left:18px;bottom:20px;text-align:center}#touch button{width:48px;height:48px;margin:2px;background:#fffffff0;font-size:20px}dialog{border:0;border-radius:12px;box-shadow:0 15px 90px #10283b55;max-width:570px;width:calc(100% - 28px);max-height:90dvh;padding:30px;color:#253342}dialog::backdrop{background:#1c344766}dialog h2{font-size:1.45rem;margin-top:6px}dialog h3{font-size:1.05rem;margin-top:24px}dialog p{font-size:.88rem;line-height:1.6;color:#566674}dialog hr{border:0;border-top:1px solid var(--line);margin:26px 0}.close{float:right;border:0;font-size:24px;padding:0;min-height:30px}.actions{display:flex;gap:8px;flex-wrap:wrap}.cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}#toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);max-width:90%;border-radius:8px;padding:12px 20px;color:#fff;background:#253342;z-index:10;font-size:.9rem;display:none}#anchorInfo,#scaleInfo{font-size:.8rem;line-height:1.5;margin-top:10px;color:#637180}#plan text{pointer-events:none}.noscript{padding:20px}@media(max-width:1150px){main{grid-template-columns:220px minmax(0,1fr) 250px}.mapbar{padding:16px 12px}#right{padding:20px 16px}.segmented button{padding:8px 10px}}@media(max-width:850px){header{height:70px;padding:0 16px}.dates{display:none}.brand b{font-size:1.5rem}main{height:calc(100dvh - 70px);grid-template-columns:1fr;grid-template-rows:auto minmax(340px,1fr) auto}#left{padding:10px 12px;display:grid;grid-template-columns:1fr 130px;gap:8px;overflow:visible}#left .field{margin:0;font-size:0}#left select{font-size:.85rem;margin:0;height:45px}#left #count,#left footer{display:none}#list{position:absolute;top:126px;left:12px;right:12px;max-height:220px;z-index:3;background:#fff;box-shadow:0 6px 20px #172c4433;display:none}#left:focus-within #list{display:block}#workspace{min-height:340px}#right{max-height:28dvh;padding:15px 20px;border-top:1px solid var(--line)}#right .empty{display:none}.company-photo{display:none}.company-name{font-size:1.25rem;margin:6px 0}.company-data{display:grid;grid-template-columns:1fr 1fr;gap:8px}.company-data dt{margin:3px 0}.company-data dd{margin:3px 0}.mapbar{padding:10px 12px}h1{font-size:1.1rem}.bottom{padding:8px 12px}.bottom button{min-height:38px}#subtitle{font-size:.75rem}#right .note{display:none}.wide{width:auto;margin:6px 6px 0 0}.bottom #status{font-size:.7rem}#routebar{font-size:.78rem;padding:8px 12px}}

.phone-help{font-size:.85rem;margin-right:12px}@media(max-width:850px){.phone-help{font-size:.75rem;max-width:74px;margin-right:0}header{gap:8px}}

#filterPanel{margin:12px 0;border:1px solid var(--line);border-radius:7px;background:#fff}summary{cursor:pointer;padding:10px;font-size:.85rem;font-weight:600}.filterBody{padding:0 10px 12px;max-height:45vh;overflow:auto}.filterBody p,.personalNote{font-size:.72rem;color:#647483}.checks{max-height:190px;overflow:auto}.checks label{display:block;font-size:.8rem;line-height:1.4;padding:7px 0}.checks input{accent-color:#b71939}.filterBody .actions{margin-top:12px}.filterBody button{font-size:.73rem;padding:7px}.progress{font-size:.75rem;line-height:1.5;margin:5px 0}.legend{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.68rem;padding:6px 0 10px}.gold{color:#b67900}.visitControls{border-bottom:1px solid var(--line);padding-bottom:10px}.visitControls .field{margin:8px 0}.visitControls button[aria-pressed=true]{background:#fff2cb;border-color:#b67900;color:#845900}.personalNote{margin:4px 0}.filterBody .field{font-size:.8rem!important}.filterBody .field select{font-size:.85rem!important}
@media(max-width:850px){#filterPanel{grid-column:1/-1;margin:0}#filterPanel[open] .filterBody{position:absolute;left:12px;right:12px;z-index:8;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px #25334233;max-height:55vh}#progress{grid-column:1/-1;margin:0}.legend{grid-column:1/-1;padding:0}#list{top:126px}#left .filterBody .field{font-size:.8rem}#right{max-height:32dvh}.visitControls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.visitControls .field{flex:1;min-width:120px}.visitControls .personalNote{flex-basis:100%}}
/* Phone: map remains full viewport, tools and sheets float above it. */
.mobile-tools,.sheet-heading,.company-close,#sheetBackdrop{display:none}
@media(max-width:850px){
body{overflow:hidden}main{position:fixed;inset:0;height:100dvh;display:block}#workspace{position:absolute;inset:0;min-height:0}#map{position:absolute;inset:0;min-height:0}.mapbar{position:absolute;top:calc(64px + env(safe-area-inset-top));left:10px;right:10px;z-index:2;padding:7px 10px;border:0;border-radius:12px;background:#ffffffed;box-shadow:0 3px 16px #25334215;pointer-events:auto}.mapbar h1{font-size:.9rem}#subtitle{display:none}.segmented button{padding:6px 10px;min-height:34px}.mobile-tools{position:fixed;top:calc(10px + env(safe-area-inset-top));left:10px;right:10px;display:flex;gap:6px;z-index:5}.mobile-tools button{box-shadow:0 3px 14px #25334218;border-radius:12px;white-space:nowrap;padding:10px;font-size:.8rem;min-height:44px}#browseMobile{flex:1;text-align:left}#locationMobile,#menuMobile{font-size:20px;width:44px;padding:6px}
header{display:none;position:fixed;top:calc(64px + env(safe-area-inset-top));left:10px;right:10px;z-index:7;height:auto;min-height:64px;border-radius:12px;padding:12px;box-shadow:0 5px 25px #25334233;flex-wrap:wrap}.menu-open header{display:flex}.brand b{font-size:1.15rem}.brand small{font-size:.65rem}.phone-help{max-width:none}
#hint{top:calc(124px + env(safe-area-inset-top));left:12px;font-size:.7rem;max-width:calc(100% - 24px);padding:6px 9px;background:#ffffffc9}.zoom{bottom:calc(20px + env(safe-area-inset-bottom));right:12px}.zoom button{width:44px;min-height:44px}#touch{bottom:calc(20px + env(safe-area-inset-bottom))}
.bottom{display:none;position:absolute;z-index:4;top:calc(122px + env(safe-area-inset-top));left:10px;right:10px;border-radius:12px;box-shadow:0 6px 24px #25334233;padding:12px}.location-open .bottom{display:flex}.location-open #hint{display:none}#routebar:not([hidden]){position:absolute;bottom:calc(16px + env(safe-area-inset-bottom));left:10px;right:66px;z-index:3;border-radius:12px;max-height:25dvh;overflow:auto}
#sheetBackdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:9;border:0;border-radius:0;background:#13293d45;padding:0}#left,#right{display:none;position:fixed;z-index:10;background:#fff;box-shadow:0 -8px 40px #25334233;border-radius:20px 20px 0 0;bottom:0;left:0;right:0;width:auto;padding:18px 20px calc(20px + env(safe-area-inset-bottom));max-height:82dvh;overflow:auto;overscroll-behavior:contain;border:0}.browse-open #left{display:flex;height:82dvh;gap:0}.company-open #right{display:block}.sheet-heading{display:flex;align-items:center;justify-content:space-between;font-weight:650;margin-bottom:14px}.sheet-heading button,.company-close{font-size:24px;min-width:44px;min-height:44px;padding:5px;border:0;background:#edf1f4;border-radius:50%}.company-close{display:block;float:right;margin-left:12px}#left .field{font-size:.85rem;margin:12px 0}#left .field select{font-size:.9rem;margin-top:5px}#left #count{display:block;padding:10px 0}#left #list,#left:focus-within #list{display:block;position:static;max-height:none;min-height:180px;flex:1;overflow:auto;box-shadow:none;margin:0 -8px}#filterPanel{margin:8px 0;flex-shrink:0}#filterPanel[open] .filterBody{position:static;max-height:36dvh;box-shadow:none;border:0}.legend{padding:8px 0}#progress{margin:6px 0}#right .company-data{display:block}#right .company-data dt{margin-top:14px}#right .company-data dd{margin:4px 0}#right .note{display:block}.company-name{font-size:1.3rem;margin-top:14px}.visitControls{clear:both}dialog{max-height:90dvh;padding:22px}#toast{z-index:30;bottom:calc(20px + env(safe-area-inset-bottom))}
}
#hideTools{position:fixed;right:12px;top:100px;z-index:8;min-width:44px;min-height:44px;border-radius:50%;box-shadow:0 3px 16px #25334228;font-size:20px}
@media(max-width:850px){.mapbar{display:none}.mobile-tools{top:calc(14px + env(safe-area-inset-top));left:10px;right:auto;flex-direction:column;gap:8px;width:58px}.mobile-tools button{width:58px;min-height:46px;white-space:normal;padding:7px 3px;border-radius:14px;font-size:.75rem;background:#fffffff0}#browseMobile{text-align:center;order:-1}#locationMobile,#menuMobile{width:58px}#selectedMobile{font-size:.65rem}.zoom{top:calc(74px + env(safe-area-inset-top));bottom:auto;right:10px}#hideTools{top:calc(14px + env(safe-area-inset-top));right:10px}#hint{top:auto;bottom:calc(10px + env(safe-area-inset-bottom));left:78px;right:64px;max-width:none;text-align:center;font-size:.65rem}#touch{left:10px;bottom:calc(44px + env(safe-area-inset-bottom))}header{top:calc(14px + env(safe-area-inset-top));left:78px;right:64px;max-height:75dvh;overflow:auto;flex-direction:column;align-items:stretch}.bottom{left:78px;right:64px;top:calc(14px + env(safe-area-inset-top))}#routebar:not([hidden]){left:78px;right:64px;bottom:50px}}
body.clean-map header,body.clean-map #left,body.clean-map #right,body.clean-map .mobile-tools,body.clean-map .mapbar,body.clean-map .zoom,body.clean-map #touch,body.clean-map #hint,body.clean-map .bottom,body.clean-map #routebar{display:none!important}body.clean-map main{position:fixed;inset:0;height:100dvh;display:block}body.clean-map #workspace{position:absolute;inset:0}body.clean-map #map{position:absolute;inset:0}body.clean-map #hideTools{opacity:.65}
.company-photos{border-top:1px solid #dce3e8;margin-top:24px;padding-top:12px}.company-photos h3{font-size:1rem}.photo-message{font-size:.8rem}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:.8rem}.photo-grid figure{margin:0;min-width:0}.photo-preview{padding:0;display:block;width:100%;overflow:hidden}.photo-preview img{display:block;width:100%;height:110px;object-fit:cover}.photo-grid figcaption{font-size:.7rem;padding:5px 0}.photo-grid figure>button:not(.photo-preview){padding:6px 8px;font-size:.75rem;margin:2px}.photo-viewer{max-width:900px}.photo-viewer img{display:block;width:100%;max-height:75dvh;object-fit:contain}#junction{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:5px;z-index:2}#junction button{background:#0876c9e8;color:white;border:2px solid white;border-radius:50%;width:46px;height:46px;font-size:24px;padding:5px;box-shadow:0 2px 10px #0003}body.clean-map #junction{display:none!important}@media(max-width:850px){#junction{bottom:calc(180px + env(safe-area-inset-bottom));left:50%;max-width:210px;flex-wrap:wrap;justify-content:center}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* companion v0 */
#authScreen{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;background:#f2f5f7;padding:24px;text-align:center}
#authScreen h2{margin:0 0 8px;font-size:24px}
#offlineBar{position:fixed;left:0;right:0;bottom:0;z-index:10040;background:#8a6d1f;color:#fff;padding:8px 14px;font-size:14px;text-align:center}
.crmStatus{margin:6px 0;font-size:15px}
.crmActions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.crmSummary{font-size:14px;line-height:1.5}
.crmSummary p{margin:4px 0}
.feedList{margin-top:12px;border-top:1px solid #dce3e8;padding-top:8px;font-size:13px}
.feedList h3{font-size:14px;margin:0 0 4px}
.legend .lastact{color:#b71939}
.standShare{margin:8px 0;font-size:13px;border-top:1px solid #dce3e8;padding-top:6px}
.standShare summary{cursor:pointer;font-weight:600}
.standShare p{margin:3px 0;color:#4a5866}
.standShare p.self{color:#152d42;font-weight:600}
