       * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Arial', sans-serif; }
        body { background-color: #f5f7fa; color: #333; line-height: 1.6; padding: 0px; }
        .container { max-width: 1000px; margin: 0 auto; background: white; border-radius: 0px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); overflow: hidden; padding: 0; }
        .header { background-color: #2c3e50; color: white; padding: 20px; text-align: center; }
        .header h1 { margin: 0; font-size: 24px; }
        .form-section { padding: 25px; }
        .source-container { display: flex; gap: 20px; margin-bottom: 20px; flex-wrap: wrap; }
        .source-box { flex: 1; min-width: 300px; background-color: #f8f9fa; border: 1px solid #e1e4e8; padding: 15px; border-radius: 6px; }
        .source-box h3 { margin-bottom: 15px; color: #2980b9; border-bottom: 2px solid #2980b9; padding-bottom: 5px; font-size: 18px; }
        .geometry-section { background-color: #fff; padding: 15px; border: 1px solid #ddd; border-radius: 6px; margin-bottom: 20px; }
        .geometry-section h3 { margin-bottom: 15px; color: #27ae60; font-size: 18px; border-bottom: 2px solid #27ae60; padding-bottom: 5px; }
        .form-group { margin-bottom: 15px; }
        .form-group label { display: block; margin-bottom: 5px; font-weight: 600; color: #2c3e50; }
        .form-group input, .form-group select { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 4px; font-size: 16px; }
        .input-highlight { border-color: #3498db; background-color: #fbfdff; }
        .calculate-btn { background-color: #e74c3c; color: white; border: none; padding: 15px 20px; font-size: 18px; font-weight: bold; border-radius: 4px; cursor: pointer; width: 100%; transition: background-color 0.3s; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
        .calculate-btn:hover { background-color: #c0392b; }
        .result-section { padding: 25px; background-color: #f9f9f9; display: none; border-top: 2px solid #eee; }
        .result-table { width: 100%; border-collapse: collapse; margin-top: 15px; font-size: 14px; }
        .result-table th, .result-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }
        .result-table th { background-color: #e9f0f7; color: #2c3e50; font-weight: 600; }
        .total-row { background-color: #2c3e50 !important; color: white !important; font-size: 1.2em; font-weight: bold; }
        .total-row td { border: none; }
        .footer { text-align: center; padding: 15px; color: #7f8c8d; font-size: 12px; background-color: #ecf0f1; }
        .frequency-note { font-size: 12px; color: #7f8c8d; margin-top: 5px; font-style: italic; }