body {
    background-color: #0a0a0a;
    color: #e0e0e0;
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    margin: 0;
    padding: 20px;
    max-width: 900px; /* Responsive container */
    margin: 0 auto;
}

header {
    border-bottom: 1px solid #333;
    padding-bottom: 20px;
    margin-bottom: 20px;
    text-align: center;
}

h1 { color: #fff; margin: 0; font-size: 2.5em; }
.descriptor { color: #aaa; margin: 5px 0; font-size: 1.1em; }
.slogan { color: #66d9ef; font-size: 0.9em; font-style: normal; letter-spacing: 1px; text-transform: uppercase; }

.card {
    background-color: #1a1a1a;
    border: 1px solid #333;
    padding: 20px;
    border-radius: 4px;
    margin-bottom: 20px;
}

button {
    background-color: #333;
    color: #fff;
    border: 1px solid #555;
    padding: 10px 20px;
    cursor: pointer;
    border-radius: 2px;
}

button:hover { background-color: #444; }
button:disabled { opacity: 0.5; cursor: not-allowed; }

input {
    width: 100%; /* Responsive */
    max-width: 400px;
    padding: 10px;
    background: #111;
    border: 1px solid #333;
    color: #fff;
    box-sizing: border-box;
    margin-bottom: 10px;
}

.neutral { border-left: 4px solid #555; }
.loading { border-left: 4px solid #f1c40f; }
.cleared { border-left: 4px solid #2ecc71; }
.not-cleared { border-left: 4px solid #e74c3c; }

/* Clearance Results UI */
.status-banner {
    font-size: 1.8em;
    font-weight: bold;
    padding: 10px;
    margin-bottom: 5px;
    text-align: center;
    color: #fff;
}
.summary-metrics {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
.metric-card {
    background: #222;
    padding: 15px;
    border-radius: 4px;
    flex: 1;
    text-align: center;
    min-width: 120px;
}
.decision-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.decision-item {
    background: #222;
    padding: 15px;
    border-radius: 4px;
    border-left: 4px solid #555;
}
.decision-item.cleared { border-left-color: #2ecc71; }
.decision-item.not-cleared { border-left-color: #e74c3c; }

.explanation-card {
    background: #222;
    padding: 20px;
    border-radius: 4px;
    border: 1px solid #333;
}

.evidence-panel {
    background: #252525;
    border: 1px solid #444;
    padding: 15px;
    border-radius: 4px;
    margin: 10px 0;
}

.source-badge {
    background: #333;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 0.8em;
    color: #fff;
    display: inline-block;
    margin-top: 5px;
}

.validation-message {
    color: #e74c3c;
    font-size: 0.9em;
    margin-top: 5px;
    display: none;
}

.trust-cue {
    font-size: 0.85em;
    color: #aaa;
    border-top: 1px solid #333;
    padding-top: 10px;
    margin-top: 20px;
    font-style: italic;
    text-align: center;
}

.error-heading {
    font-size: 1.2em;
    font-weight: bold;
    color: #e74c3c;
    margin-bottom: 5px;
}

.governance-cue {
    font-size: 0.8em;
    color: #888;
    margin-top: 10px;
    text-align: center;
    letter-spacing: 0.5px;
}
