body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; max-width: 800px; margin: 0 auto; padding: 20px; background-color: #f5f5f5; } .container { background: white; border-radius: 8px; padding: 30px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); } .navigation { margin-bottom: 20px; } .nav-link { color: #007bff; text-decoration: none; font-weight: 500; padding: 8px 12px; border: 1px solid #007bff; border-radius: 4px; transition: all 0.2s; } .nav-link:hover { background-color: #007bff; color: white; } h1 { color: #333; text-align: center; margin-bottom: 30px; } .privacy-disclaimer { background-color: #e8f5e8; border: 1px solid #28a745; border-radius: 6px; padding: 12px 16px; margin-bottom: 25px; color: #155724; font-size: 14px; line-height: 1.4; } .privacy-disclaimer strong { color: #0d4b14; } .description { text-align: center; color: #666; margin-bottom: 30px; font-style: italic; } .form-group { margin-bottom: 20px; } label { display: block; margin-bottom: 5px; font-weight: 600; color: #555; } input, select { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 4px; font-size: 14px; box-sizing: border-box; } button { background-color: #007bff; color: white; padding: 12px 30px; border: none; border-radius: 4px; cursor: pointer; font-size: 16px; margin: 10px 5px; } button:hover { background-color: #0056b3; } .config-output { margin-top: 30px; } .config-section { margin-bottom: 30px; padding: 20px; background-color: #f8f9fa; border-radius: 6px; border-left: 4px solid #007bff; } .config-content { background-color: #2d3748; color: #e2e8f0; padding: 15px; border-radius: 4px; font-family: 'Courier New', monospace; font-size: 13px; line-height: 1.4; white-space: pre-wrap; overflow-x: auto; } .download-btn { background-color: #28a745; font-size: 14px; padding: 8px 16px; } .download-btn:hover { background-color: #218838; } .client-configs-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); gap: 20px; margin-top: 20px; } .client-config-item { background-color: #f8f9fa; border-radius: 6px; padding: 15px; border-left: 4px solid #28a745; } .client-config-title { font-weight: 600; color: #333; margin-bottom: 10px; font-size: 16px; } .error { color: #dc3545; font-size: 14px; margin-top: 5px; } .form-row { display: flex; gap: 20px; } .form-row .form-group { flex: 1; } .seed-section { background-color: #f8f9fa; border: 1px solid #dee2e6; border-radius: 6px; padding: 15px; margin-bottom: 20px; } .seed-display { font-family: 'Courier New', monospace; background-color: #e9ecef; padding: 8px; border-radius: 4px; font-size: 12px; word-break: break-all; border: 1px solid #ced4da; } .seed-buttons { margin-top: 10px; } .seed-btn { background-color: #6c757d; font-size: 12px; padding: 6px 12px; margin-right: 5px; } .seed-btn:hover { background-color: #545b62; } /* === MESH-SPECIFIC STYLES === */ .form-section { margin-bottom: 30px; padding: 20px; background-color: #f8f9fa; border-radius: 6px; border-left: 4px solid #007bff; } .form-section h3 { margin-top: 0; color: #333; margin-bottom: 15px; } #updatePeersBtn { background-color: #6c757d; font-size: 14px; padding: 8px 16px; margin: 5px 0 0 10px; } #updatePeersBtn:hover { background-color: #545b62; } .peer-input-group { background-color: #ffffff; border: 1px solid #dee2e6; border-radius: 6px; padding: 15px; margin-bottom: 15px; } .peer-input-group h4 { margin-top: 0; margin-bottom: 15px; color: #495057; font-size: 16px; } .peer-row { display: grid; grid-template-columns: 1fr 1fr 100px; gap: 15px; align-items: end; } @media (max-width: 768px) { .peer-row { grid-template-columns: 1fr; gap: 10px; } .form-row { flex-direction: column; gap: 0; } .client-configs-row { grid-template-columns: 1fr; } } .footer { margin-top: 50px; background-color: #343a40; color: #fff; padding: 30px 0; } .footer-content { max-width: 800px; margin: 0 auto; padding: 0 20px; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 30px; } .footer-column h4 { margin-bottom: 15px; color: #fff; font-size: 16px; } .footer-column p { margin: 0; color: #adb5bd; font-size: 14px; line-height: 1.5; } .footer-column a { color: #007bff; text-decoration: none; } .footer-column a:hover { color: #0056b3; text-decoration: underline; } @media (max-width: 768px) { .footer-content { grid-template-columns: 1fr; gap: 20px; text-align: center; } }