/* Shared window frame. Module CSS arranges content, never the frame/controls. */
.lc-window-open{overflow:hidden!important}
.lc-window-overlay{position:fixed;inset:0;z-index:1000;background:#02061799;display:flex;padding:24px;align-items:center;justify-content:center}
.lc-window-overlay[hidden],.lc-window-overlay.hidden,.lc-window-launch[hidden],.lc-window-help[hidden]{display:none!important}
.lc-window{--window-padding:24px;position:absolute;display:flex;flex-direction:column;width:min(1180px,calc(100vw - 48px));height:min(880px,calc(100dvh - 48px));background:var(--ui-paper,#fff);color:var(--ui-ink,#243248);border:1px solid var(--ui-line,#dce2eb);border-radius:12px;box-shadow:0 24px 90px #0006;overflow:hidden;box-sizing:border-box}
.lc-window.lc-window--adopted{--window-padding:20px;position:fixed;inset:auto;transform:none;max-width:none;width:min(880px,calc(100vw - 48px));height:auto;max-height:calc(100dvh - 48px);margin:auto;padding:0;gap:0;background:var(--ui-paper,#fff);color:var(--ui-ink,#243248);border:1px solid var(--ui-line,#dce2eb);overflow:hidden}
.dark .lc-window{background:var(--ui-paper,#152131);color:var(--ui-ink,#e5edf8);border-color:var(--ui-line,#334155)}
.dark .lc-window.lc-window--adopted{background:var(--ui-paper,#152131);color:var(--ui-ink,#e5edf8);border-color:var(--ui-line,#334155)}
dialog.lc-window.lc-window--adopted{inset:0;height:fit-content;margin:auto}
dialog.lc-window:not([open]){display:none}
dialog.lc-window::backdrop{background:#02061799;backdrop-filter:blur(2px)}
.lc-window-overlay>.lc-window--adopted{inset:auto}
.lc-window[data-window-size=compact]{width:min(520px,calc(100vw - 48px))}
.lc-window[data-window-size=wide]{width:min(1180px,calc(100vw - 48px))}
.lc-window[data-window-kind=workspace]{height:min(880px,calc(100dvh - 48px))}
.lc-window[data-window-kind=workspace]>.lc-window-body{padding:0;overflow:hidden}
.lc-window-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:12px 18px;border-bottom:1px solid var(--ui-line,#dce2eb);cursor:move;touch-action:none;flex-shrink:0;box-sizing:border-box}
.lc-window .lc-window-header h2{font-size:17px;font-weight:600;line-height:1.4;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lc-window-controls{display:flex;gap:4px;flex-shrink:0}
.lc-window-controls button,.lc-window-controls [data-admin-button][data-admin-icon]{width:36px;height:36px;min-width:36px;min-height:36px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:inherit;cursor:pointer;flex-shrink:0}
.lc-window-controls button:hover{background:#64748b22}
.lc-window-controls button:disabled{opacity:.45;cursor:not-allowed}
.lc-window-controls button[hidden]{display:none!important}
.lc-window-controls .material-symbols-outlined{font-size:20px}
.lc-window button:focus-visible,.lc-window-header:focus-visible{outline:3px solid #818cf8;outline-offset:-3px}
.lc-window-body{min-height:0;min-width:0;overflow:auto;padding:var(--window-padding);overscroll-behavior:contain;scrollbar-gutter:stable;flex:1;box-sizing:border-box}
.lc-window-body form{margin:0}
/* The opening window owns its loading feedback through media/widget setup. */
.lc-admin-modal-body{position:relative}
.lc-admin-modal-loading{position:absolute;inset:0 0 auto;z-index:1;display:block;padding:10px 24px;color:var(--ui-muted,#64748b);font-size:13px;background:var(--ui-paper,#fff);border-top:2px solid var(--ui-accent,#6d5ce7);pointer-events:none}
.dark .lc-admin-modal-loading{background:var(--ui-paper,#152131);color:var(--ui-muted,#a6b3c5)}
.lc-admin-modal-loading[hidden]{display:none!important}
.lc-admin-modal-loading.is-initial{inset:0;padding:32px;border:0}
.lc-admin-modal-skeleton{display:none}
.is-initial>.lc-admin-modal-skeleton{display:grid;gap:24px;margin-top:32px}
.lc-admin-modal-skeleton span{display:block;height:48px;border-radius:8px;background:var(--ui-line,#e8edf3)}
.dark .lc-admin-modal-skeleton span{background:var(--ui-line,#29384c)}
.lc-admin-modal-skeleton span:first-child{width:45%;height:24px}
.lc-admin-modal-skeleton span:last-child{height:140px}
#admin-modal-host[data-modal-loading=initial]{min-height:340px}
#admin-modal-host[data-modal-loading=initial]>*{visibility:hidden}
#admin-modal-host[data-modal-loading=refresh]{opacity:.7;pointer-events:none}
.lc-window--adopted>.lc-window-body{max-height:calc(100dvh - 120px)}
.lc-window-help{padding:14px 24px;margin:0;background:#64748b15;font-size:13px}
.lc-window-launch{cursor:pointer}
.lc-window-dock{position:fixed;inset-inline-end:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:999;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;max-width:calc(100vw - 32px);max-height:min(40dvh,220px);overflow:auto;padding:4px;box-sizing:border-box}
.lc-window-dock[hidden]{display:none!important}
.lc-window-dock .lc-window-launch{display:flex;align-items:center;gap:8px;min-width:0;max-width:280px;min-height:44px;background:var(--ui-paper);color:var(--ui-ink);border-color:var(--ui-line);box-shadow:0 4px 20px #0003;font-size:13px;font-weight:600}
.lc-window-launch-title{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.lc-window-dock .lc-window-launch .material-symbols-outlined{font-size:18px;flex-shrink:0}
.lc-window-dock .lc-window-launch:hover{border-color:var(--ui-accent)}
.lc-window-dock .lc-window-launch:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}
.lc-window--adopted [data-window-original-title],.lc-window--adopted [data-window-original-close]{display:none!important}
.lc-window.is-maximized{inset:8px!important;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;border-radius:8px}
.lc-window.is-maximized>.lc-window-body{max-height:none}
/* Filters and side panels use the same controller with a drawer variant. */
:is(dialog,section,div).lc-window[data-window-variant=drawer]{inset:0 0 0 auto;width:min(440px,100vw);height:100dvh;max-height:100dvh;margin:0;border-radius:12px 0 0 12px}
.lc-window[data-window-variant=drawer][data-window-size=wide]{width:min(720px,100vw)}
.lc-window[data-window-variant=drawer]>.lc-window-body{max-height:none}
.lc-window[data-window-variant=drawer] .lc-window-header{cursor:default}
.lc-window[data-window-variant=drawer] [data-window-action=move]{display:none}
/* Existing workflow content stays inside its owner (Alpine/forms/HTMX). */
.lc-window-overlay>.lpw-backdrop,.lc-window-overlay>.lcp-backdrop,.lc-window-overlay>.tw-backdrop{display:none}
.lc-window--adopted :is(.lpw-body,.lcp-body,.rp-filter-fields){max-height:none;overflow:visible}
.lc-window--adopted :is(.lpw-header,.lcp-header,.rp-filter-heading){padding:0;border:0}
.lc-window--adopted :is(.nc-shell,.wa-modal-shell){max-height:none;height:auto}
.lc-window--adopted :is(.nc-panel,.wa-modal-body){min-height:0}
.lc-window--adopted :is(.tw-card,.tw-header){border:0;border-radius:0}
.lc-window--adopted .tw-card{margin:0;max-width:none}
.lc-window--adopted .tw-close{display:none}
.lc-window--adopted :is(.ck-dialog-actions,.lcal-dialog-actions){display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:20px}
.lc-window .fw-heading h2{display:none}
.lc-window .fw-layout{border-radius:8px}
.lc-window .fw-footer,.lc-window #submit-row{bottom:calc(-1 * var(--window-padding))}
.lc-window .fw-panels{padding:24px}
.lc-window .fw-workspace{max-width:none}
.lc-window .fw-status:empty{display:none}
.admin-modal-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;list-style:none;margin:0 0 16px;padding:0}
.admin-modal-tools:empty{display:none}
.admin-modal-tools>li{display:flex;flex:0 0 auto;list-style:none;margin:0;width:auto}
.admin-modal-tools>li>a{flex:0 0 auto;min-height:40px}
.lc-window-body .tw-card{max-width:none;margin:0;border:0;border-radius:0;background:transparent}
.lc-window-body .tw-header{padding:16px 24px}
.lc-window-body .tw-header h1,.lc-window-body .tw-kicker,.lc-window-body .tw-close{display:none}
.lc-window-body .tw-footer{position:sticky;bottom:0;background:var(--tw-surface);z-index:2}
@media(max-width:700px){
 .lc-window-dock{inset-inline:8px;bottom:max(8px,env(safe-area-inset-bottom));max-width:none}
 .lc-window-dock .lc-window-launch{max-width:100%}
 .lc-window-overlay{padding:0}
 .lc-window,.lc-window.is-maximized,dialog.lc-window.lc-window--adopted,.lc-window[data-window-size],.lc-window[data-window-kind=workspace],.lc-window[data-window-variant=drawer]{inset:0!important;width:100vw!important;height:100dvh!important;max-height:100dvh;margin:0;border-radius:0}
 .lc-window{--window-padding:16px}
 .lc-window.lc-window--adopted{--window-padding:16px}
 .lc-window-header{padding:10px 12px;cursor:default}
 .lc-window .lc-window-header h2{white-space:normal;font-size:16px}
 .lc-window-controls{gap:0}
 .lc-window-controls [data-window-action=move],.lc-window-controls [data-window-action=maximize]{display:none}
 .lc-window--adopted>.lc-window-body{max-height:none}
 .admin-modal-tools{justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){.lc-window-overlay,.lc-window,.lc-window *{scroll-behavior:auto}}
