/* --- TEMA & VARIABEL WARNA --- */
:root {
    --primary: #6a1b9a;      /* Ungu Utama */
    --primary-dark: #4a148c; /* Ungu Gelap */
    --light-bg: #f3e5f5;     /* Ungu Muda Background */
    --white: #ffffff;
    --text-main: #333333;
    --border: #cccccc;
    --danger: #d32f2f;
    --success: #2e7d32;
    --blue-header: #e3f2fd;  /* Biru Muda untuk Header Kategori */
    --blue-text: #1565c0;    /* Biru Tua untuk Teks Header */
    --gray-header: #eeeeee;  /* Abu untuk Header Identitas */
}

body {
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    background-color: #f7f9fc;
    margin: 0;
    padding: 20px;
    color: var(--text-main);
    display: flex;
    justify-content: center;
    min-height: 100vh;
}

.container {
    width: 100%;
    max-width: 900px;
    background: var(--white);
    border-radius: 12px;
    box-shadow: 0 8px 20px rgba(106, 27, 154, 0.1);
    overflow: hidden;
    position: relative;
    padding: 40px;
}

/* --- UTILITAS --- */
.hidden { display: none !important; }
.fade-in { animation: fadeIn 0.4s ease-in-out; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

h1 { color: var(--primary); text-align: center; margin-bottom: 20px; font-size: 1.8rem; }
h2 { color: var(--primary); font-size: 1.4rem; margin-bottom: 5px; font-weight: 700; }
.sub-header { color: var(--primary); font-size: 1.1rem; border-bottom: 1px solid #ddd; padding-bottom: 15px; margin-bottom: 25px; }

/* --- START SCREEN --- */
.welcome-text { text-align: center; line-height: 1.6; color: #555; margin-bottom: 30px; }
.alert-box {
    background-color: #f3e5f5; /* Ungu pudar sesuai gambar */
    border-left: 6px solid var(--primary);
    padding: 20px;
    border-radius: 6px;
    margin-bottom: 30px;
    font-size: 0.95rem;
}
.btn-start {
    background-color: var(--primary); color: white;
    font-size: 1.1rem; font-weight: bold; width: 100%; padding: 15px;
    border: none; border-radius: 8px; cursor: pointer; transition: 0.3s;
}
.btn-start:hover { background-color: var(--primary-dark); }

/* --- FORM STYLES (IDENTITAS - PAPER LOOK) --- */
.section-header {
    background-color: var(--gray-header);
    padding: 10px 15px;
    font-weight: bold;
    text-align: center;
    margin: 25px 0 20px 0;
    border-radius: 4px;
    text-transform: uppercase;
    font-size: 0.95rem;
    letter-spacing: 1px;
    color: #333;
}

.form-row {
    display: flex;
    margin-bottom: 15px;
    align-items: flex-start;
}
.label-col {
    width: 35%;
    font-weight: 500;
    min-width: 200px;
    padding-top: 5px; /* Align with text input */
}
.input-col {
    width: 65%;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

/* Input garis titik-titik (Paper style) */
.paper-input {
    border: none;
    border-bottom: 1px dotted #333;
    width: 100%;
    outline: none;
    padding: 2px 5px;
    background: transparent;
    font-family: inherit;
    font-size: 1rem;
}
.paper-input:focus { border-bottom: 1px solid var(--primary); }

.radio-inline label {
    display: inline-flex;
    align-items: center;
    margin-right: 20px;
    font-size: 0.95rem;
    cursor: pointer;
}
input[type="checkbox"], input[type="radio"] {
    accent-color: var(--primary);
    margin-right: 6px;
    transform: scale(1.2);
}

/* --- TABLE STYLES (KLINIS) --- */
.clinical-wrapper { margin-bottom: 30px; border: 1px solid #ddd; border-radius: 6px; overflow: hidden; }

.clinical-title {
    background-color: var(--blue-header); /* Biru Muda */
    padding: 12px 15px;
    font-weight: bold;
    color: var(--blue-text); /* Biru Tua */
    border-bottom: 1px solid #ddd;
    font-size: 1.05rem;
}

table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
td { padding: 12px 15px; border-bottom: 1px solid #eee; vertical-align: top; }

.check-list { display: flex; flex-direction: column; gap: 5px; }

/* --- NAVIGASI --- */
.nav-buttons { display: flex; justify-content: space-between; margin-top: 40px; gap: 15px; }
.btn-nav {
    flex: 1; padding: 12px; border-radius: 6px; border: none;
    font-weight: bold; cursor: pointer; font-size: 1rem;
}
.btn-prev { background: #e0e0e0; color: #333; }
.btn-prev:hover { background: #d0d0d0; }
.btn-next { background: var(--primary); color: white; }
.btn-next:hover { background: var(--primary-dark); }

/* --- RESULT --- */
.result-box { padding: 25px; border-radius: 8px; margin-bottom: 20px; text-align: left; }
.risk-alert { background: #ffebee; border: 2px solid var(--danger); color: var(--danger); }
.risk-safe { background: #e8f5e9; border: 2px solid var(--success); color: var(--success); }
.item-risk { display: flex; align-items: flex-start; margin-bottom: 5px; font-weight: 600; color: #333; }
.item-risk::before { content: "⚠️ "; margin-right: 10px; }