/* Base Layout Reset */
body { 
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; 
    background-color: #f4f7f6; 
    color: #333; 
    margin: 0; 
    padding: 20px; 
}

.container { 
    max-width: 600px; 
    background: white; 
    padding: 30px; 
    border-radius: 12px; 
    box-shadow: 0 4px 15px rgba(0,0,0,0.1); 
    margin: 40px auto; 
}

h1 { 
    color: #2c3e50; 
    text-align: center; 
    font-size: 24px; 
    margin-bottom: 20px; 
}

h3, h4 { 
    color: #34495e; 
    margin-bottom: 15px; 
}

/* Form Elements */
label { 
    font-weight: bold; 
    display: block; 
    margin-top: 15px; 
    margin-bottom: 5px; 
}

.warning-label {
    margin-top: 20px; 
    color: #c0392b;
    cursor: pointer;
}

.warning-label input {
    width: auto; 
    display: inline-block; 
    margin-right: 10px;
}

select { 
    width: 100%; 
    padding: 10px; 
    border: 1px solid #ccc; 
    border-radius: 6px; 
    box-sizing: border-box; 
    font-size: 16px; 
    background-color: #fff;
}

/* UI Panels & Steps */
.step { 
    display: none; 
}

.step.active { 
    display: block; 
}

.sub-panel { 
    background: #fdfefe; 
    border: 1px dashed #bdc3c7; 
    padding: 15px; 
    border-radius: 6px; 
    margin-top: 15px; 
    display: none; 
}

/* Buttons */
button { 
    background-color: #3498db; 
    color: white; 
    padding: 12px 20px; 
    border: none; 
    border-radius: 6px; 
    cursor: pointer; 
    font-size: 16px; 
    font-weight: bold; 
    width: 100%; 
    margin-top: 20px; 
    transition: background 0.2s; 
}

button:hover { 
    background-color: #2980b9; 
}

.reset-btn {
    background-color: #7f8c8d;
}

.reset-btn:hover {
    background-color: #626567;
}

/* System Feedback & Results */
.error-box { 
    background-color: #fadbd8; 
    color: #78281f; 
    padding: 15px; 
    border-radius: 6px; 
    border-left: 5px solid #e74c3c; 
    margin-top: 15px; 
    display: none; 
    font-size: 14px; 
}

.success-box { 
    background-color: #d4efdf; 
    color: #145a32; 
    padding: 15px; 
    border-radius: 6px; 
    border-left: 5px solid #27ae60; 
    margin-top: 15px; 
    display: block; 
}

.summary { 
    background: #ebf5fb; 
    padding: 15px; 
    border-radius: 6px; 
    margin-top: 15px; 
    font-size: 14px; 
}

.summary ul {
    margin: 0;
    padding-left: 20px;
}

#quadripedia-link {
    display: inline-block; 
    background: #27ae60; 
    color: white; 
    padding: 12px 15px; 
    text-decoration: none; 
    border-radius: 6px; 
    font-weight: bold; 
    text-align: center; 
    width: calc(100% - 30px);
    transition: background 0.2s;
}

#quadripedia-link:hover {
    background: #1e8449;
}