/* 显式 native 标记及当前页面 Bootstrap 弹窗的统一展示层。 */
dialog.platform-dialog.platform-dialog{--pd-size:680px;position:fixed;inset:auto;left:var(--pd-center-x,50vw);top:var(--pd-center-y,50vh);transform:translate(-50%,-50%);margin:0;padding:0;width:min(var(--pd-size),calc(var(--pd-visible-width,100vw) - 32px));max-width:calc(var(--pd-visible-width,100vw) - 32px);max-height:max(0px,calc(var(--pd-visible-height,100dvh) - 32px));border:1px solid var(--ui-line,#dce4df);border-radius:8px;background:var(--ui-paper,#fff);color:var(--ui-ink,#18251f);overflow:hidden;box-sizing:border-box;font-family:var(--ui-font,Arial,sans-serif)}
dialog.platform-dialog.platform-dialog[open]{display:flex;flex-direction:column}
dialog.platform-dialog::backdrop{background:rgba(17,32,26,.42)}
dialog.platform-dialog[data-dialog-size=small]{--pd-size:480px}dialog.platform-dialog[data-dialog-size=medium]{--pd-size:680px}dialog.platform-dialog[data-dialog-size=large]{--pd-size:800px}dialog.platform-dialog[data-dialog-size=wide]{--pd-size:1120px}
.platform-dialog.platform-dialog .platform-dialog-form{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;max-height:inherit;width:100%;margin:0;overflow:hidden}
.platform-dialog.platform-dialog .platform-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;flex:0 0 auto;gap:16px;margin:0;padding:20px 24px;border-bottom:1px solid var(--ui-line,#dce4df);background:var(--ui-paper,#fff)}
.platform-dialog.platform-dialog .platform-dialog-header :is(h1,h2,h3,.platform-dialog-title){margin:0;align-self:center;font-size:23px;line-height:1.3;letter-spacing:0;font-weight:600;color:var(--ui-ink,#18251f)}
.platform-dialog.platform-dialog .platform-dialog-body{flex:1 1 auto;min-height:0;margin:0;padding:24px;overflow:auto;overscroll-behavior:contain;scroll-padding-block:16px;scrollbar-width:thin;scrollbar-color:var(--ui-field,#aabbb1) var(--ui-soft,#f7f9f8)}
.platform-dialog.platform-dialog .platform-dialog-footer{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;gap:10px;margin:0;padding:20px 24px;border-top:1px solid var(--ui-line,#dce4df);background:var(--ui-paper,#fff)}
/* 同时覆盖既有 workbench/home 局部规则；不依赖这些页面类才生效。 */
:is(body,#workbench-page,.home-page) .modal.platform-modal{position:fixed;inset:0;width:100%;height:100%;overflow:hidden;color:var(--ui-ink,#18251f);font-family:var(--ui-font,Arial,sans-serif)}
:is(body,#workbench-page,.home-page) .modal.platform-modal>.modal-dialog{--pd-size:480px;position:fixed;inset:auto;left:var(--pd-center-x,50vw);top:var(--pd-center-y,50vh);transform:translate(-50%,-50%);display:flex;align-items:stretch;min-height:0;margin:0;padding:0;width:min(var(--pd-size),calc(var(--pd-visible-width,100vw) - 32px));max-width:calc(var(--pd-visible-width,100vw) - 32px);max-height:max(0px,calc(var(--pd-visible-height,100dvh) - 32px));transition:none}
:is(body,#workbench-page,.home-page) .modal.platform-modal>.modal-dialog.modal-sm{--pd-size:480px}
:is(body,#workbench-page,.home-page) .modal.platform-modal>.modal-dialog.modal-lg{--pd-size:800px}
:is(body,#workbench-page,.home-page) .modal.platform-modal>.modal-dialog.modal-xl{--pd-size:1120px}
:is(body,#workbench-page,.home-page) .modal.platform-modal[data-dialog-size=small]>.modal-dialog{--pd-size:480px}
:is(body,#workbench-page,.home-page) .modal.platform-modal[data-dialog-size=medium]>.modal-dialog{--pd-size:680px}
:is(body,#workbench-page,.home-page) .modal.platform-modal[data-dialog-size=large]>.modal-dialog{--pd-size:800px}
:is(body,#workbench-page,.home-page) .modal.platform-modal[data-dialog-size=wide]>.modal-dialog{--pd-size:1120px}
:is(body,#workbench-page,.home-page) .modal.platform-modal .modal-content{display:flex;flex-direction:column;min-height:0;max-height:inherit;border:1px solid var(--ui-line,#dce4df);border-radius:8px;background:var(--ui-paper,#fff);color:var(--ui-ink,#18251f);overflow:hidden;box-shadow:none}
:is(body,#workbench-page,.home-page) .modal.platform-modal .modal-content>form{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;max-height:inherit;margin:0;overflow:hidden}
:is(body,#workbench-page,.home-page) .modal.platform-modal .modal-header{display:flex;align-items:flex-start;justify-content:space-between;flex:0 0 auto;gap:16px;margin:0;padding:20px 24px!important;border-bottom:1px solid var(--ui-line,#dce4df);background:var(--ui-paper,#fff)!important}
:is(body,#workbench-page,.home-page) .modal.platform-modal .modal-title{align-self:center;margin:0;font-size:23px;line-height:1.3;letter-spacing:0;font-weight:600;color:var(--ui-ink,#18251f)}
:is(body,#workbench-page,.home-page) .modal.platform-modal .modal-body{flex:1 1 auto;min-height:0;margin:0;padding:24px!important;background:var(--ui-paper,#fff)!important;overflow:auto;overscroll-behavior:contain;scroll-padding-block:16px;scrollbar-width:thin;scrollbar-color:var(--ui-field,#aabbb1) var(--ui-soft,#f7f9f8)}
:is(body,#workbench-page,.home-page) .modal.platform-modal .modal-footer{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;gap:10px;margin:0;padding:20px 24px!important;border-top:1px solid var(--ui-line,#dce4df);background:var(--ui-paper,#fff)}
:is(body,#workbench-page,.home-page) .modal.platform-modal .modal-footer>*{margin:0}
.platform-modal-backdrop.modal-backdrop{background-color:#11201a}.platform-modal-backdrop.modal-backdrop.show{opacity:.42}
.platform-dialog.platform-dialog .platform-dialog-close,:is(body,#workbench-page,.home-page) .modal.platform-modal .modal-header .btn-close{position:static;flex:0 0 42px;width:42px;height:42px;min-width:42px;min-height:42px;margin:0;padding:0!important;border:0;border-radius:5px;background:transparent!important;box-shadow:none!important;color:var(--ui-muted,#56645c);opacity:1;transform:none;text-decoration:none}
.platform-dialog.platform-dialog .platform-dialog-close:not([hidden]),:is(body,#workbench-page,.home-page) .modal.platform-modal .modal-header .btn-close:not([hidden]){display:inline-flex;align-items:center;justify-content:center}
.platform-dialog-close svg{display:block;flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.platform-dialog .platform-dialog-close:hover:not(:disabled),:is(body,#workbench-page,.home-page) .modal.platform-modal .modal-header .btn-close:hover:not(:disabled){color:var(--ui-ink,#18251f);background:var(--ui-tint,#ebf4ef)!important}
.platform-dialog .platform-dialog-close:focus-visible,:is(body,#workbench-page,.home-page) .modal.platform-modal .modal-header .btn-close:focus-visible{outline:3px solid var(--ui-focus,#1769a6);outline-offset:2px}
.platform-dialog.platform-dialog .platform-dialog-footer :where(button,a.button,a.btn),:is(body,#workbench-page,.home-page) .modal.platform-modal .modal-footer :where(button,a.btn){min-height:42px;padding:9px 18px;border:1px solid var(--ui-field,#aabbb1);border-radius:5px;background:var(--ui-paper,#fff);color:var(--ui-ink,#18251f);font:600 14px/22px var(--ui-font,Arial,sans-serif);box-shadow:none;text-decoration:none}
.platform-dialog.platform-dialog .platform-dialog-footer :is(.primary,.ca-button-primary,.platform-dialog-primary),:is(body,#workbench-page,.home-page) .modal.platform-modal .modal-footer .btn-primary{border-color:var(--ui-accent,#147d52);background:var(--ui-accent,#147d52);color:var(--ui-on-accent,#fff)}
.platform-dialog.platform-dialog .platform-dialog-footer :is(.danger,.ca-button-danger,.platform-dialog-danger),:is(body,#workbench-page,.home-page) .modal.platform-modal .modal-footer .btn-danger{border-color:var(--ui-danger,#9c2929);background:var(--ui-danger,#9c2929);color:var(--ui-paper,#fff)}
:is(body,#workbench-page,.home-page) .modal.platform-modal .modal-footer .btn-outline-danger{border-color:var(--ui-danger,#9c2929);color:var(--ui-danger,#9c2929);background:transparent}
:is(body,#workbench-page,.home-page) .modal.platform-modal :is(.modal-body,.modal-footer) :is(.btn-primary,.btn-success){border-color:var(--ui-accent,#147d52)!important;background:var(--ui-accent,#147d52)!important;color:var(--ui-on-accent,#fff)!important}
:is(body,#workbench-page,.home-page) .modal.platform-modal :is(.modal-body,.modal-footer) :is(.btn-primary,.btn-success):hover:not(:disabled){border-color:var(--ui-accent-hover,#0e603f)!important;background:var(--ui-accent-hover,#0e603f)!important}
:is(body,#workbench-page,.home-page) .modal.platform-modal :is(.modal-body,.modal-footer) :is(.btn-outline-primary,.btn-outline-success){border-color:var(--ui-accent,#147d52)!important;background:transparent!important;color:var(--ui-accent,#147d52)!important}
:is(body,#workbench-page,.home-page) .modal.platform-modal :is(.modal-body,.modal-footer) :is(.btn-outline-primary,.btn-outline-success):hover:not(:disabled){background:var(--ui-tint,#ebf4ef)!important}
:is(body,#workbench-page,.home-page) .modal.platform-modal :is(.modal-body,.modal-footer) .btn-danger{border-color:var(--ui-danger,#9c2929)!important;background:var(--ui-danger,#9c2929)!important;color:var(--ui-paper,#fff)!important}
:is(body,#workbench-page,.home-page) .modal.platform-modal :is(.modal-body,.modal-footer) .btn-danger:hover:not(:disabled){border-color:var(--ui-danger-hover,#7d1f1f)!important;background:var(--ui-danger-hover,#7d1f1f)!important}
:is(body,#workbench-page,.home-page) .modal.platform-modal :is(.modal-body,.modal-footer) .btn-outline-danger{border-color:var(--ui-danger,#9c2929)!important;background:transparent!important;color:var(--ui-danger,#9c2929)!important}
:is(body,#workbench-page,.home-page) .modal.platform-modal :is(.modal-body,.modal-footer) :is(.btn-secondary,.btn-outline-secondary){border-color:var(--ui-field,#aabbb1)!important;background:var(--ui-paper,#fff)!important;color:var(--ui-ink,#18251f)!important}
:is(body,#workbench-page,.home-page) .modal.platform-modal .modal-body :is(button,a).btn:is(.btn-primary,.btn-success,.btn-danger,.btn-secondary,.btn-outline-primary,.btn-outline-success,.btn-outline-danger,.btn-outline-secondary):not(.btn-sm,.btn-icon,[aria-pressed],[role=switch]):not(.btn-group>*){min-height:42px;padding:9px 18px;border-radius:5px;font:600 14px/22px var(--ui-font,Arial,sans-serif);box-shadow:none}
.platform-dialog .platform-dialog-footer :is(button,a.button,a.btn):focus-visible,.platform-modal .modal-footer :is(button,a.btn):focus-visible{outline:3px solid var(--ui-focus,#1769a6);outline-offset:2px}
.platform-dialog .platform-dialog-close:disabled,.platform-dialog .platform-dialog-footer button:disabled,:is(body,#workbench-page,.home-page) .modal.platform-modal .modal-header .btn-close:disabled,:is(body,#workbench-page,.home-page) .modal.platform-modal .modal-footer button:disabled{opacity:.45;cursor:not-allowed}
.platform-dialog.platform-dialog .platform-dialog-body :is(input:not([type=hidden],[type=checkbox],[type=radio],[type=range],[type=button],[type=submit],[type=reset],[type=color],[type=file],.numInput),select:not(.flatpickr-monthDropdown-months),textarea),:is(body,#workbench-page,.home-page) .modal.platform-modal .modal-body :is(.form-control,.form-select){min-height:42px;border:1px solid var(--ui-field,#aabbb1);border-radius:5px;background:var(--ui-paper,#fff);color:var(--ui-ink,#18251f);font-family:var(--ui-font,Arial,sans-serif)}
@media(max-width:700px){.platform-dialog.platform-dialog .platform-dialog-header,.platform-dialog.platform-dialog .platform-dialog-footer{padding:16px}.platform-dialog.platform-dialog .platform-dialog-body{padding:16px}.platform-dialog.platform-dialog .platform-dialog-header :is(h1,h2,h3,.platform-dialog-title){font-size:20px}:is(body,#workbench-page,.home-page) .modal.platform-modal .modal-header,:is(body,#workbench-page,.home-page) .modal.platform-modal .modal-footer,:is(body,#workbench-page,.home-page) .modal.platform-modal .modal-body{padding:16px!important}:is(body,#workbench-page,.home-page) .modal.platform-modal .modal-title{font-size:20px}.platform-dialog.platform-dialog .platform-dialog-footer,:is(body,#workbench-page,.home-page) .modal.platform-modal .modal-footer{flex-wrap:wrap}}
