.admin-host .admin-page-hidden{display:none!important}
.admin-host .admin-form-pages{display:flex;gap:8px;padding:0 0 14px;margin-bottom:16px;border-bottom:1px solid #ebeef5;flex-wrap:wrap}
.admin-host .admin-form-pages button{border:1px solid #dcdfe6;background:#fff;color:#606266;padding:7px 12px;border-radius:4px;cursor:pointer;font-size:13px}
.admin-host .admin-form-pages button.active{background:#ecf5ff;color:#409eff;border-color:#b3d8ff}
.admin-host dialog .admin-form-pages button{min-height:30px}
.admin-host .admin-editor-footer{display:flex;justify-content:flex-end;padding:12px 24px;border-top:1px solid #ebeef5;background:white;flex:none}
.admin-host .admin-editor-footer button{padding:9px 22px;border:1px solid #dcdfe6;background:white;color:#606266;border-radius:4px;cursor:pointer}
.admin-host dialog.admin-native-long{width:min(960px,96vw)!important;max-height:none!important;overflow:visible!important}
.admin-host dialog .hc-body,.admin-host dialog #vr-dialog-body{overflow:visible!important}
.admin-host dialog .hc-form,.admin-host dialog .vr-form{gap:12px 20px!important}
.admin-host dialog textarea{min-height:64px!important;height:64px!important}
.admin-host dialog .hc-wide:has(input[type=file]){grid-column:auto}
.admin-host dialog .hc-wide:has(.hc-checkboxes){grid-column:1/-1}
.admin-host dialog :is(.admin-dialog-actions,.actions){position:static!important;margin-top:16px;padding-top:12px}
.admin-dialog-embedded .admin-main{padding:16px 22px!important}
.admin-dialog-embedded .admin-main .form-grid{gap:12px 20px!important}
.admin-dialog-embedded textarea{height:64px!important;min-height:64px!important}
.admin-dialog-embedded .admin-main .actions{position:static!important;margin-top:14px!important;padding-top:12px!important}
.admin-dialog-embedded .pb-grid{margin:8px 0;gap:18px}
.admin-dialog-embedded #point-location-map{height:250px}
.admin-dialog-embedded .pb-upload{padding:12px}
.admin-dialog-embedded .pb-upload img{height:55px;width:75px}
.admin-dialog-embedded .admin-main .actions a{display:none!important}
.admin-dialog-embedded .admin-main .form-grid~h3{margin:10px 0}
.admin-host dialog.admin-editor-dialog{height:var(--editor-height,440px)!important;max-height:none!important;overflow:visible!important;max-width:96vw}
.admin-host .admin-editor-dialog iframe{flex:none;height:var(--editor-frame-height,300px);min-height:0;overflow:hidden}
.admin-dialog-embedded body.admin-host{overflow:hidden!important}
.admin-dialog-embedded .admin-point-pages{display:block}
.admin-dialog-embedded .admin-point-pages .pb-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.admin-dialog-embedded .admin-point-pages>div>h3,.admin-dialog-embedded .admin-main>.card>p.muted{display:none}
.admin-dialog-embedded .admin-point-pages .pb-coords{margin-top:8px}
.admin-dialog-embedded .admin-point-pages>div>p.muted{margin:0 0 8px}
.admin-dialog-embedded .admin-point-pages #point-location-map{height:220px}
.admin-host .admin-editor-footer{gap:12px;align-items:center}
.admin-host .admin-editor-footer .admin-footer-save{background:#409eff!important;color:#fff!important;border-color:#409eff!important;min-width:74px}
.admin-host .admin-editor-footer .admin-footer-save:disabled{opacity:.5;cursor:wait}
.admin-dialog-embedded .admin-proxied-save{display:none!important}
.admin-dialog-embedded .actions:not(:has(button:not(.admin-proxied-save))){display:none!important}
/* The frame's measured content is the sole owner of modal height. */
.admin-host dialog.admin-editor-dialog{box-sizing:border-box!important;min-height:0!important;padding:0!important;gap:0!important}
.admin-host dialog.admin-editor-dialog>header,.admin-host dialog.admin-editor-dialog>.admin-editor-footer{box-sizing:border-box;flex:0 0 auto;margin:0!important}
.admin-host dialog.admin-editor-dialog>iframe{box-sizing:border-box;display:block;flex:0 0 auto!important;width:100%;padding:0;margin:0;border:0;height:var(--editor-frame-height)!important}
.admin-dialog-embedded .admin-workspace,.admin-dialog-embedded .admin-main,.admin-dialog-embedded .admin-main>.card{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
.admin-host dialog.admin-inline-dialog{width:min(var(--inline-width,860px),95vw)!important;height:fit-content!important;max-height:none!important;padding:0!important;overflow:visible!important}
.admin-host .admin-inline-dialog>header{display:flex;align-items:center;justify-content:space-between}
.admin-host .admin-inline-dialog .admin-inline-body{flex:none;overflow:visible;padding:18px 24px;background:#fff}
.admin-host .admin-inline-dialog .admin-inline-body>.card{min-height:0;margin:0;padding:0;border:0;box-shadow:none}
.admin-host .admin-inline-dialog .admin-form{padding:0;max-width:none}
.admin-host .admin-inline-dialog .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px}
.admin-host .admin-inline-dialog .field{display:flex;flex-direction:column;gap:7px;margin:0;min-width:0}
.admin-host .admin-inline-dialog .field>span{text-align:left;line-height:22px}
.admin-host .admin-inline-dialog .field :is(input,select,textarea){width:100%}
.admin-host .admin-inline-dialog .admin-editor-footer{margin:0;display:flex;gap:12px;padding:14px 24px;justify-content:flex-end}
.admin-host .admin-inline-dialog .admin-editor-footer .btn{background:#409eff;color:#fff;border-color:#409eff}
@media(max-width:640px){.admin-host .admin-inline-dialog .form-grid{grid-template-columns:1fr}}
.admin-host .admin-inline-dialog #point-form-title{display:none}
.admin-host .admin-inline-dialog .admin-point-pages{display:block;margin:0}
.admin-host .admin-inline-dialog .admin-point-pages #point-location-map{height:240px}
.admin-host .admin-inline-dialog .admin-point-pages .pb-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}
.admin-host .admin-inline-dialog .admin-point-pages h3{margin:0 0 8px}
.admin-host .admin-inline-dialog .admin-point-pages p{margin:6px 0}
.admin-host .admin-inline-dialog .pb-coords{margin-top:10px}
.admin-host .admin-inline-dialog .pb-upload{padding:12px;margin:0}
.admin-host .admin-inline-dialog .pb-upload img{max-height:70px;width:auto}
.admin-host .admin-inline-dialog .pb-grid{margin:8px 0;gap:18px}
.admin-host .admin-inline-dialog .admin-inline-body>.card>p.muted{margin:0 0 12px}
.admin-host dialog.admin-inline-dialog:has(#point-basic-form .pb-fields:not(.admin-page-hidden)){width:min(860px,95vw)!important}
.admin-host dialog.admin-inline-dialog:has(#point-basic-form>.pb-upload:not(.admin-page-hidden)){width:min(880px,95vw)!important}
.admin-host dialog.admin-inline-dialog:has(#point-basic-form>.pb-grid:not(.admin-page-hidden)):not(:has(#point-location-map:not(.admin-page-hidden))){width:min(1060px,95vw)!important}
.admin-host .admin-inline-dialog .guide-editor{min-height:0;height:auto}
.admin-host .admin-inline-dialog #route-save{display:none}
.admin-host .admin-inline-dialog .guide-editor{padding:0;border:0;box-shadow:none;background:white}
.admin-host .admin-inline-dialog .guide-editor-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px}
.admin-host .admin-inline-dialog .guide-editor .route-cover-preview{height:64px;width:110px;object-fit:cover;margin-top:6px}
.admin-host .admin-inline-dialog .guide-editor .guide-stage{height:280px;min-height:0;aspect-ratio:auto}
.admin-host .admin-inline-dialog .guide-editor h3{margin:12px 0 8px}
.admin-host .admin-inline-dialog .guide-editor p{margin:8px 0;line-height:1.6}
.admin-host .admin-inline-dialog #route-nodes{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;padding-left:24px}
.admin-host dialog.admin-inline-dialog:has(.guide-editor-fields:not(.admin-page-hidden)){width:min(940px,95vw)!important}
/* Content determines height; scrolling is a last resort on a short viewport. */
body.admin-host dialog[open]{box-sizing:border-box;max-height:calc(100dvh - 32px)!important;overflow-y:auto!important;overflow-x:hidden!important}
body.admin-host dialog.admin-inline-dialog .admin-inline-body{min-height:0!important;height:auto!important;max-height:none!important}
body.admin-host dialog.admin-inline-dialog>header,body.admin-host dialog.admin-inline-dialog>.admin-editor-footer{position:static!important;flex-shrink:0}
body.admin-host .admin-inline-dialog .guide-tools button{border:1px solid #dcdfe6;color:#606266;background:white;border-radius:4px}
