.cg-form { max-width: 600px; margin: 0 auto; }

.cg-fieldset {
  border: 1px solid var(--g3); border-radius: var(--radius);
  padding: 24px; margin-bottom: 24px;
}

.cg-fieldset legend {
  font-family: var(--font-d); font-size: 20px;
  font-weight: 700; color: var(--charcoal); padding: 0 8px;
}

.cg-label {
  display: block; font-size: 14px; font-weight: 600;
  color: var(--g1); margin-bottom: 16px;
}

.cg-input {
  display: block; width: 100%; margin-top: 6px;
  padding: 10px 14px; border: 1px solid var(--g3);
  border-radius: 8px; font-size: 15px;
  font-family: var(--font-b); background: var(--white);
}

.cg-input:focus { border-color: var(--terra); outline: none; }

.cg-textarea { min-height: 100px; resize: vertical; }

.cg-checks { display: flex; flex-wrap: wrap; gap: 12px; }

.cg-check-label {
  display: flex; align-items: center; gap: 6px;
  font-size: 14px; color: var(--charcoal); cursor: pointer;
  padding: 8px 14px; background: var(--snow);
  border-radius: 8px; border: 1px solid var(--g3);
}

.cg-check-label:has(input:checked) {
  background: var(--terra-soft); border-color: var(--terra);
}

.cg-submit { width: 100%; margin-top: 8px; text-align: center; }

.cg-errors {
  background: #fef2f2; border: 1px solid #fecaca;
  border-radius: var(--radius); padding: 16px; margin-bottom: 24px;
  color: #991b1b; font-size: 14px;
}

/* Show page */
.cg-section { margin-bottom: 40px; }

.cg-section-title {
  font-family: var(--font-d); font-size: 24px;
  color: var(--charcoal); margin-bottom: 20px;
  padding-bottom: 8px; border-bottom: 2px solid var(--terra);
}

.cg-card {
  background: var(--white); border-radius: var(--radius);
  box-shadow: var(--shadow); padding: 24px; margin-bottom: 20px;
}

.cg-card-area {
  font-family: var(--font-d); font-size: 20px;
  color: var(--charcoal); margin-bottom: 16px;
}

.cg-bilingual { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

@media (max-width: 640px) {
  .cg-bilingual { grid-template-columns: 1fr; }
}

.cg-col { padding: 16px; border-radius: 8px; }
.cg-col--do { background: #f0fdf4; }
.cg-col--dont { background: #fef2f2; }

.cg-badge {
  display: inline-block; font-size: 11px; font-weight: 700;
  letter-spacing: 0.08em; padding: 4px 10px;
  border-radius: 4px; margin-bottom: 8px;
}

.cg-badge--do { background: #bbf7d0; color: #166534; }
.cg-badge--dont { background: #fecaca; color: #991b1b; }

.cg-en { font-size: 15px; color: var(--charcoal); margin-bottom: 4px; }

.cg-tr {
  font-size: 14px; color: var(--g1);
  font-style: italic; border-left: 3px solid var(--terra);
  padding-left: 10px; margin-top: 4px;
}

.cg-why {
  margin-top: 16px; padding-top: 12px;
  border-top: 1px solid var(--g3); font-size: 14px;
}

.cg-routine-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }

@media (max-width: 640px) {
  .cg-routine-grid { grid-template-columns: 1fr; }
}

.cg-routine-card {
  background: var(--snow); border-radius: var(--radius);
  padding: 20px; text-align: center;
}

.cg-routine-card h3 {
  font-family: var(--font-d); font-size: 16px;
  color: var(--terra); margin-bottom: 8px;
}

.cg-routine-card p { font-size: 14px; color: var(--g1); }

.cg-emergency-card {
  background: #fef2f2; border: 2px solid #fecaca;
  border-radius: var(--radius); padding: 24px;
}

.cg-emergency-item {
  display: flex; gap: 8px; margin-bottom: 12px;
  font-size: 15px; color: var(--charcoal);
}

.cg-emergency-item:last-child { margin-bottom: 0; }

.cg-cultural-card {
  background: var(--terra-soft); border-radius: var(--radius);
  padding: 24px; font-size: 15px; line-height: 1.7;
  color: var(--charcoal);
}

.cg-status {
  text-align: center; padding: 48px 24px;
  background: var(--snow); border-radius: var(--radius);
}

.cg-status h2 { font-family: var(--font-d); margin-bottom: 8px; }
.cg-status p { color: var(--g1); }
.cg-status--failed { background: #fef2f2; }
