/* Isolamento CSS com prefixo cim- */
        .cim-wrapper { box-sizing: border-box; width: 100%; padding: 10px; display: flex; justify-content: center; }
        .cim-container { box-sizing: border-box; width: 100%; max-width: 480px; margin: 10px auto; padding: 25px; border-radius: 20px; background-color: #ffffff; box-shadow: 0 12px 30px rgba(0,0,0,0.1); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color: #333; border: 1px solid #f0f0f0; }
        .cim-container * { box-sizing: border-box; }
        .cim-title { text-align: center; color: #1a1a1a; margin: 0 0 25px 0; font-size: 1.6rem; font-weight: 800; line-height: 1.2; }
        .cim-form-group { margin-bottom: 20px; }
        .cim-label { display: block; margin-bottom: 10px; font-weight: 600; color: #444; font-size: 1rem; }
        .cim-input { 
            width: 100%; 
            padding: 15px; 
            border: 2px solid #e1e1e1; 
            border-radius: 12px; 
            font-size: 1.1rem; 
            background-color: #fdfdfd; 
            transition: all 0.2s ease; 
            -webkit-appearance: none; 
            color: #333 !important; 
            opacity: 1 !important; 
            display: block !important; 
            visibility: visible !important; 
            height: auto !important; 
        }
        .cim-input:focus { outline: none; border-color: #ff7e5f; background-color: #fff; box-shadow: 0 0 0 4px rgba(255,126,95,0.1); }
        .cim-button { width: 100%; padding: 18px; background-color: #ff7e5f; color: white; border: none; border-radius: 12px; font-size: 1.1rem; font-weight: 700; cursor: pointer; transition: all 0.2s; margin-top: 5px; text-transform: uppercase; letter-spacing: 1px; }
        .cim-button:hover { background-color: #ff6b4a; transform: translateY(-2px); }
        .cim-button:active { transform: scale(0.98); }
        
        .cim-result-area { margin-top: 30px; padding-top: 25px; border-top: 2px solid #f0f0f0; scroll-margin-top: 24px; display: none; animation: cimSlideUp 0.5s ease-out; }
        @keyframes cimSlideUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
        
        .cim-main-age-section { text-align: center; margin-bottom: 25px; }
        .cim-section-title { font-size: 1.2rem; font-weight: 700; color: #1a1a1a; margin-bottom: 15px; display: block; }
        
        .cim-age-grid { display: flex; justify-content: center; gap: 10px; margin-bottom: 20px; }
        .cim-age-box { background: #f0f7ff; padding: 12px; border-radius: 10px; min-width: 80px; text-align: center; }
        .cim-age-val { display: block; font-size: 1.4rem; font-weight: 800; color: #007bff; }
        .cim-age-lab { display: block; font-size: 0.7rem; text-transform: uppercase; color: #666; font-weight: 600; margin-top: 4px; }

        .cim-detailed-stats { margin-bottom: 25px; text-align: center; }
        .cim-stat-line { font-size: 1.1rem; font-weight: 600; color: #444; margin: 8px 0; display: block; }
        .cim-stat-line span { color: #007bff; font-weight: 800; }

        .cim-birthday-countdown { background: #fff0f0; padding: 15px; border-radius: 12px; text-align: center; margin-bottom: 25px; border: 1px solid #ffdada; }
        .cim-birthday-text { font-size: 1.1rem; font-weight: 700; color: #d63031; margin: 0; }
        
        .cim-quote-container { background-color: #fff9e6; padding: 20px; border-radius: 15px; border-left: 5px solid #ffc107; position: relative; margin-top: 10px; }
        .cim-quote-header { font-size: 0.9rem; font-weight: 700; color: #b08d00; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 10px; display: block; text-align: center; }
        .cim-quote-text { font-size: 1.05rem; line-height: 1.6; color: #5d4037; margin: 0; font-style: italic; text-align: center; }
        
        .cim-footer { text-align: center; margin-top: 25px; font-size: 0.8rem; color: #aaa; letter-spacing: 0.5px; }

        @media (max-width: 480px) {
            .cim-container { padding: 20px; margin: 5px; }
            .cim-age-box { min-width: 70px; padding: 10px; }
            .cim-age-val { font-size: 1.2rem; }
            .cim-stat-line { font-size: 1rem; }
        }
