.nb-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

@media (max-width: 768px) {
    .nb-grid {
        grid-template-columns: 1fr;
    }
}

.nb-input-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.nb-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.nb-input-wrapper .utool-input {
    padding-right: 42px;
    font-family: 'Consolas', 'Monaco', monospace;
    font-size: 1.05rem;
    letter-spacing: 1px;
}

.nb-copy-btn {
    position: absolute;
    right: 8px;
    background: none;
    border: none;
    color: var(--ut-color-text-muted);
    cursor: pointer;
    padding: 4px 8px;
    border-radius: var(--ut-radius-sm);
    transition: color var(--ut-transition-fast), background var(--ut-transition-fast);
}

.nb-copy-btn:hover {
    color: var(--ut-color-primary-500);
    background: var(--ut-color-surface-muted);
}

.nb-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 1px;
    color: #fff;
    margin-right: 6px;
}

.nb-badge-bin {
    background: #e74c3c;
}

.nb-badge-oct {
    background: #f39c12;
}

.nb-badge-dec {
    background: #2ecc71;
}

.nb-badge-hex {
    background: #3498db;
}

.nb-hint {
    color: var(--ut-color-text-muted);
    font-size: 0.8rem;
}

.nb-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 24px;
}

.nb-input-wrapper .utool-input.nb-error {
    border-color: #e74c3c;
    box-shadow: 0 0 0 0.2rem rgba(231, 76, 60, 0.15);
}
