body {
    margin: 0;
    font-family: Arial, sans-serif;
    background: #f3f4f6;
}

/* HEADER */
.header {
    background: white;
    padding: 15px 20px;
    border-bottom: 1px solid #ddd;
}

.header h1 {
    margin: 0;
    font-size: 22px;
}

.header p {
    margin: 5px 0 0;
    color: #666;
}

/* MAIN LAYOUT */
#mainContainer {
    display: flex;
    height: calc(100vh - 140px);
}

.panel {
    width: 50%;
    background: white;
    display: flex;
    flex-direction: column;
    border-right: 1px solid #ddd;
}

.panel:last-child {
    border-right: none;
}

.panel-header {
    padding: 10px 15px;
    font-weight: bold;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
}

/* EDITORS */
.editor {
    flex: 1;
    border: none;
    padding: 15px;
    font-family: monospace;
    font-size: 14px;
    outline: none;
    resize: none;
}

#output {
    flex: 1;
    padding: 15px;
    font-family: monospace;
    font-size: 14px;
    overflow: auto;
    background: #f9fafb;
}

/* ACTION BAR */
#actionBar {
    background: white;
    padding: 10px;
    border-top: 1px solid #ddd;
    display: flex;
    gap: 10px;
}

/* BUTTONS */
button {
    padding: 8px 12px;
    border: none;
    cursor: pointer;
    border-radius: 4px;
    color: white;
}

.btn-blue { background: #3b82f6; }
.btn-indigo { background: #6366f1; }
.btn-gray { background: #6b7280; }
.btn-red { background: #ef4444; }
.btn-yellow { background: #f59e0b; }
.btn-green { background: #10b981; }

/* DIFF COLORS */
.diff-missing { background: #fee2e2; } /* red */
.diff-extra { background: #dcfce7; }   /* green */
.diff-change { background: #fef9c3; }  /* yellow */