body {
        background: linear-gradient(180deg, rgb(0, 0, 0) 0%, rgb(167, 37, 37) 100%);
        min-height: 100vh;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0;
        padding: 20px;
        font-family: 'Inter', sans-serif;
    }
    .cotizador-card {
        background: #fff;
        border-radius: 20px;
        box-shadow: 0 20px 60px rgba(0,0,0,0.5);
        max-width: 820px;
        width: 100%;
        margin: 24px auto;
        overflow: hidden;
    }
    .cotizador-card .card-header-cot {
        background: linear-gradient(180deg, rgb(0, 0, 0) 0%, rgb(167, 37, 37) 100%);
        padding: 32px 40px 28px;
        text-align: center;
    }
    .cotizador-card .card-header-cot img { height: 70px; margin-bottom: 12px; }
    .cotizador-card .card-header-cot h1 { color: #fff; font-size: 22px; font-weight: 800; letter-spacing: -0.3px; font-family: 'Inter', sans-serif; }
    .cotizador-card .card-header-cot p { color: rgba(255,255,255,0.65); font-size: 14px; margin-top: 4px; line-height: 1.5; font-family: 'Inter', sans-serif; }
    .cotizador-card .card-body-cot { padding: 32px 40px; }
    .tabs { display: flex; gap: 8px; margin-bottom: 28px; }
    .tab-btn {
        flex: 1; padding: 14px 8px; border: 2px solid #e0e0e0; border-radius: 12px;
        background: #f8f9fa; cursor: pointer; text-align: center;
        font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 600; color: #666;
        transition: all 0.25s ease;
    }
    .tab-btn:hover { border-color: #1a1a2e; color: #1a1a2e; }
    .tab-btn.active { border-color: #1a1a2e; background: #1a1a2e; color: #fff; }
    .tab-btn i { display: block; font-size: 24px; margin-bottom: 4px; }
    .tab-content { display: none; }
    .tab-content.active { display: block; }
    .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 16px; }
    .form-grid .full { grid-column: 1 / -1; }
    .form-group { min-width: 0; box-sizing: border-box; display: flex; flex-direction: column; }
    .form-group label { display: block; font-size: 13px; font-weight: 600; color: #333; margin-bottom: 8px; word-break: break-word; }
    .form-group label .opt { font-weight: 400; color: #999; font-size: 12px; }
    .required-marker { color: #c62828; }
    .form-control-cot {
        width: 100%; padding: 12px 14px; border: 2px solid #e0e0e0; border-radius: 10px;
        font-family: 'Inter', sans-serif; font-size: 14px; color: #333;
        transition: border-color 0.2s; outline: none; min-height: 40px; box-sizing: border-box;
    }
    .form-control-cot:focus { border-color: #1a1a2e; }
    .form-message {
        padding: 12px 14px; margin-bottom: 18px; border: 1px solid #ef9a9a; border-radius: 10px;
        background: #ffebee; color: #b71c1c; font-size: 14px; line-height: 1.5;
    }
    .form-message.warning {
        border-color: #ffe082; background: #fff8e1; color: #795548;
    }
    .form-message.success {
        border-color: #a5d6a7; background: #e8f5e9; color: #1b5e20;
    }
    .form-message .errorlist { margin: 4px 0; padding-left: 20px; }
    .disclaimer {
        background: #fff8e1; border-left: 4px solid #f9a825; border-radius: 8px;
        padding: 14px 16px; margin: 20px 0; font-size: 12px; color: #6d4c00; line-height: 1.6;
    }
    .disclaimer strong { color: #4a2c00; }
    .btn-submit {
        width: 100%; padding: 14px; border: none; border-radius: 12px;
        background: linear-gradient(135deg, #1a1a2e, #16213e); color: #fff;
        font-family: 'Inter', sans-serif; font-size: 16px; font-weight: 700;
        cursor: pointer; transition: transform 0.2s, box-shadow 0.2s;
    }
    .btn-submit:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(26,26,46,0.4); }
    .resultado {
        background: #e8f4e8; border-radius: 14px; padding: 4px; margin-top: 4px; margin-bottom: 12px;
        border: 2px solid #b7dfb7; text-align: center;
    }
    .resultado h2 { color: #2d6a2d; font-size: 18px; margin-bottom: 4px; }
    .resultado .amount { font-size: 40px; font-weight: 800; color: #1a1a2e; margin: 8px 0; }
    .resultado .amount small { font-size: 16px; font-weight: 400; color: #666; }
    .resultado .detail { font-size: 13px; color: #555; margin-top: 4px; }
    .resultado .detail span { display: inline-block; margin: 0 8px; }
    @media (max-width: 600px) {
        .cotizador-card .card-header-cot { padding: 24px 20px 20px; }
        .cotizador-card .card-header-cot h1 { font-size: 18px; }
        .cotizador-card .card-body-cot { padding: 24px 20px; }
        .form-grid { grid-template-columns: 1fr; }
        .tabs { flex-direction: column; }
        .tab-btn { padding: 10px; font-size: 13px; }
        .tab-btn i { display: inline; font-size: 16px; margin: 0 6px 0 0; }
    }
