.tp-extjs {
  background: linear-gradient(135deg, #dfe8f6 0%, #edf2fb 40%, #1652a3 100%);
}
.tp-extjs::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 8px;
  background: linear-gradient(to bottom, #c0d5ec, #7ea8cc);
  border-radius: inherit;
}

[data-theme="extjs"] body { font-family: Tahoma, 'Segoe UI', Verdana, sans-serif; font-size: 12px; }
[data-theme="extjs"] .window { border-radius: 3px 3px 0 0 !important; border: 2px solid #4a7ec0 !important; box-shadow: 3px 3px 10px rgba(0,0,0,.4), inset 0 0 0 1px rgba(255,255,255,.25) !important; }
[data-theme="extjs"] .window-titlebar { height: 26px; background: linear-gradient(to bottom, #5b8fcc 0%, #4a7ec0 20%, #2e62ae 60%, #1e4e9a 100%) !important; border-bottom: 1px solid #1a4090; border-radius: 1px 1px 0 0; padding: 0 2px 0 4px; }
[data-theme="extjs"] .window-title { font-size: 11px; font-weight: bold; color: #fff !important; text-shadow: 1px 1px 2px rgba(0,0,0,.5); order: 1; }
[data-theme="extjs"] .window-controls { order: 10; gap: 1px; margin-left: 0; align-items: center; }
[data-theme="extjs"] .wbtn-popout { order: 9; margin-left: 0; }
[data-theme="extjs"] .wbtn-min   { order: 1; }
[data-theme="extjs"] .wbtn-max   { order: 2; }
[data-theme="extjs"] .wbtn-close { order: 3; }
[data-theme="extjs"] .wbtn { width: 22px; height: 20px; border-radius: 2px; background: linear-gradient(to bottom, #e4eefa 0%, #b8cfea 100%); border: 1px solid #6a9ed4; font-size: 11px; font-weight: bold; color: #1a1a1a; box-shadow: inset 0 1px 0 rgba(255,255,255,.7), inset 0 -1px 0 rgba(0,0,0,.1); }
[data-theme="extjs"] .wbtn:hover { filter: none; background: linear-gradient(to bottom, #f4f8ff 0%, #ccddf2 100%); border-color: #4a8ed4; }
[data-theme="extjs"] .wbtn-close { background: linear-gradient(to bottom, #e87050 0%, #c04030 100%); border-color: #a03020; color: #fff !important; font-size: 12px; box-shadow: inset 0 1px 0 rgba(255,255,255,.4); }
[data-theme="extjs"] .wbtn-close:hover { background: linear-gradient(to bottom, #f08060 0%, #d05040 100%) !important; border-color: #b04030 !important; }
[data-theme="extjs"] .taskbar { height: 40px; background: linear-gradient(to bottom, #1c6acf 0%, #1254b0 30%, #0d3e96 70%, #0a2f80 100%); border-top: 2px solid #4a8fd5; box-shadow: 0 -2px 0 #0a2060; }
[data-theme="extjs"] .taskbar-sep-v { display: none; }
[data-theme="extjs"] .taskbar-launcher-btn { height: 40px; padding: 0 18px 0 12px; margin: 0; border-radius: 0 18px 18px 0; background: linear-gradient(to bottom, #6cd050 0%, #42b830 35%, #30a020 65%, #239014 100%); border: 1px solid #1a7010; border-left: none; font-size: 0; color: #fff !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.45), inset -1px 0 0 rgba(0,0,0,.15), 2px 0 6px rgba(0,0,0,.3); flex-shrink: 0; position: relative; min-width: 74px; }
[data-theme="extjs"] .taskbar-launcher-btn svg { display: none; }
[data-theme="extjs"] .taskbar-launcher-btn::before { content: 'start'; font-family: Tahoma, Franklin Gothic Medium, sans-serif; font-size: 14px; font-weight: bold; font-style: italic; color: #fff; text-shadow: 1px 1px 2px rgba(0,0,0,.55); letter-spacing: 0.5px; }
[data-theme="extjs"] .taskbar-launcher-btn:hover { background: linear-gradient(to bottom, #7adc5e 0%, #52c840 35%, #40b030 65%, #2da020 100%); }
[data-theme="extjs"] .taskbar-launcher-btn.active { background: linear-gradient(to bottom, #30a020 0%, #239014 100%); box-shadow: inset 0 2px 4px rgba(0,0,0,.3); }
[data-theme="extjs"] .taskbar-entry { height: 30px; border-radius: 2px; background: linear-gradient(to bottom, #5da8e0 0%, #3080c0 50%, #1e62a8 100%); border: 1px solid #1a52a0; color: #fff; font-size: 11px; font-weight: bold; box-shadow: inset 0 1px 0 rgba(255,255,255,.25), inset 0 -1px 0 rgba(0,0,0,.15); text-shadow: 1px 1px 1px rgba(0,0,0,.4); }
[data-theme="extjs"] .taskbar-entry:hover { background: linear-gradient(to bottom, #70b8f0 0%, #4090d0 50%, #2a70b8 100%); border-color: #2a62b0; }
[data-theme="extjs"] .taskbar-entry.active { background: linear-gradient(to bottom, #1a50a0 0%, #2e6ec0 100%); border-color: #1a4080; box-shadow: inset 0 2px 4px rgba(0,0,0,.35); }
[data-theme="extjs"] .te-indicator { display: none; }
[data-theme="extjs"] .taskbar-tray { background: linear-gradient(to bottom, #0f52b2 0%, #0a3890 100%); border-left: 2px solid #4a7ed5; color: #fff; padding: 0 8px; }
[data-theme="extjs"] .taskbar-tray * { color: #fff !important; }
[data-theme="extjs"] .tray-clock { font-size: 11px; text-align: center; }
[data-theme="extjs"] .tray-clock-time { color: #fff !important; font-size: 12px; font-weight: bold; }
[data-theme="extjs"] .tray-clock-date { color: rgba(255,255,255,.85) !important; }
[data-theme="extjs"] .tray-user { color: #fff !important; border-color: transparent; }
[data-theme="extjs"] .tray-user:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.2); }
[data-theme="extjs"] .tray-name { color: #fff !important; }
[data-theme="extjs"] .app-launcher { bottom: 40px; left: 0; width: 340px; max-height: 560px; border-radius: 6px 6px 0 0; background: #f0f4fb; border: 1px solid #5a87b0; box-shadow: 4px -4px 20px rgba(0,0,0,.4); }
[data-theme="extjs"] .launcher-user-hero { background: linear-gradient(to bottom, #4a8fd5 0%, #1652a3 100%); border-bottom: 1px solid #4a7ea8; padding: 10px 12px; }
[data-theme="extjs"] .luh-name  { color: #ffffff; font-weight: bold; }
[data-theme="extjs"] .luh-uname { color: rgba(255,255,255,.7); }
[data-theme="extjs"] .luh-avatar { border: 2px solid rgba(255,255,255,.4); }
[data-theme="extjs"] .launcher-search { background: #fff; border: 1px solid #8db1d4; color: #1a1a1a; border-radius: 2px; }
[data-theme="extjs"] .launcher-search:focus { border-color: #2166a4; }
[data-theme="extjs"] .la-section-hdr { color: #2166a4; font-weight: bold; }
[data-theme="extjs"] .la-cat-hdr { color: #2166a4; border-top-color: #c0d4ec; background: linear-gradient(to bottom, #e8f0fa, #d8e8f4); font-weight: bold; }
[data-theme="extjs"] .la-name   { color: #1a1a1a; }
[data-theme="extjs"] .launcher-app:hover { background: #c9ddf7; }
[data-theme="extjs"] .luh-settings-btn,
[data-theme="extjs"] .luh-logout-btn  { color: rgba(255,255,255,.75); }
[data-theme="extjs"] .luh-settings-btn:hover { background: rgba(255,255,255,.15); color: #fff; }
[data-theme="extjs"] .luh-logout-btn:hover   { background: rgba(200,60,60,.3); color: #ffd0d0; }
[data-theme="extjs"] .la-all-apps-btn { color: #2166a4; font-weight: bold; }
[data-theme="extjs"] .la-back-btn     { color: #5a87a0; }
[data-theme="extjs"] #context-menu { background: #f5f8fd; border: 1px solid #8db1d4; border-radius: 2px; box-shadow: 2px 2px 8px rgba(0,0,0,.25); }
[data-theme="extjs"] .ctx-item:hover { background: linear-gradient(to right, #bacde8, #c8daee); color: #1a1a1a; }
[data-theme="extjs"] .wos-dialog { background: #edf2fb; border: 1px solid #8db1d4; border-radius: 3px; }
[data-theme="extjs"] .wos-dialog-title-bar { background: linear-gradient(to bottom, #c0d5ec 0%, #7ea8cc 50%, #5f94be 100%); border-bottom: 1px solid #4a7ea8; border-radius: 2px 2px 0 0; color: #fff; text-shadow: 1px 1px 2px rgba(0,0,0,.4); }
[data-theme="extjs"] .wos-dialog-btn { background: linear-gradient(to bottom, #e8f0fa 0%, #bdd0e8 100%); border: 1px solid #7eadd4; border-radius: 2px; color: #1a1a1a; font-size: 11px; box-shadow: inset 0 1px 0 rgba(255,255,255,.6); }
[data-theme="extjs"] .wos-dialog-btn:hover { background: linear-gradient(to bottom, #f4f8ff 0%, #c8daee 100%); }
[data-theme="extjs"] .wos-dialog-btn-primary { background: linear-gradient(to bottom, #5294cc 0%, #2e72b4 100%); border-color: #1a52a0; color: #fff; }
[data-theme="extjs"] .wos-dialog-btn-primary:hover { background: linear-gradient(to bottom, #66aadd 0%, #3a82c4 100%); }
[data-theme="extjs"] ::-webkit-scrollbar { width: 14px; height: 14px; }
[data-theme="extjs"] ::-webkit-scrollbar-track { background: #dfe8f6; border: 1px solid #b0c8de; }
[data-theme="extjs"] ::-webkit-scrollbar-thumb { background: linear-gradient(to right, #c8daee, #9ab8d8, #c8daee); border: 1px solid #8db1d4; border-radius: 0; }
[data-theme="extjs"] ::-webkit-scrollbar-thumb:hover { background: linear-gradient(to right, #b8cae0, #88aacc, #b8cae0); }
[data-theme="extjs"] ::-webkit-scrollbar-button { display: block; background: linear-gradient(to bottom, #d8e8f8, #b0c8de); border: 1px solid #8db1d4; }
[data-theme="extjs"] .wm-window-body,
[data-theme="extjs"] .window-body { background: #dfe8f6; }
[data-theme="extjs"] .desktop-icon-label { background: rgba(0,60,140,0.5); border-radius: 1px; padding: 1px 3px; }
[data-theme="extjs"] .wos-widget { background: #dfe8f6; backdrop-filter: none; -webkit-backdrop-filter: none; border: 1px solid #7eadd4; border-radius: 3px; box-shadow: 2px 2px 10px rgba(0,0,0,.28); }
[data-theme="extjs"] .wos-widget-hd { background: linear-gradient(to bottom, #c0d5ec 0%, #7ea8cc 50%, #5f94be 100%); border-bottom: 1px solid #4a7ea8; border-radius: 2px 2px 0 0; }
[data-theme="extjs"] .wos-widget-title { color: #fff !important; opacity: 1; text-shadow: 1px 1px 2px rgba(0,0,0,.4); }
[data-theme="extjs"] .wos-widget-icon { opacity: 0.9; color: #fff; }
[data-theme="extjs"] .wos-widget-icon svg { stroke: #fff; }
[data-theme="extjs"] .wos-widget-btn { color: #fff; }
[data-theme="extjs"] .wos-widget-btn:hover { background: rgba(255,255,255,.2); opacity: 1 !important; }
[data-theme="extjs"] .wos-widget-bd { background: #dfe8f6; color: #1a1a1a; }
[data-theme="extjs"] .wos-widget-resize-handle::after { background: rgba(0,0,0,.2); }
[data-theme="extjs"] .wos-widget-resize-handle:hover::after { background: var(--accent); }
[data-theme="extjs"] .wos-widget-resize-e,
[data-theme="extjs"] .wos-widget-resize-w { border-color: #7eadd4; }
