body { font-family: Arial, sans-serif; margin: 0; padding: 0; flex-direction: column; } body.show-sidebar { flex-direction: row; } .container { display: flex; min-height: 100vh; } main { flex-grow: 1; padding: 20px; background: white; } main.full-width { margin-left: 0; width: 100%; } .sidebar { width: 300px; background: #f7f7f8; padding: 20px; display: flex; flex-direction: column; gap: 20px; border-right: 1px solid #dee2e6; } .logo-container { text-align: center; margin-bottom: 20px; } .logo { max-width: 80px; margin-bottom: 10px; } h1 { font-size: 1.5em; margin-bottom: 20px; } .sidebar h2 { font-size: 1.2em; margin-bottom: 15px; } h3 { margin-bottom: 15px; } .coordinate-form { flex-grow: 1; } .form-group { margin-bottom: 15px; } .form-group label { display: block; margin-bottom: 5px; font-weight: 500; } .form-group input { width: 100%; padding: 8px; border: 1px solid #ced4da; border-radius: 4px; box-sizing: border-box; } .form-actions { display: flex; gap: 10px; margin-top: 15px; } .btn { padding: 8px 12px; border: none; border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; font-weight: 500; font-size: 0.9em; transition: all 0.3s ease; width: 100%; justify-content: center; } .btn i { font-size: 14px; } .analyze-btn { background-color: #28a745; color: white; } .analyze-btn:hover { background-color: #218838; transform: translateY(-1px); box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15); } .predict-btn { background-color: #17a2b8; color: white; } .predict-btn:hover { background-color: #138496; opacity: 0.9; } .upload-btn { background-color: #ff9800; color: white; } .upload-btn:hover { background-color: #f57c00; transform: translateY(-1px); box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15); } .clear-btn { background-color: #dc3545; color: white; width: 100%; } .clear-btn:hover { background-color: #c82333; opacity: 0.9; } .clear-btn:disabled { background-color: #e4606d; cursor: not-allowed; } .predict-all-btn { background-color: #9c27b0; color: white; } .predict-all-btn:disabled { background-color: #b39ddb; cursor: not-allowed; } .predict-all-btn:hover:not(:disabled) { background-color: #7b1fa2; } .history-btn-container { margin-top: auto; padding-top: 20px; border-top: 1px solid #dee2e6; text-align: center; } .history-btn { background-color: #6c757d; color: white; text-decoration: none; padding: 8px 12px; font-size: 0.9em; max-width: 200px; margin: 0 auto; display: inline-flex; align-items: center; gap: 6px; border-radius: 4px; } .history-btn:hover { background-color: #5a6268; opacity: 0.9; } .csv-upload-section { margin-top: 20px; padding-top: 20px; border-top: 1px solid #dee2e6; } .coordinate-count { text-align: center; margin: 15px 0; font-size: 0.9em; color: #666; } .satellite-image { max-width: 300px; height: auto; margin-bottom: 20px; border: 1px solid #ddd; } table { width: 100%; border-collapse: collapse; margin-top: 20px; } th, td { border: 1px solid #ddd; padding: 10px; text-align: left; } th { background-color: #f4f4f4; } .delete-btn { padding: 5px 10px; background-color: #dc3545; color: white; border: none; cursor: pointer; } .delete-btn:hover { background-color: #c82333; } .messages { list-style: none; padding: 0; margin: 0 0 20px 0; } .messages li { padding: 10px; border-radius: 4px; margin-bottom: 10px; } .success, .success-message { background-color: #d4edda; color: #155724; } .error, .error-message { background-color: #f8d7da; color: #721c24; } .warning { color: orange; }