.dw-root { position: fixed; inset: 0 auto auto 0; z-index: 150; pointer-events: none; font-family: "Manrope", "Segoe UI", sans-serif; font-size: 13px; color: var(--text); overflow: clip; }
.dw-root *, .dw-root *::before, .dw-root *::after { box-sizing: border-box; }
.dw-root[hidden], .dw-root [hidden] { display: none !important; }
.dw-stage { position: absolute; inset: 0 0 54px; pointer-events: none; }
.dw-window { position: absolute; display: flex; flex-direction: column; min-width: 0; min-height: 0; pointer-events: auto; background: var(--card); border: 1px solid var(--line-2); border-radius: 11px; box-shadow: 0 12px 38px #111b2624, 0 2px 6px #111b2614; overflow: hidden; }
.dw-window.is-focused { border-color: var(--blue); box-shadow: 0 16px 46px #111b262e, 0 2px 8px #111b261c; }
.dw-window.is-maximized { border-radius: 0; }
.dw-window { contain: layout style; transform-origin: top left; overscroll-behavior: contain; }
.dw-window.is-gesturing, .dw-window.is-animating { will-change: transform; }
.dw-titlebar { flex: 0 0 42px; display: flex; align-items: stretch; justify-content: space-between; min-width: 0; height: 42px; padding-left: 12px; background: var(--canvas); border-bottom: 1px solid var(--line); user-select: none; cursor: grab; touch-action: none; }
.dw-titlebar, .dw-controls { overscroll-behavior: none; }
.dw-window.is-focused .dw-titlebar { background: var(--blue-soft); }
.dw-title { display: flex; align-items: center; gap: 9px; min-width: 0; flex: 1; padding: 0; text-align: left; background: transparent; border: 0; color: var(--text); font-size: 12px; font-weight: 700; cursor: inherit; }
.dw-title-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dw-title-icon, .dw-popup-icon, .dw-group-icon { display: inline-flex; width: 18px; height: 18px; flex: 0 0 18px; color: var(--blue); }
.dw-root svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.dw-root svg * { vector-effect: non-scaling-stroke; }
.dw-controls { display: flex; align-items: stretch; flex: 0 0 auto; padding-left: 12px; }
.dw-control { display: inline-flex; align-items: center; justify-content: center; width: 37px; min-height: 34px; padding: 0; color: var(--soft); background: transparent; border: 0; border-radius: 0; cursor: pointer; }
.dw-control:hover { background: var(--line); color: var(--text); }
.dw-control.dw-close:hover { color: white; background: var(--red); }
.dw-content { display: block; flex: 1 1 0%; width: 100%; min-height: 0; border: 0; background: var(--canvas); }
.dw-loading { position: absolute; inset: 43px 0 0; display: grid; place-items: center; font-size: 13px; color: var(--soft); background: var(--canvas); pointer-events: none; }
.dw-dock { position: absolute; inset: auto 0 0; z-index: 10002; display: flex; align-items: center; gap: 6px; height: 54px; padding: 6px 12px; overflow: hidden; pointer-events: auto; background: var(--card); border-top: 1px solid var(--line-2); box-shadow: 0 -2px 14px #111b2609; }
.dw-dock-tabs { display: flex; align-items: center; gap: 6px; flex: 1 1 0%; min-width: 0; height: 100%; overflow-x: auto; overflow-y: hidden; overscroll-behavior: contain; scrollbar-width: thin; }
.dw-clock { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; flex: 0 0 auto; min-width: 88px; padding-left: 8px; color: var(--text); line-height: 1.2; white-space: nowrap; font-variant-numeric: tabular-nums; }
.dw-clock-time { font-size: 14px; font-weight: 600; }
.dw-clock-date { font-size: 12px; color: var(--soft); }
.dw-show-desktop { width: 36px; flex: 0 0 36px; height: 36px; margin-right: 4px; border-radius: 6px; }
.dw-group { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 39px; max-width: 240px; padding: 0 12px; flex: 0 0 auto; color: var(--soft); background: transparent; border: 1px solid transparent; border-radius: 7px; font-size: 11px; font-weight: 650; cursor: pointer; }
.dw-group:hover { background: var(--canvas); }
.dw-group.is-active { color: var(--text); background: var(--blue-soft); }
.dw-group.is-active::after { position: absolute; content: ""; height: 2px; width: 28px; bottom: 1px; left: calc(50% - 14px); border-radius: 1px; background: var(--blue); }
.dw-group-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dw-group-count { font-size: 10px; font-weight: 700; padding: 2px 5px; background: var(--canvas); border: 1px solid var(--line); border-radius: 4px; }
.dw-popup { position: absolute; z-index: 11000; min-width: 255px; max-width: min(390px, calc(100vw - 16px)); max-height: calc(100vh - 85px); overflow-y: auto; padding: 5px; pointer-events: auto; color: var(--text); background: var(--card); border: 1px solid var(--line-2); border-radius: 9px; box-shadow: 0 10px 30px #111b2626; }
.dw-popup-heading { padding: 8px 9px; font-size: 10px; color: var(--soft); font-weight: 750; border-bottom: 1px solid var(--line); margin-bottom: 3px; }
.dw-popup-item { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 9px; text-align: left; font-size: 12px; color: var(--text); background: transparent; border: 0; border-radius: 5px; cursor: pointer; }
.dw-popup-item:hover, .dw-popup-item:focus-visible { background: var(--blue-soft); }
.dw-popup-label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dw-popup-item small { flex: 0 0 auto; font-size: 10px; color: var(--soft); }
.dw-popup-item.is-danger { color: var(--red); }
.dw-popup, .dw-dock { overscroll-behavior: contain; }
.dw-snap-preview { position: absolute; z-index: 10000; pointer-events: none; background: color-mix(in srgb, var(--blue) 13%, transparent); border: 2px solid var(--blue); border-radius: 9px; }
.dw-drag-shield { position: absolute; inset: 0; z-index: 10001; pointer-events: auto; background: transparent; }
.desktop-dragging, .desktop-dragging * { user-select: none !important; }
.dw-resize { position: absolute; z-index: 3; touch-action: none; }
.dw-resize-n { top: 0; left: 7px; right: 7px; height: 4px; cursor: n-resize; }
.dw-resize-e { right: 0; top: 7px; bottom: 7px; width: 5px; cursor: e-resize; }
.dw-resize-s { bottom: 0; left: 7px; right: 7px; height: 5px; cursor: s-resize; }
.dw-resize-w { left: 0; top: 7px; bottom: 7px; width: 5px; cursor: w-resize; }
.dw-resize-ne, .dw-resize-nw, .dw-resize-se, .dw-resize-sw { width: 10px; height: 10px; }
.dw-resize-ne { top: 0; right: 0; cursor: ne-resize; }
.dw-resize-nw { top: 0; left: 0; cursor: nw-resize; }
.dw-resize-se { bottom: 0; right: 0; cursor: se-resize; }
.dw-resize-sw { bottom: 0; left: 0; cursor: sw-resize; }
.desktop-has-windows:not(.desktop-embedded) > body { padding-bottom: 54px; }
.desktop-embedded .sidebar, .desktop-embedded #sidebarBackdrop, .desktop-embedded #mobileMenu, .desktop-embedded [data-fullscreen-toggle] { display: none !important; }
.desktop-embedded .main, .desktop-embedded .app.nav-collapsed .main { margin-left: 0 !important; min-height: 100vh; width: 100%; }
.desktop-embedded .view { padding: 18px; max-width: none; }
.desktop-embedded .page-head { margin-bottom: 16px; }
.desktop-embedded .app { min-width: 0; }
.desktop-embedded .main { overflow-x: auto; }
.desktop-embedded, .desktop-embedded body { overscroll-behavior: none; }
.desktop-embedded .account-table-wrap { overscroll-behavior: auto; }
.desktop-embedded textarea, .desktop-embedded dialog { overscroll-behavior: contain; }
.toast { z-index: 250; }
.desktop-has-windows:not(.desktop-embedded) .toast { bottom: var(--desktop-toast-bottom, 70px); }
@media (max-width: 820px) { .dw-root { display: none !important; } .desktop-has-windows:not(.desktop-embedded) > body { padding-bottom: 0; } }
@media (prefers-reduced-motion: reduce) { .dw-root * { transition: none !important; } }
