:root { --brand-color: rgb(7, 65, 147); }
        body { font-family: 'Segoe UI', sans-serif; background: #f8fafc; margin: 0; }
        .container { width: 95%; max-width: 1400px; margin: 20px auto; background: #fff; padding: 20px; border-radius: 12px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); box-sizing: border-box; }
        
        .input-container {
            display: inline-flex;
            align-items: baseline;
            justify-content: center;
            gap: 8px;
            margin: 20px auto 10px auto;
            background: #f1f5f9;
            border: 2px dashed #cbd5e1;
            border-radius: 12px;
            padding: 15px 30px;
            transition: all 0.2s;
            width: 100%;
            box-sizing: border-box;
        }
        .input-container:hover { border-color: var(--brand-color); background: #edf2f7; }
        .input-container.highlight { background: #dbeafe; border-color: var(--brand-color); transform: scale(1.01); }

        .manual-input { 
            width: auto; max-width: 500px; border: none; font-size: 60px; font-weight: 800; 
            color: var(--brand-color); text-align: right; background: transparent; outline: none;
        }
        .unit-label { font-size: 40px; font-weight: 700; color: #64748b; user-select: none; white-space: nowrap; }

        .controls { display: flex; flex-direction: column; gap: 15px; margin: 20px 0; padding: 20px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; }
        .slider-wrapper { display: flex; gap: 15px; align-items: center; }

        .input-hint { font-size: 13px; color: #64748b; font-weight: 600; text-align: center; margin-top: 10px; margin-bottom: 20px; display: flex; align-items: center; justify-content: center; gap: 6px; }
        .grid-header-hint { font-size: 0.85rem; font-weight: 600; color: #64748b; margin-bottom: 10px; display: flex; align-items: center; gap: 6px; }
        
        .result-grid { 
            display: flex; 
            flex-wrap: nowrap; 
            gap: 15px; 
            overflow-x: auto; 
            padding-bottom: 10px; 
        }
        .card { 
            position: relative; 
            padding: 20px; 
            background: #f8fafc; 
            border: 2px solid #e2e8f0; 
            border-radius: 12px; 
            text-align: center; 
            cursor: pointer; 
            transition: all 0.2s ease; 
            pointer-events: auto;
            flex: 1;
            min-width: 160px;
            margin-top: 20px;
        }
        .card:hover { background: #ebf4ff; border-color: var(--brand-color); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(7, 65, 147, 0.1); }
        .card.active-card { background: #ebf4ff; border-color: var(--brand-color); box-shadow: 0 2px 6px rgba(7, 65, 147, 0.15); }
        
        .card-header { display: flex; align-items: center; justify-content: center; gap: 6px; margin-bottom: 4px; pointer-events: none; }
        .card-symbol { font-size: 1.1rem; font-weight: 800; color: var(--brand-color); }
        .card-icon { font-size: 0.85rem; color: #94a3b8; transition: color 0.2s; }
        .card:hover .card-icon { color: var(--brand-color); }
        .card-name { display: block; font-size: 0.8rem; color: #64748b; font-weight: 600; margin-bottom: 12px; pointer-events: none; text-transform: uppercase; }
        .card-value { font-size: 1.8em; font-weight: bold; color: var(--brand-color); pointer-events: none; margin-bottom: 6px; }
        .active-badge { display: inline-block; font-size: 0.65rem; font-weight: 700; text-transform: uppercase; background: var(--brand-color); color: #fff; padding: 2px 8px; border-radius: 10px; pointer-events: none; }

        /* Media Query para Dispositivos Móveis (mantém o layout desktop intacto) */
        @media (max-width: 768px) {
            .container {
                width: 100%;
                margin: 0;
                border-radius: 0;
                padding: 12px;
            }
            .input-container {
                padding: 10px 15px;
            }
            .manual-input {
                font-size: 40px;
                max-width: 220px;
            }
            .unit-label {
                font-size: 28px;
            }
            .result-grid {
                display: grid;
                grid-template-columns: repeat(2, 1fr);
                flex-wrap: wrap;
                overflow-x: visible;
            }
            .card {
                min-width: unset;
                margin-top: 0;
                padding: 12px;
            }
            .card-value {
                font-size: 1.4em;
            }
        }