body { font-family: Arial, sans-serif; margin: 0; background: #f5f5f5; color: #222; } .page { max-width: 1100px; margin: 0 auto; padding: 20px; } h1 { margin-bottom: 8px; } .subtitle { margin-top: 0; color: #555; } .search-bar { display: flex; gap: 10px; margin: 20px 0; } .search-bar input { flex: 1; padding: 10px; font-size: 16px; } .search-bar button, .card button, .detail-card button { padding: 10px 14px; font-size: 14px; cursor: pointer; } .layout { display: grid; grid-template-columns: 1fr; gap: 20px; } .results { display: grid; gap: 16px; } .card { border: 1px solid #d8d8d8; background: white; padding: 16px; border-radius: 8px; } .card h3 { margin-top: 0; } .detail-card { border: 1px solid #d8d8d8; background: white; padding: 20px; border-radius: 8px; } .detail-card hr { margin: 18px 0; border: none; border-top: 1px solid #ddd; } .compare-controls { display: flex; gap: 20px; flex-wrap: wrap; margin-bottom: 15px; } .compare-controls input, .compare-controls select { padding: 8px; font-size: 14px; min-width: 140px; } .detail-card h2, .detail-card h3 { margin-top: 0; } .detail-card p { margin: 8px 0; } .map-box { overflow: hidden; } .estimate { display: inline-block; padding: 4px 10px; border-radius: 999px; font-weight: bold; margin-left: 6px; } .favorable { background: #d9f7e8; color: #146c43; border: 1px solid #9ed8b8; } .possible { background: #fff3cd; color: #8a6d1d; border: 1px solid #eed58f; } .difficile { background: #f8d7da; color: #842029; border: 1px solid #e4aeb5; } .map { height: 420px; width: 100%; border-radius: 6px; } .compare-controls { display: flex; gap: 20px; flex-wrap: wrap; margin-bottom: 15px; } .compare-controls input, .compare-controls select { padding: 8px; font-size: 14px; min-width: 140px; } .message { padding: 12px; background: white; border: 1px solid #d8d8d8; border-radius: 8px; } .chart-container { margin-top: 15px; } .chart-title { margin: 10px 0; font-weight: bold; } .detail-page { background: #f5f5f5; } .formation-title { color: #3d4fff; font-size: 2rem; line-height: 1.15; margin-bottom: 20px; } .formation-meta p { margin: 8px 0; font-size: 1.1rem; } .detail-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 40px; align-items: start; margin-top: 20px; margin-bottom: 30px; } .detail-table { width: 100%; border-collapse: collapse; background: white; } .detail-table th, .detail-table td { border: 1px solid #d7d7d7; padding: 14px 12px; text-align: left; } .detail-table th { background: #fafafa; font-size: 1.05rem; } .total-row td { font-weight: bold; } .timeline-box { padding-top: 10px; } .timeline { position: relative; margin-top: 30px; padding-left: 30px; border-left: 2px solid #d9d9d9; } .timeline-item { position: relative; margin-bottom: 45px; } .timeline-dot { position: absolute; left: -39px; top: 6px; width: 14px; height: 14px; background: #21c8b4; border-radius: 50%; } @media (max-width: 900px) { .detail-grid { grid-template-columns: 1fr; } }