*{
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

body {
background-color: #fef7f7;
color: #333;
line-height: 1.6;
}

.container {
max-width: 1200px;
margin: 0 auto;
padding: 20px;
}

/* Header Styles */
header {
text-align: center;
margin-bottom: 30px;
}

h1 {
color: #c62828;
font-size: 2.5rem;
margin-bottom: 10px;
}

/* Card Styles */
.card {
background: white;
border-radius: 10px;
box-shadow: 0 4px 15px rgba(198, 40, 40, 0.1);
padding: 25px;
margin-bottom: 25px;
border: 1px solid #ffebee;
}

.card-title {
font-size: 1.5rem;
color: #d32f2f;
margin-bottom: 20px;
border-bottom: 2px solid #ffebee;
padding-bottom: 10px;
}

/* Form Styles */
.form-group {
margin-bottom: 20px;
}

label {
display: block;
margin-bottom: 8px;
font-weight: 600;
color: #c62828;
white-space: nowrap;
}

select,
input,
textarea {
width: 100%;
padding: 12px 15px;
border: 1px solid #ffcdd2;
border-radius: 5px;
font-size: 1rem;
transition: border-color 0.3s;
}

select:focus,
input:focus,
textarea:focus {
border-color: #d32f2f;
outline: none;
}

/* Button Styles */
.btn {
display: inline-block;
background: #d32f2f;
color: white;
padding: 12px 25px;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 1rem;
font-weight: 600;
transition: background 0.3s;
text-align: center;
text-decoration: none;
}

.btn:hover {
background: #b71c1c;
}

.btn-block {
display: block;
width: 100%;
}

.btn:disabled {
background: #ffcdd2;
cursor: not-allowed;
}

/* Grid Layout */
.row {
display: flex;
flex-wrap: wrap;
margin: 0 -15px;
}

.col {
flex: 1;
padding: 0 15px;
min-width: 300px;
}

/* Stats Display */
.stats-container {
display: flex;
justify-content: space-between;
margin: 20px 0;
}

.stat-box {
background: #fff5f5;
border-radius: 8px;
padding: 20px;
text-align: center;
flex: 1;
margin: 0 10px;
box-shadow: 0 2px 5px rgba(198, 40, 40, 0.1);
}

.stat-value {
font-size: 2rem;
font-weight: bold;
color: #d32f2f;
margin-bottom: 5px;
}

.stat-label {
color: #c62828;
font-size: 0.9rem;
}

/* Navigation */
.nav-tabs {
display: flex;
border-bottom: 1px solid #ffcdd2;
margin-bottom: 20px;
flex-wrap: wrap;
}

.nav-tab {
padding: 10px 20px;
cursor: pointer;
border-bottom: 3px solid transparent;
transition: all 0.3s;
}

.nav-tab.active {
border-bottom: 3px solid #d32f2f;
color: #d32f2f;
font-weight: 600;
}

.nav-tab.disabled {
color: #ffcdd2;
cursor: not-allowed;
}

/* Checkbox Styles */
.checkbox-group {
display: flex;
flex-wrap: wrap;
gap: 15px;
margin-top: 10px;
}

.checkbox-item {
display: flex;
align-items: center;
margin-bottom: 10px;
flex: 1 1 200px;
}

.checkbox-item input[type="checkbox"] {
width: auto;
margin-right: 10px;
transform: scale(1.2);
accent-color: #d32f2f;
}

.checkbox-label {
font-weight: normal;
margin-bottom: 0;
}

/* Zone and Month Selection Styles */
.selection-container {
background: #fff5f5;
border-radius: 8px;
padding: 15px;
margin-top: 15px;
}

.selection-title {
font-weight: 600;
margin-bottom: 10px;
color: #c62828;
}

.selected-items {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-top: 10px;
}

.selected-item {
background: #d32f2f;
color: white;
padding: 5px 10px;
border-radius: 20px;
font-size: 0.9rem;
display: flex;
align-items: center;
}

.selected-item .remove {
margin-left: 5px;
cursor: pointer;
font-weight: bold;
}

/* Zone Lists Styles */
.zones-container {
margin-top: 20px;
}

.zone-section {
margin-bottom: 25px;
border: 1px solid #ffebee;
border-radius: 8px;
overflow: hidden;
}

.zone-header {
background: #d32f2f;
color: white;
padding: 12px 15px;
font-weight: 600;
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
}

.zone-header:hover {
background: #b71c1c;
}

.zone-content {
padding: 15px;
background: #fff5f5;
display: none;
}

.zone-content.active {
display: block;
}

.zone-list {
list-style-type: none;
columns: 2;
column-gap: 20px;
}

.zone-list li {
margin-bottom: 8px;
padding-left: 15px;
position: relative;
break-inside: avoid;
}

.zone-list li:before {
content: "•";
color: #d32f2f;
position: absolute;
left: 0;
}

/* Validation Styles */
.validation-message {
color: #d32f2f;
font-size: 0.9rem;
margin-top: 5px;
display: none;
}

.validation-message.show {
display: block;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
.stats-container {
flex-direction: column;
}

.stat-box {
margin: 10px 0;
}

.row {
flex-direction: column;
}

.col {
margin-bottom: 20px;
}

h1 {
font-size: 2rem;
}

.nav-tabs {
flex-direction: column;
}

.nav-tab {
text-align: center;
}

.zone-list {
columns: 1;
}
}

/* Hidden sections */
.section {
display: none;
}

.section.active {
display: block;
}

.toggle-icon {
transition: transform 0.3s;
}

.zone-header.active .toggle-icon {
transform: rotate(180deg);
}