/* Zen Minimalist Design */
.ai-agent-wrapper {
    background: transparent;
    padding: 10px 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    max-width: 600px;
    margin: 0 auto;
    color: #333;
}
.ai-step { animation: fadeIn 0.8s ease-out; }
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

.ai-step h3, .i18n-title, .i18n-res {
    font-size: 20px;
    font-weight: 300;
    color: #111;
    margin-bottom: 25px;
    letter-spacing: 0.5px;
    text-align: center;
}

.ai-btn {
    background: transparent;
    color: #444;
    border: 1px solid #d1d1d1;
    padding: 12px 24px;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: 4px;
}
.ai-btn:hover { background: #fdfdfd; border-color: #888; color: #111; box-shadow: 0 4px 15px rgba(0,0,0,0.02);}
.ai-btn i { font-size: 14px; }

.ai-lang-buttons { display: flex; gap: 15px; justify-content: center;}

.ai-progress-bar {
    width: 100%; height: 2px; background: #e8e8e8;
    margin-bottom: 40px; border-radius: 1px;
}
.ai-progress {
    height: 100%; background: #555; width: 0%;
    transition: width 0.6s ease;
}

.ai-question-title { font-size: 17px; font-weight: 400; margin-bottom: 25px; text-align: left; color: #222;}
.ai-question-input {
    width: 100%;
    border: none;
    border-bottom: 1px solid #dcdcdc;
    background: transparent;
    padding: 10px 0;
    font-size: 15px;
    margin-bottom: 35px;
    resize: none;
    transition: border-color 0.4s;
    font-weight: 300;
    color: #222;
}
.ai-question-input:focus { border-color: #555; outline: none; }

.ai-step-payment { text-align: center; }
.ai-step-payment p { color: #666; font-weight: 300; margin-bottom: 40px; line-height: 1.6; font-size: 15px;}

.ai-btn-pay { border-color: #ccc; background: #fafafa; }
.ai-btn-pay:hover { background: #fff; border-color:#888; }

.ai-receipt-upload {
    padding: 35px 25px;
    border: 1px dashed #d5d5d5; margin-top: 45px;
    background: transparent;
    text-align: center;
}
.ai-receipt-upload h4 { margin-top:0; font-size: 14px; font-weight: 400; color: #555; margin-bottom: 25px; letter-spacing: 0.5px;}
.ai-file-input { margin-bottom: 30px; display: block; width: 100%; font-size: 13px; color: #666;}
.ai-file-input::file-selector-button {
    background: #f4f4f4; border: 1px solid #ddd; padding: 8px 16px; border-radius: 4px; color: #444; cursor: pointer; transition: 0.3s;
}
.ai-file-input::file-selector-button:hover { background: #e5e5e5; }

.ai-spinner {
    width: 35px; height: 35px;
    border: 1px solid #f0f0f0; border-top: 1px solid #777;
    border-radius: 50%;
    animation: spin 1s cubic-bezier(0.55, 0.15, 0.45, 0.85) infinite;
    margin: 0 auto 25px auto;
}
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
.ai-step-loading { text-align: center; padding: 70px 0; }
.ai-step-loading p { font-size: 13px; color: #888; font-weight: 400; letter-spacing: 2px; text-transform: uppercase;}

.ai-result-content {
    background: transparent; padding: 0; 
    margin-bottom: 40px; color: #333; line-height: 1.8; font-size: 15px; font-weight: 300;
    text-align: left;
}
.ai-result-content p { margin-bottom: 1.6em; }
.ai-result-content h1 { font-size: 22px; font-weight: 400; color: #111; margin-bottom: 25px; border-bottom: 1px solid #eaeaea; padding-bottom: 15px; text-align: center; }
.ai-result-content h2 { font-size: 17px; font-weight: 400; color: #222; margin-top: 35px; margin-bottom: 15px; text-transform: uppercase; letter-spacing: 1.5px; border-left: 3px solid #ccc; padding-left: 10px;}
.ai-result-content h3 { font-size: 15px; font-weight: 400; color: #444; margin-top: 25px; margin-bottom: 10px; }
.ai-result-content ul { padding-left: 20px; margin-bottom: 25px; }
.ai-result-content li { margin-bottom: 10px; color: #444; }
.ai-result-content strong { font-weight: 500; color: #000; }

.ai-result-actions { display: flex; gap: 15px; justify-content: center; margin-top: 40px; flex-wrap: wrap;}

@media (max-width: 600px) {
    .ai-agent-wrapper { padding: 10px 15px; }
    .ai-step h3, .i18n-title, .i18n-res { font-size: 18px; margin-bottom: 20px;}
    .ai-question-title { font-size: 16px; }
    .ai-btn { width: 100%; justify-content: center; padding: 14px 20px;}
    .ai-lang-buttons { flex-direction: column; gap: 10px; }
    .ai-result-actions { flex-direction: column; gap: 10px; }
    .ai-result-content h1 { font-size: 19px; }
    .ai-result-content h2 { font-size: 15px; }
}

@media print {
    body * { visibility: hidden; }
    .ai-agent-wrapper, .ai-step-result, .ai-result-content, .ai-result-content * {
        visibility: visible;
    }
    .ai-result-content {
        position: absolute; left: 0; top: 0; width: 100%;
        margin: 0; border: none; box-shadow: none; background: transparent;
    }
    .ai-agent-wrapper { border: none; box-shadow: none; margin: 0; padding: 0; }
    .ai-btn, .ai-progress-bar, .ai-step-lang, .ai-step-questions, .ai-step-payment, .i18n-res {
        display: none !important;
    }
}
