body {
    background-color: #3A6EA5; /* Desktop background color */
    font-family: 'Tahoma', sans-serif;
    font-size: 11px;
    margin: 0;
    padding: 20px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    min-height: 100vh;
}

/* Window Container */
.window {
    background-color: #D4D0C8;
    border: 1px solid #D4D0C8;
    box-shadow: 
        inset 1px 1px #FFFFFF, 
        inset -1px -1px #404040,
        1px 1px #000000;
    padding: 3px;
    width: 100%;
    max-width: 800px;
}

/* Title Bar */
.title-bar {
    background: linear-gradient(90deg, #000080, #1084d0);
    padding: 3px 2px 3px 3px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.title-bar-text {
    color: white;
    font-weight: bold;
    font-size: 11px;
    margin-left: 2px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.title-bar-controls {
    display: flex;
    gap: 2px;
}

.title-bar-controls button {
    min-width: 16px;
    min-height: 14px;
    padding: 0;
    font-size: 9px;
    font-weight: bold;
    line-height: 10px;
}

/* Window Body */
.window-body {
    margin: 10px;
}

/* Buttons */
button {
    background-color: #D4D0C8;
    border: 1px solid #404040;
    box-shadow: 
        inset 1px 1px #FFFFFF, 
        inset -1px -1px #808080;
    color: black;
    font-family: 'Tahoma', sans-serif;
    font-size: 11px;
    padding: 4px 10px;
    min-width: 75px;
    cursor: pointer;
}

button:active {
    box-shadow: 
        inset 1px 1px #808080, 
        inset -1px -1px #FFFFFF;
    padding: 5px 9px 3px 11px; /* Shift text */
}

button:disabled {
    color: #808080;
    text-shadow: 1px 1px #FFFFFF;
}

/* Inputs */
input[type="text"], input[type="password"], textarea, select {
    border: 1px solid #7F9DB9; /* XP-ish, but 2k usually used inset 3D */
    border: 2px solid #D4D0C8;
    border-top-color: #404040;
    border-left-color: #404040;
    border-right-color: #FFFFFF;
    border-bottom-color: #FFFFFF;
    background-color: white;
    padding: 3px;
    font-family: 'Tahoma', sans-serif;
    font-size: 11px;
}

/* Group Box / Fieldset */
fieldset {
    border: 2px solid #D4D0C8;
    border-top-color: #FFFFFF;
    border-left-color: #FFFFFF;
    border-right-color: #404040;
    border-bottom-color: #404040;
    padding: 10px;
    margin-bottom: 10px;
    position: relative;
}

/* To make it look like a proper groupbox, we need a legend hack or specific border style */
.group-box {
    border: 1px solid #D4D0C8;
    box-shadow: 
        -1px -1px #FFFFFF, 
        -1px 0 #FFFFFF, 
        0 -1px #FFFFFF,
        1px 1px #FFFFFF, 
        1px 0 #FFFFFF, 
        0 1px #FFFFFF; 
    /* This is hard to replicate exactly with simple CSS, let's stick to inset/outset */
    border: 1px solid #808080;
    border-bottom-color: #FFFFFF;
    border-right-color: #FFFFFF;
    border-top-color: #808080;
    border-left-color: #808080;
    
    position: relative;
    margin-top: 10px;
    padding: 10px;
}

.group-box-label {
    position: absolute;
    top: -7px;
    left: 10px;
    background-color: #D4D0C8;
    padding: 0 3px;
}

/* Tables */
table {
    border-collapse: collapse;
    width: 100%;
}

td, th {
    padding: 5px;
}

/* Custom Scrollbar (Webkit) */
::-webkit-scrollbar {
    width: 16px;
    background: #D4D0C8;
}

::-webkit-scrollbar-button {
    background: #D4D0C8;
    border: 1px solid #D4D0C8;
    box-shadow: inset 1px 1px #FFFFFF, inset -1px -1px #404040;
    height: 16px;
}

::-webkit-scrollbar-track {
    background: #e0e0e0; /* Checkerboard pattern usually */
}

::-webkit-scrollbar-thumb {
    background: #D4D0C8;
    border: 1px solid #D4D0C8;
    box-shadow: inset 1px 1px #FFFFFF, inset -1px -1px #404040;
}

/* Utility classes */
.inset-box {
    background-color: white;
    border: 2px solid #D4D0C8;
    border-top-color: #404040;
    border-left-color: #404040;
    border-right-color: #FFFFFF;
    border-bottom-color: #FFFFFF;
    padding: 2px;
}

.status-bar {
    margin-top: 5px;
    border: 1px solid #808080;
    border-top-color: #808080;
    border-left-color: #808080;
    border-right-color: #FFFFFF;
    border-bottom-color: #FFFFFF;
    padding: 2px 5px;
    color: #000;
}

a {
    color: #000080;
}
