/* Backend-only Element-style form and dialog system. */
.admin-host{--form-blue:#409eff;--form-border:#dcdfe6;--form-text:#606266}
.admin-host dialog{box-sizing:border-box;background:#fff!important;color:#303133!important;border:0!important;border-radius:5px!important;padding:24px!important;width:min(640px,92vw);max-height:88vh!important;overflow:auto;box-shadow:0 12px 40px #0003;font:14px/1.6 "Helvetica Neue","Microsoft YaHei",sans-serif}
.admin-host dialog.vr-dialog,.admin-host dialog.hc-dialog{width:min(920px,92vw);padding:0!important}
.admin-host dialog::backdrop{background:rgba(0,0,0,.48)!important;backdrop-filter:none!important}
.admin-host dialog>header{padding:18px 24px!important;background:#fff!important;border-bottom:1px solid #ebeef5!important;position:sticky;top:0;z-index:3}
.admin-host dialog h2{font-size:18px!important;font-weight:500;color:#303133!important;margin:0 0 20px}
.admin-host dialog>header h2{margin:0}
.admin-host dialog header button{background:transparent!important;border:0!important;color:#909399!important;font-size:25px;cursor:pointer}
.admin-host dialog .hc-body,.admin-host dialog #vr-dialog-body{padding:24px!important}
.admin-host dialog form{margin:0}
.admin-host dialog form label,.admin-host .pb-fields label,.admin-host .pb-coords label{display:flex;flex-direction:column;align-items:stretch;gap:8px!important;margin:0!important;color:#606266!important;font-size:14px!important;min-width:0}
.admin-host dialog form>label{margin:0 0 20px!important}
.admin-host dialog .vr-form,.admin-host dialog .hc-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;align-items:start}
.admin-host dialog .wide,.admin-host dialog .hc-wide{grid-column:1/-1}
.admin-host :is(dialog,form,.toolbar,.vr-toolbar,.hc-toolbar) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){box-sizing:border-box;min-width:0;max-width:100%;height:40px;min-height:40px;border:1px solid #dcdfe6!important;border-radius:4px!important;padding:9px 12px!important;background:#fff!important;color:#606266!important;font:14px/20px "Helvetica Neue","Microsoft YaHei",sans-serif;outline:none;box-shadow:none}
.admin-host dialog :is(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%}
.admin-host :is(dialog,form) textarea{height:96px;min-height:96px!important;resize:vertical}
.admin-host :is(dialog,form) :is(input,select,textarea):focus{border-color:#409eff!important;box-shadow:0 0 0 2px #409eff12}
.admin-host :is(dialog,form) :is(input,textarea)::placeholder{color:#c0c4cc}
.admin-host :is(dialog,form) :is(input,textarea)[readonly]{background:#f5f7fa!important}
.admin-host :is(dialog,form) :is(input[type=checkbox],input[type=radio]){width:16px!important;height:16px;min-height:0;padding:0!important;accent-color:#409eff;flex:none}
.admin-host dialog .hc-checkboxes{display:flex;flex-wrap:wrap;gap:12px 20px;padding:12px 0}
.admin-host dialog .hc-checkboxes label{flex-direction:row;align-items:center}
.admin-host :is(dialog,form) input[type=file]{display:block;box-sizing:border-box;width:100%;max-width:100%;padding:12px!important;height:auto!important;min-height:62px;background:#fafafa!important;border:1px dashed #dcdfe6!important;border-radius:4px!important;color:#909399;font-size:12px}
.admin-host input[type=file]::file-selector-button{background:#ecf5ff;color:#409eff;border:1px solid #b3d8ff;border-radius:4px;padding:8px 12px;margin-right:12px;cursor:pointer;font-size:13px}
.admin-host :is(dialog,form) :is(small,.hc-note,.vr-file-note){color:#909399!important;font-size:12px;line-height:1.7}
.admin-host .vr-file-note,.admin-host .pb-upload,.admin-host .pb-file{background:#f5f7fa!important;border-color:#ebeef5!important;border-radius:4px!important;color:#606266!important}
.admin-host .pb-upload{margin-bottom:18px}
.admin-host dialog .vr-preview{background:#f5f7fa;border-radius:4px;object-fit:contain}
.admin-host dialog .hc-media-list>div{background:#fafafa;border:1px solid #ebeef5;border-radius:4px;margin-top:8px;padding:10px}
.admin-host dialog .hc-details section,.admin-host dialog .hc-media-placeholder{background:#f5f7fa!important;border-color:#ebeef5!important;border-radius:4px;color:#606266!important}
.admin-host dialog .hc-media-placeholder :is(b,p){color:#606266!important}
.admin-host dialog .btn,.admin-host dialog button[type=submit]{display:inline-flex;align-items:center;justify-content:center;background:#409eff!important;color:#fff!important;border:1px solid #409eff!important;border-radius:4px!important;padding:10px 20px!important;min-height:40px;font-size:14px;line-height:18px;cursor:pointer}
.admin-host dialog .btn:hover{background:#66b1ff!important}
.admin-host dialog :is(button[data-close],#theme-cancel,.admin-dialog-cancel){background:#fff!important;color:#606266!important;border:1px solid #dcdfe6!important;border-radius:4px;padding:10px 20px;min-height:40px;font-size:14px;cursor:pointer}
.admin-host dialog .actions,.admin-host dialog .admin-dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin:24px 0 0;padding:18px 0 0;border-top:1px solid #ebeef5;background:#fff}
.admin-host dialog [hidden]{display:none!important}
.admin-host dialog :is(.hc-error,#vr-error){color:#f56c6c!important;font-size:13px}
.admin-host dialog .hc-error:empty,.admin-host dialog #vr-error:empty{display:none}
.admin-host .admin-time-range{display:flex;gap:10px;align-items:center;min-width:0}.admin-host .admin-time-range input{width:calc(50% - 13px)!important}
@media(max-width:760px){.admin-host dialog .vr-form,.admin-host dialog .hc-form{grid-template-columns:1fr}}

.admin-host dialog :is(.actions,.admin-dialog-actions)>button[type=submit]{order:2}.admin-host dialog :is(.actions,.admin-dialog-actions)>button[type=button]{order:1}
.admin-host dialog.admin-native-compact{width:min(580px,92vw)!important;height:auto!important}
.admin-host dialog.admin-native-compact :is(.hc-form,.vr-form){grid-template-columns:1fr!important}
.admin-host dialog.admin-native-long{height:auto!important;width:min(920px,94vw)!important}
.admin-host dialog .admin-dialog-actions{position:sticky;bottom:-24px;padding:16px 0;z-index:4}

.admin-host dialog:is(.admin-native-compact,.admin-native-long){height:fit-content!important;min-height:0!important}.admin-host dialog.admin-native-compact .hc-note{display:none}.admin-host dialog.admin-native-compact .hc-body{padding-bottom:20px!important}
