.app-window{position:absolute;background:#ece9d8;border:2px outset #d4d0c8;display:flex;flex-direction:column;min-width:300px;min-height:180px;box-shadow:2px 2px 8px rgba(0,0,0,0.4);z-index:100;pointer-events:auto}
.app-window.focused{z-index:200}
.window-titlebar{display:flex;align-items:center;height:26px;background:linear-gradient(180deg,#0a246a 0%,#3a6ea5 40%,#0a246a 100%);padding:0 4px;cursor:move;flex-shrink:0}
.focused .window-titlebar{background:linear-gradient(180deg,#0a246a 0%,#3a6ea5 40%,#0a246a 100%)}
.window-titlebar{background:linear-gradient(180deg,#7f9db9 0%,#b0c4d8 40%,#7f9db9 100%)}
.focused .window-titlebar{background:linear-gradient(180deg,#0a246a 0%,#3a6ea5 40%,#0a246a 100%)}
.window-title{flex:1;font-family:Tahoma,sans-serif;font-size:12px;color:#d4d0c8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:bold;text-shadow:1px 1px 1px rgba(0,0,0,0.5);padding-left:4px}
.focused .window-title{color:#fff}
.window-controls{display:flex;gap:2px}
.window-ctrl-btn{width:21px;height:21px;border:1px outset #d4d0c8;background:#ece9d8;color:#000;font-size:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-family:Tahoma,sans-serif;line-height:1;padding:0}
.window-ctrl-btn:hover{background:#d4d0c8}
.window-ctrl-btn:active{border-style:inset}
.window-ctrl-btn.close-btn{background:#c75050;color:#fff;border-color:#e06060}
.window-ctrl-btn.close-btn:hover{background:#e06060}
.window-body{flex:1;overflow:auto;position:relative;font-family:Tahoma,sans-serif;font-size:12px;color:#000;background:#fff;border:2px inset #808080}
.window-body::-webkit-scrollbar{width:16px}
.window-body::-webkit-scrollbar-track{background:#f0f0f0;border:1px solid #d4d0c8}
.window-body::-webkit-scrollbar-thumb{background:#c0c0c0;border:1px outset #d4d0c8}
.window-body::-webkit-scrollbar-thumb:hover{background:#a0a0a0}
.window-resize-handle{position:absolute;bottom:0;right:0;width:14px;height:14px;cursor:nwse-resize;z-index:10}
.window-maximized{top:0!important;left:0!important;width:100%!important;height:calc(100% - 30px)!important;border:none}
.window-maximized .window-resize-handle{display:none}
